diff --git a/src/Jackett.Common/Definitions/hd4fans.yml b/src/Jackett.Common/Definitions/hd4fans.yml index 667d0e57a..cbffdbdb8 100644 --- a/src/Jackett.Common/Definitions/hd4fans.yml +++ b/src/Jackett.Common/Definitions/hd4fans.yml @@ -22,8 +22,8 @@ caps: modes: search: [q] - tv-search: [q, season, ep, imdbid] - movie-search: [q, imdbid] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] music-search: [q] settings: @@ -33,30 +33,57 @@ settings: - name: password type: password label: Password + - name: 2facode + type: text + label: 2FA code + - name: info_2fa + type: info + label: "About 2FA code" + default: "Only fill in the 2FA code box if you have enabled 2FA on the Free Farm Web Site. Otherwise just leave it empty." - 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. login: - path: takelogin.php - method: post - cookies: ["c_lang_folder=en"] + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img[alt="CAPTCHA"] + input: imagestring inputs: + secret: "" username: "{{ .Config.username }}" password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" logout: "" securelogin: "" ssl: yes trackerssl: yes error: - selector: td.embedded:has(h2:contains("失败")) - message: - selector: td.text test: path: index.php selector: a[href="logout.php"] @@ -66,21 +93,29 @@ search: - 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 + 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 - # show promotions: 0=all, 1=normal, 2=free, 3=2x, 4=2xFree, 5=50%, 6=2x50%, 7=30% + # 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, 1=descr, 3=uploader, 4=imdb URL - search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" - # 0=AND, 1=OR, 2=Exact + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" notnewword: 1 rows: - selector: table.torrents > tbody > tr:has(table.torrentname) + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat title_default: selector: a[href^="details.php?id="] title: @@ -88,18 +123,23 @@ search: attribute: title optional: true default: "{{ .Result.title_default }}" - 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 + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href date_elapsed: # time type: time elapsed (default) selector: td.rowfollow:nth-child(4) > span[title] @@ -146,4 +186,4 @@ search: description: selector: td.rowfollow:nth-child(2) remove: a, b, font, img, span -# NexusPHP Standard v1.5 Beta 4 +# NexusPHP v1.8.8 2023-09-25