--- id: pterclub name: PTerClub (PT之友俱乐部) description: "PTerClub (PT之友俱乐部) is a CHINESE Private Torrent Tracker for HD MUSIC VIDEOS, MOVIES, TV & ANIME" language: zh-CN type: private encoding: UTF-8 links: - https://pterclub.com/ caps: categorymappings: - {id: 401, cat: Movies, desc: "电影 (Movie)"} - {id: 404, cat: TV, desc: "电视剧 (TV Play)"} - {id: 403, cat: TV/Anime, desc: "动漫 (Anime)"} - {id: 405, cat: TV, desc: "综艺 (TV Show)"} - {id: 413, cat: Audio/Video, desc: "音乐短片 (MV)"} - {id: 418, cat: Audio/Video, desc: "舞台演出(Stage Performance)"} - {id: 406, cat: Audio, desc: "音乐 (Music)"} - {id: 402, cat: TV/Documentary, desc: "纪录片 (Documentary)"} - {id: 407, cat: TV/Sport, desc: "体育 (Sport)"} - {id: 408, cat: Books, desc: "电子书 (Ebook)"} - {id: 409, cat: Console, desc: "游戏 (Game)"} - {id: 410, cat: PC, desc: "软件 (Software)"} - {id: 411, cat: Other, desc: "学习 (Study)"} - {id: 412, cat: Other, desc: "其它 (Other)"} modes: search: [q] tv-search: [q, season, ep, imdbid, doubanid] movie-search: [q, imdbid, doubanid] music-search: [q] book-search: [q] settings: - name: cookie type: text label: Cookie - name: info type: info label: How to get the Cookie default: "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Doc button (Chrome Browser) or HTML button (FireFox)
  5. Refresh the page by pressing F5
  6. Click on the first row entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
" - name: useragent type: text label: User-Agent - name: info_useragent type: info label: How to get the User-Agent default: "
  1. From the same place you fetched the cookie,
  2. Find 'user-agent:' in the Request Headers section
  3. Select and Copy the whole user-agent string (everything after 'user-agent: ') and Paste here.
" - name: freeleech type: checkbox label: Search freeleech only default: false - name: sort type: select label: Sort requested from site default: 4 options: 4: created 7: seeders 5: size 1: title - name: type type: select label: Order requested from site default: desc options: desc: desc asc: asc - name: info_tpp type: info label: Results Per Page default: For best results, change the Torrents per page: setting to 100 on your account profile. - name: info_activity type: info label: Account Inactivity default: "Account retention rules:
  1. All accounts will be permanently protected and will not be deleted; however, due to site security, some users will be temporarily banned due to activity rules
  2. New users with no traffic changes will be disabled after 7 days of registration (not the actual download volume)
  3. Those who download free torrents without generating any upload volume, or simply auxiliary torrents that generate magic power without any uploads will still be banned
  4. Users with a non-parked account will be disabled if they do not log in for 60 consecutive days
  5. Users with a parked account will be disabled if they do not log in for 180 consecutive days
  6. Angora/Veteran User and above will not be disabled after parking
  7. Sichuan Jianzhou Cat/Nexus Master users and above will be retained forever.
" login: method: cookie inputs: cookie: "{{ .Config.cookie }}" test: path: index.php?&noredir=1 selector: a[data-url="logout.php"] search: headers: User-Agent: ["{{ .Config.useragent }}"] paths: - path: torrents.php inputs: $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" # currently supports only one query id at one time. search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" # 0 incldead, 1 active, 2 dead incldead: 0 # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" # 0 title, 3 uploader, 4 imdburl, 5 DoubanID search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}5{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" # 0 AND, 1 OR, 2 exact search_mode: 0 sort: "{{ .Config.sort }}" type: "{{ .Config.type }}" notnewword: 1 rows: selector: table.torrents > tbody > tr:has(table.torrentname) fields: category: selector: a[href^="?cat="] attribute: href filters: - name: querystring args: cat title_default: selector: a[href^="details.php?id="], a[href^="detailsgame.php?"] title: selector: a[title][href^="details.php?id="], a[title][href^="detailsgame.php?id="] attribute: title optional: true default: "{{ .Result.title_default }}" details: selector: a[href^="details.php?id="], a[href^="detailsgame.php?"] attribute: href download: selector: a[href^="download.php?id="] attribute: href poster: selector: img[data-src] attribute: data-src imdbid: selector: a[href$="&search_area=4"] attribute: href doubanid: selector: a[href$="&search_area=5"] attribute: href # staff have extra columns at the start and end of a row, so we have to float the next lot of selectors off an anchor _anchor1: selector: td:has(a[href^="comment.php?"]) optional: true date_elapsed: # time type: time elapsed (default) selector: "td:has(a[{{ if .Result._anchor1 }}href^=\"comment.php\"{{ else }}href$=\"startcomments\"{{ end }}]) ~ td > span[title]" attribute: title optional: true filters: - name: append args: " +08:00" # CST - name: dateparse args: "yyyy-MM-dd HH:mm:ss zzz" date_added: # time added selector: "td:has(a[{{ if .Result._anchor1 }}href^=\"comment.php\"{{ else }}href$=\"startcomments\"{{ end }}]) ~ td:not(:has(span[title]))" optional: true filters: - name: append args: " +08:00" # CST - name: dateparse args: "yyyy-MM-ddHH:mm:ss zzz" date: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: "td:has(a[{{ if .Result._anchor1 }}href^=\"comment.php\"{{ else }}href$=\"startcomments\"{{ end }}]) ~ td ~ td" seeders: selector: "td:has(a[{{ if .Result._anchor1 }}href^=\"comment.php\"{{ else }}href$=\"startcomments\"{{ end }}]) ~ td ~ td ~ td" leechers: selector: "td:has(a[{{ if .Result._anchor1 }}href^=\"comment.php\"{{ else }}href$=\"startcomments\"{{ end }}]) ~ td ~ td ~ td ~ td" grabs: selector: "td:has(a[{{ if .Result._anchor1 }}href^=\"comment.php\"{{ else }}href$=\"startcomments\"{{ end }}]) ~ td ~ td ~ td ~ td ~ td" downloadvolumefactor: case: img.pro_free: 0 img.pro_free2up: 0 img.pro_50pctdown: 0.5 img.pro_50pctdown2up: 0.5 img.pro_30pctdown: 0.3 "*": 1 uploadvolumefactor: case: img.pro_50pctdown2up: 2 img.pro_free2up: 2 img.pro_2up: 2 "*": 1 minimumratio: text: 0.9 description: selector: td:has(table.torrentname) remove: a, img # NexusPHP prod#60d2fdc724a 2023-05-10