From 7c03c807a2bc3219c85e34963690f8534156eafa Mon Sep 17 00:00:00 2001 From: ineednewpajamas <73252768+ineednewpajamas@users.noreply.github.com> Date: Tue, 2 Dec 2025 16:33:29 -0600 Subject: [PATCH] jackett indexers as of 5735caf11cedb48c06096e5adbdc28b05a1f47a9 [2025-12-02T22:23:16Z] (#700) --- definitions/v11/1337x.yml | 16 +- definitions/v11/abtorrents.yml | 2 +- definitions/v11/futuretorrent.yml | 1 + definitions/v11/hdgalaktik.yml | 185 ++++++++------------- definitions/v11/infire.yml | 4 +- definitions/v11/qbite.yml | 71 -------- definitions/v11/rudub.yml | 14 +- definitions/v11/skipthecommercials-api.yml | 4 +- definitions/v11/sktorrent.yml | 62 +++---- 9 files changed, 119 insertions(+), 240 deletions(-) delete mode 100644 definitions/v11/qbite.yml diff --git a/definitions/v11/1337x.yml b/definitions/v11/1337x.yml index 38c159164..b951867fb 100644 --- a/definitions/v11/1337x.yml +++ b/definitions/v11/1337x.yml @@ -1,7 +1,7 @@ --- id: 1337x name: 1337x -description: "1337X is a Public torrent site that offers verified torrent downloads" +description: "1337x is a Public torrent site that offers verified torrent downloads" language: en-US type: public encoding: UTF-8 @@ -115,7 +115,7 @@ caps: search: [q] tv-search: [q, season, ep] movie-search: [q] - music-search: [q, album, artist] + music-search: [q] book-search: [q] allowrawsearch: true @@ -147,6 +147,10 @@ settings: type: info label: About the Download links default: As the iTorrents .torrent download link on this site is known to fail from time to time, we suggest using the magnet link as a fallback. The BTCache and Torrage services are not supported because they require additional user interaction (a captcha for BTCache and a download button on Torrage.) + - name: disablesort + type: checkbox + label: Disable sorting - 1337x prevents sorting searches during high server load, which breaks the indexer when performing a keyword search - disable if you get zero results + default: false - name: sort type: select label: Sort requested from site @@ -174,10 +178,10 @@ download: search: paths: # present first page of movies tv and music results if there are no search parms supplied (20 hits per page) - - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Movies{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/1/" - - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/TV{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}2{{ else }}1{{ end }}/" - - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Music{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}3{{ else }}1{{ end }}/" - - path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Other{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}4{{ else }}1{{ end }}/" + - path: "{{ if and (.Keywords) (eq .Config.disablesort .False) }}sort-{{ else }}{{ end }}{{ if .Keywords }}search/{{ .Keywords }}{{ else }}cat/Movies{{ end }}{{ if and (.Keywords) (eq .Config.disablesort .False) }}/{{ .Config.sort }}/{{ .Config.type }}{{ else }}{{ end }}/1/" + - path: "{{ if and (.Keywords) (eq .Config.disablesort .False) }}sort-{{ else }}{{ end }}{{ if .Keywords }}search/{{ .Keywords }}{{ else }}cat/TV{{ end }}{{ if and (.Keywords) (eq .Config.disablesort .False)) }}/{{ .Config.sort }}/{{ .Config.type }}{{ else }}{{ end }}/{{ if .Keywords }}2{{ else }}1{{ end }}/" + - path: "{{ if and (.Keywords) (eq .Config.disablesort .False) }}sort-{{ else }}{{ end }}{{ if .Keywords }}search/{{ .Keywords }}{{ else }}cat/Music{{ end }}{{ if and (.Keywords) (eq .Config.disablesort .False) }}/{{ .Config.sort }}/{{ .Config.type }}{{ else }}{{ end }}/{{ if .Keywords }}3{{ else }}1{{ end }}/" + - path: "{{ if and (.Keywords) (eq .Config.disablesort .False) }}sort-{{ else }}{{ end }}{{ if .Keywords }}search/{{ .Keywords }}{{ else }}cat/Other{{ end }}{{ if and (.Keywords) (eq .Config.disablesort .False) }}/{{ .Config.sort }}/{{ .Config.type }}{{ else }}{{ end }}/{{ if .Keywords }}4{{ else }}1{{ end }}/" keywordsfilters: - name: re_replace # daily standard S2023 > 2023 diff --git a/definitions/v11/abtorrents.yml b/definitions/v11/abtorrents.yml index 0c49fc02e..5b0969c70 100644 --- a/definitions/v11/abtorrents.yml +++ b/definitions/v11/abtorrents.yml @@ -128,7 +128,7 @@ search: only_free: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}" rows: - selector: table.table-striped > tbody > tr:has(a[href^="download.php?torrent="]) + selector: table.browse.table.striped > tbody > tr:has(a[href^="download.php?torrent="]) fields: # some users (rank specific?) have an extra column (td:nth-child(4)) with bookmark features categorydesc: diff --git a/definitions/v11/futuretorrent.yml b/definitions/v11/futuretorrent.yml index 89a2fd2fa..86535057e 100644 --- a/definitions/v11/futuretorrent.yml +++ b/definitions/v11/futuretorrent.yml @@ -53,6 +53,7 @@ caps: - {id: 41, cat: PC/Games, desc: " |-- Pc"} - {id: 42, cat: Console/PS3, desc: " |-- Ps3"} - {id: 43, cat: Console/PS4, desc: " |-- Ps4"} + - {id: 67, cat: Console/PS4, desc: " |-- Ps5"} - {id: 44, cat: Console/Wii, desc: " |-- Wii"} - {id: 45, cat: Console/WiiU, desc: " |-- Wii-U"} - {id: 46, cat: Console/XBox, desc: " |-- Xbox"} diff --git a/definitions/v11/hdgalaktik.yml b/definitions/v11/hdgalaktik.yml index 5e40e659c..4deb1cd8a 100644 --- a/definitions/v11/hdgalaktik.yml +++ b/definitions/v11/hdgalaktik.yml @@ -14,22 +14,20 @@ legacylinks: caps: categorymappings: -# there are no cats in results and searching with cats gives no results -# - {id: 13, cat: Movies, desc: "Фильмы"} -# - {id: 11, cat: TV, desc: "Сериалы"} -# - {id: 6, cat: TV, desc: "Мультфильмы"} -# - {id: 10, cat: Audio, desc: "Музыка"} -# - {id: 26, cat: PC, desc: "Программы"} -# - {id: 5, cat: Console, desc: "Игры"} -# - {id: 25, cat: Other, desc: "Картинки"} -# - {id: 12, cat: TV/Anime, desc: "Аниме"} -# - {id: 16, cat: Books, desc: "Книги"} -# - {id: 18, cat: Audio/Video, desc: "Клипы / Ролики"} -# - {id: 22, cat: TV, desc: "ТВ / Передачи"} -# - {id: 27, cat: PC/Mobile-Other, desc: "Игры - Мобила / КПК"} -# - {id: 1, cat: PC/ISO, desc: "Образы"} -# - {id: 4, cat: Other, desc: "Другое"} - - {id: Other, cat: Other, desc: Other} + - {id: 13, cat: Movies, desc: "Фильмы"} + - {id: 11, cat: TV, desc: "Сериалы"} + - {id: 6, cat: TV, desc: "Мультфильмы"} + - {id: 10, cat: Audio, desc: "Музыка"} + - {id: 26, cat: PC, desc: "Программы"} + - {id: 5, cat: Console, desc: "Игры"} + - {id: 25, cat: Other, desc: "Картинки"} + - {id: 12, cat: TV/Anime, desc: "Аниме"} + - {id: 16, cat: Books, desc: "Книги"} + - {id: 18, cat: Audio/Video, desc: "Клипы / Ролики"} + - {id: 22, cat: TV, desc: "ТВ / Передачи"} + - {id: 27, cat: PC/Mobile-Other, desc: "Игры - Мобила / КПК"} + - {id: 1, cat: PC/ISO, desc: "Образы"} + - {id: 4, cat: Other, desc: "Другое"} modes: search: [q] @@ -44,8 +42,6 @@ settings: label: Cookie - name: info_cookie type: info_cookie - - name: info_category_8000 - type: info_category_8000 - name: stripcyrillic type: checkbox label: Strip Cyrillic Letters @@ -58,23 +54,22 @@ settings: type: checkbox label: Search freeleech only default: false -# sort is not working -# - name: sort -# type: select -# label: Sort requested from site -# default: 4 -# options: -# 4: created -# 1: title -# 5: size -# 8: seeders -# - name: type -# type: select -# label: Order requested from site -# default: desc -# options: -# desc: desc -# asc: asc + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 1: title + 5: size + 7: seeders + - 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 @@ -90,19 +85,18 @@ login: selector: a[href="mybonus.php"] search: - #https://www.trackerpmr.com/browse.php?cat[]=0&shw_incl_cats=0&incldead=3&search=&tag=#results + # https://www.trackerpmr.com/browse.php?cat[]=0&shw_incl_cats=0&incldead=0&search=the+fix&tag=#results paths: - path: browse.php inputs: - # searching with cats gives no results - # $raw: "{{ range .Categories }}cat[]={{.}}&{{end}}" +# $raw: "{{ range .Categories }}cat[]={{.}}&{{end}}" + cat[]: 0 shw_incl_cats: 0 - # 1 active, 2 dead, 3 gold, 4 sticky, lots of others - incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}" - search: "{{ .Keywords }}" - # sort is not working - #sort: "{{ .Config.sort }}" - #type: "{{ .Config.type }}" + # 0 default, 1 active, 2 dead, 3 gold, 4 sticky, lots of others + incldead: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}" + search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}" + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" keywordsfilters: - name: re_replace # S01 to сезон 1 @@ -115,20 +109,26 @@ search: args: ["[^a-zA-Z0-9]+", "%"] rows: - selector: tr.torrent-row + selector: div.tr-torrent-card-compact:not(:has(div.tr-sticky-highlight)) + dateheaders: + selector: a[href*="date="] + attribute: href + filters: + - name: querystring + args: date + - name: dateparse + args: "yyyy-MM-dd" fields: -# categorydesc: -# selector: div.category-badge -# optional: true -# default: Другое -# filters: -# - name: replace -# args: ["---", "Другое"] category: - text: Other + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat title: - selector: a.torrent-title + selector: a.tr-title-link-compact + attribute: title filters: # normalize to SXXEYY format - name: re_replace @@ -188,87 +188,32 @@ search: - name: append args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}" details: - selector: a.torrent-title + selector: a.tr-title-link-compact attribute: href -# now only DL in results - # there is either a magnet or a download link -# magnet: -# selector: a[href^="magnet:?xt="] -# attribute: href -# optional: true -# download: -# selector: a[href^="download.php?id="] -# attribute: href -# optional: true download: selector: a[href^="download.php?id="] attribute: href + optional: true # for users that do not have DL access poster: - selector: img.torrent-poster + selector: img.tr-main-poster-compact attribute: src -# no imdb anymore -# imdbid: -# selector: a[href^="browse.php?imdb="] -# attribute: href -# filters: -# - name: querystring -# args: imdb size: - selector: td:nth-child(5) + selector: div.tr-stat-block-compact:nth-child(3) seeders: - selector: td:nth-child(6) > div > span + selector: div.tr-stat-block-compact:nth-child(4) leechers: - selector: td:nth-child(6) > div > span:nth-child(2) -# no grabs anymore -# grabs: -# selector: span:has(i.fa-download) - date: - selector: td:nth-child(8) - filters: - # translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish - - name: re_replace - args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"] - - name: re_replace - args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"] - - name: re_replace - args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"] - - name: re_replace - args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"] - - name: re_replace - args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"] - - name: re_replace - args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"] - - name: re_replace - args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"] - - name: re_replace - args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"] - - name: re_replace - args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"] - - name: re_replace - args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"] - - name: re_replace - args: ["(?i) (ay)", "month"] - - name: re_replace - args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"] - - name: re_replace - args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"] - - name: re_replace - args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"] - - name: re_replace - args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"] - - name: re_replace - args: ["(?i) (an)", "year"] - - name: re_replace - args: ["(?i)(För |und)", ""] # Misc removals - - name: timeago + selector: div.tr-stat-block-compact:nth-child(5) + grabs: + selector: div.tr-meta-info-compact span:has(i.fa-download) downloadvolumefactor: case: - span.bg-warning: 0 + span.tr-badge-free: 0 "*": 1 uploadvolumefactor: text: 1 minimumratio: text: 1.0 description: - selector: td:nth-child(2) > div > div > div + selector: a.tr-tag-item-compact + attribute: title # engine n/a diff --git a/definitions/v11/infire.yml b/definitions/v11/infire.yml index 28151dc02..2be74e434 100644 --- a/definitions/v11/infire.yml +++ b/definitions/v11/infire.yml @@ -125,6 +125,8 @@ settings: options: DESC: desc ASC: asc + - name: info_flaresolverr + type: info_flaresolverr - name: info_activity type: info label: Account Inactivity @@ -188,7 +190,7 @@ search: # auto adjusted by site account profile filters: - name: dateparse - args: "dd/MM/yyyy HH:mm:ss" + args: "dd/MM/yyyyHH:mm:ss" seeders: selector: td:nth-last-child(3) leechers: diff --git a/definitions/v11/qbite.yml b/definitions/v11/qbite.yml deleted file mode 100644 index 508013e6d..000000000 --- a/definitions/v11/qbite.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -id: qbite -name: Qbite (Hubite) -description: "Qbite (Hubite) is a Public Torrent Tracker for 3X" -language: en-US -type: public -encoding: UTF-8 -links: - - https://qbite.top/ - -caps: - categorymappings: - - {id: XXX, cat: XXX, desc: "XXX"} - - modes: - search: [q] - -settings: [] - -download: - selectors: - - selector: a[href^="magnet:?xt="] - attribute: href - -search: - paths: - # https://qbite.top/?do=search&subaction=search&story=2025 - - path: / - inputs: - do: search - subaction: search - story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}" - - rows: - selector: div.modelCard-box - - fields: - category: - text: XXX - title: - selector: a.modelCard-image - attribute: title - details: - selector: a.modelCard-image - attribute: href - download: - selector: a.modelCard-image - attribute: href - poster: - # will often fails with 429 Too Many Request so not sure if its worth including - selector: img[src*="/poster/"] - attribute: src - date: - selector: div.media-item > span - filters: - - name: append - args: " +03:00" # MSK - - name: dateparse - args: "d-MM-yyyy zzz" - size: - selector: a.modelCard-profileTag - seeders: - # site uses a JS random number generator 1-1000 for seed/leech - text: 1 - leechers: - text: 1 - downloadvolumefactor: - text: 0 - uploadvolumefactor: - text: 1 -# Engine n/a diff --git a/definitions/v11/rudub.yml b/definitions/v11/rudub.yml index 52ccba27d..452035e33 100644 --- a/definitions/v11/rudub.yml +++ b/definitions/v11/rudub.yml @@ -9,14 +9,8 @@ type: semi-private encoding: windows-1251 followredirect: true links: - - https://nov29.rudub.world/ + - https://dec02.rudub.world/ legacylinks: - - https://nov14.rudub.pics/ - - http://nov15.rudub.pics/ - - https://nov15.rudub.pics/ - - http://nov16.rudub.pics/ - - https://nov16.rudub.pics/ - - http://nov17.rudub.pics/ - https://nov17.rudub.pics/ - http://nov18.rudub.pics/ - https://nov18.rudub.pics/ @@ -41,6 +35,12 @@ legacylinks: - http://nov28.rudub.world/ - https://nov28.rudub.world/ - http://nov29.rudub.world/ + - https://nov29.rudub.world/ + - http://nov30.rudub.world/ + - https://nov30.rudub.world/ + - http://dec01.rudub.world/ + - https://dec01.rudub.world/ + - http://dec02.rudub.world/ caps: categorymappings: - {id: 1, cat: TV, desc: "TV"} diff --git a/definitions/v11/skipthecommercials-api.yml b/definitions/v11/skipthecommercials-api.yml index d9f87e46c..230b3a366 100644 --- a/definitions/v11/skipthecommercials-api.yml +++ b/definitions/v11/skipthecommercials-api.yml @@ -115,8 +115,6 @@ search: selector: details_link download: selector: download_link - infohash: - selector: info_hash poster: selector: meta.poster filters: @@ -188,4 +186,4 @@ search: minimumseedtime: # 7 days (as seconds = 7 x 24 x 60 x 60) text: 604800 -# json UNIT3D 9.1.5 +# json UNIT3D 9.1.7 diff --git a/definitions/v11/sktorrent.yml b/definitions/v11/sktorrent.yml index f7c52ef53..338cbdb3d 100644 --- a/definitions/v11/sktorrent.yml +++ b/definitions/v11/sktorrent.yml @@ -1,7 +1,7 @@ --- id: sktorrent -name: SkTorrent -description: "SkTorrent is a CZECH/SLOVAK Semi-Private Torrent Tracker for MOVIES / TV / GENERAL" +name: Sk-CzTorrent +description: "Sk-CzTorrent is a CZECH/SLOVAK Semi-Private Torrent Tracker for MOVIES / TV / GENERAL" language: cs-CZ type: semi-private encoding: UTF-8 @@ -74,14 +74,9 @@ login: path: torrent/index.php selector: a[href^="usercp.php"] -download: - selectors: - - selector: a[href^="download.php?id="] - attribute: href - search: paths: - - path: torrent/torrents_v2.php + - path: torrent/torrents.php inputs: search: "{{ .Keywords }}" category: "{{ range .Categories }}{{.}};{{end}}" @@ -93,17 +88,18 @@ search: args: replace rows: - selector: table.lista > tbody > tr > td > table.lista > tbody > tr > td:has(a[href^="details.php?name="]) + selector: table.lista > tbody > tr > td > table.lista > tbody > tr:has(a[href^="download.php?id="]) fields: category: - selector: a[href^="torrents_v2.php?category="] + selector: a[href^="torrents.php?category="] attribute: href filters: - name: querystring args: category title: - selector: a[href^="details.php?name="] + selector: a[href^="details.php?id="] + attribute: title filters: - name: re_replace args: ["^VA\\s*\\|", "VA -"] @@ -188,39 +184,43 @@ search: - name: re_replace args: ["(?i)komplet (\\d{1})\\-(\\d{1})", "komplet S0$1-S0$2"] details: - selector: a[href^="details.php?name="] + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] attribute: href poster: - selector: img[class="lozad"] - attribute: data-src - download: - selector: a[href^="details.php?name="] - attribute: href + selector: a[href^="#"] + attribute: onmouseover + filters: + - name: regexp + args: "src=(.+?) width" + - name: prepend + args: "https:" size: - selector: div:has(a) + selector: td:nth-child(3) filters: - name: regexp args: "Velkost (.+?) \\|" date: - selector: div:has(a) - # auto adjusted by site account profile + selector: td:nth-child(3) filters: - name: regexp - args: "Pridany (\\d{2}/\\d{2}/\\d{4})" + args: "Pridany (\\d{2}/\\d{2}/\\d{4} o \\d{2}:\\d{2})" + - name: replace + args: [" o ", " "] + - name: append + args: " +01:00" # CET - name: dateparse - args: "dd/MM/yyyy" + args: "dd/MM/yyyy HH:mm zzz" seeders: - selector: div:has(a) - filters: - - name: regexp - args: "Odosielaju : (\\d+)" + selector: td:nth-child(5) leechers: - selector: div:has(a) - filters: - - name: regexp - args: "Stahuju : (\\d+)" + selector: td:nth-child(6) + grabs: + selector: td:nth-child(7) genre: - selector: div:has(a) + selector: td:nth-child(3) filters: - name: replace args: ["\n", ""]