diff --git a/README.md b/README.md index d786feaee..c79b36f34 100644 --- a/README.md +++ b/README.md @@ -400,6 +400,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * PrivateHD (PHD) * ProAudioTorrents (PAT) * Psytorrents + * PTSBAO * PuntoTorrent * Purovicio * R3V WTF! diff --git a/src/Jackett.Common/Definitions/ptsbao.yml b/src/Jackett.Common/Definitions/ptsbao.yml new file mode 100644 index 000000000..81b4d1662 --- /dev/null +++ b/src/Jackett.Common/Definitions/ptsbao.yml @@ -0,0 +1,168 @@ +--- + site: ptsbao + name: PTSBAO + description: "PTSBAO is a CHINESE Private Torrent Tracker for HD MOVIES / TV" + language: zh-CN + type: private + encoding: UTF-8 + followredirect: true + links: + - https://ptsbao.club/ + + caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies(电影)"} + - {id: 402, cat: TV, desc: "TV Series(电视剧)"} + - {id: 403, cat: TV/OTHER, desc: "TV Shows(电视节目)"} + - {id: 405, cat: TV/Anime, desc: "Animations(动漫)"} + - {id: 414, cat: Audio, desc: "Music(音乐)"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries(记录片)"} + - {id: 423, cat: Movies, desc: "Movies Original(原创)"} + - {id: 409, cat: Other, desc: "Misc(其他)"} + - {id: 424, cat: Other, desc: "Limit(限制)"} + + modes: + search: [q, imdbid] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + + settings: + - name: info_email + type: info + label: "About the Username field" + default: "Enter your Email address in the username field." + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - 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" + + login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring + inputs: + loginmethod: email + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + dutime: month + logout: "" + securelogin: "" + ssl: yes + trackerssl: "" + error: + - selector: td.embeddeds:has(h2:contains("失败")) + test: + path: index.php + selector: a[href="logout.php"] + + search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{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: 0 + # 0 title 1 descr 3 uploaded 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}" + # 0 AND 1 OR 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + # does not return imdb link in results + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="torrents.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: table.torrentname td a[href^="details.php?id="] + title: + optional: true + selector: a[title][href^="details.php?id="] + attribute: title + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + banner: + optional: true + selector: img.tooltip + attribute: src + filters: + - name: replace + args: ["pic/imdb_pic/nophoto.gif", ""] + date: + # time type: time elapsed (default) + selector: td:nth-child(6) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" + - name: dateparse + args: "2006-01-02 15:04:05 -07:00" + date: + # time added + selector: td:nth-child(6):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" + - name: dateparse + args: "2006-01-0215:04:05 -07:00" + size: + selector: td:nth-child(7) + seeders: + selector: td:nth-child(8) + leechers: + selector: td:nth-child(9) + grabs: + selector: td:nth-child(10) + 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 +# NexusPHP custom