From 0389696466abae135c4453121ead6b94fd6423b2 Mon Sep 17 00:00:00 2001
From: ineednewpajamas <73252768+ineednewpajamas@users.noreply.github.com>
Date: Sat, 3 Jan 2026 17:21:28 -0600
Subject: [PATCH] jackett indexers as of
69e039f44165d61ab64cbeef249721e139f45c87 [2026-01-03T23:21:28Z]
Added Indexers: definitions/v11/arabtorrents-com.yml definitions/v11/c411.yml definitions/v11/exttorrents.yml
Modified Indexers: definitions/v11/animeworld-api.yml
definitions/v11/baozipt.yml
definitions/v11/bigbbs.yml
definitions/v11/bitmagnet.yml
definitions/v11/bitsearch.yml
definitions/v11/danishbytes-api.yml
definitions/v11/f1carreras-api.yml
definitions/v11/hdforever.yml
definitions/v11/jme-reunit3d-api.yml
definitions/v11/monikadesign-api.yml
definitions/v11/nekobt.yml
definitions/v11/portugas-api.yml
definitions/v11/racing4everyone-api.yml
definitions/v11/seedpool-api.yml
definitions/v11/theleachzone-api.yml
definitions/v11/theoldschool-api.yml
definitions/v11/upscalevault.yml
---
definitions/v11/animeworld-api.yml | 16 ++-
definitions/v11/arabtorrents-com.yml | 136 ++++++++++++++++++
definitions/v11/baozipt.yml | 1 +
definitions/v11/bigbbs.yml | 17 +--
definitions/v11/bitmagnet.yml | 21 ++-
definitions/v11/bitsearch.yml | 4 +-
definitions/v11/c411.yml | 178 +++++++++++++++++++++++
definitions/v11/danishbytes-api.yml | 2 +-
definitions/v11/exttorrents.yml | 179 ++++++++++++++++++++++++
definitions/v11/f1carreras-api.yml | 4 +-
definitions/v11/hdforever.yml | 168 +++++++++-------------
definitions/v11/jme-reunit3d-api.yml | 6 +-
definitions/v11/monikadesign-api.yml | 6 +-
definitions/v11/nekobt.yml | 6 +
definitions/v11/portugas-api.yml | 9 +-
definitions/v11/racing4everyone-api.yml | 4 +-
definitions/v11/seedpool-api.yml | 10 +-
definitions/v11/theleachzone-api.yml | 6 +-
definitions/v11/theoldschool-api.yml | 4 +-
definitions/v11/upscalevault.yml | 6 +-
20 files changed, 636 insertions(+), 147 deletions(-)
create mode 100644 definitions/v11/arabtorrents-com.yml
create mode 100644 definitions/v11/c411.yml
create mode 100644 definitions/v11/exttorrents.yml
diff --git a/definitions/v11/animeworld-api.yml b/definitions/v11/animeworld-api.yml
index 1ca6e5e9a..8494e287f 100644
--- a/definitions/v11/animeworld-api.yml
+++ b/definitions/v11/animeworld-api.yml
@@ -28,8 +28,8 @@ caps:
modes:
search: [q]
- tv-search: [q, season, ep, tvdbid, tmdbid]
- movie-search: [q, tmdbid]
+ tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
+ movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
@@ -45,6 +45,10 @@ settings:
type: checkbox
label: Search freeleech only
default: false
+ - name: tmdbidonly
+ type: checkbox
+ label: Disable IMDB and TVDB ID search (only support TMDB ID) to potentially improve Sonarr and Radarr results
+ default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
@@ -95,11 +99,11 @@ search:
# 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 }}" # disabled due to Prowlarr/Indexers#486
- # episodeNumber: "{{ .Query.Ep }}" # disabled due to Prowlarr/Indexers#486
- # imdbId: "{{ .Query.IMDBIDShort }}" # disabled due to #14776
+ # seasonNumber: "{{ .Query.Season }}" # not supported
+ # episodeNumber: "{{ .Query.Ep }}" # not supported
+ imdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.IMDBIDShort }}{{ end }}"
tmdbId: "{{ .Query.TMDBID }}"
- tvdbId: "{{ .Query.TVDBID }}"
+ tvdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.TVDBID }}{{ end }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
diff --git a/definitions/v11/arabtorrents-com.yml b/definitions/v11/arabtorrents-com.yml
new file mode 100644
index 000000000..180d4b7dd
--- /dev/null
+++ b/definitions/v11/arabtorrents-com.yml
@@ -0,0 +1,136 @@
+---
+id: arabtorrents-com
+name: arab-torrents.com
+description: "arab-torrents.com is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
+language: ar-AE
+type: public
+encoding: UTF-8
+requestDelay: 2
+links:
+ - https://arab-torrents.com/
+
+caps:
+ categorymappings:
+ # categories containing '»' have a double space in search results
+ - {id: 14, cat: Other, desc: "اسلامي"}
+ - {id: 17, cat: Books, desc: "كتب"}
+ - {id: 19, cat: TV/Documentary, desc: "المرئيات العربية » وثائقي"}
+ - {id: 22, cat: PC, desc: "برامج عربية"}
+ - {id: 23, cat: PC, desc: "برامج عامه"}
+ - {id: 25, cat: Other, desc: "القران الكريم"}
+ - {id: 26, cat: Audio, desc: "اناشيد"}
+ - {id: 27, cat: Other, desc: "محاضرات"}
+ - {id: 41, cat: Movies, desc: "افلام عربيه"}
+ - {id: 44, cat: TV, desc: "مسلسلات عربية"}
+ - {id: 46, cat: Audio, desc: "منوع"}
+ - {id: 52, cat: Movies/Other, desc: "مسرحيات"}
+ - {id: 56, cat: TV/Sport, desc: "رياضي"}
+ - {id: 57, cat: TV/Foreign, desc: "مسلسلات آسيوية"}
+ - {id: 59, cat: Movies/Foreign, desc: "افلام آسيوية"}
+ - {id: 65, cat: Other, desc: "صور"}
+ - {id: 70, cat: Other, desc: "المرئيات العربية » تعليمي"}
+ - {id: 71, cat: TV/Foreign, desc: "مسلسلات مدبلجه عربي"}
+ - {id: 86, cat: Movies/Foreign, desc: "افلام هنديه"}
+ - {id: 88, cat: Movies/Foreign, desc: "افلام مدبلجه عربي"}
+ - {id: 89, cat: TV, desc: "مسلسلات عربية كامله"}
+ - {id: 90, cat: TV, desc: "برامج ومسابقات"}
+ - {id: 92, cat: Other, desc: "المرئيات الاجنبية » تعليمي"}
+ - {id: 93, cat: TV/Documentary, desc: "المرئيات الاجنبية » وثائقي"}
+ - {id: 98, cat: Movies/Other, desc: "انمي مدبلج عربي » افلام"}
+ - {id: 99, cat: Movies/Other, desc: "انمي مترجم عربي » افلام"}
+ - {id: 100, cat: TV/Anime, desc: "انمي مدبلج عربي » مسلسلات"}
+ - {id: 101, cat: TV/Anime, desc: "انمي مترجم عربي » مسلسلات"}
+ - {id: 102, cat: TV/Anime, desc: "انمي مدبلج عربي » حلقات"}
+ - {id: 103, cat: TV/Anime, desc: "انمي مترجم عربي » حلقات"}
+ - {id: 113, cat: TV/Foreign, desc: "مسلسلات لاتينية مترجم.مدبلج"}
+ - {id: 114, cat: Movies/Foreign, desc: "افلام لاتينية مترجم.مدبلج"}
+ - {id: 115, cat: TV/Foreign, desc: "مسلسلات تركية مترجم.مدبلج"}
+ - {id: 116, cat: Movies/Foreign, desc: "افلام تركية مترجم.مدبلج"}
+ - {id: 117, cat: TV, desc: "رمضان 2025"}
+ # categories not listed
+ - {id: missing1, cat: TV/Other, desc: "الكارتون الصامت والكلاسيكي"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep]
+ movie-search: [q]
+ music-search: [q]
+ book-search: [q]
+
+settings: []
+
+search:
+ paths:
+ - path: index.php
+ - path: index.php
+ inputs:
+ p: 2
+
+ inputs:
+ page: torrents
+ search: "{{ .Keywords }}"
+ # does not support multi-category search
+
+ keywordsfilters:
+ - name: re_replace
+ args: ["^.{1,2}$", ""]
+
+ rows:
+ selector: table#torrents > tbody > tr
+
+ fields:
+ categorydesc:
+ selector: div.fcat
+ title:
+ selector: a[href^="/index.php?page=torrents&tid="] img
+ attribute: alt
+ filters:
+ - name: re_replace
+ args: ["(?<=\\d)\\s+(?=\\d)", " "]
+ - name: re_replace
+ args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[(\\d{4})\\]\\s*\\[م(\\d+)\\]", "S$3E$1 [$2]"]
+ - name: re_replace
+ args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[م(\\d+)\\]", "S$2E$1"]
+ - name: re_replace
+ args: ["^\\[(\\d+(?:[\\s-]+\\d+)*)\\](?!\\s*\\[م)", "S01E$1"]
+ - name: re_replace
+ args: ["E(\\d+)[\\s-]+(\\d+)", "E$1-E$2"]
+ - name: re_replace
+ args: ["\\[\\s*\\]", ""]
+ - name: re_replace
+ args: ["(?<=\\S)(\\[)", " $1"]
+ - name: re_replace
+ args: ["S(\\d)(?=E)", "S0$1"]
+ - name: re_replace
+ args: ["E(\\d)(?=\\D)", "E0$1"]
+ - name: re_replace
+ args: ["\\s{2,}", " "]
+ - name: trim
+ details:
+ selector: a[href^="/index.php?page=torrents&tid="]
+ attribute: href
+ magnet:
+ selector: a[href^="magnet:?xt="]
+ attribute: href
+ poster:
+ selector: a:has(img.posterIcon)
+ attribute: href
+ tmdbid:
+ selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
+ attribute: href
+ date:
+ text: now
+ size:
+ selector: div.fsize
+ seeders:
+ text: 1
+ leechers:
+ text: 1
+ downloadvolumefactor:
+ text: 0
+ uploadvolumefactor:
+ text: 1
+ description:
+ selector: td
+ remove: a[href^="magnet:?xt="], div
+# engine n/a
diff --git a/definitions/v11/baozipt.yml b/definitions/v11/baozipt.yml
index c344b3a2a..464879e35 100644
--- a/definitions/v11/baozipt.yml
+++ b/definitions/v11/baozipt.yml
@@ -19,6 +19,7 @@ caps:
- {id: 407, cat: TV/Sport, desc: "体育运动/Sports"}
- {id: 408, cat: Audio, desc: "高品质音频/HQ Audio"}
- {id: 409, cat: Other, desc: "其他/Other"}
+ - {id: 410, cat: TV, desc: "短剧/Playlet"}
modes:
search: [q]
diff --git a/definitions/v11/bigbbs.yml b/definitions/v11/bigbbs.yml
index 35a997261..88165bb32 100644
--- a/definitions/v11/bigbbs.yml
+++ b/definitions/v11/bigbbs.yml
@@ -59,14 +59,15 @@ caps:
- {id: 118, cat: Audio, desc: "Disco Polo"}
- {id: 119, cat: Audio, desc: "Clubbing"}
- {id: 120, cat: Audio, desc: "House"}
- - {id: 125, cat: Audio, desc: "Tranc"}
- - {id: 127, cat: Audio, desc: "Dance"}
- - {id: 128, cat: Audio, desc: "Opus"}
- - {id: 130, cat: Audio, desc: "Pop"}
- - {id: 129, cat: Audio, desc: "Italo"}
- - {id: 131, cat: Audio, desc: "ClubDance"}
- - {id: 133, cat: Audio, desc: "Retro Remixes"}
- - {id: 134, cat: Audio, desc: "Techno"}
+ - {id: 125, cat: Audio, desc: "Elektro"}
+ - {id: 127, cat: Audio, desc: "Tranc"}
+ - {id: 128, cat: Audio, desc: "Dance"}
+ - {id: 130, cat: Audio, desc: "Opus"}
+ - {id: 129, cat: Audio, desc: "Pop"}
+ - {id: 131, cat: Audio, desc: "Italo"}
+ - {id: 133, cat: Audio, desc: "ClubDance"}
+ - {id: 134, cat: Audio, desc: "Retro Remixes"}
+ - {id: 146, cat: Audio, desc: "Techno"}
- {id: 132, cat: Audio, desc: "eurodance"}
- {id: 145, cat: Audio, desc: "Chillout"}
- {id: 83, cat: Audio, desc: "BLUES / REGGAE/ ROCK / METAL/CLASSIC/"}
diff --git a/definitions/v11/bitmagnet.yml b/definitions/v11/bitmagnet.yml
index 79dfb77cd..ed8c63b7e 100644
--- a/definitions/v11/bitmagnet.yml
+++ b/definitions/v11/bitmagnet.yml
@@ -38,7 +38,24 @@ caps:
music-search: [q]
book-search: [q]
-settings: []
+settings:
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: published_at
+ options:
+ relevance: relevance
+ published_at: added
+ size: size
+ seeders: seeders
+ name: title
+ - name: type
+ type: select
+ label: Order requested from site
+ default: 1
+ options:
+ 1: desc
+ 0: asc
search:
paths:
@@ -53,6 +70,8 @@ search:
tmdbid: "{{ .Query.TMDBID }}"
season: "{{ .Query.Season }}"
ep: "{{ .Query.Ep }}"
+ order: "{{ .Config.sort }}"
+ desc: "{{ .Config.type }}"
limit: 100
rows:
diff --git a/definitions/v11/bitsearch.yml b/definitions/v11/bitsearch.yml
index 0852e3e96..775fa260b 100644
--- a/definitions/v11/bitsearch.yml
+++ b/definitions/v11/bitsearch.yml
@@ -9,13 +9,13 @@ type: public
encoding: UTF-8
links:
- https://bitsearch.to/
- - https://solidtorrents.to/
+ - https://solidtorrents.eu/
legacylinks:
- https://bitsearch.nocensor.cloud/
- https://bitsearch.mrunblock.bond/
- https://solidtorrents.net/
- https://solidtorrents.nocensor.cloud/
- - https://solidtorrents.eu/
+ - https://solidtorrents.to/
caps:
categories:
diff --git a/definitions/v11/c411.yml b/definitions/v11/c411.yml
new file mode 100644
index 000000000..34ceca528
--- /dev/null
+++ b/definitions/v11/c411.yml
@@ -0,0 +1,178 @@
+---
+id: c411
+name: C411
+description: "C411 (Community 411) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
+language: fr-FR
+type: private
+encoding: UTF-8
+links:
+ - https://staging-68d548c5bd4.c411.org/
+
+caps:
+ categorymappings:
+ - {id: 1000, cat: Console, desc: "Emulation & Jeux Vidéo"}
+ - {id: 1030, cat: Console/Wii, desc: "Nintendo"}
+ - {id: 1040, cat: Console/XBox, desc: "Microsoft"}
+ - {id: 1080, cat: Console/PS4, desc: "Sony"}
+ - {id: 1090, cat: Console/Other, desc: "Autre & ROM/ISO"}
+ - {id: 2000, cat: Movies, desc: "Films & Vidéos"}
+ - {id: 2060, cat: Movies, desc: "Animation & Vidéo-clips"}
+ - {id: 2070, cat: Movies, desc: "Documentaire"}
+ - {id: 2090, cat: Movies/Other, desc: "Concert & Spectacle"}
+ - {id: 3000, cat: Audio, desc: "Audio"}
+ - {id: 3010, cat: Audio/MP3, desc: "Musique"}
+ - {id: 3030, cat: Audio/Audiobook, desc: "Audio"}
+ - {id: 3050, cat: Audio/Other, desc: "Karaoké & Podcast Radio & Samples"}
+ - {id: 4000, cat: PC/0day, desc: "Applications & Nulled * Windows"}
+ - {id: 4030, cat: PC, desc: "Linux & MacOS"}
+ - {id: 4040, cat: PC, desc: "Formation"}
+ - {id: 4050, cat: PC, desc: "Autre & Divers & Scripts PHP & CMS & PC/GAMES"}
+ - {id: 4060, cat: PC/Mobile-Android, desc: "Applications"}
+ - {id: 4070, cat: PC/Mobile-iOS, desc: "Smartphone & Tablette"}
+ - {id: 5000, cat: TV, desc: "Série TV"}
+ - {id: 5060, cat: TV/Sport, desc: "Sport"}
+ - {id: 5070, cat: TV/Anime, desc: "Animation Série"}
+ - {id: 5080, cat: TV/Documentary, desc: "Emission TV"}
+ - {id: 6000, cat: XXX, desc: "XXX"}
+ - {id: 6010, cat: XXX/DVD, desc: "Films"}
+ - {id: 6050, cat: XXX/Other, desc: "Ebooks"}
+ - {id: 6060, cat: XXX/ImageSet, desc: "Images"}
+ - {id: 6070, cat: XXX/Other, desc: "Hentai"}
+ - {id: 6080, cat: XXX/Other, desc: "Jeux"}
+ - {id: 7000, cat: Books, desc: "Ebook"}
+ - {id: 7010, cat: Books/Mags, desc: "Presse"}
+ - {id: 7020, cat: Books/EBook, desc: "Livres"}
+ - {id: 7030, cat: Books/Comics, desc: "BDs & Comics & Manga"}
+ - {id: 8010, cat: Other/Misc, desc: "Imprimante 3D"}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep]
+# movie-search: [q, imdbid] # c411 api caps shows imdbid is supported but it currently does not work
+ movie-search: [q]
+ music-search: [q]
+ book-search: [q]
+
+settings:
+ - name: apikey
+ type: text
+ label: API Key
+ - name: info_key
+ type: info
+ label: About your API key
+ default: "You can find or generate a new API Key by accessing the C411 Intégrations API page."
+ - name: multilang
+ type: checkbox
+ label: Replace MULTi by another language in release name
+ default: false
+ - name: multilanguage
+ type: select
+ label: Replace MULTi by this language
+ default: FRENCH
+ options:
+ FRENCH: FRENCH
+ MULTi.FRENCH: MULTi.FRENCH
+ ENGLISH: ENGLISH
+ MULTi.ENGLISH: MULTi.ENGLISH
+ VOSTFR: VOSTFR
+ MULTi.VOSTFR: MULTi.VOSTFR
+ - name: vostfr
+ type: checkbox
+ label: Replace VOSTFR and SUBFRENCH with ENGLISH
+ default: false
+ - name: info_3x
+ type: info
+ label: Including 3X
+ default: "IF you want to see 3x torrents access your C411 Paramètres page and tick the Afficher le contenu XXX checkbox."
+
+login:
+ # returns "401 Unauthorized, check your credentials" if apikey is invalid
+ path: "api/torznab?apikey={{ .Config.apikey }}&t=caps"
+ method: get
+
+search:
+ paths:
+ - path: api/torznab
+ response:
+ type: xml
+
+ inputs:
+ apikey: "{{ .Config.apikey }}"
+# t: "{{ .Query.Type }}"
+ t: search
+ q: "{{ .Keywords }}"
+# imdbid: "{{ .Query.IMDBID }}"
+ limit: 100
+
+ keywordsfilters:
+ # replace spaces between words with percent wildcard
+ - name: re_replace
+ args: ["\\W+", "%"]
+
+ rows:
+ selector: rss > channel > item
+
+ fields:
+ category:
+ selector: '[name="category"]'
+ attribute: value
+ title_phase1:
+ selector: title
+ title_vostfr:
+ text: "{{ .Result.title_phase1 }}"
+ filters:
+ - name: re_replace
+ args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
+ title_phase2:
+ text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
+ title_multilang:
+ text: "{{ .Result.title_phase2 }}"
+ filters:
+ - name: re_replace
+ args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR|VF2|VFF|VFQ|VOQ|VFI|VOF)))\\b", "{{ .Config.multilanguage }}"]
+ title:
+ text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
+ details:
+ selector: guid
+ filters:
+ - name: prepend
+ args: "{{ .Config.sitelink }}torrents/"
+ download:
+ selector: enclosure
+ attribute: url
+ poster:
+ selector: description
+ filters:
+ - name: regexp
+ args: src=\"(.+?)\"
+ date:
+ # Sat, 03 Jan 2026 01:27:58 GMT
+ selector: pubDate
+ filters:
+ - name: replace
+ args: ["GMT", "+00:00"]
+ - name: dateparse
+ args: "ddd, dd MMM yyyy HH:mm:ss zzz"
+ size:
+ selector: size
+ seeders:
+ selector: '[name="seeders"]'
+ attribute: value
+ leechers:
+ selector: '[name="peers"]'
+ attribute: value
+ grabs:
+ selector: '[name="grabs"]'
+ attribute: value
+ downloadvolumefactor:
+ selector: '[name="downloadvolumefactor"]'
+ attribute: value
+ uploadvolumefactor:
+ selector: '[name="uploadvolumefactor"]'
+ attribute: value
+ minimumratio:
+ text: 1.0
+ minimumseedtime:
+ # 2 days (as seconds = 2 x 24 x 60 x 60)
+ text: 172800
+# torznab xml
diff --git a/definitions/v11/danishbytes-api.yml b/definitions/v11/danishbytes-api.yml
index b0336420b..ab782780e 100644
--- a/definitions/v11/danishbytes-api.yml
+++ b/definitions/v11/danishbytes-api.yml
@@ -173,4 +173,4 @@ search:
minimumseedtime:
# 2 day (as seconds = 2 x 24 x 60 x 60)
text: 172800
-# json DBy v0.96
+# json DBy v0.96 (based on UNIT3D 6.3.0?)
diff --git a/definitions/v11/exttorrents.yml b/definitions/v11/exttorrents.yml
new file mode 100644
index 000000000..8aff9770d
--- /dev/null
+++ b/definitions/v11/exttorrents.yml
@@ -0,0 +1,179 @@
+---
+id: exttorrents
+name: EXT Torrents
+description: "EXT Torrents is a Public torrent site for MOVIES / TV / GENERAL"
+language: en-US
+type: public
+encoding: UTF-8
+requestDelay: 5
+links:
+ - https://ext.to/
+ - https://search.extto.com/
+ - https://extranet.torrentbay.st/
+legacylinks:
+ - https://ext.unblockninja.com/
+ - https://t.extto.com/
+ - https://torrent.extto.com/
+ - https://site.extto.com/
+ - https://ext.torrentbay.to/
+ - https://extranet.torrentbay.to/
+ - https://extranet.torrentbay.net/
+
+caps:
+ categorymappings:
+ - {id: "/anime/", cat: TV/Anime, desc: Anime}
+ - {id: "/anime//anime/audio-lossy/", cat: Audio, desc: Anime Audio Lossy}
+ - {id: "/anime//anime/audio-lossless/", cat: Audio/Lossless, desc: Anime Audio Lossless}
+ - {id: "/anime//anime/english-translated/", cat: TV/Anime, desc: Anime English Translated}
+ - {id: "/anime//anime/live-action-english/", cat: TV/Anime, desc: Anime Live Action English}
+ - {id: "/anime//anime/live-action-raw/", cat: TV/Anime, desc: Anime Live Action Raw}
+ - {id: "/anime//anime/raw/", cat: TV/Anime, desc: Anime Raw}
+ - {id: "/anime//anime/subs/", cat: TV/Anime, desc: Anime Subs}
+ - {id: "/anime//raw/", cat: TV/Anime, desc: Anime Raw}
+ - {id: "/applications/", cat: PC, desc: Apps}
+ - {id: "/applications//applications/android/", cat: PC/Mobile-Android, desc: Apps Android}
+ - {id: "/applications//applications/ios/", cat: PC/Mobile-iOS, desc: Apps iOS}
+ - {id: "/applications//applications/linux/", cat: PC, desc: Apps Linux}
+ - {id: "/applications//applications/mac/", cat: PC/Mac, desc: Apps Mac}
+ - {id: "/applications//applications/other-applications/", cat: PC/Mobile-Other, desc: Apps Other}
+ - {id: "/applications//applications/windows/", cat: PC/0day, desc: Apps Windows}
+ - {id: "/books/", cat: Books, desc: Books}
+ - {id: "/books//books/audio-books/", cat: Audio/Audiobook, desc: Books Audiobooks}
+ - {id: "/books//books/comics/", cat: Books/Comics, desc: Books Comics}
+ - {id: "/books//books/ebooks/", cat: Books/EBook, desc: Books Ebooks}
+ - {id: "/books//books/manga-english/", cat: Books/Comics, desc: Books Manga English}
+ - {id: "/books//books/manga-raw/", cat: Books/Comics, desc: Books Manga Raw}
+ - {id: "/games/", cat: PC/Games, desc: Games}
+ - {id: "/games//games/mac/", cat: PC/Mac, desc: Games Mac}
+ - {id: "/games//games/nds/", cat: Console/NDS, desc: Games NDS}
+ - {id: "/games//games/other-games/", cat: Console/Other, desc: Games Other}
+ - {id: "/games//games/pc-games/", cat: PC/Games, desc: Games PC}
+ - {id: "/games//games/ps3/", cat: Console/PS3, desc: Games PS3}
+ - {id: "/games//games/ps4/", cat: Console/PS4, desc: Games PS4}
+ - {id: "/games//games/psp/", cat: Console/PSP, desc: Games PSP}
+ - {id: "/games//games/switch/", cat: Console/Other, desc: Games Switch}
+ - {id: "/games//games/wii/", cat: Console/Wii, desc: Games Wii}
+ - {id: "/games//games/xbox360/", cat: Console/XBox 360, desc: Games Xbox360}
+ - {id: "/movies/", cat: Movies, desc: Movies}
+ - {id: "/movies//movies/3d-movies/", cat: Movies/3D, desc: Movies 3D}
+ - {id: "/movies//movies/bollywood/", cat: Movies, desc: Movies Bollywood}
+ - {id: "/movies//movies/documentary/", cat: Movies, desc: Movies Documentary}
+ - {id: "/movies//movies/dubbed-movies/", cat: Movies, desc: Movies Dubbed}
+ - {id: "/movies//movies/dvd/", cat: Movies/DVD, desc: Movies DVD}
+ - {id: "/movies//movies/highres-movies/", cat: Movies/HD, desc: Movies Highres}
+ - {id: "/movies//movies/movie-clips/", cat: Movies/Other, desc: Movies Movie clips}
+ - {id: "/movies//movies/mp4/", cat: Movies, desc: Movies MP4}
+ - {id: "/movies//movies/music-videos/", cat: Audio/Video, desc: Movies Music videos}
+ - {id: "/movies//movies/other-movies/", cat: Movies, desc: Movies Other Movies}
+ - {id: "/movies//movies/ultrahd/", cat: Movies/UHD, desc: Movies UltraHD}
+ - {id: "/music/", cat: Audio, desc: Music}
+ - {id: "/music//music/aac/", cat: Audio, desc: Music AAC}
+ - {id: "/music//music/lossless/", cat: Audio/Lossless, desc: Music Lossless}
+ - {id: "/music//music/mp3/", cat: Audio/MP3, desc: Music MP3}
+ - {id: "/music//music/other-music/", cat: Audio/Other, desc: Music Other}
+ - {id: "/music//music/radio-shows/", cat: Audio, desc: Music Radio Shows}
+ - {id: "/other/", cat: Other, desc: Other}
+ - {id: "/tv/", cat: TV, desc: TV}
+ - {id: "/tv//tv/episodes-hd/", cat: TV/HD, desc: TV Episodes HD}
+ - {id: "/tv//tv/episodes-sd/", cat: TV/SD, desc: TV Episodes SD}
+ - {id: "/tv//tv/episodes-4k-uhd/", cat: TV/UHD, desc: TV Episodes 4K}
+ - {id: "/tv//tv/big-season-packs/", cat: TV, desc: TV Big Season Packs}
+ - {id: "/tv//tv/season-packs/", cat: TV, desc: TV Season Packs}
+ - {id: "/tv//tv/sports/", cat: TV/Sport, desc: TV Sports}
+ - {id: "/video/", cat: XXX, desc: XXX Video}
+ - {id: "/xxx/", cat: XXX, desc: XXX}
+ - {id: "/xxx//xxx/games/", cat: XXX/Other, desc: XXX Games}
+ - {id: "/xxx//xxx/hentai/", cat: XXX/Other, desc: XXX Hentai}
+ - {id: "/xxx//xxx/magazines/", cat: XXX/Other, desc: XXX Magazines}
+ - {id: "/xxx//xxx/pictures/", cat: XXX/ImageSet, desc: XXX Pictures}
+ - {id: "/xxx//xxx/video/", cat: XXX, desc: XXX Video}
+
+ modes:
+ search: [q]
+ tv-search: [q, season, ep, imdbid]
+ movie-search: [q, imdbid]
+ music-search: [q]
+ book-search: [q]
+
+settings:
+ - name: sort
+ type: select
+ label: Sort requested from site
+ default: age
+ options:
+ age: created
+ seed: seeders
+ size: size
+ - name: type
+ type: select
+ label: Order requested from site
+ default: desc
+ options:
+ desc: desc
+ asc: asc
+ - name: info_flaresolverr
+ type: info_flaresolverr
+
+search:
+ paths:
+ # https://ext.to/browse/?sort=age&order=desc&age=4&user_sort=1&with_adult=1
+ # https://ext.to/browse/?sort=age&order=desc&user_sort=1&q=wipeout&with_adult=1
+ # https://ext.to/browse/?imdb_id=tt2693776
+ - path: browse/
+ - path: browse/
+ inputs:
+ page: 2
+ followredirect: true
+ inputs:
+ q: "{{ .Keywords }}"
+ sort: "{{ .Config.sort }}"
+ order: "{{ .Config.type }}"
+ # 0=last 24 hours, 1=last 3 days, 2=last week, 3=last 2 weeks, 4=last month
+ age: "{{ if or .Keywords .Query.IMDBID }}{{ else }}0{{ end }}"
+ # familysafe 0=enabled, 1=disabled
+ with_adult: "{{ if .Query.IMDBID }}{{ else }}1{{ end }}"
+ imdb_id: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
+ user_sort: 1
+
+ rows:
+ selector: table.table-striped > tbody > tr
+
+ fields:
+ category_part1:
+ selector: td:nth-child(1) div div a:nth-child(2)
+ attribute: href
+ optional: true
+ category_part2:
+ selector: td:nth-child(1) div div a:nth-child(3)
+ attribute: href
+ optional: true
+ category_combined:
+ text: "{{ .Result.category_part1 }}{{ .Result.category_part2 }}"
+ optional: true
+ category:
+ text: "{{ if .Result.category_combined }}{{ .Result.category_combined }}{{ else }}/other/{{ end }}"
+ title:
+ selector: td:nth-child(1) div a
+ details:
+ selector: td:nth-child(1) div a
+ attribute: href
+ infohash:
+ selector: a.search-magnet-btn
+ attribute: data-hash
+ size:
+ selector: td:nth-child(2)
+ files:
+ selector: td:nth-child(3)
+ optional: true
+ default: 1
+ date:
+ selector: td:nth-child(4)
+ seeders:
+ selector: td:nth-child(5)
+ leechers:
+ selector: td:nth-child(6)
+ downloadvolumefactor:
+ text: 0
+ uploadvolumefactor:
+ text: 1
+# engine n/a
diff --git a/definitions/v11/f1carreras-api.yml b/definitions/v11/f1carreras-api.yml
index da47e48c4..2f38a7f9b 100644
--- a/definitions/v11/f1carreras-api.yml
+++ b/definitions/v11/f1carreras-api.yml
@@ -121,8 +121,6 @@ search:
selector: details_link
download:
selector: download_link
- infohash:
- selector: info_hash
seeders:
selector: seeders
leechers:
@@ -167,4 +165,4 @@ search:
minimumseedtime:
# 2 day (as seconds = 2 x 24 x 60 x 60)
text: 172800
-# json UNIT3D 9.1.5 (custom)
+# json UNIT3D 9.2.0 (custom)
diff --git a/definitions/v11/hdforever.yml b/definitions/v11/hdforever.yml
index 8dccef156..217a6ed6d 100644
--- a/definitions/v11/hdforever.yml
+++ b/definitions/v11/hdforever.yml
@@ -20,8 +20,9 @@ caps:
modes:
search: [q]
- tv-search: [q, season, ep]
- movie-search: [q]
+ tv-search: [q, season, ep, imdbid, tvdbid]
+ movie-search: [q, imdbid, tmdbid]
+ allowtvsearchimdb: true
settings:
- name: username
@@ -79,7 +80,7 @@ settings:
- name: info_radarr
type: info
label: About Radarr
- default: The HD-F web site cannot find movies if you use the release year in a title search. When you define your Radarr v3 Indexer remember to tick the Remove year from search string checkbox.
+ default: The HD-F web site cannot find movies if you use the release year in a title search. When you define your Radarr Indexer remember to tick the Remove year from search string checkbox.
login:
path: login.php
@@ -107,7 +108,8 @@ search:
searchsubmit: 1
# 1 freeleech, 2 neutral, 3 both, 0 normal
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
- # site does not support imdbid search or display imdb links in results
+ tmdbid: "{{ .Query.TMDBID }}"
+ imdbid: "{{ .Query.IMDBID }}"
rows:
selector: table#torrent_table > tbody > tr.torrent:has(a[href^="torrents.php?action=download&"])
@@ -145,10 +147,14 @@ search:
poster:
selector: div.group_image img
attribute: src
- files:
- selector: td:nth-child(3)
+ imdbid:
+ selector: a[href*="imdb.com/title/tt"]
+ attribute: href
+ tmdbid:
+ selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
+ attribute: href
date:
- selector: td:nth-child(4)
+ selector: span.time
filters:
- name: replace
args: ["Il y a ", ""]
@@ -182,114 +188,65 @@ search:
selector: td:nth-child(8)
downloadvolumefactor:
case:
- "div.group_info:contains(\"/ Free\")": 0
- "div.group_info:contains(\"↓75%\")": 0.75
- "div.group_info:contains(\"↓50%\")": 0.50
- "div.group_info:contains(\"↓25%\")": 0.25 # for this site this is the count ratio, which is 25% of the total torrent size. (I.E. it's 75% free)
+ "div.torrent_info .tl_free": 0
+ "div.torrent_info .tl_notice[title*=\"Freeleech\"]": 0 # Global freeleech enabled
+ "div.torrent_info .tl_notice[title=\"-75%\"]": 0.75
+ "div.torrent_info .tl_notice[title=\"-50%\"]": 0.50
+ "div.torrent_info .tl_notice[title=\"-25%\"]": 0.25 # for this site this is the count ratio, which is 25% of the total torrent size. (I.E. it's 75% free)
"*": 1
uploadvolumefactor:
text: 1
title_phase1:
selector: div.group_info
- remove: span.team_name, span:has(a[href^="torrents.php?action=download"]), div.tags, div.vote_controls, div.stats-content, .add_bookmark, img
+ remove: span.team_name, span:has(a[href^="torrents.php?action=download"]), div.tags, div.vote_controls, div.stats-content, .add_bookmark, img, .tl_free, .tl_notice
filters:
- name: replace
args: ["\n", " "]
- name: re_replace
- args: ["\\s+", " "]
+ args: ["\\[(?:Concert|Film|Film d'animation|Spectacle|Série|Série d'animation|Documentaire)\\]", ""]
- name: replace
- args: ["Blu-Ray Original", "Complete.BluRay"]
+ args: ["Blu-ray Original", "Complete.BluRay"]
- name: replace
- args: ["Blu-Ray Remux", "Remux"]
+ args: ["Blu-ray Remux", "Remux"]
- name: replace
- args: ["Blu-Ray Rip", "BluRay.Rip"]
+ args: ["Blu-ray Rip", "BluRay.Rip"]
- name: replace
args: ["mHD", "mHD.BluRay.Rip"]
- - name: replace
- args: ["/ DC", "/ Directors.Cut"]
- - name: replace
- args: ["/ VL", "/ Extended"]
- - name: replace
- args: ["/ RM", "/ Remastered"]
- - name: replace
- args: ["/ UC", "/ Uncut"]
- - name: replace
- args: ["/ ES", "/ Special.Edition"]
- - name: replace
- args: [" / Cust_sub", ""]
- - name: replace
- args: [" / Cust", ""]
- - name: replace
- args: ["/ UN", "/ Unrated"]
- - name: replace
- args: [" / Crit", ""]
- - name: replace
- args: [" / WAC", ""]
- - name: replace
- args: [" / MoC", ""]
- - name: replace
- args: [" / BFI", ""]
- - name: replace
- args: [" / MUET", ""]
- - name: replace
- args: ["/ Exc NF", "/ NF"]
- - name: replace
- args: ["/ Exc AMZ", "/ AMZ"]
- - name: replace
- args: ["/ Exc YOU", "/ YT"]
- - name: replace
- args: [" / ↓25%", ""]
- - name: replace
- args: [" / ↓50%", ""]
- - name: replace
- args: [" / ↓75%", ""]
- - name: replace
- args: [" / Free", ""]
- - name: replace
- args: [" / Complété!", ""]
- - name: replace
- args: [" / ", "."]
+ - name: re_replace
+ args: ["(?:\\]|\\/\\s)DC", ".Directors.Cut"]
+ - name: re_replace
+ args: ["(?:\\]|\\/\\s)VL", ".Extended"]
+ - name: re_replace
+ args: ["(?:\\]|\\/\\s)RM", ".Remastered"]
+ - name: re_replace
+ args: ["(?:\\]|\\/\\s)UC", ".Uncut"]
+ - name: re_replace
+ args: ["(?:\\]|\\/\\s)UR", ".Unrated"]
+ - name: re_replace
+ args: ["(?:\\]|\\/\\s)ES", ".Special.Edition"]
+ - name: re_replace
+ args: ["(?:\\]|\\/\\s)Crit", ".Criterion"]
+ - name: re_replace
+ args: ["(?:\\/ )?(?:Remplaçable|Complété|Bonus|Note Modo|[2-9]+ème partie|\\b(?:Cust(?:_sub)?|WAC|BFI|MUET)\\b)(?: \\/)?", ""]
- name: trim
- - name: replace
- args: [".VFF.VFQ.StFr.MULTI", ".MULTI.VFF.VFQ"]
- - name: replace
- args: [".VFF.VFQ.VO.StFr.MULTI", ".MULTI.VFF.VFQ"]
- - name: replace
- args: [".VFF.VFQ.VO.StFr", ".MULTI.VFF.VFQ"]
- - name: replace
- args: [".VFQ.VO.StFr", ".MULTI.VFQ"]
- - name: replace
- args: [".VO.VFI.StFr", ".MULTI"]
- - name: replace
- args: [".VO.VF?.StFr", ".MULTI"]
- - name: replace
- args: [".VFF.VO.StFr", ".MULTI.VFF"]
- - name: replace
- args: [".VOF.StFr", ".FRENCH"]
- - name: replace
- args: [".VFQ.StFr", ".FRENCH"]
- - name: replace
- args: [".VFF.StFr.MULTI", ".MULTI.VFF"]
- - name: replace
- args: [".VFF.StFr", ".FRENCH"]
- - name: replace
- args: [".VFI.MULTI", ".MULTI"]
- - name: replace
- args: [".VO.StFr", ".VOSTFR"]
- - name: replace
- args: [".VFQ.VO", ".MULTI.VFQ"]
- - name: replace
- args: [".VFF.VO", ".MULTI.VFF"]
- - name: replace
- args: [".VO.VF?.StFr", ".MULTI"]
- - name: replace
- args: [".VFI.StFr", ".FRENCH"]
- - name: replace
- args: [".VOF.MULTI", ".MULTI.FRENCH"]
- - name: replace
- args: [".VOF", ".FRENCH"]
- - name: replace
- args: [".VFQ.MULTI", ".MULTI.VFQ"]
+ - name: re_replace
+ args: ["[\\[\\]\\/\\s?.,:'!]+", "."]
+ - name: trim
+ args: "."
+ - name: re_replace
+ args: ["(?i)\\.VFF\\.VFQ\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VF2"]
+ - name: re_replace
+ args: ["(?i)\\.VFF\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VFF"]
+ - name: re_replace
+ args: ["(?i)\\.VFQ\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VFQ"]
+ - name: re_replace
+ args: ["(?i)\\.VOQ\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VOQ"]
+ - name: re_replace
+ args: ["(?i)\\.VFI\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VFI"]
+ - name: re_replace
+ args: ["(?i)\\.VOF\\.(?:MULTI|StFR(?:\\.MULTI)?|VO(?:\\.StFR)?)", ".MULTI.VOF"]
+ - name: re_replace
+ args: ["(?i)\\.(?:VO\\.)?StFR", ".VOSTFR"]
- name: append
args: "{{ if .Result._release_group }}-{{ .Result._release_group }}{{ else }}{{ end }}"
title_vostfr:
@@ -303,15 +260,20 @@ search:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
- args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
+ args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR|VF2|VFF|VFQ|VOQ|VFI|VOF)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
description:
selector: div.group_info
- minimumratio:
+ filters:
+ - name: replace
+ args: ["\n", " "]
+ - name: re_replace
+ args: ["\\s+", " "]
# global MR is 0.6 but torrents must be seeded for 3 days regardless of ratio
+# minimumratio:
# text: 0.6
-# minimumseedtime:
+ minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# Gazelle
diff --git a/definitions/v11/jme-reunit3d-api.yml b/definitions/v11/jme-reunit3d-api.yml
index de2046735..a7a17da47 100644
--- a/definitions/v11/jme-reunit3d-api.yml
+++ b/definitions/v11/jme-reunit3d-api.yml
@@ -88,8 +88,8 @@ search:
# 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 }}"
+ # seasonNumber: "{{ .Query.Season }}" # not supported
+ # episodeNumber: "{{ .Query.Ep }}" # not supported
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
@@ -163,4 +163,4 @@ search:
minimumseedtime:
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
-# json UNIT3D 6.0.4
+# json UNIT3D 6.0.4 (custom)
diff --git a/definitions/v11/monikadesign-api.yml b/definitions/v11/monikadesign-api.yml
index 75cbfafb1..57ec18b34 100644
--- a/definitions/v11/monikadesign-api.yml
+++ b/definitions/v11/monikadesign-api.yml
@@ -85,8 +85,8 @@ search:
# 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 }}"
+ # seasonNumber: "{{ .Query.Season }}" # not supported
+ # episodeNumber: "{{ .Query.Ep }}" # not supported
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
@@ -156,4 +156,4 @@ search:
text: 1
minimumratio:
text: 0.4
-# json UNIT3D 6.4.1 (Custom)
+# json UNIT3D 6.4.1 (custom)
diff --git a/definitions/v11/nekobt.yml b/definitions/v11/nekobt.yml
index 05c6f6032..a4511c242 100644
--- a/definitions/v11/nekobt.yml
+++ b/definitions/v11/nekobt.yml
@@ -118,7 +118,13 @@ search:
selector: enclosure
attribute: url
date:
+ # Sat, 03 Jan 2026 01:27:58 GMT
selector: pubDate
+ filters:
+ - name: replace
+ args: ["GMT", "+00:00"]
+ - name: dateparse
+ args: "ddd, dd MMM yyyy HH:mm:ss zzz"
category:
selector: '[name="category"]'
attribute: value
diff --git a/definitions/v11/portugas-api.yml b/definitions/v11/portugas-api.yml
index 65aaaabeb..98ed6af09 100644
--- a/definitions/v11/portugas-api.yml
+++ b/definitions/v11/portugas-api.yml
@@ -200,9 +200,10 @@ search:
True: 2 # double
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
- minimumratio:
- text: 1.0
+# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
+# minimumratio:
+# text: 0.4
minimumseedtime:
- # 3 days (as seconds = 3 x 24 x 60 x 60)
- text: 259200
+ # 7 days (as seconds = 7 x 24 x 60 x 60)
+ text: 604800
# json UNIT3D 8.3.6 (custom)
diff --git a/definitions/v11/racing4everyone-api.yml b/definitions/v11/racing4everyone-api.yml
index 88128aca0..b01417a0a 100644
--- a/definitions/v11/racing4everyone-api.yml
+++ b/definitions/v11/racing4everyone-api.yml
@@ -115,8 +115,8 @@ search:
# 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 }}"
+ # seasonNumber: "{{ .Query.Season }}" # not supported
+ # episodeNumber: "{{ .Query.Ep }}" # not supported
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
diff --git a/definitions/v11/seedpool-api.yml b/definitions/v11/seedpool-api.yml
index 9f1b9d37f..de343e7ea 100644
--- a/definitions/v11/seedpool-api.yml
+++ b/definitions/v11/seedpool-api.yml
@@ -57,6 +57,10 @@ settings:
type: checkbox
label: Search freeleech only
default: false
+ - name: tmdbidonly
+ type: checkbox
+ label: Disable IMDB and TVDB ID search (only support TMDB ID) to potentially improve Sonarr and Radarr results
+ default: true
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
@@ -104,9 +108,9 @@ search:
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
- imdbId: "{{ .Query.IMDBIDShort }}"
+ imdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.IMDBIDShort }}{{ end }}"
tmdbId: "{{ .Query.TMDBID }}"
- tvdbId: "{{ .Query.TVDBID }}"
+ tvdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.TVDBID }}{{ end }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
@@ -212,4 +216,4 @@ search:
minimumseedtime:
# 10 days (as seconds = 10 x 24 x 60 x 60)
text: 864000
-# json UNIT3D 9.1.5
+# json UNIT3D 9.1.5 (custom)
diff --git a/definitions/v11/theleachzone-api.yml b/definitions/v11/theleachzone-api.yml
index 7281dc4e0..951ded40e 100644
--- a/definitions/v11/theleachzone-api.yml
+++ b/definitions/v11/theleachzone-api.yml
@@ -80,8 +80,8 @@ search:
# 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 }}"
+ # seasonNumber: "{{ .Query.Season }}" # not supported
+ # episodeNumber: "{{ .Query.Ep }}" # not supported
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
@@ -179,4 +179,4 @@ search:
minimumseedtime:
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
-# json UNIT3D 7.2.5
+# json UNIT3D 7.2.5 (custom)
diff --git a/definitions/v11/theoldschool-api.yml b/definitions/v11/theoldschool-api.yml
index 9f2c7f7bc..18a99c5c8 100644
--- a/definitions/v11/theoldschool-api.yml
+++ b/definitions/v11/theoldschool-api.yml
@@ -113,8 +113,8 @@ search:
# 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 }}"
+ # seasonNumber: "{{ .Query.Season }}" # not supported
+ # episodeNumber: "{{ .Query.Ep }}" # not supported
imdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.IMDBIDShort }}{{ end }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ if .Config.tmdbidonly }}{{ else }}{{ .Query.TVDBID }}{{ end }}"
diff --git a/definitions/v11/upscalevault.yml b/definitions/v11/upscalevault.yml
index a67f38ebd..ba528a0e9 100644
--- a/definitions/v11/upscalevault.yml
+++ b/definitions/v11/upscalevault.yml
@@ -77,8 +77,8 @@ search:
# 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 }}"
+ # seasonNumber: "{{ .Query.Season }}" # not supported
+ # episodeNumber: "{{ .Query.Ep }}" # not supported
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
@@ -185,4 +185,4 @@ search:
minimumseedtime:
# 14 day (as seconds = 14 x 24 x 60 x 60)
text: 1209600
-# json UNIT3D 8.1.3
+# json UNIT3D 8.1.3 (custom)