diff --git a/README.md b/README.md index 3840b8bc6..d2e24e3cf 100644 --- a/README.md +++ b/README.md @@ -263,6 +263,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * HD-Spain * HD-Torrents (HDT) * HD-Bits.com + * HD4FANS * HDArea (HDA) * HDBits * HDCenter diff --git a/src/Jackett.Common/Definitions/hd4fans.yml b/src/Jackett.Common/Definitions/hd4fans.yml new file mode 100644 index 000000000..4e426aab9 --- /dev/null +++ b/src/Jackett.Common/Definitions/hd4fans.yml @@ -0,0 +1,119 @@ +--- + site: hd4fans + name: HD4FANS + description: "HD4FANS is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL" + language: zh-cn + type: private + encoding: UTF-8 + links: + - https://pt.hd4fans.org/ + + 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: "Music Videos"} + - {id: 407, cat: TV/Sport, desc: "Sports"} + - {id: 409, cat: Other, desc: "Misc"} + - {id: 408, cat: Audio, desc: "Music"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + + login: + path: takelogin.php + method: post + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: td.embedded:has(h2:contains("登录失败")) + message: + selector: td.text + test: + path: index.php + selector: a[href="logout.php"] + + ratio: + path: index.php + selector: span.medium:has(a[href="logout.php"]) + filters: + - name: replace + args: ["分享率:", "Ratio: "] # for simplified chinese language setting + - name: regexp + args: "Ratio: (\\d+)" + + search: + paths: + - path: torrents.php + inputs: + $raw: "{{range .Categories}}cat{{.}}=1&{{end}}" + search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}" + # 0=including dead 1=active 2=dead + incldead: 0 + # show promotions: 0=all 1=normal 2=free 3=2x 4=2xFree 5=50% 6=2x50% 7=30% + spstate: 0 + # 0=title 1=descr 3=uploader 4=imdb URL + search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}" + # 0=AND 1=OR 2=Exact + search_mode: 0 + 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 + date: + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + filters: + - name: append + args: " +08:00" + - name: dateparse + args: "2006-01-02 15:04:05 -07:00" + size: + selector: td.rowfollow:nth-child(5) + seeders: + selector: td.rowfollow:nth-child(6) + leechers: + selector: td.rowfollow:nth-child(7) + grabs: + selector: td.rowfollow: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.rowfollow:nth-child(2) + remove: a, img +# NexusPHP Standard v1.5 Beta 4