From cee1c3aaa7bc9d21be13be5d542868a8d7976262 Mon Sep 17 00:00:00 2001 From: Ross Patterson Date: Sat, 8 Mar 2025 09:38:10 -0800 Subject: [PATCH] Add HDBao a Chinese private tracker (#15892) resolves #15893 --- README.md | 1 + src/Jackett.Common/Definitions/hdbao.yml | 185 +++++++++++++++++++++++ 2 files changed, 186 insertions(+) create mode 100644 src/Jackett.Common/Definitions/hdbao.yml diff --git a/README.md b/README.md index e34c356ee..690133528 100644 --- a/README.md +++ b/README.md @@ -383,6 +383,7 @@ Prior versions of Jackett are no longer supported. * HD-UNiT3D * HDArea (HDA) * HDAtmos + * HDBao * HDBits [![(invite needed)][inviteneeded]](#) * HDCiTY (HDC) [![(invite needed)][inviteneeded]](#) * HDClone diff --git a/src/Jackett.Common/Definitions/hdbao.yml b/src/Jackett.Common/Definitions/hdbao.yml new file mode 100644 index 000000000..046e34738 --- /dev/null +++ b/src/Jackett.Common/Definitions/hdbao.yml @@ -0,0 +1,185 @@ +--- +id: hdbao +name: HDBao +description: "HDBao is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://hdbao.cc/ + +caps: + categorymappings: + - {id: 407, cat: TV/Sport, desc: "Sports/赛事"} + - {id: 401, cat: Movies, desc: "Movies/电影"} + - {id: 402, cat: TV, desc: "TV Series/电视剧"} + - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"} + - {id: 403, cat: TV, desc: "TV Shows/综艺"} + - {id: 409, cat: Audio, desc: "Misc/音乐"} + - {id: 408, cat: Audio/Video, desc: "Concert/演唱会"} + - {id: 406, cat: Audio/Video, desc: "Music Videos/音乐MV"} + - {id: 405, cat: TV/Other, desc: "Animations/动漫&动画"} + - {id: 410, cat: Books/Technical, desc: "Tutorial/教程"} + - {id: 411, cat: Other, desc: "Others/其他"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - 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 HDBao 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. + - name: info_activity + type: info + label: Account Inactivity + default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:
  1. Veteran User or above would never be deleted.
  2. Elite User or above would never be deleted if parked (at User CP).
  3. Parked accounts would be deleted if users have not logged in for more than 400 days in a row.
  4. Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.
  5. Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.
" + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + inputs: + secret: "" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + two_step_code: "{{ .Config.2facode }}" + logout: "" + securelogin: "" + ssl: yes + trackerssl: yes + error: + - selector: td.embedded:contains("登录失败!") + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + # 0: include dead, 1: alive, 2: dead + incldead: 0 + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0: title, 1: description, 3: uploader, 4: imdburl (4 does not appear to work) + search_area: "0" + # 0: AND, 2: exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + # Support in NexusPHP so bots don't pollute trending searches: + notnewword: 1 + + rows: + 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: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + 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 + # Users can change the "Time display type" in their tracker preferences: + date_elapsed: + # time type: time elapsed (default) + selector: td:nth-child(4) > 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:nth-child(4):not(:has(span)) + 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: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, b, font, img, span +# NexusPHP v1.9.0 2025-02-06