From b80fa830634bd9777fbcd45de22fc76355c1261a Mon Sep 17 00:00:00 2001 From: ineednewpajamas <73252768+ineednewpajamas@users.noreply.github.com> Date: Sat, 21 Mar 2026 07:30:43 -0500 Subject: [PATCH] jackett indexers as of bf155f1932cd44bb69012caeb03a324361ae563e [2026-03-21T12:30:43Z] Added Indexers: definitions/v11/nordicbytes.yml Removed Indexers: definitions/v11/danishbytes-api.yml definitions/v11/lemonhd.yml Modified Indexers: definitions/v11/hawke-uno.yml definitions/v11/nordichd.yml definitions/v11/torrentqq.yml --- definitions/v11/danishbytes-api.yml | 176 ----------------------- definitions/v11/hawke-uno.yml | 2 +- definitions/v11/lemonhd.yml | 181 ------------------------ definitions/v11/nordicbytes.yml | 208 ++++++++++++++++++++++++++++ definitions/v11/nordichd.yml | 204 ++++++++++++++------------- definitions/v11/torrentqq.yml | 4 +- 6 files changed, 318 insertions(+), 457 deletions(-) delete mode 100644 definitions/v11/danishbytes-api.yml delete mode 100644 definitions/v11/lemonhd.yml create mode 100644 definitions/v11/nordicbytes.yml diff --git a/definitions/v11/danishbytes-api.yml b/definitions/v11/danishbytes-api.yml deleted file mode 100644 index ab782780e..000000000 --- a/definitions/v11/danishbytes-api.yml +++ /dev/null @@ -1,176 +0,0 @@ ---- -id: danishbytes-api -name: DanishBytes (API) -description: "DanishBytes is a Private Danish Torrent Tracker for MOVIES / TV / GENERAL" -language: da-DK -type: private -encoding: UTF-8 -links: - - https://danishbytes.club/ - - https://danishbytes2.org/ - - https://dbytes.org/ -legacylinks: - - https://danishbytes.org/ - - https://danishbytes.art/ - -caps: - categorymappings: - - {id: 1, cat: Movies, desc: "Movies"} - - {id: 2, cat: TV, desc: "TV"} - - {id: 5, cat: PC/0day, desc: "Apps"} - - {id: 4, cat: PC/Games, desc: "Games"} - - {id: 3, cat: Audio, desc: "Music"} - - {id: 8, cat: Books, desc: "Books"} - - {id: 17, cat: Audio/Audiobook, desc: "AudioBooks"} - - {id: 19, cat: Audio, desc: "Podcasts"} - - modes: - search: [q] - tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] - movie-search: [q, imdbid, tmdbid] - music-search: [q] - book-search: [q] - -settings: - - name: apikey - type: text - label: APIKey - - name: info_apikey - type: info - label: About your API key - default: "Find or Generate a new API Token by accessing your DanishBytes account My Security page and clicking on the API Token tab." - - name: rsskey - type: text - label: RSSKey - - name: info_rsskey - type: info - label: About your RSS key - default: "Find or Generate a new RSS key by accessing your DanishBytes account My Security page and clicking on the RSS Key (RID) tab." - - name: freeleech - type: checkbox - label: Search freeleech only - default: false - - name: sort - type: select - label: Sort requested from site - default: created_at - options: - created_at: created - seeders: seeders - size: size - name: title - - name: type - type: select - label: Order requested from site - default: desc - options: - desc: desc - asc: asc - - name: info_activity - type: info - label: Account Inactivity - default: "If you have not logged in for 90 days, the user is automatically deleted." - -login: - path: /api/torrents - method: get - inputs: {} # TODO: remove in v10 - error: - - selector: a[href*="/login"] - message: - text: "The API key was not accepted by {{ .Config.sitelink }}." - -search: - paths: - - path: api/torrents/v2/filter - response: - type: json - - headers: - Authorization: ["Bearer {{ .Config.apikey }}"] - - inputs: - $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" - search: "{{ .Keywords }}" - imdb: "{{ .Query.IMDBIDShort }}" - tmdb: "{{ .Query.TMDBID }}" - tvdb: "{{ .Query.TVDBID }}" - freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" - sorting: "{{ .Config.sort }}" - direction: "{{ .Config.type }}" - qty: 100 - page: 1 - - rows: - selector: torrents - count: - selector: $.resultsCount - - fields: - _id: - selector: .id - category: - selector: category_id - title: - selector: name - details: - text: "/torrents/{{ .Result._id }}" - download: - text: "/torrent/download/{{ .Result._id }}.{{ .Config.rsskey }}" - infohash: - selector: info_hash - poster: - selector: poster_image - genre: - selector: meta_genres - filters: - - name: re_replace - args: ["(?i)(Action og eventyr)", "Action_og_eventyr"] - - name: re_replace - args: ["(?i)(Sci-fi og Fantasy)", "Sci-fi_og_Fantasy"] - - name: re_replace - args: ["(?i)(Stand-Up Comedy)", "Stand-Up_Comedy"] - - name: replace - args: [" & ", "_&_"] - description: - text: "{{ .Result.genre }}" - imdbid: - selector: imdb - tmdbid: - selector: tmdb - tvdbid: - selector: tvdb - seeders: - selector: seeders - leechers: - selector: leechers - grabs: - selector: times_completed - date: - # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 - selector: created_at - filters: - - name: append - args: " +00:00" # GMT - - name: dateparse - args: "MM/dd/yyyy HH:mm:ss zzz" - size: - selector: size - downloadvolumefactor: - # api returns 0=false, 1=true - selector: free - case: - 0: 1 # not free - 1: 0 # freeleech - uploadvolumefactor: - # api returns 0=false, 1=true - selector: doubleup - case: - 0: 1 # normal - 1: 2 # double - minimumratio: - text: 1.0 - minimumseedtime: - # 2 day (as seconds = 2 x 24 x 60 x 60) - text: 172800 -# json DBy v0.96 (based on UNIT3D 6.3.0?) diff --git a/definitions/v11/hawke-uno.yml b/definitions/v11/hawke-uno.yml index 06548f601..f332eb00e 100644 --- a/definitions/v11/hawke-uno.yml +++ b/definitions/v11/hawke-uno.yml @@ -161,4 +161,4 @@ search: minimumseedtime: # 5 days (as seconds = 5 x 24 x 60 x 60) text: 432000 -# json UNIT3D 5.3.0 (custom 0.6.1) +# json UNIT3D 5.3.0 (custom 0.7.0) diff --git a/definitions/v11/lemonhd.yml b/definitions/v11/lemonhd.yml deleted file mode 100644 index 3cbbcb915..000000000 --- a/definitions/v11/lemonhd.yml +++ /dev/null @@ -1,181 +0,0 @@ ---- -id: lemonhd -name: LemonHD -description: "LemonHD is a CHINESE Private Torrent Tracker for HD MOVIES / TV" -language: zh-CN -type: private -encoding: UTF-8 -links: - - https://lemonhd.club/ -legacylinks: - - https://leaguehd.com/ - - https://lemonhd.org/ - -caps: - categorymappings: - - {id: 401, cat: Movies, desc: "Movies/电影"} - - {id: 411, cat: Audio, desc: "Music/无损音乐"} - - {id: 405, cat: TV/Anime, desc: "Animations/动漫"} - - {id: 406, cat: Audio/Video, desc: "Music Videos/音乐MV"} - - {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"} - - {id: 402, cat: TV, desc: "TV Series/剧集"} - - {id: 403, cat: TV, desc: "TV Shows/综艺"} - - {id: 410, cat: Movies/3D, desc: "Movies 3D"} - - modes: - search: [q] - tv-search: [q, season, ep, imdbid, doubanid] - movie-search: [q, imdbid, doubanid] - 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. - -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 }}" - 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 - inputs: - $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" - 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 justdead - incldead: 0 - # promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30% - spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" - # 0 title, 1 descr, 3 uploader, 4 imdb, 5 douban - search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}5{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" - # 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: - selector: a[href*="details.php?id="] > b[title] - attribute: title - details: - selector: a[href*="details.php?id="] - attribute: href - download: - selector: a[href*="download.php?id="] - attribute: href - imdbid: - selector: a[href*="imdb.com/title/tt"] - attribute: href - doubanid: - selector: a[href*="movie.douban.com/subject/"] - attribute: href - date_elapsed: - # time type: time elapsed (default) - selector: td.rowfollow: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.rowfollow: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.rowfollow:nth-child(5) - optional: true - default: 512MB - seeders: - selector: td.rowfollow:nth-child(6) - optional: true - default: 0 - leechers: - selector: td.rowfollow:nth-child(7) - optional: true - default: 0 - grabs: - selector: td.rowfollow:nth-child(8) - optional: true - default: 0 - 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 -# NexusPHP Standard v1.5 Beta 4 diff --git a/definitions/v11/nordicbytes.yml b/definitions/v11/nordicbytes.yml new file mode 100644 index 000000000..b0e75d9ce --- /dev/null +++ b/definitions/v11/nordicbytes.yml @@ -0,0 +1,208 @@ +--- +id: nordicbytes +replaces: + - danishbytes-api +name: NordicBytes +description: "NordicBytes is a Mixed NORDIC Private Torrent Tracker for MOVIES / TV / GENERAL" +language: en-US +type: private +encoding: UTF-8 +links: + - https://nordicbytes.org/ +legacylinks: + - https://danishbytes.org/ + - https://danishbytes.art/ + - https://danishbytes.club/ + - https://danishbytes2.org/ + - https://dbytes.org/ + +caps: + categorymappings: + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 2, cat: TV, desc: "TV"} + - {id: 3, cat: PC/0day, desc: "Apps"} + - {id: 4, cat: PC/Games, desc: "Games"} + - {id: 5, cat: Audio, desc: "Sound"} + - {id: 6, cat: Books, desc: "Books"} + - {id: 7, cat: Audio/Audiobook, desc: "AudioBooks"} + - {id: 8, cat: Audio, desc: "Podcasts"} + - {id: 9, cat: XXX, desc: "XXX"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] + movie-search: [q, imdbid, tmdbid] + music-search: [q] + book-search: [q] + +settings: + - name: apikey + type: text + label: APIKey + - name: info_apikey + type: info + label: About your API key + default: "Find or Generate a new API Key by accessing the NordicBytes Account API Key page." + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: single_file_release_use_filename + type: checkbox + label: Use filename as title for single file releases + default: false + - name: sort + type: select + label: Sort requested from site + default: created_at + options: + created_at: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_activity + type: info + label: Account Inactivity + default: "Your account is automatically disabled after 90 days of no activity." + +login: + path: /api/torrents + method: get + error: + - selector: a[href*="/login"] + message: + text: "The API key was not accepted by {{ .Config.sitelink }}." + - selector: :root:contains("Account is Banned") + +search: + paths: + # https://hdinnovations.github.io/UNIT3D/torrent_api.html + # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657 + - path: api/torrents/filter + response: + type: json + + headers: + Authorization: ["Bearer {{ .Config.apikey }}"] + + inputs: + # if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6 + $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" + name: "{{ .Keywords }}" + seasonNumber: "{{ .Query.Season }}" + episodeNumber: "{{ .Query.Ep }}" + imdbId: "{{ .Query.IMDBIDShort }}" + tmdbId: "{{ .Query.TMDBID }}" + tvdbId: "{{ .Query.TVDBID }}" + "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" + sortField: "{{ .Config.sort }}" + sortDirection: "{{ .Config.type }}" + perPage: 100 + + keywordsfilters: + - name: re_replace + args: ["\\.", " "] + + rows: + selector: data + attribute: attributes + + fields: + category: + selector: category_id + title_optional: + selector: name + title_filename: + selector: "files[0].name" + optional: true + files: + selector: num_file + title: + text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}" + details: + selector: details_link + download: + selector: download_link + infohash: + selector: info_hash + poster: + selector: meta.poster + filters: + - name: replace + args: ["https://placehold.co/90x135", ""] + imdbid: + selector: imdb_id + tmdbid: + selector: tmdb_id + tvdbid: + selector: tvdb_id + genre: + selector: meta.genres + filters: + - name: re_replace + args: ["(?i)(Science Fiction)", "Science_Fiction"] + - name: re_replace + args: ["(?i)(TV Movie)", "TV_Movie"] + - name: replace + args: [" & ", "_&_"] + _internal: + selector: internal + case: + 0: "{{ .False }}" + 1: "{{ .True }}" + description: + text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}" + seeders: + selector: seeders + leechers: + selector: leechers + grabs: + selector: times_completed + date: + # "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50 + selector: created_at + filters: + - name: append + args: " +00:00" # GMT + - name: dateparse + args: "MM/dd/yyyy HH:mm:ss zzz" + size: + selector: size + _featured: + selector: featured + case: + False: "{{ .False }}" + True: "{{ .True }}" + downloadvolumefactor_freeleech: + # api returns 0%, 25%, 50%, 75%, 100% + selector: freeleech + case: + 0%: 1 # not free + 25%: 0.75 + 50%: 0.5 + 75%: 0.25 + 100%: 0 # freeleech + "*": 0 # catch errors + downloadvolumefactor: + text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}" + uploadvolumefactor_double_upload: + # api returns False, True + selector: double_upload + case: + False: 1 # normal + True: 2 # double + uploadvolumefactor: + text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" + minimumratio: + text: 1.0 + minimumseedtime: + # 2 day (as seconds = 2 x 24 x 60 x 60) + text: 172800 +# json NBy v1.0 (based on UNIT3D 8.2.0) diff --git a/definitions/v11/nordichd.yml b/definitions/v11/nordichd.yml index 27ae62df8..a9608fbf8 100644 --- a/definitions/v11/nordichd.yml +++ b/definitions/v11/nordichd.yml @@ -7,49 +7,40 @@ type: private encoding: UTF-8 links: - https://nordichd.org/ - - http://cinefilhd.eu/ legacylinks: - - https://nordichd.sytes.net/ # https not supported + - https://nordichd.sytes.net/ - http://nordichd.sytes.net/ - http://nordichd.org/ + - http://cinefilhd.eu/ caps: categorymappings: - - {id: 46, cat: PC/Games, desc: "Games/PC"} - - {id: 47, cat: PC/Games, desc: "Games/PCRips"} - - {id: 48, cat: Console, desc: "Games/PS"} - - {id: 49, cat: Movies/UHD, desc: "Internal/4k-2160p"} - - {id: 37, cat: Movies/HD, desc: "Internal/HD-1080p"} - - {id: 17, cat: Movies/HD, desc: "Internal/HD-720p"} - - {id: 30, cat: TV/HD, desc: "Internal/HDTV"} - - {id: 15, cat: Movies/HD, desc: "Internal/mHD"} - - {id: 40, cat: Movies/HD, desc: "Internal/Mp4"} - - {id: 26, cat: Movies, desc: "Internal/Remux"} - - {id: 45, cat: Movies/WEB-DL, desc: "Internal/WEB-DL"} - - {id: 12, cat: TV/HD, desc: "HDTV-Packs"} - - {id: 25, cat: Movies/3D, desc: "Movies/3D-Ou"} - - {id: 16, cat: Movies/3D, desc: "Movies/3D-SbS"} - - {id: 50, cat: Movies/UHD, desc: "Movies/4k-2016p"} - - {id: 5, cat: Movies/BluRay, desc: "Movies/BluRay"} - - {id: 38, cat: Movies/HD, desc: "Movies/HD-1080p"} - - {id: 10, cat: Movies/HD, desc: "Movies/HD-720p"} - - {id: 21, cat: TV/HD, desc: "Movies/HDTV"} - - {id: 29, cat: Movies/HD, desc: "Movies/mHD"} - - {id: 41, cat: Movies/HD, desc: "Movies/Mp4"} - - {id: 39, cat: Movies, desc: "Movies/Remux"} - - {id: 44, cat: Movies/WEB-DL, desc: "Movies/WEB-DL"} - - {id: 23, cat: Audio/Lossless, desc: "Lossless"} - - {id: 14, cat: Audio/MP3, desc: "MP3-Packs"} - - {id: 22, cat: Audio/MP3, desc: "Music-MP3"} - - {id: 43, cat: Audio/Video, desc: "Music/1080p"} - - {id: 42, cat: Audio/Video, desc: "Music/720p"} + - {id: 1, cat: Movies, desc: "Movies"} + - {id: 14, cat: Movies/SD, desc: "Movies SD"} + - {id: 16, cat: Movies/SD, desc: "Movies Retro"} + - {id: 17, cat: Movies/HD, desc: "Movies HD"} + - {id: 31, cat: Movies/BluRay, desc: "Movies BDRip"} + - {id: 32, cat: Movies/BluRay, desc: "Movies BluRay"} + - {id: 33, cat: Movies, desc: "Movies Pack"} + - {id: 38, cat: Movies/UHD, desc: "Movies 4k/2160p"} + - {id: 6, cat: Movies, desc: "iNTERNAL"} + - {id: 18, cat: Movies/SD, desc: "iNTERNAL SD"} + - {id: 19, cat: Movies/SD, desc: "iNTERNAL Retro"} + - {id: 34, cat: Movies/HD, desc: "iNTERNAL HD"} + - {id: 35, cat: Movies/BluRay, desc: "iNTERNAL BDRip"} + - {id: 36, cat: Movies/BluRay, desc: "iNTERNAL BluRay"} + - {id: 37, cat: Movies, desc: "iNTERNAL Pack"} + - {id: 39, cat: Movies/UHD, desc: "iNTERNAL 4k/2160p"} + - {id: 2, cat: TV, desc: "TV Episodes"} + - {id: 3, cat: TV/SD, desc: "TV Episodes SD"} + - {id: 4, cat: TV, desc: "TV Episodes Series"} + - {id: 26, cat: TV/HD, desc: "TV Episodes HDTV Episodes"} + - {id: 27, cat: TV/HD, desc: "TV Episodes HDTV Series"} modes: search: [q] tv-search: [q, season, ep] movie-search: [q] - music-search: [q] - book-search: [q] settings: - name: username @@ -58,23 +49,18 @@ settings: - name: password type: password label: Password - - name: info_tpp - type: info - label: Results Per Page - default: For best results, change the Torrents per page setting to 100 on your NORDiCHD account. - name: freeleech type: checkbox - label: Search freeleech only + label: Filter freeleech only default: false - name: sort type: select label: Sort requested from site - default: 4 + default: added options: - 4: created - 7: seeders - 5: size - 1: title + added: created + seeders: seeders + size: size - name: type type: select label: Order requested from site @@ -82,95 +68,119 @@ settings: options: desc: desc asc: asc + - name: info_results + type: info + label: Search results + default: "If you are getting the error Found no results while trying to browse this tracker then first access the site with your browser and check that you are not being forced to change your password because it has expired after 180 days." login: - path: login.php + path: ?p=home&pid=1 method: form - form: form[action="takelogin.php"] + form: form#sls_form + submitpath: ajax/login.php inputs: - username: "{{ .Config.username }}" - password: "{{ .Config.password }}" + action: login + loginbox_membername: "{{ .Config.username }}" + loginbox_password: "{{ .Config.password }}" + loginbox_remember: 1 + selectorinputs: + securitytoken: + selector: "script:contains(\"stKey: \")" + filters: + - name: regexp + args: "stKey: \"(.+?)\"," error: - - selector: h2 - message: - selector: table tr td.text + - selector: div.error + - selector: :contains("-ERROR-") test: - path: index.php - selector: a[href^="logout.php?hash_please="] + path: ?p=home&pid=1 + selector: div#member_info_bar search: paths: - # http://nordichd.sytes.net/browse.php?cats3[]=37&cats3[]=17&cats2[]=38&cats2[]=10&search=&searchin=title&incldead=1&only_free=1 - - path: browse.php + # 7 results per page, but fetching more pages when results < 7 returns duplicates from each additional page. + - path: / inputs: - # note: site uses the catsX[]=nn method which cardigann does not support. - search: "{{ .Keywords }}" - # title, descr, filelist, genre, all - searchin: title - # 0 active, 1 incldead, 2 onlydead - incldead: 1 - only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" - sort: "{{ .Config.sort }}" - type: "{{ .Config.type }}" - # does not support searching imdbid and does not return imdb links + p: torrents + pid: 32 + $raw: "{{ range .Categories }}cid[]={{.}}&{{end}}" + keywords: "{{ .Keywords }}" + # name, description, both, uploader + search_type: name + "sortOptions[sortBy]": "{{ .Config.sort }}" + "sortOptions[sortOrder]": "{{ .Config.type }}" + # does not support imdbid search or have imdbid links in results. + error: + - selector: div.error:not(:contains("There are no results found.")) rows: - selector: table tbody tr.browse_color:has(a[href^="download.php?torrent="]) - filters: - - name: andmatch - - name: strdump + selector: "div.torrent-box[id^=\"torrent_\"]{{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}" fields: category: - selector: a[href^="browse.php?cat="] + selector: a[href*="?p=torrents&pid=10&cid="] attribute: href filters: - name: querystring - args: cat + args: cid title: - selector: a[href^="details.php?id="] + selector: a[href*="?p=torrents&pid=10&action=details&tid="] details: - selector: a[href^="details.php?id="] + selector: a[href*="?p=torrents&pid=10&action=details&tid="] attribute: href download: - selector: a[href^="download.php?torrent="] + selector: a[href*="?p=torrents&pid=10&action=download&tid="] attribute: href poster: - selector: a[href^="details.php?id="] - attribute: onmouseover + selector: a[href*="data/torrents/torrent_images/"] + attribute: href + imdbid: + selector: a[href*="imdb.com/title/tt"] + attribute: href + genre: + selector: div.torrentDetails > div:has(a[href*="&genre="]) + filters: + - name: replace + args: ["Genre:", ""] + description: + text: "{{ .Result.genre }}" + size: + selector: a[rel="torrent_size"] + grabs: + selector: a[rel="times_completed"] + seeders: + selector: a[rel="torrent_seeders"] + leechers: + selector: a[rel="torrent_leechers"] + date_day: + selector: div.torrentOwner:contains("day") + # auto adjusted by site account profile + optional: true filters: - name: regexp - args: "src=..(https.+).. width" - files: - selector: td:nth-last-child(8) - date_day: - # Today
08:10 AM - # Yesterday
06:44 PM - selector: td:nth-last-child(6):contains("day") - # auto adjusted by site account profile - optional: true + args: "Uploaded (.+?) by" + - name: fuzzytime date_year: - # Dec 4 2021
10:20 AM - selector: td:nth-last-child(6):not(:contains("day")) + selector: div.torrentOwner:contains("-") # auto adjusted by site account profile optional: true filters: + - name: regexp + args: "Uploaded (.+?) by" - name: dateparse - args: "MMM d yyyy hh:mm tt" + args: "dd-MM-yyyy HH:mm" + date_unix: + selector: div.torrentOwner abbr + optional: true + attribute: data-time date: - text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}" - size: - selector: td:nth-last-child(5) - grabs: - selector: td:nth-last-child(4) - seeders: - selector: td:nth-last-child(3) - leechers: - selector: td:nth-last-child(2) + text: "{{ if or .Result.date_day .Result.date_year .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_unix }}{{ else }}now{{ end }}" downloadvolumefactor: - text: 1 # site does not appear to have a freeleech flag + case: + img[src$="/torrent_free.png"]: 0 + "*": 1 uploadvolumefactor: text: 1 minimumratio: text: 1.0 -# U-232 V3 +# TSUE 2.2 diff --git a/definitions/v11/torrentqq.yml b/definitions/v11/torrentqq.yml index 4dcf05f37..5c957c134 100644 --- a/definitions/v11/torrentqq.yml +++ b/definitions/v11/torrentqq.yml @@ -7,7 +7,7 @@ type: public encoding: UTF-8 followredirect: true links: - - https://torrentqq411.com/ + - https://torrentqq412.com/ - https://torrentegg87.com/ legacylinks: - https://torrentegg72.com/ @@ -25,7 +25,6 @@ legacylinks: - https://torrentegg84.com/ - https://torrentegg85.com/ - https://torrentegg86.com/ - - https://torrentqq395.com/ - https://torrentqq396.com/ - https://torrentqq398.com/ - https://torrentqq399.com/ @@ -40,6 +39,7 @@ legacylinks: - https://torrentqq408.com/ - https://torrentqq409.com/ - https://torrentqq410.com/ + - https://torrentqq411.com/ caps: categorymappings: