fix prowlarr

This commit is contained in:
Nathan root
2025-11-16 22:01:24 +00:00
parent 4d7a9ef8c0
commit cd917e92be
231 changed files with 6 additions and 35985 deletions

View File

@@ -1,227 +0,0 @@
---
id: 2fast4you
name: 2 Fast 4 You
description: "2 Fast 4 You is a FRENCH Private site for TV / MOVIES / GENERAL"
language: fr-FR
type: private
encoding: UTF-8
links:
- https://2f4y.me/
legacylinks:
- http://www.2f4y.me/
- https://www.2f4y.me/
caps:
categorymappings:
- {id: 10, cat: TV/Anime, desc: "Animation: HD720P"}
- {id: 11, cat: TV/Anime, desc: "Animation: HD1080P"}
- {id: 56, cat: TV/Anime, desc: "Animation: DVDRip"}
- {id: 18, cat: PC/0day, desc: "Applications: PC"}
- {id: 16, cat: PC/Games, desc: "Applications: Jeux"}
- {id: 19, cat: PC/Mobile-Android, desc: "Applications: Android"}
- {id: 17, cat: PC/0day, desc: "Applications: Autres"}
- {id: 67, cat: TV, desc: "Autres: Emission TV"}
- {id: 68, cat: TV/Sport, desc: "Autres: Sport"}
- {id: 40, cat: Other, desc: "Autres: Autres"}
- {id: 14, cat: TV/Documentary, desc: "Documentaires: DivX"}
- {id: 15, cat: TV/Documentary, desc: "Documentaires: HD"}
- {id: 76, cat: TV/Documentary, desc: "Documentaires: TVRip"}
- {id: 62, cat: Audio/Audiobook, desc: "E-Books: E-Books Audio"}
- {id: 50, cat: Books, desc: "E-Books: Manuel Français"}
- {id: 49, cat: Books, desc: "E-Books: Manuel Anglais"}
- {id: 36, cat: Books, desc: "E-Books: Livres Français"}
- {id: 53, cat: Books, desc: "E-Books: Livre Anglais"}
- {id: 52, cat: Books, desc: "E-Books: Revue - Journaux"}
- {id: 51, cat: Books, desc: "E-Books: BD"}
- {id: 95, cat: Movies, desc: "Films: Film Divx XviD"}
- {id: 66, cat: Movies, desc: "Films: VOSTFR"}
- {id: 71, cat: Movies/WEB-DL, desc: "Films: WEB-DL"}
- {id: 65, cat: Movies, desc: "Films: VO"}
- {id: 72, cat: Movies/SD, desc: "Films: TVRip/HDTV"}
- {id: 70, cat: Movies/HD, desc: "Films: MHD X265"}
- {id: 57, cat: Movies/SD, desc: "Films: TS/CAM"}
- {id: 59, cat: Movies, desc: "Films: Spectacle"}
- {id: 55, cat: Movies/HD, desc: "Films: MHD 720P"}
- {id: 54, cat: Movies/HD, desc: "Films: MHD 1080P"}
- {id: 1, cat: Movies/HD, desc: "Films: HD720P"}
- {id: 2, cat: Movies/HD, desc: "Films: HD1080P"}
- {id: 90, cat: Movies/HD, desc: "Films: HD X265"}
- {id: 92, cat: Movies/HD, desc: "Films: 4K"}
- {id: 69, cat: Movies/3D, desc: "Films: Film 3D"}
- {id: 3, cat: Movies/DVD, desc: "Films: DVDRIP"}
- {id: 5, cat: Movies/DVD, desc: "Films: DVD9"}
- {id: 91, cat: Movies/HD, desc: "Films: RemuX"}
- {id: 89, cat: Movies/HD, desc: "Films: BD/BR Rip"}
- {id: 88, cat: Movies/BluRay, desc: "Films: Full BD/BR"}
- {id: 97, cat: Movies, desc: "Films: Cours Métrage"}
- {id: 79, cat: TV/Anime, desc: "Mangas: HD"}
- {id: 81, cat: TV/Anime, desc: "Mangas: HD VOSTFR"}
- {id: 85, cat: TV/Anime, desc: "Mangas: Web-DL"}
- {id: 86, cat: TV/Anime, desc: "Mangas: TV-RIP"}
- {id: 75, cat: Audio, desc: "Musique: Concert TVRip"}
- {id: 25, cat: Audio/MP3, desc: "Musique: Single MP3"}
- {id: 24, cat: Audio/Lossless, desc: "Musique: Single Flac"}
- {id: 22, cat: Audio/MP3, desc: "Musique: Album MP3"}
- {id: 23, cat: Audio/Lossless, desc: "Musique: Album Flac"}
- {id: 64, cat: Audio, desc: "Musique: Mégamix Maison"}
- {id: 96, cat: Audio/MP3, desc: "Musique: PlayList MP3"}
- {id: 94, cat: Audio, desc: "Musique: Podcast"}
- {id: 58, cat: Audio, desc: "Musique: Concert"}
- {id: 93, cat: TV, desc: "Serie TV: Saison VOSTFR"}
- {id: 61, cat: TV, desc: "Serie TV: Episode VOSTFR"}
- {id: 63, cat: TV, desc: "Serie TV: Episode VO"}
- {id: 12, cat: TV/Anime, desc: "Serie TV: Animation"}
- {id: 74, cat: TV, desc: "Serie TV: TVRip"}
- {id: 73, cat: TV/WEB-DL, desc: "Serie TV: WEB-DL"}
- {id: 7, cat: TV, desc: "Serie TV: Episode FR"}
- {id: 6, cat: TV, desc: "Serie TV: Saison FR"}
- {id: 98, cat: TV/Anime, desc: "Serie TV: Manga VOSTFR"}
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: Search freeleech only
default: false
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: created
seeders: seeders
size: size
name: title
- name: order
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: form:contains("Erreur")
message:
selector: form
remove: table
test:
path: torrents-search.php
selector: a[href="account-logout.php"]
search:
paths:
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 all, 1 notfree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 any, 1 French, 2 English, 3 Multi, 4-8 32-41
lang: 0
sort: "{{ .Config.sort}}"
order: "{{ .Config.order}}"
keywordsfilters:
- name: re_replace
args: ["^$", "%"] # replace empty search string with %
rows:
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
fields:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_phase1:
selector: a[href^="torrents-details.php?id="]
filters:
- name: replace
args: [" - (Nouveau!)", ""]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["torrents-details.php", "download.php"]
poster:
selector: img.rounded-img
attribute: src
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
date:
text: now
downloadvolumefactor:
case:
img[title="freeleech"]: 0
"*": 1
uploadvolumefactor:
case:
"*": 1
minimumratio:
text: 0.75
# engine n/a

View File

@@ -1,201 +0,0 @@
---
id: 2xfree
name: 2xFree
description: "2xFree is a CHINESE Private Torrent Tracker for 3D MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.2xfree.org/
caps:
categorymappings:
# torrents.php
- {id: 526, cat: Movies, desc: "3DMovies(3D电影)"}
- {id: 527, cat: TV, desc: "3DSeries(3D剧集)"}
- {id: 533, cat: Movies, desc: "VRMovies(VR电影)"}
- {id: 534, cat: TV, desc: "VRSeries(VR剧集)"}
- {id: 537, cat: TV, desc: "VRShows(VR演出)"}
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)"}
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)"}
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 2xFree 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_ulslr
type: info
label: Upload Speed Limit Rule
default: The upload bandwidth shall not exceed 120Mbps, that is, the upload speed shall not exceed 15MB/s.
- name: info_flaresolverr
type: info_flaresolverr
- 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 be 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 with no traffic (ie, 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("失败"))
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 (4 does not appear to work)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href^="details.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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
minimumratio:
text: 0.8
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.6 2023-06-18

View File

@@ -1,200 +0,0 @@
---
id: 3wmg
name: 3Wmg
description: "3Wmg is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
requestDelay: 2
links:
- https://www.3wmg.com/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
- {id: 402, cat: TV, desc: "TV Series/电视剧", default: true}
- {id: 403, cat: TV, desc: "TV Shows/综艺", default: true}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片", default: true}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫", default: true}
- {id: 406, cat: Audio, desc: "Music/音乐", default: true}
- {id: 407, cat: Other/Misc, desc: "Leanrning学习", default: true}
- {id: 409, cat: Books, desc: "Ebook电子书", default: true}
- {id: 410, cat: Other, desc: "Misc/其他", default: true}
# special
- {id: 411, cat: XXX, desc: "Uncensored无码", default: false}
- {id: 412, cat: XXX, desc: "Censored有码", default: false}
- {id: 413, cat: XXX, desc: "Lgbt同志", default: false}
- {id: 414, cat: XXX, desc: "III三级、写真", default: false}
- {id: 415, cat: XXX, desc: "Animations动漫", default: false}
- {id: 416, cat: XXX, desc: "Other其他", default: false}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 3Wmg 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.
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("失敗"))
- selector: td.embedded:has(h2:contains("失败"))
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
categories: [401, 402, 403, 404, 405, 406, 407, 409, 410]
- path: special.php
categories: [411, 412, 413, 414, 415, 416]
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, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href^="details.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
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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
minimumratio:
text: 1.0
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.5 2023-07-29

View File

@@ -1,188 +0,0 @@
---
id: acidlounge
name: Acid-Lounge
description: "Acid Lounge (A-L) is a Private Torrent Tracker for 0DAY / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://www.acid-lounge.org.uk/
caps:
categorymappings:
- {id: 79, cat: PC/Mobile-Android, desc: "Android"}
- {id: 61, cat: TV/Anime, desc: "Anime"}
- {id: 55, cat: PC/0day, desc: "Appz/0-Day"}
- {id: 59, cat: PC/Mac, desc: "Appz/Mac"}
- {id: 22, cat: PC, desc: "Appz/Misc"}
- {id: 32, cat: PC, desc: "Appz/PC"}
- {id: 48, cat: Audio/Audiobook, desc: "Audio/Books"}
- {id: 84, cat: Other, desc: "Damaged Torrent"}
- {id: 14, cat: Books/EBook, desc: "eBooks"}
- {id: 82, cat: Books/Comics, desc: "eBooks/Comics"}
- {id: 81, cat: Books/Mags, desc: "eBooks/Mags"}
- {id: 60, cat: PC/Mac, desc: "Games/Mac"}
- {id: 54, cat: Console/NDS, desc: "Games/NDS"}
- {id: 4, cat: PC/Games, desc: "Games/PC"}
- {id: 42, cat: Console/PS3, desc: "Games/PS3"}
- {id: 56, cat: Console/Wii, desc: "Games/Wii"}
- {id: 36, cat: Console/XBox 360, desc: "Games/xbox360"}
- {id: 69, cat: Other, desc: "Halloween"}
- {id: 80, cat: PC/Mobile-iOS, desc: "iPhone / iPad"}
- {id: 46, cat: Other, desc: "Kids"}
- {id: 63, cat: PC, desc: "Linux"}
- {id: 49, cat: Other, desc: "Misc"}
- {id: 77, cat: Movies/3D, desc: "Movies/3D BLURAY"}
- {id: 73, cat: Movies/HD, desc: "Movies/Boxsets HD"}
- {id: 74, cat: Movies/SD, desc: "Movies/Boxsets SD"}
- {id: 25, cat: Movies/DVD, desc: "Movies/DVD-R"}
- {id: 51, cat: Movies/HD, desc: "Movies/HD"}
- {id: 26, cat: Movies, desc: "Movies/Retro"}
- {id: 29, cat: Movies/SD, desc: "Movies/SD"}
- {id: 52, cat: Movies/SD, desc: "Movies/WMV"}
- {id: 85, cat: Movies/HD, desc: "Movies/X265"}
- {id: 66, cat: Audio/Lossless, desc: "Music/Flac"}
- {id: 35, cat: Audio/MP3, desc: "Music/MP3"}
- {id: 31, cat: Audio/Video, desc: "Music/Videos"}
- {id: 72, cat: Movies, desc: "Sci-Fi"}
- {id: 83, cat: Movies, desc: "Tribute Packs"}
- {id: 30, cat: TV, desc: "TV"}
- {id: 50, cat: TV/HD, desc: "TV-HD/X264"}
- {id: 71, cat: TV/SD, desc: "TV-SD/X264"}
- {id: 75, cat: TV/HD, desc: "TV/Boxsets HD"}
- {id: 76, cat: TV/SD, desc: "TV/Boxsets SD"}
- {id: 37, cat: XXX, desc: "XXX"}
- {id: 68, cat: XXX, desc: "XXX/0-Day"}
- {id: 78, cat: XXX, desc: "XXX/3D"}
- {id: 67, cat: XXX/ImageSet, desc: "XXX/Imagesets"}
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: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: dateAdded
options:
dateAdded: 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: "Accounts with nothing uploaded/ downloaded will be disabled after 4 weeks."
login:
path: Main/?act=Login
method: form
form: form#login
captcha:
type: image
selector: img[alt="Security code"]
input: code
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.errorWrap
test:
path: index.php
selector: a[href$="logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}cat[]={{.}}&{{end}}"
search: "{{ .Keywords }}"
# alive, aliveanddead, nobot, dead, free, nuked
status: "{{ if .Config.freeleech }}free{{ else }}aliveanddead{{ end }}"
# title, desc, both
search_type: title
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
rows:
selector: table#browse_torrents_table > tbody > tr[id^="torrent_row_"]
fields:
category:
selector: a[href^="browse.php?cat[]="]
attribute: href
filters:
- name: querystring
args: cat[]
title:
selector: a.torrent_name
attribute: title
details:
selector: a.torrent_name
attribute: href
download:
selector: a[href^="download.php?"]
attribute: href
description:
selector: span.torrent_small_desc
genre:
selector: span.torrent_small_desc
filters:
- name: regexp
args: "\\[.+?\\] \\[(.+?)\\]"
- name: replace
args: [" ", "_"]
files:
selector: td.torrent_table_files
date:
selector: td.torrent_table_dateAdded
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td.torrent_table_size
grabs:
selector: td.torrent_table_snatched
filters:
- name: regexp
args: (\d+)
seeders:
selector: td.torrent_table_seeders
leechers:
selector: td.torrent_table_leechers
downloadvolumefactor:
case:
":root div#notice_ratioBoostingMadness": 0
img[src$="images/freedownload.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 5 day (as seconds = 5 x 24 x 60 x 60)
text: 432000 # 3 days for torrents under 20GB
# engine n/a

View File

@@ -1,178 +0,0 @@
---
id: adbt
name: ADBT
description: "ADBT (Anime Datenbank Tracker) is a GERMAN Private Tracker for Anime, Hentai and Cartoons"
language: de-DE
type: private
encoding: UTF-8
links:
- https://adbt.is-into-anime.com/
caps:
categorymappings:
- {id: 34, cat: Console, desc: "3D Game"}
- {id: 35, cat: Movies, desc: "3D Movie"}
- {id: 36, cat: Audio, desc: "3D OST"}
- {id: 37, cat: TV, desc: "3D Serie"}
- {id: 38, cat: XXX, desc: "3D XXX"}
- {id: 39, cat: Audio, desc: "ADBT Radio"}
- {id: 40, cat: Audio/Video, desc: "AMV"}
- {id: 21, cat: Console, desc: "Anime Games"}
- {id: 41, cat: Movies, desc: "Anime Live"}
- {id: 6, cat: TV/Anime, desc: "Anime Movies"}
- {id: 24, cat: Audio, desc: "Anime OST"}
- {id: 42, cat: TV/Anime, desc: "Anime OVA"}
- {id: 12, cat: TV/Anime, desc: "Anime Serien"}
- {id: 23, cat: Other, desc: "Anime Sonstige"}
- {id: 28, cat: Other, desc: "Bildergalerien"}
- {id: 43, cat: Books, desc: "Comic"}
- {id: 44, cat: Books, desc: "Doujinshi"}
- {id: 53, cat: XXX, desc: "Hentai Doujinshi"}
- {id: 27, cat: Console, desc: "Hentai Games"}
- {id: 45, cat: Books, desc: "Hentai Light Novel"}
- {id: 54, cat: Books, desc: "Hentai Manga"}
- {id: 25, cat: Movies, desc: "Hentai Movies"}
- {id: 4, cat: TV, desc: "Hentai Serien"}
- {id: 46, cat: Other, desc: "Hentai Visual Novel"}
- {id: 47, cat: Audio, desc: "J-Music"}
- {id: 48, cat: Books, desc: "Light Novel"}
- {id: 33, cat: Books, desc: "Manga"}
- {id: 49, cat: Audio, desc: "Music"}
- {id: 9, cat: Other, desc: "Sonstiges"}
- {id: 50, cat: Other, desc: "Visual Novel"}
- {id: 51, cat: Console, desc: "Zeichentrick Game"}
- {id: 31, cat: Movies, desc: "Zeichentrick Movie"}
- {id: 52, cat: Audio, desc: "Zeichentrick OST"}
- {id: 30, cat: TV, desc: "Zeichentrick Serie"}
- {id: 32, cat: XXX, desc: "Zeichentrick XXX"}
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: onlyupload
type: checkbox
label: Search OnlyUpload only
default: false
- name: info_free
type: info
label: About OnlyUpload at ADBT
default: "<ul><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech).</li></ul>"
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeds: seeders
size: size
name: 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 pro Seite:</b> (Torrents per Page) setting to <b>100</b> on your Profile. The default is <i>15</i>.
- name: info_layout
type: info
label: Torrent Page layout
default: Only the <b>Platzsparendes Layout mit PopUp für zusätzliche Informationen (Space saving layout using pop-ups for detailed information)</b> on your Profile is supported by this indexer. <i>Tabellarisches Layout, sehr breite Darstellung (Schedular layout, width display)</i> will return no results.
login:
path: login.php
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.tableinborder:contains("Login fehlgeschlagen!") > tbody > tr > td.tablea
test:
path: index.php?
selector: a[href="logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
showsearch: 1
search: "{{ .Keywords }}"
# 0 active, 1 all, 2 UpOn, 3 dead
incldead: "{{ if .Config.onlyupload }}2{{ else }}1{{ end }}"
# 0 title, 1 title + descr, 2 descr
suchwo: 0
# search by type: - all, etc
tt: "-"
# search in series: - none, etc
se: "-"
# 0 all, etc
team: 0
# 0 all, etc
subcat: 0
orderby: "{{ .Config.sort }}"
sort: "{{ .Config.type }}"
# site does not support imdbid searching or display imdb links in results.
rows:
selector: table.tableinborder:has(colgroup) > tbody > tr
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
attribute: title
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download/"]
attribute: href
size:
selector: td.tablea > table > tbody > tr:nth-child(2) > td > b
files:
selector: td.tablea > table > tbody > tr:nth-child(2) > td > b:nth-child(2)
seeders:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > b > font
leechers:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > a + b > font
grabs:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(3) > b
date:
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(5)
filters:
- name: replace
args: ["\u00a0", " "]
- name: append
args: " +01:00" # CET
- name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz"
downloadvolumefactor:
case:
img[src="pic/upon.gif"]: 0 # only upload is counted
"*": 1
uploadvolumefactor:
text: 1
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# NetVision

View File

@@ -1,300 +0,0 @@
---
id: anilibria
name: AniLibria
description: "AniLibria is a Public torrent tracker for anime, voiced on russian by AniLibria team"
language: ru-RU
type: public
encoding: UTF-8
links:
- https://www.anilibria.tv/
caps:
categories:
Anime: TV/Anime
Movies: Movies/Other
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: stripcyrillic
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.
default: false
search:
paths:
# https://github.com/anilibria/docs/blob/master/api_v3.md
- path: "https://api.anilibria.tv/v3/title/{{ if .Keywords }}search{{ else }}updates{{ end }}"
response:
type: json
inputs:
search: "{{ .Keywords }}"
filter: "names,posters.small.url,code,torrents.list,season.year,description"
limit: 100
keywordsfilters:
# strip season and/or ep
- name: re_replace
args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
rows:
selector: list
attribute: torrents.list
multiple: true
fields:
_episodes:
selector: episodes.string
optional: true
category:
text: "{{ if eq .Result._episodes \"Фильм\" }}Movies{{ else }}Anime{{ end }}"
title_ru:
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
filters:
- name: re_replace
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
- name: re_replace
args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
- name: re_replace
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
_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:
text: "{{ .Config.sitelink }}release/{{ .Result._code }}.html"
download_url:
selector: url
download:
text: "{{ .Config.sitelink }}{{ .Result.download_url }}"
magnet:
selector: magnet
poster:
selector: ..posters.small.url
filters:
- name: prepend
args: "https://static.anilibria.tv"
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: downloads
date:
# unix
selector: uploaded_timestamp
size:
selector: total_size
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
description:
selector: ..description
# json api v3

View File

@@ -1,145 +0,0 @@
---
id: anime-free
name: Anime-Free
description: "Anime-Free is a RUSSIAN Semi-Private Torrent Tracker for Hentai manga, eroge and flash porn games"
language: ru-RU
type: semi-private
encoding: windows-1251
testlinktorrent: false
links:
- https://anime-free.one/
legacylinks:
- https://anime-free.net/ # redirects to *.biz
- https://anime-free.biz/
- http://anime-free.one/
caps:
categorymappings:
- {id: 14, cat: TV/Anime, desc: "Аниме хентай"}
- {id: 47, cat: TV/Anime, desc: " Хентай на Русском языке"}
- {id: 48, cat: TV/Anime, desc: " Хентай Без русского перевода"}
- {id: 45, cat: TV/Anime, desc: " Хентай Без цензуры"}
- {id: 46, cat: TV/Anime, desc: " Хентай с цензурой"}
- {id: 54, cat: Other, desc: "Косплей"}
- {id: 51, cat: TV/Anime, desc: "[3D] хентай и анимация"}
- {id: 5, cat: Books/Comics, desc: "Хентай манга"}
- {id: 56, cat: Console, desc: "Игры"}
- {id: 10, cat: Console, desc: " Эротические и хентай игры"}
- {id: 55, cat: Console, desc: " 3DCG/3D-Animation игры"}
- {id: 57, cat: Console, desc: " Игры на русском языке"}
- {id: 58, cat: Other, desc: " Онлайн игры"}
- {id: 52, cat: Books/Comics, desc: "Порно комиксы"}
- {id: 49, cat: XXX/ImageSet, desc: "Хентай картинки, иллюстрации, обои и Art "}
- {id: 43, cat: TV/Anime, desc: "Эччи (Легкая эротика)"}
- {id: 4, cat: TV/Anime, desc: "Аниме Хентай"}
- {id: 50, cat: Other, desc: "Хентай Онлайн"}
modes:
search: [q]
settings:
- name: email
type: text
label: Email
- name: password
type: password
label: Password
login:
path: /
method: form
form: form.login-form
inputs:
login_name: "{{ .Config.email }}"
login_password: "{{ .Config.password }}"
error:
- selector: div.berrors
test:
path: /
selector: a[href$="/index.php?action=logout"]
download:
selectors:
- selector: a[href*="/engine/download.php?id="]
attribute: href
search:
# https://anime-free.biz/index.php?do=search&subaction=search&search_start=0&full_search=1&result_from=1&story=slaves+to+passion&all_word_seach=1&titleonly=3&searchuser=&replyless=0&replylimit=0&searchdate=0&beforeafter=after&sortby=date&resorder=desc&showposts=0&catlist[]=0
paths:
- path: index.php
inputs:
$raw: "{{ range .Categories }}catlist[]={{.}}&{{end}}"
do: search
subaction: search
search_start: 0
full_search: 1
result_from: 1
showposts: 0
all_word_seach: 1
# 0 article, 1 comments, 2 static pages, 3 article titles
titleonly: "{{ if .Keywords }}3{{ else }}0{{ end }}"
searchdate: 0
searchuser: ""
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
sortby: date
resorder: desc
rows:
selector: article
fields:
category_optional:
optional: true
selector: a[href*="category="]
attribute: href
case:
a[href$="3d_hentai"]: 51
a[href$="3dcg_game"]: 55
a[href$="censored"]: 46
a[href$="comics"]: 52
a[href$="cosplay"]: 54
a[href$="etty"]: 43
a[href$="h-game"]: 10
a[href$="h-online"]: 50
a[href$="hentai"]: 4
a[href$="hentai_games"]: 56
a[href$="hentai_manga"]: 5
a[href$="hentai_raznoe"]: 49
a[href$="hentai_rus"]: 47
a[href$="online_games"]: 58
a[href$="original_hentai"]: 48
a[href$="rus-game"]: 57
a[href$="uncensored"]: 45
category:
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}54{{ end }}"
title:
selector: h2.title a
details:
selector: h2.title a
attribute: href
download:
selector: h2.title a
attribute: href
poster:
selector: img.entry-image
attribute: src
description:
selector: div[itemprop="description"]
date:
selector: li:has(img#adddate)
filters:
- name: dateparse
args: "dd-MM-yyyy, HH:mm"
seeders:
text: 1
leechers:
text: 1
size:
selector: b.file_size
optional: true
default: 0 B
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,83 +0,0 @@
---
id: anime-time
name: Anime Time
description: "Anime Time is a Public Torrent Tracker for ANIME."
language: en-US
type: public
encoding: UTF-8
requestDelay: 2
links:
- https://animetime.cc/
caps:
categories:
anime: TV/Anime
books: Books
modes:
search: [q]
tv-search: [q, season, ep]
book-search: [q]
settings: []
search:
paths:
# https://animetime.cc/search?query=
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
inputs:
query: "{{ .Keywords }}"
keywordsfilters:
- name: trim
- name: re_replace
args: ["\\W+", "%"]
rows:
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
fields:
category:
selector: span.badge.badge-primary
title:
selector: a[href*="/view/"]
details:
selector: a[href*="/view/"]
attribute: href
download:
selector: a[href*="/download/"]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
date:
selector: span[data-tip]
attribute: data-tip
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: span.badge.badge-ghost
seeders:
text: 1
leechers:
text: 1
genre:
selector: span.badge.badge-secondary, span.badge.badge-error
filters:
- name: replace
args: ["non english", "non_english"]
- name: replace
args: ["music video", "music_video"]
- name: replace
args: ["Anime Time", "Anime_Time"]
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,103 +0,0 @@
---
id: anime-timel
name: Anime TimeL
description: "This is the Anime Time indexer with Login enabled in the config to include NSFW content."
language: en-US
type: semi-private
encoding: UTF-8
requestDelay: 2
links:
- https://animetime.cc/
caps:
categories:
anime: TV/Anime
books: Books
modes:
search: [q]
tv-search: [q, season, ep]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: auth/log-in
method: form
form: form[action$="/auth/log-in"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember_me: true
error:
- selector: span.text-error
test:
path: /
selector: form[action$="/auth/log-out"]
search:
paths:
# https://animetime.cc/search?query=
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
inputs:
query: "{{ .Keywords }}"
keywordsfilters:
- name: trim
- name: re_replace
args: ["\\W+", "%"]
rows:
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
fields:
category:
selector: span.badge.badge-primary
title:
selector: a[href*="/view/"]
details:
selector: a[href*="/view/"]
attribute: href
download:
selector: a[href*="/download/"]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
date:
selector: span[data-tip]
attribute: data-tip
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: span.badge.badge-ghost
seeders:
text: 1
leechers:
text: 1
genre:
selector: span.badge.badge-secondary, span.badge.badge-error
filters:
- name: replace
args: ["non english", "non_english"]
- name: replace
args: ["music video", "music_video"]
- name: replace
args: ["Anime Time", "Anime_Time"]
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,81 +0,0 @@
---
id: animetime
name: Anime Time
description: "Anime Time is a PUBLIC torrent tracker for ANIME"
language: en-US
type: public
encoding: UTF-8
requestDelay: 2
links:
- https://animetime.cc/
caps:
categories:
anime: TV/Anime
books: Books
modes:
search: [q]
tv-search: [q, season, ep]
book-search: [q]
settings: []
search:
paths:
# https://animetime.cc/search?query=
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
inputs:
query: "{{ .Keywords }}"
keywordsfilters:
- name: trim
- name: re_replace
args: ["\\W+", "%"]
rows:
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
fields:
category:
selector: span.badge.badge-primary
title:
selector: a[href*="/view/"]
details:
selector: a[href*="/view/"]
attribute: href
download:
selector: a[href*="/download/"]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
date:
selector: span[data-tip]
attribute: data-tip
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: span.badge.badge-ghost
seeders:
text: 1
leechers:
text: 1
genre:
selector: span.badge.badge-secondary
filters:
- name: replace
args: ["non english", "non_english"]
- name: replace
args: ["music video", "music_video"]
- name: replace
args: ["Anime Time", "Anime_Time"]
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,87 +0,0 @@
---
id: aniRena
name: AniRena
description: "AniRena is a Public torrent tracker for the latest anime and Japanese related torrents"
language: en-US
type: public
encoding: UTF-8
links:
- https://www.anirena.com/
settings:
- name: info_flaresolverr
type: info_flaresolverr
caps:
categorymappings:
# Anime
- {id: 1, cat: TV/Anime, desc: "Raw Animes"}
- {id: 2, cat: TV/Anime, desc: "Anime"}
- {id: 3, cat: TV/Anime, desc: "Hentai"}
- {id: 4, cat: TV/Anime, desc: "Drama"}
- {id: 9, cat: TV/Anime, desc: "Anime Music Videos"}
- {id: 10, cat: TV/Anime, desc: "Non-English"}
# Software
- {id: 5, cat: PC/ISO, desc: "DVD/ISO"}
- {id: 6, cat: PC, desc: "Hentai-Game"}
# Literature
- {id: 7, cat: Books, desc: "Manga"}
# Audio
- {id: 8, cat: Audio, desc: "Audio"}
# Other
- {id: 11, cat: Other, desc: "Other"}
modes:
search: [q]
tv-search: [q, season, ep]
music-search: [q]
book-search: [q]
search:
paths:
- path: /
inputs:
s: "{{ .Keywords }}"
rows:
selector: table tbody tr:has(td.torrents_small_type_data1)
fields:
title:
selector: .torrents_small_info_data1 div
download:
selector: .torrents_small_info_data2 a[title="Download Torrent"]
attribute: href
magnet:
selector: .torrents_small_info_data2 a[title="Magnet Link"]
attribute: href
date:
text: now
size:
selector: .torrents_small_size_data1
seeders:
selector: .torrents_small_seeders_data1 b big
leechers:
selector: .torrents_small_leechers_data1 b big
grabs:
selector: .torrents_small_downloads_data1
category:
selector: .torrents_small_type_data1 img
attribute: src
case:
"[src=\"./styles/tracker/imageset/cat_raw_small.png\"]": 1
"[src=\"./styles/tracker/imageset/cat_anime_small.png\"]": 2
"[src=\"./styles/tracker/imageset/cat_hentai_small.png\"]": 3
"[src=\"./styles/tracker/imageset/cat_drama_small.png\"]": 4
"[src=\"./styles/tracker/imageset/cat_dvd_small.png\"]": 5
"[src=\"./styles/tracker/imageset/cat_hgame2_small.png\"]": 6
"[src=\"./styles/tracker/imageset/cat_manga_small.png\"]": 7
"[src=\"./styles/tracker/imageset/cat_music_small.png\"]": 8
"[src=\"./styles/tracker/imageset/cat_musicvid_small.png\"]": 9
"[src=\"./styles/tracker/imageset/cat_noneng_small.png\"]": 10
"[src=\"./styles/tracker/imageset/cat_other_small.png\"]": 11
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,164 +0,0 @@
---
id: anitoons
name: AniToons
description: "AniToons is a BRAZILIAN Private Torrent Tracker for ANIME / CARTOONS"
language: pt-BR
type: private
encoding: UTF-8
links:
- https://anitoons.xyz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 6, cat: XXX, desc: "Adult"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, 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://anitoons.xyz/\" target=\"_blank\">AniToons</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: 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 }}."
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"
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:
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
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Ficção científica)", "Ficção_científica"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
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
# 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.0.3

View File

@@ -1,168 +0,0 @@
---
id: at12project
name: AT-12 Project
description: "AT-12 Project is a Private Torrent Tracker for JAPANESE MOVIES / TV"
language: en-US
type: private
encoding: UTF-8
links:
- https://at-12project.cc/
caps:
categorymappings:
- {id: 7, cat: Movies, desc: "MOVIE"}
- {id: 8, cat: TV, desc: "TV"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, 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://at-12project.cc/\" target=\"_blank\">AT-12 Project</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
inputs: {} # TODO: remove in v10
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
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
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: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
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
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.1

View File

@@ -1,104 +0,0 @@
---
id: badasstorrents
name: Badass Torrents
description: "Badass Torrents is a Public torrent site for MOVIES / TV / GENERAL"
language: en-US
type: public
encoding: UTF-8
requestDelay: 5
links:
- https://badasstorrents.com/
legacylinks:
- https://badasstorrents.mrunblock.bond/
- https://badasstorrents.nocensor.cloud/
caps:
categories:
Anime: TV/Anime
Apps: PC
Books: Books
Games: PC/Games
Movies: Movies
Music: Audio
Other: Other
TV: TV
XXX: XXX
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q, album, artist]
book-search: [q]
settings:
- name: downloadlink
type: select
label: Download link
default: "magnet:?xt="
options:
"/d/": ".torrent"
"magnet:?xt=": "magnet"
- name: downloadlink2
type: select
label: Download link (fallback)
default: "/d/"
options:
"/d/": ".torrent"
"magnet:?xt=": "magnet"
- name: info_download
type: info
label: About the Download links
default: You can optionally set as a fallback an automatic alternate link, so if the .torrent download link fails your download will still be successful.
download:
selectors:
- selector: a[href*="{{ .Config.downloadlink }}"]
attribute: href
- selector: a[href*="{{ .Config.downloadlink2 }}"]
attribute: href
search:
paths:
# search has 10 torrents per page, latest has 100 torrents per page.
- 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
filters:
- name: andmatch
fields:
category:
selector: a[href^="/c/"]
title:
selector: a[href*="/v/"]
details:
selector: a[href*="/v/"]
attribute: href
download:
selector: a[href*="/v/"]
attribute: href
date:
selector: td:nth-child(3)
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,171 +0,0 @@
---
id: beitai
name: BeiTai (备胎)
description: "BeiTai (备胎) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://www.beitai.pt/
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: "MusicVideo/音乐MV"}
- {id: 407, cat: TV/Sport, desc: "Sports/运体"}
- {id: 409, cat: Other, desc: "Misc/其他"}
- {id: 408, cat: Audio, desc: "HQ Audio/无损音乐"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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 be deleted if they do not log in for 150 consecutive days</li><li>Users with no traffic (ie, upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
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 .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ 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 (4 does not appear to work).
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
imdbid:
selector: div.imdb_100 > a
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
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP Standard v1.5 Beta 4

View File

@@ -1,133 +0,0 @@
---
id: beyond-hd
name: Beyond-HD
description: "Without BeyondHD, your HDTV is just a TV"
language: en-US
type: private
encoding: UTF-8
links:
- https://beyond-hd.me/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
settings:
- name: info_oid
type: info
label: "About 2FA"
default: "If you want to enable 2FA then use the Beyond-HD (API) indexer instead."
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- 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: login
method: form
form: form[action$="/login"]
captcha:
type: image
selector: img[src^="/captcha?_CAPTCHA"]
input: key
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: on
selectorinputs:
_token:
selector: input[name="_token"]
attribute: value
error:
- selector: form[action$="/login"] .text-red
- selector: script:contains("toastr.error")
message:
selector: script:contains("toastr.error")
# test:
# path: torrents
search:
paths:
- path: torrents
inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
imdb: "{{ .Query.IMDBIDShort }}"
tmdb: "{{ .Query.TMDBID }}"
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100
rows:
selector: div.table-torrents > table > tbody > tr[id^="torrentposter"]
fields:
category:
selector: a[href*="/categories/"]
attribute: href
optional: true
default: 1
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.torrent-name
details:
selector: a.torrent-name
attribute: href
download:
selector: a[href*="/download/"]
attribute: href
date:
selector: td:not(a[href$="/history"]) span.text-orange
filters:
- name: timeago
size:
selector: td span.text-blue
seeders:
selector: a[href$="/peers"] span.text-green
leechers:
selector: a[href$="/peers"] span.text-red
grabs:
selector: a[href$="/history"]
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
tmdbid:
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
attribute: href
downloadvolumefactor:
case:
i[data-original-title="100% Free"]: 0
i[data-original-title="100% Free (Limited UL)"]: 0
i[data-original-title="25% Promo"]: 0.75
i[data-original-title="50% Promo"]: 0.5
i[data-original-title="75% Promo"]: 0.25
"*": 1
uploadvolumefactor:
text: 1
# UNIT3D (custom)

View File

@@ -1,176 +0,0 @@
---
id: bithorlo
name: Bithorlo
description: "Bithorlo (BHO) is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
language: hu-HU
type: private
encoding: UTF-8
links:
- https://www.bithorlo.info/
caps:
categorymappings:
# E-book
- {id: 40, cat: Books, desc: "E-book/Eng"}
- {id: 19, cat: Books, desc: "E-book/Hun"}
# Játék
- {id: 38, cat: Console, desc: "Játék/Consol"}
- {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: 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: 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: 13, cat: Audio, desc: "Zene/Hun"}
- {id: 12, cat: Audio, desc: "Zene/Eng"}
# Egyéb
- {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: 10, cat: XXX, desc: "XXX/Kép"}
- {id: 9, cat: XXX, desc: "XXX/Film"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- name: useragent
type: text
label: User-Agent
- name: info_useragent
type: info_useragent
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sortBy
type: select
label: SortBy requested from site
default: 2
options:
2: created
5: seeders
3: size
1: title
- name: orderBy
type: select
label: OrderBy requested from site
default: 0
options:
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/
selector: a[href="/logout/"]
search:
paths:
# https://www.bithorlo.info/torrents/?action=search&categories[]=29&categories[]=4&search_text=&incldead=1&torrent_tags=
- path: torrents/
inputs:
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.sortBy }}"
order_by: "{{ .Config.orderBy }}"
headers:
User-Agent: ["{{ .Config.useragent }}"]
rows:
selector: table#torrenttable > tbody > tr
fields:
category:
selector: td.fixed-width-category > a
attribute: href
filters:
- name: querystring
args: categories[]
title:
selector: a.torrent-name
details:
selector: a.torrent-name
attribute: href
download:
selector: a[href^="/download/"]
attribute: href
poster:
selector: span.custom-popover
attribute: data-bs-content
filters:
- name: regexp
args: \"(.+?)\"
date:
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 > a
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:
"span:contains(\"FREE\")": 0
"*": 1
uploadvolumefactor:
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
# engine n/a

View File

@@ -1,186 +0,0 @@
---
id: bitsexy
name: BitSexy
description: "BitSexy is a Private Torrent Tracker for 3X"
language: en-US
type: private
encoding: UTF-8
links:
- https://bitsexy.org/
caps:
categorymappings:
- {id: 33, cat: XXX, desc: "Amateur"}
- {id: 19, cat: XXX, desc: "Anal"}
- {id: 16, cat: XXX, desc: "Anime"}
- {id: 17, cat: XXX, desc: "Asian"}
- {id: 26, cat: XXX, desc: "BBW"}
- {id: 22, cat: XXX, desc: "BDSM"}
- {id: 18, cat: XXX, desc: "Big Tits"}
- {id: 43, cat: XXX, desc: "Black"}
- {id: 46, cat: XXX, desc: "Classic"}
- {id: 41, cat: XXX, desc: "Creampie"}
- {id: 28, cat: XXX, desc: "DVD-R"}
- {id: 21, cat: XXX, desc: "Ebony"}
- {id: 20, cat: XXX, desc: "Extreme"}
- {id: 44, cat: XXX, desc: "Feature"}
- {id: 31, cat: XXX, desc: "Fetish"}
- {id: 35, cat: XXX, desc: "Foreign"}
- {id: 53, cat: XXX, desc: "Gay"}
- {id: 30, cat: XXX, desc: "Gonzo"}
- {id: 51, cat: XXX, desc: "Handjob"}
- {id: 36, cat: XXX, desc: "Hardcore"}
- {id: 24, cat: XXX, desc: "Interracial"}
- {id: 37, cat: XXX, desc: "Latina"}
- {id: 25, cat: XXX, desc: "Lesbian"}
- {id: 52, cat: XXX, desc: "Magazines"}
- {id: 49, cat: XXX, desc: "Masturbation"}
- {id: 23, cat: XXX, desc: "Mature"}
- {id: 40, cat: XXX, desc: "MILF"}
- {id: 38, cat: XXX, desc: "Oral"}
- {id: 42, cat: XXX, desc: "Orgy"}
- {id: 29, cat: XXX, desc: "Other"}
- {id: 39, cat: XXX, desc: "Packs"}
- {id: 27, cat: XXX, desc: "PC Games"}
- {id: 15, cat: XXX, desc: "Pics"}
- {id: 48, cat: XXX, desc: "POV"}
- {id: 50, cat: XXX, desc: "Public"}
- {id: 14, cat: XXX, desc: "Reality"}
- {id: 47, cat: XXX, desc: "Shemale"}
- {id: 45, cat: XXX, desc: "Softcore"}
- {id: 55, cat: XXX, desc: "Solo"}
- {id: 54, cat: XXX, desc: "Squirt"}
- {id: 32, cat: XXX, desc: "Teens"}
- {id: 34, cat: XXX, desc: "Virtual"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img.cimage
input: captcha
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("failed")
test:
path: my.php
selector: a[href$="logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 4 480p, 5 720p, 6 1080p, 7 4k
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
keywordsfilters:
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
rows:
selector: div.torrentrow:has(a[href^="download.php?torrent="])
filters:
- name: andmatch
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a[onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) width"
files:
selector: div.torrenttable:nth-last-child(7)
date_day:
# Today 02:40 PM
# Yesterday 09:10 AM
selector: div.torrenttable:nth-last-child(5):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
# Jul 4 2019 08:04 AM
selector: div.torrenttable:nth-last-child(5):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "MMM d yyyy hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: div.torrenttable:nth-last-child(4)
grabs:
selector: div.torrenttable:nth-last-child(3)
seeders:
selector: div.torrenttable:nth-last-child(2)
leechers:
selector: div.torrenttable:nth-last-child(1)
downloadvolumefactor:
case:
img[src$="/pic/freeleech.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 1 days (as seconds = 1 x 24 x 60 x 60)
text: 86400
# TBdev

View File

@@ -1,182 +0,0 @@
---
id: bitspyder
name: Bitspyder
description: "Bitspyder is a Private site for Educational BOOKS / AUDIO"
language: en-US
type: private
encoding: iso-8859-1
links:
- https://bitspyder.net/
legacylinks:
- http://bitspyder.net/
caps:
categorymappings:
- {id: 61, cat: Books, desc: "3D"}
- {id: 69, cat: Books, desc: "Anim|GFX"}
- {id: 56, cat: Books, desc: "Art"}
- {id: 40, cat: Audio/Audiobook, desc: "Audio Books"}
- {id: 55, cat: Books, desc: "Business"}
- {id: 46, cat: Books, desc: "Career"}
- {id: 2, cat: Books, desc: "CBTs"}
- {id: 39, cat: Books, desc: "Cert QA"}
- {id: 63, cat: Books, desc: "College"}
- {id: 53, cat: Books, desc: "Cooking"}
- {id: 35, cat: Books, desc: "Developer"}
- {id: 42, cat: Books, desc: "Documentary"}
- {id: 37, cat: Books/EBook, desc: "e-Books"}
- {id: 65, cat: Books, desc: "Engineering"}
- {id: 45, cat: Books, desc: "Ethical hacking"}
- {id: 54, cat: Books, desc: "Health-Fitness"}
- {id: 64, cat: Books, desc: "Kids"}
- {id: 47, cat: Books, desc: "Languages"}
- {id: 49, cat: Books, desc: "Linux CBTs"}
- {id: 43, cat: Books, desc: "Lynda.com"}
- {id: 57, cat: Books/Mags, desc: "Magazines"}
- {id: 60, cat: Books, desc: "Medical"}
- {id: 44, cat: Books, desc: "Misc Learning"}
- {id: 51, cat: Books, desc: "Music Learning"}
- {id: 41, cat: Books, desc: "Others"}
- {id: 58, cat: Books, desc: "Packt"}
- {id: 52, cat: Books, desc: "Photography"}
- {id: 71, cat: Books, desc: "Pluralsight"}
- {id: 68, cat: Books, desc: "Self Growth"}
- {id: 72, cat: Books, desc: "Templates"}
- {id: 38, cat: Books, desc: "Udemy"}
- {id: 59, cat: Books, desc: "WEB | SocialMedia"}
modes:
search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: sort
type: select
label: Sort requested from site
default: 8
options:
8: created
6: seeders
4: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info
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.
login:
path: login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.msg_info > font > b
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 title, 1 default
scope: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
keywordsfilters:
- name: re_replace
args: ["\\s+", " "] # More than 1 space to 1 space
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
- name: trim
rows:
selector: table > tbody > tr[class]
fields:
# there are two styles, we support both
title:
selector: a[href^="details.php?id="]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php/"]
- name: replace
args: ["&hit=1", "/dummy.torrent"]
size:
selector: td.rowcol:nth-child(6):has(br), font:contains("Size:") + font
files:
selector: a[href*="&filelist=1"]
grabs:
selector: td.rowcol:nth-child(7):has(br), td.clear:nth-child(4)
seeders:
selector: td.rowcol:nth-last-child(3)
leechers:
selector: td.rowcol:nth-last-child(2)
date_added:
optional: true
selector: font[color="5F5F5F"]
filters:
- name: split
args: [" (", 0]
- name: replace
args: ["\xA0", " "]
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_upload:
optional: true
selector: a[title^="Upploaded at"]
attribute: title
filters:
- name: replace
args: ["Upploaded at - ", ""]
- name: replace
args: ["\xA0", " "]
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_upload .Result.date_added }}{{ or .Result.date_upload .Result.date_added }}{{ else }}now{{ end }}"
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
description:
selector: font[color="#990000"]
minimumratio:
text: 1.0
# custom v4

View File

@@ -1,180 +0,0 @@
---
id: bitstream-api
name: BitStream (API)
description: "BitStream is a SPANISH Private tracker for H.265 MOVIES / TV"
language: es-ES
type: private
encoding: UTF-8
links:
- https://bitstream.click/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, 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://bitstream.click/\" target=\"_blank\">BitStream</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: "Not logging in for a month will result in the account being deactivated or banned. If an account does not register downloads in a month, it will be banned for users with the User rank. Other ranks will be given a timeframe determined by staff."
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 }} Spanish"
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: 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 }}"
minimumseedtime:
# 15 days (as seconds = 15 x 24 x 60 x 60)
text: 1296000
# json UNIT3D 8.2.0

View File

@@ -1,177 +0,0 @@
---
id: bolly-api
name: Bolly (API)
description: "Bolly (Telly) is an INDIAN Private Tracker for MOVIES / TV"
language: en-US
type: private
encoding: UTF-8
links:
- https://bolly.wtf/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movie"}
- {id: 2, cat: TV, desc: "TV"}
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://bolly.wtf/\" target=\"_blank\">Bolly</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: 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 }}"
# json UNIT3D 8.2.0

View File

@@ -1,139 +0,0 @@
---
id: broadcity
name: BroadCity
description: "BroadCity is a TURKISH Private Torrent Tracker for MOVIES and TV"
language: tr-TR
type: private
encoding: UTF-8
links:
- https://broadcity.in/ # site is forcing to https
legacylinks:
- http://broadcity.in/
caps:
categorymappings:
- {id: 1, cat: Movies/UHD, desc: "UHD"}
- {id: 2, cat: Movies/UHD, desc: "UHD - BluRay"}
- {id: 8, cat: Movies/UHD, desc: "UHD - TV"}
- {id: 6, cat: Movies/WEB-DL, desc: "UHD - WEB-DL"}
- {id: 16, cat: Movies/UHD, desc: "UHD - WEBRip"}
- {id: 31, cat: Movies/BluRay, desc: "BluRay Disk"}
- {id: 3, cat: Movies/HD, desc: "HD"}
- {id: 25, cat: Movies/3D, desc: "HD - 3D"}
- {id: 4, cat: Movies/HD, desc: "HD - BluRay"}
- {id: 7, cat: Movies/HD, desc: "HD - TV"}
- {id: 5, cat: Movies/WEB-DL, desc: "HD - WEB-DL"}
- {id: 14, cat: Movies/HD, desc: "HD - WEBRip"}
- {id: 40, cat: Movies/HD, desc: "PTer"}
- {id: 9, cat: Movies/SD, desc: "SD"}
- {id: 23, cat: Movies/SD, desc: "SD - BluRay"}
- {id: 10, cat: Movies/DVD, desc: "SD - DVD"}
- {id: 36, cat: Movies/SD, desc: "SD - DVDRip"}
- {id: 12, cat: Movies/SD, desc: "SD - TV"}
- {id: 13, cat: Movies/WEB-DL, desc: "SD - WEB-DL"}
- {id: 15, cat: Movies/SD, desc: "SD - WEBRip"}
- {id: 17, cat: TV, desc: "TV"}
- {id: 26, cat: TV/Other, desc: "TV - TV Program"}
- {id: 19, cat: TV, desc: "TV - Yabanci Dizi"}
- {id: 18, cat: TV, desc: "TV - Yerli Dizi"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
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: freeleech
type: checkbox
label: Filter freeleech only
default: false
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href*="/logout.php?logouthash="]
download:
before:
path: takethanks.php
method: post
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
selectors:
- selector: a[href*="download.php?id="]
attribute: href
search:
paths:
- path: browse.php
inputs:
# does not support multi categories so defaulting to ALL
do: search
keywords: "{{ .Keywords }}"
category: 0
search_type: t_name
include_dead_torrents: yes
rows:
selector: "table#sortabletable tbody tr:has(div[id^=\"port-target-\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
title:
selector: div[id^="port-target-"] a
details:
selector: div[id^="port-target-"] a
attribute: href
download:
selector: div[id^="port-target-"] a
attribute: href
poster:
selector: div[id^="port-content-"] img
attribute: src
date:
selector: td:nth-child(2)
filters:
- name: regexp
args: (\d{2}-\d{2}-\d{4} \d{2}:\d{2})
- name: append
args: " +03:00" # TRT
- name: dateparse
args: "dd-MM-yyyy HH:mm zzz"
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
downloadvolumefactor:
case:
img[src$="/freedownload.gif"]: 0
img[src$="/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="/x2.gif"]: 2
"*": 1
minimumratio:
text: 0.5
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# TS Special Edition v.7.5

View File

@@ -1,149 +0,0 @@
---
id: brsociety-api
name: BrSociety (API)
description: "BrSociety (SemeandoCC) is a BRAZILIAN Private Torrent Tracker for E-LEARNING"
language: pt-BR
type: private
encoding: UTF-8
links:
- https://brsociety.club/
caps:
categorymappings:
- {id: 1, cat: Other, desc: "Cursos"}
- {id: 2, cat: Books/EBook, desc: "eBooks"}
- {id: 5, cat: Books/Mags, desc: "Revistas"}
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
- {id: 4, cat: Other, desc: "Arquivos de Auxilio"}
- {id: 6, cat: Other, desc: "Graduação"}
- {id: 7, cat: TV/Documentary, desc: "Documentários"}
modes:
search: [q]
tv-search: [q, season, ep]
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://brsociety.club/\" target=\"_blank\">BrSociety</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: 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: "Your account will be considered inactive if it exceeds 90 days without you logging in to the Website. After 90 days of inactivity (i.e., 180 days without login) it will be deleted from the tracker."
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 }}."
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:
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
"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:
selector: name
details:
selector: details_link
download:
selector: download_link
magnet:
selector: magnet_link
optional: true
infohash:
selector: info_hash
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
# global MR is 0.7 but torrents must be seeded for 4 days regardless of ratio
# minimumratio:
# text: 0.7
minimumseedtime:
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
# json UNIT3D 7.1.3 (custom)

View File

@@ -1,104 +0,0 @@
---
id: btmet
name: BTMET
description: "BTMET is a Public magnet indexer"
language: en-US
type: public
encoding: UTF-8
links:
- https://btmet.com/
caps:
categories:
Audio: Audio
Compressed: Other
Document: Books
Image: Other
Installation: PC
Other: Other
TV: TV # dummy cat to allow both Movies,TV to be categorised when Video is found.
Video: Movies
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
settings:
- name: sort
type: select
label: Sort requested from site
default: 0
options:
0: relevance
1: created
2: size
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
# https://btmet.com/search.php?q=2022&c=&l=&o=1
- path: search.php
inputs:
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
o: "{{ if .Keywords }}{{ .Config.sort }}{{ else }}1{{ end }}"
rows:
selector: div.search-item:has(a[href^="magnet"])
filters:
- name: andmatch
fields:
category:
selector: div.item-bar > span[class="cpill blue-pill"]
category|append:
# add tv to video
optional: true
selector: div.item-bar > span[class="cpill blue-pill"]
filters:
- name: replace
args: ["Video", "TV"]
title:
selector: a.smashTitle > script:contains("decodeURIComponent")
filters:
- name: urldecode
- name: replace
args: ['document.write(decodeURIComponent("', ""]
- name: replace
args: ['"));', ""]
- name: replace
args: ["<b style='color:#ea644a'>", ""]
- name: replace
args: ["</b>", ""]
- name: htmldecode
details:
selector: a.smashTitle
attribute: href
infohash:
selector: a[href^="magnet:?xt="]
attribute: href
filters:
- name: regexp
args: ([a-f|0-9]{40})
date:
# unix
selector: div.item-bar > span:nth-child(2) > b
attribute: t
filters:
- name: regexp
args: (\d{10})
size:
selector: div.item-bar > span:nth-child(3) > b
files:
selector: div.item-bar > span:nth-child(4) > b
seeders:
selector: div.item-bar > span:nth-child(5) > b
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,70 +0,0 @@
---
id: btsate
name: btsate
description: "btsate is a Public BitTorrent DHT search engine."
language: en-US
type: public
encoding: UTF-8
links:
- https://btstate.com/
caps:
categories:
Other: 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://btstate.com/api/searchByKeyword/2025?take=100&skip=0&page=1&pageSize=100
- path: "api/searchByKeyword/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
response:
type: json
inputs:
take: 100
skip: 0
page: 1
pageSize: 100
rows:
selector: items
attribute: _source
filters:
- name: andmatch
fields:
category:
text: Other
title:
selector: name
details:
text: "{{ .Config.sitelink }}"
infohash:
selector: infohash
date:
# unix
selector: createTime
filters:
- name: regexp
args: ^(\d{10})
size:
selector: size
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# json api

View File

@@ -1,88 +0,0 @@
---
id: btsow
name: BTSOW
description: "BTSOW is a Public torrent indexer"
language: en-US
type: public
encoding: UTF-8
# use https://tellme.pw/btsow to find the new domain
links:
- https://btsow.lol/
legacylinks:
- https://btsow.cfd/
- https://btsow.sbs/
- https://btsow.quest/
- https://btsow.autos/
- https://btsow.beauty/
- https://btsow.mom/
- https://btsow.boats/
- https://btsow.hair/
- https://btsow.bond/
- https://btsow.skin/
- https://btsow.makeup/
- https://btsow.homes/
- https://btsow.yachts/
- https://btsow.motorcycles/
- https://btsow.pics/
caps:
categories:
Other: 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
download:
selectors:
- selector: a#magnetOpen
attribute: href
search:
paths:
- path: "search/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
headers:
# site blocks Jackett's User-Agents, so slightly alter it here (e.g. Safari/537.36 > Safari/537.35)
User-Agent: ["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"]
rows:
selector: div.row:has(a[href*="/detail/hash/"])
fields:
category:
text: Other
title:
selector: a[href*="/detail/hash/"]
attribute: title
details:
selector: a[href*="/detail/hash/"]
attribute: href
download:
selector: a[href*="/detail/hash/"]
attribute: href
date:
selector: div.date
filters:
- name: append
args: " -00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd zzz"
size:
selector: div.size
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,196 +0,0 @@
---
id: cartoonchaos
name: CartoonChaos
description: "CartoonChaos (CC) is a Private Torrent Tracker for ANIMATED MOVIES / TV"
language: en-US
type: private
encoding: UTF-8
links:
- http://www.cartoonchaos.org/ # site does not support https NET::ERR_CERT_AUTHORITY_INVALID
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: info_results
type: info
label: "Search results"
default: "Only the <b>xBtit_Default</b> style is supported with this indexer.<br />For best results, increase the torrents number in your profile to 100.<br />Default is 15."
- name: sort
type: select
label: Sort requested from site
default: 3
options:
3: created
5: seeders
4: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
caps:
categorymappings:
- {id: 30, cat: TV, desc: "Complete Sets"}
- {id: 15, cat: TV, desc: "Educational"}
- {id: 16, cat: TV, desc: "Kids"}
- {id: 17, cat: TV, desc: "Mature Cartoons"}
- {id: 41, cat: TV, desc: "Shorts"}
- {id: 20, cat: TV/Anime, desc: "Anime Movies"}
- {id: 21, cat: TV/Anime, desc: "Anime Series"}
- {id: 26, cat: Movies, desc: "Animated Movies"}
- {id: 23, cat: Audio, desc: "Sound Tracks"}
- {id: 24, cat: Audio, desc: "Theme Tunes"}
- {id: 43, cat: Audio/Other, desc: "Misc Audio"}
- {id: 14, cat: TV, desc: "Banned"}
- {id: 29, cat: TV, desc: "Public Domain"}
- {id: 42, cat: TV/Foreign, desc: "Foreign Language"}
- {id: 28, cat: TV, desc: "Animated Adverts"}
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
login:
path: index.php?page=login
method: form
form: form[action^="index.php?page=login"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# http://www.cartoonchaos.org/index.php?page=torrents&search=transformers&category=30;21;20;26;15;16;17&options=0&active=0
- path: index.php
keywordsfilters:
# if searching for season packs switch S01 to season 1 #11775
- name: re_replace
args: ["(?i)(S0)(\\d{1,2})$", "season $2"]
- name: re_replace
args: ["(?i)(S)(\\d{1,3})$", "season $2"]
inputs:
page: torrents
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
# 0=title, 1=title&descr, 2=descr
options: "{{ if .Query.IMDBID }}2{{ else }}0{{ end }}"
# 0 all, 1 activeonly, 2 deadonly
active: 0
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
rows:
selector: "table.lista tr td table.lista tr:has(a[href^=\"index.php?page=torrent-details\"]):not(:has(a[href=\"index.php?page=torrents&category=0\"])){{ if .Config.freeleech }}:has(img[src=\"gold/gold.gif\"]){{ else }}{{ end }}"
fields:
title_torrent:
selector: a[href^="download.php?id="]
attribute: href
filters:
- name: querystring
args: f
- name: htmldecode
- name: re_replace
args: ["(?i)\\.torrent$", ""]
title_text:
selector: td a[href^="index.php?page=torrent-details"]
category:
selector: td a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
title:
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
filters:
# #11775
- name: re_replace # Seasons X-Y --> S0X-S0Y
args: ["(?i)\\bSeasons?[-.\\s]*(\\d)[-.\\s]*(?:-|to)[-.\\s]*(\\d)\\b", "S0$1-S0$2"]
- name: re_replace # Seasons X-YY --> S0X-SYY
args: ["(?i)\\bSeasons?[-.\\s]*(\\d)[-.\\s]*(?:-|to)[-.\\s]*(\\d+)\\b", "S0$1-S$2"]
- name: re_replace # Seasons XX-YY --> SXX-SYY
args: ["(?i)\\bSeasons?[-.\\s]*(\\d+)[-.\\s]*(?:-|to)[-.\\s]*(\\d+)\\b", "S$1-S$2"]
- name: re_replace # Season X --> S0X
args: ["(?i)\\bSeasons?[-.\\s]*(\\d)\\b", "S0$1"]
- name: re_replace # Season XX --> SXX
args: ["(?i)\\bSeasons?[-.\\s]*(\\d+)\\b", "S$1"]
details:
selector: td a[href^="index.php?page=torrent-details"]
attribute: href
download:
selector: td a[href^="download.php"]
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
filters:
# http://anonym.to?javascript:popdetails('http://www.imdb.com/title/tt0086817');
- name: regexp
args: tt(\d+)
poster:
selector: td a[href^="index.php?page=torrent-details"]:not(a[onmouseover*="torrentimg/nocover.jpg"])
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
size:
selector: td:nth-child(10)
# two flavours of dates
date_day:
# Yesterday at 10:03:30 PM
selector: td:nth-child(5):contains("day")
# auto adjusted by site account profile
optional: true
filters:
- name: re_replace
args: ["[ ]at|[//\xa0\\s,]+", " "]
date_year:
# February 09, 2019, 06:35:08 AM
selector: td:nth-child(5):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: re_replace
args: ["[//\xa0\\s,]+", " "]
- name: dateparse
args: "MMMM dd yyyy hh:mm:ss tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
downloadvolumefactor:
case:
img[src="gold/gold.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
text: 604800
# xbtit 2.0.0

View File

@@ -1,163 +0,0 @@
---
id: centraltorrent
name: Central Torrent
description: "Central Torrent is a POLISH Private Torrent Tracker for MOVIES / MUSIC"
language: pl-PL
type: private
encoding: ISO-8859-2
links:
- http://central-torrent.eu/ # site does not support https NET::ERR_CERT_AUTHORITY_INVALID
caps:
categorymappings:
- {id: 23, cat: TV/Anime, desc: "Animowane"}
- {id: 1, cat: PC, desc: "Aplikacje"}
- {id: 26, cat: Movies, desc: "Dzieci/Bajki"}
- {id: 29, cat: Books/EBook, desc: "E-books"}
- {id: 20, cat: Movies/SD, desc: "Filmy/DVD"}
- {id: 22, cat: Movies/SD, desc: "Filmy/RMVB"}
- {id: 35, cat: Movies/UHD, desc: "Filmy/UHD"}
- {id: 24, cat: Movies/HD, desc: "Filmy/x264"}
- {id: 36, cat: Movies/HD, desc: "Filmy/x265"}
- {id: 19, cat: Movies/SD, desc: "Filmy/XviD"}
- {id: 21, cat: Movies/SD, desc: "Filmy/XviD PL"}
- {id: 12, cat: PC/Games, desc: "Gry"}
- {id: 17, cat: PC/Games, desc: "Gry/Konsole"}
- {id: 4, cat: PC/Games, desc: "Gry/PC ISO"}
- {id: 28, cat: Other, desc: "GSM/PDA"}
- {id: 32, cat: Movies/BluRay, desc: "HD/Blu-ray"}
- {id: 31, cat: Audio/Lossless, desc: "Music/Lossless"}
- {id: 6, cat: Audio, desc: "Muzyka"}
- {id: 30, cat: Other, desc: "Rozne"}
- {id: 25, cat: TV/Sport, desc: "Sport"}
- {id: 27, cat: Audio/Video, desc: "Teledyski"}
- {id: 7, cat: TV, desc: "TV/Seriale"}
- {id: 9, cat: XXX, desc: "XXX"}
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: 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: "User accounts of the Power User class and lower, inactive for a period longer than 42 days, are deleted. Therefore, if for some reason you cannot access Central Torrent for some time, park your account. Although you won't be able to download torrents, you can be sure that you won't have to log in for 64 days. However, if after this time you do not log in to your account, it will be deleted."
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
captcha:
type: image
selector: img.cimage
input: captcha
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))
- selector: form[action="takelogin.php"]
message:
text: "Login page detected at {{ .Config.sitelink }}."
test:
path: index.php
selector: a[href="/my.php"]
download:
selectors:
- selector: a[href^="download.php/"]
attribute: href
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 all, 2 dead, 3 freeleech
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
# 0 all, 1 polish, 2 non-polish
polish: 0
# 0 name
blah: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table[onMouseover] > tbody > tr:has(a[href^="details.php?id="])
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(5)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
downloadvolumefactor:
case:
img[src="pic/freedownload.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# tbsource

View File

@@ -1,165 +0,0 @@
---
id: cheggit
name: cheggit
description: "cheggit is a Private site for 3X"
language: en-US
type: private
encoding: UTF-8
links:
- https://www.cheggit.me/
caps:
categorymappings:
- {id: 1, cat: XXX, desc: "Amateur"}
- {id: 2, cat: XXX, desc: "Anal"}
- {id: 5, cat: XXX, desc: "Asian"}
- {id: 6, cat: XXX, desc: "BBW"}
- {id: 30, cat: XXX, desc: "BDSM"}
- {id: 36, cat: XXX, desc: "Big Ass"}
- {id: 8, cat: XXX, desc: "Big Tits"}
- {id: 7, cat: XXX, desc: "Black"}
- {id: 9, cat: XXX, desc: "Classic"}
- {id: 37, cat: XXX, desc: "Creampie"}
- {id: 10, cat: XXX, desc: "Cumshot"}
- {id: 11, cat: XXX, desc: "DVD-R"}
- {id: 12, cat: XXX, desc: "Fetish"}
- {id: 14, cat: XXX, desc: "Gang Bang / Orgy"}
- {id: 39, cat: XXX, desc: "Gay / Bi"}
- {id: 56, cat: XXX, desc: "Hairy"}
- {id: 35, cat: XXX, desc: "Hardcore"}
- {id: 44, cat: XXX, desc: "HD Porn"}
- {id: 3, cat: XXX, desc: "Hentai / 3D"}
- {id: 25, cat: XXX, desc: "Homemade"}
- {id: 43, cat: XXX, desc: "Interracial"}
- {id: 16, cat: XXX, desc: "Latina"}
- {id: 23, cat: XXX, desc: "Lesbian"}
- {id: 52, cat: XXX, desc: "Lingerie"}
- {id: 27, cat: XXX, desc: "Magazines"}
- {id: 53, cat: XXX, desc: "Manga / Comic"}
- {id: 18, cat: XXX, desc: "Masturbation"}
- {id: 26, cat: XXX, desc: "Mature"}
- {id: 40, cat: XXX, desc: "Megapack"}
- {id: 41, cat: XXX, desc: "Natural Tits"}
- {id: 17, cat: XXX, desc: "Oral"}
- {id: 29, cat: XXX, desc: "Other"}
- {id: 47, cat: XXX, desc: "Parody"}
- {id: 21, cat: XXX, desc: "Pictures / Images"}
- {id: 50, cat: XXX, desc: "Piss"}
- {id: 55, cat: XXX, desc: "Porn Music Videos"}
- {id: 46, cat: XXX, desc: "Pregnant / Preggo"}
- {id: 15, cat: XXX, desc: "Shemale / TS"}
- {id: 22, cat: XXX, desc: "Siterip"}
- {id: 20, cat: XXX, desc: "Softcore"}
- {id: 49, cat: XXX, desc: "Squirt"}
- {id: 34, cat: XXX, desc: "Straight"}
- {id: 19, cat: XXX, desc: "Teen"}
- {id: 45, cat: XXX, desc: "Voyeur"}
- {id: 13, cat: PC/Games, desc: "XXX Games / Apps"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- 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.
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
error:
- selector: span.warning:contains(" was incorrect.")
test:
path: index.php
selector: a[href^="logout.php?auth="]
search:
paths:
# https://www.cheggit.me/torrents.php?filter_cat[1]=1&order_by=time&order_way=desc&filter_freeleech=1&searchtext=&search_type=0&taglist=&tags_type=0
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
searchtext: "{{ .Keywords }}"
# 0=any, 1=all
search_type: 1
rows:
selector: table#torrent_table > tbody > tr:not(tr.colhead)
fields:
category:
selector: a[href^="torrents.php?filter_cat"]
attribute: href
filters:
- name: regexp
args: \[(\d+)\]
title:
selector: a[href^="torrents.php?id="]
details:
selector: a[href^="torrents.php?id="]
attribute: href
download:
selector: a[href^="torrents.php?action=download"]
attribute: href
description:
selector: div.tags
files:
selector: td:nth-child(3)
date:
selector: span.time
attribute: title
filters:
- name: append
args: " +00:00" # auto adjusted by site account profile
- name: dateparse
args: "MMM dd yyyy, HH:mm zzz"
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
img[src$="/freedownload.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.51
# engine n/a

View File

@@ -1,211 +0,0 @@
---
id: chilebt
name: ChileBT
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: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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: login
method: form
form: form[action$="/login"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: on
selectorinputs:
_token:
selector: input[name="_token"]
attribute: value
error:
- selector: script[nonce]:contains("Error")
message:
selector: script[nonce]:contains("Error")
# test:
# path: /
# selector: a[href$="/logout"]
search:
paths:
- path: filterTorrents
inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: "{{ .Query.TVDBID }}"
tmdb: "{{ .Query.TMDBID }}"
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 50
page: 0
view: list
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
# can search by genre but need range support. &genres[]=Action&genres[]=Comedy for Action and Comedy
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
poster:
selector: div.torrent-poster img
attribute: src
filters:
- name: prepend
args: "https://images.weserv.nl/?url=" # for display on dashboard
- name: append
args: "&w=180&h=270" # for display on dashboard
- name: replace
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
genre:
selector: td:nth-last-child(6)
filters:
- name: replace
args: ["\n", ""]
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: validate
args: "Action, Adventure, Animation, Biography, Comedy, Crime, Documentary, Drama, Family, Fantasy, Game-Show, History, Horror, Music, Musical, Mystery, News, Reality-TV, Romance, Science_Fiction, Sitcom, Sport, Talk-Show, Thriller, War, Western"
description:
text: "{{ .Result.genre }}"
size:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
grabs:
selector: td:nth-last-child(1)
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
tmdbid:
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
attribute: href
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
- name: re_replace
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
- name: re_replace
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
- name: re_replace
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
- name: re_replace
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
- name: re_replace
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
- name: re_replace
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
- name: re_replace
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
- name: re_replace
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
- name: re_replace
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
- name: re_replace
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
- name: re_replace
args: ["(?i) (ay)", "month"]
- name: re_replace
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
- name: re_replace
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
- name: re_replace
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
- name: re_replace
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
- name: re_replace
args: ["(?i) (an)", "year"]
- name: re_replace
args: ["(?i)(För |und)", ""] # Misc removals
- name: timeago
downloadvolumefactor:
case:
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
i[class*="fa-star text-gold"]: 0 # Freeleech
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
"*": 1
uploadvolumefactor:
case:
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
i[class*="fa-globe text-green"]: 2 # Global Double Upload
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
"*": 1
# global MR is 0.5 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 0.5
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
text: 604800
# UNIT3D 1.9.3

View File

@@ -1,186 +0,0 @@
---
id: classix
name: Classix
description: "Classix is a Private Torrent Tracker for classic MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- http://classix-unlimited.co.uk/ # site does not support https ERR_CONNECTION_CLOSED
caps:
categorymappings:
- {id: 59, cat: PC/0day, desc: "Apps: Movies: Misc"}
- {id: 55, cat: PC/0day, desc: "Apps: Graphics Editing GNU/Linux"}
- {id: 53, cat: PC/0day, desc: "Apps: Apps DVD/Blu-Ray Copy Mac"}
- {id: 57, cat: PC/0day, desc: "Apps: DVD/Blu-Ray Copy GNU/Linux"}
- {id: 51, cat: PC/0day, desc: "Apps: Graphics Editing Mac"}
- {id: 58, cat: PC/0day, desc: "Apps: Music Editing & Recording GNU/"}
- {id: 52, cat: PC/0day, desc: "Apps: Apps DVD Editing Mac"}
- {id: 56, cat: PC/0day, desc: "Apps: DVD Editing GNU/Linux"}
- {id: 54, cat: PC/0day, desc: "Apps: Music Editing & Recording Mac"}
- {id: 18, cat: PC/0day, desc: "Apps: Graphics Editing PC"}
- {id: 19, cat: PC/0day, desc: "Apps: DVD Editing PC"}
- {id: 20, cat: PC/0day, desc: "Apps: DVD/Blu-Ray Copying PC"}
- {id: 21, cat: PC/0day, desc: "Apps: Music Editing & Recording PC"}
- {id: 66, cat: Other, desc: "grumpyman: pending torrents"}
- {id: 67, cat: Books/EBook, desc: "Media: pdf"}
- {id: 49, cat: Movies/HD, desc: "Movies: HD-Compressed Or Stripped"}
- {id: 47, cat: Movies/Other, desc: "Movies: Covers & Artwork"}
- {id: 48, cat: Movies/SD, desc: "Movies: DVD-Compressed Or Stripped"}
- {id: 1, cat: Movies/DVD, desc: "Movies: DVD-Untouched"}
- {id: 50, cat: Movies, desc: "Movies: Made For TV"}
- {id: 2, cat: Movies/SD, desc: "Movies: Divx/Xvid/Avi"}
- {id: 60, cat: Movies/HD, desc: "Movies: HD-mkv/mts"}
- {id: 65, cat: Movies/Foreign, desc: "Movies: Movies - w/additional lang/sub"}
- {id: 42, cat: Movies/HD, desc: "Movies: HD-Untouched"}
- {id: 3, cat: Movies/SD, desc: "Movies: SVCD/VCD"}
- {id: 71, cat: Movies/UHD, desc: "Movies: 4K-Untouched"}
- {id: 4, cat: Movies/Other, desc: "Movies: Other"}
- {id: 22, cat: Audio/MP3, desc: "Music: MP3"}
- {id: 23, cat: Audio/Lossless, desc: "Music: Lossless"}
- {id: 24, cat: Audio/Video, desc: "Music: DVD"}
- {id: 70, cat: Audio/Video, desc: "Music: HD"}
- {id: 25, cat: Audio/Video, desc: "Music: Video"}
- {id: 27, cat: Audio/Other, desc: "Music: Other"}
- {id: 63, cat: Other, desc: "Other: Educational/Instructional"}
- {id: 61, cat: Books/EBook, desc: "Other: Related Material"}
- {id: 37, cat: Other, desc: "Other: Images"}
- {id: 62, cat: TV, desc: "TV: Mini-Series"}
- {id: 64, cat: TV/Other, desc: "TV: Covers & Art Work"}
- {id: 69, cat: TV/SD, desc: "TV: Series - Compressed"}
- {id: 5, cat: TV/SD, desc: "TV: Series: DVD"}
- {id: 73, cat: TV/HD, desc: "TV: Complete Series HD"}
- {id: 72, cat: TV/SD, desc: "TV: Complete Series DVD"}
- {id: 41, cat: TV/HD, desc: "TV: Series: HD"}
- {id: 74, cat: TV, desc: "TV: Series Compilation: DVD or HD"}
- {id: 6, cat: TV/SD, desc: "TV: Divx/Xvid/AVI"}
- {id: 7, cat: TV/SD, desc: "TV: SVCD/VCD"}
- {id: 68, cat: TV, desc: "TV: .mkv"}
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: Search freeleech only
default: false
- name: info_free
type: info
label: About Freeleech at Classix
default: This appears to only be uploads by the admin <b>grumpyman57</b>.
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: 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: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.myContent:contains("Access Denied")
test:
path: index.php
selector: a[href="account-logout.php"]
search:
paths:
- path: torrents-search.php
inputs:
# category search returns results from unrelated categories
# $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
cat: 0
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 notfree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 all, 1 english, etc
lang: 0
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# does not support imdbid search and does not return imdb link in results
keywordsfilters:
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
rows:
selector: table > tbody > tr:has(a[href^="torrents.php?cat="])
fields:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="]
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="torrents-details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?)>"
date:
selector: a[href^="torrents-details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "Date Added: </b>(\\d{2}-\\d{2}-\\d{4})<br />"
- name: dateparse
args: "MM-dd-yyyy"
size:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
genre:
selector: a[href^="torrents.php?gen="]
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
# returned results not marked as freeleech
text: "{{ if .Config.freeleech }}0{{ else }}1{{ end }}"
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 2 day (as seconds = 2 x 24 x 60 x 60)
text: 172800
# engine TorrentTrader v2-svn

View File

@@ -1,153 +0,0 @@
---
id: cpasbien
name: cpasbien
description: "cpasbien is a FRENCH Public site for TV / MOVIES / GENERAL"
language: fr-FR
type: public
encoding: UTF-8
followredirect: true
links:
- https://feminalpes.fr/
legacylinks:
- https://www.cpasbiens.cz/
- https://www.cpasbiens.bz/
- https://www.cpasbien.vg/
- https://www.cpasbien.lol/
- https://www.gktorrent.biz/
- https://vww.cpasbien-fr.fr/
- https://wvw.cpasbien-fr.fr/
- https://wwwv.cpasbien-fr.fr/
- https://www2.cpasbien-fr.fr/
- https://www.cpasbien-fr.nz/
- https://vwwvwvwvvw.cpasbien-fr.nz/
- https://cpasbiens3.fr/
- https://labastidevivante.fr/
- https://cpasbiens911.fr/
- https://jardattraction.fr/
- https://cpasbien-vf.fr/
- https://cpasbien-vf.pics/
- https://cpasbien-vf.li/
caps:
categories:
Other: Other
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: info_flaresolverr
type: info_flaresolverr
- name: info_category_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: multilang
type: checkbox
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
download:
selectors:
- selector: a[href^="magnet:?xt="]
attribute: href
search:
paths:
- path: "{{ if .Keywords }}index.php?do=search&subaction=search{{ else }}{{ end }}"
method: post
# postData is mandatory FlareSolverr/FlareSolverr#789
allowEmptyInputs: true
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
fields:
category:
text: Other
title_phase1_title:
selector: a
title_phase1_url:
selector: a
attribute: href
filters:
- name: regexp
args: torrents\d+\/(.+?)\/
- name: replace
args: ["-", " "]
title_phase1:
text: "{{ if .Result.title_phase1_title }}{{ .Result.title_phase1_title }}{{ else }}{{ .Result.title_phase1_url }}{{ end }}"
filters:
- name: re_replace
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a
attribute: href
download:
selector: a
attribute: href
poster:
selector: img
attribute: src
size:
selector: div.poid
optional: true
default: "512 MB"
date:
text: now
seeders:
selector: div.up
optional: true
default: 0
leechers:
selector: div.down
optional: true
default: 0
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,194 +0,0 @@
---
id: dajiao
name: Dajiao (打胶)
description: "Dajiao (打胶) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://dajiao.cyou/
caps:
categorymappings:
- {id: 414, cat: Console, desc: "Games/游戏"}
- {id: 412, cat: Audio/Audiobook, desc: "Audio Books/有声书"}
- {id: 409, cat: Other, desc: "Others/音乐"}
- {id: 411, cat: Books/Comics, desc: "Manga/漫画"}
- {id: 413, cat: Books/EBook, desc: "E-Books/电子书"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 403, cat: TV, desc: "TV Variety Shows/综艺"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 416, cat: TV, desc: "TV Shows/电视节目"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
book-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 Kufei 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.
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("失败"))
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.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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
minimumratio:
text: 1.0
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.15 2024-12-10

View File

@@ -1,177 +0,0 @@
---
id: dariustracker
name: Darius Tracker
description: "Darius Tracker is a HUNGARIAN Private Tracker for MOVIES / TV / GENERAL"
language: hu-HU
type: private
encoding: UTF-8
links:
- https://dariustracker.hu/
caps:
categorymappings:
- {id: 86, cat: Movies/SD, desc: "Film/Cam/XviD/Eng"}
- {id: 85, cat: Movies/SD, desc: "Film/Cam/XviD/Hun"}
- {id: 19, cat: Movies/DVD, desc: "Film/DVD-R/Eng"}
- {id: 17, cat: Movies/DVD, desc: "Film/DVD-R/Hun"}
- {id: 88, cat: XXX, desc: "Film/DVD/XXX"}
- {id: 62, cat: Movies/DVD, desc: "Film/DVD9/Hun"}
- {id: 82, cat: Movies/HD, desc: "Film/HD/Eng"}
- {id: 83, cat: Movies/HD, desc: "Film/HD/Hun"}
- {id: 89, cat: XXX, desc: "Film/HD/XXX"}
- {id: 48, cat: Movies/HD, desc: "Film/x264/Eng"}
- {id: 34, cat: Movies/HD, desc: "Film/x264/Hun"}
- {id: 16, cat: Movies/SD, desc: "Film/XviD/Eng"}
- {id: 15, cat: Movies/SD, desc: "Film/XviD/Hun"}
- {id: 64, cat: Movies/SD, desc: "Film/XviD/Pack"}
- {id: 70, cat: TV/Sport, desc: "Film/XviD/Sport"}
- {id: 33, cat: XXX, desc: "Film/XviD/XXX"}
- {id: 90, cat: Audio/Audiobook, desc: "Hangoskönyv"}
- {id: 31, cat: PC/Games, desc: "Játék/Pc/Iso"}
- {id: 29, cat: PC/Games, desc: "Játék/Pc/Rip"}
- {id: 54, cat: Console/PS3, desc: "Játék/PS2/PS3"}
- {id: 32, cat: Console/XBox, desc: "Játék/XBOX"}
- {id: 50, cat: Books, desc: "Könyv/Eng"}
- {id: 27, cat: Books, desc: "Könyv/Hun"}
- {id: 65, cat: Other, desc: "Képek"}
- {id: 66, cat: XXX, desc: "Képek/XXX"}
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng"}
- {id: 84, cat: Audio/Lossless, desc: "Lossless/Hun"}
- {id: 68, cat: Movies/DVD, desc: "Mese/DVD"}
- {id: 69, cat: Movies/SD, desc: "Mese/XviD"}
- {id: 67, cat: PC/Mobile-Other, desc: "Mobiltelefon"}
- {id: 26, cat: Audio/MP3, desc: "Mp3/Eng"}
- {id: 25, cat: Audio/MP3, desc: "Mp3/Hun"}
- {id: 14, cat: PC, desc: "Program/Egyéb"}
- {id: 81, cat: PC/ISO, desc: "Program/Iso"}
- {id: 49, cat: PC, desc: "Program/Rip"}
- {id: 58, cat: TV, desc: "Sorozat/Eng"}
- {id: 22, cat: TV, desc: "Sorozat/Hun"}
- {id: 24, cat: Audio/Video, desc: "Videóklipp"}
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: 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: sort
type: select
label: Sort requested from site
default: 4
options:
1: name
5: size
4: added
7: seeders
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table[cellpadding="5"]:contains("Hiba")
test:
path: index.php
selector: a[href^="logout.php"]
search:
paths:
# https://dariustracker.hu/browse.php?viewMode=&c68=1&c69=1&search=&incldead=1&sort=4&type=desc
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c[{{.}}]=1&{{end}}"
viewMode: ""
search: "{{ .Keywords }}"
# 0 active, 1 active and dead, 2 deadonly, 3 my torrents, 4 seedless
incldead: 1
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
# does not support imdbid searches
rows:
selector: "table[cellpadding=\"5\"] > tbody > tr > td > table[cellpadding=\"5\"] > tbody > tr:has(a[href^=\"download.php?torrent=\"]){{ if .Config.freeleech }}:has(img[src$=\"/arrowdown.png\"] ~ span:contains(\"0x\")){{ else }}{{ end }}"
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
attribute: title
filters:
- name: re_replace
args: ["(?i)(Név: |Első név: -)|Második név: -", ""]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a.preview
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
files:
selector: td:nth-last-child(7)
date:
selector: td:nth-last-child(5)
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-last-child(4) b
grabs:
selector: td:nth-last-child(3)
seeders:
selector: td:nth-last-child(2)
leechers:
selector: td:nth-last-child(1)
downloadvolumefactor:
selector: img[src$="/arrowdown.png"] ~ span
filters:
- name: regexp
args: (\d+)
uploadvolumefactor:
selector: img[src$="/arrowup.png"] ~ span
filters:
- name: regexp
args: (\d+)
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# engine n/a

View File

@@ -1,160 +0,0 @@
---
id: dark-shadow
name: Dark-Shadow
description: "Dark-Shadow (D-S) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: de-DE
type: private
encoding: UTF-8
links:
- https://dark-shadow.me/
legacylinks:
- https://dark-shadow.ml/
- https://projekt.dark-shadow.me/
caps:
categorymappings:
- {id: 32, cat: Movies/HD, desc: "Filme > HD"}
- {id: 28, cat: Movies/SD, desc: "Filme > SD"}
- {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
- {id: 140, cat: Movies/BluRay, desc: "Filme > BluRay"}
- {id: 138, cat: Movies, desc: "Filme > Pack's"}
- {id: 147, cat: Movies/HD, desc: "Filme > h266/x266"}
- {id: 57, cat: TV/HD, desc: "Serien > HD"}
- {id: 60, cat: TV/SD, desc: "Serien > SD"}
- {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
- {id: 59, cat: TV, desc: "Serien > Pack's"}
- {id: 110, cat: Audio/MP3, desc: "Audio > MP3"}
- {id: 48, cat: Audio/Lossless, desc: "Audio > Flac"}
- {id: 52, cat: Audio, desc: "Audio > Pack"}
- {id: 63, cat: Audio/Audiobook, desc: "Audio > Hörbuch"}
- {id: 120, cat: Audio/Video, desc: "Audio > Videos"}
- {id: 12, cat: PC/0day, desc: "Apps > Windows"}
- {id: 125, cat: PC/Mac, desc: "Apps > Mac-OSX"}
- {id: 11, cat: PC/Mobile-Other, desc: "Apps > Mobil"}
- {id: 141, cat: PC/ISO, desc: "Apps > Other"}
- {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
- {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
- {id: 148, cat: TV/Documentary, desc: "Doku > UHD"}
- {id: 123, cat: TV/Documentary, desc: "Doku > Pack's"}
- {id: 17, cat: PC/Games, desc: "Spiel > PC"}
- {id: 24, cat: Console, desc: "Spiel > Konsole"}
- {id: 126, cat: Console/Other, desc: "Spiel > Mobil"}
- {id: 121, cat: Console, desc: "Spiel > Wimmelbild"}
- {id: 61, cat: TV/Sport, desc: "Sport > HD"}
- {id: 62, cat: TV/Sport, desc: "Sport > SD"}
- {id: 96, cat: Books/Mags, desc: "ePaper > Zeitungen"}
- {id: 136, cat: Books/EBook, desc: "ePaper > E-Book"}
- {id: 137, cat: Books/Comics, desc: "ePaper > Comics"}
- {id: 143, cat: XXX/x264, desc: "XXX > HD / SD"}
- {id: 149, cat: XXX/Other, desc: "XXX > Magazine"}
- {id: 75, cat: XXX/Pack, desc: "XXX > Pack's"}
- {id: 142, cat: XXX/ImageSet, desc: "XXX > Pic's"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: info_password
type: info
label: About Password Expiry
default: "D-S 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: onlyupload
type: checkbox
label: Search OnlyUpload
default: false
- name: info_free
type: info
label: About OnlyUpload at D-S
default: "OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech)."
- name: info_activity
type: info
label: Account Inactivity
default: "Inactive accounts will be deactivated after 7 weeks and deleted after another 3 weeks."
login:
path: login.php
method: form
form: form
inputs:
login_identifier: "{{ .Config.username }}"
password: "{{ .Config.password }}"
loggiin: Login
error:
- selector: div#login_error
- selector: div.error-message
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# https://dark-shadow.me//selection.php?ajax=true&search=&page=1&visible=no&free=no&c32=1&c28=1
- path: selection.php
response:
type: json
inputs:
ajax: true
search: "{{ .Keywords }}"
page: 1
# all=active+inactive, yes=active, no=inactive (the default is all, which ajax simply drops the parm)
# visible: all
# all=all+onlyup, yes=onlyup, no=without onlyup (the default is all, which ajax simply drops the parm)
free: "{{ if .Config.onlyupload }}yes{{ else }}{{ end }}"
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
rows:
selector: $
fields:
categorydesc:
selector: category
filters:
- name: htmldecode
title:
selector: name
_id:
selector: id
details:
text: "details.php?id={{ .Result._id }}"
download:
selector: download_link
poster:
selector: cover
size:
selector: size
date:
# 25.12.2024 16:02
selector: added
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "dd.MM.yyyy HH:mm zzz"
seeders:
selector: seeders
leechers:
selector: leechers
_onlyup:
selector: free_button:contains(Only Upload)
optional: true
downloadvolumefactor:
text: "{{ if .Result._onlyup }}0{{ else }}1{{ end }}"
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
text: 129600
# THX JSON

View File

@@ -1,402 +0,0 @@
---
id: demonoid
name: Demonoid
description: "Demonoid is a Semi-Private torrent site for MOVIES / TV / GENERAL"
language: en-US
type: semi-private
encoding: UTF-8
links:
- https://www.demonoid.is/
- https://www.dnoid.to/
legacylinks:
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.tor2web.to/
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.tor2web.link/ # Origin is unreachable Error code 523
- https://demonoid.torrentbay.to/
- https://demonoid.unblockit.rsvp/
- https://demonoid.unblockit.vegas/
- https://demonoid.unblockit.esq/
- https://demonoid.unblockit.zip/
- https://demonoid.unblockit.foo/
- https://demonoid.unblockit.ing/
- https://demonoid.torrentbay.net/
- https://demonoid.mrunblock.bond/
- https://demonoid.nocensor.cloud/
- https://demonoid.unblockit.date/
- https://demonoid.unblockit.dad/
- https://demonoid.unblockit.africa/
- https://demonoid.unblockit.casa/ # 302
- https://unblockit.sbs/ # 526
- https://unblockit.ong/ # 526
- https://demonoid.unblockit.black/ # site broken by ad
- https://www.dnoid.pw/
- https://demonoid.torrentbay.st/
- https://demonoid.unblockit.meme/ # site broken by ad
- https://demonoid.unblockit.download/ # site broken by ad
caps:
categorymappings:
# fetch these from https://www.demonoid.is/cached/torrent_categories_script.js?v5
# Everything
- {id: 0, cat: Other/Misc, desc: "Miscellaneous"}
# Applications
- {id: 1, cat: PC/Mobile-Android, desc: "Applications Android"}
- {id: 2, cat: PC/Mobile-iOS, desc: "Applications phone / Ipod touch"}
- {id: 3, cat: PC, desc: "Applications Linux"}
- {id: 4, cat: PC/Mac, desc: "Applications Mac"}
- {id: 5, cat: PC/Mobile-Other, desc: "Applications Mobile phone"}
- {id: 6, cat: PC, desc: "Applications PocketPC"}
- {id: 7, cat: PC/0day, desc: "Applications Windows"}
# Audio Books
- {id: 8, cat: Audio/Audiobook, desc: "Audio Books Action"}
- {id: 9, cat: Audio/Audiobook, desc: "Audio Books Adventure"}
- {id: 10, cat: Audio/Audiobook, desc: "Audio Books Biography"}
- {id: 11, cat: Audio/Audiobook, desc: "Audio Books Childrens"}
- {id: 12, cat: Audio/Audiobook, desc: "Audio Books Computers and Technology"}
- {id: 13, cat: Audio/Audiobook, desc: "Audio Books Contemporary"}
- {id: 14, cat: Audio/Audiobook, desc: "Audio Books Cooking"}
- {id: 15, cat: Audio/Audiobook, desc: "Audio Books Crafts and Hobbies"}
- {id: 16, cat: Audio/Audiobook, desc: "Audio Books Educational"}
- {id: 17, cat: Audio/Audiobook, desc: "Audio Books Fantasy"}
- {id: 18, cat: Audio/Audiobook, desc: "Audio Books Fiction"}
- {id: 19, cat: Audio/Audiobook, desc: "Audio Books General"}
- {id: 20, cat: Audio/Audiobook, desc: "Audio Books History"}
- {id: 21, cat: Audio/Audiobook, desc: "Audio Books Horror"}
- {id: 22, cat: Audio/Audiobook, desc: "Audio Books Humor"}
- {id: 23, cat: Audio/Audiobook, desc: "Audio Books Literary"}
- {id: 24, cat: Audio/Audiobook, desc: "Audio Books Magazine"}
- {id: 25, cat: Audio/Audiobook, desc: "Audio Books Mainstream"}
- {id: 26, cat: Audio/Audiobook, desc: "Audio Books Medicine and Health"}
- {id: 27, cat: Audio/Audiobook, desc: "Audio Books Mystery and Suspense"}
- {id: 28, cat: Audio/Audiobook, desc: "Audio Books Newspaper"}
- {id: 29, cat: Audio/Audiobook, desc: "Audio Books Nonfiction"}
- {id: 30, cat: Audio/Audiobook, desc: "Audio Books Other"}
- {id: 31, cat: Audio/Audiobook, desc: "Audio Books Paranormal"}
- {id: 32, cat: Audio/Audiobook, desc: "Audio Books Religion"}
- {id: 33, cat: Audio/Audiobook, desc: "Audio Books Romance"}
- {id: 34, cat: Audio/Audiobook, desc: "Audio Books RPG"}
- {id: 35, cat: Audio/Audiobook, desc: "Audio Books Sci-Fi"}
- {id: 36, cat: Audio/Audiobook, desc: "Audio Books Self-help"}
- {id: 37, cat: Audio/Audiobook, desc: "Audio Books Suspense"}
- {id: 38, cat: Audio/Audiobook, desc: "Audio Books Textbook"}
- {id: 39, cat: Audio/Audiobook, desc: "Audio Books Thriller"}
- {id: 40, cat: Audio/Audiobook, desc: "Audio Books Western"}
- {id: 41, cat: Audio/Audiobook, desc: "Audio Books Young Adult"}
# Books
- {id: 42, cat: Books/EBook, desc: "Books Action and Adventure"}
- {id: 43, cat: Books/EBook, desc: "Books Biography"}
- {id: 44, cat: Books/EBook, desc: "Books Childrens"}
- {id: 45, cat: Books/EBook, desc: "Books Computers and Technology"}
- {id: 46, cat: Books/EBook, desc: "Books Contemporary"}
- {id: 47, cat: Books/EBook, desc: "Books Cooking"}
- {id: 48, cat: Books/EBook, desc: "Books Crafts and Hobbies"}
- {id: 49, cat: Books/EBook, desc: "Books Educational"}
- {id: 50, cat: Books/EBook, desc: "Books Fantasy"}
- {id: 51, cat: Books/EBook, desc: "Books Fiction"}
- {id: 52, cat: Books/EBook, desc: "Books General"}
- {id: 53, cat: Books/EBook, desc: "Books History"}
- {id: 54, cat: Books/EBook, desc: "Books Horror"}
- {id: 55, cat: Books/EBook, desc: "Books Humor"}
- {id: 56, cat: Books/EBook, desc: "Books Literary"}
- {id: 57, cat: Books/Mags, desc: "Books Magazine"}
- {id: 58, cat: Books/EBook, desc: "Books Mainstream"}
- {id: 59, cat: Books/EBook, desc: "Books Medicine and Health"}
- {id: 60, cat: Books/EBook, desc: "Books Mystery and Suspense"}
- {id: 61, cat: Books/EBook, desc: "Books Newspaper"}
- {id: 62, cat: Books/EBook, desc: "Books Nonfiction"}
- {id: 63, cat: Books/EBook, desc: "Books Other"}
- {id: 64, cat: Books/EBook, desc: "Books Paranormal"}
- {id: 65, cat: Books/EBook, desc: "Books Religion"}
- {id: 66, cat: Books/EBook, desc: "Books Romance"}
- {id: 67, cat: Books/EBook, desc: "Books RPG"}
- {id: 68, cat: Books/EBook, desc: "Books Sci-Fi"}
- {id: 69, cat: Books/EBook, desc: "Books Self-help"}
- {id: 70, cat: Books/EBook, desc: "Books Suspense"}
- {id: 71, cat: Books/EBook, desc: "Books Textbook"}
- {id: 72, cat: Books/EBook, desc: "Books Thriller"}
- {id: 73, cat: Books/EBook, desc: "Books Western"}
- {id: 74, cat: Books/EBook, desc: "Books Young Adult"}
# Comics
- {id: 75, cat: Books/Comics, desc: "Comics Action / Adventure"}
- {id: 76, cat: Books/Comics, desc: "Comics Crime"}
- {id: 77, cat: Books/Comics, desc: "Comics Drama"}
- {id: 78, cat: Books/Comics, desc: "Comics Fantasy"}
- {id: 79, cat: Books/Comics, desc: "Comics Historical fiction"}
- {id: 80, cat: Books/Comics, desc: "Comics Horror"}
- {id: 81, cat: Books/Comics, desc: "Comics Illustrated novel"}
- {id: 82, cat: Books/Comics, desc: "Comics Manga"}
- {id: 83, cat: Books/Comics, desc: "Comics Other"}
- {id: 84, cat: Books/Comics, desc: "Comics Real-Life"}
- {id: 85, cat: Books/Comics, desc: "Comics Sci-Fi"}
- {id: 86, cat: Books/Comics, desc: "Comics Super Hero"}
# Games
- {id: 87, cat: PC, desc: "Games DOS"}
- {id: 88, cat: Console/Other, desc: "Games Dreamcast"}
- {id: 89, cat: Console/Other, desc: "Games Emulators"}
- {id: 90, cat: Console/Other, desc: "Games GameBoy"}
- {id: 91, cat: Console/Other, desc: "Games GameCube"}
- {id: 92, cat: PC, desc: "Games Linux"}
- {id: 93, cat: PC/Mac, desc: "Games Mac"}
- {id: 94, cat: PC/Mobile-Other, desc: "Games Mobile phone"}
- {id: 95, cat: Console/NDS, desc: "Games Nintendo DS"}
- {id: 96, cat: Console/Other, desc: "Games Palm"}
- {id: 97, cat: Console/PS3, desc: "Games Playstation"}
- {id: 98, cat: Console/Other, desc: "Games PocketPC"}
- {id: 99, cat: Console/PSP, desc: "Games PSP"}
- {id: 100, cat: Console/Wii, desc: "Games Wii / Wii U"}
- {id: 101, cat: PC/Games, desc: "Games Windows"}
- {id: 102, cat: Console/XBox, desc: "Games XBox"}
# Anime
- {id: 103, cat: TV/Anime, desc: "Anime Action"}
- {id: 104, cat: TV/Anime, desc: "Anime Adventure"}
- {id: 105, cat: TV/Anime, desc: "Anime Comedy"}
- {id: 106, cat: TV/Anime, desc: "Anime Drama"}
- {id: 107, cat: TV/Anime, desc: "Anime Fantasy"}
- {id: 108, cat: TV/Anime, desc: "Anime Horror"}
- {id: 109, cat: TV/Anime, desc: "Anime Other"}
- {id: 157, cat: TV/Anime, desc: "Anime Romance"}
- {id: 158, cat: TV/Anime, desc: "Anime Sci-Fi"}
# Movies
- {id: 151, cat: Movies, desc: "Movies Action"}
- {id: 110, cat: Movies, desc: "Movies Adventure"}
- {id: 236, cat: Movies, desc: "Movies Animation"}
- {id: 111, cat: Movies, desc: "Movies Biography"}
- {id: 152, cat: Movies, desc: "Movies Comedy"}
- {id: 112, cat: Movies, desc: "Movies Concerts"}
- {id: 113, cat: Movies, desc: "Movies Crime"}
- {id: 114, cat: Movies, desc: "Movies Documentary"}
- {id: 115, cat: Movies, desc: "Movies Drama"}
- {id: 116, cat: Movies, desc: "Movies Family"}
- {id: 153, cat: Movies, desc: "Movies Fantasy"}
- {id: 117, cat: Movies, desc: "Movies Horror"}
- {id: 118, cat: Movies, desc: "Movies Musical"}
- {id: 119, cat: Movies, desc: "Movies Mystery"}
- {id: 120, cat: Movies, desc: "Movies Other"}
- {id: 121, cat: Movies, desc: "Movies Romance"}
- {id: 154, cat: Movies, desc: "Movies Sci-Fi"}
- {id: 159, cat: Movies, desc: "Movies Short-Film"}
- {id: 160, cat: Movies, desc: "Movies Sports"}
- {id: 161, cat: Movies, desc: "Movies Thriller"}
- {id: 162, cat: Movies, desc: "Movies Trailers"}
- {id: 163, cat: Movies, desc: "Movies War"}
- {id: 164, cat: Movies, desc: "Movies Western"}
# Music
- {id: 122, cat: Audio, desc: "Music Alternative"}
- {id: 123, cat: Audio, desc: "Music Bluegrass"}
- {id: 124, cat: Audio, desc: "Music Blues"}
- {id: 125, cat: Audio, desc: "Music Childrens"}
- {id: 126, cat: Audio, desc: "Music Christian"}
- {id: 127, cat: Audio, desc: "Music Classical"}
- {id: 128, cat: Audio, desc: "Music Comedy"}
- {id: 129, cat: Audio, desc: "Music Contemporary African"}
- {id: 130, cat: Audio, desc: "Music Country"}
- {id: 131, cat: Audio, desc: "Music Dance / Disco"}
- {id: 132, cat: Audio, desc: "Music Drum and Bass"}
- {id: 133, cat: Audio, desc: "Music Electro / Techno"}
- {id: 134, cat: Audio, desc: "Music Folk"}
- {id: 165, cat: Audio, desc: "Music Gospel"}
- {id: 166, cat: Audio, desc: "Music Grunge"}
- {id: 167, cat: Audio, desc: "Music Hip-Hop / Rap"}
- {id: 168, cat: Audio, desc: "Music Indie"}
- {id: 169, cat: Audio, desc: "Music Industrial"}
- {id: 170, cat: Audio, desc: "Music J-Pop"}
- {id: 171, cat: Audio, desc: "Music Jazz"}
- {id: 172, cat: Audio, desc: "Music Latin American"}
- {id: 173, cat: Audio, desc: "Music Melodic"}
- {id: 174, cat: Audio, desc: "Music Metal"}
- {id: 175, cat: Audio, desc: "Music Other"}
- {id: 176, cat: Audio, desc: "Music Pop"}
- {id: 177, cat: Audio, desc: "Music Punk"}
- {id: 178, cat: Audio, desc: "Music Radio Show"}
- {id: 179, cat: Audio, desc: "Music Reggae"}
- {id: 180, cat: Audio, desc: "Music Rhythm and blues"}
- {id: 181, cat: Audio, desc: "Music Rock"}
- {id: 182, cat: Audio, desc: "Music Soul"}
- {id: 183, cat: Audio, desc: "Music Soundtrack"}
- {id: 184, cat: Audio, desc: "Music Trance"}
- {id: 185, cat: Audio, desc: "Music Trip Hop"}
# Music Videos
- {id: 135, cat: Audio/Video, desc: "Music Videos Alternative"}
- {id: 136, cat: Audio/Video, desc: "Music Videos Bluegrass"}
- {id: 137, cat: Audio/Video, desc: "Music Videos Blues"}
- {id: 138, cat: Audio/Video, desc: "Music Videos Childrens"}
- {id: 139, cat: Audio/Video, desc: "Music Videos Christian"}
- {id: 186, cat: Audio/Video, desc: "Music Videos Classical"}
- {id: 187, cat: Audio/Video, desc: "Music Videos Comedy"}
- {id: 188, cat: Audio/Video, desc: "Music Videos Contemporary African"}
- {id: 189, cat: Audio/Video, desc: "Music Videos Country"}
- {id: 190, cat: Audio/Video, desc: "Music Videos Dance / Disco"}
- {id: 191, cat: Audio/Video, desc: "Music Videos Drum and Bass"}
- {id: 192, cat: Audio/Video, desc: "Music Videos Electro / Techno"}
- {id: 193, cat: Audio/Video, desc: "Music Videos Folk"}
- {id: 194, cat: Audio/Video, desc: "Music Videos Gospel"}
- {id: 195, cat: Audio/Video, desc: "Music Videos Grunge"}
- {id: 196, cat: Audio/Video, desc: "Music Videos Hip-Hop / Rap"}
- {id: 197, cat: Audio/Video, desc: "Music Videos Indie"}
- {id: 198, cat: Audio/Video, desc: "Music Videos Industrial"}
- {id: 199, cat: Audio/Video, desc: "Music Videos J-Pop"}
- {id: 200, cat: Audio/Video, desc: "Music Videos Jazz"}
- {id: 201, cat: Audio/Video, desc: "Music Videos Latin American"}
- {id: 202, cat: Audio/Video, desc: "Music Videos Melodic"}
- {id: 203, cat: Audio/Video, desc: "Music Videos Metal"}
- {id: 204, cat: Audio/Video, desc: "Music Videos Other"}
- {id: 205, cat: Audio/Video, desc: "Music Videos Pop"}
- {id: 206, cat: Audio/Video, desc: "Music Videos Punk"}
- {id: 207, cat: Audio/Video, desc: "Music Videos Radio Show"}
- {id: 208, cat: Audio/Video, desc: "Music Videos Reggae"}
- {id: 209, cat: Audio/Video, desc: "Music Videos Rhythm and blues"}
- {id: 210, cat: Audio/Video, desc: "Music Videos Rock"}
- {id: 211, cat: Audio/Video, desc: "Music Videos Soul"}
- {id: 212, cat: Audio/Video, desc: "Music Videos Soundtrack"}
- {id: 213, cat: Audio/Video, desc: "Music Videos Trance"}
- {id: 214, cat: Audio/Video, desc: "Music Videos Trip Hop"}
# Pictures
- {id: 140, cat: Other, desc: "Pictures Art"}
- {id: 141, cat: Other, desc: "Pictures Commercial"}
- {id: 142, cat: Other, desc: "Pictures Glamour"}
- {id: 215, cat: Other, desc: "Pictures Other"}
- {id: 216, cat: Other, desc: "Pictures Photojournalism"}
- {id: 217, cat: Other, desc: "Pictures Snapshots"}
- {id: 218, cat: Other, desc: "Pictures Sports"}
- {id: 219, cat: Other, desc: "Pictures Wildlife"}
# TV
- {id: 155, cat: TV, desc: "TV Action"}
- {id: 143, cat: TV, desc: "TV Adventure"}
- {id: 144, cat: TV, desc: "TV Biography"}
- {id: 145, cat: TV, desc: "TV Cartoons"}
- {id: 146, cat: TV, desc: "TV Comedy"}
- {id: 147, cat: TV, desc: "TV Concerts"}
- {id: 148, cat: TV, desc: "TV Crime"}
- {id: 149, cat: TV, desc: "TV Documentary"}
- {id: 156, cat: TV, desc: "TV Drama"}
- {id: 220, cat: TV, desc: "TV Family"}
- {id: 221, cat: TV, desc: "TV Fantasy"}
- {id: 222, cat: TV, desc: "TV Horror"}
- {id: 223, cat: TV, desc: "TV Musical"}
- {id: 224, cat: TV, desc: "TV Mystery"}
- {id: 225, cat: TV, desc: "TV Other"}
- {id: 226, cat: TV, desc: "TV Reality"}
- {id: 227, cat: TV, desc: "TV Romance"}
- {id: 228, cat: TV, desc: "TV Sci-Fi"}
- {id: 229, cat: TV, desc: "TV Short film"}
- {id: 230, cat: TV, desc: "TV Sports"}
- {id: 231, cat: TV, desc: "TV Talk show"}
- {id: 232, cat: TV, desc: "TV Thriller"}
- {id: 233, cat: TV, desc: "TV Trailers"}
- {id: 234, cat: TV, desc: "TV War"}
- {id: 235, cat: TV, desc: "TV Western"}
# cat 7 Miscellaneous has no subcats
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Access this tracker with your browser</li><li>click on the <b>Apply Filter</b> button on the page to invoke the search and solve the challenge</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: sort
type: select
label: Sort requested from site
default: _
options:
_: created
S: seeders desc
s: seeders asc
B: size desc
b: size asc
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: /
selector: a[href^="/account_handler.php"]
download:
infohash:
hash:
selector: tr:has(td:contains("Torrent hash"))
filters:
# 907617B7 070AACB6 08CC213C 5277368D 217C1666
- name: replace
args: [" ", ""]
- name: regexp
args: ([A-F|0-9]{40})
title:
selector: td.ctable_header
filters:
- name: replace
args: ["Details for ", ""]
search:
paths:
# https://www.demonoid.is/files/?category=0&subcategory=0&quality=0&seeded=2&external=2&query=&sort=S
# https://www.demonoid.is/files/?c154&language=0&quality=0&seeded=2&query=world&to=1&sort=
# https://www.demonoid.is/files/?seeded=2&language=0&quality=0&to=1&query=world
- path: files/
inputs:
$raw: "{{ range .Categories }}c{{.}}&{{end}}"
# 0 seeded, 1 unseeded, 2 both
seeded: 2
# 0 all
quality: 0
# 0 Demonoid, 1 External, 2 Both
external: 2
# search in titles only
to: "{{ if .Query.IMDBID }}{{ else }}1{{ end }}"
query: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
sort: "{{ re_replace .Config.sort \"_\" \"\" }}"
# does not return imdb link in results
rows:
selector: table.font_12px tbody tr:has(td[class^="tone_1"]):not(:has(script))
after: 1
dateheaders:
selector: td.added_today:not(:contains("Sponsored links"))
filters:
- name: replace
args: ["Added ", ""]
- name: replace
args: ["on ", ""]
fields:
category:
selector: a.subcategory
attribute: href
optional: true
default: 0
filters:
- name: querystring
args: subcategory
title:
selector: a[href^="/files/details/"]
details:
selector: a[href^="/files/details/"]
attribute: href
download:
selector: a[href^="/files/details/"]
attribute: href
description:
selector: td:nth-last-child(8)
size:
selector: td:nth-last-child(6)
grabs:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,175 +0,0 @@
---
id: denofsimps-api
name: DenOfSimps (API)
description: "DenOfSimps (DoS) is a Private Torrent Tracker for 3X Fansite content only"
language: en-US
type: private
encoding: UTF-8
links:
- https://denofsimps.club/
caps:
categorymappings:
- {id: 1, cat: XXX/WEB-DL, desc: "OnlyFans"}
- {id: 2, cat: XXX/WEB-DL, desc: "Fansly"}
- {id: 3, cat: XXX/WEB-DL, desc: "ManyVids"}
- {id: 4, cat: XXX/WEB-DL, desc: "Clips4Sale"}
- {id: 15, cat: XXX/WEB-DL, desc: "iWantClips"}
- {id: 6, cat: XXX/WEB-DL, desc: "Privacy"}
- {id: 10, cat: XXX/WEB-DL, desc: "Chaturbate"}
- {id: 11, cat: XXX/WEB-DL, desc: "LoyalFans"}
- {id: 12, cat: XXX/WEB-DL, desc: "CamSoda"}
- {id: 8, cat: XXX/WEB-DL, desc: "MyDirtyHobby"}
- {id: 5, cat: XXX/WEB-DL, desc: "JustForFans"}
- {id: 14, cat: XXX/WEB-DL, desc: "Other"}
modes:
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://denofsimps.club/\" target=\"_blank\">DenOfSimps</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: "Unused accounts may be pruned without warning."
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:
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 50
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
fields:
_id:
selector: ..id
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:
text: "{{ .Config.sitelink }}files/img/torrent-cover_{{ .Result._id }}.jpg"
genre:
selector: type
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 1.0 but torrents must be seeded for 5 days regardless of ratio
# minimumratio:
# text: 1.0
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 8.1.3 (custom)

View File

@@ -1,251 +0,0 @@
---
id: digitalcore
name: DigitalCore
description: "DigitalCore (DC) is a Private Torrent Tracker for 0DAY / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://digitalcore.club/
- https://prxy.digitalcore.club/
caps:
categorymappings:
- {id: 2, cat: Movies/SD, desc: Movies/SD}
- {id: 1, cat: Movies/DVD, desc: Movies/DVDR}
- {id: 5, cat: Movies/HD, desc: Movies/720p}
- {id: 6, cat: Movies/HD, desc: Movies/1080p}
- {id: 4, cat: Movies/UHD, desc: Movies/2160p}
- {id: 3, cat: Movies/BluRay, desc: Movies/BluRay}
- {id: 38, cat: Movies/UHD, desc: Movies/Bluray/UHD}
- {id: 7, cat: Movies/HD, desc: Movies/PACKS}
- {id: 10, cat: TV/SD, desc: Tv/SD}
- {id: 11, cat: TV/SD, desc: Tv/DVDR}
- {id: 8, cat: TV/HD, desc: Tv/720p}
- {id: 9, cat: TV/HD, desc: Tv/1080p}
- {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}
- {id: 21, cat: PC/Mac, desc: Apps/Mac}
- {id: 33, cat: PC, desc: Apps/Tutorials}
- {id: 22, cat: Audio/MP3, desc: Music/MP3}
- {id: 23, cat: Audio/Lossless, desc: Music/FLAC}
- {id: 24, cat: Audio/Video, desc: Music/MTV}
- {id: 29, cat: Audio, desc: Music/PACKS}
- {id: 39, cat: Audio/Video, desc: Music/DVD}
- {id: 40, cat: Audio/Video, desc: Music/Bluray}
- {id: 25, cat: PC/Games, desc: Games/PC}
- {id: 27, cat: PC/Mac, desc: Games/Mac}
- {id: 26, cat: Console, desc: Games/Consoles}
- {id: 43, cat: Console, desc: Games/ROMS}
- {id: 42, cat: XXX/Other, desc: Games/XXX}
- {id: 44, cat: Audio/Audiobook, desc: Audiobooks}
- {id: 28, cat: Books/EBook, desc: Ebooks}
- {id: 30, cat: XXX/SD, desc: XXX/SD}
- {id: 31, cat: XXX, desc: XXX/HD}
- {id: 32, cat: XXX/UHD, desc: XXX/4K}
- {id: 35, cat: XXX/SD, desc: XXX/Movies/SD}
- {id: 36, cat: XXX, desc: XXX/Movies/HD}
- {id: 37, cat: XXX/UHD, desc: XXX/Movies/4K}
- {id: 34, cat: XXX/ImageSet, desc: XXX/Imagesets}
- {id: 41, cat: XXX, desc: XXX/PACKS}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: p2p_releases_only
type: checkbox
label: Search P2P releases only
default: false
- name: unrar_releases_only
type: checkbox
label: Search UNRAR releases only
default: false
- name: sort
type: select
label: Sort requested from site
default: d
options:
d: created
up: seeders
s: size
n: 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: "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 }}"
search:
paths:
- path: api/v1/torrents
response:
type: json
noResultsMessage: ""
inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
dead: true
extendedDead: true
extendedSearch: false
freeleech: "{{ if .Config.freeleech }}true{{ else }}false{{ end }}"
index: 0
limit: 100
order: "{{ .Config.type }}"
p2p: "{{ if .Config.p2p_releases_only }}true{{ else }}{{ end }}"
page: search
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
section: all
sort: "{{ .Config.sort }}"
stereoscopic: false
unrar: "{{ if .Config.unrar_releases_only }}true{{ else }}{{ end }}"
watchview: false
rows:
selector: $
filters:
- name: andmatch
fields:
category:
selector: category
title:
selector: name
_id:
selector: id
details:
text: "/torrent/{{ .Result._id }}/"
download:
text: "/api/v1/torrents/download/{{ .Result._id }}"
imdbid:
selector: imdbid2
imdbid_full:
optional: true
selector: imdbid2
poster_normal:
optional: true
selector: firstpic
poster_imdb:
optional: true
text: "{{ if .Result.imdbid }}/img/imdb/{{ .Result.imdbid_full }}.jpg{{ else }}{{ end }}"
poster:
text: "{{ if .Result.poster_imdb }}{{ .Result.poster_imdb }}{{ else }}{{ .Result.poster_normal }}{{ end }}"
date:
# 2021-10-27 12:07:22
selector: added
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: size
files:
selector: numfiles
grabs:
selector: times_completed
seeders:
selector: seeders
leechers:
selector: leechers
downloadvolumefactor:
# api returns 0=false, 1=true
selector: frileech
case:
0: 1 # not free
1: 0 # freeleech
uploadvolumefactor:
text: 1
minimumratio:
text: 1.1
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
title_desc:
optional: true
selector: title
year:
optional: true
selector: year
genre:
selector: genres
_tagline_desc:
optional: true
selector: tagline
_cast_desc:
optional: true
selector: cast
_rating_desc:
optional: true
selector: rating
filters:
- name: re_replace
args: ["^0$", ""]
_section_desc:
optional: true
selector: section
_predate_desc:
selector: preDate
filters:
- name: re_replace
args: ["0000-00-00 00:00:00", ""]
_p2ptag:
selector: p2p
case:
0: ""
1: P2P
_unrartag:
selector: unrar
case:
0: ""
1: UNRAR
optional: true
_packtag:
selector: pack
case:
0: ""
1: Pack
_reqidtag:
selector: reqid
case:
0: ""
"*": Request
_tag_desc:
optional: true
text: "{{ if .Result._p2ptag }}{{ .Result._p2ptag }}, {{ else }}{{ end }}{{ if .Result._unrartag }}{{ .Result._unrartag }}, {{ else }}{{ end }}{{ if .Result._packtag }}{{ .Result._packtag }}, {{ else }}{{ end }}{{ if .Result._reqidtag }}{{ .Result._reqidtag }}{{ else }}{{ end }}"
filters:
- name: regexp
args: "(.+?), $"
description:
text: "{{ if .Result.title_desc }}Title: {{ .Result.title_desc }}</br>{{ else }}{{ end }}{{ if .Result.year }}Year: {{ .Result.year }}</br>{{ else }}{{ end }}{{ if .Result.genre }}Genres: {{ .Result.genre }}</br>{{ else }}{{ end }}{{ if .Result._tagline_desc }}Tagline: {{ .Result._tagline_desc }}</br>{{ else }}{{ end }}{{ if .Result._cast_desc }}Cast: {{ .Result._cast_desc }}</br>{{ else }}{{ end }}{{ if .Result._rating_desc }}Rating: {{ .Result._rating_desc }}</br>{{ else }}{{ end }}{{ if .Result._tag_desc }}Tags: {{ .Result._tag_desc }}</br>{{ else }}{{ end }}{{ if .Result._predate_desc }}PRE: {{ .Result._predate_desc }}</br>{{ else }}{{ end }}{{ if .Result._section_desc }}Section: {{ .Result._section_desc }}{{ else }}{{ end }}"
# json rartracker api v1

View File

@@ -1,194 +0,0 @@
---
id: divteam
name: DivTeam
description: "DivTeam is a SPANISH Private Torrent Tracker for MOVIES / GENERAL"
language: es-ES
type: private
encoding: UTF-8
links:
- https://divteam.com/
caps:
categorymappings:
- {id: 60, cat: Movies/HD, desc: "MicroHD 720p"}
- {id: 77, cat: Movies/HD, desc: "MicroHD 1080p"}
- {id: 78, cat: Movies/UHD, desc: "MicroHD 4K"}
- {id: 64, cat: TV/HD, desc: "Pack Series"}
- {id: 65, cat: TV/HD, desc: "Pack Series VOSE"}
- {id: 80, cat: Movies/HD, desc: "BDRip X265 1080p"}
- {id: 81, cat: Movies/UHD, desc: "UHDRip x265 4K"}
- {id: 82, cat: Movies/WEB-DL, desc: "Pelis Web-DL 1080"}
- {id: 83, cat: Movies/WEB-DL, desc: "Pelis Web-DL 720"}
- {id: 84, cat: Movies/UHD, desc: "UHD Remux x265"}
- {id: 91, cat: Movies/HD, desc: "BDRip x264"}
- {id: 89, cat: Movies/HD, desc: "BDRemux"}
- {id: 88, cat: Movies/BluRay, desc: "Full HD"}
- {id: 90, cat: Movies/BluRay, desc: "UHD Full"}
- {id: 92, cat: Movies/UHD, desc: "Web-DL UHD"}
- {id: 23, cat: TV/Sport, desc: "Deportes"}
- {id: 20, cat: TV/HD, desc: "Series"}
- {id: 31, cat: TV/HD, desc: "Series VOSE"}
- {id: 69, cat: Movies, desc: "Ciclo Cine Clasico"}
- {id: 70, cat: Movies, desc: "Ciclo Clint Eastwood"}
- {id: 71, cat: Movies, desc: "Ciclo Studio Ghibli"}
- {id: 72, cat: Movies, desc: "Ciclo George A. Romero"}
- {id: 73, cat: Movies, desc: "Saga Fast And Furious"}
- {id: 74, cat: Movies, desc: "Saga Crepúsculo"}
- {id: 75, cat: Movies, desc: "Saga The Purge"}
- {id: 79, cat: Movies, desc: "Saga Star Wars"}
- {id: 76, cat: Movies, desc: "x-men saga"}
- {id: 85, cat: Movies, desc: "Sean Connery"}
- {id: 6, cat: Books/EBook, desc: "EBooks"}
- {id: 58, cat: Books/Mags, desc: "Kiosko"}
- {id: 24, cat: TV/Documentary, desc: "Documentales"}
- {id: 32, cat: TV/Documentary, desc: "Documentales VOSE"}
- {id: 49, cat: Books/Technical, desc: "eLearning"}
- {id: 68, cat: Books/Technical, desc: "eLearning Multimedia"}
- {id: 87, cat: Audio/Audiobook, desc: "Audiolibros"}
- {id: 0, cat: Other, desc: "Otros"} # results can have a category of 0, but searching by category 0 returns all results
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 3
options:
3: created
5: seeders
4: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
- name: info_results
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: "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 }}"
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# https://divteam.com/index.php?page=torrents&search=daredevil&category=20;23;31;65;64;60;63;69;70;71;72;73;74;75;76;77;78;80;81;82;83;84&active=1
- path: index.php
inputs:
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
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=\"]){{ 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:
selector: a[href^="download.php?id="]
attribute: href
title_vose:
selector: a[href^="index.php?page=torrent-details"][onmouseover]:contains("VOSE")
optional: true
filters:
- name: append
args: " English"
title_notvose:
selector: a[href^="index.php?page=torrent-details"][onmouseover]:not(:contains("VOSE"))
optional: true
filters:
- name: append
args: " MULTi/SPANiSH" # DivTeam doesn't bring languages. Usually Original + Spanish.
- name: re_replace
args: ["\\.+", "."] # More than 1 dot -> .
- name: re_replace
args: ["^\\.", ""] # Delete first dot
- name: replace
args: ["UHDRip", "Bluray-2160p"] # Fix for Radarr
- name: replace
args: ["2160p BDRip", "Bluray-2160p"] # Fix for Radarr
title:
text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}"
poster:
selector: a[onmouseover][href^="index.php?page=torrent-details"]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[href^="index.php?page=torrent-details"]
attribute: href
size:
selector: td:nth-child(4)
date:
selector: td:nth-child(6)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy"
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
grabs:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
img[src="images/freeleech.gif"]: 0
img[src="images/gold.png"]: 0
img[src="images/silver.png"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src="images/2x.png"]: 2
img[src="images/3x.png"]: 3
img[src="images/4x.png"]: 4
img[src="images/5x.png"]: 5
"*": 1
minimumratio:
text: 0.7
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# xbtit customised

View File

@@ -1,232 +0,0 @@
---
id: dreamtracker
name: Dream Tracker
description: "Dream Tracker is a Subscription only GREEK Private tracker for TV / MOVIES / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://dream-tracker.net/
caps:
categorymappings:
# Anime
- {id: 113, cat: TV/Anime, desc: "Anime"}
- {id: 114, cat: TV/Anime, desc: "Anime Series"}
- {id: 115, cat: Movies/Other, desc: "Anime Movies"}
# VIP
- {id: 122, cat: Other, desc: "Only VIP"}
- {id: 123, cat: Audio, desc: "VIP Music"}
- {id: 124, cat: Movies, desc: "VIP Movies"}
# Kids Stuff
- {id: 1, cat: Movies/Other, desc: "Kids Stuff"}
- {id: 14, cat: Movies/Other, desc: "Cartoon No Subs"}
- {id: 16, cat: Movies/Other, desc: "Cartoon Sub. No Embed."}
- {id: 17, cat: Movies/Other, desc: "Cartoon Sub. Embed."}
- {id: 31, cat: Movies/Other, desc: "Cartoon in Greek "}
- {id: 107, cat: Movies/Other, desc: "Kids in Greek"}
- {id: 120, cat: Movies/Other, desc: "Cartoon Series"}
- {id: 88, cat: Audio/Other, desc: "Music Kids"}
# Movies Subs No Embed.
- {id: 38, cat: Movies, desc: "Movies Subs No Embed."}
- {id: 40, cat: Movies/SD, desc: "DVDscr - PPVRiP - WebRip -Web-DL- TVRiP"}
- {id: 41, cat: Movies/SD, desc: "DVDRrip/R6/R5 Xvid/x264"}
- {id: 42, cat: Movies/SD, desc: "BDRip/BRRip/HDRip/480p"}
- {id: 43, cat: Movies/HD, desc: "HD - 720p"}
- {id: 44, cat: Movies/HD, desc: "HD - 1080p"}
- {id: 104, cat: Movies/HD, desc: "Micro"}
# Movies Subs Embed.
- {id: 45, cat: Movies, desc: "Movies Subs Embed."}
- {id: 47, cat: Movies/SD, desc: "DVDscr - PPVRiP - WebRip - Web-DL-TVRiP"}
- {id: 48, cat: Movies/SD, desc: "DVDRrip/R6/R5 Xvid/x264"}
- {id: 49, cat: Movies/SD, desc: "BDRip/BRRip/HDRip/480p"}
- {id: 50, cat: Movies/HD, desc: "HD - 720p"}
- {id: 51, cat: Movies/HD, desc: "HD - 1080p"}
- {id: 105, cat: Movies/HD, desc: "Micro"}
# Movie Packs
- {id: 90, cat: Movies, desc: "Movie Packs"}
- {id: 91, cat: Movies, desc: "Movie Packs Greek"}
- {id: 106, cat: Movies/Foreign, desc: "Movie Packs Foreign"}
# Movies in Greek
- {id: 56, cat: Movies, desc: "Movies in Greek"}
- {id: 57, cat: Movies, desc: "Movies in Greek"}
- {id: 58, cat: Movies, desc: "Movies Greek All Time Classics"}
- {id: 98, cat: Movies, desc: "Greek Filmographies"}
- {id: 99, cat: Movies/HD, desc: "HD 1080p"}
- {id: 100, cat: Movies/HD, desc: "HD 720p"}
# Movies 3D + 4K
- {id: 97, cat: Movies, desc: "Movies 3D + 4K"}
- {id: 111, cat: Movies/UHD, desc: "Movies 4K"}
- {id: 112, cat: Movies/3D, desc: "Movies 3D"}
# Tv Shows & Series
- {id: 59, cat: TV, desc: "Tv Shows & Series"}
- {id: 62, cat: TV/Foreign, desc: "Tv Shows Foreign"}
- {id: 63, cat: TV, desc: "Tv Shows Greek"}
- {id: 126, cat: TV/Foreign, desc: "Mini Series Foreign"}
- {id: 64, cat: TV/Foreign, desc: "Series Foreign"}
- {id: 65, cat: TV, desc: "Series Greek"}
- {id: 92, cat: TV/Foreign, desc: "Series Foreign Packs"}
- {id: 93, cat: TV, desc: "Series Greek Packs"}
# Sports
- {id: 66, cat: TV/Sport, desc: "Sports"}
- {id: 67, cat: TV/Sport, desc: "Sports"}
# Documentary
- {id: 68, cat: TV/Documentary, desc: "Documentary"}
- {id: 69, cat: TV/Documentary, desc: "Documentary"}
# Applications
- {id: 6, cat: PC/0day, desc: "Applications"}
- {id: 74, cat: PC/0day, desc: "Windows"}
- {id: 73, cat: PC/Mobile-Android, desc: "Applications Mobile"}
# eBooks & Images
- {id: 87, cat: Books/EBook, desc: "eBooks & Images"}
- {id: 83, cat: Books/EBook, desc: "Ebooks"}
- {id: 110, cat: Books/Mags, desc: "EMagazines"}
- {id: 82, cat: Other, desc: "Pics & Images"}
- {id: 119, cat: Audio/Audiobook, desc: "Audio Books"}
# Games
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 27, cat: PC/Games, desc: "PC"}
# Music
- {id: 7, cat: Audio, desc: "Music"}
- {id: 75, cat: Audio/MP3, desc: "Music Greek"}
- {id: 76, cat: Audio/MP3, desc: "Music Greek Discographies"}
- {id: 116, cat: Audio/Lossless, desc: "Greek Flac"}
- {id: 77, cat: Audio/Foreign, desc: "Music Foreign"}
- {id: 78, cat: Audio/Foreign, desc: "Music Foreign Discographies"}
- {id: 94, cat: Audio/Lossless, desc: "Foreign Flac"}
- {id: 117, cat: Audio, desc: "Compact Disc Club"}
- {id: 20, cat: Audio/Video, desc: "Music Videos"}
- {id: 118, cat: Audio, desc: "Dream Radio Music"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: info_vip
type: info
label: VIP
default: "On 1st March 2024 this site became VIP only. You will not be able to access the Torrents page with this indexer if you do not have a subscription membership."
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: info
type: info
label: Layout
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
method: form
form: form#sls_form
submitpath: ajax/login.php
inputs:
action: login
loginbox_membername: "{{ .Config.username }}"
loginbox_password: "{{ .Config.password }}"
loginbox_remember: 1
selectorinputs:
securitytoken:
selector: "script:contains(\"stKey: \")"
filters:
- name: regexp
args: "stKey: \"(.+?)\","
error:
- selector: ":contains(\"-ERROR-\")"
test:
path: ?p=home&pid=1
selector: a[href*="/?p=logout&"]
search:
paths:
- path: /
inputs:
p: torrents
pid: 10
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
keywords: "{{ .Keywords }}"
# name, description, both, uploader
search_type: name
rows:
selector: "table#torrents_table_classic tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}"
fields:
title:
selector: a[href*="?p=torrents&pid=10&action=details"]
category:
selector: div.category_image > a
attribute: href
filters:
- name: querystring
args: cid
details:
selector: a[href*="?p=torrents&pid=10&action=details"]
attribute: href
download:
selector: a[href*="?p=torrents&pid=10&action=download"]
attribute: href
date_day:
# Uploaded Friday at 05:11 by
# Uploaded Today at 00:48 by
# Uploaded Yesterday at 23:57 by
selector: td.torrent_name:contains(" at "):not(:has(abbr[data-time]))
# auto adjusted by site account profile
optional: true
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: fuzzytime
date_year:
# Uploaded 30-01-2019 15:02 by
selector: td.torrent_name:not(:contains(" at ")):not(:has(abbr[data-time]))
# auto adjusted by site account profile
optional: true
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: dateparse
args: "dd-MM-yyyy HH:mm"
date_unix:
# within the hour (unix)
selector: abbr[data-time]
attribute: data-time
optional: true
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 }}"
size:
selector: a[rel="torrent_size"]
seeders:
selector: a[rel="torrent_seeders"]
leechers:
selector: a[rel="torrent_leechers"]
grabs:
selector: a[rel="times_completed"]
poster:
selector: a[rel="fancybox"]
attribute: href
downloadvolumefactor:
case:
"img[src$=\"/silver.gif\"]": 0.5
"img[src$=\"/torrent_free.png\"]": 0
"*": 1
uploadvolumefactor:
case:
"img[src$=\"/torrent_multiple_upload.png\"]": 2
"*": 1
minimumseedtime:
# 110 hours (as seconds = 110 x 60 x 60)
text: 396000
minimumratio:
text: 1.0
# TSUE 2.2

View File

@@ -1,262 +0,0 @@
---
id: eniahd
name: EniaHD
description: "EniaHD is a RUSSIAN Semi-Private Torrent Tracker for MOVIES / TV"
language: ru-RU
type: semi-private
encoding: UTF-8
links:
- https://eniatv.com/
legacylinks:
- https://eniahd.com/
caps:
categorymappings:
# Cinema
- {id: 13, cat: Movies/HD, desc: "Зарубежное кино HD"}
- {id: 11, cat: Movies, desc: "Зарубежное кино"}
- {id: 12, cat: Movies, desc: "Наше кино"}
- {id: 66, cat: Movies, desc: "Зарубежное кино | VIP"}
- {id: 67, cat: Movies, desc: "Зарубежное кино HD | VIP"}
- {id: 68, cat: Movies, desc: "Фабельманы / The Fabelmans"}
# TV
- {id: 2, cat: TV/HD, desc: "Зарубежные сериалы HD"}
- {id: 65, cat: TV/HD, desc: "Майя МС / Майянцы / Mayans M.C."}
- {id: 52, cat: TV/HD, desc: "Блудный сын / Prodigal Son"}
- {id: 49, cat: TV/HD, desc: "Пенниуорт / Pennyworth"}
- {id: 62, cat: TV/HD, desc: "Черный список / The Blacklist"}
- {id: 64, cat: TV/HD, desc: "Игра престолов / Game of Thrones"}
- {id: 59, cat: TV/HD, desc: "Американская история ужасов / American Horror Story"}
- {id: 60, cat: TV/HD, desc: "Хороший доктор / The Good Doctor"}
- {id: 54, cat: TV/HD, desc: "Рэй Донован / Ray Donovan"}
- {id: 55, cat: TV/HD, desc: "Сверхъестественное / Supernatural"}
- {id: 56, cat: TV/HD, desc: "Сквозь снег / Snowpiercer"}
- {id: 57, cat: TV/HD, desc: "Теория большого взрыва / The Big Bang Theory"}
- {id: 58, cat: TV/HD, desc: "Миллиарды / Billions"}
- {id: 53, cat: TV/HD, desc: "Родина / Homeland"}
- {id: 51, cat: TV/HD, desc: "Новобранец / The Rookie"}
- {id: 50, cat: TV/HD, desc: "Это мы / This Is Us"}
- {id: 48, cat: TV/HD, desc: "Бэтвумен / Batwoman"}
- {id: 32, cat: TV/HD, desc: "Кости / Bones"}
- {id: 31, cat: TV/HD, desc: "Американские боги / American Gods"}
- {id: 30, cat: TV/HD, desc: "Агенты Щ.И.Т. / Agents of S.H.I.E.L.D."}
- {id: 17, cat: TV/HD, desc: "Зарубежные сериалы HD для Apple TV"}
- {id: 22, cat: TV, desc: "Зарубежные сериалы HEVC"}
- {id: 3, cat: TV, desc: "Зарубежные сериалы"}
- {id: 14, cat: TV, desc: "Русские сериалы"}
- {id: 10, cat: TV, desc: "Звуковые дорожки"}
# Cartoons
- {id: 24, cat: TV, desc: "Мультфильмы"}
- {id: 25, cat: TV, desc: "Мультсериалы"}
# Documentary
- {id: 7, cat: TV/Documentary, desc: "Документальные (HD Video)"}
- {id: 21, cat: TV/Documentary, desc: "Документальные"}
- {id: 28, cat: TV/Documentary, desc: "Развлекательные телепередачи и шоу"}
# Private Forums
- {id: 47, cat: TV/HD, desc: "Рассказ служанки / The Handmaid's Tale"}
# Miscellaneous
- {id: 8, cat: Other, desc: "Разное (раздачи)"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: stripcyrillic
type: checkbox
label: Strip Cyrillic Letters
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.
default: false
- name: freeleech_50
type: checkbox
label: Search freeleech and 50% freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 1
options:
1: created
10: seeders
7: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
login:
path: login.php
method: form
form: form[action="login.php"]
inputs:
login_username: "{{ .Config.username }}"
login_password: "{{ .Config.password }}"
autologin: 1
error:
- selector: table.error
test:
path: index.php
selector: a[href="./login.php?logout=1"]
search:
paths:
- path: tracker.php
inputs:
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{ else }}f[]=-1{{ end }}"
prev_allw: 0
prev_a: 0
prev_dla: 0
prev_dlc: 0
prev_dld: 0
prev_dlw: 0
prev_my: 0
prev_new: 0
prev_sd: 0
prev_da: 1
prev_dc: 0
prev_df: 1
prev_ds: 0
prev_tor_type: 0
o: "{{ .Config.sort }}"
s: "{{ .Config.type }}"
# show category
dc: 0
# show forum
df: 1
# show author
da: 1
# show speed
ds: 0
# -1=all time
tm: -1
# seed not seen -1=disregard
sns: -1
# group releases -1=not selected
srg: -1
# title search
nm: "{{ .Keywords }}"
# search by partial word
allw: 0
tor_type: "{{ if .Config.freeleech_50 }}1{{ else }}{{ end }}"
keywordsfilters:
- name: diacritics
args: replace
# strip season and/or ep
- name: re_replace
args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
rows:
selector: tr[id^="tor_"]:has(a[href^="./dl.php?id="])
fields:
title:
selector: a.tLink
filters:
# normalize to SXXEYY format
- name: re_replace
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"]
- name: re_replace
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"]
- name: re_replace
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
- name: re_replace
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"]
- name: re_replace
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
- name: re_replace
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "S$1E$2"]
- name: re_replace
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"]
- name: re_replace
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"]
- name: re_replace
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?)", "S$1"]
- name: re_replace
args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?", "S$1"]
- name: re_replace
args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "E$1 of $2"]
- name: re_replace
args: ["(?i)(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$1 of $2"]
- name: re_replace
args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "E$1 of $2"]
- name: re_replace
args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "E$1"]
- name: re_replace
args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$1"]
- name: re_replace
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
- name: re_replace
args: ["(?i)\\bHDTV[-\\s]?Rip\\b", "HDTV"]
- name: re_replace
args: ["(?i)\\bSAT[-\\s]?Rip\\b", "HDTV"]
- name: re_replace
args: ["(?i)\\bWEB[-\\s]?DL[-\\s]?Rip\\b", "WEB-DL"]
- name: re_replace
args: ["(?i)\\bWEB\\sRip\\b", "WEBRip"]
- name: re_replace
args: ["(?i)\\bWEB\\sDL\\b", "WEB-DL"]
- name: re_replace
args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
- name: re_replace
args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
- name: append
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
details:
selector: a.tLink
attribute: href
download:
selector: a[href^="./dl.php?id="]
attribute: href
magnet:
optional: true
selector: a[href^="magnet:?xt="]
attribute: href
category:
selector: a.gen
attribute: href
filters:
- name: querystring
args: f
size:
selector: td:nth-child(6) > u
seeders:
selector: td.seedmed > b
leechers:
selector: td.leechmed > b
grabs:
selector: td:nth-child(9)
date:
# unix
selector: td:last-child > u
downloadvolumefactor:
case:
img[src$="/tor_gold.gif"]: 0
img[src$="/tor_silver.gif"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 100 hours (as seconds = 100 x 60 x 60)
text: 360000
description:
selector: a.tLink
# TorrentPier

View File

@@ -1,140 +0,0 @@
---
id: enthralled
name: Enthralled
description: "Enthralled is a Private Torrent Tracker for FETISH 3X"
language: en-US
type: private
encoding: UTF-8
links:
- https://www.enthralled.me/
caps:
categorymappings:
- {id: 1, cat: XXX, desc: "FemDom"}
- {id: 2, cat: XXX, desc: "LezDom"}
- {id: 4, cat: XXX, desc: "POV"}
- {id: 5, cat: XXX, desc: "Scat"}
- {id: 3, cat: XXX, desc: "TransDom"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- 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.
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
cinfo: "2550|1350|24|-60"
keeploggedin: 1
error:
- selector: div.error
test:
path: index.php
selector: "#nav_userinfo"
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
title: "{{ .Keywords }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
action: advanced
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
rows:
selector: table#torrent_table > tbody > tr[class^="torrent shaded_row"]:has(a[href*="action=download"])
fields:
category:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: regexp
args: "(\\d+)]=1"
title:
selector: a[href^="/torrents.php?id="]
details:
selector: a[href^="/torrents.php?id="]
attribute: href
download:
selector: a[href^="/torrents.php?action=download&id="]
attribute: href
description_tags:
selector: div.tags
description:
case:
span.icon_okay: "Verified: {{ .Result.description_tags }}"
"*": "Unverified: {{ .Result.description_tags }}"
poster:
selector: td:nth-child(2) > script
filters:
- name: regexp
args: "src=\\\\\"(.*?)\\\\\""
- name: re_replace
args: ["\\\\(.)", "$1"]
- name: replace
args: ["/static/common/noartwork/noimage.png", ""]
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(5) > span
attribute: title
# auto adjusted by site account profile
filters:
- name: dateparse
args: "MMM dd yyyy, HH:mm"
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
span.icon[title*="Freeleech"]: 0
"img[alt=\"Freeleech\"]": 0
"*": 1
uploadvolumefactor:
case:
span.icon[title*="DoubleSeed"]: 2
"img[alt=\"DoubleSeed\"]": 2
"*": 1
minimumratio:
text: 0.5
# Luminance

View File

@@ -1,134 +0,0 @@
---
id: enthralled2fa
name: Enthralled2FA
description: "Enthralled is a Private Torrent Tracker for FETISH 3X. Cookie Login for 2FA use."
language: en-US
type: private
encoding: UTF-8
links:
- https://www.enthralled.me/
caps:
categorymappings:
- {id: 1, cat: XXX, desc: "FemDom"}
- {id: 2, cat: XXX, desc: "LezDom"}
- {id: 4, cat: XXX, desc: "POV"}
- {id: 5, cat: XXX, desc: "Scat"}
- {id: 3, cat: XXX, desc: "TransDom"}
modes:
search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- 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.
login:
# using cookie method because login page can present second page for 2FA when enabled
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: "#nav_userinfo"
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
title: "{{ .Keywords }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
action: advanced
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
rows:
selector: table#torrent_table > tbody > tr[class^="torrent shaded_row"]:has(a[href*="action=download"])
fields:
category:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: regexp
args: "(\\d+)]=1"
title:
selector: a[href^="/torrents.php?id="]
details:
selector: a[href^="/torrents.php?id="]
attribute: href
download:
selector: a[href^="/torrents.php?action=download&id="]
attribute: href
description_tags:
selector: div.tags
description:
case:
span.icon_okay: "Verified: {{ .Result.description_tags }}"
"*": "Unverified: {{ .Result.description_tags }}"
poster:
selector: td:nth-child(2) > script
filters:
- name: regexp
args: "src=\\\\\"(.*?)\\\\\""
- name: re_replace
args: ["\\\\(.)", "$1"]
- name: replace
args: ["/static/common/noartwork/noimage.png", ""]
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(5) > span
attribute: title
# auto adjusted by site account profile
filters:
- name: dateparse
args: "MMM dd yyyy, HH:mm"
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
span.icon[title*="Freeleech"]: 0
"img[alt=\"Freeleech\"]": 0
"*": 1
uploadvolumefactor:
case:
span.icon[title*="DoubleSeed"]: 2
"img[alt=\"DoubleSeed\"]": 2
"*": 1
minimumratio:
text: 0.5
# Luminance

View File

@@ -1,189 +0,0 @@
---
id: extremlymtorrents
name: ExtremlymTorrents
description: "ExtremlymTorrents (XTR) is a Semi-Private tracker for MOVIES / TV / GENERAL"
language: en-US
type: semi-private
encoding: UTF-8
links:
- https://extremlymtorrents.ws/
caps:
categorymappings:
- {id: 15, cat: Movies/HD, desc: "1080p HD"}
- {id: 52, cat: Other/Misc, desc: "2021 xROBOT Extern"}
- {id: 40, cat: Movies/UHD, desc: "4K UHD 2160p"}
- {id: 48, cat: Audio/Video, desc: "4K | 2160p | Music Video"}
- {id: 22, cat: Movies/HD, desc: "720p HD"}
- {id: 19, cat: PC/Mobile-Android, desc: "Android Apk"}
- {id: 28, cat: TV/Anime, desc: "Anime | Japanese"}
- {id: 3, cat: PC, desc: "Applications"}
- {id: 16, cat: Movies/3D, desc: "BluRay 3D"}
- {id: 12, cat: Movies/BluRay, desc: "BluRay HDR"}
- {id: 44, cat: Movies, desc: "Bollywood"}
- {id: 35, cat: Movies, desc: "BRRip | BDRip | HDRip"}
- {id: 36, cat: Movies, desc: "CAMRip | REC"}
- {id: 8, cat: Books/EBook, desc: "Comics | EBook"}
- {id: 31, cat: TV/Documentary, desc: "DOC's"}
- {id: 27, cat: Movies/DVD, desc: "DVD | PAL | NTSC"}
- {id: 5, cat: Movies/DVD, desc: "DVDRip"}
- {id: 1, cat: PC/Games, desc: "Games PC"}
- {id: 32, cat: PC/Mobile-Other, desc: "GPS Navigation"}
- {id: 13, cat: TV/HD, desc: "HDTV"}
- {id: 43, cat: XXX, desc: "Hentai | Manga"}
- {id: 20, cat: PC/Mobile-iOS, desc: "Iphone iOS"}
- {id: 9, cat: TV, desc: "Kidz | Cartoons"}
- {id: 23, cat: PC, desc: "Linux"}
- {id: 7, cat: PC/Mac, desc: "Mac"}
- {id: 6, cat: Audio, desc: "Music Mp3 | FLAC"}
- {id: 21, cat: Movies, desc: "Pack"}
- {id: 30, cat: TV/SD, desc: "PDTV | SDTV"}
- {id: 11, cat: XXX, desc: "Porn -[+18]- xXx"}
- {id: 47, cat: XXX/UHD, desc: "Porn UHD 4K -[+18]- xXx"}
- {id: 18, cat: Console/PS3, desc: "PS3 | Playstation 3"}
- {id: 46, cat: Console/PS4, desc: "PS4 | PlayStation 4"}
- {id: 17, cat: Console/PSP, desc: "PSP | Playstation"}
- {id: 39, cat: TV/Sport, desc: "Sport TV"}
- {id: 38, cat: Movies, desc: "TS: TeleSync | HD-TS"}
- {id: 10, cat: TV, desc: "TV Episode | Season Complete"}
- {id: 49, cat: TV/UHD, desc: "TV UHD | 2160p | Episodes"}
- {id: 41, cat: TV/WEB-DL, desc: "TVRip"}
- {id: 24, cat: Audio/Video, desc: "VideoClip"}
- {id: 45, cat: Audio, desc: "Vinyl Rip"}
- {id: 14, cat: Other, desc: "Wallpapers"}
- {id: 25, cat: Movies/WEB-DL, desc: "WEBRip | WEB-DL"}
- {id: 26, cat: Console/Wii, desc: "Wii Games"}
- {id: 29, cat: PC/0day, desc: "Windows PC"}
- {id: 42, cat: Other/Misc, desc: "X EXTERN ONLY MAGNET"}
- {id: 2, cat: Console/XBox 360, desc: "XBOX 360"}
- {id: 50, cat: XXX/ImageSet, desc: "xXx iMAGESET (+18)"}
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: sort
type: select
label: Sort requested from site
default: id
options:
id: 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: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: span.titlebar:contains("Access Denied")
message:
selector: td.text
test:
path: index.php
selector: a[href="account-logout.php"]
search:
paths:
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 all 1 English 2 etc...
lang: 0
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
keywordsfilters:
- name: re_replace
args: ["(\\w+)", "+$1"] # prepend + to each word
rows:
selector: table.xtrz > tbody > tr[class^="ttable_col"]
fields:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
_language:
selector: td:nth-last-child(5)
_vip:
selector: img[src="/images/vip-icon.png"]
attribute: alt
optional: true
title:
selector: a[href^="file.php?id="] b
filters:
- name: append
args: " {{ .Result._language }}{{ if .Result._vip }} VIP ONLY{{ else }}{{ end }}"
details:
selector: a[href^="file.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="file.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?) "
- name: replace
args: ["/pic/uploadimage.jpg", ""]
date:
selector: td:nth-last-child(1)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd.MM.yyyyHH:mm:ss"
leechers:
selector: td:nth-last-child(2)
seeders:
selector: td:nth-last-child(3)
size:
selector: td:nth-last-child(4)
downloadvolumefactor:
case:
img[src="/images/free.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
genre:
# Drama, Romance | N/A | 2022 | 112 min | N/A
# Drama:Family:Romance
selector: td:nth-child(2)
remove: a
filters:
- name: split
args: ["|", 0]
- name: re_replace
args: ["\\bn\\\\a\\b", ""]
description:
text: "{{ .Result.genre }}{{ if .Result._vip }}</br>VIP ONLY{{ else }}{{ end }}"
minimumratio:
text: 1.0
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
# engine n/a

View File

@@ -1,170 +0,0 @@
---
id: exttorrents
name: EXT Torrents
description: "EXT Torrents is a Public torrent site for MOVIES / TV / GENERAL"
language: en-US
type: public
encoding: UTF-8
requestDelay: 5
links:
- https://ext.to/
- https://search.extto.com/
- https://extranet.torrentbay.st/
legacylinks:
- https://ext.unblockninja.com/
- https://t.extto.com/
- https://torrent.extto.com/
- https://site.extto.com/
- https://ext.torrentbay.to/
- https://extranet.torrentbay.to/
- https://extranet.torrentbay.net/
caps:
categorymappings:
- {id: "/anime/", cat: TV/Anime, desc: Anime}
- {id: "/anime//anime/audio-lossless/", cat: Audio/Lossless, desc: "Anime Audio Lossless"}
- {id: "/anime//anime/english-translated/", cat: TV/Anime, desc: "Anime English Translated"}
- {id: "/anime//anime/raw", cat: TV/Anime, desc: Anime Raw}
- {id: "/anime//anime/subs/", cat: TV/Anime, desc: Anime Subs}
- {id: "/anime/raw", cat: TV/Anime, desc: Anime Raw}
- {id: "/applications/", cat: PC, desc: Apps}
- {id: "/applications//applications/android/", cat: PC/Mobile-Android, desc: "Apps Android"}
- {id: "/applications//applications/ios/", cat: PC/Mobile-iOS, desc: "Apps iOS"}
- {id: "/applications//applications/linux/", cat: PC, desc: "Apps Linux"}
- {id: "/applications//applications/mac/", cat: PC/Mac, desc: "Apps Mac"}
- {id: "/applications//applications/other-applications/", cat: PC/Mobile-Other, desc: "Apps Other"}
- {id: "/applications//applications/windows/", cat: PC/0day, desc: "Apps Windows"}
- {id: "/books/", cat: Books, desc: Books}
- {id: "/books//books/audio-books/", cat: Audio/Audiobook, desc: "Books Audiobooks"}
- {id: "/books//books/comics/", cat: Books/Comics, desc: "Books Comics"}
- {id: "/books//books/ebooks/", cat: Books/EBook, desc: "Books Ebooks"}
- {id: "/games/", cat: PC/Games, desc: Games}
- {id: "/games//games/mac/", cat: PC/Mac, desc: "Games Mac"}
- {id: "/games//games/nds/", cat: Console/NDS, desc: "Games NDS"}
- {id: "/games//games/other-games/", cat: Console/Other, desc: "Games Other"}
- {id: "/games//games/pc-games/", cat: PC/Games, desc: "Games PC"}
- {id: "/games//games/ps3/", cat: Console/PS3, desc: "Games PS3"}
- {id: "/games//games/ps4/", cat: Console/PS4, desc: "Games PS4"}
- {id: "/games//games/psp/", cat: Console/PSP, desc: "Games PSP"}
- {id: "/games//games/switch/", cat: Console/Other, desc: "Games Switch"}
- {id: "/games//games/wii/", cat: Console/Wii, desc: "Games Wii"}
- {id: "/games//games/xbox360/", cat: Console/XBox 360, desc: "Games Xbox360"}
- {id: "/movies/", cat: Movies, desc: Movies}
- {id: "/movies//movies/3d-movies/", cat: Movies/3D, desc: "Movies 3D"}
- {id: "/movies//movies/bollywood/", cat: Movies, desc: "Movies Bollywood"}
- {id: "/movies//movies/documentary/", cat: Movies, desc: "Movies Documentary"}
- {id: "/movies//movies/dubbed-movies/", cat: Movies, desc: "Movies Dubbed"}
- {id: "/movies//movies/dvd/", cat: Movies/DVD, desc: "Movies DVD"}
- {id: "/movies//movies/highres-movies/", cat: Movies/HD, desc: "Movies Highres"}
- {id: "/movies//movies/movie-clips/", cat: Movies/Other, desc: "Movies Movie clips"}
- {id: "/movies//movies/mp4/", cat: Movies, desc: "Movies MP4"}
- {id: "/movies//movies/music-videos/", cat: Audio/Video, desc: "Movies Music videos"}
- {id: "/movies//movies/other-movies/", cat: Movies, desc: "Movies Other Movies"}
- {id: "/movies//movies/ultrahd/", cat: Movies/UHD, desc: "Movies UltraHD"}
- {id: "/music/", cat: Audio, desc: Music}
- {id: "/music//music/aac/", cat: Audio, desc: "Music AAC"}
- {id: "/music//music/lossless/", cat: Audio/Lossless, desc: "Music Lossless"}
- {id: "/music//music/mp3/", cat: Audio/MP3, desc: "Music MP3"}
- {id: "/music//music/other-music/", cat: Audio/Other, desc: "Music Other"}
- {id: "/music//music/radio-shows/", cat: Audio, desc: "Music Radio Shows"}
- {id: "/other/", cat: Other, desc: Other}
- {id: "/tv/", cat: TV, desc: TV}
- {id: "/video/", cat: XXX, desc: "XXX Video"}
- {id: "/xxx/", cat: XXX, desc: XXX}
- {id: "/xxx//xxx/games/", cat: XXX/Other, desc: "XXX Games"}
- {id: "/xxx//xxx/hentai/", cat: XXX/Other, desc: "XXX Hentai"}
- {id: "/xxx//xxx/magazines/", cat: XXX/Other, desc: "XXX Magazines"}
- {id: "/xxx//xxx/pictures/", cat: XXX/ImageSet, desc: "XXX Pictures"}
- {id: "/xxx//xxx/video/", cat: XXX, desc: "XXX Video"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: sort
type: select
label: Sort requested from site
default: age
options:
age: created
seed: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
# https://ext.to/browse/?sort=age&order=desc&age=4&with_adult=1
# https://ext.to/browse/?sort=age&order=desc&q=wipeout&with_adult=1
# https://ext.to/browse/?imdb_id=tt2693776
- path: browse/
- path: browse/
inputs:
page: 2
followredirect: true
inputs:
q: "{{ .Keywords }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# 0=last 24 hours, 1=last 3 days, 2=last week, 3=last 2 weeks, 4=last month
age: "{{ if or .Keywords .Query.IMDBID }}{{ else }}0{{ end }}"
# familysafe 0=enabled, 1=disabled
with_adult: "{{ if .Query.IMDBID }}{{ else }}1{{ end }}"
imdb_id: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
rows:
selector: table.table-striped > tbody > tr
fields:
category_part1:
selector: td:nth-child(1) div div a:nth-child(2)
attribute: href
optional: true
category_part2:
selector: td:nth-child(1) div div a:nth-child(3)
attribute: href
optional: true
category_combined:
text: "{{ .Result.category_part1 }}{{ .Result.category_part2 }}"
optional: true
category:
text: "{{ if .Result.category_combined }}{{ .Result.category_combined }}{{ else }}/other/{{ end }}"
title:
selector: td:nth-child(1) div a
details:
selector: td:nth-child(1) div a
attribute: href
infohash:
selector: a[href^="magnet:?xt="]
attribute: href
filters:
- name: regexp
args: ([A-F|a-f|0-9]{40})
size:
selector: td:nth-child(2)
files:
selector: td:nth-child(3)
optional: true
default: 1
date:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,157 +0,0 @@
---
id: falkonvisionteam
name: Falkon Vision Team
description: "Falkon Vision Team is a CROATIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: hr-HR
type: private
encoding: UTF-8
links:
- http://falkonvision-team.com/ # does not support https, CA expired March 2018
caps:
categorymappings:
- {id: 16, cat: Audio/Audiobook, desc: "Audio knjige"}
- {id: 10, cat: Movies/BluRay, desc: "Blue Ray"}
- {id: 6, cat: TV/Documentary, desc: "Dokumentarci"}
- {id: 9, cat: Movies/DVD, desc: "DVD"}
- {id: 4, cat: Movies/DVD, desc: "DVDRip"}
- {id: 12, cat: Books/EBook, desc: "E-KNJIGE"}
- {id: 3, cat: Other, desc: "FVT"}
- {id: 13, cat: Movies/HD, desc: "HD Rip"}
- {id: 14, cat: Audio/Video, desc: "Koncerti"}
- {id: 7, cat: Audio, desc: "Muzika"}
- {id: 15, cat: TV, desc: "Serije"}
- {id: 8, cat: TV/Sport, desc: "Sport"}
- {id: 5, cat: TV, desc: "TV Rip"}
- {id: 11, cat: Movies/Other, desc: "Video spotovi"}
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: 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: "To keep records updated reguarly, all inactive accounts will be deleted after 60 days of inactivity."
login:
path: login.php?
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img#regimage
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
error:
- selector: table:contains("Greska")
test:
path: index.php
selector: a[href*="/logout.php?logouthash="]
search:
paths:
- path: browse.php
keywordsfilters:
- name: re_replace
args: ["[\\s]+", "%"]
inputs:
do: search
keywords: "{{ .Keywords }}"
# t_name, t_description, t_both, t_uploader, t_genre
# searching t_name yields no results!
search_type: t_both
# does not support multi category searching so defaulting to all.
category: 0
include_dead_torrents: yes
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
# does not return imdb link in results and t_genre does not return imdbid search results
rows:
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="/browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
title:
selector: a[href*="/details.php?id="]
details:
selector: a[href*="/details.php?id="]
attribute: href
download:
selector: a[href*="/download.php?id="]
attribute: href
poster:
selector: img[src*="/torrents/images/"]
attribute: src
date:
selector: td:nth-child(2)
# auto adjusted by site account profile
filters:
- name: regexp
args: "(\\d{2}-\\d{2}-\\d{2} \\d{2}:\\d{2})"
- name: dateparse
args: "dd-MM-yy HH:mm"
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)
description:
# Wait: 4 h
# Cekanje: 4 h
selector: div.tooltip-content > div:last-child
downloadvolumefactor:
case:
img[src$="/freedownload.gif"]: 0
img[src$="/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="/x2.gif"]: 2
"*": 1
minimumseedtime:
# 60 hours (as seconds = 60 x 60 x 60)
text: 216000
# TS Special Edition v.7.4

View File

@@ -1,223 +0,0 @@
---
id: fantastiko
name: Fantastiko
description: "Fantastiko is a GREEK Private Torrent Tracker for SCI-FI / FANTASY / HORROR MOVIES / TV / GENERAL"
language: el-GR
type: private
encoding: UTF-8
links:
- https://fantastiko.space/
legacylinks:
- http://fantastiko.space/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 14, cat: Movies/BluRay, desc: "Movies DVDRip/BRRip"}
- {id: 56, cat: Movies/HD, desc: "Movies BluRay 720p/1080p/2160p"}
- {id: 17, cat: Movies/DVD, desc: "Movies DVD5/9"}
- {id: 49, cat: Movies, desc: "Movies Packs/filmographies"}
- {id: 50, cat: Movies/Other, desc: "Movies Others (screener-webrip-tvrip)"}
- {id: 53, cat: Movies/SD, desc: "Movies VHS"}
- {id: 51, cat: Movies, desc: "Movies Short films"}
- {id: 52, cat: Movies, desc: "Movie Serials"}
- {id: 32, cat: TV, desc: "Series"}
- {id: 38, cat: TV, desc: "TV Episodes"}
- {id: 39, cat: TV, desc: "TV Packs"}
- {id: 57, cat: TV/WEB-DL, desc: "Web Episodes"}
- {id: 65, cat: TV/WEB-DL, desc: "Web Episode Packs"}
- {id: 64, cat: TV, desc: "Video Episodes"}
- {id: 66, cat: TV, desc: "Video Episode Packs"}
- {id: 36, cat: TV/Anime, desc: "Animation"}
- {id: 54, cat: TV/Anime, desc: "Animation Movies"}
- {id: 55, cat: TV/Anime, desc: "Animation TV Series"}
- {id: 60, cat: TV/Anime, desc: "Animation Web Series"}
- {id: 61, cat: TV/Anime, desc: "Animation Video Series"}
- {id: 59, cat: TV/Anime, desc: "Animation Shorts"}
- {id: 33, cat: TV/Documentary, desc: "Ντοκιμαντέρ/Τηλ.Εκπομπές (Documentaries)"}
- {id: 58, cat: TV, desc: "Supermarionation"}
- {id: 62, cat: TV, desc: "Supermarionation Movies"}
- {id: 63, cat: TV, desc: "Supermarionation Series"}
- {id: 34, cat: Books, desc: "Βιβλία"}
- {id: 40, cat: Books/EBook, desc: "E-Books"}
- {id: 41, cat: Audio/Audiobook, desc: "Audio Books"}
- {id: 42, cat: Books/Mags, desc: "Περιοδικά (Magazines)"}
- {id: 35, cat: Books/Comics, desc: "Comics"}
- {id: 37, cat: Other, desc: "Παραστάσεις (Theater)"}
- {id: 45, cat: Other, desc: "Photos"}
- {id: 7, cat: Audio/Other, desc: "Music/Soundtrack"}
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 46, cat: PC, desc: "Software"}
- {id: 47, cat: Other, desc: "Κατασκευές (Constructions)"}
- {id: 48, cat: Other, desc: "Borg Cube"}
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: info_activity
type: info
label: Account Inactivity
default: "Newcomers with zero offer and participation are deleted after 1 week. Those users who fall into a ratio below 1 or make 3 hit'n'runs (2 for newcomers) become a redshirt (this means limited access to the tracker, removal of invites and reset of forum statistics) and at 5, if they don't enter the seed and 15 days pass, they are banned to the nearest barren planet..."
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: 1
selectorinputs:
securitytoken:
selector: "script:contains(\"stKey: \")"
filters:
- name: regexp
args: "stKey: \"(.+?)\","
error:
- selector: ":contains(\"-ERROR-\")"
test:
path: ?p=home&pid=1
selector: a#logout
search:
paths:
- path: /
keywordsfilters:
- name: re_replace # add brackets to year on searchquery if missing
args: ["\\(*((19|20)\\d{2})\\)*", "($1)"]
- name: re_replace
args: ["[^\\w\\d\\(\\)]+", "%"]
inputs:
p: torrents
pid: 32
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
keywords: "{{ .Keywords }}"
# name, description, both, uploader
search_type: name
error:
- selector: div#show_error
rows:
selector: "tr:has(a[href*=\"?p=torrents\"][href*=\"&cid=\"]){{ if .Config.freeleech }}:has(img[src*=\"torrent_free.png\"]){{ else }}{{ end }}"
filters:
- name: andmatch
fields:
category:
selector: a[href*="?p=torrents"][href*="&cid="]
attribute: href
filters:
- name: querystring
args: cid
title:
selector: a[href*="?p=torrents"][href*="&action=details"]
details:
selector: a[href*="?p=torrents"][href*="&action=details"]
attribute: href
download:
selector: a[href*="?p=torrents"][href*="&action=download"]
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: a[rel="torrent_size"]
seeders:
selector: a[rel="torrent_seeders"]
leechers:
selector: a[rel="torrent_leechers"]
grabs:
selector: a[rel="times_completed"]
poster:
selector: a[rel="fancybox"]
attribute: href
downloadvolumefactor:
case:
"img[src*=\"torrent_free.png\"]": 0
"*": 1
uploadvolumefactor:
text: 1
date_day:
selector: td.torrent_name:contains("day"), td.torrent_name:contains("σήμερα"), td.torrent_name:contains("εχθές"), td.torrent_name:contains("Δευτέρα"), td.torrent_name:contains("Τρίτη"), td.torrent_name:contains("Τετάρτη"), td.torrent_name:contains("Πέμπτη"), td.torrent_name:contains("Παρασκευή"), td.torrent_name:contains("Σάββατο"), td.torrent_name:contains("Κυριακή")
# auto adjusted by site account profile
optional: true
remove: span, a
filters:
- name: replace
args: ["Uploaded ", ""]
- name: replace
args: [" by", ""]
- name: replace
args: ["Ανέβηκε ", ""] # Uploaded
- name: replace
args: [" από", ""] # by
- name: replace
args: [" τον/την", ""] # him/her
- name: replace
args: ["στις ", "at "] # at
- name: replace
args: ["σήμερα", "Today"]
- name: replace
args: ["εχθές", "Yesterday"]
- name: replace
args: ["Δευτέρα", "Monday"]
- name: replace
args: ["Τρίτη", "Tuesday"]
- name: replace
args: ["Τετάρτη", "Wednesday"]
- name: replace
args: ["Πέμπτη", "Thursday"]
- name: replace
args: ["Παρασκευή", "Friday"]
- name: replace
args: ["Σάββατο", "Saturday"]
- name: replace
args: ["Κυριακή", "Sunday"]
- name: fuzzytime
date_year:
selector: td.torrent_name:contains("-")
# auto adjusted by site account profile
optional: true
remove: span, a
filters:
- name: replace
args: ["Uploaded ", ""]
- name: replace
args: [" by", ""]
- name: replace
args: ["at ", ""]
- name: replace
args: ["Ανέβηκε ", ""] # Uploaded
- name: replace
args: [" από", ""] # by
- name: replace
args: [" τον/την", ""] # him/her
- name: replace
args: ["στις ", ""] # at
- name: dateparse
args: "dd-MM-yyyy HH:mm"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# TSUE 2.1

View File

@@ -1,134 +0,0 @@
---
id: fastscene
name: FastScene
description: "FastScene is a ROMANIAN / ENGLISH Private site for MOVIES / TV / GENERAL"
language: ro-RO
type: private
encoding: UTF-8
links:
- https://fastscene.net/
caps:
categorymappings:
- {id: 1, cat: TV/Anime, desc: "Anime"}
- {id: 2, cat: TV/Anime, desc: "Anime-Ro"}
- {id: 3, cat: Movies/BluRay, desc: "BluRay"}
- {id: 4, cat: Movies/BluRay, desc: "BluRay-Ro"}
- {id: 5, cat: Movies/UHD, desc: "4K"}
- {id: 6, cat: Movies/UHD, desc: "4K-Ro"}
- {id: 7, cat: Movies/3D, desc: "3D"}
- {id: 8, cat: Movies/3D, desc: "3D-Ro"}
- {id: 9, cat: Movies/HD, desc: "HD"}
- {id: 10, cat: Movies/HD, desc: "HD-Ro"}
- {id: 11, cat: Movies/SD, desc: "XVID"}
- {id: 12, cat: Movies/SD, desc: "XVID-Ro"}
- {id: 13, cat: Movies, desc: "Oldies"}
- {id: 14, cat: Movies, desc: "Oldies-Ro"}
- {id: 15, cat: Movies, desc: "Packs Movies"}
- {id: 16, cat: Movies, desc: "Packs Movies-Ro"}
- {id: 17, cat: TV, desc: "TV-Episodes"}
- {id: 18, cat: TV, desc: "TV-Episodes-Ro"}
- {id: 19, cat: PC/Games, desc: "Games PC"}
- {id: 20, cat: PC/Games, desc: "Games Packs"}
- {id: 21, cat: Audio/MP3, desc: "Music MP3"}
- {id: 22, cat: Movies, desc: "APPZ"}
- {id: 23, cat: TV/Sport, desc: "Sports"}
- {id: 24, cat: PC/Mobile-Android, desc: "Android"}
- {id: 25, cat: TV/Documentary, desc: "Docs"}
- {id: 26, cat: Other, desc: "Images"}
- {id: 27, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
book-search: [q]
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: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: info_activity
type: info
label: Account Inactivity
default: "Accounts with ZERO activity (0 bytes downloaded and 0 bytes uploaded) will automatically be deleted after 90 days. Inactive accounts (Lower than VIP class) will be automatically deleted after 150 days."
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: /
selector: a[href="account-logout.php"]
search:
paths:
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 all, 1 nofree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# does not support imdbid searches or provide sort options
rows:
selector: table.ttable_headinner > tbody > tr
fields:
category:
selector: a[href*="cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="] b
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["&hit=1", ""] # avoid redirect
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[onMouseover] img
attribute: src
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
date:
text: now
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
genre:
selector: b:contains("Genre") font:nth-child(2)
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
img[src$="/FREE.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.1
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# TorrentTrader (custom 3.0)

View File

@@ -1,176 +0,0 @@
---
id: file-shack
name: File-Shack
description: "File-Shack is a Private tracker for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://file-shack.xyz/
caps:
categorymappings:
- {id: 6, cat: PC/0day, desc: "Apps: Windows"}
- {id: 7, cat: PC/Mac, desc: "Apps: Mac"}
- {id: 8, cat: PC, desc: "Apps: Linux"}
- {id: 75, cat: Movies/DVD, desc: "Movies: DVD"}
- {id: 26, cat: Movies/BluRay, desc: "Movies: Blu-Ray"}
- {id: 42, cat: Movies/HD, desc: "Movies: FHD-HD"}
- {id: 50, cat: Movies/WEB-DL, desc: "Movies: Web-Dl"}
- {id: 74, cat: Movies/SD, desc: "Movies: SD"}
- {id: 49, cat: Movies/UHD, desc: "Movies: 4k"}
- {id: 46, cat: Movies/3D, desc: "Movies: 3D"}
- {id: 24, cat: Movies, desc: "Movies: Packs"}
- {id: 28, cat: Movies/Other, desc: "Movies: Cartoons"}
- {id: 47, cat: XXX, desc: "Movies: XXX"}
- {id: 41, cat: TV/HD, desc: "TV: HD"}
- {id: 52, cat: TV/WEB-DL, desc: "TV: WEB-DL"}
- {id: 48, cat: TV, desc: "TV: Packs"}
- {id: 9, cat: TV/Documentary, desc: "TV: Documentaries"}
- {id: 22, cat: Audio/MP3, desc: "Music: MP3"}
- {id: 23, cat: Audio/Lossless, desc: "Music: FLAC"}
- {id: 25, cat: Audio/Video, desc: "Music: Video"}
- {id: 27, cat: Audio, desc: "Music: Pack"}
- {id: 53, cat: PC/Games, desc: "Games: Pc"}
- {id: 54, cat: Console, desc: "Games: PsP"}
- {id: 76, cat: Audio/Audiobook, desc: "Books: Audio"}
- {id: 77, cat: Books/EBook, desc: "Books: eBooks"}
- {id: 78, cat: TV/UHD, desc: "TV: 4k"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: 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_results
type: info
label: Search results
default: "If you are not getting results, then access the site with your browser and mark as read all PMs."
- name: info_activity
type: info
label: Account Inactivity
default: "Be active here, you must login at least once a month. Also, not downloading anything is considered being inactive (except if you're an uploader or VIP). The accounts inactive for 3 months are deleted."
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.myFrame:contains("Access Denied")
test:
path: index.php
selector: a[href^="account-logout.php"]
search:
paths:
# https://file-shack.xyz/torrents-search.php?c22=1&c23=1&c76=1&c77=1&search=&incldead=0&freeleech=0&inclrosub=0
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
# 0 only active 1 incl dead 2 only dead
incldead: 1
# 0 all 1 not freeleech 2 only freeleech
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
rows:
selector: table.ttable_headinner > tbody > tr
fields:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="torrents-details.php?id="]:not(a[onmouseover*="images/nocover.png"])
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td:nth-child(4)
date:
# 15.11.21<br>07:47
selector: td:nth-child(5)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "d.MM.yyHH:mm"
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
genre:
selector: a:contains("Genre:")
filters:
- name: replace
args: ["Genre: ", ""]
_source:
case:
img[src="images/t_extern.png"]: External
"*": Local
description:
text: "{{ .Result._source }} - {{ .Result.genre }}"
downloadvolumefactor:
case:
img[src="images/t_extern.png"]: 0
img[src="images/free.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
# global MR is 1.0 but torrents must be seeded for 1 day regardless of ratio
# minimumratio:
# text: 1.0
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
# engine n/a

View File

@@ -1,175 +0,0 @@
---
id: finvip
name: FinVip
description: "FinVip is a FINNISH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fi-FI
type: private
encoding: UTF-8
testlinktorrent: false
links:
- https://finvip.org/
caps:
categorymappings:
- {id: 5, cat: TV/Anime, desc: "Anime"}
- {id: 25, cat: TV/Documentary, desc: "Dokumentit (docs)"}
- {id: 6, cat: Books/EBook, desc: "e-Kirjat (ebooks)"}
- {id: 49, cat: Audio/Audiobook, desc: "Äänikirjat (audiobook)"}
- {id: 20, cat: TV/SD, desc: "Lasten DVD (kids)"}
- {id: 33, cat: TV/SD, desc: "Lasten SD (kids)"}
- {id: 50, cat: TV/HD, desc: "Lasten HD (kids)"}
- {id: 51, cat: TV/UHD, desc: "Lasten 4K (kids)"}
- {id: 11, cat: Movies/DVD, desc: "Leffat DVD (movies)"}
- {id: 13, cat: Movies/SD, desc: "Leffat SD (movies)"}
- {id: 21, cat: Movies/HD, desc: "Leffat HD (movies)"}
- {id: 48, cat: Movies/UHD, desc: "Leffat 4K (movies)"}
- {id: 15, cat: Audio/MP3, desc: "Musiikki (music)"}
- {id: 53, cat: Audio/Lossless, desc: "Musiikki Flac (music)"}
- {id: 12, cat: Audio/Video, desc: "Musavideot (clips)"}
- {id: 7, cat: PC/0day, desc: "Ohjelmat (apps)"}
- {id: 17, cat: PC/Games, desc: "Pelit PC (games)"}
- {id: 18, cat: Console, desc: "Pelit Konsoli (console)"}
- {id: 23, cat: XXX/SD, desc: "Porn SD"}
- {id: 36, cat: XXX/Other, desc: "Porn Muut"}
- {id: 47, cat: XXX/x264, desc: "Porn HD"}
- {id: 54, cat: XXX/UHD, desc: "Porn 4K"}
- {id: 1, cat: TV/SD, desc: "Sarjat Boxset (series)"}
- {id: 30, cat: TV/SD, desc: "Sarjat SD (series)"}
- {id: 41, cat: TV/HD, desc: "Sarjat HD (series)"}
- {id: 52, cat: TV/UHD, desc: "Sarjat 4K (series)"}
- {id: 40, cat: TV/Sport, desc: "Urheilu (sport)"}
- {id: 31, cat: Other, desc: "Muut (other)"}
- {id: 43, cat: TV, desc: "Salkkarit (drama)"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: info_results
type: info
label: "Search results"
default: "<ol><li>Only the Xbtit style is supported.</li><ul>Make sure to set the <b>Style</b> option in your profile to <b>Xbtit</b>.</ul><li>For best results, increase the torrents number in your profile to 100.</li><ul>Set the <b>Torrents Per Page</b> option to <b>100</b>.</ul></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 3
options:
3: created
5: seeders
4: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
- name: info_activity
type: info
label: Account Inactivity
default: "If you do not log into your account once for three months, i.e. your username is considered 'dead', it will be automatically deleted from the system."
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
logout: no
error:
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href="logout.php"]
download:
selectors:
- selector: a[href^="download.php?id="]
attribute: href
search:
paths:
# https://finvip.org/index.php?page=torrents&active=0&gold=0&category=5;25;6&order=3&by=2
- path: index.php
inputs:
page: torrents
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
# 0 title 1 title&descr 2 descr
options: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
# 0 all, 1 activeonly, 2 deadonly
active: 0
# 0 all, 1 classic, 2 50%free, 3 100%free, 4 50%+100&free
gold: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}"
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
rows:
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
fields:
category:
selector: td a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
title:
selector: td a[href^="index.php?page=torrent-details"]
details:
selector: td a[href^="index.php?page=torrent-details"]
attribute: href
download:
selector: td a[href^="index.php?page=downloadcheck"]
attribute: href
imdbid:
# javascript:popdetails('http://www.imdb.com/title/tt10209130');
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td:nth-last-child(1)
leechers:
selector: td:nth-last-child(2)
seeders:
selector: td:nth-last-child(3)
date:
# 23/12/2019 07:57
selector: td:nth-last-child(4)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy HH:mm"
genre:
selector: td:nth-child(2)
remove: a
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
img[src="images/silver.gif"]: 0.5
img[src="images/gold.gif"]: 0
img[src="images/freeleech.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# xbtit 2.0.0

View File

@@ -1,108 +0,0 @@
---
id: fsm
name: FSM
description: "FSM is a CHINESE Private Torrent Tracker for 3X"
language: zh-CN
type: private
encoding: UTF-8
requestDelay: 4
links:
- https://fsm.name/
caps:
categorymappings:
- {id: 1, cat: XXX, desc: "日本AV"}
- {id: 2, cat: XXX, desc: "国产视频"}
- {id: 3, cat: XXX/ImageSet, desc: "写真"}
- {id: 4, cat: XXX/Other, desc: "黄油"}
- {id: 5, cat: XXX, desc: "里番"}
- {id: 6, cat: XXX/Other, desc: "黄色漫画"}
- {id: 7, cat: XXX, desc: "欧美视频"}
- {id: 8, cat: XXX, desc: "其他"}
modes:
search: [q]
settings:
- name: apitoken
type: text
label: API Token
- name: info_token
type: info
label: About your API Token
default: "Generate your API token on the <a href=\"https://fsm.name/API\" target=\"_blank\">FSM API</a> page."
- name: passkey
type: text
label: Passkey
- name: info_passkey
type: info
label: About your Passkey
default: "Find your Passkey on the <a href=\"https://fsm.name/Rss\" target=\"_blank\">FSM RSS</a> page."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: info_activity
type: info
label: Account Inactivity
default: "To be on the safe side, you need to complete a new torrent every 60 days (either seed after publishing the torrent or download a torrent entirely), otherwise, your account will be locked and can be unlocked via the password recovery feature on the login page."
login:
path: https://api.fsm.name/Torrents/listTorrents
method: get
inputs: {} # TODO: remove in v10
search:
paths:
- path: https://api.fsm.name/Torrents/listTorrents
response:
type: json
headers:
APITOKEN: ["{{ .Config.apitoken }}"]
inputs:
type: 0
keyword: "{{ .Keywords }}"
# 0 all, 1 2xfree, 2 free
systematics: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
rows:
selector: data.list
fields:
category:
selector: type.id
title:
selector: title
_id:
selector: tid
details:
text: "{{ .Config.sitelink }}Torrents/details?tid={{ .Result._id }}"
download:
text: "/Torrents/download?tid={{ .Result._id }}&passkey={{ .Config.passkey }}"
infohash:
selector: fileHash
poster:
selector: cover
genre:
selector: tags
description:
text: "{{ .Result.genre }}"
seeders:
selector: peers.upload
leechers:
selector: peers.download
grabs:
selector: finish
date:
selector: createdTs
size:
selector: fileSize
downloadvolumefactor:
selector: status.downCoefficient
uploadvolumefactor:
selector: status.upCoefficient
minimumratio:
text: 1.0
# json TNode

View File

@@ -1,174 +0,0 @@
---
id: gamera
name: Gamera (駕瞑羅)
description: "Gamera (駕瞑羅) is a CHINESE Private Torrent Tracker for Japanese Monster and Superhero MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://gamerapt.link/
caps:
categorymappings:
- {id: 410, cat: Movies, desc: "Monster怪兽"}
- {id: 410, cat: TV, desc: "Monster怪兽"}
- {id: 411, cat: Movies, desc: "Kamen Rider假面骑士"}
- {id: 411, cat: TV, desc: "Kamen Rider假面骑士"}
- {id: 412, cat: Movies, desc: "Ultraman奥特曼"}
- {id: 412, cat: TV, desc: "Ultraman奥特曼"}
- {id: 413, cat: Movies, desc: "Team战队"}
- {id: 413, cat: TV, desc: "Team战队"}
- {id: 414, cat: Movies, desc: "Other其他特摄"}
- {id: 414, cat: TV, desc: "Other其他特摄"}
- {id: 415, cat: Movies, desc: "Musical特摄音乐"}
- {id: 415, cat: TV, desc: "Musical特摄音乐"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, imdbid, doubanid]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- 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 or above will be retained forever</li><li>Elite User or above will not be deleted after parking (in the control panel)</li><li>Users with a non-parked account will be deleted if they have not logged in for more than 365 consecutive days.</li></ol>"
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
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
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.rowfollow:nth-last-of-type(5) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-last-of-type(5):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-last-of-type(4)
seeders:
selector: td.rowfollow:nth-last-of-type(3)
leechers:
selector: td.rowfollow:nth-last-of-type(2)
grabs:
selector: td.rowfollow:nth-last-of-type(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
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
minimumratio:
text: 0.2
# NexusPHP KEMURIKUSA 2019-01-09

View File

@@ -1,143 +0,0 @@
---
id: genesismovement
name: Genesis-Movement
description: "Genesis-Movement is a Semi-Private Torrent Tracker for GENESIS BOOTLEG MUSIC"
language: en-US
type: semi-private
encoding: iso-8859-1
links:
- https://torrent.genesis-movement.org/
caps:
categorymappings:
- {id: 20, cat: Audio, desc: "Audio - Genesis"}
- {id: 28, cat: Audio, desc: "Audio - Mike And The Mechanics "}
- {id: 22, cat: Audio, desc: "Audio - Peter Gabriel"}
- {id: 24, cat: Audio, desc: "Audio - Phil Collins"}
- {id: 30, cat: Audio, desc: "Audio - Ray Wilson"}
- {id: 26, cat: Audio, desc: "Audio - Steve Hackett"}
- {id: 32, cat: Audio, desc: "Audio - Tony Banks"}
- {id: 36, cat: Audio/Other, desc: "Misc - BrandX"}
- {id: 19, cat: Audio/Other, desc: "Misc - Misc"}
- {id: 38, cat: Audio/Other, desc: "Misc - Non-Music"}
- {id: 21, cat: Audio/Video, desc: "Video - Genesis"}
- {id: 29, cat: Audio/Video, desc: "Video - Mike And The Mechanics"}
- {id: 23, cat: Audio/Video, desc: "Video - Peter Gabriel"}
- {id: 25, cat: Audio/Video, desc: "Video - Phil Collins"}
- {id: 31, cat: Audio/Video, desc: "Video - Ray Wilson"}
- {id: 27, cat: Audio/Video, desc: "Video - Steve Hackett"}
- {id: 33, cat: Audio/Video, desc: "Video - Tony Banks"}
modes:
search: [q]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: created
name: title
size: size
seeders: seeders
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.bblock:contains("Access Denied")
test:
path: index.php
selector: a[href="account-logout.php"]
search:
paths:
# https://torrent.genesis-movement.org/torrents-search.php?c20=1&c24=1&search=&cat=0&tour=0&incldead=1&freeleech=0&lang=0&owner=0
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 all
tour: 0
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 any, 1 notfree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 all, 1 English, 2 French, 3 German, 4 Italian, 5 Japanese, 6 Spanish, 7 Russian
lang: 0
# 0 all
owner: 0
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
rows:
selector: table[class="ttable_headinner"] > tbody > tr:not(:has(td.ttable_head))
after: 1
filters:
- name: andmatch
fields:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
date:
selector: div[id^="kt"] > table > tbody > tr > td:contains("Date Added:")
# auto adjusted by site account profile
filters:
- name: regexp
args: "(\\d{2}-\\d{2}-\\d{4} at \\d{2}:\\d{2}:\\d{2})"
- name: replace
args: [" at ", " "]
- name: dateparse
args: "dd-MM-yyyy HH:mm:ss"
size:
selector: td:nth-last-child(6)
grabs:
selector: td:nth-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
downloadvolumefactor:
case:
a[title="FreeLeech!"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# TorrentTrader

View File

@@ -1,152 +0,0 @@
---
id: gktorrent
name: GkTorrent
description: "GkTorrent is a French Public site for TV / MOVIES / GENERAL"
language: fr-FR
type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.org/
links:
- https://www-gktorrent.com/
legacylinks:
# latest domains list
- https://www.rantop.org/
- https://gktorrent.news/
- https://www.torrent.onl/
- https://www.site-torrent.com/
# domain lists no longer working
- https://www.protege-torrent.com/
- https://www.torrent.ws/
- https://www.protege-liens.com/
- https://www.protege-liens.net/
# actual legacylinks
- https://www.gktorrent.sh/
- https://www.gktorrent.eu/
- https://www.gktorrent.xyz/
- https://www.gktorrent.pm/
- https://www.gktorrent.tw/
- https://www.gktorrent.in/
- https://www.gktorrent.sk/
- https://www.gktorrent.uno/
- https://www.gktorrent.gy/
- https://www.gktorrent.si/
- https://www.gktorrent.my/
- https://www.gktorrent.cz/
- https://www.gktorrent.ke/
- https://www.gktorrent.cv/
- https://wvw-gktorrent.com/
caps:
categorymappings:
- {id: Films, cat: Movies, desc: "Movies"}
- {id: Vidéos, cat: Movies, desc: "Vidéos"}
- {id: Animes, cat: TV/Anime, desc: "Anime"}
- {id: Séries, cat: TV, desc: "TV Series"}
- {id: Spectacles, cat: TV, desc: "TV Shows"}
- {id: Documentaires, cat: TV/Documentary, desc: "Documentaries"}
- {id: Sports, cat: TV/Sport, desc: "Sport"}
- {id: Musiques, cat: Audio, desc: "Music"}
- {id: Ebooks, cat: Books, desc: "Books"}
- {id: Livres, cat: Books, desc: "Books"}
- {id: Logiciels, cat: PC, desc: "Software"}
- {id: Jeux-PC, cat: PC/Games, desc: "PC Games"}
- {id: Jeux-Consoles, cat: Console/XBox 360, desc: "Console Games"}
- {id: Porno, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: info_flaresolverr
type: info_flaresolverr
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
download:
selectors:
- selector: a[href^="magnet:?"]
attribute: href
- selector: script:contains("magnet:?")
filters:
- name: regexp
args: "\\s'(magnet:\\?.+?)';"
search:
paths:
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}home{{ end }}"
keywordsfilters:
# if searching for season packs swith S01 to saison 1 #9712
- name: re_replace
args: ["(?i)(S0)(\\d{1,2})$", "saison $2"]
- name: re_replace
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
rows:
selector: table.table-hover > tbody > tr:has(td a[href])
fields:
category:
selector: td:nth-child(1) > i
attribute: class
title_phase1:
selector: td:nth-child(1) a
filters:
- name: re_replace
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: td:nth-child(1) a
attribute: href
filters:
- name: regexp
args: (/?detail/\d+)
download:
text: "{{ .Result.details }}"
size:
selector: td:nth-child(2)
date:
text: now
seeders:
selector: td:nth-child(3)
leechers:
selector: td:nth-child(4)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,126 +0,0 @@
---
id: glodls
name: GloDLS
description: "GloDLS is a Public Torrent Tracker for MOVIES / TV / GENERAL"
language: en-US
type: public
encoding: UTF-8
links:
- https://glodls.to/
- https://gtso.cc/
- https://glodls.unblockninja.com/
legacylinks:
- https://glodls.rocks/
- https://gtdb.to/
- https://gtdb.cc/
- https://www.gtdb.to/
- https://glotorrents.mrunblock.bond/
- https://glotorrents.nocensor.cloud/
- https://glodls.ninjaproxy1.com/ # blank
- https://glotorrents.unblockit.download/
caps:
categorymappings:
- {id: 50, cat: XXX, desc: "XXX"}
- {id: 5, cat: PC/Mobile-Android, desc: "Android"}
- {id: 28, cat: TV/Anime, desc: "Anime"}
- {id: 18, cat: PC, desc: "Apps"}
- {id: 51, cat: Books/EBook, desc: "Books"}
- {id: 73, cat: XXX, desc: "Desi Porn"}
- {id: 75, cat: Audio/Lossless, desc: "FLAC"}
- {id: 10, cat: PC/Games, desc: "Games"}
- {id: 55, cat: PC/Mac, desc: "Macintosh"}
- {id: 52, cat: PC/Mobile-Other, desc: "Mobile"}
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 22, cat: Audio, desc: "Music"}
- {id: 33, cat: Other, desc: "Other"}
- {id: 72, cat: TV, desc: "Packs"}
- {id: 70, cat: Other, desc: "Pictures"}
- {id: 76, cat: TV/Sport, desc: "Sports"}
- {id: 74, cat: Books, desc: "Tutorials"}
- {id: 41, cat: TV, desc: "TV"}
- {id: 71, cat: Audio/Video, desc: "Videos"}
- {id: 54, cat: PC/0day, desc: "Windows"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
search:
paths:
# https://glodls.to/search_results.php?c1=1&c72=1&c41=1&search=blacklist+s07e05&cat=0&incldead=1&inclexternal=0&lang=0&sort=id&order=desc
- path: search_results.php
allowEmptyInputs: true
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
cat: 0
# 0 active 1 incldead 2 onlydead
incldead: 1
# 0 both 1 local 2 external
inclexternal: 0
# 0 all 1 english etc
lang: 0
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
rows:
selector: table.ttable_headinner tr.t-row
after: 1
fields:
category_optional:
selector: a[href^="/search.php?cat="]
attribute: href
optional: true
filters:
- name: querystring
args: cat
category:
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}33{{ end }}"
title:
selector: td:nth-child(2) a[title]
attribute: title
details:
selector: td:nth-child(2) a[title]
attribute: href
download:
selector: a[href^="/down.php?id="], a[href*="itorrents.org/torrent/"]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
text: now
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,155 +0,0 @@
---
id: goodtracker
name: GOOD tracker
description: "GOOD tracker is a RUSSIAN Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ru-RU
type: semi-private
encoding: windows-1251
links:
- http://good73.net/ # does not support https
caps:
categorymappings:
- {id: 1, cat: PC/ISO, desc: "Приложения ISO"}
- {id: 9, cat: Books, desc: "Документация"}
- {id: 5, cat: PC/Games, desc: "Игры PC"}
- {id: 10, cat: Audio, desc: "Музыка"}
- {id: 11, cat: TV, desc: "Сериалы"}
- {id: 12, cat: TV/Anime, desc: "Аниме"}
- {id: 13, cat: Movies/DVD, desc: "Фильмы DVDRip"}
- {id: 14, cat: Movies/HD, desc: "Фильмы HDRip"}
- {id: 15, cat: Movies/DVD, desc: "Фильмы DVD"}
- {id: 21, cat: Movies/Other, desc: "Мультфильмы"}
- {id: 16, cat: Books/EBook, desc: "Книги"}
- {id: 18, cat: PC, desc: "Софт"}
- {id: 20, cat: Other, desc: "Temp"}
- {id: 22, cat: Console/PSP, desc: "SONY PSP"}
- {id: 23, cat: TV/Documentary, desc: "Документальные фильмы"}
- {id: 25, cat: Audio, desc: "Многоканальная музыка"}
- {id: 26, cat: TV/Sport, desc: "Спорт"}
- {id: 28, cat: Console/XBox, desc: "PlayStation/X-Box"}
- {id: 29, cat: PC/Mobile-Other, desc: "Мобильные устройства"}
- {id: 30, cat: Other, desc: "Клипы"}
- {id: 31, cat: Other, desc: "*nix"}
- {id: 34, cat: Audio/Audiobook, desc: "Аудиокниги"}
- {id: 35, cat: Audio/Video, desc: "Музыкальное DVD"}
- {id: 36, cat: Movies/3D, desc: "Фильмы 3D"}
- {id: 37, cat: Movies/HD, desc: "Фильмы HD/BD"}
- {id: 38, cat: Other, desc: "Обучающие материалы"}
- {id: 39, cat: Other, desc: "Фильмографии"}
- {id: 40, cat: Other, desc: "Трейлеры"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
book-search: [q]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
1: title
4: added
5: size
7: seeders
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Торрентов на страницу:</b> setting to <b>100</b> on your account profile.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submit: Вход!
error:
- selector: div.error:contains("Ошибка входа")
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# http://good73.net/browse.php?c9=1&search=&incldead=1&cat=0&browse=&sort=7&type=desc
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead, 3 silver, 4 gold, 5 noseed, 6 dead for over 30 days
incldead: "{{ if .Config.freeleech }}4{{ else }}1{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
# site does not support imdbid searching or have imdbid in results
rows:
selector: tbody[id="highlighted"] > tr:has(a[href^="details.php?id="])
after: 1
filters:
- name: andmatch
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href*="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
date:
# 2023-10-06 09:48:07
selector: font:contains("-")
filters:
- name: regexp
args: "(\\d{4}-\\d{2}-\\d{2}\\s\\d{2}:\\d{2}:\\d{2}) |"
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
files:
selector: td:nth-child(4)
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
img[src="pic/freedownload.gif"]: 0
img[src="pic/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
# TBDEV custom v2.0

View File

@@ -1,189 +0,0 @@
---
id: greekdiamond
name: GreekDiamond
description: "GreekDiamond is a GREEK Private Torrent Tracker for MOVIES / TV / GENERAL"
language: el-GR
type: private
encoding: UTF-8
links:
- https://greekdiamond.info/
caps:
categorymappings:
# TV
- {id: 22, cat: TV, desc: "TV Greek series"}
- {id: 23, cat: TV, desc: "TV series packs"}
# Movies
- {id: 21, cat: Movies, desc: "Movies World series"}
- {id: 12, cat: Movies/DVD, desc: "Movies DVDRIp"}
- {id: 13, cat: Movies/HD, desc: "Movies Hd rip x264"}
- {id: 14, cat: Movies/SD, desc: "Movies Cam-Ts-R6"}
- {id: 10, cat: Movies/HD, desc: "Movies 720p-1080p"}
- {id: 16, cat: Movies/BluRay, desc: "Movies Blue Ray"}
- {id: 17, cat: Movies, desc: "Movies pack"}
- {id: 18, cat: TV/Documentary, desc: "TV Documentary"}
- {id: 19, cat: Movies, desc: "Movies Greek"}
- {id: 51, cat: TV, desc: "TV Greek Packs"}
- {id: 52, cat: Movies, desc: "Movies Greek Packs"}
- {id: 53, cat: Movies/HD, desc: "BDRIP-BRRIP"}
# Music
- {id: 24, cat: Audio, desc: "Music Greek"}
- {id: 25, cat: Audio, desc: "Music Greek discografy"}
- {id: 26, cat: Audio, desc: "Music Rock"}
- {id: 27, cat: Audio, desc: "Music Rock discografy"}
- {id: 28, cat: Audio, desc: "Music Compat Disc Club"}
- {id: 29, cat: Audio, desc: "Music HipHop/Rap/RnB"}
- {id: 30, cat: Audio, desc: "Music Pop/Electronic"}
- {id: 31, cat: Audio, desc: "Music Soundtracks-VArtists"}
- {id: 32, cat: Audio/Video, desc: "Music videos"}
- {id: 50, cat: Audio/Other, desc: "Music Διάφορα (Other)"}
# Games
- {id: 33, cat: PC/Games, desc: "Games PC"}
- {id: 34, cat: Console/PSP, desc: "Games Playstation/PSP"}
- {id: 35, cat: Console/XBox, desc: "Games Xbox"}
# Children
- {id: 36, cat: TV/Anime, desc: "Anime /Μεταγλωτισμένα"}
- {id: 37, cat: TV/Anime, desc: "Anime /Subtitled"}
# Books
- {id: 40, cat: Books/Comics, desc: "Comics"}
- {id: 41, cat: Books/Mags, desc: "Magazines"}
- {id: 42, cat: Books/EBook, desc: "E-books"}
- {id: 43, cat: Books/EBook, desc: "PDF"}
# Other
- {id: 44, cat: Other, desc: "Images"}
- {id: 45, cat: TV/Sport, desc: "Football Leagues"}
- {id: 46, cat: TV/Sport, desc: "Formula 1"}
# Apps
- {id: 48, cat: PC/0day, desc: "Apps Win"}
- {id: 8, cat: PC, desc: "Apps Linux"}
- {id: 9, cat: PC/Mac, desc: "Apps Mac"}
- {id: 49, cat: PC/Mobile-Other, desc: "Apps Mobile"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: uid
type: text
label: Username
- name: pwd
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 3
options:
3: created
5: seeders
4: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
- name: info
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.
login:
path: index.php?page=login
method: post
form: form[action="index.php?page=login"]
inputs:
uid: "{{ .Config.uid }}"
pwd: "{{ .Config.pwd }}"
error:
- selector: form[action="index.php?page=login&returnto=index.php"] table tr:nth-of-type(2) td span
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: index.php
inputs:
page: torrents
search: "{{ .Keywords }}"
category: "{{ range .Categories }}{{.}};{{end}}"
# 0 title 1 title&descr 2 descr
options: 0
# 0 all, 1 activeonly, 2 deadonly
active: 0
# 0 all, 1 classic, 2 silver, 3 gold, 4 silver&gold
gold: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}"
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
# does not support imdbid search and does not ruturn imdb link in results
rows:
selector: table > tbody > tr > td > table.lista > tbody > tr:has(td[onmouseover="this.className='post'"])
fields:
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
details:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
# some users will have an extra wait time column before the bookmark column, so we count up from the bottom
date:
selector: td:nth-last-of-type(12)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy"
seeders:
selector: td:nth-last-of-type(10)
leechers:
selector: td:nth-last-of-type(9)
grabs:
selector: td:nth-last-of-type(8)
size:
selector: td:nth-last-of-type(6)
description:
selector: td:nth-last-of-type(4) img
attribute: title
filters:
- name: prepend
args: "Language: "
downloadvolumefactor:
case:
img[src="images/freeleech.gif"]: 0
img[src="gold/gold.gif"]: 0
img[src="gold/slver.gif"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# xbtit dt fm v20.0

View File

@@ -1,197 +0,0 @@
---
id: greekteam
name: Greek Team
description: "Greek Team is a GREEK Private site for TV / MOVIES / GENERAL"
language: el-GR
type: private
encoding: windows-1253
links:
- https://www.greek-team.cc/
legacylinks:
- http://www.greek-team.cc/
caps:
categorymappings:
- {id: 9, cat: TV/Anime, desc: "Anime/Cartoon HD"}
- {id: 63, cat: TV/Anime, desc: "Anime/Cartoon HDTV"}
- {id: 35, cat: TV/Anime, desc: "Anime/Cartoon SD"}
- {id: 59, cat: TV/Anime, desc: "Anime/Cartoon SD Emb"}
- {id: 57, cat: TV/Anime, desc: "Anime/Cartoon TV"}
- {id: 46, cat: PC, desc: "Applications Linux"}
- {id: 45, cat: PC, desc: "Applications MAC"}
- {id: 23, cat: PC, desc: "Applications Windows"}
- {id: 10, cat: Books, desc: "Books/Magazines/English"}
- {id: 12, cat: Books, desc: "Books/Magazines/Greek"}
- {id: 8, cat: TV/Documentary, desc: "Documentaries"}
- {id: 5, cat: TV/Documentary, desc: "Documentaries Greek"}
- {id: 25, cat: TV/Documentary, desc: "Documentaries HD"}
- {id: 27, cat: Movies/DVD, desc: "Movies DVD-R"}
- {id: 31, cat: Console/Other, desc: "Games Other"}
- {id: 20, cat: PC/Games, desc: "Games Windows"}
- {id: 11, cat: Other, desc: "Misc"}
- {id: 47, cat: PC/Mobile-Other, desc: "Mobile"}
- {id: 53, cat: Movies/3D, desc: "Movies 3D"}
- {id: 15, cat: Movies/UHD, desc: "Movies 4K"}
- {id: 18, cat: Movies/BluRay, desc: "Movies Bluray"}
- {id: 29, cat: Movies, desc: "Movies Emb Packs"}
- {id: 19, cat: Movies/HD, desc: "Movies HD"}
- {id: 13, cat: Movies/HD, desc: "Movies HD Emb"}
- {id: 52, cat: Movies/HD, desc: "Movies HD Packs"}
- {id: 40, cat: Movies/SD, desc: "Movies SD"}
- {id: 14, cat: Movies/SD, desc: "Movies SD Emb"}
- {id: 60, cat: Movies/SD, desc: "Movies SD Packs"}
- {id: 22, cat: Audio, desc: "Music"}
- {id: 2, cat: Audio, desc: "Music Discographies"}
- {id: 48, cat: Audio, desc: "Music DJ & Promos"}
- {id: 33, cat: Audio/Lossless, desc: "Music Flac"}
- {id: 1, cat: Audio, desc: "Music Greek"}
- {id: 21, cat: Audio, desc: "Music Greek Discographies"}
- {id: 50, cat: Audio/Lossless, desc: "Music Greek Flac"}
- {id: 16, cat: Audio/Video, desc: "Music Videos"}
- {id: 6, cat: TV/Sport, desc: "Sports"}
- {id: 54, cat: TV/Sport, desc: "Sports HD"}
- {id: 55, cat: TV/SD, desc: "TV Greek Movies"}
- {id: 49, cat: TV/HD, desc: "TV Greek Movies HD"}
- {id: 3, cat: TV/SD, desc: "TV Greek Series"}
- {id: 44, cat: TV/SD, desc: "TV Greek Packs"}
- {id: 4, cat: TV/SD, desc: "TV Greek Shows"}
- {id: 34, cat: TV/SD, desc: "TV Series"}
- {id: 7, cat: TV/SD, desc: "TV Series Emb"}
- {id: 26, cat: TV/SD, desc: "TV Series Emb Packs"}
- {id: 36, cat: TV/HD, desc: "TV Series HD"}
- {id: 62, cat: TV/HD, desc: "TV Series HD Packs"}
- {id: 42, cat: TV/SD, desc: "TV Series Packs"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: 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
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. The default is <i>25</i>.
login:
path: login.php
method: post
inputs:
take_login: 1
logout: no
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 incldead, 2 onlydead, 3 free (gold)
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
# 0 name, 1 descr, 2 uploader
blah: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
sort: "{{ .Config.sort }}"
d: "{{ .Config.type }}"
# does not show IMDB but can support searching with it in descriptions
rows:
selector: table.row1 > tbody > tr:has(a.torname)
fields:
_id:
selector: a.torname
attribute: href
filters:
- name: querystring
args: id
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a.torname
details:
selector: a.torname
attribute: href
download:
text: "download2.php?torrent={{ .Result._id }}"
files:
selector: td:has(a[href$="filelist=1"])
date:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td > nobr
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
size:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td
grabs:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td
seeders:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td
leechers:
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td ~ td
optional: true
default: 0
description:
case:
img[src="pic/checked2.png"]: Verified
img[src="pic/notchecked.png"]: Unverified
downloadvolumefactor:
case:
img[src="pic/free.png"]: 0
img[src="pic/freedownload.gif"]: 0 # freeleech slot exchange
img[src="pic/personal_free.png"]: 0 # applies to VIPs only
"*": 1
uploadvolumefactor:
case:
img[src="pic/x2new.png"]: 0 # double uploaded with a freleech slot exchange
"*": 1
minimumratio:
case:
img[src="pic/hnrfree.png"]: 0 # exempt from H&R
img[src="pic/hnr-50.png"]: 0.5 # min ratio is 0.5
"*": 0.5 # rules say 0.3 but FAQ says 0.4 but H&R says 0.5 !#?
minimumseedtime:
case:
img[src="pic/hnrfree.png"]: 0 # exempt from H&R
"*": 432000 # 5 days (as seconds = 5 x 24 x 60 x 60)
# engine n/a

View File

@@ -1,167 +0,0 @@
---
id: h-p2p
name: H-P2P
description: "H-P2P is a Private Torrent Tracker for OnlyFans XXX"
language: en-US
type: private
encoding: UTF-8
links:
- https://h-p2p.xyz/
legacylinks:
- https://h-p2p.cam/
caps:
categorymappings:
- {id: 1, cat: XXX/WEB-DL, desc: "OnlyFans"}
- {id: 2, cat: XXX/WEB-DL, desc: "Fansly"}
- {id: 3, cat: XXX/WEB-DL, desc: "Privacy"}
- {id: 4, cat: XXX/WEB-DL, desc: "JustForFans"}
- {id: 5, cat: XXX/WEB-DL, desc: "ManyVids"}
- {id: 6, cat: XXX/WEB-DL, desc: "Clips4Sale"}
- {id: 7, cat: XXX/WEB-DL, desc: "Hentai"}
- {id: 8, cat: XXX/WEB-DL, desc: "JAV"}
- {id: 9, cat: XXX/WEB-DL, desc: "Paid Site"}
- {id: 10, cat: XXX/WEB-DL, desc: "HomeMade"}
- {id: 11, cat: XXX/WEB-DL, desc: "Other"}
- {id: 27, cat: XXX/WEB-DL, desc: "Gay"}
- {id: 28, cat: XXX/WEB-DL, desc: "XXX Movie"}
modes:
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://h-p2p.cam/\" target=\"_blank\">H-P2P</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
inputs: {} # TODO: remove in v10
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
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:
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 75
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
fields:
_id:
selector: ..id
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:
text: "{{ .Config.sitelink }}files/img/torrent-cover_{{ .Result._id }}.jpg"
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- 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
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
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 8.1.3 (custom)

View File

@@ -1,195 +0,0 @@
---
id: haresclub
name: Hares Club (白兔俱乐部)
description: "Hares Club (白兔俱乐部) is a CHINESE Private site that focuses on 4K media."
language: zh-CN
type: private
encoding: UTF-8
links:
- https://club.hares.top/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies | 电影"}
- {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: 409, cat: Audio/Video, desc: "Concert | 演唱会"}
- {id: 416, cat: TV, desc: "Show LIVE | 现场LIVE"}
- {id: 415, cat: Other, desc: "Others | 其他"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 Hares Club 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.
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: script:contains("'失败'")
message:
text: "图片代码无效The Image code is invalid. Close the config and start again."
- selector: script:contains("'登录失败!'")
message:
text: "用户名或密码不正确或者你还没有通过验证。The username or password is incorrect! Close the config and start again."
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 .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ 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 or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr: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: div.layui-torrents-Stills > a
attribute: rel
filters:
- name: replace
args: ["re.php?cache=", ""]
date_elapsed:
# time type: time elapsed (default)
selector: td:nth-last-child(6) > 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-last-child(6):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-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
grabs:
selector: td:nth-last-child(2)
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
description_text:
selector: td:nth-child(2)
remove: a, b, font, img, span
description:
case:
i.fa-check: "Verified: {{ .Result.description_text }}"
i.fa-question: "Unverified: {{ .Result.description_text }}"
i.fa-times: "Banned: {{ .Result.description_text }}"
# NexusPHP v1.6.2 2022-03-19

View File

@@ -1,189 +0,0 @@
---
id: hd4fans
name: HD4FANS
description: "HD4FANS is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.hd4fans.org/
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"}
- {id: 407, cat: TV/Sport, desc: "Sports"}
- {id: 409, cat: Other, desc: "Misc"}
- {id: 408, cat: Audio, desc: "Music"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 Free Farm 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.
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("失败"))
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(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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.8 2023-09-25

View File

@@ -1,198 +0,0 @@
---
id: hdatmos
name: HDAtmos
description: "HDAtmos is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
requestDelay: 2
links:
- https://hdatmos.club/
caps:
# dont forget to update the path categories in the search block
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片", default: true}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫", default: true}
- {id: 402, cat: TV, desc: "TV Series/电视剧", default: true}
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV演唱会", default: true}
- {id: 407, cat: TV/Sport, desc: "Sports/体育", default: true}
- {id: 408, cat: Audio, desc: "HQ Audio/音乐", default: true}
- {id: 416, cat: Audio, desc: "洗版区/音乐", default: false}
- {id: 415, cat: TV/Sport, desc: "洗版区/体育", default: false}
- {id: 414, cat: Audio/Video, desc: "洗版区/MV演唱会", default: false}
- {id: 413, cat: TV/Anime, desc: "洗版区/动漫", default: false}
- {id: 412, cat: TV, desc: "洗版区/电视剧", default: false}
- {id: 411, cat: TV/Documentary, desc: "洗版区/纪录片", default: false}
- {id: 410, cat: Movies, desc: "洗版区/电影", default: false}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 HDAtmos 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: "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>"
- name: info_special
type: info
label: Special Categories
default: "Only <b>Power User</b> or above can view Special section. Searching for 洗版区 categories by users below this class will result in search errors."
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
categories: [401, 404, 405, 402, 406, 407, 408]
- path: special.php
categories: [416, 415, 414, 413, 412, 411, 410]
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
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
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.12 2024-07-13

View File

@@ -1,143 +0,0 @@
---
id: hdchina
name: HDChina
description: "HDChina (HDWing) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://hdchina.org/
legacylinks:
- https://hdchina.club/
caps:
categorymappings:
- {id: 20, cat: Movies/BluRay, desc: "Movie Full BD/原盘"}
- {id: 17, cat: Movies/HD, desc: "Movie 1080p/电影"}
- {id: 16, cat: Movies/HD, desc: "Movie 1080i/电影"}
- {id: 9, cat: Movies/HD, desc: "Movie 720p/电影"}
- {id: 13, cat: TV, desc: "EU/US TV series/欧美剧"}
- {id: 25, cat: TV, desc: "Chinese TV series/中港台剧集"}
- {id: 26, cat: TV, desc: "Kor Drama/韩剧"}
- {id: 24, cat: TV, desc: "Jpn Drama/日剧"}
- {id: 21, cat: TV, desc: "EU/US TV series pack/欧美剧集包"}
- {id: 22, cat: TV, desc: "Chinese TV series pack/中港台剧集包"}
- {id: 23, cat: TV, desc: "JPN/KOR drama pack/日韩剧集包"}
- {id: 27, cat: Movies/SD, desc: "iPad Video/iPad视频"}
- {id: 5, cat: TV/Documentary, desc: "Documentary/纪录片"}
- {id: 15, cat: TV/Sport, desc: "Sports/体育节目"}
- {id: 14, cat: TV/Anime, desc: "Animation/动画片"}
- {id: 401, cat: TV, desc: "TV Shows/综艺"}
- {id: 402, cat: Audio, desc: "Vocal Concert/演唱会"}
- {id: 406, cat: Audio, desc: "Music Video/MV"}
- {id: 408, cat: Audio, desc: "Music/音乐"}
- {id: 19, cat: Audio, desc: "Audio Track/补充音轨"}
- {id: 405, cat: Audio, desc: "Drama/戏剧"}
- {id: 404, cat: Books, desc: "Book/书籍"}
- {id: 409, cat: Other, desc: "Other/其他"}
- {id: 410, cat: Movies/HD, desc: "4K UltraHD"}
- {id: 411, cat: TV, desc: "Travel/旅游"}
- {id: 412, cat: TV, desc: "Food/饮食"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
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_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.
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: torrents.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 }}{{ .Keywords }}{{ end }}"
# 0=incldead, 1=active, 2=dead
incldead: 0
# 0=all, 1=normal, 2=free, 3=2x, 4=2x free, 5=50%, 6=2x 50%, 7=30%
spstate: 0
# 0=title, 1=descr, 3=uploader, 4=imdb URL
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
# 0=AND, 1=OR, 2=Exact
search_mode: 0
notnewword: 1
rows:
selector: table.torrent_list > tbody > tr:has(a[href^="?cat="])
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
filters:
- name: re_replace
args: ["\\.", " "]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?hash="]
attribute: href
description:
selector: h4
size:
selector: td.t_size
grabs:
selector: td.t_completed
seeders:
selector: td.t_torrents
leechers:
selector: td.t_leech
date_elapsed:
# time type: time elapsed (default)
selector: td.t_time > 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.t_time: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 }}"
downloadvolumefactor:
# DLVF and ULVF are dynamically presented via javascript so not available to cardigann
text: 1
uploadvolumefactor:
text: 1
# NexusPHP 4e16128 (Customised)

View File

@@ -1,227 +0,0 @@
---
id: hdfun
name: HDFun
description: "HDFun (HDZone) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://hdzone.me/
legacylinks:
- https://hdfun.me/
caps:
categorymappings:
- {id: 411, cat: Movies/SD, desc: "Movies SD"}
- {id: 412, cat: Movies, desc: "Movies IPad"}
- {id: 413, cat: Movies/HD, desc: "Movies 720p"}
- {id: 414, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 415, cat: Movies, desc: "Movies REMUX"}
- {id: 450, cat: Movies/BluRay, desc: "Movies Bluray"}
- {id: 499, cat: Movies/UHD, desc: "Movies UHD Blu-ray"}
- {id: 416, cat: Movies/UHD, desc: "Movies 2160p"}
- {id: 417, cat: TV/Documentary, desc: "Doc SD"}
- {id: 418, cat: TV/Documentary, desc: "Doc IPad"}
- {id: 419, cat: TV/Documentary, desc: "Doc 720p"}
- {id: 420, cat: TV/Documentary, desc: "Doc 1080p"}
- {id: 421, cat: TV/Documentary, desc: "Doc REMUX"}
- {id: 451, cat: TV/Documentary, desc: "Doc Bluray"}
- {id: 500, cat: TV/Documentary, desc: "Doc UHD Blu-ray"}
- {id: 422, cat: TV/Documentary, desc: "Doc 2160p"}
- {id: 423, cat: Audio/Video, desc: "TVMusic 720p"}
- {id: 424, cat: Audio/Video, desc: "TVMusic 1080i"}
- {id: 425, cat: TV/SD, desc: "TVShow SD"}
- {id: 426, cat: TV, desc: "TVShow IPad"}
- {id: 471, cat: TV, desc: "TVShow IPad"}
- {id: 427, cat: TV/HD, desc: "TVShow 720p"}
- {id: 472, cat: TV/HD, desc: "TVShow 720p"}
- {id: 428, cat: TV/HD, desc: "TVShow 1080i"}
- {id: 429, cat: TV/HD, desc: "TVShow 1080p"}
- {id: 430, cat: TV, desc: "TVShow REMUX"}
- {id: 452, cat: TV/HD, desc: "TVShow Bluray"}
- {id: 431, cat: TV/UHD, desc: "TVShow 2160p"}
- {id: 432, cat: TV/SD, desc: "TVSeries SD"}
- {id: 433, cat: TV, desc: "TVSeries IPad"}
- {id: 434, cat: TV/HD, desc: "TVSeries 720p"}
- {id: 435, cat: TV/HD, desc: "TVSeries 1080i"}
- {id: 436, cat: TV/HD, desc: "TVSeries 1080p"}
- {id: 437, cat: TV, desc: "TVSeries REMUX"}
- {id: 453, cat: TV/HD, desc: "TVSeries Bluray"}
- {id: 438, cat: TV/UHD, desc: "TVSeries 2160p"}
- {id: 439, cat: Audio, desc: "Music APE"}
- {id: 440, cat: Audio/Lossless, desc: "Music FLAC"}
- {id: 441, cat: Audio/Video, desc: "Music MV"}
- {id: 442, cat: TV/Sport, desc: "Sports 720p"}
- {id: 443, cat: TV/Sport, desc: "Sports 1080i"}
- {id: 444, cat: TV/Anime, desc: "Anime SD"}
- {id: 445, cat: TV/Anime, desc: "Anime IPad"}
- {id: 446, cat: TV/Anime, desc: "Anime 720p"}
- {id: 447, cat: TV/Anime, desc: "Anime 1080p"}
- {id: 448, cat: TV/Anime, desc: "Anime REMUX"}
- {id: 454, cat: TV/Anime, desc: "Anime Bluray"}
- {id: 409, cat: Other, desc: "Misc"}
- {id: 449, cat: TV/Anime, desc: "Anime 2160p"}
- {id: 501, cat: TV/Anime, desc: "Anime UHD Blu-ray"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Nexus Master or above would never be deleted</li><li>Insane 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 120 days in a row</li><li>Un-parked accounts would be deleted if users have not logged in for more than 60 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 7 days in a row.</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 }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
test:
path: torrents.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
# currently supports only one query id at one time.
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 onlydead
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 imdb
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, 1 OR, 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
imdbid:
selector: a[href*="imdb.com/title/tt"]
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
minimumratio:
text: 1.2
# does not appear to be implemented, no h&r tag found
# minimumseedtime:
# # 14 days (as seconds = 2 x 24 x 60 x 60)
# text: 1209600
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP Standard v1.5 Beta 4

View File

@@ -1,209 +0,0 @@
---
id: hdmayi
name: HDMaYi (小蚂蚁PT站)
description: "HDMaYi (小蚂蚁PT站) is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://hdmayi.com/
legacylinks:
- http://hdmayi.com/
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: "MusicVideo/MV"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 409, cat: Other, desc: "Misc/其他"}
- {id: 408, cat: Audio, desc: "Music/音乐"}
- {id: 410, cat: PC, desc: "Softs/软件"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 HDMaYi 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: "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>Un-parked 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
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("失败"))
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 (4 does not appear to work)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href^="details.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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
minimumratio:
text: 1.0
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
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.6 2023-08-18

View File

@@ -1,321 +0,0 @@
---
id: hdonly
name: HD-Only
description: "HD-Only (HD-O) is a FRENCH Private Torrent Tracker for HD MOVIES / TV"
language: fr-FR
type: private
encoding: UTF-8
requestDelay: 2
links:
- https://hd-only.org/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Films"}
- {id: 2, cat: TV, desc: "Séries"}
# Fake ids to match release types by desc
- {id: 101, cat: Movies, desc: "Film"}
- {id: 103, cat: Movies/Other, desc: "Dessin animé"}
- {id: 105, cat: TV, desc: "Série"}
- {id: 106, cat: TV/Anime, desc: "Série Animée"}
- {id: 107, cat: Movies/Other, desc: "Film d'animation"}
- {id: 109, cat: Audio/Video, desc: "Concert"}
- {id: 111, cat: TV/Documentary, desc: "Documentaire"}
- {id: 113, cat: Movies/Other, desc: "Court-métrage"}
- {id: 114, cat: Movies/Other, desc: "Clip"}
- {id: 115, cat: Movies/Other, desc: "Démonstration"}
- {id: 121, cat: Other, desc: "Autre"}
modes:
search: [q]
tv-search: [q, season, ep, tmdbid, genre]
movie-search: [q, tmdbid, genre]
allowrawsearch: true
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2fa_code
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 HD-Only Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: add_hybrid_features_to_filename
type: checkbox
label: Include DV/HDR10 in filename when a release has multiple HDR formats.
default: false
- name: add_version_francophone_to_title
type: checkbox
label: Append Version Francophone flags to titles if available (VFF, VFQ, VFI, VF)
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTi.FRENCH: MULTi.FRENCH
ENGLISH: ENGLISH
MULTi.ENGLISH: MULTi.ENGLISH
VOSTFR: VOSTFR
MULTi.VOSTFR: MULTi.VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
- name: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
twofa: "{{ .Config.2fa_code }}"
keeplogged: 1
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
selector: a[href^="logout.php?auth="]
search:
# https://hd-only.org/ajax.php?filelist=blood+2009&action=browse&group_results=0&order_by=time&order_way=desc&freetorrent=1
paths:
- path: ajax.php
response:
type: json
inputs:
# does not support categories, uses releasetype for single filter, so we cannot do multi releasetype filtering either.
# $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Keywords }}"
tmdb: "{{ .Query.TMDBID }}"
taglist: "{{ .Query.Genre }}"
action: browse
group_results: 0
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
# 1 freeleech, 0 normal
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
# site does not support imdbid search or display imdb links in results
keywordsfilters:
# strip season
- name: re_replace
args: ["(?i)\\bS\\d{1,3}\\b", ""]
- name: trim
rows:
selector: response.results
fields:
_group_id:
selector: group.groupId
_torrent_id:
selector: torrentId
category:
selector: group.categoryId
categorydesc|append:
selector: group.releaseType
optional: true
details:
text: "torrents.php?id={{ .Result._group_id }}&torrentid={{ .Result._torrent_id }}"
download:
text: "torrents.php?action=download&id={{ .Result._torrent_id }}"
genre:
selector: group.tags
filters:
- name: re_replace
args: ["(?i)(science.fiction)", "science_fiction"]
poster:
selector: group.cover
optional: true
tmdbid:
selector: group.tmdb
files:
selector: fileCount
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: snatches
size:
selector: size
date:
selector: time
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
year:
selector: group.groupYear
optional: true
_season:
selector: season
optional: true
filters:
- name: re_replace
args: ["^0$", ""]
- name: re_replace
args: ["^([1-9])$", "S0$1"]
- name: re_replace
args: ["^(\\d{2,})$", "S$1"]
_episode:
selector: episode
optional: true
filters:
- name: re_replace
args: ["^0$", ""]
- name: re_replace
args: ["^([1-9])$", "E0$1"]
- name: re_replace
args: ["^(\\d{2,})$", "E$1"]
_episode_info:
text: "{{ .Result._season }}{{ .Result._episode }}"
_format:
selector: format
filters:
- name: replace
args: ["Blu-Ray Original", "COMPLETE BLURAY"]
- name: re_replace
args: ["Blu-Ray Remux", "Remux"]
- name: re_replace
args: ["Blu-Ray Rip", "BluRay.Rip"]
- name: re_replace
args: ["mHD", "mHD.BluRay.Rip"]
_encoding:
selector: encoding
_release_group:
selector: team
optional: true
_media:
selector: media
optional: true
_vff:
selector: vff
optional: true
_vfq:
selector: vfq
optional: true
_vf2:
selector: vf2
optional: true
_vfi:
selector: vfi
optional: true
_vf:
selector: vf
optional: true
_vof:
selector: vof
optional: true
_hdr:
selector: hdr
optional: true
_hdr10plus:
selector: hdr10plus
optional: true
_dovi:
selector: dovi
optional: true
title_optional:
selector: group.groupName
filters:
- name: append
args: ".{{ .Result.year }}.{{ .Result._episode_info }}.{{ .Result._format }}.{{ .Result._encoding }}.{{ .Result._media }}{{ if eq .Result._hdr \"True\" }}.HDR{{ else }}{{ end }}.{{ if eq .Result._hdr10plus \"True\" }}.HDR10+{{ else }}{{ end }}.{{ if eq .Result._dovi \"True\" }}.DoVi{{ else }}{{ end }}"
- name: append
args: "{{ if or (eq .Result._vf2 \"True\") (or (eq .Result._vff \"True\") (or (eq .Result._vfq \"True\") (or (eq .Result._vfi \"True\") (eq .Result._vf \"True\")))) }}.MULTI{{ else }}{{ end }}"
- name: re_replace
args: ["(\\.MULTI)\\1", ".MULTI"]
- name: append
args: "{{ if and (.Config.add_version_francophone_to_title) (eq .Result._vf2 \"True\") }}.VF2{{ else }}{{ end }}"
- name: append
args: "{{ if and (.Config.add_version_francophone_to_title) (eq .Result._vff \"True\") }}.VFF{{ else }}{{ end }}"
- name: append
args: "{{ if and (.Config.add_version_francophone_to_title) (eq .Result._vfq \"True\") }}.VFQ{{ else }}{{ end }}"
- name: append
args: "{{ if and (.Config.add_version_francophone_to_title) (eq .Result._vfi \"True\") }}.VFI{{ else }}{{ end }}"
- name: append
args: "{{ if and (.Config.add_version_francophone_to_title) (eq .Result._vf \"True\") }}.VF{{ else }}{{ end }}"
- name: append
args: "{{ if eq .Result._vof \"True\" }}.FRENCH{{ else }}{{ end }}"
- name: re_replace
args: ["[\\s.]+", "."]
- name: re_replace
args: ["\\.*([\\-:,])\\.*", "$1"]
- name: trim
- name: trim
args: .
- name: append
args: "{{ if .Result._release_group }}-{{ .Result._release_group }}{{ else }}{{ end }}"
title_filename:
selector: "fileName"
optional: true
filters:
- name: re_replace
args: ["\\s÷$", ""]
- name: append
args: " {{ if and (.Config.add_hybrid_features_to_filename) (eq .Result._hdr \"True\") }}[HDR]{{ else }}{{ end }}{{ if and (.Config.add_hybrid_features_to_filename) (eq .Result._hdr10plus \"True\") }}[HDR10+]{{ else }}{{ end }}{{ if and (.Config.add_hybrid_features_to_filename) (eq .Result._dovi \"True\") }}[DoVi]{{ else }}{{ end }}"
title_phase1:
text: "{{ if and (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
description:
text: "{{ .Result.title_filename }}"
filters:
- name: re_replace
args: ["\\s÷$", ""]
_free:
selector: isFreeleech
downloadvolumefactor:
text: "{{ if eq .Result._free \"True\" }}0{{ else }}1{{ end }}"
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# JSON Gazelle

View File

@@ -1,199 +0,0 @@
---
id: hdpt
name: HDPT (明教)
description: "HDPT (明教) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://hdpt.xyz/
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/音乐 视频"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 409, cat: Other, desc: "Misc/其他"}
- {id: 408, cat: Audio, desc: "HQ Audio/高清音轨"}
- {id: 410, cat: PC, desc: "Software/软件"}
- {id: 411, cat: Books/EBook, desc: "E-book/电子书"}
- {id: 412, cat: Books/Comics, desc: "Comics/漫画"}
- {id: 413, cat: Other/Misc, desc: "Learning/学习资料"}
- {id: 414, cat: Console, desc: "Games/游戏"}
- {id: 415, cat: Other/Misc, desc: "gallery/图库"}
- {id: 416, cat: Audio, desc: "Quyi/曲艺"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-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 CarPT 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.
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("失败"))
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 }}{{ .Keywords }}{{ 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 }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href*="details.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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
minimumratio:
text: 1.0
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.6 2023-08-18

View File

@@ -1,167 +0,0 @@
---
id: hdt-lafenice
name: HDT-LaFenice
description: "HDT-LaFenice is an ITALIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: it-IT
type: private
encoding: UTF-8
links:
- https://hdtlafenice.eu/
caps:
categorymappings:
- {id: 32, cat: Movies/BluRay, desc: "BluRay"}
- {id: 33, cat: Movies/UHD, desc: "Film-2160p"}
- {id: 34, cat: Movies/HD, desc: "Film-1080p"}
- {id: 35, cat: Movies/HD, desc: "Film-720p"}
- {id: 37, cat: Movies/DVD, desc: "Film-DVD"}
- {id: 50, cat: Movies/SD, desc: "Film-DVDRip"}
- {id: 48, cat: TV/Other, desc: "Cartoni"}
- {id: 39, cat: TV/Anime, desc: "Anime"}
- {id: 51, cat: Movies/SD, desc: "Film-Cine"}
- {id: 40, cat: TV/HD, desc: "TV-HD"}
- {id: 41, cat: TV/SD, desc: "TV-SD"}
- {id: 46, cat: Audio, desc: "Musica"}
- {id: 42, cat: PC/Games, desc: "PC-Giochi"}
- {id: 43, cat: PC/0day, desc: "App-Win"}
- {id: 44, cat: PC/Mac, desc: "App-Mac"}
- {id: 45, cat: PC/Mobile-Android, desc: "Android"}
- {id: 47, cat: Books/EBook, desc: "E-Book"}
- {id: 52, cat: Books/Mags, desc: "Edicola"}
- {id: 49, cat: Other, desc: "Altro"}
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
- name: info_activity
type: info
label: Account Inactivity
default: "Inactive accounts are automatically deleted."
login:
path: ajax/login.php
method: post
inputs:
action: login
loginbox_membername: "{{ .Config.username }}"
loginbox_password: "{{ .Config.password }}"
loginbox_remember: 1
error:
- selector: div.error
- selector: :contains("-ERROR-")
test:
path: ?p=home&pid=1
selector: div#member_info_bar
search:
paths:
- path: /?p=torrents&pid=10
method: post
keywordsfilters:
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%25"]
inputs:
$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 }}, tr:has(a[href*=\"?p=torrents\"][href*=\"&action=details\"]){{ 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
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.8
# TSUE 2.2

View File

@@ -1,193 +0,0 @@
---
id: hdvbits
name: hdvbits
description: "hdvbits is a CHINESE Private torrent tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://hdvbits.com/
caps:
categorymappings:
- {id: 406, cat: Audio, desc: "HQ Audio/音轨"}
- {id: 408, cat: Audio, desc: "music/音乐"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 405, cat: TV/Anime, desc: "Anime/动漫"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 401, cat: Movies, desc: "Movies/电影"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 hdvbits 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.
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("失败"))
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
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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
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:nth-child(2)
remove: a, b, font, img, span
filters:
- name: prepend
args: "{{ .Result.description_verified }} "
# NexusPHP v1.8.4 2023-06-18

View File

@@ -1,181 +0,0 @@
---
id: hdvideo
name: HDVIDEO
description: "HDVIDEO is a CHINESE Private torrent tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
requestDelay: 2
links:
- https://hdvideo.one/
caps:
# dont forget to update the path categories in the search block
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
- {id: 402, cat: TV, desc: "TV Series/电视剧", default: true}
- {id: 403, cat: TV, desc: "TV Shows/综艺", default: true}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片", default: true}
- {id: 405, cat: TV/Anime, desc: "Anime/动漫", default: true}
- {id: 406, cat: Audio/Video, desc: "Music Videos/演唱会", default: true}
- {id: 407, cat: TV/Sport, desc: "Sports/体育", default: true}
- {id: 408, cat: Audio, desc: "HQ Audio/音乐", default: true}
- {id: 409, cat: PC, desc: "3D模型", default: false}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- 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: "Accounts inactive (i.e. not logged in for a long time) are automatically deleted."
login:
# switched from form method to cookie method when it was restored the second time #15071 reason was not recorded
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
categories: [401, 402, 403, 404, 405, 406, 407, 408]
- path: special.php
categories: [409]
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
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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
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:nth-child(2)
remove: a, b, font, img, span
filters:
- name: prepend
args: "{{ .Result.description_verified }} "
# NexusPHP v1.8.15 2024-12-23

View File

@@ -1,214 +0,0 @@
---
id: heavens-hell
name: Heavens-Hell
description: "Heavens-Hell is a Private Torrent Tracker for MUSIC / AUDIO SOFTWARE"
language: en-US
type: private
encoding: UTF-8
links:
- https://heavens-hell.info/
caps:
categorymappings:
- {id: 39, cat: Audio, desc: "Albums"}
- {id: 40, cat: Audio, desc: "Alternative"}
- {id: 4, cat: PC, desc: "Apps"}
- {id: 50, cat: PC, desc: "Apps -- Miscellaneous"}
- {id: 11, cat: Audio, desc: "Billboard Top 100"}
- {id: 7, cat: Audio, desc: "Blues"}
- {id: 8, cat: Audio, desc: "Chillout"}
- {id: 41, cat: Audio, desc: "Christmas"}
- {id: 9, cat: Audio, desc: "Classical"}
- {id: 12, cat: Audio, desc: "Country"}
- {id: 10, cat: Audio, desc: "Dance"}
- {id: 13, cat: Audio, desc: "Discography"}
- {id: 42, cat: Audio, desc: "DJ Music"}
- {id: 44, cat: Audio, desc: "DJ Music -- Funkymix"}
- {id: 45, cat: Audio, desc: "DJ Music -- Promo Only"}
- {id: 43, cat: Audio, desc: "DJ Music -- Ultimix"}
- {id: 21, cat: Audio, desc: "DJ Radio Sets"}
- {id: 19, cat: Audio, desc: "DMC"}
- {id: 20, cat: Audio, desc: "Drum&Bass"}
- {id: 22, cat: Audio/Lossless, desc: "Flac Music"}
- {id: 23, cat: Audio/Lossless, desc: "Flac-24 Bit Hi-Res"}
- {id: 14, cat: Audio, desc: "Funk"}
- {id: 15, cat: Audio, desc: "Hardcore"}
- {id: 16, cat: Audio, desc: "Hip hop"}
- {id: 24, cat: Audio, desc: "House"}
- {id: 17, cat: Audio, desc: "Jazz"}
- {id: 25, cat: Audio, desc: "Jungle"}
- {id: 46, cat: Audio, desc: "K3 WAV"}
- {id: 49, cat: Audio/Other, desc: "K3 WAV -- Other WAV"}
- {id: 18, cat: Audio, desc: "Karaoke"}
- {id: 26, cat: Audio, desc: "Mastermix"}
- {id: 28, cat: Audio, desc: "Metal"}
- {id: 27, cat: Audio/MP3, desc: "MP3 NEW RELEASES"}
- {id: 51, cat: Audio/MP3, desc: "MP3 -- Other MP3"}
- {id: 33, cat: Audio, desc: "Music Packs"}
- {id: 32, cat: Audio/Video, desc: "Music Videos"}
- {id: 29, cat: Audio, desc: "Oldies"}
- {id: 47, cat: Audio, desc: "Pop music"}
- {id: 30, cat: Audio, desc: "Punk"}
- {id: 34, cat: Audio, desc: "R&B/Motown"}
- {id: 35, cat: Audio, desc: "Reggae"}
- {id: 36, cat: Audio, desc: "Retro"}
- {id: 31, cat: Audio, desc: "Rock"}
- {id: 37, cat: Audio, desc: "Soul"}
- {id: 48, cat: Audio, desc: "Trance"}
- {id: 38, cat: Audio, desc: "VIPs only"}
modes:
search: [q]
music-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: 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>40</b> on your account profile. The Default is <i>15</i>.
- 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_activity
type: info
label: Account Inactivity
default: "To keep records updated regularly, all inactive accounts will be deleted after 60 days of inactivity."
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
error:
- selector: table:has(a[href*="login.php?error=1"])
message:
text: "ERROR: Incorrect username!"
- selector: table:has(a[href*="login.php?error=4"])
message:
text: "ERROR: Incorrect password!"
- selector: table:has(a[href*="login.php?error="])
message:
text: "ERROR: Something went wrong during login!"
test:
path: index.php
selector: a[href*="/logout.php?logouthash="]
download:
before:
path: takethanks.php
method: post
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
selectors:
- selector: a[href*="download.php?id="]
attribute: href
search:
paths:
- path: browse.php
method: post
keywordsfilters:
- name: re_replace
args: ["[\\s]+", "%"]
inputs:
do: search
keywords: "{{ .Keywords }}"
# t_name, t_description, t_both, t_uploader, t_genre
search_type: t_name
# does not support multi category searching so defaulting to all.
category: 0
# yes, no
include_dead_torrents: yes
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
rows:
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="/browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
title_default:
# is usually abbreaviated
selector: a[href*="/details.php?id="]
title:
# while still abbreviated, is usually longer than the default
selector: div.tooltip-content div
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href*="/details.php?id="]
attribute: href
download:
selector: a[href*="/details.php?id="]
attribute: href
poster:
selector: img[src*="/torrents/images/"]
attribute: src
date:
selector: td:nth-child(2)
# auto adjusted by site account profile
filters:
- name: regexp
args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})"
- name: dateparse
args: "dd-MM-yyyy HH:mm"
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)
description:
# Wait: 4 h
selector: div.tooltip-content > div:last-child
downloadvolumefactor:
case:
img[src$="/freedownload.gif"]: 0
img[src$="/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="/x2.gif"]: 2
"*": 1
minimumratio:
text: 0.5
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
# TS Special Edition v.8.0

View File

@@ -1,140 +0,0 @@
---
id: ianon
name: iAnon
description: "MacOS software tracker"
language: en-US
type: private
encoding: UTF-8
links:
- https://ianon.app/
caps:
categorymappings:
- {id: 1, cat: PC/Mac, desc: Applications}
- {id: 2, cat: PC/Games, desc: Games}
- {id: 3, cat: PC/Mobile-iOS, desc: IOS Applications}
- {id: 4, cat: PC/Mobile-iOS, desc: IOS Games}
- {id: 5, cat: Other, desc: Graphics}
- {id: 6, cat: Audio, desc: Audio}
- {id: 7, cat: Other, desc: Tutorials}
- {id: 8, cat: Other, desc: Other}
modes:
search: [q]
music-search: [q, year, genre]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2fa_code
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 iAnon 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: time
options:
time: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
twofa: "{{ .Config.2fa_code }}"
keeplogged: 1
error:
- selector: div.main div.warning-login
test:
path: torrents.php
selector: a[href^="logout.php?auth="]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Keywords }}"
# freetorrent: 0 normal, 1 freeleech, 2 neutral leech
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
group_results: 0
action: advanced
year: "{{ .Query.Year }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
searchsubmit: 1
rows:
selector: table.torrent_table tr.torrent:has(a[title="Download"])
fields:
categorydesc:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: querystring
args: filter_cat
details:
selector: a[href^="torrents.php?id="]
attribute: href
genre:
selector: div.tags a[href*="taglist"]
download:
selector: span > a[href^="torrents.php?action=download&id="]
attribute: href
date:
selector: span.time.tooltip
attribute: title
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MMM dd yyyy, HH:mm zzz"
size:
selector: td.number_column.nobr
files:
selector: td:nth-last-child(6)
seeders:
selector: td:nth-last-child(2)
leechers:
selector: td:nth-last-child(1)
grabs:
selector: td:nth-last-child(3)
downloadvolumefactor:
case:
strong.torrent_label.tl_free: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.6
title:
selector: a[href^="torrents.php?id="]
remove: strong.torrent_label
filters:
- name: trim
args: "/"
- name: trim
# Gazelle

View File

@@ -1,188 +0,0 @@
---
id: icc2022
name: ICC2022 (冰淇淋)
description: "ICC2022 (冰淇淋) is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://www.icc2022.com/
caps:
categorymappings:
- {id: 408, cat: Audio, desc: "Music/音乐"}
- {id: 409, cat: Other, desc: "Misc/其他"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 406, cat: Audio/Video, desc: "MusicVideo/MV"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 401, cat: Movies, desc: "Movies/电影"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
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 ICC2022 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: "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
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("失败"))
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 (4 does not appear to work)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ 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(a[href^="details.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
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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.11 2024-03-27

View File

@@ -1,187 +0,0 @@
---
id: ilolicon
name: ilolicon PT
description: "ilolicon PT is a CHINESE Private Torrent Tracker for LOLICON / MOVIES / 3X"
language: zh-CN
type: private
encoding: UTF-8
requestDelay: 2
links:
- https://share.ilolicon.com/
caps:
# dont forget to update the path categories in the search block
categorymappings:
- {id: 401, cat: Movies, desc: "电影 (Movie)", default: true}
- {id: 402, cat: TV, desc: "电视剧(TV Series)", default: true}
- {id: 430, cat: TV, desc: "综艺(TV Show)", default: true}
- {id: 405, cat: TV/Anime, desc: "动画 (Animation)", default: true}
- {id: 408, cat: Audio, desc: "音乐 (Music)", default: true}
- {id: 410, cat: Audio/Video, desc: "舞台演出 (Stage Performance)", default: true}
- {id: 404, cat: TV/Documentary, desc: "纪录片 (Documentary)", default: true}
- {id: 412, cat: Console, desc: "游戏 (Game)", default: true}
- {id: 413, cat: PC, desc: "软件 (Software)", default: true}
- {id: 411, cat: Other, desc: "漫画/CG杂图/动漫杂志 (Photo)", default: true}
- {id: 418, cat: XXX/ImageSet, desc: "写真 (Photography)", default: false}
- {id: 429, cat: XXX/Other, desc: "音声 (Audio)", default: false}
- {id: 428, cat: XXX/Other, desc: "H-游戏 (H-Games)", default: false}
- {id: 427, cat: XXX/ImageSet, desc: "H-CG杂图 (H-CG Miscellaneous Pictures)", default: false}
- {id: 426, cat: XXX/Other, desc: "H-3D同人动画 (H-3D Doujin Animation)", default: false}
- {id: 425, cat: XXX/Other, desc: "H-2D同人动画 (H-2D Doujin Animation)", default: false}
- {id: 424, cat: XXX/Other, desc: "H-漫画 (H-Manga)", default: false}
- {id: 423, cat: XXX/Other, desc: "里番 (Riban)", default: false}
- {id: 420, cat: XXX, desc: "AV有码 (AV Censored)", default: false}
- {id: 419, cat: XXX, desc: "AV无码 (AV uncensored)", default: false}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- 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.</br>Choosing more may cause the web site to fail to deliver complete results.
- 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 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:
# using cookie method because I could not get the form method to work when I first created the indexer, some hidden security check
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
categories: [401, 402, 430, 405, 408, 410, 404, 412, 413, 411]
- path: special.php
categories: [418, 429, 428, 427, 426, 425, 424, 423, 422, 420, 419]
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(a[href^="details.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)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow: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
description:
selector: td.rowfollow:nth-child(2) td:nth-child(2)
remove: a, b, font, img
# NexusPHP v1.9.6 2025-06-25

View File

@@ -1,181 +0,0 @@
---
id: irishtv
name: IrishTV
description: "IrishTV (ITV) is an IRISH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://irishtv.xyz/
legacylinks:
- http://irishtv.xyz/
caps:
categorymappings:
- {id: 1, cat: TV, desc: "Comedy"}
- {id: 2, cat: TV, desc: "Drama"}
- {id: 3, cat: TV, desc: "Documentary"}
- {id: 6, cat: TV, desc: "Entertainment"}
- {id: 4, cat: TV, desc: "Lifestyle"}
- {id: 7, cat: TV, desc: "Kids"}
- {id: 8, cat: TV, desc: "Culture"}
- {id: 9, cat: TV, desc: "Science & Nature"}
- {id: 12, cat: TV/Sport, desc: "Sport"}
- {id: 13, cat: TV, desc: "News Current Affairs"}
- {id: 14, cat: TV, desc: "Classics"}
- {id: 17, cat: TV, desc: "Crime"}
- {id: 16, cat: TV, desc: "Boxsets"}
- {id: 18, cat: Audio, desc: "Music"}
- {id: 19, cat: Movies, desc: "Film"}
- {id: 20, cat: Movies, desc: "VIP"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: novip
type: checkbox
label: Hide VIP releases
default: true
- name: sort
type: select
label: Sort requested from site
default: 3
options:
3: created
5: seeders
4: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
- name: info
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.
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# http://irishtv.xyz/index.php?page=torrents&search=&category=0&active=0
- path: index.php
inputs:
page: torrents
search: "{{ .Keywords }}"
category: "{{ range .Categories }}{{.}};{{end}}"
# 0 filename, 1 file&descr, 2 descr, 3 uploaders
options: 0
# 0 all, 1 active only, 2 dead only
active: 0
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
# does not support imdbid search and does not return imdb link in results, does not support Genre search or return them in results.
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: "table.lista > tbody > tr:has(a[href^=\"download.php?id=\"]){{ if .Config.novip }}:not(:has(a[href$=\"category=20\"])){{ else }}{{ end }}{{ if .Config.freeleech }}:has(img[src$=\"gold.gif\"]){{ else }}{{ end }}, table.lista > tbody > tr:has(a[href^=\"download.php?id=\"]){{ if .Config.novip }}:not(:has(a[href$=\"category=20\"])){{ else }}{{ end }}{{ if .Config.freeleech }}:has(img[src$=\"freeleech.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
title_torrent:
selector: a[href^="download.php?id="]
attribute: href
filters:
- name: querystring
args: f
- name: htmldecode
- name: re_replace
args: ["(?i)\\.torrent$", ""]
title_text:
selector: a[href^="index.php?page=torrent-details&id="]
title:
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
poster:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
- name: replace
args: ["torrentimg/nocover.jpg", ""]
details:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-last-child(3)
date:
selector: td:nth-last-child(7)
# auto adjusted by site account profile
filters:
- name: dateparse
args: dd/MM/yyyy
seeders:
selector: td:nth-last-child(6)
leechers:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(4)
downloadvolumefactor:
case:
img[src="images/freeleech.gif"]: 0
img[src="images/gold.gif"]: 0
img[src="images/silver.gif"]: 0.5
img[src="images/bronze.gif"]: 0.75
"*": 1
uploadvolumefactor:
case:
img[src="images/2x.gif"]: 2
img[src="images/3x.gif"]: 3
img[src="images/4x.gif"]: 4
img[src="images/5x.gif"]: 5
img[src="images/6x.gif"]: 6
img[src="images/7x.gif"]: 7
img[src="images/8x.gif"]: 8
img[src="images/9x.gif"]: 9
img[src="images/10x.gif"]: 10
"*": 1
minimumratio:
text: 1.5
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 259200
# xbtitFM v4.1.31

View File

@@ -1,108 +0,0 @@
---
id: itorrent
name: iTorrent
description: "iTorrent is a HUNGARIAN Public site"
language: hu-HU
type: public
encoding: UTF-8
links:
- https://itorrent.ws/
legacylinks:
- https://itorrent.hu/
caps:
categorymappings:
- {id: app, cat: PC, desc: Apps}
- {id: book, cat: Books, desc: Books}
- {id: game, cat: PC/Games, desc: Games}
- {id: movies, cat: Movies, desc: Movies}
- {id: music, cat: Audio, desc: Music}
- {id: heart, cat: XXX, desc: XXX}
- {id: tv, cat: TV, desc: TV}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: sort
type: select
label: Sort requested from site
default: date_added
options:
date_added: created
seeders: seeders
size: size
title: title
- name: type
type: select
label: Order requested from site
default: DESC
options:
DESC: desc
ASC: asc
download:
selectors:
- selector: a[href^="/torrentfiles/"]
attribute: href
search:
paths:
- path: "torrentek/title/{{ .Keywords }}/order/{{ .Config.sort }}/by/{{ .Config.type }}/"
rows:
selector: tr.gradeX
filters:
- name: andmatch
fields:
category:
selector: td:nth-child(1) i
attribute: class
filters:
- name: replace
args: ["zqf zqf-", ""]
title:
selector: td:nth-child(2) a
details:
selector: td:nth-child(2) a
attribute: href
download:
selector: td:nth-child(2) a
attribute: href
date_time:
selector: td:nth-child(4) span
optional: true
attribute: title
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy.MM.dd HH:mm zzz"
date_year:
selector: td:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy.MM.dd zzz"
date:
text: "{{ if or .Result.date_year .Result.date_time }}{{ or .Result.date_year .Result.date_time }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,57 +0,0 @@
---
id: jav-torrent
name: JAV-Torrent
description: "JAV-Torrent is a Public tracker for Asian 3X (JAV)"
language: en-US
type: public
encoding: UTF-8
links:
- https://jav-torrent.net/
legacylinks:
- https://jav-torrent.org/
caps:
categories:
XXX: XXX
modes:
search: [q]
settings: []
search:
paths:
- path: "{{ if .Keywords }}search?keyword={{ .Keywords }}{{ else }}new{{ end }}"
rows:
selector: div.card
fields:
category:
text: XXX
title:
selector: h5 a
details:
selector: h5 a
attribute: href
download:
selector: a[href*="/download/torrent/"]
attribute: href
optional: true
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
optional: true
date:
text: now
size:
selector: span.is-size-6
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,152 +0,0 @@
---
id: jptv-api
name: JPTV (API)
description: "JPTV is a JAPANESE Private Torrent Tracker for JAPANESE TV / MOVIES / GENERAL"
language: ja-JP
type: private
encoding: UTF-8
links:
- https://jptv.club/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV Shows"}
- {id: 6, cat: TV, desc: "TS Firehose"}
- {id: 7, cat: Movies/Other, desc: "Anime Movies"}
- {id: 9, cat: TV/Anime, desc: "Anime Series"}
- {id: 8, cat: Audio, desc: "Audio"}
- {id: 10, cat: Books, desc: "Book"}
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://jptv.club/\" target=\"_blank\">JPTV</a> account <i>My Security</i> page and clicking on the <b>API Token</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
- name: info_activity
type: info
label: Account Inactivity
default: "Your membership requires that you stay active at JPTVclub. In order to not be disabled, you are required to login to the site at least once every 90 days. If your account gets disabled, you will recive an email informing you about it, along with instructions on how to get enabled again."
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:
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
imdb: "{{ .Query.IMDBIDShort }}"
tmdb: "{{ .Query.TMDBID }}"
tvdb: "{{ .Query.TVDBID }}"
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
fields:
categorydesc:
selector: category
title:
selector: name
details:
selector: details_link
download:
selector: download_link
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=false, 1=true
selector: freeleech
case:
0: 1 # not free
1: 0 # freeleech
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
case:
0: 1 # normal
1: 2 # double
# 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 5.2.0

View File

@@ -1,207 +0,0 @@
---
id: jptv
name: JPTV
description: "JPTV is a JAPANESE Private Torrent Tracker for JAPANESE TV / MOVIES"
language: ja-JP
type: private
encoding: UTF-8
links:
- https://jptv.club/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV Shows"}
- {id: 6, cat: TV, desc: "TS Firehose"}
- {id: 7, cat: Movies/Other, desc: "Anime Movies"}
- {id: 9, cat: TV/Anime, desc: "Anime Series"}
- {id: 8, cat: Audio, desc: "Audio"}
- {id: 10, cat: Books, desc: "Book"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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: login
method: form
form: form[action$="/login"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: on
selectorinputs:
_token:
selector: input[name="_token"]
attribute: value
error:
- selector: div#ERROR_COPY
# test:
# path: /
# selector: a[href$="/logout"]
search:
paths:
- path: torrents/filter
inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: "{{ .Query.TVDBID }}"
tmdb: "{{ .Query.TMDBID }}"
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100
page: 0
view: list
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
# can search for genre but you need to know the id. &genres[]=10765 for Sci-Fi & Fantasy
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
poster:
selector: div.torrent-poster img
attribute: src
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
- name: replace
args: ["https://via.placeholder.com/400x600", ""]
genre:
selector: td:nth-last-child(8)
filters:
- name: replace
args: ["\n", ""]
- name: replace
args: [" & ", "_&_"]
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
args: ["(?i)(TV Movie)", "TV_Movie"]
- name: validate
args: "Action, Action_&_Adventure, Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History, Horror, Kids, Music, Mystery, News, Reality, Romance, Sci-Fi_&_Fantasy, Science_Fiction, Soap, TV_Movie, Talk, Thriller, War, War_&_Politics, Western"
description:
text: "{{ .Result.genre }}"
size:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
grabs:
selector: td:nth-last-child(1)
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
tmdbid:
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
attribute: href
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
- name: re_replace
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
- name: re_replace
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
- name: re_replace
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
- name: re_replace
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
- name: re_replace
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
- name: re_replace
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
- name: re_replace
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
- name: re_replace
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
- name: re_replace
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
- name: re_replace
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
- name: re_replace
args: ["(?i) (ay)", "month"]
- name: re_replace
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
- name: re_replace
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
- name: re_replace
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
- name: re_replace
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
- name: re_replace
args: ["(?i) (an)", "year"]
- name: re_replace
args: ["(?i)(För |und)", ""] # Misc removals
- name: timeago
downloadvolumefactor:
case:
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
i[class*="fa-star text-gold"]: 0 # Freeleech
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
"*": 1
uploadvolumefactor:
case:
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
i[class*="fa-globe text-green"]: 2 # Global Double Upload
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
"*": 1
# overall ratio of 0.4 but must seed for 7 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# UNIT3D 5.1.0

View File

@@ -1,152 +0,0 @@
---
id: kimoji
name: KIMOJI
description: "KIMOJI is a CHINESE Private Torrent Tracker for MUSIC"
language: en-US
type: private
encoding: UTF-8
links:
- https://kimoji.club/
caps:
categorymappings:
- {id: 3, cat: Audio, desc: "Music"}
modes:
search: [q]
music-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://kimoji.club/\" target=\"_blank\">KIMOJI</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: 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 }}"
"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:
_id:
selector: ..id
category:
selector: category_id
title:
selector: name
details:
selector: details_link
download:
selector: download_link
infohash:
selector: info_hash
poster:
text: "{{ .Config.sitelink }}files/img/torrent-cover_{{ .Result._id }}.jpg"
genre:
selector: distributor
filters:
- name: re_replace
args: ["(?i)(Hard Rock)", "Hard_Rock"]
- name: re_replace
args: ["(?i)(World Music)", "World_Music"]
- name: replace
args: ["/", "_"]
description:
text: "{{ .Result.genre }}"
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
# global MR is 1.0 but torrents must be seeded for 3 days regardless of ratio
# minimumratio:
# text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# json UNIT3D 7.1.3 (custom)

View File

@@ -1,160 +0,0 @@
---
id: knaben
name: Knaben
description: "Knaben is a Public torrent meta-search engine"
language: en-US
type: public
encoding: UTF-8
links:
- https://knaben.eu/
caps:
categorymappings:
- {id: 1000000, cat: Audio, desc: "Audio"}
- {id: 1001000, cat: Audio/MP3, desc: "MP3"}
- {id: 1002000, cat: Audio/Lossless, desc: "Lossless"}
- {id: 1003000, cat: Audio/Audiobook, desc: "Audiobook"}
- {id: 1004000, cat: Audio/Video, desc: "Audio Video"}
- {id: 1005000, cat: Audio/Other, desc: "Radio"}
- {id: 1006000, cat: Audio/Other, desc: "Audio Other"}
- {id: 2000000, cat: TV, desc: "TV"}
- {id: 2001000, cat: TV/HD, desc: "TV HD"}
- {id: 2002000, cat: TV/SD, desc: "TV SD"}
- {id: 2003000, cat: TV/UHD, desc: "TV UHD"}
- {id: 2004000, cat: TV/Documentary, desc: "Documentary"}
- {id: 2005000, cat: TV/Foreign, desc: "TV Foreign"}
- {id: 2006000, cat: TV/Sport, desc: "Sport"}
- {id: 2007000, cat: TV/Other, desc: "Cartoon"}
- {id: 2008000, cat: TV/Other, desc: "TV Other"}
- {id: 3000000, cat: Movies, desc: "Movies"}
- {id: 3001000, cat: Movies/HD, desc: "Movies HD"}
- {id: 3002000, cat: Movies/SD, desc: "Movies SD"}
- {id: 3003000, cat: Movies/UHD, desc: "Movies UHD"}
- {id: 3004000, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 3005000, cat: Movies/Foreign, desc: "Movies Foreign"}
- {id: 3006000, cat: Movies/Foreign, desc: "Movies Bollywood"}
- {id: 3007000, cat: Movies/3D, desc: "Movies 3D"}
- {id: 3008000, cat: Movies/Other, desc: "Movies Other"}
- {id: 4000000, cat: PC, desc: "PC"}
- {id: 4001000, cat: PC/Games, desc: "Games"}
- {id: 4002000, cat: PC/0day, desc: "Software"}
- {id: 4003000, cat: PC/Mac, desc: "Mac"}
- {id: 4004000, cat: PC/ISO, desc: "Unix"}
- {id: 5000000, cat: XXX, desc: "XXX"}
- {id: 5001000, cat: XXX/x264, desc: "XXX Video"}
- {id: 5002000, cat: XXX/ImageSet, desc: "XXX ImageSet"}
- {id: 5003000, cat: XXX/Other, desc: "XXX Games"}
- {id: 5004000, cat: XXX/Other, desc: "XXX Hentai"}
- {id: 5005000, cat: XXX/Other, desc: "XXX Other"}
- {id: 6000000, cat: TV/Anime, desc: "Anime"}
- {id: 6001000, cat: TV/Anime, desc: "Anime Subbed"}
- {id: 6002000, cat: TV/Anime, desc: "Anime Dubbed"}
- {id: 6003000, cat: TV/Anime, desc: "Anime Dual audio"}
- {id: 6004000, cat: TV/Anime, desc: "Anime Raw"}
- {id: 6005000, cat: Audio/Video, desc: "Music Video"}
- {id: 6006000, cat: Books/Other, desc: "Literature"}
- {id: 6007000, cat: Audio/Other, desc: "Music"}
- {id: 6008000, cat: TV/Anime, desc: "Anime non-english translated"}
- {id: 7000000, cat: Console, desc: "Console"}
- {id: 7001000, cat: Console/PS4, desc: "PS4"}
- {id: 7002000, cat: Console/PS3, desc: "PS3"}
- {id: 7003000, cat: Console/PS3, desc: "PS2"}
- {id: 7004000, cat: Console/PS3, desc: "PS1"}
- {id: 7005000, cat: Console/PS Vita, desc: "PS Vita"}
- {id: 7006000, cat: Console/PSP, desc: "PSP"}
- {id: 7007000, cat: Console/XBox 360, desc: "Xbox 360"}
- {id: 7008000, cat: Console/XBox, desc: "Xbox"}
- {id: 7009000, cat: Console/NDS, desc: "Switch"}
- {id: 7010000, cat: Console/NDS, desc: "NDS"}
- {id: 7011000, cat: Console/Wii, desc: "Wii"}
- {id: 7012000, cat: Console/WiiU, desc: "WiiU"}
- {id: 7013000, cat: Console/3DS, desc: "3DS"}
- {id: 7014000, cat: Console/Wii, desc: "GameCube"}
- {id: 7015000, cat: Console/Other, desc: "Other"}
- {id: 8000000, cat: PC/Mobile-Other, desc: "Mobile"}
- {id: 8001000, cat: PC/Mobile-Android, desc: "Android"}
- {id: 8002000, cat: PC/Mobile-iOS, desc: "IOS"}
- {id: 8003000, cat: PC/Mobile-Other, desc: "PC Other"}
- {id: 9000000, cat: Books, desc: "Books"}
- {id: 9001000, cat: Books/EBook, desc: "EBooks"}
- {id: 9002000, cat: Books/Comics, desc: "Comics"}
- {id: 9003000, cat: Books/Mags, desc: "Magazines"}
- {id: 9004000, cat: Books/Technical, desc: "Technical"}
- {id: 9005000, cat: Books/Other, desc: "Books Other"}
- {id: 10000000, cat: Other, desc: "Other"}
- {id: 10001000, cat: Other/Misc, desc: "Other Misc"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: sort
type: select
label: Sort requested from site
default: date
options:
date: created
seeders: seeders
bytes: size
title: title
- name: type
type: select
label: Order requested from site
default: "+"
options:
"+": desc
"-": asc
search:
paths:
- path: "{{ if .Keywords }}search/{{ .Keywords }}{{ else }}browse{{ end }}/0/1/{{ .Config.type }}{{ .Config.sort }}"
rows:
selector: tr[title^="Cached "], tr[title^="Checked "]
fields:
category:
selector: a[href^="/browse/"]:last-child
attribute: href
filters:
- name: split
args: ["/", 2]
# replace subcat with cat: 1001069 > 1001000
- name: re_replace
args: ["(\\d{3})$", "000"]
title:
selector: td:nth-child(2) a
details:
selector: td:last-child a
attribute: href
download:
selector: td:nth-child(2) a
attribute: href
description:
selector: td:last-child a
filters:
- name: prepend
args: "Source: "
date:
selector: td:nth-child(4)
attribute: title
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-child(3)
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,174 +0,0 @@
---
id: laidbackmanor
name: LaidBackManor (API)
description: "LaidBackManor (LBM) is a Private site for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://laidbackmanor.xyz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movie"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: Console, desc: "Game"}
- {id: 5, cat: PC, desc: "Application"}
- {id: 6, cat: Books, desc: "Books"}
- {id: 8, cat: TV/Sport, desc: "Sports"}
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://laidbackmanor.xyz/\" target=\"_blank\">LaidBackManor</a> account <i>My Security</i> page and clicking on the <b>API Token</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
- name: info_activity
type: info
label: Account Inactivity
default: "Any accounts that are Not Active, Uploading/Downloading will be Pruned Without Warning."
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 }}1{{ 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:
selector: name
details:
selector: details_link
download:
selector: download_link
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)^None$", ""]
- 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 }}"
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 0=false, 1=true
selector: double_upload
case:
0: 1 # normal
1: 2 # double
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# json UNIT3D 6.4.1

View File

@@ -1,260 +0,0 @@
---
id: le-cinephile
name: Le-Cinephile
description: "Le-Cinephile is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-FR
type: private
encoding: UTF-8
links:
- https://le-cinephile.de/
caps:
categorymappings:
# FILM
- {id: 2, cat: Movies/DVD, desc: "FILM DVD"}
- {id: 66, cat: Movies/HD, desc: "FILM HDRip"}
- {id: 63, cat: Movies/WEB-DL, desc: "FILM WEB"}
- {id: 75, cat: Movies/UHD, desc: "FILM 2160 P"}
- {id: 101, cat: TV/Documentary, desc: "FILM Documentaire"}
- {id: 104, cat: Movies, desc: "FILM DVDRip"}
- {id: 107, cat: Movies, desc: "FILM ANIME"}
- {id: 111, cat: Movies, desc: "FILM Nouveautés 2024"}
- {id: 116, cat: Movies, desc: "FILM Nouveautés 2025"}
- {id: 34, cat: Movies/SD, desc: "FILM TVRip"}
- {id: 33, cat: Movies/SD, desc: "FILM HDTV"}
- {id: 4, cat: Movies/HD, desc: "FILM 1080"}
- {id: 25, cat: Movies/BluRay, desc: "FILM ISO"}
- {id: 26, cat: Movies/BluRay, desc: "FILM BluRay"}
- {id: 27, cat: Movies/HD, desc: "FILM BDRip"}
- {id: 28, cat: Movies/HD, desc: "FILM 720"}
- {id: 29, cat: Movies/SD, desc: "FILM VHS"}
- {id: 30, cat: Movies/Foreign, desc: "FILM VOST"}
- {id: 31, cat: Movies/Other, desc: "FILM MUET"}
- {id: 129, cat: Movies, desc: "FILM Nouveautés de cette année"}
# SERIE
- {id: 9, cat: TV/SD, desc: "SERIE DVD"}
- {id: 117, cat: TV, desc: "SERIE Nouveautés 2025"}
- {id: 110, cat: TV, desc: "SERIE Nouveautés 2024"}
- {id: 108, cat: TV/HD, desc: "SERIE BlueRay"}
- {id: 106, cat: TV/Anime, desc: "SERIE ANIME"}
- {id: 105, cat: TV, desc: "SERIE Pack"}
- {id: 102, cat: TV/Documentary, desc: "SERIE Documentaire"}
- {id: 72, cat: TV/UHD, desc: "SERIE 2160 P"}
- {id: 65, cat: TV/SD, desc: "SERIE HDRip"}
- {id: 21, cat: TV/HD, desc: "SERIE HDTV.1080p"}
- {id: 20, cat: TV/HD, desc: "SERIE HDTV.720p"}
- {id: 19, cat: TV/SD, desc: "SERIE HDTV"}
- {id: 17, cat: TV/SD, desc: "SERIE VHS"}
- {id: 16, cat: TV/SD, desc: "SERIE TVRip"}
- {id: 15, cat: TV/WEB-DL, desc: "SERIE WEB.1080p"}
- {id: 14, cat: TV/WEB-DL, desc: "SERIE WEB.720p"}
- {id: 12, cat: TV/WEB-DL, desc: "SERIE WEB"}
- {id: 128, cat: TV, desc: "SERIE Nouveautés de cette année"}
# ANIMEE
- {id: 113, cat: TV/Anime, desc: "ANIMEE Nouveautées 2024"}
- {id: 114, cat: Movies/Other, desc: "ANIMEE Fim"}
- {id: 115, cat: TV/Anime, desc: "ANIMEE Serie"}
- {id: 130, cat: TV/Anime, desc: "ANIMEE Nouveautés de cette année"}
# LOGICIELS
- {id: 56, cat: PC/ISO, desc: "LOGICIELS Linux"}
- {id: 24, cat: PC/Mac, desc: "LOGICIELS Apple"}
- {id: 58, cat: PC/0day, desc: "LOGICIELS Windows"}
- {id: 131, cat: PC, desc: "LOGICIELS Nouveautés de cette année"}
# EBOOK
- {id: 44, cat: Books/Mags, desc: "EBOOK Journaux"}
- {id: 46, cat: Books/Technical, desc: "EBOOK Documents"}
- {id: 48, cat: XXX/Other, desc: "EBOOK XXX"}
- {id: 49, cat: Books/EBook, desc: "EBOOK Livres"}
- {id: 132, cat: Books, desc: "EBOOK Nouveautés de cette année"}
# MUSIC
- {id: 5, cat: Audio/Video, desc: "MUSIC clip video"}
- {id: 109, cat: Audio/Video, desc: "MUSIC Spectacles.Theatre"}
- {id: 112, cat: Audio/Video, desc: "MUSIC Concert filmé"}
- {id: 133, cat: Audio/Video, desc: "MUSIC Nouveautés de cette année"}
# JEUX
- {id: 96, cat: PC/Games, desc: "JEUX Apple"}
- {id: 8, cat: Console/PS3, desc: "JEUX PS3"}
- {id: 45, cat: PC/Games, desc: "JEUX PC"}
- {id: 135, cat: Console, desc: "JEUX Nouveautés de cette année"}
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: multilang
type: checkbox
label: Replace MULTI by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTI.FRENCH: MULTI.FRENCH
ENGLISH: ENGLISH
MULTI.ENGLISH: MULTI.ENGLISH
VOSTFR: VOSTFR
MULTI.VOSTFR: MULTI.VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
default: false
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeds: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: countdown
type: info
label: Countdown Timer
default: "This site is a Tracker based on Time: to keep your account the time must not be at 0000-00-00-00-00-00. Read <a href=\"https://le-cinephile.de/faq.php\" target=\"_blank\">Le-Cinephile FAQ</a> on how to keep the timer active."
- name: registration
type: info
label: Registration Confirmation
default: After you register you will receive a confirmation email that contains a link to activate your account. If you have not received it check your Junk mail / Spam mail folder.
login:
path: login.php
method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
captcha:
type: image
selector: img[src^="cap/captcha_math.php?codeCaptcha="]
input: stringCaptcha
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div#login_error
test:
path: index.php
selector: a[href="logout.php"]
download:
before:
path: ajax_det_poll.php
method: post
inputs:
set_thanks: Merci
det_id: "{{ .DownloadUri.Query.id }}"
ajax: yes
selectors:
- selector: a[href^="download.php?torrent="]
attribute: href
search:
paths:
- path: selection.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 name, 1 descr, 2 both
blah: 0
orderby: "{{ .Config.sort }}"
sort: "{{ .Config.type }}"
rows:
selector: div.selection_wrap
fields:
category_p1:
selector: div.kat_cat_pic_name
category_p2:
selector: div.kat_cat_pic_name_b
categorydesc:
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
title_phase1:
selector: a.selection_a
title_multilang:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)([\\s|\\.|-]multi[\\s|\\.|-])", ".{{ .Config.multilanguage }}."]
title_phase2:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_vostfr:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)([\\s|\\.|-]vostfr[\\s|\\.|-])", ".ENGLISH."]
- name: re_replace
args: ["(?i)([\\s|\\.|-]subfrench[\\s|\\.|-])", ".ENGLISH."]
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a.selection_a
attribute: href
download:
selector: a.selection_a
attribute: href
poster:
selector: div[id^="details"] img
attribute: src
size:
selector: div.selection_unter_ad
grabs:
selector: div.selection_unter_ae
date_day:
# Aujourd'hui à 13:30:04
# Hier à 09:10:10
selector: div.selection_unter_ab:not(:contains("."))
optional: true
filters:
- name: replace
args: ["Aujourd'hui à", "Today"]
- name: replace
args: ["Hier à", "Yesterday"]
- name: append
args: " +01:00" # CET
date_year:
# Le 30.02.2018 à 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace
args: ["Le ", ""]
- name: replace
args: [" à", ""]
- name: append
args: " +01:00" # CET
- name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
seeders:
selector: div.selection_unter_aa
leechers:
selector: div.selection_unter_aaa
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 60 hours (as seconds = 60 x 60 x 60)
text: 216000
# 3xT

View File

@@ -1,219 +0,0 @@
---
id: learnbits
name: LearnBits
description: "LearnBits is a Private Torrent Tracker for E-LEARNING"
language: en-US
type: private
encoding: UTF-8
links:
- http://www.learnbits.me/
caps:
categorymappings:
- {id: 7, cat: TV/Documentary, desc: "Documentary"}
- {id: 83, cat: TV/Documentary, desc: "Documentary - Architecture"}
- {id: 61, cat: TV/Documentary, desc: "Documentary - Biography"}
- {id: 76, cat: TV/Documentary, desc: "Documentary - Culture"}
- {id: 75, cat: TV/Documentary, desc: "Documentary - EarthScience"}
- {id: 67, cat: TV/Documentary, desc: "Documentary - History"}
- {id: 80, cat: TV/Documentary, desc: "Documentary - MilitaryWar"}
- {id: 81, cat: TV/Documentary, desc: "Documentary - Politics"}
- {id: 82, cat: TV/Documentary, desc: "Documentary - Technology"}
- {id: 77, cat: TV/Documentary, desc: "Documentary - Travel"}
- {id: 74, cat: TV/Documentary, desc: "Documentary - Wildlife"}
- {id: 79", cat: TV/Documentary, desc: "Documentary Channels"}
- {id: 65, cat: TV/Documentary, desc: "Documentary Channels - BBC"}
- {id: 69, cat: TV/Documentary, desc: "Documentary Channels - Discovery"}
- {id: 56, cat: TV/Documentary, desc: "Documentary Channels - HistoryChannel"}
- {id: 55, cat: TV/Documentary, desc: "Documentary Channels - NationalGeo"}
- {id: 73, cat: TV/Documentary, desc: "Documentary Channels - PBS"}
- {id: 78, cat: TV/Documentary, desc: "Documentary Series"}
- {id: 58, cat: TV/Documentary, desc: "Documentary Series - AnimalPlanet"}
- {id: 66, cat: TV/Documentary, desc: "Documentary Series - ExtremeWorld"}
- {id: 70, cat: TV/Documentary, desc: "Documentary Series - Frontline"}
- {id: 62, cat: TV/Documentary, desc: "Documentary Series - Horizon"}
- {id: 59, cat: TV/Documentary, desc: "Documentary Series - HowItIsMade"}
- {id: 10, cat: TV/Documentary, desc: "Documentary Series - MegaFactories"}
- {id: 57, cat: TV/Documentary, desc: "Documentary Series - ModernMarvels"}
- {id: 63, cat: TV/Documentary, desc: "Documentary Series - NaturalWorld"}
- {id: 71, cat: TV/Documentary, desc: "Documentary Series - NatureOfThings"}
- {id: 54, cat: TV/Documentary, desc: "Documentary Series - Nova"}
- {id: 72, cat: TV/Documentary, desc: "Documentary Series - PBSNature"}
- {id: 68, cat: TV/Documentary, desc: "Documentary Series - ThroughTheWormhole"}
- {id: 60, cat: Other, desc: "General-Education"}
- {id: 34, cat: Other, desc: "General-Education - 3D-4D"}
- {id: 49, cat: Books/EBook, desc: "General-Education - Biographies"}
- {id: 3, cat: Books/EBook, desc: "General-Education - Business"}
- {id: 6, cat: Other, desc: "General-Education - Digital-Art"}
- {id: 36, cat: Other, desc: "General-Education - Early-Learning"}
- {id: 42, cat: Other, desc: "General-Education - Electronics"}
- {id: 48, cat: Other, desc: "General-Education - Graphic-Arts"}
- {id: 25, cat: Books/EBook, desc: "General-Education - History"}
- {id: 16, cat: Other, desc: "General-Education - Languages"}
- {id: 4, cat: Other, desc: "General-Education - Legal"}
- {id: 20, cat: Other, desc: "General-Education - Math"}
- {id: 21, cat: Other, desc: "General-Education - Medical"}
- {id: 41, cat: Other, desc: "General-Education - Philosophy"}
- {id: 53, cat: Other, desc: "General-Education - Photography"}
- {id: 45, cat: Other, desc: "General-Education - Politics"}
- {id: 39, cat: Other, desc: "General-Education - Psychology"}
- {id: 50, cat: Other, desc: "General-Education - Science"}
- {id: 35, cat: Other, desc: "General-Education - Trade-Skills"}
- {id: 38, cat: Other, desc: "General-Education - Writing"}
- {id: 46, cat: Other, desc: "Computer Science"}
- {id: 5, cat: Other, desc: "General-Education - Database"}
- {id: 9, cat: Other, desc: "General-Education - Exam-Guides"}
- {id: 11, cat: Other, desc: "General-Education - Forensics"}
- {id: 14, cat: Other, desc: "General-Education - IT-Manager"}
- {id: 15, cat: Other, desc: "General-Education - IT-Security"}
- {id: 17, cat: Other, desc: "General-Education - Linux-Unix"}
- {id: 18, cat: Other, desc: "General-Education - Mac-Apple"}
- {id: 31, cat: Other, desc: "General-Education - Microsoft"}
- {id: 22, cat: Other, desc: "General-Education - Network"}
- {id: 26, cat: Other, desc: "General-Education - Programming"}
- {id: 27, cat: Other, desc: "General-Education - Server-Admin"}
- {id: 29, cat: Other, desc: "General-Education - VOIP"}
- {id: 30, cat: Other, desc: "General-Education - Web-Design"}
- {id: 64, cat: Other, desc: "Just-4-Fun"}
- {id: 51, cat: Other, desc: "Just-4-Fun - Culinary"}
- {id: 12, cat: Other, desc: "Just-4-Fun - Fitness"}
- {id: 13, cat: Other, desc: "Just-4-Fun - Hobbies"}
- {id: 47, cat: Other, desc: "Just-4-Fun - Horticulture"}
- {id: 33, cat: Other, desc: "Just-4-Fun - International"}
- {id: 19, cat: Books/Mags, desc: "Just-4-Fun - Magazines"}
- {id: 52, cat: Other, desc: "Just-4-Fun - Magic"}
- {id: 32, cat: Other/Misc, desc: "Just-4-Fun - Miscellaneous"}
- {id: 23, cat: Other, desc: "Just-4-Fun - Music-Dance"}
- {id: 24, cat: Other, desc: "Just-4-Fun - Personal Growth"}
- {id: 28, cat: Other, desc: "Just-4-Fun - Sports-Self-Defence"}
- {id: 37, cat: Other, desc: "Just-4-Fun - VIP"}
modes:
search: [q]
tv-search: [q, season, ep]
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: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img#regimage
input: security_code
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logintype: yes
error:
- selector: table:contains("An error has occured!")
test:
path: index.php
selector: a[href*="/logout.php?logouthash="]
search:
paths:
- path: browse.php
method: post
keywordsfilters:
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%"]
inputs:
do: search
keywords: "{{ .Keywords }}"
# t_name, t_description, t_both, t_uploader, t_genre
search_type: t_name
# does not support multi categories so defaulting to ALL
category: 0
sortby: "{{ .Config.sort }}"
orderby: "{{ .Config.type }}"
rows:
selector: "div#showcontents > table > tbody > tr:has(a[href]){{ if .Config.freeleech }}:has(img[src$=\"freedownload.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="/browse.php?browse_categories"]
attribute: href
filters:
- name: querystring
args: category
title:
selector: a[href*="/details.php?id="] > b
details:
selector: a[href*="/details.php?id="]
attribute: href
download:
selector: a[href*="/download.php?id="]
attribute: href
files:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8) > b
downloadvolumefactor:
case:
img[src$="/external.gif"]: 0
img[src$="/freedownload.gif"]: 0
img[src$="/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="/x2.gif"]: 2
"*": 1
size:
selector: td:nth-child(8)
remove: b
date_day:
selector: td:nth-child(2):contains("day ")
# auto adjusted by site account profile
optional: true
remove: a, b, img, span
filters:
- name: fuzzytime
date_year:
# 2021-07-16 09:30 PM
selector: td:nth-child(2):not(:contains("day "))
# auto adjusted by site account profile
optional: true
remove: a, b, img, span
filters:
- name: replace
args: ["|", ""]
- name: dateparse
args: "yyyy-MM-dd hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
minimumratio:
text: 1.0
# TS Special Edition

View File

@@ -1,193 +0,0 @@
---
id: leech24-api
name: leech24 (API)
description: "leech24 is a Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://leech24.net/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movie"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Console, desc: "Game"}
- {id: 4, cat: Audio, desc: "Music"}
- {id: 5, cat: Other, desc: "Misc"}
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://leech24.net/\" target=\"_blank\">leech24</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: "You must log in to the leech24 web site with your browser once every 120 days to prevent your account from getting disabled."
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.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 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.6

View File

@@ -1,124 +0,0 @@
---
id: lepornoinfo
name: LePorno.info
description: "LePorno.info is a Public Tracker for 3X"
language: en-US
type: public
encoding: UTF-8
links:
- https://leporno.info/
caps:
categorymappings:
- {id: 1, cat: XXX/XviD, desc: "Videos SD"}
- {id: 2, cat: XXX/x264, desc: "Videos HD"}
- {id: 3, cat: XXX/WMV, desc: "Movies"}
- {id: 17, cat: XXX/ImageSet, desc: "SiteRip's Picture Packs"}
- {id: 6, cat: XXX/Other, desc: "Porn (Other)"}
- {id: 4, cat: XXX, desc: "AV CENSORED (JAV)"}
- {id: 5, cat: XXX, desc: "AV UNCENSORED (JAV)"}
- {id: 7, cat: XXX, desc: "Hentai"}
- {id: 8, cat: XXX/Other, desc: "Porn (Other) JAV"}
- {id: 10, cat: XXX, desc: "Transsexual"}
- {id: 11, cat: XXX, desc: "Bisexual"}
- {id: 12, cat: XXX, desc: "BDSM"}
- {id: 13, cat: XXX, desc: "Femdom & Strapon"}
- {id: 14, cat: XXX, desc: "Fisting & Dildo"}
- {id: 15, cat: XXX, desc: "Pregnant"}
- {id: 16, cat: XXX, desc: "Fetish"}
- {id: 9, cat: XXX, desc: "Gay Forum"}
- {id: 18, cat: XXX, desc: "Incest & Taboo"}
- {id: 19, cat: XXX, desc: "Femdom & Strapon"}
modes:
search: [q]
settings:
- name: sort
type: select
label: Sort requested from site
default: 1
options:
1: created
10: seeders
7: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
- name: info_flaresolverr
type: info_flaresolverr
search:
paths:
- path: tracker.php
method: post
inputs:
$raw: "{{ if .Categories }}{{ range .Categories }}&f[]={{.}}{{end}}{{ else }}&f[]=-1{{ end }}"
prev_allw: 1
prev_a: 0
prev_dla: 0
prev_dlc: 0
prev_dld: 0
prev_dlw: 0
prev_my: 0
prev_new: 0
prev_sd: 0
prev_da: 1
prev_dc: 0
prev_df: 1
prev_ds: 0
prev_tor_type: 0
o: "{{ .Config.sort }}"
s: "{{ .Config.type }}"
tm: -1
sns: -1
srg: -1
df: 1
da: 1
pn: ""
nm: "{{ .Keywords }}"
allw: 1
submit: Search
rows:
selector: table#tor-tbl tr[id^="tor_"]
filters:
- name: andmatch
fields:
category:
selector: a[href^="tracker.php?f="]
attribute: href
filters:
- name: querystring
args: f
title:
selector: a[href^="./viewtopic.php?t="]
details:
selector: a[href^="./viewtopic.php?t="]
attribute: href
download:
selector: a[href^="./dl.php?id="]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
size:
selector: td:nth-child(6) u
date:
# unix
selector: td:nth-child(10) u
seeders:
selector: td.seedmed > b
leechers:
selector: td.leechmed > b
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,278 +0,0 @@
---
id: les-cinephiles
name: Les-Cinephiles
description: "Les-Cinephiles is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-FR
type: private
encoding: UTF-8
links:
- https://les-cinephiles.nl/
caps:
categorymappings:
- {id: 2, cat: TV/Anime, desc: "Animations: 4K"}
- {id: 3, cat: TV/Anime, desc: "Animations: 4K Light"}
- {id: 4, cat: TV/Anime, desc: "Animations: BDRIP"}
- {id: 5, cat: TV/Anime, desc: "Animations: BRRIP"}
- {id: 6, cat: TV/Anime, desc: "Animations: BluRay-R"}
- {id: 8, cat: TV/Anime, desc: "Animations: DVD-R"}
- {id: 9, cat: TV/Anime, desc: "Animations: DVDRIP"}
- {id: 165, cat: TV/Anime, desc: "Animations: JAP"}
- {id: 11, cat: TV/Anime, desc: "Animations: HD 1080P"}
- {id: 12, cat: TV/Anime, desc: "Animations: HD 720p"}
- {id: 13, cat: TV/Anime, desc: "Animations: HDRIP"}
- {id: 14, cat: TV/Anime, desc: "Animations: REMUX"}
- {id: 15, cat: TV/Anime, desc: "Animations: TVRIP"}
- {id: 16, cat: TV/Anime, desc: "Animations: WEBRIP"}
- {id: 17, cat: TV/Anime, desc: "Animations: WEB-DL"}
- {id: 73, cat: Books, desc: "Ebook: BD"}
- {id: 74, cat: Books, desc: "Ebook: ENFANTS"}
- {id: 75, cat: Books/Comics, desc: "Ebook: MANGAS"}
- {id: 76, cat: Books, desc: "Ebook: ROMANS"}
- {id: 167, cat: Audio/Audiobook, desc: "Ebook: AUDIO"}
- {id: 168, cat: Books/Mags, desc: "Ebook: MAGAZINE"}
- {id: 24, cat: Movies, desc: "Film: DOC.UNIVERS"}
- {id: 20, cat: Movies, desc: "Film: DOC.DECOUVERTES"}
- {id: 23, cat: Movies, desc: "Film: DOC.SPORT"}
- {id: 18, cat: Movies, desc: "Film: DOC.ANIMAUX"}
- {id: 19, cat: Movies, desc: "Film: DOC.ANTIQUE"}
- {id: 21, cat: Movies, desc: "Film: DOC.DIVERS"}
- {id: 22, cat: Movies, desc: "Film: DOC.HISTOIRE"}
- {id: 164, cat: Movies, desc: "Film: EMISSION.TV"}
- {id: 198, cat: Movies, desc: "Film: DOC.SPECTACLE"}
- {id: 25, cat: Movies/3D, desc: "Film: 3D"}
- {id: 26, cat: Movies/UHD, desc: "Film: 4K"}
- {id: 27, cat: Movies/UHD, desc: "Film: 4K Light"}
- {id: 169, cat: Movies, desc: "Film: AV1"}
- {id: 28, cat: Movies/BluRay, desc: "Film: BDRIP"}
- {id: 29, cat: Movies/BluRay, desc: "Film: BRRIP"}
- {id: 30, cat: Movies/BluRay, desc: "Film: BluRay-R"}
- {id: 31, cat: Movies, desc: "Film: Coffret"}
- {id: 32, cat: Movies/DVD, desc: "Film: DVD-R"}
- {id: 33, cat: Movies/DVD, desc: "Film: DVDRIP"}
- {id: 36, cat: Movies/HD, desc: "Film: HD 720p"}
- {id: 35, cat: Movies/HD, desc: "Film: HD 1080P"}
- {id: 37, cat: Movies/HD, desc: "Film: HDRIP"}
- {id: 170, cat: Movies/HD, desc: "Film: HDTV"}
- {id: 172, cat: Movies/HD, desc: "Film: M-HD"}
- {id: 38, cat: Movies, desc: "Film: REMUX"}
- {id: 39, cat: Movies, desc: "Film: TVRIP"}
- {id: 41, cat: Movies/WEB-DL, desc: "Film: WEB-DL"}
- {id: 200, cat: Movies/WEB-DL, desc: "Film: WEB-RIP"}
- {id: 184, cat: Movies/BluRay, desc: "Film: VOSTFR bdrip"}
- {id: 185, cat: Movies/DVD, desc: "Film: VOSTFR.DVDrip"}
- {id: 186, cat: Movies/WEB-DL, desc: "Film: VOSTFR.WEBrip"}
- {id: 202, cat: Movies/WEB-DL, desc: "Film: VOSTFR-WebDL"}
- {id: 203, cat: Movies/BluRay, desc: "Film: VOSTFR-bluray"}
- {id: 59, cat: Console/3DS, desc: "Jeux: 3DS-DS"}
- {id: 60, cat: Console/Other, desc: "Jeux: ANDROID"}
- {id: 61, cat: Console/Other, desc: "Jeux: IOS-X"}
- {id: 62, cat: PC/Games, desc: "Jeux: PC"}
- {id: 63, cat: Console/PS4, desc: "Jeux: PS3-4"}
- {id: 64, cat: Console/PSP, desc: "Jeux: PSP-X"}
- {id: 65, cat: Console/WiiU, desc: "Jeux: WII-U"}
- {id: 66, cat: Console/Wii, desc: "Jeux: WII"}
- {id: 67, cat: Console/XBox, desc: "Jeux: XBOX"}
- {id: 68, cat: PC/Mobile-Android, desc: "Logiciel: ANDROID"}
- {id: 69, cat: PC/Mac, desc: "Logiciel: APPLE"}
- {id: 70, cat: PC/Mobile-iOS, desc: "Logiciel: IPHONE"}
- {id: 71, cat: PC/Mobile-Other, desc: "Logiciel: LINUX"}
- {id: 72, cat: PC/0day, desc: "Logiciel: WINDOWS"}
- {id: 7, cat: TV/Anime, desc: "Serie: Coffret-Anime"}
- {id: 197, cat: TV, desc: "Serie: EPISODE"}
- {id: 182, cat: TV/Anime, desc: "Serie: JAP-ANIM"}
- {id: 166, cat: TV/Documentary, desc: "Serie: SERIE Docu"}
- {id: 194, cat: TV/Documentary, desc: "Serie: DOCU.DIVERS"}
- {id: 195, cat: TV/Documentary, desc: "Serie: DOCU.EMISTV"}
- {id: 173, cat: TV/UHD, desc: "Serie: 4K"}
- {id: 174, cat: TV/UHD, desc: "Serie: 4k-lLIGHT"}
- {id: 85, cat: TV, desc: "Serie: Coffret"}
- {id: 86, cat: TV, desc: "Serie: DVD-R"}
- {id: 87, cat: TV, desc: "Serie : DVDRIP"}
- {id: 88, cat: TV/HD, desc: "Serie : HD 1080P"}
- {id: 89, cat: TV/HD, desc: "Serie: HD 720p"}
- {id: 90, cat: TV/HD, desc: "Serie: HDRIP"}
- {id: 175, cat: TV/HD, desc: "Serie: HDTV 720"}
- {id: 176, cat: TV/HD, desc: "Serie: HDTV 1080"}
- {id: 177, cat: TV/HD, desc: "Serie: M-HD"}
- {id: 91, cat: TV, desc: "Serie: REMUX"}
- {id: 92, cat: TV, desc: "Serie: TVRIP"}
- {id: 93, cat: TV/WEB-DL, desc: "Serie: WEBRIP"}
- {id: 178, cat: TV/WEB-DL, desc: "Serie: WEB-DL 720"}
- {id: 179, cat: TV/WEB-DL, desc: "Serie: WEB-DL 1080"}
- {id: 199, cat: TV/WEB-DL, desc: "Serie: WebDL"}
- {id: 188, cat: TV, desc: "Serie: VOSTFR.BDrip"}
- {id: 189, cat: TV, desc: "Serie: VOSTFR.DVDrip"}
- {id: 190, cat: TV/HD, desc: "Serie: VOSTFR.HDRIP"}
- {id: 191, cat: TV/WEB-DL, desc: "Serie: VOSTFR.WEBrip"}
- {id: 192, cat: TV/WEB-DL, desc: "Serie: VOSTFR.WEB-DL"}
- {id: 180, cat: TV, desc: "Serie: VOSTFR.COFFRET"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTi.FRENCH: MULTi.FRENCH
ENGLISH: ENGLISH
MULTi.ENGLISH: MULTi.ENGLISH
VOSTFR: VOSTFR
MULTi.VOSTFR: MULTi.VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: created
name: title
size: size
seeders: seeders
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: yes
error:
- selector: div.myFrame:contains("ACCESS_DENIED")
test:
path: index.php
selector: a[href="account-logout.php"]
download:
before:
path: list_thanks.php
inputs:
id: "{{ .DownloadUri.Query.id }}"
to: give
torrent: "{{ .DownloadUri.Query.id }}"
selectors:
- selector: a[href^="download.php?id="]
attribute: href
search:
paths:
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 all, 1 English, 2 French, 3 German, 4 Italian, 5 Japanese, 6 Spanish, 7 Russian, 8 multilang
lang: 0
# 0 all 1 notfree 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 both, 1 local, 2 external
inclexternal: 0
search: "{{ .Keywords }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# does not support imdbid search or return imdb link
keywordsfilters:
- name: re_replace
args: ["(\\w+)", " +$1"] # prepend + to each word
rows:
selector: table[class="ttable_headinner"] tr.rowners
fields:
category:
selector: td:first-child
attribute: torrents.php?cat
filters:
- name: regexp
args: (\d+)
title_phase1:
selector: a[href^="torrents-details.php?id="]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["&hit=1", ""] # avoid redirect
poster:
selector: a[onMouseover]
attribute: onMouseover
filters:
- name: regexp
args: src=(.+?)>
date:
selector: a[onMouseover]
attribute: onMouseover
# auto adjusted by site account profile
filters:
- name: regexp
args: "(\\d{2}-\\d{2}-\\d{4})"
- name: dateparse
args: "dd-MM-yyyy"
size:
selector: td:nth-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
grabs:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
":root:has(ul#root > font:contains(\"FreeLeech : ON\"))": 0 # GLobal Freeleech event
img[src="img/freeleech_star.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
# TorrentTrader 2.08

View File

@@ -1,75 +0,0 @@
---
id: libronube
name: Libronube
description: "Libronube is a Spanish Public tracker for EBOOKS"
language: es-ES
type: public
encoding: UTF-8
links:
- https://www.libronube.com/
caps:
categorymappings:
- {id: ebook, cat: Books, desc: "EBook"}
modes:
search: [q]
book-search: [q]
settings:
- name: ebook
type: select
label: Ebook Type
default: epub
options:
epub: EPUB
mobi: MOBI
pdf: PDF
download:
selectors:
- selector: "a[href*=\"magnet\"][href*=\"{{ .Config.ebook }}\"]"
attribute: href
filters:
- name: replace
args: ["http://demagnetize.link/?magnet=", ""]
- name: urldecode
search:
paths:
- path: dibros/
allowEmptyInputs: true
inputs:
q1: "{{ .Keywords }}"
sin_filtrar: on
rows:
selector: div.row[style^="margin-top"][style*="margin-bottom"]:first-of-type > div.ebookitem
fields:
category:
text: ebook
title:
selector: h1
details:
selector: a[href^="/descargar-"]
attribute: href
download:
selector: a[href^="/descargar-"]
attribute: href
poster:
selector: img.tapa
attribute: src
date:
text: now
size:
text: 512 MB
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,179 +0,0 @@
---
id: lilleskyorg
name: LilleSky.org
description: "LilleSky.org is a Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://lillesky.org/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "MOVIES"}
- {id: 20, cat: Movies/Foreign, desc: "MOVIES-FOREIGN"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 19, cat: TV/Foreign, desc: "TV-FOREIGN"}
- {id: 4, cat: PC, desc: "APPS"}
- {id: 5, cat: Audio, desc: "MUSIC"}
- {id: 6, cat: XXX, desc: "XXX"}
- {id: 7, cat: Console, desc: "GAMES"}
- {id: 8, cat: Books, desc: "EBOOKS"}
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://lillesky.org/\" target=\"_blank\">LilleSky.org</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
inputs: {} # TODO: remove in v10
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
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: 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
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
# 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.1.1

View File

@@ -1,126 +0,0 @@
---
id: limetorrentsclone
name: LimeTorrents clone
description: "LimeTorrents clone is a Public LimeTorrents clone for TV / MOVIES / GENERAL"
language: en-US
type: public
encoding: UTF-8
# changes to this indexer should also be made to limetorrents
links:
- https://www.limetorrents.to/
caps:
categorymappings:
- {id: "TV shows", cat: TV, desc: "TV shows"}
- {id: Movies, cat: Movies, desc: Movies}
- {id: Music, cat: Audio, desc: Music}
- {id: Games, cat: Console, desc: Games}
- {id: Applications, cat: PC/0day, desc: Applications}
- {id: Other, cat: Other, desc: Other}
- {id: Anime, cat: TV/Anime, desc: Anime}
- {id: E-books, cat: Books/EBook, desc: E-books}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: downloadlink
type: select
label: Download link
default: "magnet:"
options:
"http://itorrents.org/": iTorrents.org
"magnet:": magnet
- name: downloadlink2
type: select
label: Download link (fallback)
default: "http://itorrents.org/"
options:
"http://itorrents.org/": iTorrents.org
"magnet:": magnet
- name: info_download
type: info
label: About the Download links
default: As the .torrent download links on this site are known to fail from time to time, you can optionally set as a fallback an automatic alternate link.
- name: sort
type: select
label: Sort requested from site
default: date
options:
date: created
seeds: seeders
size: size
- name: info_8000
type: info
label: About LimeTorrents Categories
default: LimeTorrents only returns category <b>Other</b> in its <i>Keywordless</i> search results page.</br>To pass your apps' indexer TEST you will need to include the 8000(Other) category.
download:
# the .torrent url is on the on the details page
selectors:
- selector: a.csprite_dltorrent[href^="{{ .Config.downloadlink }}"]
attribute: href
- selector: a.csprite_dltorrent[href^="{{ .Config.downloadlink2 }}"]
attribute: href
search:
paths:
- path: "{{ if .Keywords }}search/all/{{ .Keywords }}/{{ .Config.sort }}/1/{{ else }}/latest100{{ end }}"
keywordsfilters:
- name: re_replace
args: ["S[0-9]{2}([^E]|$)", ""] # remove season tag without episode
rows:
selector: .table2 > tbody > tr[bgcolor]
fields:
title:
selector: div.tt-name > a[href^="/"]
attribute: href
filters:
- name: regexp
args: "/(.+?)-torrent-\\d+\\.html"
- name: re_replace
args: ["-", " "]
category_is_tv_show:
text: "{{ .Result.title }}"
filters:
- name: regexp
args: "\\b(S\\d+(?:E\\d+)?)\\b"
category:
selector: td:nth-child(2)
optional: true
default: "{{ if .Result.category_is_tv_show }}TV shows{{ else }}Other{{ end }}"
filters:
- name: regexp
args: " in (.+?)[.]?$"
details:
selector: div.tt-name > a[href^="/"]
attribute: href
download:
selector: div.tt-name > a[href^="/"]
attribute: href
date:
selector: td:nth-child(2)
filters:
- name: split
args: ["-", 0]
- name: replace
args: ["Last Month", "1 month ago"]
- name: replace
args: ["+", " ago"]
size:
selector: td:nth-child(3)
seeders:
selector: .tdseed
leechers:
selector: .tdleech
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,182 +0,0 @@
---
id: lusthive
name: LustHive
description: "LustHive is a Private Torrent Tracker for 3X"
language: en-US
type: private
encoding: UTF-8
links:
- https://lusthive.org/
caps:
categorymappings:
- {id: 1, cat: XXX, desc: "Amateur"}
- {id: 3, cat: XXX, desc: "Anal"}
- {id: 4, cat: XXX, desc: "Asian"}
- {id: 5, cat: XXX, desc: "BBW"}
- {id: 6, cat: XXX, desc: "BDSM"}
- {id: 7, cat: XXX, desc: "Big Ass"}
- {id: 8, cat: XXX, desc: "Big Tits"}
- {id: 9, cat: XXX, desc: "Black"}
- {id: 10, cat: XXX, desc: "Classic"}
- {id: 11, cat: XXX, desc: "Creampie"}
- {id: 12, cat: XXX, desc: "Cumshot"}
- {id: 13, cat: XXX, desc: "Fetish"}
- {id: 14, cat: XXX, desc: "Games"}
- {id: 15, cat: XXX, desc: "Gay / Bi"}
- {id: 16, cat: XXX, desc: "Hairy"}
- {id: 17, cat: XXX, desc: "Hardcore"}
- {id: 18, cat: XXX, desc: "HD"}
- {id: 19, cat: XXX, desc: "Hentai"}
- {id: 20, cat: XXX, desc: "Homemade"}
- {id: 21, cat: XXX, desc: "Interracial"}
- {id: 22, cat: XXX, desc: "Latina"}
- {id: 23, cat: XXX, desc: "Lesbian"}
- {id: 24, cat: XXX, desc: "Lingerie"}
- {id: 25, cat: XXX, desc: "Magazines"}
- {id: 26, cat: XXX, desc: "Manga"}
- {id: 27, cat: XXX, desc: "Masturbation"}
- {id: 28, cat: XXX, desc: "Mature"}
- {id: 29, cat: XXX, desc: "Oral"}
- {id: 30, cat: XXX, desc: "Orgy"}
- {id: 31, cat: XXX, desc: "Other"}
- {id: 32, cat: XXX, desc: "Pack"}
- {id: 33, cat: XXX, desc: "Parody"}
- {id: 34, cat: XXX, desc: "Paysite"}
- {id: 35, cat: XXX, desc: "Pictures"}
- {id: 36, cat: XXX, desc: "Piss"}
- {id: 46, cat: XXX, desc: "POV"}
- {id: 37, cat: XXX, desc: "Pregnant"}
- {id: 38, cat: XXX, desc: "Scat / Puke"}
- {id: 39, cat: XXX, desc: "Siterip"}
- {id: 40, cat: XXX, desc: "Softcore"}
- {id: 41, cat: XXX, desc: "Squirt"}
- {id: 42, cat: XXX, desc: "Straight"}
- {id: 2, cat: XXX, desc: "Teen"}
- {id: 43, cat: XXX, desc: "Transgender"}
- {id: 44, cat: XXX, desc: "Voyeur"}
- {id: 45, cat: XXX, desc: "VR"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: 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: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
cinfo: "2550|1350|24|-60"
iplocked: 0
keeploggedin: 1
error:
- selector: div.error
test:
path: /
selector: "#nav_userinfo"
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
title: "{{ .Keywords }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
action: advanced
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
rows:
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
fields:
category:
selector: a[href^="/torrents.php?filter_cat["]
attribute: href
filters:
- name: regexp
args: \[(\d+)\]
title:
selector: a[href^="/torrents.php?id="]
details:
selector: a[href^="/torrents.php?id="]
attribute: href
download:
selector: a[href^="/torrents.php?action=download&id="]
attribute: href
description_tags:
selector: div.tags
description:
case:
i.icon_torrent_okay: "Verified: {{ .Result.description_tags }}"
"*": "Unverified: {{ .Result.description_tags }}"
poster:
selector: td:nth-child(2) > script
filters:
- name: regexp
args: "src=\\\\\"(.*?)\\\\\""
- name: re_replace
args: ["\\\\(.)", "$1"]
- name: replace
args: ["/static/common/noartwork/noimage.png", ""]
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(5) > span
attribute: title
# auto adjusted by site account profile
filters:
- name: dateparse
args: "MMM dd yyyy, HH:mm"
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
span.icon[title*="Freeleech"]: 0
"img[alt=\"Freeleech\"]": 0
"*": 1
uploadvolumefactor:
case:
span.icon[title*="DoubleSeed"]: 2
"img[alt=\"DoubleSeed\"]": 2
"*": 1
minimumratio:
text: 0.5
# Luminance

View File

@@ -1,290 +0,0 @@
---
id: magico
name: Magico
description: "Magico (Trellas) is a GREEK Private Torrent Tracker for MOVIES / TV / GENERAL"
language: el-GR
type: private
encoding: UTF-8
links:
- https://trellas.net/
legacylinks:
- https://magico.info/
- https://magico.one/
- https://magico.club/
- https://magico.fun/
- https://trellas.info/
- https://trelas.club/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 84, cat: Movies, desc: "Movies New (2017, 2018)"}
- {id: 14, cat: Movies/SD, desc: "Movies DVDRip-BDRip-BRRip (up to 2016) FREE"}
- {id: 16, cat: Movies/SD, desc: "Movies (CAM) FREE"}
- {id: 17, cat: Movies/BluRay, desc: "Movies BLU-RAY"}
- {id: 44, cat: Movies, desc: "Movies Greek"}
- {id: 76, cat: Movies, desc: "Movies Documentaries"}
- {id: 82, cat: Movies, desc: "Movies Theater"}
- {id: 52, cat: TV, desc: "TV Series"}
- {id: 53, cat: TV/SD, desc: "TV Series Foreign"}
- {id: 70, cat: TV/HD, desc: "TV Series Foreign (720p)"}
- {id: 54, cat: TV, desc: "TV Series Greek"}
- {id: 86, cat: TV, desc: "TV Series Foreign Complete Seasons"}
- {id: 92, cat: TV, desc: "TV Series Foreign Complete Seasons (720p)"}
- {id: 87, cat: TV, desc: "TV Series Greek Complete Seasons"}
- {id: 63, cat: TV, desc: "TV Series Recreational"}
- {id: 83, cat: TV/Sport, desc: "TV Sports"}
- {id: 55, cat: Movies, desc: "Children"}
- {id: 38, cat: Movies, desc: "Children (Movies)"}
- {id: 39, cat: Movies, desc: "Children Subtitled (Movies)"}
- {id: 93, cat: Movies, desc: "Children (TV Series)"}
- {id: 94, cat: Movies, desc: "Children Subtitled (TV Series)"}
- {id: 45, cat: Movies, desc: "Children Anime"}
- {id: 98, cat: Movies, desc: "Children 3D"}
- {id: 64, cat: Movies, desc: "Children Music"}
- {id: 7, cat: Audio, desc: "Music Foreign"}
- {id: 21, cat: Audio, desc: "Music Foreign New Releases"}
- {id: 46, cat: Audio, desc: "Music Foreign Old Releases"}
- {id: 32, cat: Audio, desc: "Music Foreign Discographies"}
- {id: 20, cat: Audio, desc: "Music Foreign Collections"}
- {id: 102, cat: Audio, desc: "Music Foreign MAGICO Radio"}
- {id: 81, cat: Audio, desc: "Music Foreign Karaoke"}
- {id: 95, cat: Audio, desc: "Music Foreign Soundtrack"}
- {id: 47, cat: Audio, desc: "Music Greek"}
- {id: 48, cat: Audio, desc: "Music Greek New Releases"}
- {id: 49, cat: Audio, desc: "Music Greek Old Releases"}
- {id: 51, cat: Audio, desc: "Music Greek Discographies"}
- {id: 50, cat: Audio, desc: "Music Greek Collections"}
- {id: 101, cat: Audio, desc: "Music Greek MAGICO Radio"}
- {id: 97, cat: Audio, desc: "Music Greek Live Cd's"}
- {id: 57, cat: Audio, desc: "Music Greek Rebetika"}
- {id: 58, cat: Audio, desc: "Music Greek Primary"}
- {id: 59, cat: Audio, desc: "Music Greek Cretan"}
- {id: 60, cat: Audio, desc: "Music Greek Island"}
- {id: 62, cat: Audio, desc: "Music Greek Pontian"}
- {id: 80, cat: Audio, desc: "Music Greek Karaoke"}
- {id: 96, cat: Audio, desc: "Music Greek Soundtracks"}
- {id: 73, cat: Audio, desc: "Music Seasonal"}
- {id: 74, cat: Audio, desc: "Music Seasonal Xmas"}
- {id: 79, cat: Audio, desc: "Music Seasonal Easter"}
- {id: 75, cat: Audio, desc: "Music Seasonal Halloween"}
- {id: 78, cat: Audio, desc: "Music Seasonal Valentines"}
- {id: 33, cat: Books, desc: "Books"}
- {id: 41, cat: Books, desc: "Books Greek"}
- {id: 65, cat: Books, desc: "Books Comics"}
- {id: 43, cat: Books, desc: "Books Periodicals"}
- {id: 105, cat: Books, desc: "Books Audio"}
- {id: 72, cat: Books, desc: "Books Children"}
- {id: 66, cat: Books, desc: "Books Educational"}
- {id: 42, cat: Books, desc: "Books Foreign"}
- {id: 67, cat: Books, desc: "Books Photos"}
- {id: 6, cat: PC, desc: "Programs"}
- {id: 18, cat: PC/0day, desc: "Programs PC"}
- {id: 40, cat: PC/Mobile-Android, desc: "Programs Android"}
- {id: 19, cat: PC/Mac, desc: "Programs Mac"}
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 27, cat: PC/Games, desc: "Games PC"}
- {id: 68, cat: PC/Mobile-Android, desc: "Games Android"}
- {id: 88, cat: Other, desc: "Tutorials / Design / Accessories"}
- {id: 89, cat: Other, desc: "Tutorials Photoshop"}
- {id: 91, cat: Other, desc: "Tutorials Illustrator"}
- {id: 90, cat: Other, desc: "Tutorials After Effects"}
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
login:
path: ?p=home&pid=1
method: form
form: form#loginbox_form
submitpath: /ajax/login.php
inputs:
action: login
loginbox_membername: "{{ .Config.username }}"
loginbox_password: "{{ .Config.password }}"
loginbox_remember: 1
selectorinputs:
securitytoken:
selector: "script:contains(\"stKey: \")"
filters:
- name: regexp
args: "stKey: \"(.+?)\","
error:
- selector: ":contains(\"-ERROR-\")"
test:
path: ?p=torrents&pid=32
selector: a#logout
search:
paths:
- path: /
keywordsfilters:
- name: re_replace # add brackets to year on searchquery if missing
args: ["\\(*((19|20)\\d{2})\\)*", "($1)"]
- name: replace # use this as a workaround till #893 is implemented
args: ["Greys Anatomy", "Grey's Anatomy"]
- name: re_replace
args: ["[^\\w\\d\\(\\)]+", "%"]
inputs:
p: torrents
pid: 32
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
keywords: "{{ .Keywords }}"
# name, description, both, uploader
search_type: name
error:
- selector: div#show_error font
rows:
selector: "div#content > div.torrent-box[id^=\"torrent_\"]{{ if .Config.freeleech }}:has(img[title=\"No Record!\"]){{ else }}{{ end }}, tr:has(a[href*=\"?p=torrents\"][href*=\"&action=details\"]){{ if .Config.freeleech }}:has(img[title=\"No Record!\"]){{ else }}{{ end }}"
filters:
- name: andmatch
fields:
title:
selector: a[href*="?p=torrents"][href*="&action=details"]
filters:
- name: replace
args: ["Grey's Anatomy", "Greys Anatomy"]
category:
selector: a[href*="?p=torrents"][href*="&cid="]
attribute: href
filters:
- name: querystring
args: cid
details:
selector: a[href*="?p=torrents"][href*="&action=details"]
attribute: href
download:
selector: a[href*="?p=torrents"][href*="&action=download"]
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: a[rel="torrent_size"]
seeders:
selector: a[rel="torrent_seeders"]
leechers:
selector: a[rel="torrent_leechers"]
grabs:
selector: a[rel="times_completed"]
poster:
selector: a[rel="fancybox"]
attribute: href
description:
selector: div.torrentDetails > div:has(span.floatright)
downloadvolumefactor:
case:
"img[title=\"No Record!\"]": 0
"*": 1
uploadvolumefactor:
case:
"*": 1
date_day:
# Uploaded Yesterday at 20:12 by
selector: div.torrentOwner:not(:has(abbr.timeago)):contains("day"), div.torrentOwner:not(:has(abbr.timeago)):contains("σήμερα"), div.torrentOwner:not(:has(abbr.timeago)):contains("εχθές"), div.torrentOwner:not(:has(abbr.timeago)):contains("Δευτέρα"), div.torrentOwner:not(:has(abbr.timeago)):contains("Τρίτη"), div.torrentOwner:not(:has(abbr.timeago)):contains("Τετάρτη"), div.torrentOwner:not(:has(abbr.timeago)):contains("Πέμπτη"), div.torrentOwner:not(:has(abbr.timeago)):contains("Παρασκευή"), div.torrentOwner:not(:has(abbr.timeago)):contains("Σάββατο"), div.torrentOwner:not(:has(abbr.timeago)):contains("Κυριακή")
# auto adjusted by site account profile
optional: true
remove: span
filters:
- name: replace
args: ["Uploaded ", ""]
- name: replace
args: [" by", ""]
- name: replace
args: ["Ανέβηκε ", ""] # Uploaded
- name: replace
args: [" από", ""] # by
- name: replace
args: [" τον/την", ""] # him/her
- name: replace
args: ["στις ", "at "] # at
- name: replace
args: ["σήμερα", "Today"]
- name: replace
args: ["εχθές", "Yesterday"]
- name: replace
args: ["Δευτέρα", "Monday"]
- name: replace
args: ["Τρίτη", "Tuesday"]
- name: replace
args: ["Τετάρτη", "Wednesday"]
- name: replace
args: ["Πέμπτη", "Thursday"]
- name: replace
args: ["Παρασκευή", "Friday"]
- name: replace
args: ["Σάββατο", "Saturday"]
- name: replace
args: ["Κυριακή", "Sunday"]
- name: fuzzytime
date_year:
# 23-10-2021 22:59
selector: div.torrentOwner:not(:has(abbr.timeago)):contains("-")
# auto adjusted by site account profile
optional: true
remove: span
filters:
- name: replace
args: ["Uploaded ", ""]
- name: replace
args: [" by", ""]
- name: replace
args: ["at ", ""]
- name: replace
args: ["Ανέβηκε ", ""] # Uploaded
- name: replace
args: [" από", ""] # by
- name: replace
args: [" τον/την", ""] # him/her
- name: replace
args: ["στις ", ""] # at
- name: dateparse
args: "dd-MM-yyyy HH:mm"
date_other:
selector: td.torrent_name
# auto adjusted by site account profile
optional: true
remove: div, a, span
filters:
- name: replace
args: ["Uploaded ", ""]
- name: replace
args: [" by", ""]
- name: replace
args: ["at ", ""]
- name: dateparse
args: "dd-MM-yyyy HH:mm"
date_unix:
selector: div.torrentOwner > abbr.timeago
attribute: data-time
optional: true
date:
text: "{{ if or .Result.date_day .Result.date_year .Result.date_other .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_other .Result.date_unix }}{{ else }}now{{ end }}"
# TSUE 2.2

View File

@@ -1,180 +0,0 @@
---
id: mendigosdaweb
name: Mendigos da WEB
description: "Mendigos da WEB is a PORTUGUESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: pt-PT
type: private
encoding: UTF-8
links:
- https://mendigosdaweb.cc/
caps:
categorymappings:
- {id: 6, cat: Other, desc: "Cursos"}
- {id: 7, cat: Books/EBook, desc: "Livros"}
- {id: 8, cat: Audio/Audiobook, desc: "AudioBooks"}
- {id: 9, cat: Other, desc: "Material de Apoio"}
- {id: 1, cat: Movies, desc: "Filmes"}
- {id: 2, cat: TV, desc: "TV Séries"}
- {id: 10, cat: Console, desc: "Jogos"}
- {id: 5, cat: PC, desc: "Aplicativos"}
- {id: 12, cat: XXX, desc: "Adulto"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
book-search: [q]
music-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://mendigosdaweb.cc/\" target=\"_blank\">Mendigos da WEB</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: 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: "Your account will be considered inactive if it goes more than 90 days without you logging into the website. After 90 days of inactivity (that is, 90 days without logging in) it will be deleted from the tracker. Attention: The groups that suffer due to inactivity are: Homeless and Leech."
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 }}."
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:
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
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)^None$", ""]
- 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 }}"
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
# 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 7.1.0

View File

@@ -1,178 +0,0 @@
---
id: metalwrks
name: METALWRKS
description: "METALWRKS is an AUSTRALIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-AU
type: private
encoding: UTF-8
links:
- https://metalworks.lol/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 4, cat: Audio, desc: "Music"}
- {id: 3, cat: Console, desc: "Games"}
- {id: 5, cat: PC, desc: "Software"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-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://metalworks.lol/\" target=\"_blank\">METALWRKS</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: "Accounts that are inactive for more than 60 days may be disabled."
login:
path: /api/torrents
method: get
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
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: 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
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:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 8.1.3

View File

@@ -1,134 +0,0 @@
---
id: movietorrentz
name: Movie-Torrentz
description: "Movie-Torrentz is a Private Torrent Tracker for MOVIES / TV"
language: en-US
type: private
encoding: UTF-8
links:
- https://m2g.link/
caps:
categorymappings:
- {id: 106, cat: Movies, desc: "m2g: m2g"}
- {id: 102, cat: PC, desc: "Misc: Programs"}
- {id: 107, cat: Movies/SD, desc: "Movies: Xvid"}
- {id: 108, cat: Movies/DVD, desc: "Movies: DVDR"}
- {id: 109, cat: Movies, desc: "Movies: Packs"}
- {id: 110, cat: Movies/HD, desc: "Movies: MP4"}
- {id: 112, cat: Movies/SD, desc: "Movies: 480p"}
- {id: 113, cat: Movies/BluRay, desc: "Movies: BluRay / x264"}
- {id: 126, cat: Movies/HD, desc: "Movies: x265"}
- {id: 127, cat: Movies/UHD, desc: "Movies: 4K"}
- {id: 114, cat: TV/SD, desc: "TV: XviD"}
- {id: 115, cat: TV/HD, desc: "TV: X264"}
- {id: 116, cat: TV, desc: "TV: Packs"}
- {id: 128, cat: TV/HD, desc: "TV: x265"}
- {id: 103, cat: Movies, desc: "ViP3R: ViP3R"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: 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: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: yes
error:
- selector: div.myBlock:contains("Access Denied")
test:
path: index.php
selector: a[href="account-logout.php"]
search:
paths:
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 dead, 2 onlydead
incldead: 1
# 0 any, 1 english, etc
lang: 0
# 0 any, 1 notfree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# does not support imdbid searching
rows:
selector: tr.t-row
fields:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="]
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="torrents-details.php?id="]:not(a[onmouseover*="images/nocover.jpg"])
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
date:
text: now
size:
selector: td:nth-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
downloadvolumefactor:
case:
img[src="images/free.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.5
# TorrentTrader

View File

@@ -1,169 +0,0 @@
---
id: movieworld
name: MovieWorld
description: "MovieWorld (Flicker) is a Semi-Private Torrent Tracker for MOVIES / TV / 3X"
language: en-US
type: semi-private
encoding: UTF-8
links:
- https://movieworld.pics/
caps:
categorymappings:
- {id: 37, cat: Movies, desc: "Freeleech"}
- {id: 14, cat: Movies/WEB-DL, desc: "Movie/WeBRip"}
- {id: 5, cat: Movies/UHD, desc: "Movie/4K Rip"}
- {id: 7, cat: Movies/BluRay, desc: "Movie/BluRay Rip"}
- {id: 34, cat: Movies, desc: "Movie/Other"}
- {id: 15, cat: Movies, desc: "Movie/Packs"}
- {id: 20, cat: Movies/SD, desc: "Movie/CAM/HDRip"}
- {id: 21, cat: XXX, desc: "Movie/XXX"}
- {id: 28, cat: TV, desc: "Tv Packs"}
- {id: 31, cat: TV, desc: "Tv Mini Series"}
- {id: 30, cat: TV/HD, desc: "Tv Episodes"}
- {id: 26, cat: TV/Sport, desc: "Tv Sport"}
- {id: 41, cat: Movies, desc: "Freeleech"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-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: 3
options:
3: created
5: seeders
4: size
2: title
- name: type
type: select
label: Order requested from site
default: 2
options:
2: desc
1: asc
- name: info
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.
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# https://movieworld.pics/index.php?page=torrents&search=&category=0&active=0
- path: index.php
inputs:
page: torrents
search: "{{ .Keywords }}"
category: "{{ range .Categories }}{{.}};{{end}}"
# 0 filename, 1 file&descr, 2 descr, 3 uploaders, 18 genre, 4 imdb, 5 gold, 6 silver, 7 bronze, 8-17 upload multiplier 1x-10x
# note the options are exclusive, so searching for gold means the search keywords are ignored
options: 0
# 0 all, 1 active only, 2 dead only
active: 0
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
# does not support imdbid search and does not return imdb link in results, does not support Genre search or return them in results.
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: "table.lista > tbody > tr:has(a[href^=\"download.php?id=\"]):not(:has(a[href^=\"index.php?page=userdetails\"])){{ if .Config.freeleech }}:has(img[src$=\"gold.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
title_torrent:
selector: a[href^="download.php?id="]
attribute: href
filters:
- name: querystring
args: f
- name: htmldecode
- name: re_replace
args: ["(?i)\\.torrent$", ""]
title_text:
selector: a[href^="index.php?page=torrent-details&id="]
title:
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
poster:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
- name: replace
args: ["torrentimg/nocover.jpg", ""]
details:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
date:
selector: td:has(a[href^="download.php?id="]) ~ td ~ td
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy"
seeders:
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td
leechers:
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td ~ td
grabs:
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td ~ td ~ td
size:
selector: "td:has(a[href^=\"download.php?id=\"]) ~ td ~ td ~ td ~ td ~ td ~ td"
downloadvolumefactor:
case:
img[src="images/gold.gif"]: 0
img[src="images/silver.gif"]: 0.5
img[src="images/bronze.gif"]: 0.75
"*": 1
uploadvolumefactor:
case:
img[src="images/2x.gif"]: 2
img[src="images/3x.gif"]: 3
img[src="images/4x.gif"]: 4
img[src="images/5x.gif"]: 5
img[src="images/6x.gif"]: 6
img[src="images/7x.gif"]: 7
img[src="images/8x.gif"]: 8
img[src="images/9x.gif"]: 9
img[src="images/10x.gif"]: 10
"*": 1
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# xbtitFM v4.1.28

View File

@@ -1,222 +0,0 @@
---
id: mteamtp
name: M-Team - TP
description: "M-Team TP (MTTP) is a CHINESE Private Torrent Tracker for HD MOVIES / TV / 3X"
language: zh-CN
type: private
encoding: UTF-8
requestDelay: 5
links:
- https://kp.m-team.cc/
- https://tp.m-team.cc/
- https://pt.m-team.cc/
caps:
categorymappings:
- {id: 401, cat: Movies/SD, desc: "Movie(電影)/SD", default: true}
- {id: 419, cat: Movies/HD, desc: "Movie(電影)/HD", default: true}
- {id: 420, cat: Movies/DVD, desc: "Movie(電影)/DVDiSo", default: true}
- {id: 421, cat: Movies/BluRay, desc: "Movie(電影)/Blu-Ray", default: true}
- {id: 439, cat: Movies/Other, desc: "Movie(電影)/Remux", default: true}
- {id: 403, cat: TV/SD, desc: "TV Series(影劇/綜藝)/SD", default: true}
- {id: 402, cat: TV/HD, desc: "TV Series(影劇/綜藝)/HD", default: true}
- {id: 435, cat: TV/SD, desc: "TV Series(影劇/綜藝)/DVDiSo", default: true}
- {id: 438, cat: TV/HD, desc: "TV Series(影劇/綜藝)/BD", default: true}
- {id: 404, cat: TV/Documentary, desc: "紀錄教育", default: true}
- {id: 405, cat: TV/Anime, desc: "Anime(動畫)", default: true}
- {id: 407, cat: TV/Sport, desc: "Sports(運動)", default: true}
- {id: 422, cat: PC/0day, desc: "Software(軟體)", default: true}
- {id: 423, cat: PC/Games, desc: "PCGame(PC遊戲)", default: true}
- {id: 427, cat: Books, desc: "eBook(電子書)", default: true}
- {id: 409, cat: Other, desc: "Misc(其他)", default: true}
# music
- {id: 406, cat: Audio/Video, desc: "MV(演唱)", default: true}
- {id: 408, cat: Audio/Other, desc: "Music(AAC/ALAC)", default: true}
- {id: 434, cat: Audio, desc: "Music(無損)", default: true}
# adult
- {id: 410, cat: XXX, desc: "AV(有碼)/HD Censored", default: false}
- {id: 429, cat: XXX, desc: "AV(無碼)/HD Uncensored", default: false}
- {id: 424, cat: XXX, desc: "AV(有碼)/SD Censored", default: false}
- {id: 430, cat: XXX, desc: "AV(無碼)/SD Uncensored", default: false}
- {id: 426, cat: XXX, desc: "AV(無碼)/DVDiSo Uncensored", default: false}
- {id: 437, cat: XXX, desc: "AV(有碼)/DVDiSo Censored", default: false}
- {id: 431, cat: XXX, desc: "AV(有碼)/Blu-Ray Censored", default: false}
- {id: 432, cat: XXX, desc: "AV(無碼)/Blu-Ray Uncensored", default: false}
- {id: 436, cat: XXX, desc: "AV(網站)/0Day", default: false}
- {id: 425, cat: XXX, desc: "IV(寫真影集)/Video Collection", default: false}
- {id: 433, cat: XXX, desc: "IV(寫真圖集)/Picture Collection", default: false}
- {id: 411, cat: XXX, desc: "H-Game(遊戲)", default: false}
- {id: 412, cat: XXX, desc: "H-Anime(動畫)", default: false}
- {id: 413, cat: XXX, desc: "H-Comic(漫畫)", default: false}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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_title
type: info
label: About Titles
default: For best results, disable the torrent name tooltip in <b>User CP/Tracker Settings/Torrents Page</b>. Otherwise long release names will be cut off.
- name: info_download_link
type: info
label: About Download Links
default: For best results, you must enable the <b>Download icon</b> in <b>User CP/Tracker Settings/Torrents Page</b>.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("登录失败"))
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.toolbox:contains("錯誤")
- selector: td.toolbox:contains("Error")
- selector: td.toolbox:contains("限制登")
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
categories: [401, 419, 420, 421, 439, 403, 402, 435, 438, 404, 405, 407, 422, 423, 427, 409]
- path: adult.php
categories: [410, 429, 424, 430, 426, 437, 431, 432, 436, 425, 433, 411, 412, 413]
- path: music.php
categories: [406, 408, 434]
allowEmptyInputs: true
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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, 3 uploader, 4 imdb url
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title_default:
# shortened for long release names
selector: a[href^="details.php?id="] > b
title:
# not available if IMDB tooltips are turned on
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[alt="torrent thumbnail"][src]
attribute: src
filters:
- name: replace
args: ["pic/nopic.jpg", ""]
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td.rowfollow:nth-last-child(6)
grabs:
selector: td.rowfollow:nth-last-child(3)
seeders:
selector: td.rowfollow:nth-last-child(5)
leechers:
selector: td.rowfollow:nth-last-child(4)
date_added:
selector: td.rowfollow:nth-last-child(7) > span[title]
optional: true
attribute: title
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_elapsed:
selector: td.rowfollow:nth-last-child(7):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 }}"
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
minimumratio:
text: 1
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP Standard v1.5 Beta 4

View File

@@ -1,225 +0,0 @@
---
id: mteamtp2fa
name: M-Team - TP (2FA)
description: "This indexer uses a cookie login for M-Team TP (MTTP) for those that want to use 2FA"
language: zh-CN
type: private
encoding: UTF-8
requestDelay: 5
links:
- https://kp.m-team.cc/
- https://tp.m-team.cc/
- https://pt.m-team.cc/
caps:
categorymappings:
- {id: 401, cat: Movies/SD, desc: "Movie(電影)/SD", default: true}
- {id: 419, cat: Movies/HD, desc: "Movie(電影)/HD", default: true}
- {id: 420, cat: Movies/DVD, desc: "Movie(電影)/DVDiSo", default: true}
- {id: 421, cat: Movies/BluRay, desc: "Movie(電影)/Blu-Ray", default: true}
- {id: 439, cat: Movies/Other, desc: "Movie(電影)/Remux", default: true}
- {id: 403, cat: TV/SD, desc: "TV Series(影劇/綜藝)/SD", default: true}
- {id: 402, cat: TV/HD, desc: "TV Series(影劇/綜藝)/HD", default: true}
- {id: 435, cat: TV/SD, desc: "TV Series(影劇/綜藝)/DVDiSo", default: true}
- {id: 438, cat: TV/HD, desc: "TV Series(影劇/綜藝)/BD", default: true}
- {id: 404, cat: TV/Documentary, desc: "紀錄教育", default: true}
- {id: 405, cat: TV/Anime, desc: "Anime(動畫)", default: true}
- {id: 407, cat: TV/Sport, desc: "Sports(運動)", default: true}
- {id: 422, cat: PC/0day, desc: "Software(軟體)", default: true}
- {id: 423, cat: PC/Games, desc: "PCGame(PC遊戲)", default: true}
- {id: 427, cat: Books, desc: "eBook(電子書)", default: true}
- {id: 409, cat: Other, desc: "Misc(其他)", default: true}
# music
- {id: 406, cat: Audio/Video, desc: "MV(演唱)", default: true}
- {id: 408, cat: Audio/Other, desc: "Music(AAC/ALAC)", default: true}
- {id: 434, cat: Audio, desc: "Music(無損)", default: true}
# adult
- {id: 410, cat: XXX, desc: "AV(有碼)/HD Censored", default: false}
- {id: 429, cat: XXX, desc: "AV(無碼)/HD Uncensored", default: false}
- {id: 424, cat: XXX, desc: "AV(有碼)/SD Censored", default: false}
- {id: 430, cat: XXX, desc: "AV(無碼)/SD Uncensored", default: false}
- {id: 426, cat: XXX, desc: "AV(無碼)/DVDiSo Uncensored", default: false}
- {id: 437, cat: XXX, desc: "AV(有碼)/DVDiSo Censored", default: false}
- {id: 431, cat: XXX, desc: "AV(有碼)/Blu-Ray Censored", default: false}
- {id: 432, cat: XXX, desc: "AV(無碼)/Blu-Ray Uncensored", default: false}
- {id: 436, cat: XXX, desc: "AV(網站)/0Day", default: false}
- {id: 425, cat: XXX, desc: "IV(寫真影集)/Video Collection", default: false}
- {id: 433, cat: XXX, desc: "IV(寫真圖集)/Picture Collection", default: false}
- {id: 411, cat: XXX, desc: "H-Game(遊戲)", default: false}
- {id: 412, cat: XXX, desc: "H-Anime(動畫)", default: false}
- {id: 413, cat: XXX, desc: "H-Comic(漫畫)", default: false}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
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: 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>"
- 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_title
type: info
label: About Titles
default: For best results, disable the torrent name tooltip in <b>User CP/Tracker Settings/Torrents Page</b>. Otherwise long release names will be cut off.
- name: info_download_link
type: info
label: About Download Links
default: For best results, you must enable the <b>Download icon</b> in <b>User CP/Tracker Settings/Torrents Page</b>.
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
categories: [401, 419, 420, 421, 439, 403, 402, 435, 438, 404, 405, 407, 422, 423, 427, 409]
- path: adult.php
categories: [410, 429, 424, 430, 426, 437, 431, 432, 436, 425, 433, 411, 412, 413]
- path: music.php
categories: [406, 408, 434]
allowEmptyInputs: true
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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, 3 uploader, 4 imdb url
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
headers:
User-Agent: ["{{ .Config.useragent }}"]
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title_default:
# shortened for long release names
selector: a[href^="details.php?id="] > b
title:
# not available if IMDB tooltips are turned on
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[alt="torrent thumbnail"][src]
attribute: src
filters:
- name: replace
args: ["pic/nopic.jpg", ""]
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td.rowfollow:nth-last-child(6)
grabs:
selector: td.rowfollow:nth-last-child(3)
seeders:
selector: td.rowfollow:nth-last-child(5)
leechers:
selector: td.rowfollow:nth-last-child(4)
date_added:
selector: td.rowfollow:nth-last-child(7) > span[title]
optional: true
attribute: title
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_elapsed:
selector: td.rowfollow:nth-last-child(7):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 }}"
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
minimumratio:
text: 1
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP Standard v1.5 Beta 4

View File

@@ -1,70 +0,0 @@
---
id: myporno
name: Myporno
description: "Myporno is a RUSSIAN Public tracker for 3X"
language: ru-RU
type: public
encoding: UTF-8
links:
- https://myporno.top/
caps:
categorymappings:
- {id: XXX, cat: XXX, desc: XXX}
modes:
search: [q]
settings: []
download:
selectors:
- selector: div#download > a[href^="magnet:"]
attribute: href
- selector: div#download > a[href$=".torrent"]
attribute: href
search:
paths:
# https://myporno.top//index.php?do=search&subaction=search&story=blonde&submit=search+by+name
- path: index.php
inputs:
do: search
subaction: search
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
submit: "search by name"
rows:
selector: tr.gai
fields:
category:
text: XXX
title:
selector: td:nth-child(2) > a:last-of-type
details:
selector: td:nth-child(2) > a:last-of-type
attribute: href
download:
selector: td:nth-child(2) > a:last-of-type
attribute: href
date:
selector: td:first-child
filters:
- name: regexp
args: "(\\d{1,2}-\\d{2}-\\d{4})"
- name: append
args: " +03:00" # MSK
- name: dateparse
args: "d-MM-yyyy zzz"
size:
selector: td:nth-child(3)
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -1,66 +0,0 @@
---
id: nextjav
name: NextJAV
description: "NextJAV is a Public tracker for Asian 3X (JAV)"
language: en-US
type: public
encoding: UTF-8
requestDelay: 2
links:
- https://nextjav.com/
caps:
categories:
XXX: XXX
modes:
search: [q]
settings: []
download:
selectors:
- selector: a.btn-download
attribute: href
search:
paths:
- path: "{{ if .Keywords }}search/torrent?torrentsearch={{ .Keywords }}{{ else }}{{ end }}"
rows:
selector: div.status-publish
fields:
category:
text: XXX
title:
selector: a[href^="/torrent/detail/"]
attribute: href
filters:
- name: split
args: ["/", 3]
details:
selector: a[href^="/torrent/detail/"]
attribute: href
download:
selector: a[href^="/torrent/detail/"]
attribute: href
poster:
selector: img
attribute: src
date:
text: now
size:
selector: h2
filters:
- name: regexp
args: (\d+\.\d+ GB)$
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

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