diff --git a/README.md b/README.md index b5b612a6f..d61783d14 100644 --- a/README.md +++ b/README.md @@ -164,6 +164,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * 3D Torrents (3DT) * 3evils * 4thD (4th Dimension) + * 52PT * 720pier * Abnormal * Acid Lounge (A-L) diff --git a/src/Jackett.Common/Definitions/52pt.yml b/src/Jackett.Common/Definitions/52pt.yml new file mode 100644 index 000000000..6326202ed --- /dev/null +++ b/src/Jackett.Common/Definitions/52pt.yml @@ -0,0 +1,157 @@ +--- + site: 52pt + name: 52PT + description: "52PT is a CHINESE Private Torrent Tracker for HD MOVIES / TV" + language: zh-cn + type: private + encoding: UTF-8 + links: + - https://52pt.site/ + + caps: + categorymappings: + - {id: 401, cat: Movies, desc: "Movies/电影"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"} + - {id: 405, cat: TV/Anime, desc: "Animations/动漫"} + - {id: 402, cat: TV, desc: "TV Series/剧集"} + - {id: 403, cat: TV, desc: "TV Shows/综艺"} + - {id: 406, cat: Audio/Video, desc: "MusicVideo/音乐MV"} + - {id: 407, cat: TV/Sport, desc: "Sports/运体"} + - {id: 409, cat: Other, desc: "Misc/其他"} + - {id: 410, cat: Other, desc: "Opera/戏曲 曲艺"} + - {id: 408, cat: Audio, desc: "HQ Audio/无损音乐"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + + settings: + - 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: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: td.embedded:has(h2:contains("失败")) + - selector: td.embedded: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 }}" + + rows: + selector: table.torrents > tbody > tr:has(table.torrentname) + + fields: + title: + selector: a[href^="details.php?id="] + title: + optional: true + selector: a[title][href^="details.php?id="] + attribute: title + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + imdb: + optional: true + selector: div.imdb_100 > a + attribute: href + date: + # time type: time elapsed (default) + selector: td:nth-child(4) > 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(4):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(5) + seeders: + selector: td:nth-child(6) + leechers: + selector: td:nth-child(7) + grabs: + selector: td:nth-child(8) + 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 + description: + selector: td:nth-child(2) + remove: a, img