diff --git a/definitions/v11/animenosekai.yml b/definitions/v11/animenosekai.yml deleted file mode 100644 index 156770c75..000000000 --- a/definitions/v11/animenosekai.yml +++ /dev/null @@ -1,122 +0,0 @@ ---- -id: animenosekai -name: Anime No Sekai -description: "Anime No Sekai (ANSK) is a BRAZILIAN Private Torrent Tracker for ANIME" -language: pt-BR -type: private -encoding: windows-1252 -links: - - https://www.ansktracker.com/ - -caps: - categorymappings: - - {id: 3, cat: Movies, desc: "Anime Movie"} - - {id: 2, cat: TV/Anime, desc: "Anime OVA"} - - {id: 1, cat: TV/Anime, desc: "Anime TV"} - - {id: 4, cat: TV, desc: "Doramas"} - - {id: 5, cat: Audio, desc: "Músicas"} - - {id: 6, cat: Other, desc: "Outros"} - - modes: - search: [q] - tv-search: [q, season, ep] - movie-search: [q] - 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: 5 - options: - 5: created - 1: seeders - 3: size - 6: title - -login: - path: takelogin.php - method: post - inputs: - username: "{{ .Config.username }}" - password: "{{ .Config.password }}" - logout: no - error: - - selector: table:contains("Aviso!") - test: - path: index.php - selector: a[href$="/logout.php"] - -download: - selectors: - - selector: a[href^="download.php/"] - attribute: href - -search: - paths: - - path: browse.php - inputs: - $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" - search: "{{ .Keywords }}" - freeleech: "{{ if .Config.freeleech }}1{{else}}{{end}}" - order: "{{ .Config.sort }}" - - rows: - selector: tr#trTorrentRow - - fields: - categorydesc: - selector: td:nth-child(1) img - attribute: alt - title: - selector: a[href*="details.php?id="] - details: - selector: a[href*="details.php?id="] - attribute: href - download: - selector: a[href*="details.php?id="] - attribute: href - date: - selector: td:nth-child(6) - filters: - - name: dateparse - args: "dd/MM/yyyy" - size: - selector: td:nth-child(7) - files: - selector: td:nth-child(4) - grabs: - selector: td:nth-child(8) - seeders: - selector: td:nth-child(9) - leechers: - selector: td:nth-child(10) - downloadvolumefactor: - case: - font[color="green"]:contains("[FL]"): 0 - "*": 1 - uploadvolumefactor_custom: - selector: font[color="red"]:contains("[x") - optional: true - filters: - - name: replace - args: ["x[", ""] - - name: replace - args: ["]", ""] - uploadvolumefactor: - case: - font[color="red"]:contains("[x"): "{{ .Result.uploadvolumefactor_custom }}" - "*": 1 - minimumratio: - text: 0.25 -# engine n/a diff --git a/definitions/v11/f1gp.yml b/definitions/v11/f1gp.yml index 248a7d08d..28571c1dc 100644 --- a/definitions/v11/f1gp.yml +++ b/definitions/v11/f1gp.yml @@ -29,6 +29,7 @@ caps: - {id: 21, cat: TV/Sport, desc: "UFC"} - {id: 22, cat: TV/Sport, desc: "MotoGP"} - {id: 23, cat: TV/Sport, desc: "Boxing"} + - {id: 24, cat: Other, desc: "PDF"} modes: search: [q] @@ -157,4 +158,4 @@ search: minimumseedtime: # 5 days (as seconds = 5 x 24 x 60 x 60) text: 432000 -# xbtitFM v4.1.32 +# xbtitFM v4.2.12 diff --git a/definitions/v11/nyaasi.yml b/definitions/v11/nyaasi.yml index 7a046234a..2be5c6d2c 100644 --- a/definitions/v11/nyaasi.yml +++ b/definitions/v11/nyaasi.yml @@ -255,8 +255,19 @@ search: filters: - name: re_replace args: ["^(\\[.+?].+?)\\s*(? Hotel.del.Luna.2019.S01.1080p... + - name: re_replace + args: ["^(.+?)([\\. ])((?:19|20)\\d{2})([\\. ])(.+)$", "{{ if and (eq .Result.category_group_id \"4\") (and (eq .Result.title_has_season \"NULL\") (eq .Result.title_has_episode \"NULL\")) }}$1$2$3$4S01$4$5{{ else }}$1$2$3$4$5{{ end }}"] + # Insert S01 before resolution for Live Action titles without year or season info + # e.g. Hotel Del Luna 720p HDTV... -> Hotel Del Luna S01 720p HDTV... + - name: re_replace + args: ["^(?!.*(?:19|20)\\d{2})(.+?)([\\. ])((?:480|720|1080|2160)[pi])(.*)$", "{{ if and (eq .Result.category_group_id \"4\") (and (eq .Result.title_has_season \"NULL\") (eq .Result.title_has_episode \"NULL\")) }}$1$2S01$2$3$4{{ else }}$1$2$3$4{{ end }}"] title: - text: "{{ if .Config.sonarr_compatibility }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" + text: "{{ if .Config.sonarr_compatibility }}{{ .Result.title_live_action }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" details: selector: td:nth-child(2) a:last-of-type attribute: href diff --git a/definitions/v11/pandacd.yml b/definitions/v11/pandacd.yml new file mode 100644 index 000000000..354618619 --- /dev/null +++ b/definitions/v11/pandacd.yml @@ -0,0 +1,89 @@ +--- +id: pandacd +name: PandaCD +description: "PandaCD is a Public Tracker for MUSIC (Creative Commons and artist-permitted content)" +language: en-US +type: public +encoding: UTF-8 + +links: + - https://pandacd.io/ + +caps: + categorymappings: + # https://pandacd.io/api/torznab?t=caps + - {id: 3000, cat: Audio, desc: "Audio"} + - {id: 3010, cat: Audio/MP3, desc: "MP3"} + - {id: 3040, cat: Audio/Lossless, desc: "Lossless"} + + modes: + search: [q] + music-search: [q, artist, album, genre] + +settings: [] + +search: + paths: + - path: api/torznab + response: + type: xml + + inputs: + t: "{{ .Query.Type }}" + q: "{{ .Keywords }}" + cat: "{{ join .Categories \",\" }}" + artist: "{{ .Query.Artist }}" + album: "{{ .Query.Album }}" + genre: "{{ .Query.Genre }}" + limit: 100 + + rows: + selector: rss > channel > item + + fields: + category: + selector: "[name=category]" + attribute: value + title: + selector: title + details: + selector: guid + download: + selector: enclosure + attribute: url + date: + # Wed, 15 Apr 2026 02:01:34 +0000 + selector: pubDate + filters: + - name: dateparse + args: "ddd, dd MMM yyyy HH:mm:ss zzz" + size: + selector: "[name=size]" + attribute: value + seeders: + selector: "[name=seeders]" + attribute: value + leechers: + selector: "[name=leechers]" + attribute: value + grabs: + selector: "[name=grabs]" + attribute: value + files: + selector: "[name=files]" + attribute: value + infohash: + selector: "[name=infohash]" + attribute: value + genre: + selector: "[name=genre]" + attribute: value + description: + text: "{{ .Result.genre }}" + downloadvolumefactor: + selector: "[name=downloadvolumefactor]" + attribute: value + uploadvolumefactor: + selector: "[name=uploadvolumefactor]" + attribute: value +# torznab xml diff --git a/definitions/v11/uztracker.yml b/definitions/v11/uztracker.yml index dfa99abf2..c727354bc 100644 --- a/definitions/v11/uztracker.yml +++ b/definitions/v11/uztracker.yml @@ -186,6 +186,7 @@ caps: - {id: 439, cat: Books/Mags, desc: " |- История"} - {id: 438, cat: Books/Mags, desc: " |- Хобби"} - {id: 167, cat: Audio/Audiobook, desc: "Аудиокниги"} + - {id: 464, cat: Audio/Audiobook, desc: " |- ♫ История"} - {id: 335, cat: Audio/Audiobook, desc: " |- ♫ Русская литература ХХ-ХХI века"} - {id: 232, cat: Audio/Audiobook, desc: " |- ♫ Детективы, приключения, триллеры"} - {id: 337, cat: Audio/Audiobook, desc: " |- ♫ Детективы Дарьи Донцовой"} diff --git a/definitions/v11/world-of-tomorrow.yml b/definitions/v11/world-of-tomorrow.yml index 9d8e94566..82bd008b3 100644 --- a/definitions/v11/world-of-tomorrow.yml +++ b/definitions/v11/world-of-tomorrow.yml @@ -69,7 +69,7 @@ caps: modes: search: [q] tv-search: [q, season, ep] - movie-search: [q] + movie-search: [q, imdbid] music-search: [q] book-search: [q] @@ -138,7 +138,7 @@ search: method: post inputs: - name: "{{ .Keywords }}" + name: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}" searchMethod: wildcard maxAge: added