--- id: haitang name: Hǎitáng (海棠PT) description: "Hǎitáng (海棠PT) is a CHINESE Private Torrent Tracker for OPERA / CROSSTALK" language: zh-CN type: private encoding: UTF-8 requestDelay: 2 links: - https://www.htpt.cc/ caps: categorymappings: - {id: 1, cat: Audio, desc: "相声 Crosstalk", default: true} - {id: 4091, cat: Audio, desc: "评书 Storytelling", default: true} - {id: 4097, cat: Audio, desc: "戏曲 Opera", default: true} - {id: 4098, cat: Audio, desc: "鼓/琴 Drum / Piano", default: true} - {id: 4099, cat: Audio, desc: "小曲 Small Song", default: true} - {id: 4101, cat: Audio, desc: "小品 Sketch", default: true} - {id: 4104, cat: Audio, desc: "二人转 Duets", default: true} - {id: 4105, cat: TV, desc: "小剧种 Puppet shows", default: true} - {id: 4103, cat: Audio/Audiobook, desc: "广播剧 Audiobooks", default: false} modes: search: [q] tv-search: [q, season, ep] music-search: [q] settings: - name: username type: text label: Username - name: password type: password label: Password - 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: "Account retention rules:
  1. Users with Veteran User (Wen Chou) and above will be retained forever
  2. Elite User (Wu Sheng) and above will not be deleted after parking (in the control panel)
  3. Users with a parked account who do not log in for 365 consecutive days will be deleted
  4. Users with a non-parked account who have not logged in for 180 consecutive days be deleted
  5. Users who have no traffic (i.e. upload/download The data is all 0) will be deleted If they do not log in for 90 consecutive days.
" login: path: takelogin.php method: post inputs: username: "{{ .Config.username }}" password: "{{ .Config.password }}" logout: "" securelogin: "" ssl: yes trackerssl: yes error: - selector: td.embedded:has(h2:contains("失败")) test: path: index.php selector: a[href="logout.php"] search: paths: - path: torrents.php categories: [1, 4091, 4097, 4098, 4099, 4101, 4104, 4105] - path: live.php categories: [4103] inputs: $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" search: "{{ .Keywords }}" # 0 incldead, 1 onlyactive, 2 onlydead incldead: 0 # 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 search_area: 0 # 0 AND, 1 OR, 2 exact search_mode: 0 sort: "{{ .Config.sort }}" type: "{{ .Config.type }}" notnewword: 1 rows: selector: table.torrents > tbody > tr:has(table.torrentname) 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 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 minimumratio: text: 1 minimumseedtime: # 1 day (as seconds = 24 x 60 x 60) text: 86400 description: selector: td:nth-child(2) remove: a, b, font, img, span # NexusPHP v1.1 2021-10-15