Created a mock Sonarr container for the beta release

This commit is contained in:
2024-12-13 19:39:43 -07:00
parent 89f8a64b51
commit ea4cfeb42d
651 changed files with 134021 additions and 3267 deletions
+4
View File
@@ -3,3 +3,7 @@ radarr:
host: radarr
port: 7878
api_token: 2374332474216e6720407021206b6579
sonarr:
host: sonarr
port: 8989
api_token: 08717304eb94465f81c5129bb46cc2f9
+3 -3
View File
@@ -15,12 +15,12 @@ caps:
- {id: 10, cat: Movies, desc: "Фильмы (Movies)"}
- {id: 16, cat: Movies/HD, desc: "HD / Фильмы (HD / Movies)"}
- {id: 30, cat: TV/HD, desc: "HD / Сериалы (HD / TV Shows)"}
- {id: 27, cat: TV/HD, desc: "HD / Мультфильмы (HD / Cartoons)"}
- {id: 27, cat: Movies/HD, desc: "HD / Мультфильмы (HD / Cartoons)"}
- {id: 17, cat: PC/Games, desc: "Игры / ПК (Games / PC)"}
- {id: 14, cat: Audio, desc: "Музыка / Аудио (Music / Audio)"}
- {id: 29, cat: TV, desc: "Мультсериалы (TV Series)"}
- {id: 11, cat: TV, desc: "Мультфильмы (Cartoons)"}
- {id: 28, cat: TV/HD, desc: "HD / Документальное (HD / Documentary)"}
- {id: 11, cat: Movies, desc: "Мультфильмы (Cartoons)"}
- {id: 28, cat: TV/Documentary, desc: "HD / Документальное (HD / Documentary)"}
- {id: 18, cat: PC/0day, desc: "Софт / Windows (Software / Windows)"}
- {id: 19, cat: TV, desc: "TV / Сериалы (TV shows)"}
- {id: 31, cat: Other, desc: "Прочее (Other)"}
+9 -24
View File
@@ -6,40 +6,27 @@ language: en-US
type: public
encoding: UTF-8
requestDelay: 2
# get status and news on domains at the official site https://1337x-status.org/
links:
- https://1337x.to/
- https://1337x.st/
- https://x1337x.ws/
- https://x1337x.eu/
- https://x1337x.se/
- https://1337x.so/
- https://1337x.unblockit.africa/
- https://x1337x.cc/
- https://1337x.unblockninja.com/
- https://1337x.ninjaproxy1.com/
- https://1337x.proxyninja.org/
- https://1337x.proxyninja.net/
- https://1337x.torrentbay.st/
- https://1337x.torrentsbay.org/
legacylinks:
- https://1337x.is/
- https://1337x.gd/
- https://1337x.nocensor.lol/
- https://1337x.unblockit.ink/
- https://1337x.nocensor.art/
- https://1337x.unblockit.bio/
- https://1337x.unblockit.boo/
- https://1337x.mrunblock.guru/
- https://1337x.mrunblock.life/
- https://1337x.unblockit.click/
- https://1337x.unblockit.asia/
- https://1337x.unblockit.mov/
- https://1337x.unblockit.rsvp/
- https://1337x.unblockit.vegas/
- https://1337x.unblockit.esq/
- https://1337x.unblockit.zip/
- https://1337x.unblockit.foo/
- https://1337x.unblockit.ing/
- https://1337x.mrunblock.bond/
- https://1337x.unblockit.date/
- https://1337x.unblockit.dad/
- https://1337x.abcproxy.org/
- https://1337x.so/
- https://1337x.unblockit.download/
caps:
categorymappings:
@@ -133,10 +120,8 @@ caps:
allowrawsearch: true
settings:
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
- name: info_flaresolverr
type: info_flaresolverr
- name: downloadlink
type: select
label: Download link
+17 -14
View File
@@ -10,24 +10,25 @@ links:
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 403, cat: TV, desc: "TV Shows/综艺节目"}
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐MV"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 409, cat: Other, desc: "Misc/其他"}
- {id: 408, cat: Audio, desc: "HQ Audio/高品质音频"}
- {id: 412, cat: Other, desc: "Edu/教育"}
- {id: 411, cat: PC/Games, desc: "Games/游戏"}
- {id: 410, cat: PC/0day, desc: "Software/软件"}
- {id: 401, cat: Movies, desc: "Movie(電影)"}
- {id: 402, cat: TV, desc: "TV Series(電視影劇)"}
- {id: 403, cat: TV, desc: "TV Shows(電視綜藝)"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries(紀錄教育)"}
- {id: 405, cat: TV/Anime, desc: "Animations(卡通動漫)"}
- {id: 406, cat: Audio/Video, desc: "Music Videos(音樂短片/演唱會)"}
- {id: 407, cat: TV/Sport, desc: "Sports(體育賽事)"}
- {id: 408, cat: Audio, desc: "HQ Audio(高品质音频)"}
- {id: 410, cat: PC/0day, desc: "Software(軟體)"}
- {id: 411, cat: PC/Games, desc: "Games(電子遊戲)"}
- {id: 412, cat: Books/EBook, desc: "eBook(電子書)"}
- {id: 409, cat: Other, desc: "Misc(其他)"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
book-search: [q]
settings:
- name: username
@@ -63,6 +64,8 @@ settings:
options:
desc: desc
asc: asc
- name: info_flaresolverr
type: info_flaresolverr
- name: info_tpp
type: info
label: Results Per Page
@@ -70,7 +73,7 @@ settings:
- name: info_activity
type: info
label: Account Inactivity
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if packed (at User CP).</li><li>Packed accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unpacked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if parked (at User CP).</li><li>Parked accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
login:
path: login.php
@@ -193,4 +196,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.9 2023-11-15
# NexusPHP v1.8.13 2024-07-23
@@ -56,6 +56,8 @@ settings:
options:
desc: desc
asc: asc
- name: info_flaresolverr
type: info_flaresolverr
- name: info_tpp
type: info
label: Results Per Page
+106
View File
@@ -0,0 +1,106 @@
---
id: 52bt
name: 52BT
description: "52BT is a CHINESE Public tracker for TV / MOVIES / MUSIC / GENERAL"
language: zh-CN
type: public
encoding: UTF-8
requestDelay: 2
links:
# Send any content to 52btbtbt@gmail.com to get the latest address. or visit https://521.52btbt.cyou/
- https://www.529053.xyz/
- https://www.529055.xyz/
legacylinks:
- https://529050.xyz/
- https://529048.xyz/
- https://529049.xyz/
- https://www.529052.xyz/
caps:
categorymappings:
- {id: 影视, cat: TV, desc: 影视}
- {id: 影视, cat: Movies, desc: 影视}
- {id: 音乐, cat: Audio, desc: 音乐}
- {id: 图像, cat: Other, desc: 图像}
- {id: 文档书籍, cat: Books, desc: 文档书籍}
- {id: 压缩文件, cat: Other, desc: 压缩文件}
- {id: 安装包, cat: PC, desc: 安装包}
- {id: 其他, cat: Other, desc: 其他}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: cat-id
type: select
label: Category
default: 0
options:
0: All categories
1: Film and Television
2: Music
3: Images
4: Books
5: Zip Files
6: Software
7: Other
- name: sort
type: select
label: Sort requested from site
default: 2
options:
2: created
1: size
0: relevance
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
- path: "search-{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}-{{ .Config.cat-id }}-{{ .Config.sort }}-1.html"
- path: "search-{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}-{{ .Config.cat-id }}-{{ .Config.sort }}-2.html"
error:
- selector: :root:contains("Internal Server Error")
rows:
selector: div.ssbox
fields:
categorydesc:
selector: div.title > h3 > span
filters:
- name: re_replace
args: ["([\\[\\]]+)", ""]
title:
selector: a[href^="/hash/"]
details:
selector: a[href^="/hash/"]
attribute: href
infohash:
selector: a[href^="magnet:?xt="]
attribute: href
filters:
- name: regexp
args: ([A-F|a-f|0-9]{40})
date:
selector: div.sbar > span:contains("添加时间:") > b
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd zzz"
size:
selector: div.sbar > span:contains("大小:") > b
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a
+1 -1
View File
@@ -173,7 +173,7 @@ search:
img.pro_2up: 2
"*": 1
minimumratio:
text: 1
text: 1.1
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
@@ -208,7 +208,7 @@ search:
- name: replace
args: ["Gestern", "Yesterday"]
- name: append
args: " +01:00" # CET
args: "+01:00" # CET
date_year:
# 30.02.2018 23:12:50
selector: td:nth-child(10):contains("."):contains(":")
@@ -217,7 +217,7 @@ search:
- name: split
args: ["b", 0]
- name: append
args: " +01:00" # CET
args: "+01:00" # CET
- name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz"
date:
@@ -1,5 +1,7 @@
---
id: abtorrents
replaces:
- audiobooktorrents
name: ABtorrents
description: "ABtorrents (ABT) is a Private Torrent Tracker for AUDIOBOOKS"
language: en-US
@@ -86,10 +88,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -104,6 +104,7 @@ settings:
default: "Account retention rules:<ol><li>Any account that has unread PMs older than 14 days or has not logged in for 30 days will be suspended</li><li>Any account that has not been logged into for 90 days is deemed inactive and will thus be purged</li><li>Any account that has not been logged into for 30 days is deemed inactive and will be put on suspension until User logs in again</li><li>Users stats, points, and history are irrevocably lost when purged</li><li>Logging into the site is the ONLY way to keep an account active</li><li>SEEDING ONLY does NOT constitute site activity.</li></ol>"
login:
# using cookie method because login page simplecaptcha generates Exception: Cannot access child value on Newtonsoft.Json.Linq.JValue.
method: cookie
test:
path: index.php
@@ -157,7 +158,7 @@ search:
optional: true
filters:
- name: dateparse
args: "MMM d yyyy h:mm tt"
args: "MMM d yyyyh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
@@ -47,6 +47,8 @@ login:
vb_login_password: "{{ .Config.password }}"
cookieuser: 1
do: login
error:
- selector: div.restore:contains("invalid username or password")
test:
path: torrents.php
selector: a[href*="logout.php"]
+1 -1
View File
@@ -206,4 +206,4 @@ search:
filters:
- name: prepend
args: "{{ .Result.description_verified }} "
# NexusPHP v1.8.8 2023-09-25
# NexusPHP v1.8.12 2024-04-05
@@ -35,10 +35,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -61,6 +59,7 @@ settings:
asc: asc
login:
# using cookie method because login page returns 0 bytes with a cookie flog=6
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
+28 -11
View File
@@ -34,6 +34,10 @@ settings:
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: true
- name: sort
type: select
label: Sort requested from site
@@ -63,11 +67,12 @@ login:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: "/api/torrents/filter"
response:
type: json
@@ -100,8 +105,15 @@ search:
fields:
category:
selector: category_id
title:
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:
@@ -122,8 +134,6 @@ search:
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)^None$", ""]
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
@@ -132,8 +142,6 @@ search:
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
selector: seeders
leechers:
@@ -145,12 +153,17 @@ search:
selector: created_at
filters:
- name: append
args: " +00:00" # GMT
args: " +00:00" # UTC
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
@@ -160,16 +173,20 @@ search:
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
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 }}"
# global MR is 0.4 but torrents must be seeded for 5 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 7.2.5
# json UNIT3D 8.3.3
+54 -138
View File
@@ -14,81 +14,60 @@ legacylinks:
caps:
categorymappings:
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
- {id: 108, cat: XXX, desc: "Adultos: Transex/Female"}
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
- {id: 146, cat: XXX, desc: "Adultos: OnlyFans"}
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
- {id: 116, cat: TV/Anime, desc: "Anime: Filmes"}
- {id: 118, cat: TV/Anime, desc: "Anime: Séries"}
- {id: 23, cat: PC/Mobile-Android, desc: "Aplicativos: Android"}
- {id: 21, cat: PC/0day, desc: "Aplicativos: Windows"}
- {id: 28, cat: PC/Mobile-iOS, desc: "Aplicativos: iPod"}
- {id: 27, cat: PC/Mobile-iOS, desc: "Aplicativos: iPad"}
- {id: 26, cat: PC/Mobile-iOS, desc: "Aplicativos: iPhone"}
- {id: 28, cat: PC/Mobile-iOS, desc: "Aplicativos: iPod"}
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
- {id: 23, cat: PC/Mobile-Android, desc: "Aplicativos: Android"}
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
- {id: 21, cat: PC/0day, desc: "Aplicativos: Windows"}
- {id: 72, cat: Books, desc: "Apostila: Apostila"}
- {id: 71, cat: Books, desc: "Apostila: Cursos"}
- {id: 121, cat: Audio/Audiobook, desc: "Ebook: Audio-book"}
- {id: 112, cat: Books, desc: "Ebook: HQs"}
- {id: 73, cat: Books, desc: "Cursos: Video Aula"}
- {id: 72, cat: Books, desc: "Cursos: Apostila"}
- {id: 71, cat: Books, desc: "Cursos: Cursos"}
- {id: 67, cat: Books, desc: "Ebook: Livros"}
- {id: 112, cat: Books, desc: "Ebook: HQs"}
- {id: 147, cat: Books, desc: "Ebook: Mangas"}
- {id: 121, cat: Audio/Audiobook, desc: "Ebook: Audio-book"}
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
- {id: 119, cat: Movies, desc: "Filmes:"}
- {id: 70, cat: XXX, desc: "Fotos: XXX"}
- {id: 57, cat: Console, desc: "Jogos: Android"}
- {id: 52, cat: Console, desc: "Jogos: Dreamcast"}
- {id: 109, cat: Console, desc: "Jogos: Emulação"}
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
- {id: 48, cat: PC/Mac, desc: "Jogos: Mac"}
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
- {id: 110, cat: Console, desc: "Jogos: Nintendo Switch"}
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
- {id: 49, cat: Console, desc: "Jogos: Ps1"}
- {id: 50, cat: Console, desc: "Jogos: Ps2"}
- {id: 70, cat: XXX, desc: "Fotos: Revistas, Livros e Fotos"}
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
- {id: 54, cat: Console/XBox 360, desc: "Jogos: Xbox360"}
- {id: 109, cat: Console, desc: "Jogos: Emulação"}
- {id: 110, cat: Console, desc: "Jogos: Nintendo Switch"}
- {id: 52, cat: Console, desc: "Jogos: Dreamcast"}
- {id: 50, cat: Console, desc: "Jogos: Ps2"}
- {id: 49, cat: Console, desc: "Jogos: Ps1"}
- {id: 48, cat: PC/Mac, desc: "Jogos: Mac"}
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
- {id: 57, cat: Console, desc: "Jogos: Android"}
- {id: 56, cat: Console/XBox, desc: "Jogos: Xbox"}
- {id: 78, cat: Console/XBox One, desc: "Jogos: Xbox One"}
- {id: 29, cat: Audio, desc: "Musica: Axé"}
- {id: 38, cat: Audio, desc: "Musica: Blues"}
- {id: 39, cat: Audio, desc: "Musica: Dance"}
- {id: 40, cat: Audio, desc: "Musica: Discografia"}
- {id: 43, cat: Audio, desc: "Musica: Dubstep"}
- {id: 30, cat: Audio, desc: "Musica: Eletronica"}
- {id: 41, cat: Audio, desc: "Musica: Erudita"}
- {id: 42, cat: Audio, desc: "Musica: Forró"}
- {id: 31, cat: Audio, desc: "Musica: Funk"}
- {id: 84, cat: Audio, desc: "Musica: Game (OST)"}
- {id: 83, cat: Audio, desc: "Musica: Gospel"}
- {id: 37, cat: Audio, desc: "Musica: Hard Rock"}
- {id: 33, cat: Audio, desc: "Musica: Hip-Hop"}
- {id: 114, cat: Audio, desc: "Musica: MPB"}
- {id: 77, cat: Audio, desc: "Musica: Outros"}
- {id: 32, cat: Audio, desc: "Musica: Pagode"}
- {id: 115, cat: Audio, desc: "Musica: POP"}
- {id: 34, cat: Audio, desc: "Musica: Rap"}
- {id: 76, cat: Audio, desc: "Musica: Reggae"}
- {id: 36, cat: Audio, desc: "Musica: Rock"}
- {id: 45, cat: Audio, desc: "Musica: Samba"}
- {id: 46, cat: Audio, desc: "Musica: Sertanejo"}
- {id: 120, cat: TV, desc: "Series:"}
- {id: 65, cat: TV, desc: "Shows: Show"}
- {id: 63, cat: TV, desc: "Tv: Aberta"}
- {id: 62, cat: TV/Sport, desc: "Tv: Esportes"}
- {id: 64, cat: TV, desc: "Tv: Fechada"}
- {id: 73, cat: TV, desc: "Video Aula: Video Aula"}
- {id: 127, cat: Other, desc: "Outros: Add-ons"}
- {id: 126, cat: Other, desc: "Outros: Extensões"}
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
- {id: 129, cat: Other, desc: "Outros: Fonts"}
- {id: 128, cat: Other, desc: "Outros: Scripts"}
- {id: 127, cat: Other, desc: "Outros: Add-ons"}
- {id: 130, cat: Other, desc: "Outros: MOD"}
- {id: 125, cat: Other, desc: "Outros: Pack de Imagens"}
- {id: 122, cat: Other, desc: "Outros: Plug-ins"}
- {id: 128, cat: Other, desc: "Outros: Scripts"}
- {id: 124, cat: Other, desc: "Outros: Vetores"}
- {id: 122, cat: Other, desc: "Outros: Plug-ins"}
- {id: 126, cat: Other, desc: "Outros: Extensões"}
- {id: 120, cat: TV, desc: "Series:"}
- {id: 64, cat: TV, desc: "Tv: Fechada"}
- {id: 62, cat: TV/Sport, desc: "Tv: Esportes"}
- {id: 63, cat: TV, desc: "Tv: Aberta"}
modes:
search: [q]
@@ -179,6 +158,23 @@ search:
selector: "div#fancy-list-group ul.list-group li.list-group-item{{ if .Config.freeleech }}:has(span.badge-success:contains(\"FREE\")){{ else }}{{ end }}"
fields:
category_default:
# tv and movie just have an image :-b
selector: div.list-group-item-addon img
attribute: src
optional: true
case:
"[src$=\"/filmes2.fw.png\"]": 119
"[src$=\"/seriados.fw.png\"]": 120
category:
# while the rest have a href with a cat number \o/
selector: a[href*="cat="]
attribute: href
optional: true
default: "{{ .Result.category_default }}"
filters:
- name: querystring
args: cat
_quality:
selector: div.list-group-item-content p.m-0 span.badge-primary:contains("1080p"), div.list-group-item-content p.m-0 span.badge-primary:contains("720p"), div.list-group-item-content p.m-0 span.badge-primary:contains("4k")
optional: true
@@ -194,10 +190,6 @@ search:
_language:
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#b6249d;"]
optional: true
genre:
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#1c38c2;"]
description:
text: "{{ .Result.genre }}"
title:
selector: a[href*="torrents-details.php?id="], a[href*="details-misc.php?id="]
filters:
@@ -224,86 +216,6 @@ search:
download:
selector: a[href*="download.php?id="]
attribute: href
category:
selector: div.list-group-item-addon img
attribute: src
case:
# unfortunately the site does not have category numbers on the results page, just a image which can apply to both movies and tv.
# therefore I've order the list to favour movies.
# also, not all images have been verified as the site has many empty categories. their image names have been extrapolated from the cat desc.
"[src$=\"/Adultos.fw.png\"]": 74
"[src$=\"/Gay.jpeg\"]": 107
"[src$=\"/Trans.jpeg\"]": 108
"[src$=\"/Hentai.png\"]": 75
"[src$=\"/Anime2.fw.png\"]": 69
"[src$=\"/aplicativos.fw.png\"]": 21
"[src$=\"/Mac.png\"]": 22
"[src$=\"/Android.png\"]": 23
"[src$=\"/Linux.png\"]": 25
"[src$=\"/iPhone.png\"]": 26
"[src$=\"/iPad.png\"]": 27
"[src$=\"/iPod.png\"]": 28
"[src$=\"/Cursos.png\"]": 71
"[src$=\"/Apostila.png\"]": 72
"[src$=\"/E-books.png\"]": 67
"[src$=\"/Revista.png\"]": 68
"[src$=\"/HQ.png\"]": 112
"[src$=\"/filmes2.fw.png\"]": 119
"[src$=\"/Revistas-XXX.png\"]": 70
"[src$=\"/PS4.png\"]": 79
"[src$=\"/Jogos-PC.png\"]": 47
"[src$=\"/Emulador.png\"]": 61
"[src$=\"/Emulacao.png\"]": 109
"[src$=\"/Jogos-Mac.png\"]": 48
"[src$=\"/Jogos-PS1.png\"]": 49
"[src$=\"/Jogos-PS2.png\"]": 50
"[src$=\"/Jogos-PS3.png\"]": 51
"[src$=\"/Jogos-Dreamcast.png\"]": 52
"[src$=\"/Jogos-Xbox360.png\"]": 54
"[src$=\"/Jogos-Xbox.png\"]": 56
"[src$=\"/Jogos-Wii.png\"]": 55
"[src$=\"/Jogos-DS.png\"]": 58
"[src$=\"/jogosandroid.png\"]": 57
"[src$=\"/PSP.png\"]": 82
"[src$=\"/Jogos-NS.png\"]": 110
"[src$=\"/Jogos-XboxOne.png\"]": 78
"[src$=\"/Axe.png\"]": 29
"[src$=\"/Eletronica.png\"]": 30
"[src$=\"/Funk.png\"]": 31
"[src$=\"/Pagode.png\"]": 32
"[src$=\"/HIP_HOP.png\"]": 33
"[src$=\"/Rap.png\"]": 34
"[src$=\"/Rock.png\"]": 36
"[src$=\"/Hard-Rock.png\"]": 37
"[src$=\"/Blues.png\"]": 38
"[src$=\"/Dance.png\"]": 39
"[src$=\"/Discografia.png\"]": 40
"[src$=\"/Erudita.png\"]": 41
"[src$=\"/Forro.png\"]": 42
"[src$=\"/Dubstep.png\"]": 43
"[src$=\"/Sertanejo.png\"]": 46
"[src$=\"/Samba.png\"]": 45
"[src$=\"/Musica-Outros.png\"]": 77
"[src$=\"/Reggae.png\"]": 76
"[src$=\"/Gospel.png\"]": 83
"[src$=\"/POP.png\"]": 115
"[src$=\"/MPB.png\"]": 114
"[src$=\"/OST.png\"]": 84
"[src$=\"/seriados.fw.png\"]": 120
"[src$=\"/show.fw.png\"]": 65
"[src$=\"/Aberta.png\"]": 63
"[src$=\"/Esporte.png\"]": 62
"[src$=\"/Fechada.png\"]": 64
"[src$=\"/video aula4.fw.png\"]": 73
"[src$=\"/Add-ons.png\"]": 127
"[src$=\"/Extensões.png\"]": 126
"[src$=\"/Fonts.png\"]": 129
"[src$=\"/MOD.png\"]": 130
"[src$=\"/Imagens.png\"]": 125
"[src$=\"/Plug-ins.png\"]": 122
"[src$=\"/Scripts.png\"]": 128
"[src$=\"/Vetores.png\"]": 124
"[src$=\"/outros2.png\"]": 130
date:
selector: p:contains("Lançado:")
# auto adjusted by site account profile
@@ -324,6 +236,10 @@ search:
selector: div.list-group-item-controls a:nth-child(2)
grabs:
selector: div.list-group-item-controls a:nth-child(3)
genre:
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#1c38c2;"]
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
"span.badge-success:contains(\"FREE\")": 0
+181 -1
View File
@@ -23,6 +23,10 @@ settings:
type: checkbox
label: Strip Cyrillic Letters
default: false
- name: sonarr_compatibility
type: checkbox
label: Improve Sonarr compatibility by trying to better parse Season information in release titles.
default: false
- name: addrussiantotitle
type: checkbox
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
@@ -60,6 +64,58 @@ search:
selector: ..names.ru
title_en:
selector: ..names.en
title_en_parsed:
selector: ..names.en
filters:
- name: re_replace
args: ["(?i)\\bPart\\s*1\\b", "Part One"]
- name: re_replace
args: ["(?i)\\bPart\\s*2\\b", "Part Two"]
- name: re_replace
args: ["(?i)\\bPart\\s*3\\b", "Part Three"]
- name: re_replace
args: ["(?i)\\bPart\\s*4\\b", "Part Four"]
- name: re_replace
args: ["(?i)\\bPart\\s*5\\b", "Part Five"]
- name: re_replace
args: ["(?i)\\bPart\\s*6\\b", "Part Six"]
- name: re_replace
args: ["(?i)\\bPart\\s*7\\b", "Part Seven"]
- name: re_replace
args: ["(?i)\\bPart\\s*8\\b", "Part Eight"]
- name: re_replace
args: ["(?i)\\bPart\\s*9\\b", "Part Nine"]
- name: re_replace
args: ["(?i)\\bseason\\s*(\\d+)\\b", ""]
- name: re_replace
args: ["(?i)\\b(\\d+)(st|nd|rd|th)\\s*season[\\s\\.]*", ""]
- name: re_replace
args: ["(?i)\\b(\\d+)\\s*season\\b[\\s\\.]*", ""]
- name: re_replace
args: ["(?i)\\bseason\\s*([IVXLCDM]+)\\b", ""]
- name: re_replace
args: ["\\bI$", ""]
- name: re_replace
args: ["\\bII$", ""]
- name: re_replace
args: ["\\bIII$", ""]
- name: re_replace
args: ["\\bIV$", ""]
- name: re_replace
args: ["\\bV$", ""]
- name: re_replace
args: ["\\bVI$", ""]
- name: re_replace
args: ["\\bVII$", ""]
- name: re_replace
args: ["\\bVIII$", ""]
- name: re_replace
args: ["\\bIX$", ""]
- name: re_replace
args: ["\\bX$", ""]
- name: re_replace
args: ["(?i)\\b(\\d+)(?:st|nd|rd|th)?\\b", ""]
- name: trim
title_alternative:
selector: ..names.alternative
optional: true
@@ -72,19 +128,143 @@ search:
args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
- name: re_replace
args: ["^OVA$", ""]
_season_number_en:
selector: ..names.en
filters:
- name: re_replace
args: ["(?i)\\bPart\\s*\\d+\\s*$", ""]
- name: re_replace
args: ["(?i)(^.*\\bseason\\s*(\\d+)\\b\\s*$)", "S$2"]
- name: re_replace
args: ["(?i)(^.*\\b(\\d+)(st|nd|rd|th)\\s*season\\b.*$)", "S$2"]
- name: re_replace
args: ["(?i)(^.*\\b(\\d+)\\s*season\\b.*$)", "S$2"]
- name: re_replace
args: ["(?i)(^.*\\bseason\\s*([IVXLCDM]+)\\b\\s*$)", "$1"]
- name: re_replace
args: ["(^.*X$)", "S10"]
- name: re_replace
args: ["(^.*IX$)", "S9"]
- name: re_replace
args: ["(^.*VIII$)", "S8"]
- name: re_replace
args: ["(^.*VII$)", "S7"]
- name: re_replace
args: ["(^.*VI$)", "S6"]
- name: re_replace
args: ["(^.*V$)", "S5"]
- name: re_replace
args: ["(^.*IV$)", "S4"]
- name: re_replace
args: ["(^.*III$)", "S3"]
- name: re_replace
args: ["(^.*II$)", "S2"]
- name: re_replace
args: ["(^.*I$)", "S1"]
- name: re_replace
args: ["(?i)(^.*\\b(\\d+)(?:st|nd|rd|th)?\\b\\s*$)", "S$2"]
- name: re_replace
args: ["(?i)^(?!S\\d+).*", ""]
_season_number_alternative:
selector: ..names.alternative
optional: true
filters:
- name: re_replace
args: ["(?i)\\bPart\\s*\\d+\\s*$", ""]
- name: re_replace
args: ["(?i)(^.*\\bseason\\s*(\\d+)\\b\\s*$)", "S$2"]
- name: re_replace
args: ["(?i)(^.*\\b(\\d+)(st|nd|rd|th)\\s*season\\b\\s*$)", "S$2"]
- name: re_replace
args: ["(?i)(^.*\\b(\\d+)\\s*season\\b\\s*$)", "S$2"]
- name: re_replace
args: ["(?i)(^.*\\bseason\\s*([IVXLCDM]+)\\b\\s*$)", "$1"]
- name: re_replace
args: ["(^.*X$)", "S10"]
- name: re_replace
args: ["(^.*IX$)", "S9"]
- name: re_replace
args: ["(^.*VIII$)", "S8"]
- name: re_replace
args: ["(^.*VII$)", "S7"]
- name: re_replace
args: ["(^.*VI$)", "S6"]
- name: re_replace
args: ["(^.*V$)", "S5"]
- name: re_replace
args: ["(^.*IV$)", "S4"]
- name: re_replace
args: ["(^.*III$)", "S3"]
- name: re_replace
args: ["(^.*II$)", "S2"]
- name: re_replace
args: ["(^.*I$)", "S1"]
- name: re_replace
args: ["(?i)(^.*\\b(\\d+)(?:st|nd|rd|th)?\\b\\s*$)", "S$2"]
- name: re_replace
args: ["(?i)^(?!S\\d+).*", ""]
_season_number:
text: "{{ .Result._season_number_en }}"
filters:
- name: append
args: "{{ .Result._season_number_alternative }}"
- name: re_replace
args: ["^S1S1$", "S1"]
- name: re_replace
args: ["^S1(.+)$", "$1"]
- name: re_replace
args: ["^(S\\d+).*$", "$1"]
- name: re_replace
args: ["^$", "S1"]
year:
selector: ..season.year
_quality:
selector: quality.string
title:
_quality_type:
selector: quality.type
_quality_resolution:
selector: quality.resolution
_quality_encoder:
selector: quality.encoder
filters:
- name: re_replace
args: ["(?i)^h", "x"]
title_parsed:
text: "{{ if .Config.stripcyrillic }}{{ else }}{{ .Result.title_ru }} / {{ end }}{{ .Result.title_en_parsed }} {{ .Result._season_number}}E{{ .Result._episodes }} [{{ .Result._quality_type }} {{ .Result._quality_resolution }} {{ .Result._quality_encoder }}]"
filters:
- name: re_replace
args: ["\\bS\\d+EФильм\\b", "({{ .Result.year }}) MOVIE"]
- name: re_replace
args: ["\\bS\\d+EOVA\\b", "({{ .Result.year }}) OVA"]
- name: re_replace
args: ["\\bS\\d+EONA\\b", "({{ .Result.year }}) ONA"]
- name: re_replace
args: ["\\bS\\d+EMovie\\b", "({{ .Result.year }}) MOVIE"]
- name: re_replace
args: ["\\bS\\d+EП/м фильм\\b", "({{ .Result.year }}) MOVIE"]
- name: re_replace
args: ["\\bS\\d+EРекап\\b", "({{ .Result.year }}) RECAP"]
- name: re_replace
args: ["\\bS\\d+ETV-Special\\b", "({{ .Result.year }}) SPECIAL"]
- name: append
args: "{{ if .Config.addrussiantotitle }} - RUS{{ else }}{{ end }}"
title_original:
text: "{{ if .Config.stripcyrillic }}{{ else }}{{ .Result.title_ru }} / {{ end }}{{ .Result.title_en }}{{ if .Result.title_alternative }} / AKA {{ .Result.title_alternative }}{{ else }}{{ end }} ({{ .Result.year }}) [{{ .Result._quality }}]{{ if .Result._episodes }} - E{{ .Result._episodes }}{{ else }}{{ end }}"
filters:
- name: re_replace
args: [" - \\bEФильм\\b", " - MOVIE"]
- name: re_replace
args: [" - \\bEMovie\\b", " - MOVIE"]
- name: re_replace
args: [" - \\bEП/м фильм\\b", " - MOVIE"]
- name: re_replace
args: [" - \\bEOVA\\b", " - OVA"]
- name: re_replace
args: [" - \\bEONA\\b", " - ONA"]
- name: append
args: "{{ if .Config.addrussiantotitle }} - RUS{{ else }}{{ end }}"
title:
text: "{{ if .Config.sonarr_compatibility }}{{ .Result.title_parsed }}{{ else }}{{ .Result.title_original }}{{ end }}"
_code:
selector: ..code
details:
@@ -0,0 +1,196 @@
---
id: animelovers-api
name: AnimeLovers (API)
description: "AnimeLovers is a Private tracker for ANIME / MANGA / DOUNGUA / MANHWA"
language: en-US
type: private
encoding: UTF-8
links:
- https://animelovers.club/
caps:
categorymappings:
- {id: 1, cat: Movies/Other, desc: "Anime Movies"}
- {id: 2, cat: TV/Anime, desc: "Anime Series"}
- {id: 3, cat: TV/Anime, desc: "Anime OVA"}
- {id: 11, cat: TV/Anime, desc: "Donghua Anime"}
- {id: 9, cat: XXX, desc: "Doujinshi"}
- {id: 4, cat: Books/Comics, desc: "Manhua/Manhwa"}
- {id: 8, cat: Books/Comics, desc: "Manga"}
- {id: 7, cat: XXX, desc: "Hentai"}
- {id: 10, cat: Audio/Lossless, desc: "Lossless Music"}
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_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://animelovers.club/\" target=\"_blank\">AnimeLovers</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- 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: true
- 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: "In order to not be disabled, you are required to login to AnimeLovers at least once every 90 days."
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://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- 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://via.placeholder.com/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: [" & ", "_&_"]
description:
text: "{{ .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 }}"
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 8.3.4
@@ -65,14 +65,17 @@ settings:
default: "Inactive accounts under VIP and without parked are automatically deleted after about a year."
login:
path: takelogin.php
method: post
path: login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
x: 0
y: 0
referer: /
selectorinputs:
csrf_token:
selector: input[name="csrf_token"]
attribute: value
error:
- selector: table.main:contains("esuat")
test:
@@ -40,11 +40,15 @@ settings:
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://animeworld.cx/\" target=\"_blank\">AnimeWorld</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
default: "Find or Generate a new API Token by accessing your <a href=\"https://animeworld.cx/\" target=\"_blank\">AnimeWorld</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- 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: true
- name: sort
type: select
label: Sort requested from site
@@ -74,11 +78,12 @@ login:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: "/api/torrents/filter"
response:
type: json
@@ -90,8 +95,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 }}" # disabled due to Prowlarr/Indexers#486
# episodeNumber: "{{ .Query.Ep }}" # disabled due to Prowlarr/Indexers#486
# imdbId: "{{ .Query.IMDBIDShort }}" # disabled due to #14776
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
@@ -111,8 +116,15 @@ search:
fields:
category:
selector: category_id
title:
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:
@@ -134,17 +146,11 @@ search:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)^None$", ""]
- name: re_replace
args: ["(?i)(Cinema TV)", "Cinema_TV"]
- name: re_replace
args: ["(?i)(Ficção científica)", "Ficção_científica"]
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
selector: seeders
leechers:
@@ -161,7 +167,12 @@ search:
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
@@ -171,13 +182,20 @@ search:
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
# api returns 0=false, 1=true
downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case:
0: 1 # normal
1: 2 # double
False: 1 # normal
True: 2 # double
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 1.0 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 1.0
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 6.5.0
# json UNIT3D 8.1.3 (custom)
+2 -4
View File
@@ -9,10 +9,8 @@ links:
- https://www.anirena.com/
settings:
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
- name: info_flaresolverr
type: info_flaresolverr
caps:
categorymappings:
@@ -1,10 +1,14 @@
---
id: anthelion-api
replaces:
- tehconnectionme
- anthelion
name: Anthelion (API)
description: "Anthelion is a Private MOVIES tracker"
language: en-US
type: private
encoding: UTF-8
# Status: https://ant.trackerstatus.info/
links:
- https://anthelion.me/
+1 -1
View File
@@ -52,7 +52,6 @@ caps:
- {id: 52, cat: TV, desc: "مسرحيات (Plays)"}
- {id: 71, cat: TV, desc: "مسلسلات مدبلجه عربي (Arabic Dubbed Series)"}
- {id: 90, cat: TV, desc: "برامج ومسابقات (Shows)"}
- {id: 117, cat: TV, desc: "رمضان 2024 (Ramadan)"}
# المرئيات الاجنبية Foreign Movies
- {id: 92, cat: TV/Foreign, desc: "تعليمي (Educational)"}
- {id: 93, cat: TV/Documentary, desc: "وثائقي (Documentary)"}
@@ -79,6 +78,7 @@ caps:
- {id: 25, cat: Audio, desc: "القران الكريم (The Holy Quran)"}
- {id: 27, cat: Audio, desc: "محاضرات (Lectures)"}
- {id: 26, cat: Audio, desc: "اناشيد (Chants)"}
- {id: 118, cat: Audio, desc: "برامج صوتية (Programs)"}
# برامج Software
- {id: 22, cat: PC, desc: "برامج عربية (Arabic Software)"}
- {id: 23, cat: PC, desc: "برامج عامه (Public Software)"}
@@ -6,6 +6,8 @@ language: en-US
type: private
encoding: UTF-8
links:
- https://eiga.moi/
legacylinks:
- https://asiancinema.me/
caps:
@@ -53,6 +55,7 @@ settings:
default: "Your account will be automatically deleted from the database after 90 days of inactivity. If you return or visit the site with your account before that amount of time passes, then the inactivity timer will reset and your account will be fine for another 90 days.<br>Keep in mind that 'activity' is considered a visit to any page and that torrent traffic is not counted as account activity. In order to reset the inactivity timer all you have to do is visit a single page while logged in with your account. If your account is deleted for inactivity, please do not ask the site staff to un-delete it for you. The deletion is performed automatically by the server and, as such, your account cannot be recovered after it has been deleted."
login:
# note APIKEY is broken on this 5.3.0 site
path: login
method: form
form: form[action$="/login"]
@@ -188,4 +191,4 @@ search:
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# UNIT3D 3.0.0
# UNIT3D 5.3.0
+3 -4
View File
@@ -33,10 +33,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -67,6 +65,7 @@ settings:
default: "Account retention rules:<ol><li>Users with Extreme User and above will be retained forever</li><li>Starting from 20230701, the non-login ban time will be adjusted to:<ul><li>(Home Alone) User - 40 days</li><li>(Young and vigorous) Power User - 60 days</li><li>(Children of Jianghu) Elite User - 80 days</li><li>(Street Fighter) Crazy User - 100 days</li><li>(non-stop) Insane User - 120 days</li><li>(Outstanding Citizen) Veteran User - 180 days</li></ul></li><li>Users with no traffic (i.e. uploading/downloading data) If it is 0) If you do not log in for 7 consecutive days will be disabled</li><li>'Parked accounts' no longer enjoy the benefits of retaining accounts, and are also subject to the above rules.</li></ol>"
login:
# using cookie method because site has cloudflare challenge and flaresolverr is currently broken. Switch to standard nexus login when fixed.
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
+1 -1
View File
@@ -306,7 +306,7 @@ search:
- name: querystring
args: f
size:
selector: td:contains(\00a0GB), td:contains(\00a0MB), td:contains(\00a0kB), td:contains(\00a0B)
selector: td:contains(\00a0GB), td:contains(\00a0MB), td:contains(\00a0KB), td:contains(\00a0B)
optional: true
default: 0
seeders:
@@ -27,13 +27,17 @@ caps:
- {id: 16, cat: TV/Documentary, desc: "Docu"}
- {id: 41, cat: Console, desc: "Dragon"}
- {id: 5, cat: Books, desc: "EBooks"}
- {id: 80, cat: PC, desc: "Emulation Media"}
- {id: 61, cat: Console, desc: "emuxtras"}
- {id: 69, cat: TV, desc: "Entertainment"}
- {id: 84, cat: TV, desc: "GOG DRM FREE"}
- {id: 77, cat: PC, desc: "Hyperspin"}
- {id: 34, cat: TV, desc: "Kids"}
- {id: 43, cat: Console, desc: "LB No Intro"}
- {id: 33, cat: TV/Sport, desc: "MMA/Boxing"}
- {id: 32, cat: Movies, desc: "Movie Pack"}
- {id: 6, cat: Movies, desc: "Movies/XVID"}
- {id: 82, cat: PC, desc: "MS-DOS"}
- {id: 7, cat: Audio, desc: "Music"}
- {id: 31, cat: Console, desc: "Nintendo"}
- {id: 59, cat: Console, desc: "P-R-U"}
@@ -41,17 +45,22 @@ caps:
- {id: 50, cat: Console, desc: "PlayBox"}
- {id: 30, cat: Console, desc: "Playstation"}
- {id: 62, cat: Console, desc: "RaspberryPi"}
- {id: 83, cat: Console, desc: "Retro eXo"}
- {id: 56, cat: Console, desc: "Retro Minis"}
- {id: 81, cat: PC, desc: "Retro Scene Releases"}
- {id: 67, cat: Console, desc: "Retrobat"}
- {id: 79, cat: PC, desc: "RGB-Pi"}
- {id: 76, cat: Console, desc: "RGS"}
- {id: 27, cat: Console, desc: "Roms and Emulators"}
- {id: 68, cat: Console, desc: "Schmoomer's"}
- {id: 57, cat: Console, desc: "Sega"}
- {id: 74, cat: PC, desc: "Sleyk/SGC"}
- {id: 40, cat: TV, desc: "Soaps"}
- {id: 29, cat: TV/Sport, desc: "Sport"}
- {id: 9, cat: TV, desc: "TV-Boxsets"}
- {id: 11, cat: TV, desc: "TV/x264"}
- {id: 10, cat: TV, desc: "TV/Xvid"}
- {id: 75, cat: Audio, desc: "Video Game Music"}
- {id: 73, cat: Console, desc: "Wolfanoz"}
- {id: 14, cat: TV/Sport, desc: "WWE"}
- {id: 26, cat: Console, desc: "Xbox"}
@@ -9,15 +9,6 @@ requestDelay: 5
links:
- https://badasstorrents.com/
legacylinks:
- https://badasstorrents.nocensor.work/
- https://badasstorrents.nocensor.biz/
- https://badasstorrents.nocensor.sbs/
- https://badasstorrents.nocensor.world/
- https://badasstorrents.nocensor.lol/
- https://badasstorrents.nocensor.art/
- https://badasstorrents.mrunblock.guru/
- https://badasstorrents.mrunblock.life/
- https://badasstorrents.nocensor.click/
- https://badasstorrents.mrunblock.bond/
- https://badasstorrents.nocensor.cloud/
@@ -39,20 +30,23 @@ caps:
movie-search: [q]
music-search: [q, album, artist]
book-search: [q]
settings:
- name: info_flaresolverr
type: info_flaresolverr
- name: downloadlink
type: select
label: Download link
default: "magnet:?xt="
options:
"/download/": ".torrent"
"/d/": ".torrent"
"magnet:?xt=": "magnet"
- name: downloadlink2
type: select
label: Download link (fallback)
default: "/download/"
default: "/d/"
options:
"/download/": ".torrent"
"/d/": ".torrent"
"magnet:?xt=": "magnet"
- name: info_download
type: info
@@ -69,32 +63,36 @@ download:
search:
paths:
# search has 10 torrents per page, latest has 100 torrents per page.
- path: "{{ if .Keywords }}search/{{ .Keywords }}{{ else }}latest.html{{ end }}"
- path: "{{ if .Keywords }}/search/{{ .Keywords }}&page=10{{ else }}{{ end }}"
- path: "{{ if .Keywords }}s/{{ .Keywords }}{{ else }}latest.html{{ end }}"
- path: "{{ if .Keywords }}s/{{ .Keywords }}&page=10{{ else }}{{ end }}"
keywordsfilters:
- name: re_replace
args: ["[\\s]+", "-"]
- name: tolower
rows:
selector: table.table-hover > tbody > tr:has(a[href*="/torrent/"])
selector: table.table-hover > tbody > tr
filters:
- name: andmatch
fields:
category:
selector: a[href*="/category/"]
selector: a[href^="/c/"]
title:
selector: a[href*="/torrent/"]
selector: a[href*="/v/"]
details:
selector: a[href*="/torrent/"]
selector: a[href*="/v/"]
attribute: href
download:
selector: a[href*="/torrent/"]
selector: a[href*="/v/"]
attribute: href
date:
selector: td:nth-child(3)
filters:
- name: timeago
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-child(4)
seeders:
+3 -4
View File
@@ -55,10 +55,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: sort
type: select
label: Sort requested from site
@@ -77,6 +75,7 @@ settings:
asc: asc
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
@@ -0,0 +1,120 @@
---
id: best-torrents
name: Best-Torrents
description: "Best-Torrents is a POLISH Semi-Private PAY2DL Torrent Tracker for MOVIES / TV / GENERAL"
language: pl-PL
type: semi-private
encoding: UTF-8
links:
- https://best-torrents.com/
caps:
categorymappings:
- {id: 774, cat: Movies, desc: Filmy Polskie}
- {id: 642, cat: Movies, desc: Filmy/Bajki}
- {id: 1, cat: Movies/SD, desc: Filmy XviD/DivX}
- {id: 20, cat: Movies/DVD, desc: Filmy DVD}
- {id: 23, cat: Movies/HD, desc: Filmy x264}
- {id: 573, cat: Movies/UHD, desc: Filmy 4K UHD}
- {id: 17, cat: Movies/HD, desc: Filmy HD}
- {id: 265, cat: Movies/HD, desc: Filmy x265 HEVC}
- {id: 12, cat: Movies/3D, desc: Filmy 3D}
- {id: 530, cat: Movies/SD, desc: Filmy TS/CAM}
- {id: 9, cat: PC, desc: Programy}
- {id: 7, cat: Console, desc: Konsole}
- {id: 6, cat: PC/Games, desc: Gry}
- {id: 5, cat: Audio, desc: Muzyka}
- {id: 305, cat: Audio/Video, desc: Teledyski}
- {id: 22, cat: TV, desc: TV}
- {id: 228, cat: XXX, desc: Erotyka}
- {id: 25, cat: Books/EBook, desc: Książki}
- {id: 739, cat: Audio/Audiobook, desc: AudioBooki}
- {id: 26, cat: Books/Comics, desc: Komiksy}
- {id: 27, cat: PC/Mac, desc: Linux/Mac}
- {id: 28, cat: TV/Sport, desc: Sport}
- {id: 29, cat: TV/Anime, desc: Anime}
- {id: 31, cat: PC/Mobile-Other, desc: GSM/PDA}
- {id: 32, cat: Other, desc: Inne}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.komunikaty:contains("Nazwa użytkownika bądź hasło jest nieprawidłowe")
test:
path: /
selector: a[href$="/logout.php"]
search:
# https://best-torrents.com/szukaj.php?search=%25&cat=774&full_name=no
paths:
- path: szukaj.php
inputs:
# does not appear to support multi category searches
cat: 0
# no, 0 Standard mode, 1 Initial mode, 2 Full Phrase mode, 3 Final mode
full_name: no
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}%{{ end }}"
rows:
selector: div#torrents_browse-standard-all
fields:
categorydesc:
selector: div#torrents_browse-standard-category a
attribute: href
filters:
- name: regexp
args: kategorii/(.+?)/gatunku
title:
selector: div#torrents_browse-standard-torrent-name a
details:
selector: div#torrents_browse-standard-torrent-name a
attribute: href
download:
selector: div#torrents_browse-standard-download a
attribute: href
poster:
selector: div#torrents_browse-standard-poster img
attribute: src
date:
selector: div#torrents_browse-standard-time
remove: b
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: div#torrents_browse-standard-size
remove: b
filters:
- name: regexp
args: (\d{1,4}\.\d{2}\s+?[T|G|M|k]B)
seeders:
selector: div#torrents_browse-standard-seeds span font
leechers:
selector: div#torrents_browse-standard-peers span font
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a
@@ -106,6 +106,8 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: :root:contains("Sikertelen bejelentkezés")
test:
path: index.php
selector: a[href^="logout.php?c="]
@@ -89,22 +89,19 @@ settings:
asc: asc
search:
# https://bigfangroup.org/browse.php?search=black+lightning&cat=0&incldead=0&year=0&format=0
headers:
Referer: ["{{ .Config.sitelink }}browse.php?search={{ .Keywords }}&cat=0&incldead=1&year=0&format=0"]
paths:
# https://bigfangroup.org/browse.php?ajax=1&search=the+librarian&cat=0&incldead=0&year=0&format=0
- path: browse.php
inputs:
ajax: 1
search: "{{ .Keywords }}"
cat: 0
cat: "{{ if .Keywords }}0{{ else }}{{ end }}"
# 0 active, 1 incldead, 2 onlydead, 3 gold, 4 noseed, 5 silver, 7 BFG
incldead: 1
year: 0
format: 0
s: "{{ .Config.sort }}"
d: "{{ .Config.type }}"
incldead: "{{ if .Keywords }}1{{ else }}{{ end }}"
year: "{{ if .Keywords }}0{{ else }}1{{ end }}"
format: "{{ if .Keywords }}0{{ else }}{{ end }}"
s: "{{ if .Keywords }}{{ .Config.sort }}{{ else }}{{ end }}"
d: "{{ if .Keywords }}{{ .Config.type }}{{ else }}{{ end }}"
keywordsfilters:
# strip season and/or ep
+18 -26
View File
@@ -46,10 +46,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Filter freeleech only
@@ -93,9 +91,10 @@ search:
inputs:
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
incldead: 0
- path: browse_xxx.php
- path: browse.php
categories: [33, 66, 89]
inputs:
xxx: 1
# 0 active, 1 all, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
incldead: 1
inputs:
@@ -107,7 +106,7 @@ search:
# can support genre searching but you need to know the id, eg &genre23=1 for Comedy (id is 23)
rows:
selector: "tr[class^=\"toriadatok\"]{{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
selector: "tr[class^=\"toriadatok\"]:has(i.status-yes){{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
fields:
categorydesc:
@@ -117,19 +116,12 @@ search:
- name: replace
args: ["catpic_", ""]
title:
selector: font[class="tori"], a.preview
selector: span.torrent-title
_id:
selector: td.tori_infok
attribute: id
optional: true
filters:
- name: regexp
args: (\d+)
selector: tr[data-torrent-id]
attribute: data-torrent-id
details:
selector: a[href^="details.php?id="]
attribute: href
optional: true
default: "details.php?id={{ .Result._id }}#adatlap"
text: "details.php?id={{ .Result._id }}#adatlap"
download:
text: "download.php?torrent={{ .Result._id }}"
poster:
@@ -139,14 +131,14 @@ search:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td[id^="tsize"]
selector: span.torrent-size
date:
# 36 perce
# 13 órája és 59 perce
# 2 napja és 10 órája
# 1 hete és 1 napja
# 1 éve és 30 hete
selector: span.ellenorzes
selector: span.uploader
filters:
- name: replace
args: ["és ", " "]
@@ -161,20 +153,20 @@ search:
- name: replace
args: ["éve", "year"]
- name: timeago
grabs:
selector: td.letoltok
optional: true
default: 0
seeders:
selector: td.seeders
selector: td:nth-child(5)
optional: true
default: 0
leechers:
selector: td.leechers
selector: td:nth-child(6)
optional: true
default: 0
grabs:
selector: td:nth-child(7)
optional: true
default: 0
genre:
selector: span[style="font-size:small;"]
selector: span.torrent-genre
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
+65 -65
View File
@@ -4,7 +4,7 @@ name: Bithorlo
description: "Bithorlo (BHO) is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
language: hu-HU
type: private
encoding: ISO-8859-2
encoding: UTF-8
links:
- https://www.bithorlo.info/
@@ -15,40 +15,40 @@ caps:
- {id: 19, cat: Books, desc: "E-book/Hun"}
# Játék
- {id: 38, cat: Console, desc: "Játék/Consol"}
- {id: 15, cat: PC/Games, desc: "Játék/ISO"}
- {id: 37, cat: PC/Games, desc: "Játék/Rip"}
- {id: 15, cat: PC/Games, desc: "Játék/ISO"}
# Filmek
- {id: 2, cat: Movies/DVD, desc: "DVD/Eng"}
- {id: 51, cat: Movies/SD, desc: "Cam/Eng"}
- {id: 50, cat: Movies/SD, desc: "Cam/Hun"}
- {id: 2, cat: Movies/DVD, desc: "DVD/Eng"}
- {id: 1, cat: Movies/DVD, desc: "DVD/Hun"}
- {id: 42, cat: Movies/DVD, desc: "Dvd9/Eng"}
- {id: 41, cat: Movies/DVD, desc: "Dvd9/Hun"}
- {id: 33, cat: TV, desc: "Sorozat/Eng"}
- {id: 29, cat: Movies/HD, desc: "HD/Eng"}
- {id: 28, cat: Movies/HD, desc: "HD/Hun"}
- {id: 33, cat: TV, desc: "Sorozat/Eng"}
- {id: 5, cat: TV, desc: "Sorozat/Hun"}
- {id: 52, cat: TV/HD, desc: "Sorozat/Eng/HD"}
- {id: 53, cat: TV/HD, desc: "Sorozat/Hun/HD"}
- {id: 1, cat: Movies/DVD, desc: "DVD/Hun"}
- {id: 5, cat: TV, desc: "Sorozat/Hun"}
- {id: 4, cat: Movies/SD, desc: "Xvid/Eng"}
- {id: 3, cat: Movies/SD, desc: "Xvid/Hun"}
# Zene
- {id: 12, cat: Audio, desc: "Zene/Eng"}
- {id: 13, cat: Audio, desc: "Zene/Hun"}
- {id: 12, cat: Audio, desc: "Zene/Eng"}
# Egyéb
- {id: 20, cat: Other, desc: "Képek"}
- {id: 21, cat: PC/Mobile-Other, desc: "Mobil"}
- {id: 20, cat: Other, desc: "Képek"}
# Program
- {id: 54, cat: PC/0day, desc: "Win/Program/ISO"}
- {id: 23, cat: PC/0day, desc: "Win/Program/Rip"}
# Felnőtt tartalom
- {id: 9, cat: XXX, desc: "XXX/Film"}
- {id: 10, cat: XXX, desc: "XXX/Kép"}
- {id: 9, cat: XXX, desc: "XXX/Film"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
@@ -56,121 +56,121 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: useragent
type: text
label: User-Agent
- name: info_useragent
type: info
label: How to get the User-Agent
default: "<ol><li>From the same place you fetched the cookie,</li><li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</li></ol>"
type: info_useragent
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
- name: sortBy
type: select
label: Sort requested from site
default: 4
label: SortBy requested from site
default: 2
options:
4: created
7: seeders
5: size
2: created
5: seeders
3: size
1: title
- name: type
- name: orderBy
type: select
label: Order requested from site
default: desc
label: OrderBy requested from site
default: 0
options:
desc: desc
asc: asc
0: desc
1: asc
- name: info_activity
type: info
label: Account Inactivity
default: "Vacation mode is used to avoid deletion due to inactivity for 90 days. You can turn it on or off in the Profile menu, set the appropriate option and save your changes."
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href="logout.php"]
path: index/
selector: a[href="/logout/"]
search:
paths:
- path: browse.php
# https://www.bithorlo.info/torrents/?action=search&categories[]=29&categories[]=4&search_text=&incldead=1&torrent_tags=
- path: torrents/
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead, 3 freeleech
action: search
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
search_text: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 5 waiting for seed, 6 multiple upload
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
sort: "{{ .Config.sortBy }}"
order_by: "{{ .Config.orderBy }}"
headers:
User-Agent: ["{{ .Config.useragent }}"]
rows:
selector: tr[class^="browse"]
selector: table#TorrentTable > tbody > tr
fields:
category:
selector: a[href^="browse.php?cat="]
selector: td.fixed-width-category > a
attribute: href
filters:
- name: querystring
args: cat
- name: trim # some torrents have an extra space
args: categories[]
title:
selector: a[href^="torrent.php?id="]
attribute: title
selector: a.torrent-name
details:
selector: a[href^="torrent.php?id="]
selector: a.torrent-name
attribute: href
download:
selector: a[href^="download.php?id="]
selector: a[href^="/download/"]
attribute: href
poster:
selector: a[href^="torrent.php?id="][onmouseover]
attribute: onmouseover
selector: span.custom-popover
attribute: data-bs-content
filters:
- name: regexp
args: ", '(.*)'"
size:
selector: td:nth-child(4)
grabs:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
args: \"(.+?)\"
date:
selector: "a[style=\"font-size: 8pt;cursor: pointer;\"][title]"
selector: span.bg-green
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td.fixed-width-size > span
grabs:
selector: td.fixed-width-completed
seeders:
selector: td.fixed-width-seeders
leechers:
selector: td.fixed-width-leechers
description:
case:
img[src="./themes/Born/nemlatta.png"]: Unverified
"*": Verified
downloadvolumefactor:
case:
img[title="Ingyenes letöltés"]: 0
"span:contains(\"FREE\")": 0
"*": 1
uploadvolumefactor:
selector: span:contains("Feltöltési szorzó")
filters:
- name: replace
args: ["Feltöltési szorzó × ", ""]
case:
"span:contains(\"2x\")": 2
"span:contains(\"3x\")": 3
"span:contains(\"4x\")": 4
"span:contains(\"5x\")": 5
"span:contains(\"6x\")": 6
"span:contains(\"7x\")": 7
"span:contains(\"8x\")": 8
"span:contains(\"9x\")": 9
"*": 1
minimumratio:
text: 1.0
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# engine n/a
+2 -1
View File
@@ -3,10 +3,11 @@ id: bitmagnet
name: BitMagnet (Local DHT)
description: "BitMagnet is a self-hosted BitTorrent DHT search engine"
language: en-US
type: private
type: semi-private
encoding: UTF-8
links:
- http://127.0.0.1:3333/
- http://bitmagnet:3333/
caps:
categorymappings:
@@ -0,0 +1,166 @@
---
id: bitpalace
name: Bitpalace
description: "Bitpalace is a Hungarian Private Torrent Tracker for MOVIES / TV / GENERAL"
language: hu-HU
type: private
encoding: UTF-8
links:
- https://bitpalace.cc/
caps:
categorymappings:
- {id: 8, cat: Movies/BluRay, desc: "BLUERAY ENG"}
- {id: 7, cat: Movies/BluRay, desc: "BLUERAY HUN"}
- {id: 15, cat: Movies/DVD, desc: "DVD-R ENG"}
- {id: 2, cat: Movies/DVD, desc: "DVD-R HUN"}
- {id: 9, cat: Books, desc: "Ebook ENG"}
- {id: 5, cat: Books, desc: "Ebook HUN"}
- {id: 40, cat: Other, desc: "EGYÉBB"}
- {id: 16, cat: Movies/HD, desc: "HD ENG"}
- {id: 1, cat: Movies/HD, desc: "HD HUN"}
- {id: 25, cat: TV/Anime, desc: "MESE ENG"}
- {id: 24, cat: TV/Anime, desc: "MESE HUN"}
- {id: 18, cat: PC/Games, desc: "PC game ISO"}
- {id: 21, cat: Console, desc: "PC game KONZOL"}
- {id: 17, cat: PC/Games, desc: "PC game RIP"}
- {id: 27, cat: PC/ISO, desc: "Program ISO"}
- {id: 26, cat: PC/Mobile-Other, desc: "Program MOBIL"}
- {id: 78, cat: PC/0day, desc: "Program RIP"}
- {id: 23, cat: TV/SD, desc: "Sor.DVD-R ENG"}
- {id: 22, cat: TV/SD, desc: "Sor.DVD-R HUN"}
- {id: 14, cat: TV/SD, desc: "Sor.XVID ENG"}
- {id: 4, cat: TV, desc: "Sorozat HUN"}
- {id: 13, cat: Movies/SD, desc: "XVID ENG"}
- {id: 3, cat: Movies/SD, desc: "XVID HUN"}
- {id: 12, cat: XXX/DVD, desc: "XXX DVD-R"}
- {id: 6, cat: XXX/x264, desc: "XXX HD"}
- {id: 10, cat: XXX/ImageSet, desc: "XXX/Képek"}
- {id: 11, cat: XXX/XviD, desc: "XXX XVID"}
- {id: 19, cat: Audio/Video, desc: "ZENE Klipp"}
- {id: 26, cat: Audio/MP3, desc: "ZENE MP3"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter 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
login:
path: login
method: form
form: form[action="/login_check"]
inputs:
_username: "{{ .Config.username }}"
_password: "{{ .Config.password }}"
logout: ""
error:
- selector: h3[style="color:red"]
test:
path: my
selector: a[href="/logout"]
search:
paths:
- path: browse
keywordsfilters:
# the site uses % for wildcard
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%"]
inputs:
$raw: "{{ range .Categories }}cat[]={{.}}&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# does not support imdbid searches
rows:
selector: "table#torrenttable > tbody > tr:has(a[onclick]):not(:contains(\"Törölt\")){{ if .Config.freeleech }}:has(img[src$=\"/freeicon.png\"]){{ else }}{{ end }}"
fields:
categorydesc:
selector: img
attribute: alt
title:
selector: a[onclick]
remove: style
_id:
selector: a[onclick]
attribute: onclick
filters:
- name: regexp
args: (\d+)
details:
text: "details?id={{ .Result._id }}"
download:
text: "/raw/download?id={{ .Result._id }}&name={{ .Result.title }}.torrent"
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
description:
case:
img[src$="/yes.png"]: "Verified"
img[src$="/nincs.png"]: "Unverified"
poster:
selector: img[width="200"][height="250"]
attribute: src
date:
selector: td:nth-last-child(6)
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
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)
downloadvolumefactor:
case:
img[src$="/freeicon.png"]: 0
"*": 1
uploadvolumefactor:
case:
img[src$="/2xup.jpg"]: 2
"*": 1
minimumratio:
text: 1.0
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# engine n/a
@@ -27,11 +27,13 @@ caps:
- {id: 424, cat: XXX, desc: "Cumshot"}
- {id: 451, cat: XXX, desc: "Deepthroat"}
- {id: 455, cat: XXX, desc: "Extreme"}
- {id: 460, cat: XXX, desc: "Fansite"}
- {id: 454, cat: XXX, desc: "Family"}
- {id: 425, cat: XXX, desc: "Feature"}
- {id: 426, cat: XXX, desc: "Fetish"}
- {id: 457, cat: XXX, desc: "Fisting"}
- {id: 453, cat: XXX, desc: "Gangbang"}
- {id: 459, cat: XXX, desc: "Game"}
- {id: 427, cat: XXX, desc: "Gay / Bi"}
- {id: 412, cat: XXX, desc: "Hair"}
- {id: 411, cat: XXX, desc: "Hardcore"}
+5 -8
View File
@@ -9,13 +9,6 @@ requestDelay: 2
links:
- https://bitsearch.to/
legacylinks:
- https://bitsearch.nocensor.biz/
- https://bitsearch.nocensor.sbs/
- https://bitsearch.nocensor.world/
- https://bitsearch.nocensor.lol/
- https://bitsearch.mrunblock.guru/
- https://bitsearch.mrunblock.life/
- https://bitsearch.nocensor.click/
- https://bitsearch.nocensor.cloud/
- https://bitsearch.mrunblock.bond/
@@ -43,7 +36,7 @@ caps:
"Other/Program": PC/0day
"Other/Sourcecode": PC
"Other/Source Code": PC
"Other/Video": TV
"Other/Video": Other
Softwares: PC/0day
"Softwares/Windows": PC/0day
TV: TV
@@ -77,6 +70,10 @@ settings:
options:
desc: desc
asc: asc
- name: info_category_8000
type: info
label: About BitSearch Categories
default: BitSearch does not properly return categories in its search results for some releases.</br>To add to your Apps' Torznab indexer, you will need to include the 8000(Other) category.
search:
paths:
+8 -4
View File
@@ -14,7 +14,6 @@ legacylinks:
caps:
categorymappings:
- {id: 56, cat: Movies, desc: "BTRG"}
- {id: 95, cat: Movies, desc: "BTRG HMAX"}
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
- {id: 63, cat: Movies, desc: "Türkçe Film"}
@@ -29,12 +28,14 @@ caps:
- {id: 91, cat: TV, desc: "Prime Video"}
- {id: 93, cat: TV, desc: "Gain"}
- {id: 94, cat: TV, desc: "ATVP"}
- {id: 95, cat: Movies, desc: "HMAX"}
- {id: 98, cat: Movies, desc: "PUHUTV"}
- {id: 58, cat: Movies, desc: "Film"}
- {id: 72, cat: Movies, desc: "Belgesel"}
- {id: 60, cat: Movies/3D, desc: "3D"}
- {id: 76, cat: Movies/UHD, desc: "4K UHD"}
- {id: 80, cat: TV/Sport, desc: "Formula-1"}
- {id: 45, cat: Other, desc: "Eğitim / Prog"}
- {id: 45, cat: Other, desc: "Eğitim/Prog"}
- {id: 1, cat: Movies, desc: "Filmler"}
- {id: 14, cat: Movies/3D, desc: "3D Film"}
- {id: 77, cat: Movies/UHD, desc: "4K UHD"}
@@ -67,7 +68,6 @@ caps:
- {id: 88, cat: Console/Other, desc: "Oyun NEO-GEO"}
- {id: 89, cat: Console/Wii, desc: "Oyun Nintendo Wii"}
- {id: 6, cat: PC/0day, desc: "Program"}
- {id: 92, cat: PC/Mobile-Android, desc: "Android"}
- {id: 47, cat: Other, desc: "Resimler"}
- {id: 48, cat: TV, desc: "Televizyon"}
- {id: 49, cat: TV/HD, desc: "Tv HD"}
@@ -96,7 +96,7 @@ settings:
- name: info
type: info
label: Layout
default: "<ol><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b></li><li>And set the <b>Language (Dil)</b> to <b>English</b></li><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</li></ol>"
default: "<ul><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b></li><li>And set the <b>Language (Dil)</b> to <b>English</b></li><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</li></ul>"
- name: sort
type: select
label: Sort requested from site
@@ -112,6 +112,10 @@ settings:
options:
desc: desc
asc: asc
- name: info_results
type: info
label: Search results
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> 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 365 days."
login:
path: ?p=home&pid=1
+112
View File
@@ -0,0 +1,112 @@
---
id: blueroms
name: BlueRoms
description: "BlueRoms is a Public Torrent Tracker for ROMS"
language: en-US
type: public
encoding: UTF-8
links:
- https://www.blueroms.ws/
caps:
categorymappings:
- {id: "/3ds", cat: Console/3DS, desc: "3DS"}
- {id: "/arcade", cat: Console/Other, desc: "Arcade"}
- {id: "/dreamcast", cat: Console/Other, desc: "Dreamcast"}
- {id: "/nds", cat: Console/Other, desc: "DS"}
- {id: "/gba", cat: Console/Other, desc: "Game Boy Advance"}
- {id: "/gamecube", cat: Console/Other, desc: "GameCube"}
- {id: "/genesis", cat: Console/Other, desc: "Mega Drive - Genesis"}
- {id: "/neogeo", cat: Console/Other, desc: "Neo Geo"}
- {id: "/n64", cat: Console/NDS, desc: "Nintendo 64"}
- {id: "/switch", cat: Console/NDS, desc: "Nintendo Switch"}
- {id: "/ps1", cat: Console/PS3, desc: "PlayStation"}
- {id: "/ps2", cat: Console/PS3, desc: "PlayStation 2"}
- {id: "/ps3", cat: Console/PS3, desc: "PlayStation 3"}
- {id: "psp", cat: Console/PSP, desc: "PlayStation Portable"}
- {id: "/saturn", cat: Console/Other, desc: "Saturn"}
- {id: "/snes", cat: Console/NDS, desc: "Super Nintendo"}
- {id: "/wii", cat: Console/Wii, desc: "Wii"}
- {id: "/xbox", cat: Console/XBox, desc: "Xbox"}
modes:
search: [q]
settings:
- name: sort
type: select
label: Sort requested from site
default: date
options:
date: created
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
download:
selectors:
- selector: a[href^="magnet:?xt="]
attribute: href
search:
paths:
# https://www.blueroms.ws/search?page=1&q=&g=0&p=0&ord=desc&at=date
- path: search
allowEmptyInputs: true
inputs:
page: 1
q: "{{ .Keywords }}"
# genre: 0 all, 200 action, 207 adventure, etc
g: 0
# categories does not support multi selection so defaulting to all
p: 0
ord: "{{ .Config.type }}"
at: "{{ .Config.sort }}"
rows:
selector: div.row > div.col-xs-12
fields:
category:
selector: p.card-text a
attribute: href
_platform:
selector: p.card-text a
title:
selector: h4.card-title a
filters:
- name: append
args: " - {{ .Result._platform }}"
details:
selector: h4.card-title a
attribute: href
download:
selector: div.card-footer a
attribute: href
size:
selector: p.card-text
filters:
- name: regexp
args: (\d+\.?\d+[T|G|K]iB)
date:
selector: p.card-text
filters:
- name: regexp
args: (\d{4}-\d{2}-\d{2})
- name: dateparse
args: "yyyy-MM-dd"
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a
@@ -0,0 +1,181 @@
---
id: bluraytracker
name: BlurayTracker
description: "BlurayTracker is a CZECH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: cs-CZ
type: private
encoding: UTF-8
links:
- https://bluraytracker.cz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "-----Filmy-----"}
- {id: 34, cat: Movies, desc: " |- Filmy CZ/SK Dabing"}
- {id: 33, cat: Movies, desc: " |- Filmy CZ/SK Titulky"}
- {id: 49, cat: Movies/HD, desc: " |- HD/FHD Filmy"}
- {id: 17, cat: Movies/UHD, desc: " |- 4k/UHD Filmy "}
- {id: 31, cat: Movies/BluRay, desc: " |- Bluray DB/BD/DVD"}
- {id: 51, cat: Movies/3D, desc: " |- 3D Filmy"}
- {id: 14, cat: Movies/SD, desc: " |- DivX"}
- {id: 45, cat: Movies/Other, desc: " |- Kreslené/Anime"}
- {id: 16, cat: Movies/SD, desc: " |- CAM/Kino"}
- {id: 40, cat: TV, desc: "-----TV-----"}
- {id: 32, cat: TV, desc: " |- Serialy CZ/SK/EN"}
- {id: 47, cat: TV, desc: " |- Serialy"}
- {id: 38, cat: TV/Documentary, desc: " |- Dokumenty / TV Reality"}
- {id: 35, cat: TV/Sport, desc: " |- Sport"}
- {id: 6, cat: PC, desc: "Aplikace/Programy"}
- {id: 18, cat: PC/0day, desc: " |- Programy PC"}
- {id: 19, cat: PC/Mac, desc: " |- Programy MacOS"}
- {id: 7, cat: Audio, desc: "-----Hudba-----"}
- {id: 39, cat: Audio/Audiobook, desc: " |- Mluvene Slovo"}
- {id: 21, cat: Audio, desc: " |- MP3/FLAC"}
- {id: 43, cat: Audio/Other, desc: " |- SoundTrack"}
- {id: 2, cat: PC/Games, desc: "--Hry--"}
- {id: 3, cat: Console/PS3, desc: " |- Sony PS"}
- {id: 4, cat: Console/Wii, desc: " |- Wii"}
- {id: 26, cat: Console/XBox, desc: " |- XboX"}
- {id: 27, cat: PC/Games, desc: " |- PC"}
- {id: 28, cat: Console/NDS, desc: " |- Nintendo"}
- {id: 42, cat: Books, desc: "Knihy A Časopisy"}
- {id: 36, cat: Other, desc: "Ostatní"}
- {id: 46, cat: XXX, desc: "XXX (18+)"}
# not listed
- {id: 41, cat: Movies, desc: "VIP Torrent"}
- {id: 48, cat: Movies, desc: " |- RLS"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: ?p=home&pid=1
method: form
form: form#sls_form
submitpath: ajax/login.php
inputs:
action: login
loginbox_membername: "{{ .Config.username }}"
loginbox_password: "{{ .Config.password }}"
loginbox_remember: true
error:
- selector: div.error
test:
path: ?p=home&pid=1
selector: div#member_info_bar
search:
paths:
- path: /
inputs:
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 but has imdbid links in results.
error:
- selector: div.error:not(:contains("There are no results found."))
rows:
selector: "div.torrent-box[id^=\"torrent_\"]{{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="?p=torrents&pid=10&cid="]
attribute: href
filters:
- name: querystring
args: cid
title:
selector: a[href*="?p=torrents&pid=10&action=details&tid="]
details:
selector: a[href*="?p=torrents&pid=10&action=details&tid="]
attribute: href
download:
selector: a[href*="?p=torrents&pid=10&action=download&tid="]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
optional: true
poster:
selector: a[href*="data/torrents/torrent_images/"]
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
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: "Uploaded (.+?) by"
- name: fuzzytime
date_year:
selector: div.torrentOwner:contains("-")
# auto adjusted by site account profile
optional: true
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: dateparse
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 .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_unix }}{{ else }}now{{ end }}"
downloadvolumefactor:
case:
img[src$="/torrent_free.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.5
# TSUE 2.2
+26 -14
View File
@@ -13,14 +13,17 @@ legacylinks:
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movie"}
- {id: 8, cat: Other, desc: "Other"}
- {id: 2, cat: TV, desc: "TV Show"}
- {id: 3, cat: Movies/Other, desc: "FANRES"}
- {id: 5, cat: Movies/Other, desc: "Trailer"}
- {id: 9, cat: Audio/Video, desc: "Live Concert"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
settings:
- name: apikey
@@ -62,16 +65,16 @@ settings:
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 }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: "/api/torrents/filter"
response:
type: json
@@ -106,6 +109,13 @@ search:
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:
@@ -134,8 +144,6 @@ search:
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
selector: seeders
leechers:
@@ -152,7 +160,12 @@ search:
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
@@ -162,21 +175,20 @@ search:
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
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 }}"
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
title_filename:
selector: "files[0].name"
optional: true
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 }}"
# json UNIT3D 8.0.0b
# json UNIT3D 8.3.4
@@ -5,6 +5,7 @@ description: "BootyTape is a Semi-Private site for 3X"
language: en-US
type: semi-private
encoding: UTF-8
requestDelay: 3
links:
- https://ssl.bootytape.com/
@@ -9,8 +9,22 @@ links:
- https://brasiltracker.org/
caps:
categories:
Other: Other
categorymappings:
- {id: 16, cat: Audio/Audiobook, desc: "Audiobooks"}
- {id: 6, cat: TV/Anime, desc: "Animes"}
- {id: 11, cat: PC/0day, desc: "Aplicativos"}
- {id: 15, cat: Other, desc: "Cursos"}
- {id: 8, cat: TV/Documentary, desc: "Documentários"}
- {id: 14, cat: TV/Sport, desc: "Esportes"}
- {id: 3, cat: XXX, desc: "Filmes XXX"}
- {id: 1, cat: Movies, desc: "Filmes"}
- {id: 12, cat: Books/Comics, desc: "Histórias em Quadrinhos"}
- {id: 9, cat: PC/Games, desc: "Jogos"}
- {id: 13, cat: Books/EBook, desc: "Livros"}
- {id: 10, cat: Books/Mags, desc: "Revistas"}
- {id: 2, cat: TV, desc: "Séries"}
- {id: 5, cat: Audio/Video, desc: "Show"}
- {id: 7, cat: TV, desc: "Televisão"}
modes:
search: [q]
@@ -25,10 +39,6 @@ settings:
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_8000
type: info
label: About BrasilTracker Categories
default: BrasilTracker does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -64,6 +74,7 @@ search:
# https://brasiltracker.org/torrents.php?searchstr=tt8179024&order_by=time&order_way=desc&action=basic&searchsubmit=1
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
@@ -77,7 +88,24 @@ search:
fields:
category:
text: Other
selector: td.big_info div.group_info
case:
"div:contains(\"[Audiobooks]\")": 16
"div:contains(\"[Animes]\")": 6
"div:contains(\"[Aplicativos]\")": 11
"div:contains(\"[Cursos]\")": 15
"div:contains(\"[Documentários]\")": 8
"div:contains(\"[Esportes]\")": 14
"div:contains(\"[Filmes XXX]\")": 3
"div:contains(\"[Filmes]\")": 1
"div:contains(\"[Histórias em Quadrinhos]\")": 12
"div:contains(\"[Jogos]\")": 9
"div:contains(\"[Livros]\")": 13
"div:contains(\"[Revistas]\")": 10
"div:contains(\"[Séries]\")": 2
"div:contains(\"[Show]\")": 5
"div:contains(\"[Televisão]\")": 7
"*": 0 # catch errors
details:
selector: a[href^="torrents.php?id="]
attribute: href
@@ -122,11 +150,33 @@ search:
title_details:
selector: div.torrent_info
remove: strong
year:
selector: td.big_info div.group_info
optional: true
filters:
- name: regexp
args: "\\[((?:19|20)\\d{2})\\]"
title:
selector: a[href^="torrents.php?id="]
filters:
- name: re_replace
args: ["\\[([^\\]]+)\\]", " / $1"]
- name: append
args: "{{ if .Result.year }} ({{ .Result.year }}){{ else }}{{ end }}"
- name: append
args: " {{ .Result.title_details }}"
- name: re_replace
args: ["\\bWEB\\b(?![-_. ]?DL)", "WEB-DL"]
- name: re_replace
args: ["(?i)\\b4K\\b", "2160p"]
- name: re_replace
args: ["(?i)\\bFull HD\\b", "1080p"]
- name: re_replace
args: ["(?i)\\b(?<!Full )HD\\b", "720p"]
- name: re_replace
args: ["(?i)\\bLegendado\\b", "Subs"]
- name: re_replace
args: ["(Dual|[Nn]acional|[Dd]ublado)", "Brazilian $1"]
minimumratio:
text: 1.0
minimumseedtime:
+1 -1
View File
@@ -57,7 +57,7 @@ settings:
- name: type
type: select
label: Order requested from site
default: desc
default: DESC
options:
DESC: desc
ASC: asc
@@ -0,0 +1,78 @@
---
id: btdirectory
name: BTdirectory
description: "BTdirectory (BT目录) is a Public DHT Crawler"
language: en-US
type: public
encoding: UTF-8
# current domain at https://cursor.vip/btmulu then follow links to the final search-movie link
links:
- https://www.btmulu.asia/
- https://www.btmulu.digital/
legacylinks:
- https://btmulu.work/
caps:
categorymappings:
- {id: Other, cat: Other, desc: Other}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: info_category_8000
type: info_category_8000
search:
paths:
# https://www.btmulu.digital/search-create.html
# https://btmulu.work/search.html?name=the+boys+s04e08
- path: "{{ if .Keywords }}search.html{{ else }}search-create.html{{ end }}"
inputs:
name: "{{ re_replace .Keywords \"[\\s]+\" \"+\" }}"
rows:
selector: article.item
filters:
- name: andmatch
fields:
category:
text: Other
title:
selector: h4
remove: span
details:
selector: a[href^="/hash/"]
attribute: href
infohash:
selector: article.item
attribute: data-key
date:
selector: p
filters:
- name: regexp
args: (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})
files:
selector: p
filters:
- name: regexp
args: "File Count(\\d+)"
size:
selector: p
filters:
- name: regexp
args: "Size(\\d+\\.?\\d+ [K|M|G]B)"
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a
+4 -5
View File
@@ -34,6 +34,8 @@ settings:
0: relevance
1: created
2: size
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
@@ -41,10 +43,6 @@ search:
- path: search.php
inputs:
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
# does not support multi cats so defaulting to all
c: ""
# 1 Chinese, 2 Japanese, 3 Korean
l: ""
o: "{{ if .Keywords }}{{ .Config.sort }}{{ else }}1{{ end }}"
rows:
@@ -63,7 +61,7 @@ search:
- name: replace
args: ["Video", "TV"]
title:
selector: a.smashTitle > script
selector: a.smashTitle > script:contains("decodeURIComponent")
filters:
- name: urldecode
- name: replace
@@ -74,6 +72,7 @@ search:
args: ["<b style='color:#ea644a'>", ""]
- name: replace
args: ["</b>", ""]
- name: htmldecode
details:
selector: a.smashTitle
attribute: href
+3 -5
View File
@@ -39,10 +39,8 @@ settings:
type: checkbox
label: Search freeleech only
default: false
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
- name: info_flaresolverr
type: info_flaresolverr
- name: info_tpp
type: info
label: Results Per Page
@@ -50,7 +48,7 @@ settings:
- name: info_activity
type: info
label: Account Inactivity
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Extreme User or above would never be deleted.</li><li>Veteran User or above would never be deleted if packed (at User CP).</li><li>Packed accounts would be deleted if users have not logged in for more than 365 days in a row.</li><li>Unpacked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 30 days in a row.</li></ol>"
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Extreme User or above would never be deleted.</li><li>Veteran User or above would never be deleted if parked (at User CP).</li><li>Parked accounts would be deleted if users have not logged in for more than 365 days in a row.</li><li>Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 30 days in a row.</li></ol>"
login:
path: login.php
+3 -5
View File
@@ -9,7 +9,6 @@ encoding: UTF-8
links:
- https://btsow.motorcycles/
legacylinks:
- https://btsow.rest/
- https://btsow.bar/
- https://btsow.click/
- https://btsow.cfd/
@@ -24,6 +23,7 @@ legacylinks:
- https://btsow.skin/
- https://btsow.makeup/
- https://btsow.homes/
- https://btsow.yachts/
caps:
categories:
@@ -37,10 +37,8 @@ caps:
book-search: [q]
settings:
- name: info_8000
type: info
label: About BTSOW Categories
default: BTSOW does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
- name: info_category_8000
type: info_category_8000
download:
selectors:
@@ -7,13 +7,15 @@ type: private
encoding: UTF-8
links:
- https://bwtorrents.tv/
- https://bwtorrents.co/
- https://www.bwtorrents.life/
- https://www.bwtorrents.pro/
- https://bwtorrents.cc/
legacylinks:
- https://bwtorrents.fun/
- https://bwtorrents.xyz/
- https://bwtorrents.us/
- https://bwtorrents.live/
- https://bwtorrents.co/
caps:
categorymappings:
@@ -144,6 +146,8 @@ settings:
type: checkbox
label: Search freeleech only
default: false
- name: info_flaresolverr
type: info_flaresolverr
- name: info_activity
type: info
label: Account Inactivity
@@ -176,6 +180,8 @@ search:
rows:
selector: table[width="1200"] > tbody > tr:has(a[href^="download.php/"])
filters:
- name: andmatch
fields:
category:
+16 -20
View File
@@ -6,11 +6,13 @@ language: ru-RU
type: public
encoding: UTF-8
links:
- https://thebyrut.org/
- https://byrutgame.org/
legacylinks:
- https://byrutor.org/
- https://byrutdb.org/
- https://byrut.org/
- https://thebyrut.org/
- https://byruthub.org/
caps:
categorymappings:
@@ -354,44 +356,32 @@ search:
rows:
# results without sizes are just pre-release announcements
selector: div.short_search:has(div.shor_subtitles span:nth-child(2):contains(" "))
selector: a.search_res:has(div.search_res_sub span:nth-child(2):contains(" "))
fields:
category:
text: 1
year:
selector: div.shor_subtitles span
selector: div.search_res_sub span
filters:
- name: regexp
args: (\d+)
title:
selector: div.short_titles > a
selector: a.search_res
filters:
- name: append
args: " [{{ .Result.year }}]"
details:
selector: div.short_titles > a
selector: a.search_res
attribute: href
download:
selector: div.short_titles > a
selector: a.search_res
attribute: href
poster:
selector: img
attribute: src
date:
selector: img
attribute: src
filters:
- name: regexp
args: ".*/(\\d{4}-\\d{2})/.*"
- name: dateparse
args: "yyyy-MM"
seeders:
text: 1
leechers:
text: 1
size_rus:
selector: div.shor_subtitles span:nth-child(2):contains("Б")
selector: div.search_res_sub span:nth-child(2):contains("Б")
optional: true
default: "0 B"
filters:
@@ -404,9 +394,15 @@ search:
- name: replace
args: ["КБ", "KB"]
size:
selector: div.shor_subtitles span:nth-child(2):contains("B")
selector: div.search_res_sub span:nth-child(2):contains("B")
optional: true
default: "{{ .Result.size_rus }}"
date:
text: now
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
@@ -0,0 +1,199 @@
---
id: capybarabr
name: CapybaraBR
description: "CapybaraBR is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: pt-BR
type: private
encoding: UTF-8
links:
- https://capybarabr.com/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Filmes"}
- {id: 2, cat: TV, desc: "Series"}
- {id: 4, cat: TV/Anime, desc: "Animes"}
- {id: 8, cat: TV/Sport, desc: "Esportes"}
- {id: 6, cat: Movies, desc: "Desenhos Animados"}
- {id: 5, cat: Console, desc: "Jogos"}
- {id: 9, cat: PC, desc: "Programas"}
- {id: 10, cat: Audio, desc: "HQs"}
- {id: 11, cat: Books/EBook, desc: "Livros"}
- {id: 12, cat: Other, desc: "Cursos"}
- {id: 13, cat: Books/Mags, desc: "Revistas"}
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_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://capybarabr.com/\" target=\"_blank\">CapybaraBR</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: use_single_file_release_use_filename
type: checkbox
label: Use filename as the 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: "The system automatically makes an account inactive when not logged in for a period of 90 days. So just log in within this time so that it is not inactivated."
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 }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- 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.use_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://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Ficção científica)", "Ficção_científica"]
- name: re_replace
args: ["(?i)(Cinema TV)", "Cinema_TV"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .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: " -03:00" # BRT
- 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 }}"
# global MR is 1.0 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 1.0
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 8.3.3 (custom)
@@ -72,6 +72,8 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Sikertelen bejelentkezés")
test:
path: index.php
selector: a[href^="logout.php"]
@@ -54,10 +54,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -77,8 +75,13 @@ settings:
options:
desc: desc
asc: asc
- name: info_settings
type: info
label: Settings Requirement
default: This indexer only supports the details link option.<br>Navigate to the web site account <b>Beállítások (Settings)</b>, change the <b>Letöltések (Download)</b> option to <b>Link a részletekhez (Link to Details)</b>, and click <b>Mentés (Save)</b>. Selecting <i>Lenyíló menü (Dropdown Menu)</i> will return no results.
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
+1 -1
View File
@@ -193,4 +193,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.8 2023-09-25
# NexusPHP v1.8.14 2024-09-24
@@ -80,7 +80,8 @@ search:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
title: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
action: advanced
+198
View File
@@ -0,0 +1,198 @@
---
id: cdfile
name: CD File
description: "CD File is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.cdfile.org/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 408, cat: Audio, desc: "Music/音轨"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 409, cat: Other, desc: "Others/其他"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2facode
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the cyanbug Web Site. Otherwise just leave it empty."
- 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 <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
- name: info_activity
type: info
label: Account Inactivity
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
message:
selector: td.text
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 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.11 2024-03-27
+20 -14
View File
@@ -6,9 +6,8 @@ language: zh-CN
type: private
encoding: UTF-8
links:
- https://ptchdbits.co/
legacylinks:
- https://chdbits.co/
- https://ptchdbits.co/
caps:
categorymappings:
@@ -40,6 +39,8 @@ settings:
type: checkbox
label: Search freeleech only
default: false
- name: info_flaresolverr
type: info_flaresolverr
- name: info_tpp
type: info
label: Results Per Page
@@ -83,6 +84,11 @@ login:
path: torrents.php
selector: a[href*="logout.php"]
download:
selectors:
- selector: a[href^="download.php?id="]
attribute: href
search:
paths:
- path: torrents.php
@@ -121,19 +127,11 @@ search:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
selector: a[href^="details.php?id="]
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date_elapsed:
# time type: time elapsed (default)
selector: td:nth-child(4) > span[title]
selector: td.rowfollow:nth-last-child(7) > span[title]
attribute: title
optional: true
filters:
@@ -143,7 +141,7 @@ search:
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
selector: td.rowfollow:nth-last-child(7):not(:has(span))
optional: true
filters:
- name: append
@@ -152,6 +150,14 @@ search:
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-last-child(6)
seeders:
selector: td.rowfollow:nth-last-child(5)
leechers:
selector: td.rowfollow:nth-last-child(4)
grabs:
selector: td.rowfollow:nth-last-child(3)
downloadvolumefactor:
case:
img.pro_free: 0
@@ -169,4 +175,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP 73f201530b 2023-08-07
# NexusPHP Standard v1.5 Beta 4 (customised)
@@ -0,0 +1,194 @@
---
id: chilebt-api
name: ChileBT (API)
description: "ChileBT is a CHILEAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: es-CL
type: private
encoding: UTF-8
links:
- https://chilebt.com/
caps:
categorymappings:
- {id: 10, cat: Movies, desc: "Movies"}
- {id: 11, cat: TV, desc: "TV"}
- {id: 9, cat: Audio, desc: "Music"}
- {id: 7, cat: Other, desc: "Cultura / Educativos"}
- {id: 8, cat: PC/Games, desc: "Juegos"}
- {id: 6, cat: Books, desc: "EBook"}
- {id: 4, cat: TV/Anime, desc: "Anime"}
- {id: 5, cat: PC/0day, desc: "Aplicaciones / Programas"}
- {id: 14, cat: Movies, desc: "Infantil"}
- {id: 12, cat: Other/Misc, desc: "VIP"}
- {id: 13, 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_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://chilebt.com/\" target=\"_blank\">ChileBT</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- 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: true
- 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
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://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- 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://via.placeholder.com/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: [" & ", "_&_"]
description:
text: "{{ .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 }}"
# global MR is 0.5 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 0.5
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 8.2.0
@@ -42,10 +42,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -87,6 +85,7 @@ settings:
default: "Failure to use an account for a period of 180 days will result in the removal of the account from the CMS_ZT community."
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
+31 -17
View File
@@ -12,8 +12,12 @@ legacylinks:
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movie"}
- {id: 1, cat: Movies, desc: "Film"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Movies/Foreign, desc: "Foreign Film"}
- {id: 4, cat: TV/Foreign, desc: "Foreign TV"}
- {id: 5, cat: Movies/Other, desc: "Opera & Musical"}
- {id: 6, cat: Movies/Foreign, desc: "Asian Film"}
modes:
search: [q]
@@ -65,11 +69,12 @@ login:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: "/api/torrents/filter"
response:
type: json
@@ -104,6 +109,13 @@ search:
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:
@@ -132,8 +144,6 @@ search:
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
selector: seeders
leechers:
@@ -150,7 +160,12 @@ search:
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
@@ -160,21 +175,20 @@ search:
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
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
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 0.6 but torrents must be seeded for 3 days regardless of ratio
# minimumratio:
# text: 0.4
# text: 0.6
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
title_filename:
selector: "files[0].name"
optional: true
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 }}"
# json UNIT3D 8.0.0
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# json UNIT3D 8.3.4
@@ -66,10 +66,6 @@ settings:
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter FreeLeech only
default: false
- name: onlyupload
type: checkbox
label: Filter OnlyUpload only
+13 -8
View File
@@ -1,16 +1,14 @@
---
id: comicat
name: comicat
description: "comicat is a CHINESE Public tracker for Anime / Hentai / Manga"
description: "comicat is a CHINESE Semi-Private tracker for Anime / Hentai / Manga"
language: zh-CN
type: public
type: semi-private
encoding: UTF-8
requestDelay: 2
links:
- https://www.comicat.org/
settings: []
caps:
categorymappings:
- {id: 1, cat: TV/Anime, desc: "动画(Anime)"}
@@ -27,6 +25,15 @@ caps:
music-search: [q]
book-search: [q]
settings: []
login:
path: addon.php?r=document/view&page=visitor-test
method: form
form: form#visitor-test-form
inputs:
visitor_test: human
search:
paths:
# https://www.comicat.org/ (latest)
@@ -58,8 +65,6 @@ search:
args: "-(\\w+).html"
size:
selector: td:nth-child(4)
grabs:
selector: td:nth-child(7) span
date_year:
selector: td:nth-child(1):contains("/")
optional: true
@@ -95,9 +100,9 @@ search:
date:
text: "{{ if or .Result.date_year .Result.date_today .Result.date_yday .Result.date_ago }}{{ or .Result.date_year .Result.date_today .Result.date_yday .Result.date_ago }}{{ else }}now{{ end }}"
seeders:
selector: td:nth-child(5) span
text: 1
leechers:
selector: td:nth-child(6) span
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
+16 -15
View File
@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://cpasbien-vf.pics/
- https://feminalpes.fr/
legacylinks:
- https://www.cpasbiens.cz/
- https://www.cpasbiens.bz/
@@ -25,6 +25,8 @@ legacylinks:
- https://cpasbiens911.fr/
- https://jardattraction.fr/
- https://cpasbien-vf.fr/
- https://cpasbien-vf.pics/
- https://cpasbien-vf.li/
caps:
categories:
@@ -36,14 +38,10 @@ caps:
movie-search: [q]
settings:
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
- name: info_8000
type: info
label: About cpasbien Categories
default: cpasbien does not return categories in its search results. To sync to your apps, include 8000(Other) in your Apps' Sync Categories.
- name: info_flaresolverr
type: info_flaresolverr
- name: info_category_8000
type: info_category_8000
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
@@ -78,11 +76,16 @@ search:
inputs:
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
# does not support imdbid search and does not return imdb link in results.
keywordsfilters:
# if searching for season packs with S01 to saison 1 #9712
- name: re_replace
args: ["(?i)\\b(?:S0?)(\\d{1,3})\\b", "saison $1"]
headers:
# site blocks Linux UAs, so slightly alter the Windows UA here (e.g. Safari/537.36 > Safari/537.35)
User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"]
rows:
selector: div#gauche > table > tbody > tr:has(a), div#dle-content > a.cover2
@@ -133,16 +136,14 @@ search:
default: "512 MB"
date:
text: now
seeders_optional:
seeders:
selector: div.up
optional: true
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
default: 0
leechers:
selector: div.down
optional: true
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
default: 0
downloadvolumefactor:
text: 0
uploadvolumefactor:
@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://www.cpasbien.tw/
- https://www1.cpasbien.to/
legacylinks:
- https://www1.cpasbiens.ws/
- https://www2.cpasbiens.ws/
@@ -22,6 +22,8 @@ legacylinks:
- https://www.cpasbien.gg/
- https://www.cpasbien.vip/
- https://cpasbien.to/
- https://www.cpasbien.tw/
- https://www.cpasbien.love/
caps:
categories:
@@ -34,10 +36,8 @@ caps:
allowrawsearch: true
settings:
- name: info_8000
type: info
label: About cpasbienclone Categories
default: cpasbienclone does not return categories in its search results. To sync to your apps, include 8000(Other) in your Apps' Sync Categories.
- name: info_category_8000
type: info_category_8000
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
+16 -10
View File
@@ -10,15 +10,17 @@ links:
caps:
categorymappings:
- {id: 408, cat: Audio, desc: "音乐"}
- {id: 409, cat: Other, desc: "其他"}
- {id: 407, cat: TV/Sport, desc: "体育竞技"}
- {id: 401, cat: Movies, desc: "电影 / Movies"}
- {id: 402, cat: TV, desc: "电视剧 / TVSeries"}
- {id: 413, cat: TV/Other, desc: "短剧 / Playlet"}
- {id: 408, cat: Audio, desc: "音乐 / Music"}
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime"}
- {id: 406, cat: Audio/Video, desc: "MV"}
- {id: 403, cat: Movies, desc: "综艺/真人秀"}
- {id: 402, cat: TV, desc: "电视剧"}
- {id: 405, cat: TV, desc: "动画"}
- {id: 404, cat: TV/Anime, desc: "纪录片"}
- {id: 401, cat: Movies, desc: "电影"}
- {id: 403, cat: Movies, desc: "综艺 / TV Shows"}
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports"}
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary"}
- {id: 409, cat: Other, desc: "其他 / Other"}
- {id: 415, cat: Books/Comics, desc: "漫画 / Cartoon"}
modes:
search: [q]
@@ -65,6 +67,10 @@ settings:
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
- name: info_activity
type: info
label: Account Inactivity
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
login:
path: login.php
@@ -108,7 +114,7 @@ search:
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
selector: table.torrents > tbody > tr:has(a[href^="download.php?id="])
fields:
category:
@@ -192,4 +198,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.8 2023-09-25
# NexusPHP v1.8.13 2024-09-21
@@ -113,10 +113,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -158,6 +156,7 @@ settings:
asc: asc
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
@@ -276,7 +275,7 @@ search:
# auto adjusted by site account profile
filters:
- name: regexp
args: "Partagé Voilà : </b>(.*?)<br"
args: "Partagé Le : </b>(.*?)<br"
- name: dateparse
args: "MM-dd-yyyy"
downloadvolumefactor:
@@ -17,6 +17,8 @@ caps:
- {id: 79, cat: PC/Mobile-Android, desc: "Android"}
- {id: 37, cat: Movies, desc: "Deca"}
- {id: 43, cat: TV/Documentary, desc: "Dokumentarci"}
- {id: 83, cat: Movies/BluRay, desc: "Film/BluRay Domaće"}
- {id: 84, cat: Movies/BluRay, desc: "Film/Digitalno Restaurisani"}
- {id: 52, cat: Movies/DVD, desc: "Film/DVD Domaće"}
- {id: 20, cat: Movies/DVD, desc: "Film/DVD Strano"}
- {id: 73, cat: Movies/HD, desc: "Film/HD Domaće"}
+5 -5
View File
@@ -1,7 +1,7 @@
---
id: crt2fa
name: CRT2FA
description: "Cathode-Ray.Tube (CRT) is a Private Torrent Tracker for CLASSIC MOVIES / TV. Cookie Login for 2FA use."
description: "Cathode-Ray.Tube (CRT) is a Private Torrent Tracker for CLASSIC MOVIES / TV. This indexer uses cookie login for 2FA."
language: en-GB
type: private
encoding: UTF-8
@@ -26,9 +26,7 @@ settings:
type: text
label: Cookie
- name: info_cookie
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -58,6 +56,7 @@ settings:
default: "New members must generate some torrent activity (upload, download, or cross-seed) in their account within the first 30 days of joining, otherwise their account will be automatically disabled."
login:
# using cookie method because login page can present second page for 2FA when enabled
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
@@ -70,7 +69,8 @@ search:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
title: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
action: advanced
+212
View File
@@ -0,0 +1,212 @@
---
id: cyanbug
name: cyanbug (大青虫)
description: "cyanbug (大青虫) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://cyanbug.net/
caps:
categorymappings:
- {id: 409, cat: Other, desc: "Others/其他"}
- {id: 408, cat: Audio, desc: "Music/音轨"}
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 401, cat: Movies, desc: "Movies/电影"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2facode
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the cyanbug Web Site. Otherwise just leave it empty."
- 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 <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
- name: info_activity
type: info
label: Account Inactivity
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
message:
selector: td.text
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 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname):has(a[href^="download.php?id="])
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
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)
seeders:
selector: td.rowfollow:nth-child(6)
optional: true
default: 1
leechers:
selector: td.rowfollow:nth-child(7)
optional: true
default: 1
grabs:
selector: td.rowfollow:nth-child(8)
optional: true
default: 1
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
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
description_verified:
case:
span[title="通过"], span[title="通過"], span[title="Allowed"]: "Verified:"
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
filters:
- name: prepend
args: "{{ .Result.description_verified }} "
# NexusPHP v1.8.9 2023-09-29
@@ -2,16 +2,16 @@
id: danishbytes-api
name: DanishBytes (API)
description: "DanishBytes is a Private Danish Tracker"
language: en-US
language: da-DK
type: private
encoding: UTF-8
links:
- https://danishbytes.club/
- https://danishbytes2.org/
- https://dbytes.org/
- https://danishbytes.art/
legacylinks:
- https://danishbytes.org/
- https://danishbytes.art/
caps:
categorymappings:
@@ -43,7 +43,7 @@ settings:
- name: info_rsskey
type: info
label: About your RSS key
default: "Find or Generate a new RSS key by accessing your <a href=\"https://danishbytes.club/\" target =_blank>DanishBytes</a> account <i>My Security</i> page and clicking on the <b>RSS Key (RID)</b> tab."
default: "Find or Generate a new RSS key by accessing your <a href=\"https://danishbytes.club/\" target=\"_blank\">DanishBytes</a> account <i>My Security</i> page and clicking on the <b>RSS Key (RID)</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -18,6 +18,7 @@ caps:
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"}
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"}
- {id: 28, cat: Movies/SD, desc: "Filme SD"}
- {id: 145, cat: Movies/SD, desc: "Filme all SD"}
- {id: 138, cat: Movies, desc: "Filme Pack's"}
# Serien
- {id: 57, cat: TV/HD, desc: "Serien HD"}
@@ -71,16 +72,16 @@ caps:
book-search: [q]
settings:
- name: info_password
type: info
label: About Password Expiry
default: "Dark Shadow has an <b>8 week Password Expiry</b> regime. So if the Indexer has stopped working then the first thing you should do is check if your password has expired by login in at <a href=\"https://dark-shadow.me/login.php\" target=\"_blank\">Dark-Shadow</a>, and if necessary use the <b>Passwort anfordern</b> (<i>Request password</i>) button to renew it."
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
@@ -134,7 +135,7 @@ search:
args: ["^(.+)$", "%$1%"]
rows:
selector: "div.selection_wrap{{ if .Config.freeleech }}:root:has(div.onlyup){{ else }}{{ end }}"
selector: div.selection_wrap
fields:
category_p1:
@@ -153,7 +154,7 @@ search:
selector: a.selection_a
attribute: href
download:
selector: a[href^="download_ssl.php?torrent="]
selector: a[href^="download"]
attribute: href
poster:
selector: div[id^="details"] img
@@ -195,7 +196,7 @@ search:
selector: div.selection_unter_aaa
downloadvolumefactor:
case:
":root:has(div.onlyup)": 0
":root:has(div.onlyup)": 0 # GLobal Freeleech event
"*": 1
uploadvolumefactor:
text: 1
@@ -15,11 +15,13 @@ caps:
- {id: 32, cat: Movies/HD, desc: "HD"}
- {id: 114, cat: Movies/UHD, desc: "UHD"}
- {id: 140, cat: Movies/BluRay, desc: "BluRay"}
- {id: 143, cat: TV/Anime, desc: "Anime"}
- {id: 138, cat: Movies, desc: "Pack`s"}
# Serien
- {id: 60, cat: TV/SD, desc: "SD"}
- {id: 57, cat: TV/HD, desc: "HD"}
- {id: 139, cat: TV/UHD, desc: "UHD"}
- {id: 144, cat: TV/Anime, desc: "Anime"}
- {id: 59, cat: TV, desc: "Pack`s"}
# Audio
- {id: 110, cat: Audio/MP3, desc: "MP3"}
@@ -110,14 +112,15 @@ settings:
login:
path: login.php
method: form
form: form[action="/login.php"]
form: form
inputs:
username: "{{ .Config.username }}"
login_identifier: "{{ .Config.username }}"
password: "{{ .Config.password }}"
loggiin: Login
error:
- selector: div#login_error
- selector: div.error-message
test:
path: /
path: index.php
selector: a[href="logout.php"]
search:
@@ -148,19 +151,19 @@ search:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download_ssl.php?torrent="]
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: img[src^="cloud-data/to_cover/"]
selector: img[src^="cloud-data/"]
attribute: src
size:
selector: div.selection_unter_ad
grabs:
selector: div.selection_unter_ae
seeders:
selector: div.selection_unter_aa > b
selector: div.selection_unter_aa
leechers:
selector: div.selection_unter_aaa > b
selector: div.selection_unter_aaa
date_day:
# Heute 03:27:27
# Gestern 21:00:59
@@ -171,7 +174,8 @@ search:
args: ["Heute ", "Today"]
- name: replace
args: ["Gestern ", "Yesterday"]
- name: fuzzytime
- name: append
args: " +01:00" # CET
date_year:
# 14.03.2024 um 20:43:07
selector: div.selection_unter_ab:not(:contains("Heute")):not(:contains("Gestern"))
@@ -92,11 +92,12 @@ login:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: "/api/torrents/filter"
response:
type: json
@@ -197,7 +198,7 @@ search:
case:
False: 1 # normal
True: 2 # double
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
# global MR is 0.4 but torrents must be seeded for 2 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
@@ -62,6 +62,8 @@ login:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
error:
- selector: table.main:contains("Login failed")
test:
path: index.php
selector: a[href^="logout.php"]
@@ -6,9 +6,10 @@ language: en-US
type: private
encoding: UTF-8
links:
- https://torrent.desi/
legacylinks:
- https://desitorrents.tv/
- https://desitorrents.rocks/
- https://torrent.desi/
caps:
categorymappings:
@@ -53,22 +54,23 @@ settings:
- name: info_activity
type: info
label: Account Inactivity
default: "<ul><li>Accounts are regarded as inactive when users fail to sign into their accounts for more than 3 months (90 days). Inactive accounts are automatically disabled by a script that runs once every day.</li><li>For new accounts, members must generate some activity by downloading or uploading torrents in the first month (30 days) of their memberships.</li><li>Donors are exempt from automatic account disabling due to inactivity. If you wish to always maintain an active account consider donating.</li></ul>"
default: "Inactive accounts will be disabled after 3 months of inactivity, 1 month for new accounts. Members must generate some download or upload activity at least once every 3 months."
login:
path: /api/torrents
path: /api/v1/torrents
method: get
inputs: {} # TODO: remove in v10
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://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: "/api/v1/torrents/filter"
response:
type: json
@@ -60,10 +60,8 @@ settings:
options:
POLISH: POLISH
MULTi POLISH: MULTi POLISH
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
- name: info_flaresolverr
type: info_flaresolverr
login:
path: logowanie
@@ -100,6 +100,8 @@ login:
login: 1
belepes: 1
rhash: 123
error:
- selector: :root:contains("{\"hiba\":true,")
test:
path: browse
selector: a[href*="logout"]
@@ -25,6 +25,7 @@ caps:
- {id: 13, cat: TV/UHD, desc: Tv/2160p}
- {id: 14, cat: TV/HD, desc: Tv/BluRay}
- {id: 12, cat: TV/HD, desc: Tv/PACKS}
- {id: 15, cat: TV/Sport, desc: Tv/SPORTS}
- {id: 17, cat: Other, desc: Unknown}
- {id: 18, cat: PC/0day, desc: Apps/0DAY}
- {id: 20, cat: PC/ISO, desc: Apps/PC}
@@ -63,10 +64,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -101,6 +100,7 @@ settings:
default: "If your account is inactive (you do not sign in) for more than 60 days, your account is disabled. Park your account if you are going away for more than 60 days."
login:
# using cookie method because login page is dynamically generated using JS
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
@@ -94,6 +94,7 @@ login:
logout: ""
error:
- selector: table.message:contains("Error")
- selector: body:contains("Error 403")
test:
path: index.php
selector: a[href="account-logout.php"]
+1 -1
View File
@@ -184,4 +184,4 @@ search:
args: "cat={{ .Result.category_title }} - "
minimumratio:
text: 0.9
# NexusPHP v1.8.8 2023-09-25
# NexusPHP v1.8.13 2024-09-21
+7 -7
View File
@@ -59,12 +59,10 @@ settings:
type: text
label: Cookie
- name: info_cookie
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
label: Filter freeleech only
default: false
- name: sort
type: select
@@ -92,6 +90,7 @@ settings:
default: "In principle, the STAFF reserves the right to delete any user who has not accessed the tracker in 90 days or has not downloaded/uploaded any contribution in the last 180 days, if you are going to be away for a while, park the account from your panel."
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
@@ -107,16 +106,17 @@ search:
page: torrents
category: "{{ range .Categories }}{{.}};{{end}}"
search: "{{ .Keywords }}"
# 0 title, 1 title&desc, 2 descr, 3 uploaders, 5 gold, 6 silver, 9 2x, 10 3x, 11 4x, 12 5x
# note the options are exclusive, so searching for gold means the search keywords are ignored
options: 0
# 0 all, 1 activeonly, 2 deadonly
active: 0
# 0 title, 1 title&desc, 2 descr, 3 uploaders, 5 gold, 6 silver, 9 2x, 10 3x, 11 4x, 12 5x
options: "{{ if .Config.freeleech }}5{{ else }}0{{ end }}"
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
# does not support imdbid search and does not supply imdb link in results.
rows:
selector: table.table.table-bordered > tbody > tr:has(a[href^="download.php?id="])
selector: "table.table.table-bordered > tbody > tr:has(a[href^=\"download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"gold.gif\"]){{ else }}{{ end }}, table.table.table-bordered > tbody > tr:has(a[href^=\"download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"freeleech.gif\"]){{ else }}{{ end }}"
fields:
download:
+2 -4
View File
@@ -42,10 +42,8 @@ caps:
book-search: [q]
settings:
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
+13 -1
View File
@@ -11,25 +11,37 @@ links:
caps:
categorymappings:
- {id: 77, cat: PC, desc: "3D Models"}
- {id: 83, cat: Books/EBook, desc: "Action/Adventure"}
- {id: 84, cat: Books/EBook, desc: "Art"}
- {id: 65, cat: Audio, desc: "Audio"}
- {id: 85, cat: Books/EBook, desc: "Biographical"}
- {id: 64, cat: Books/EBook, desc: "Books"}
- {id: 66, cat: Books, desc: "Business"}
- {id: 68, cat: Books/Comics, desc: "Comics"}
- {id: 80, cat: Books, desc: "Coooking"}
- {id: 86, cat: Books/EBook, desc: "Crafts"}
- {id: 92, cat: Books/EBook, desc: "Crime/Thriller"}
- {id: 59, cat: TV/Documentary, desc: "Docs/Movies"}
- {id: 60, cat: TV/Documentary, desc: "Docs/TV"}
- {id: 79, cat: TV, desc: "Educational"}
- {id: 93, cat: Books/EBook, desc: "Fantasy"}
- {id: 71, cat: Other, desc: "Fonts"}
- {id: 82, cat: Books/EBook, desc: "History"}
- {id: 87, cat: Books/EBook, desc: "Horror"}
- {id: 72, cat: Books, desc: "IT Books"}
- {id: 57, cat: Books/Mags, desc: "Magazine"}
- {id: 88, cat: Books/EBook, desc: "Math/Science/Tech"}
- {id: 58, cat: Books, desc: "Medicine"}
- {id: 70, cat: Books/EBook, desc: "Occult"}
- {id: 81, cat: Books/EBook, desc: "Photography"}
- {id: 74, cat: Audio, desc: "Podcasts"}
- {id: 69, cat: Other, desc: "PS Resources"}
- {id: 91, cat: Books/EBook, desc: "Romance"}
- {id: 89, cat: Books/EBook, desc: "Scinece Fiction"}
- {id: 76, cat: Books, desc: "Self-Help"}
- {id: 56, cat: TV/Sport, desc: "Sports"}
- {id: 90, cat: Books/EBook, desc: "Travel"}
- {id: 61, cat: Other, desc: "Tutorials"}
- {id: 81, cat: Books, desc: "Wordpress"}
modes:
search: [q]
@@ -1,7 +1,7 @@
---
id: dreamtracker
name: Dream Tracker
description: "Dream Tracker is a GREEK Private tracker for TV / MOVIES / GENERAL"
description: "Dream Tracker is a Subscription only GREEK Private tracker for TV / MOVIES / GENERAL"
language: en-US
type: private
encoding: UTF-8
@@ -123,7 +123,7 @@ settings:
- name: info
type: info
label: Layout
default: "<ol><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing</b> option in your profile to <b>Classic</b></li><li>And set the <b>Language</b> to <b>English</b></li><li>Using the <i>Modern</i> theme will prevent results, and using <i>Greek</i> will prevent upload dates.</li></ol>"
default: "<ul><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing</b> option in your profile to <b>Classic</b></li><li>And set the <b>Language</b> to <b>English</b></li><li>Using the <i>Modern</i> theme will prevent results, and using <i>Greek</i> will prevent upload dates.</li></ul>"
login:
path: ?p=home&pid=1
@@ -101,6 +101,8 @@ search:
rows:
selector: "div#content > div.poststuff:has(~ div.entry a.download), div#content > div.poststuff ~ div.entry:has(a.download)"
after: 1
filters:
- name: andmatch
fields:
category:
@@ -55,20 +55,12 @@ caps:
book-search: [q]
settings:
- name: cookie
- name: username
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: useragent
type: text
label: User-Agent
- name: info_useragent
type: info
label: How to get the User-Agent
default: "<ol><li>From the same place you fetched the cookie,</li><li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</li></ol>"
label: Username
- name: password
type: password
label: Password
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
@@ -82,17 +74,25 @@ settings:
MULTi POLISH: MULTi POLISH
login:
method: cookie
path: logowanie
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[src^="/img.php?size=3"]
input: vImageCodP
inputs:
cookie: "{{ .Config.cookie }}"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: ""
error:
- selector: div#center-side:contains("Logowanie nie")
test:
path: /
selector: a[href$="/logout.php"]
search:
# http://electro-torrent.pl/szukaj.php?search=&typ=torrent&cat=0
headers:
User-Agent: ["{{ .Config.useragent }}"]
paths:
- path: szukaj.php
allowEmptyInputs: true
@@ -0,0 +1,131 @@
---
id: elitetorrent-wf
name: Elitetorrent-wf
description: "Elitetorrent-wf is a SPANISH Public tracker for MOVIES / TV"
language: es-ES
type: public
encoding: UTF-8
links:
- https://www.elitetorrent.wf/
caps:
categories:
series: TV
peliculas: Movies
other: Other
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selectors:
- selector: a[href^="magnet:?"]
attribute: href
search:
paths:
- path: /
allowEmptyInputs: true
keywordsfilters:
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
- name: re_replace
args: ["(?i)S0?(\\d{1,2})", " $1 "]
- name: re_replace
args: ["(?i)E(\\d{2,3})", " $1 "]
inputs:
s: "{{ .Keywords }}"
x: 0
y: 0
rows:
selector: "#principal .miniboxs-ficha li:has(span:nth-of-type(2))"
filters:
- name: andmatch
fields:
category_movie:
selector: .meta a
attribute: href
filters:
- name: regexp
args: "^.*/(peliculas)/.*$"
category_tv:
selector: .meta a
attribute: href
filters:
- name: regexp
args: "^.*/(series)/.*$"
category:
text: "{{ if or .Result.category_movie .Result.category_tv }}{{ or .Result.category_movie .Result.category_tv }}{{ else }}other{{ end }}"
_quality:
selector: span:nth-of-type(2) > i
filters:
- name: replace
args: ["---", ""]
_language:
selector: span#idiomacio > i > img
attribute: title
filters:
- name: replace
args: ["Pelicula en ", ""]
- name: replace
args: ["Español Latino", "LATiN SPANiSH"]
- name: replace
args: ["Español Castellano", "SPANiSH"]
- name: replace
args: ["Ingles", "English"]
- name: replace
args: ["Subtitulado", " SPASUBS"]
- name: replace
args: ["VOSE", ""]
title:
selector: div.imagen > a
attribute: title
# normalize to SXXEYY format
filters:
- name: replace
args: [" ", " "]
- name: replace
args: ["(", ""]
- name: replace
args: [")", ""]
- name: re_replace
args: ["(\\d{2})×(\\d{2})", "S$1E$2"]
- name: re_replace
args: ["(\\d{1})×(\\d{2})", "S0$1E$2"]
- name: append
args: " {{ .Result._quality }} {{ .Result._language }}"
details:
selector: .meta a
attribute: href
download:
selector: .meta a
attribute: href
poster:
selector: .imagen img
attribute: data-src
size_optional:
selector: .voto1
optional: true
filters:
- name: replace
args: ["desc.", "512 MB"]
- name: replace
args: ["s", ""]
size:
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}512 MB{{ end }}"
date:
text: now
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a
@@ -1,7 +1,7 @@
---
id: empornium2fa
name: Empornium2FA
description: "this indexer uses a cookie login for Empornium for those that want to use 2FA"
description: "Empornium (EMP) is a Private Torrent Tracker for 3X. This indexer uses cookie login for 2FA."
language: en-US
type: private
encoding: UTF-8
@@ -69,16 +69,15 @@ settings:
- name: cookie
type: text
label: Cookie
- name: infocookie
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
login:
# using cookie method because login page can present second page for 2FA when enabled
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
+2 -2
View File
@@ -77,7 +77,7 @@ settings:
type: checkbox
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
default: false
- name: freeleech
- name: freeleech_50
type: checkbox
label: Search freeleech and 50% freeleech only
default: false
@@ -151,7 +151,7 @@ search:
nm: "{{ .Keywords }}"
# search by partial word
allw: 0
tor_type: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
tor_type: "{{ if .Config.freeleech_50 }}1{{ else }}{{ end }}"
keywordsfilters:
- name: diacritics
@@ -24,9 +24,7 @@ settings:
type: text
label: Cookie
- name: info_cookie
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -52,6 +50,7 @@ settings:
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
# using cookie method because login page can present second page for 2FA when enabled
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
+23 -17
View File
@@ -20,6 +20,7 @@ caps:
- {id: 265, cat: Movies/HD, desc: "Filmy x265 HEVC"}
- {id: 12, cat: Movies/3D, desc: "Filmy 3D"}
- {id: 530, cat: Movies/SD, desc: "Filmy TS/CAM"}
- {id: 826, cat: Movies/HD, desc: "REMUX / Complete"}
- {id: 9, cat: PC, desc: "Programy"}
- {id: 7, cat: Console, desc: "Konsole"}
- {id: 6, cat: PC/Games, desc: "Gry"}
@@ -44,12 +45,16 @@ caps:
book-search: [q]
settings:
- name: email
- name: cookie
type: text
label: Email
- name: password
type: password
label: Password
label: Cookie
- name: info_cookie
type: info_cookie
- name: useragent
type: text
label: User-Agent
- name: info_useragent
type: info_useragent
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
@@ -60,16 +65,13 @@ settings:
default: POLISH
options:
POLISH: POLISH
MULTi POLISH: MULTIi POLISH
MULTi POLISH: MULTi POLISH
login:
path: takelogin.php
method: post
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
username: "{{ .Config.email }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Logowanie nie udane")
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href^="/logout.php"]
@@ -84,8 +86,11 @@ search:
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}%{{ end }}"
# does not support imdbid searching, or have imdb in results
headers:
User-Agent: ["{{ .Config.useragent }}"]
rows:
selector: table[width="100%"] > tbody > tr:has(a[href^="torrent/"])
selector: table[width="100%"] > tbody > tr:has(a[href*="torrent/"])
fields:
category:
@@ -101,6 +106,7 @@ search:
":contains(\"x265 HEVC\")": 265
":contains(\"3D\")": 12
":contains(\"TS/CAM\")": 530
":contains(\"REMUX\")": 826
":contains(\"Programy\")": 9
":contains(\"Konsole\")": 7
":contains(\"Gry\")": 6
@@ -117,9 +123,9 @@ search:
":contains(\"GSM/PDA\")": 31
":contains(\"Inne\")": 32
title_phase1:
selector: a[href^="torrent/"]
selector: a[href*="torrent/"]
title_multilang:
selector: a[href^="torrent/"]
selector: a[href*="torrent/"]
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:POLISH|ENGLISH|\\bPL\\b)))\\b", "{{ .Config.multilanguage }}"]
@@ -128,10 +134,10 @@ search:
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
details:
selector: a[href^="torrent/"]
selector: a[href*="torrent/"]
attribute: href
download:
selector: a[href^="torrent/"]
selector: a[href*="torrent/"]
attribute: href
filters:
- name: replace
@@ -46,10 +46,8 @@ settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -76,6 +74,7 @@ settings:
asc: asc
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
@@ -96,7 +95,7 @@ search:
# 0 all, 1 active, 2 dead
incldead: 0
# 0 all, 1 polish, 5 dubbed, 6 subs, 2 non-polish, 3 freeleech, 4 highlighted
polish: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
polish: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
@@ -106,7 +105,7 @@ search:
args: [" +(?:19|20)\\d{2} *$", ""]
rows:
selector: table[class="text"][border="0"][cellspacing="0"][cellpadding="4"] > tbody > tr:has(a[href^="details.php?id="]):has(td[class*="tableBody1"])
selector: table[class="text"][border="0"][cellspacing="0"][cellpadding="4"] > tbody > tr:has(a[href^="details.php?id="]):has(td[class*="tableBody1"], td[class*="tableBody1B"])
filters:
- name: andmatch
@@ -118,9 +117,9 @@ search:
- name: querystring
args: cat
title_raw:
selector: a[href^="details.php?id="]
selector: div[class="span_title"] > a[href^="details.php?id="]
title_stripped:
selector: a[href^="details.php?id="]
selector: div[class="span_title"] > a[href^="details.php?id="]
filters:
- name: re_replace
args: ["^(.*/)(.*)$", "$2"]
@@ -131,8 +130,11 @@ search:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php/"], a[href^="downloadfl.php/"]
attribute: href
selector: div.span_icon > a[onclick^="return downloadTorrent"]
attribute: onclick
filters:
- name: re_replace
args: ["^return downloadTorrent\\('([^']+)', '([^']+)', '[^']*'\\);$", "download.php/$1/$2.torrent"]
genre:
selector: div.span_title span div
_language:
+2 -1
View File
@@ -6,9 +6,10 @@ language: ru-RU
type: semi-private
encoding: UTF-8
links:
- http://exkinoray.fun/ # site does not support https
- https://exkinoray.ru/
legacylinks:
- http://exkinoray.tv/
- http://exkinoray.fun/ # site does not support https
caps:
categorymappings:
@@ -7,31 +7,13 @@ type: public
encoding: UTF-8
links:
- https://extratorrent.st/
- https://extratorrent.unblockit.africa/
- https://extratorrent.ninjaproxy1.com/
- https://extratorrent.proxyninja.org/
- https://extratorrent.proxyninja.net/
legacylinks:
- https://extratorrent.nocensor.lol/
- https://extratorrent.unblockit.ink/
- https://extratorrent.nocensor.art/
- https://extratorrent.unblockit.bio/
- https://extratorrent.unblockit.boo/
- https://extratorrent.mrunblock.guru/
- https://extratorrent.unblockit.click/
- https://extratorrent.unblockit.asia/
- https://extratorrent.unblockit.mov/
- https://extratorrent.mrunblock.life/
- https://extratorrent.unblockit.rsvp/
- https://extratorrent.nocensor.click/
- https://extratorrent.unblockit.vegas/
- https://extratorrent.unblockit.esq/
- https://extratorrent.unblockit.zip/
- https://extratorrent.unblockit.foo/
- https://extratorrent.unblockit.ing/
- https://extratorrent.mrunblock.bond/
- https://extratorrent.nocensor.cloud/
- https://extratorrent.unblockit.date/
- https://extratorrent.unblockit.dad/
- https://extratorrent.unblockit.download/ # 502
caps:
categorymappings:
@@ -53,12 +35,12 @@ caps:
- {id: Music videos, cat: Audio/Video, desc: Music Videos}
- {id: Other Music, cat: Audio/Other, desc: Music Other}
- {id: Radio Shows, cat: Audio/Other, desc: Music Radio}
- {id: Video, cat: XXX, desc: Adult / Porn}
- {id: "Adult / Porn", cat: XXX, desc: Adult / Porn}
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines}
- {id: Games, cat: XXX/Other, desc: Adult Games}
- {id: Hentai, cat: XXX/Other, desc: Adult Hentai}
- {id: Video, cat: XXX, desc: Adult / Porn}
- {id: "Adult / Porn", cat: XXX, desc: Adult / Porn}
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines}
- {id: Games, cat: XXX/Other, desc: Adult Games}
- {id: Hentai, cat: XXX/Other, desc: Adult Hentai}
- {id: Windows, cat: PC, desc: Software Windows}
- {id: Android, cat: PC/Mobile-Android, desc: Software Android}
- {id: Mac, cat: PC/Mac, desc: Software Mac}
@@ -88,10 +70,8 @@ caps:
book-search: [q]
settings:
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
+7 -11
View File
@@ -96,15 +96,8 @@ settings:
options:
desc: desc
asc: asc
- name: flaresolverr
type: info
label: FlareSolverr
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
download:
selectors:
- selector: a[href^="magnet:?xt="]
attribute: href
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
@@ -133,9 +126,12 @@ search:
details:
selector: td:nth-child(1) div a
attribute: href
download:
selector: td:nth-child(1) div a
infohash:
selector: a[href^="magnet:?xt="]
attribute: href
filters:
- name: regexp
args: ([A-F|a-f|0-9]{40})
size:
selector: td:nth-child(2)
files:
+5 -18
View File
@@ -11,33 +11,20 @@ links:
- https://eztv.tf/
- https://eztv.yt/
- https://eztv1.xyz/
- https://eztv.unblockit.africa/
- https://eztv.unblockninja.com/
- https://eztv.ninjaproxy1.com/
- https://eztv.proxyninja.org/
legacylinks:
- https://eztv.ag/ # redirects to .re
- https://eztv.it/ # redirects to .re
- https://eztv.ch/ # redirects to .re
- https://eztv.io/
- https://eztv.mrunblock.guru/
- https://eztv.unblockit.click/
- https://eztv.unblockit.asia/
- https://eztv.unblockit.mov/
- https://eztv.mrunblock.life/
- https://eztv.unblockit.rsvp/
- https://eztv.nocensor.click/
- https://eztv.unblockit.vegas/
- https://eztv.unblockit.esq/
- https://eztv.unblockit.zip/
- https://eztv.re/
- https://eztv.li/
- https://eztv.unblockit.foo/
- https://eztv.unblockit.ing/
- https://eztv.mrunblock.bond/
- https://eztv.nocensor.cloud/
- https://eztv.unblockit.date/
- https://eztv.unblockit.dad/
- https://eztv.unblockninja.com/ # layout=def_wlinks not working
- https://eztv.ninjaproxy1.com/ # layout=def_wlinks not working
- https://eztv.proxyninja.org/ # layout=def_wlinks not working
- https://eztv.abcproxy.org/
- https://eztv.unblockit.download/
caps:
categories:
@@ -0,0 +1,168 @@
---
id: f1carreras-api
name: F1Carreras (API)
description: "F1Carreras is a Spanish Private Torrent Tracker for Motor Racing TV Releases"
language: es-MX
type: private
encoding: UTF-8
links:
- https://f1carreras.xyz/
caps:
categorymappings:
- {id: 1, cat: TV/Sport, desc: "Movies"}
- {id: 2, cat: TV/Sport, desc: "TV"}
- {id: 3, cat: TV/Sport, desc: "Formula 1"}
- {id: 4, cat: TV/Sport, desc: "IndyCar Series"}
- {id: 5, cat: TV/Sport, desc: "Formula 2"}
- {id: 6, cat: TV/Sport, desc: "Formula E"}
- {id: 7, cat: TV/Sport, desc: "MotoGP"}
- {id: 8, cat: TV/Sport, desc: "Nascar"}
- {id: 9, cat: TV/Sport, desc: "Formula 3"}
- {id: 10, cat: TV/Sport, desc: "DTM"}
- {id: 11, cat: TV/Sport, desc: "Rally"}
- {id: 12, cat: TV/Sport, desc: "WEC"}
- {id: 13, cat: TV/Sport, desc: "Other Series"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://f1carreras.xyz/\" target=\"_blank\">F1Carreras</a> account <i>Settings</i> page and clicking on the <b>API Key</b> 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
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 }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- 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 }}"
# disabled due to not being properly mapped
# 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: ["\\.", " "]
- name: re_replace # S2024 to 2024 and S2024E97 to 2024 97
args: ["\\b(?:S(\\d{2,4}))(?:E(\\d{2,4}))?\\b", "$1 $2"]
- name: trim
rows:
selector: data
attribute: attributes
fields:
category:
selector: category_id
title:
selector: name
details:
selector: details_link
download:
selector: download_link
infohash:
selector: info_hash
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
files:
selector: num_file
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%, 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
uploadvolumefactor:
# api returns False, True
selector: double_upload
case:
False: 1 # normal
True: 2 # double
minimumratio:
text: 1.0
minimumseedtime:
# 1 day (as seconds = 1 x 24 x 60 x 60)
text: 86400
# json UNIT3D 7.2.5 (custom)
@@ -58,6 +58,8 @@ settings:
options:
desc: desc
asc: asc
- name: info_flaresolverr
type: info_flaresolverr
login:
method: post
+33 -13
View File
@@ -38,6 +38,10 @@ settings:
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: true
- name: sort
type: select
label: Sort requested from site
@@ -63,11 +67,12 @@ login:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
- path: "/api/torrents/filter"
response:
type: json
@@ -100,8 +105,15 @@ search:
fields:
category:
selector: category_id
title:
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:
@@ -122,8 +134,6 @@ search:
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)^None$", ""]
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
@@ -132,8 +142,6 @@ search:
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
selector: seeders
leechers:
@@ -150,7 +158,12 @@ search:
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
@@ -160,13 +173,20 @@ search:
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
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
# Maintain global ratio above 0.5 or downloads will get disabled. No MST.
minimumratio:
text: 0.51
# json UNIT3D 7.2.5
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 0.71 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 0.71
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 8.3.3
@@ -70,7 +70,7 @@ settings:
default: "User classes Beginner and Perv have to be inactive (= not logged in on the site, tracker activity/seeding does not count) for 4 months before getting disabled automatically. Member class and higher are exempt."
login:
path: login.php
path: login
method: form
inputs:
username: "{{ .Config.username }}"
@@ -99,16 +99,16 @@ search:
fields:
download:
selector: a[href^="torrents.php?action=download&id="]
selector: a[href^="/torrents.php?action=download&id="]
attribute: href
description_tags:
selector: div.tags
description:
case:
span.icon_okay: "Verified: {{ .Result.description_tags }}"
span.icon[title*="okay"]: "Verified: {{ .Result.description_tags }}"
"*": "Unverified: {{ .Result.description_tags }}"
title:
selector: a[href^="torrents.php?id="]
selector: a[href^="/torrents.php?id="]
category:
selector: a[href*="filter_cat"]
attribute: href
@@ -116,7 +116,7 @@ search:
- name: regexp
args: "(\\d+)]=1"
details:
selector: a[href^="torrents.php?id="]
selector: a[href^="/torrents.php?id="]
attribute: href
poster:
selector: td:nth-child(2) > script
@@ -124,7 +124,7 @@ search:
- name: regexp
args: "src=(.*?)>"
- name: re_replace
args: ["\\\\(.)", "$1"]
args: ["[\\\\\"]", ""]
- name: replace
args: ["/static/common/noartwork/noimage.png", ""]
files:

Some files were not shown because too many files have changed in this diff Show More