fix prowlarr
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
Reference in New Issue
Block a user