Created a mock Sonarr container for the beta release
This commit is contained in:
@@ -3,3 +3,7 @@ radarr:
|
||||
host: radarr
|
||||
port: 7878
|
||||
api_token: 2374332474216e6720407021206b6579
|
||||
sonarr:
|
||||
host: sonarr
|
||||
port: 8989
|
||||
api_token: 08717304eb94465f81c5129bb46cc2f9
|
||||
|
||||
BIN
Binary file not shown.
@@ -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)"}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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>User’s 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"]
|
||||
|
||||
@@ -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 }}"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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/
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}"
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 }}"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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 }}"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 }}"
|
||||
|
||||
@@ -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 }}"
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user