Updated mock arr container names
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
---
|
||||
radarr:
|
||||
- name: Movies
|
||||
host: radarr
|
||||
host: radarr-mock
|
||||
port: 7878
|
||||
api_token: 2374332474216e6720407021206b6579
|
||||
sonarr:
|
||||
- name: TV Shows
|
||||
host: sonarr
|
||||
host: sonarr-mock
|
||||
port: 8989
|
||||
api_token: 08717304eb94465f81c5129bb46cc2f9
|
||||
|
||||
BIN
Binary file not shown.
@@ -6,12 +6,12 @@ language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://0magnet.co/
|
||||
- https://13mag.net/
|
||||
- https://16mag.net/
|
||||
legacylinks:
|
||||
- https://0magnet.com/
|
||||
- https://9mag.net/
|
||||
- https://0magnet.co/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -42,7 +42,7 @@ search:
|
||||
paths:
|
||||
- path: search
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}.{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(td)
|
||||
|
||||
@@ -12,14 +12,7 @@ links:
|
||||
- https://1337x.st/
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://x1337x.cc/
|
||||
- https://1337x.unblockninja.com/
|
||||
- https://1337x.ninjaproxy1.com/
|
||||
- https://1337x.proxyninja.org/
|
||||
- https://1337x.proxyninja.net/
|
||||
- https://1337x.torrentbay.st/
|
||||
- https://1337x.torrentsbay.org/
|
||||
legacylinks:
|
||||
- https://1337x.is/
|
||||
- https://1337x.gd/
|
||||
@@ -27,6 +20,13 @@ legacylinks:
|
||||
- https://1337x.abcproxy.org/
|
||||
- https://1337x.so/
|
||||
- https://1337x.unblockit.download/
|
||||
- https://1337x.unblockninja.com/ # keyword search not working
|
||||
- https://1337x.ninjaproxy1.com/ # keyword search not working
|
||||
- https://1337x.proxyninja.org/ # keyword search not working
|
||||
- https://1337x.proxyninja.net/ # keyword search not working
|
||||
- https://1337x.torrentbay.st/ # keyword search not working
|
||||
- https://1337x.torrentsbay.org/ # keyword search not working
|
||||
- https://x1337x.se/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -120,6 +120,13 @@ caps:
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- name: uploader
|
||||
type: text
|
||||
label: Filter by Uploader
|
||||
- name: info_uploader
|
||||
type: info
|
||||
label: About filtering by Uploader
|
||||
default: "You can filter by Uploader by entering a Case Sensitive username, or leave empty to get all results.<br>Note: this is the username of the Uploader and not the Groupname that often show up at the end of 1337x titles, eg -GalaxyRG."
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
- name: downloadlink
|
||||
@@ -177,7 +184,7 @@ search:
|
||||
args: ["\\bS(20\\d{2})\\b", "$1"]
|
||||
|
||||
rows:
|
||||
selector: tr:has(a[href^="/torrent/"])
|
||||
selector: "tr:has(a[href^=\"/torrent/\"]){{ if .Config.uploader }}:has(td[class^=\"coll-5\"]:contains({{ .Config.uploader }})){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
title_default:
|
||||
@@ -273,6 +280,10 @@ search:
|
||||
selector: td[class^="coll-2"]
|
||||
leechers:
|
||||
selector: td[class^="coll-3"]
|
||||
_username:
|
||||
selector: td[class^="coll-5"]
|
||||
description:
|
||||
text: "Uploader: {{ .Result._username }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -0,0 +1,185 @@
|
||||
---
|
||||
id: 13city
|
||||
name: 13City
|
||||
description: "13City is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://13city.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "电影/Movies"}
|
||||
- {id: 402, cat: TV, desc: "电视剧/TVSeries"}
|
||||
- {id: 403, cat: TV, desc: "综艺/TV Shows"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫/Animations"}
|
||||
- {id: 406, cat: Audio/Video, desc: "演唱会、MV/Music Videos"}
|
||||
- {id: 408, cat: Audio, desc: "音乐/Music"}
|
||||
- {id: 409, cat: Books/EBook, desc: "电子书/E-book"}
|
||||
- {id: 409, cat: Audio/Audiobook, desc: "有声读物/A-book"}
|
||||
- {id: 413, cat: TV/Documentary, desc: "纪录片/Documentary"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
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: 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>If there is no valid traffic within 7 days of registration (participation in the calculation of sharing rate), the account will be blocked</li><li>After the level is reduced to \"Peasant\", if the sharing rate is not improved within 7 days, the account will be blocked</li><li>Long-term non-login:<ul>- UnParked account: 60 consecutive days of non-login → banned</ul><ul>- Parked account: 180 consecutive days of non-login → banned</ul><ul>- Nexus Master and above levels are not subject to long-term non-login ban restrictions</ul></li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
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, 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)
|
||||
optional: true
|
||||
default: 512MB
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
optional: true
|
||||
default: 0
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
optional: true
|
||||
default: 0
|
||||
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: 2.0
|
||||
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.9.10 2025-10-30
|
||||
@@ -5,23 +5,41 @@ description: "1ptbar is a CHINESE Private Torrent Tracker for MOVIES / TV / E-LE
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://1ptba.com/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movie(電影)"}
|
||||
- {id: 402, cat: TV, desc: "TV Series(電視影劇)"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows(電視綜藝)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries(紀錄教育)"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations(卡通動漫)"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos(音樂短片/演唱會)"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(體育賽事)"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio(高品质音频)"}
|
||||
- {id: 410, cat: PC/0day, desc: "Software(軟體)"}
|
||||
- {id: 411, cat: PC/Games, desc: "Games(電子遊戲)"}
|
||||
- {id: 412, cat: Books/EBook, desc: "eBook(電子書)"}
|
||||
- {id: 409, cat: Other, desc: "Misc(其他)"}
|
||||
- {id: 401, cat: Movies, desc: "Movie(電影)", 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/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: 410, cat: PC/0day, desc: "Software(軟體)", default: true}
|
||||
- {id: 411, cat: PC/Games, desc: "Games(電子遊戲)", default: true}
|
||||
- {id: 412, cat: Books/EBook, desc: "eBook(電子書)", default: true}
|
||||
- {id: 409, cat: Other, desc: "Misc(其他)", default: true}
|
||||
- {id: 610, cat: XXX/x264, desc: "AV(有碼)/HD Censored", default: false}
|
||||
- {id: 611, cat: XXX/x264, desc: "AV(無碼)/HD Uncensored", default: false}
|
||||
- {id: 612, cat: XXX/SD, desc: "AV(有碼)/SD Censored", default: false}
|
||||
- {id: 613, cat: XXX/SD, desc: "AV(無碼)/SD Uncensored", default: false}
|
||||
- {id: 614, cat: XXX/DVD, desc: "AV(無碼)/DVDiSo Uncensored", default: false}
|
||||
- {id: 615, cat: XXX/DVD, desc: "AV(有碼)/DVDiSo Censored", default: false}
|
||||
- {id: 616, cat: XXX/UHD, desc: "AV(有碼)/Blu-Ray Censored", default: false}
|
||||
- {id: 617, cat: XXX/UHD, desc: "AV(無碼)/Blu-Ray Uncensored", default: false}
|
||||
- {id: 618, cat: XXX/Pack, desc: "AV(網站)/0Day", default: false}
|
||||
- {id: 619, cat: XXX/Pack, desc: "IV(寫真影集)/Video Collection", default: false}
|
||||
- {id: 620, cat: XXX/ImageSet, desc: "IV(寫真圖集)/Picture Collection", default: false}
|
||||
- {id: 621, cat: XXX/Other, desc: "H-Game(遊戲)", default: false}
|
||||
- {id: 622, cat: XXX/Other, desc: "H-Anime(動畫)", default: false}
|
||||
- {id: 623, cat: XXX/Other, desc: "H-Comic(漫畫)", default: false}
|
||||
- {id: 624, cat: XXX/Other, desc: "Adult film(成人電影)", default: false}
|
||||
- {id: 625, cat: XXX/Other, desc: "AV(Gay)/HD", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -74,6 +92,10 @@ settings:
|
||||
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 XXX categories by users below this class will result in search errors."
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -101,6 +123,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 410, 411, 412, 409]
|
||||
- path: special.php
|
||||
categories: [610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625]
|
||||
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 }}"
|
||||
@@ -196,4 +221,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.13 2024-07-23
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -18,9 +18,7 @@ caps:
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio"}
|
||||
- {id: 410, cat: PC, desc: "Software"}
|
||||
- {id: 411, cat: Books, desc: "Documents"}
|
||||
- {id: 412, cat: PC/Games, desc: "Games"}
|
||||
- {id: 409, cat: Other, desc: "Misc"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -30,12 +28,11 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -68,23 +65,10 @@ settings:
|
||||
default: "Cherish your account. Inactive accounts will be deleted based on the following provisions:<ol><li>Nexus Master or later will not be deleted account.</li><li>Veteran User or higher will not be deleted if temporarily locked (at User Settings).</li><li>Temporarily locked accounts will be deleted if not logged in within 90 days.</li><li>Accounts that are not temporarily locked will be deleted if they do not log in within 60 days.</li><li>Accounts with no storage for uploads and downloads will be deleted if they do not log in within 30 days or have registered within 14 days.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
method: cookie
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("Đăng nhập thất bại!")) # Login failed!
|
||||
- selector: td.embedded:has(h2:contains("Thất bại")) # Failure (captcha)
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -101,7 +85,7 @@ search:
|
||||
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
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
@@ -112,23 +96,23 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
selector: a[href*="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href*="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
selector: a[title][href*="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
@@ -138,7 +122,7 @@ search:
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(5) > span[title]
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -148,7 +132,7 @@ search:
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(5):not(:has(span))
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -158,13 +142,13 @@ search:
|
||||
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(6)
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(9)
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -180,9 +164,9 @@ search:
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
description:
|
||||
selector: td:nth-child(3)
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP 3ChangTrai v3.0 2020-04-30
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -18,8 +18,10 @@ caps:
|
||||
- {id: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
|
||||
- {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
|
||||
- {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
|
||||
- {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"}
|
||||
- {id: 32, cat: Movies, desc: "Bluray MKV Remux"}
|
||||
- {id: 22, cat: Movies, desc: "Movies Home Conversions"}
|
||||
- {id: 32, cat: Movies, desc: "Movies Bluray MKV Remux"}
|
||||
- {id: 38, cat: Movies, desc: "Movies Studio Conversion"}
|
||||
- {id: 39, cat: Movies/3D, desc: "Movies VR 360"}
|
||||
- {id: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
|
||||
- {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
|
||||
- {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
|
||||
@@ -69,6 +71,10 @@ settings:
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactivity grace period is three months which means that if you do not log in to the 3Dtorrents web site for 90 days, your account will be deleted. If you are VIP your will stay until the VIP period is over."
|
||||
- name: info_captcha
|
||||
type: info
|
||||
label: About Captcha
|
||||
default: "Note that the captcha on the 3Dtorrents login page is Case Sensitive."
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
|
||||
@@ -1,20 +1,32 @@
|
||||
---
|
||||
id: 52bt
|
||||
name: 52BT
|
||||
description: "52BT is a CHINESE Public tracker for TV / MOVIES / MUSIC / GENERAL"
|
||||
description: "52BT is a CHINESE Public tracker for MOVIES / TV / MUSIC / GENERAL"
|
||||
language: zh-CN
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
# Send any content to 52btbtbt@gmail.com to get the latest address. or visit https://521.52btbt.cyou/
|
||||
# Send any content to 52btbtbt@gmail.com to get the latest address. or visit https://52btbt.icu/
|
||||
- https://www.529069.xyz/
|
||||
- https://www.529067.xyz/
|
||||
legacylinks:
|
||||
- https://www.529052.xyz/
|
||||
- https://www.529053.xyz/
|
||||
- https://www.529055.xyz/
|
||||
legacylinks:
|
||||
- https://529050.xyz/
|
||||
- https://529048.xyz/
|
||||
- https://529049.xyz/
|
||||
- https://www.529052.xyz/
|
||||
- https://www.529057.xyz/
|
||||
- https://www.529056.xyz/
|
||||
- https://www.529058.xyz/
|
||||
- https://www.52bt059.buzz/
|
||||
- https://www.529060.xyz/
|
||||
- https://www.529061.xyz/
|
||||
- https://www.529059.xyz/
|
||||
- https://www.529062.xyz/
|
||||
- https://www.529063.xyz/
|
||||
- https://www.529064.xyz/
|
||||
- https://www.529066.xyz/
|
||||
- https://www.529065.xyz/
|
||||
- https://www.529068.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: Bittorrentfiles
|
||||
name: Bittorrentfiles
|
||||
description: "Bittorrentfiles is a Private GERMAN tracker"
|
||||
description: "Bittorrentfiles is a Private GERMAN Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: abnormal
|
||||
name: Abnormal
|
||||
description: "General French Private Tracker"
|
||||
description: "ABNormal (ABN) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -8,77 +8,79 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://usefultrash.net/
|
||||
legacylinks:
|
||||
- https://abtorrents.me/
|
||||
- https://abtorrents.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 10, cat: Audio/Audiobook, desc: "Action/Adventure"}
|
||||
- {id: 20, cat: Audio/Audiobook, desc: "Biography/Memoirs"}
|
||||
- {id: 30, cat: Audio/Audiobook, desc: "Business "}
|
||||
- {id: 10, cat: Audio/Audiobook, desc: "Action & Adventure"}
|
||||
- {id: 80, cat: Audio/Audiobook, desc: "Adult & Erotica"}
|
||||
- {id: 20, cat: Audio/Audiobook, desc: "Biography & Memoirs"}
|
||||
- {id: 30, cat: Audio/Audiobook, desc: "Business"}
|
||||
- {id: 40, cat: Audio/Audiobook, desc: "Childrens"}
|
||||
- {id: 50, cat: Audio/Audiobook, desc: "Humor (Comedy)"}
|
||||
- {id: 60, cat: Audio/Audiobook, desc: "Comics"}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Computers "}
|
||||
- {id: 80, cat: Audio/Audiobook, desc: "Adult/Erotica"}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Computers"}
|
||||
- {id: 260, cat: Audio/Audiobook, desc: "Crime & Thriller"}
|
||||
- {id: 90, cat: Audio/Audiobook, desc: "Fantasy-General"}
|
||||
- {id: 100, cat: Audio/Audiobook, desc: "Fantasy-Youth"}
|
||||
- {id: 110, cat: Audio/Audiobook, desc: "Files"}
|
||||
- {id: 120, cat: Audio/Audiobook, desc: "Foreign Language"}
|
||||
- {id: 130, cat: Audio/Audiobook, desc: "General Fiction"}
|
||||
- {id: 140, cat: Audio/Audiobook, desc: "Historical Fiction"}
|
||||
- {id: 150, cat: Audio/Audiobook, desc: "History"}
|
||||
- {id: 160, cat: Audio/Audiobook, desc: "Horror"}
|
||||
- {id: 50, cat: Audio/Audiobook, desc: "Humor (Comedy)"}
|
||||
- {id: 170, cat: Audio/Audiobook, desc: "Literature"}
|
||||
- {id: 175, cat: Audio/Audiobook, desc: "LitRPG"}
|
||||
- {id: 180, cat: Audio/Audiobook, desc: "Mystery "}
|
||||
- {id: 190, cat: Audio/Audiobook, desc: "Non-Fiction"}
|
||||
- {id: 180, cat: Audio/Audiobook, desc: "Mystery"}
|
||||
- {id: 215, cat: Audio/Audiobook, desc: "Paranormal Romance"}
|
||||
- {id: 200, cat: Audio/Audiobook, desc: "Radio Drama"}
|
||||
- {id: 205, cat: Audio/Audiobook, desc: "Reference & Educational"}
|
||||
- {id: 207, cat: Audio/Audiobook, desc: "Religion & Spirituality"}
|
||||
- {id: 210, cat: Audio/Audiobook, desc: "Romance"}
|
||||
- {id: 220, cat: Audio/Audiobook, desc: "Science"}
|
||||
- {id: 230, cat: Audio/Audiobook, desc: "Science Fiction "}
|
||||
- {id: 240, cat: Audio/Audiobook, desc: "Sci-Fi Apocalypse"}
|
||||
- {id: 220, cat: Audio/Audiobook, desc: "Science"}
|
||||
- {id: 230, cat: Audio/Audiobook, desc: "Science Fiction"}
|
||||
- {id: 250, cat: Audio/Audiobook, desc: "Self Improvement"}
|
||||
- {id: 265, cat: Audio/Audiobook, desc: "Sports & Fitness"}
|
||||
- {id: 270, cat: Audio/Audiobook, desc: "Suspense"}
|
||||
- {id: 280, cat: Audio/Audiobook, desc: "Talk Radio"}
|
||||
- {id: 260, cat: Audio/Audiobook, desc: "Crime/Thriller/Mystery"}
|
||||
- {id: 290, cat: Audio/Audiobook, desc: "Urban Fantasy"}
|
||||
- {id: 285, cat: Audio/Audiobook, desc: "Travel"}
|
||||
- {id: 290, cat: Audio/Audiobook, desc: "Urban Fantasy & Paranormal"}
|
||||
- {id: 300, cat: Audio/Audiobook, desc: "Western"}
|
||||
- {id: 400, cat: Books/EBook, desc: "[E] Action/Adventure"}
|
||||
- {id: 410, cat: Books/EBook, desc: "[E] Adult / Erotica"}
|
||||
- {id: 310, cat: Audio/Audiobook, desc: "Young Adult"}
|
||||
- {id: 400, cat: Books/EBook, desc: "[E] Action & Adventure"}
|
||||
- {id: 410, cat: Books/EBook, desc: "[E] Adult & Erotica"}
|
||||
- {id: 420, cat: Books/EBook, desc: "[E] Arts & Crafts (Hobbies)"}
|
||||
- {id: 430, cat: Books/EBook, desc: "[E] Biography/Memoirs"}
|
||||
- {id: 730, cat: Books/EBook, desc: "[E] Collections"}
|
||||
- {id: 440, cat: Books/EBook, desc: "[E] Comic Books"}
|
||||
- {id: 430, cat: Books/EBook, desc: "[E] Biography & Memoirs"}
|
||||
- {id: 435, cat: Books/EBook, desc: "[E] Business"}
|
||||
- {id: 720, cat: Books/EBook, desc: "[E] Childrens"}
|
||||
- {id: 450, cat: Books/EBook, desc: "[E] Computer Learning"}
|
||||
- {id: 460, cat: Books/EBook, desc: "[E] Cookery"}
|
||||
- {id: 470, cat: Books/EBook, desc: "[E] Crime/Thriller/Mystery"}
|
||||
- {id: 470, cat: Books/EBook, desc: "[E] Crime & Thriller"}
|
||||
- {id: 480, cat: Books/EBook, desc: "[E] Fantasy"}
|
||||
- {id: 490, cat: Books/EBook, desc: "[E] Forteana"}
|
||||
- {id: 490, cat: Books/EBook, desc: "[E] Fantasy-Youth"}
|
||||
- {id: 500, cat: Books/EBook, desc: "[E] General Fiction"}
|
||||
- {id: 510, cat: Books/EBook, desc: "[E] Historical Fiction"}
|
||||
- {id: 520, cat: Books/EBook, desc: "[E] History/Documentary"}
|
||||
- {id: 520, cat: Books/EBook, desc: "[E] History & Documentary"}
|
||||
- {id: 530, cat: Books/EBook, desc: "[E] Horror"}
|
||||
- {id: 540, cat: Books/EBook, desc: "[E] Humor (Comedy)"}
|
||||
- {id: 550, cat: Books/EBook, desc: "[E] LGBT"}
|
||||
- {id: 560, cat: Books/EBook, desc: "[E] Literary Fiction"}
|
||||
- {id: 565, cat: Books/EBook, desc: "[E] LitRPG"}
|
||||
- {id: 570, cat: Books/EBook, desc: "[E] Magazines - all"}
|
||||
- {id: 580, cat: Books/EBook, desc: "[E] Non-Fiction"}
|
||||
- {id: 585, cat: Books/EBook, desc: "[E] Other Languages"}
|
||||
- {id: 570, cat: Books/EBook, desc: "[E] Mystery"}
|
||||
- {id: 590, cat: Books/EBook, desc: "[E] Paranormal Romance"}
|
||||
- {id: 600, cat: Books/EBook, desc: "[E] Reference/Educational"}
|
||||
- {id: 610, cat: Books/EBook, desc: "[E] Religion and Spirituality"}
|
||||
- {id: 600, cat: Books/EBook, desc: "[E] Reference & Educational"}
|
||||
- {id: 610, cat: Books/EBook, desc: "[E] Religion & Spirituality"}
|
||||
- {id: 620, cat: Books/EBook, desc: "[E] Romance"}
|
||||
- {id: 630, cat: Books/EBook, desc: "[E] Sci-Fi"}
|
||||
- {id: 640, cat: Books/EBook, desc: "[E] Sci-Fi/Apocalyptic"}
|
||||
- {id: 640, cat: Books/EBook, desc: "[E] Sci-Fi & Apocalyptic"}
|
||||
- {id: 645, cat: Books/EBook, desc: "[E] Science"}
|
||||
- {id: 650, cat: Books/EBook, desc: "[E] Self-Help"}
|
||||
- {id: 660, cat: Books/EBook, desc: "[E] Sports/Fitness"}
|
||||
- {id: 660, cat: Books/EBook, desc: "[E] Sports & Fitness"}
|
||||
- {id: 665, cat: Books/EBook, desc: "[E] Suspense"}
|
||||
- {id: 670, cat: Books/EBook, desc: "[E] Travel"}
|
||||
- {id: 680, cat: Books/EBook, desc: "[E] Unsorted"}
|
||||
- {id: 690, cat: Books/EBook, desc: "[E] Urban Fantasy/Paranormal"}
|
||||
- {id: 690, cat: Books/EBook, desc: "[E] Urban Fantasy & Paranormal"}
|
||||
- {id: 700, cat: Books/EBook, desc: "[E] Western"}
|
||||
- {id: 710, cat: Books/EBook, desc: "[E] Young Adult"}
|
||||
- {id: 720, cat: Books/EBook, desc: "[E] Young Children"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -106,6 +108,8 @@ settings:
|
||||
login:
|
||||
# using cookie method because login page simplecaptcha generates Exception: Cannot access child value on Newtonsoft.Json.Linq.JValue.
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="logout.php?hash_please="]
|
||||
@@ -116,26 +120,23 @@ search:
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# title, descr
|
||||
# title, descr, series, additional_info, author, author, uploader
|
||||
searchin: title
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 My Unsatisfied Torrents, 4 My Watch List, 5 My Uploads
|
||||
incldead: 1
|
||||
# 1 onlyfree, null all
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
# 0 All Torrents, 1 Only Free Torrents
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr:has(a[href^="download.php?torrent="])
|
||||
|
||||
fields: # some users (rank specific?) have an extra column (td:nth-child(4)) with bookmark features
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
categorydesc:
|
||||
selector: img[src^="./pic/caticons"]
|
||||
attribute: alt
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
remove: span
|
||||
remove: span.has-text-red
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
@@ -166,9 +167,13 @@ search:
|
||||
grabs:
|
||||
selector: a[href^="snatches.php?id="]
|
||||
seeders:
|
||||
selector: td:nth-last-child(3) div:nth-last-child(2)
|
||||
selector: a[title="Seeders"]
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td:nth-last-child(3) div:last-child
|
||||
selector: a[title="Leechers"]
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
tr.freeleech_color: 0
|
||||
|
||||
@@ -29,10 +29,10 @@ search:
|
||||
selector: tbody tr
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td.title > span.title a
|
||||
category:
|
||||
text: 1
|
||||
title:
|
||||
selector: td.title > span.title a
|
||||
details:
|
||||
selector: td.title > span.title a
|
||||
attribute: href
|
||||
@@ -42,16 +42,13 @@ search:
|
||||
size:
|
||||
selector: td.size
|
||||
seeders:
|
||||
selector: td.peers div.seed
|
||||
text: 1
|
||||
leechers:
|
||||
selector: td.peers div.leech
|
||||
grabs:
|
||||
selector: td.peers div.done
|
||||
text: 1
|
||||
date:
|
||||
# unix
|
||||
selector: td.date time
|
||||
attribute: datetime
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: acrossthetasman
|
||||
name: Across The Tasman
|
||||
description: "ATT is a torrent site for Rugby and other sports played in Australia"
|
||||
description: "ATT is a Private torrent site for Rugby and other sports played in Australia"
|
||||
language: en-AU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -51,7 +51,7 @@ login:
|
||||
- selector: div.restore:contains("invalid username or password")
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href*="logout.php"]
|
||||
selector: a[href*="login.php?do=logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
||||
@@ -101,7 +101,7 @@ login:
|
||||
selector: td.text
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout.php"]
|
||||
selector: a[href*="/logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -115,11 +115,17 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table tbody#torrent_background tr:has(a.index)
|
||||
selector: table tbody#torrent_background tr:has(a.index):has(span.icon_check_alt)
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
@@ -127,17 +133,11 @@ search:
|
||||
- name: querystring
|
||||
args: name
|
||||
- name: urldecode
|
||||
category:
|
||||
selector: td a[href^="/browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a.index
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
selector: a.index
|
||||
attribute: href
|
||||
filters:
|
||||
- name: urldecode
|
||||
@@ -147,6 +147,8 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=([^\s]+)
|
||||
- name: replace
|
||||
args: ["\"", ""]
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
---
|
||||
id: afun
|
||||
name: AFUN
|
||||
description: "AFUN is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.ptlover.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/赛事"}
|
||||
- {id: 414, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/HQ音频"}
|
||||
- {id: 409, cat: Other, desc: "Misc/其他"}
|
||||
- {id: 407, cat: TV/Sport, desc: "TV Sport/体育"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV"}
|
||||
- {id: 403, cat: TV, desc: "TV Talk Shows/脱口秀"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Anime/动画"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
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: "Cherish your user account. Inactive accounts will be deleted based on the following rules:<ol><li>Veteran User or above will never be deleted.</li><li>Elite User or above will never be deleted if parked (at User CP).</li><li>Parked accounts will be deleted if users have not logged in for more than 400 days in a row.</li><li>Unparked accounts will 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 will be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because site regularly disables login page for certain events during the year
|
||||
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}}"
|
||||
# searching in description causes HTTP 500 so we will not support doubanid searching
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0: include dead, 1: alive, 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: description, 3: uploader, 4: imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
# 0: AND, 2: exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# Support in NexusPHP so bots don't pollute trending searches:
|
||||
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: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
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# NexusPHP v1.9.0 2025-02-06
|
||||
@@ -8,9 +8,12 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://www.agsvpt.com/
|
||||
- https://pt.agsvpt.cn/
|
||||
legacylinks:
|
||||
- https://abroad.agsvpt.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}
|
||||
@@ -22,7 +25,6 @@ caps:
|
||||
- {id: 406, cat: Audio/Video, desc: "MV(演唱", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(体育)", default: true}
|
||||
- {id: 408, cat: Audio/Audiobook, desc: "Audio(音频)", default: true}
|
||||
# special
|
||||
- {id: 413, cat: PC/Games, desc: "Game(游戏)", default: false}
|
||||
- {id: 416, cat: Books/Comics, desc: "Comic(漫画)", default: false}
|
||||
- {id: 412, cat: PC/0day, desc: "Software(软件)", default: false}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: aidoruonline
|
||||
name: Aidoru!Online
|
||||
description: "Aidoru!Online is a Private Torrent Tracker for Female Japanese Idol related files"
|
||||
description: "Aidoru!Online is a JAPANESE Private Torrent Tracker for Female Japanese Idol related files"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -57,6 +57,10 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and check that your ratio is <b>not below 0.8</b>, otherwise the site will not return download links to the indexer. This does not apply to freeleech torrents."
|
||||
|
||||
login:
|
||||
# using cookie method because login page returns 0 bytes with a cookie flog=6
|
||||
|
||||
@@ -5,6 +5,7 @@ description: "Aither is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
# status https://status.aither.cc/
|
||||
links:
|
||||
- https://aither.cc/
|
||||
|
||||
@@ -13,13 +14,11 @@ caps:
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 9, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
@@ -57,7 +56,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You must log in to the Aither web site with your browser once every 120 days to prevent your account from getting disabled."
|
||||
default: "You must log in to the Aither web site with your browser once every90 days to prevent your account from getting disabled."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -71,9 +70,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -118,8 +117,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -140,8 +137,13 @@ search:
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -153,7 +155,7 @@ search:
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # UTC
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
@@ -189,4 +191,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 8.3.3
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
---
|
||||
id: alingpt
|
||||
name: alingPT
|
||||
description: "alingPT is a CHINESE Private Torrent Tracker for MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pt.aling.de/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动画"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentary/纪录片"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
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 and above will be retained forever</li><li>Accounts parked will not be deleted</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 200 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 60 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
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, 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.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: 2.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.4 2025-06-01
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: amigosshare
|
||||
name: Amigos Share Club
|
||||
description: "Amigos Share Club is a Brazilian Private site for TV / MOVIES / GENERAL"
|
||||
description: "Amigos Share Club (ASC) is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: pt-BR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -29,14 +29,14 @@ caps:
|
||||
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
|
||||
- {id: 23, cat: PC/Mobile-Android, desc: "Aplicativos: Android"}
|
||||
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
|
||||
- {id: 73, cat: Books, desc: "Cursos: Video Aula"}
|
||||
- {id: 72, cat: Books, desc: "Cursos: Apostila"}
|
||||
- {id: 71, cat: Books, desc: "Cursos: Cursos"}
|
||||
- {id: 67, cat: Books, desc: "Ebook: Livros"}
|
||||
- {id: 112, cat: Books, desc: "Ebook: HQs"}
|
||||
- {id: 147, cat: Books, desc: "Ebook: Mangas"}
|
||||
- {id: 73, cat: Other, desc: "Cursos: Video Aula"}
|
||||
- {id: 72, cat: Other, desc: "Cursos: Apostila"}
|
||||
- {id: 71, cat: Other, desc: "Cursos: Cursos"}
|
||||
- {id: 67, cat: Books/EBook, desc: "Ebook: Livros"}
|
||||
- {id: 112, cat: Books/Comics, desc: "Ebook: HQs"}
|
||||
- {id: 147, cat: Books/Comics, desc: "Ebook: Mangas"}
|
||||
- {id: 121, cat: Audio/Audiobook, desc: "Ebook: Audio-book"}
|
||||
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
|
||||
- {id: 68, cat: Books/Mags, desc: "Ebook: Revistas"}
|
||||
- {id: 119, cat: Movies, desc: "Filmes:"}
|
||||
- {id: 70, cat: XXX, desc: "Fotos: Revistas, Livros e Fotos"}
|
||||
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
|
||||
@@ -152,7 +152,7 @@ search:
|
||||
keywordsfilters:
|
||||
# drop the year from searches since site titles do not include year
|
||||
- name: re_replace
|
||||
args: ["(19|20[0-9]{2})", ""]
|
||||
args: ["(\\s*\\b((19|20)\\d{2})\\b)", ""]
|
||||
|
||||
rows:
|
||||
selector: "div#fancy-list-group ul.list-group li.list-group-item{{ if .Config.freeleech }}:has(span.badge-success:contains(\"FREE\")){{ else }}{{ end }}"
|
||||
|
||||
@@ -75,9 +75,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -144,8 +144,13 @@ search:
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -193,4 +198,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.4
|
||||
# json UNIT3D 9.1.5
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: animeworld-api
|
||||
name: AnimeWorld (API)
|
||||
description: "AnimeWorld (AW) is a GERMAN Private site for ANIME / MANGA / HENTAI"
|
||||
description: "AnimeWorld (AW) is a GERMAN Private Torrent Tracker for ANIME / MANGA / HENTAI"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -82,9 +82,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -149,8 +149,13 @@ search:
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
|
||||
@@ -4,7 +4,7 @@ replaces:
|
||||
- tehconnectionme
|
||||
- anthelion
|
||||
name: Anthelion (API)
|
||||
description: "Anthelion is a Private MOVIES tracker"
|
||||
description: "Anthelion (ANT) is a Private Torrent Tracker for MOVIES"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -91,6 +91,8 @@ search:
|
||||
selector: codec
|
||||
_container:
|
||||
selector: container
|
||||
filters:
|
||||
- name: toupper
|
||||
_media:
|
||||
selector: media
|
||||
filters:
|
||||
@@ -122,7 +124,11 @@ search:
|
||||
filters:
|
||||
- name: htmldecode
|
||||
- name: append
|
||||
args: " {{ .Result.year }} {{ .Result._codec }} {{ .Result._container }} {{ .Result._media }} {{ .Result._resolution }} {{ .Result._audioFormat }}{{ if .Result._subbing }} Subs{{ else }}{{ end }}{{ if .Result._flags }} {{ .Result._flags }}{{ else }}{{ end }}{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}{{ if and (.Result._releaseGroup) (ne .Result._releaseGroup \"NULL\") }}-{{ .Result._releaseGroup }}{{ else }}{{ end }}"
|
||||
args: " {{ .Result.year }} {{ .Result._resolution }} {{ .Result._media }} {{ .Result._container }} {{ .Result._codec }} {{ .Result._audioFormat }}{{ if .Result._subbing }} Subs{{ else }}{{ end }}{{ if .Result._flags }} {{ .Result._flags }}{{ else }}{{ end }}{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}{{ if and (.Result._releaseGroup) (ne .Result._releaseGroup \"NULL\") }}-{{ .Result._releaseGroup }}{{ else }}{{ end }}"
|
||||
- name: replace
|
||||
args: ["M2TS H265", "M2TS HEVC"]
|
||||
- name: replace
|
||||
args: ["M2TS H264", "M2TS AVC"]
|
||||
details:
|
||||
selector: guid
|
||||
download:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: arabafenice
|
||||
name: ArabaFenice
|
||||
description: "Araba Fenice (Phoenix) is an ITALIAN Private site for TV / MOVIES / GENERAL"
|
||||
description: "Araba Fenice (Phoenix) is an ITALIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: it-IT
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -82,15 +82,6 @@ caps:
|
||||
# برامج Software
|
||||
- {id: 22, cat: PC, desc: "برامج عربية (Arabic Software)"}
|
||||
- {id: 23, cat: PC, desc: "برامج عامه (Public Software)"}
|
||||
- {id: 78, cat: PC/Mobile-iOS, desc: "iPad/iPhone"}
|
||||
- {id: 79, cat: PC/Mobile-Android, desc: "android"}
|
||||
# العاب Games
|
||||
- {id: 30, cat: PC/Games, desc: "PC"}
|
||||
- {id: 31, cat: Console/PS3, desc: "PS2"}
|
||||
- {id: 53, cat: Console/Wii, desc: "wii"}
|
||||
- {id: 55, cat: Console/PSP, desc: "PSP"}
|
||||
- {id: 63, cat: Console/XBox, desc: "XBOX"}
|
||||
- {id: 64, cat: Console/PS3, desc: "PS3"}
|
||||
# اخرى Other
|
||||
- {id: 17, cat: Books, desc: "كتب (Books)"}
|
||||
- {id: 65, cat: Other, desc: "صور (Images)"}
|
||||
@@ -119,12 +110,13 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.arabp2p.com/index.php?page=torrents&search=&category=0&active=0&internel=0
|
||||
# https://www.arabp2p.net/index.php?page=torrents&search=&category=0&active=0&internel=0&order=3&by=2
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ .Keywords }}"
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||
# does not support multi categories, default to All
|
||||
category: 0
|
||||
# 0 all 1 activeonly 2 deadonly
|
||||
active: 0
|
||||
# 0 all 1 internal 2 external
|
||||
@@ -134,38 +126,43 @@ search:
|
||||
# does not support imdbid search or provide imdb link in results
|
||||
|
||||
rows:
|
||||
selector: table.torrent tr.torrent
|
||||
selector: table#torrents_list_p > tbody > tr:has(a[href^="download.php?id="]), table#torrents_list_p > tbody > tr:has(a[href^="magnet:?xt="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
selector: a[href^="index.php?page=torrents&category="]:last-child
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: td a[href^="download.php"]
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
optional: true
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
optional: true
|
||||
date:
|
||||
selector: td:nth-child(4) span
|
||||
selector: span.upload-date > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss"
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
args: "MM-yy-dd HH:mm:ss tt"
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
selector: span.size
|
||||
seeders:
|
||||
selector: span[title="Seeders"]
|
||||
leechers:
|
||||
selector: span[title="Leechers"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.free: 0
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GEN
|
||||
language: bg-BG
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- c25aba843f815e92d0da0bbe3191326d16a81a32 # expired 15th Oct 2025
|
||||
links:
|
||||
- https://arenabg.com/
|
||||
legacylinks:
|
||||
@@ -34,6 +36,7 @@ caps:
|
||||
- {id: 24, cat: TV, desc: "Series / TV Episodes"}
|
||||
- {id: 25, cat: TV, desc: "Series / TV Boxset"}
|
||||
- {id: 26, cat: TV/HD, desc: "Series / TV Boxset HD"}
|
||||
- {id: 60, cat: TV/UHD, desc: "Series / 4K"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 27, cat: Audio/MP3, desc: "Music / MP3"}
|
||||
- {id: 28, cat: Audio/Video, desc: "Music / Video"}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: asiancinema
|
||||
name: AsianCinema
|
||||
description: "Tracker Movies/TV/Music"
|
||||
description: "AsianCinema is a Private Tracker for ASIAN MOVIES / TV / MUSIC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: asiandvdclub
|
||||
name: AsianDVDClub
|
||||
description: "AsianDVDClub (ADC) is a Private Torrent Tracker for Asian DVD and BluRay"
|
||||
description: "AsianDVDClub (ADC) is a Private Torrent Tracker for ASIAN DVD and BluRay"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -65,7 +65,7 @@ settings:
|
||||
default: "Account retention rules:<ol><li>Users with Extreme User and above will be retained forever</li><li>Starting from 20230701, the non-login ban time will be adjusted to:<ul><li>(Home Alone) User - 40 days</li><li>(Young and vigorous) Power User - 60 days</li><li>(Children of Jianghu) Elite User - 80 days</li><li>(Street Fighter) Crazy User - 100 days</li><li>(non-stop) Insane User - 120 days</li><li>(Outstanding Citizen) Veteran User - 180 days</li></ul></li><li>Users with no traffic (i.e. uploading/downloading data) If it is 0) If you do not log in for 7 consecutive days will be disabled</li><li>'Parked accounts' no longer enjoy the benefits of retaining accounts, and are also subject to the above rules.</li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because site has cloudflare challenge and flaresolverr is currently broken. Switch to standard nexus login when fixed.
|
||||
# using cookie method because site regularly disables login page for certain events during the year
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: aussierules
|
||||
name: Aussierul.es
|
||||
description: "Aussierul.es is a torrent site for Aussie Rules Football played in Australia"
|
||||
description: "AussieRul.es is a Private Torrent Tracker for AUSTRALIAN RULES FOOTBALL"
|
||||
language: en-AU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -35,7 +35,7 @@ settings:
|
||||
- name: dead
|
||||
label: Include Dead Torrents
|
||||
type: select
|
||||
default: No
|
||||
default: no
|
||||
options:
|
||||
yes: Yes
|
||||
no: No
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: azusa
|
||||
name: Azusa (梓喵)
|
||||
description: "Azusa (梓喵) is a CHINESE Private Torrent Tracker focusing on Comics"
|
||||
description: "Azusa (梓喵) is a CHINESE Private Torrent Tracker focusing on COMICS"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -22,19 +22,11 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
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 Uploads Web Site. Otherwise just leave it empty."
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -61,45 +53,34 @@ settings:
|
||||
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
|
||||
# using cookie method because site regularly disables login page for certain events during the year
|
||||
method: cookie
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: ""
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
selector: a[href^="logout.php?csrf_token="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
allowEmptyInputs: true
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 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 }}"
|
||||
inclbookmarked: 0
|
||||
approval_status: ""
|
||||
trackerStatus: ""
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: 0
|
||||
# 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)
|
||||
@@ -148,11 +129,17 @@ search:
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: a[href$="dllist=1#seeders"]
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: a[href$="dllist=1#leechers"]
|
||||
optional: true
|
||||
default: 0
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
selector: a[href^="viewsnatches.php?id="]
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -170,4 +157,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.20 2022-08-05
|
||||
# NexusPHP v1.7.20 2022-08-05 (custom)
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 100, cat: Console, desc: "Anbernic"}
|
||||
- {id: 15, cat: PC/Mobile-Android, desc: "Android"}
|
||||
- {id: 35, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 51, cat: PC/Mac, desc: "Apple"}
|
||||
@@ -17,9 +18,9 @@ caps:
|
||||
- {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 71, cat: Console, desc: "Batocera"}
|
||||
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
|
||||
- {id: 22, cat: Console, desc: "CoinOps"}
|
||||
- {id: 42, cat: Console, desc: "CoinOPS Official"}
|
||||
- {id: 65, cat: Console, desc: "CoinOps Unofficial"}
|
||||
- {id: 22, cat: Console, desc: "CoinOps"}
|
||||
- {id: 63, cat: Books/Comics, desc: "Comics"}
|
||||
- {id: 60, cat: Console, desc: "Core"}
|
||||
- {id: 72, cat: Console, desc: "CORE Community"}
|
||||
@@ -28,39 +29,44 @@ caps:
|
||||
- {id: 41, cat: Console, desc: "Dragon"}
|
||||
- {id: 5, cat: Books, desc: "EBooks"}
|
||||
- {id: 80, cat: PC, desc: "Emulation Media"}
|
||||
- {id: 61, cat: Console, desc: "emuxtras"}
|
||||
- {id: 69, cat: TV, desc: "Entertainment"}
|
||||
- {id: 61, cat: PC, desc: "emuxtras"}
|
||||
- {id: 89, cat: PC, desc: "Ghostware"}
|
||||
- {id: 84, cat: TV, desc: "GOG DRM FREE"}
|
||||
- {id: 77, cat: PC, desc: "Hyperspin"}
|
||||
- {id: 34, cat: TV, desc: "Kids"}
|
||||
- {id: 43, cat: Console, desc: "LB No Intro"}
|
||||
- {id: 85, cat: PC, desc: "MAME Rom Sets"}
|
||||
- {id: 33, cat: TV/Sport, desc: "MMA/Boxing"}
|
||||
- {id: 32, cat: Movies, desc: "Movie Pack"}
|
||||
- {id: 6, cat: Movies, desc: "Movies/XVID"}
|
||||
- {id: 106, cat: Movies/UHD, desc: "Movie Pack 4K"}
|
||||
- {id: 6, cat: Movies, desc: "Movies"}
|
||||
- {id: 105, cat: Movies/UHD, desc: "Movies 4K"}
|
||||
- {id: 82, cat: PC, desc: "MS-DOS"}
|
||||
- {id: 7, cat: Audio, desc: "Music"}
|
||||
- {id: 31, cat: Console, desc: "Nintendo"}
|
||||
- {id: 59, cat: Console, desc: "P-R-U"}
|
||||
- {id: 8, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: 50, cat: Console, desc: "PlayBox"}
|
||||
- {id: 87, cat: Console, desc: "Playnite"}
|
||||
- {id: 30, cat: Console, desc: "Playstation"}
|
||||
- {id: 62, cat: Console, desc: "RaspberryPi"}
|
||||
- {id: 83, cat: Console, desc: "Retro eXo"}
|
||||
- {id: 56, cat: Console, desc: "Retro Minis"}
|
||||
- {id: 62, cat: PC, desc: "Raspberry Pi"}
|
||||
- {id: 83, cat: PC, desc: "Retro eXo"}
|
||||
- {id: 56, cat: PC, desc: "Retro Minis"}
|
||||
- {id: 81, cat: PC, desc: "Retro Scene Releases"}
|
||||
- {id: 67, cat: Console, desc: "Retrobat"}
|
||||
- {id: 67, cat: PC, desc: "Retrobat"}
|
||||
- {id: 88, cat: PC, desc: "RetroFE"}
|
||||
- {id: 79, cat: PC, desc: "RGB-Pi"}
|
||||
- {id: 76, cat: Console, desc: "RGS"}
|
||||
- {id: 27, cat: Console, desc: "Roms and Emulators"}
|
||||
- {id: 68, cat: Console, desc: "Schmoomer's"}
|
||||
- {id: 27, cat: PC, desc: "Roms and Emulators"}
|
||||
- {id: 68, cat: PC, desc: "Schmoomer's"}
|
||||
- {id: 57, cat: Console, desc: "Sega"}
|
||||
- {id: 74, cat: PC, desc: "Sleyk/SGC"}
|
||||
- {id: 40, cat: TV, desc: "Soaps"}
|
||||
- {id: 29, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 9, cat: TV, desc: "TV-Boxsets"}
|
||||
- {id: 11, cat: TV, desc: "TV/x264"}
|
||||
- {id: 10, cat: TV, desc: "TV/Xvid"}
|
||||
- {id: 75, cat: Audio, desc: "Video Game Music"}
|
||||
- {id: 90, cat: PC, desc: "TeknoParrot"}
|
||||
- {id: 9, cat: TV, desc: "TV Packs"}
|
||||
- {id: 11, cat: TV, desc: "TV Shows"}
|
||||
- {id: 97, cat: TV/Other, desc: "Video Courses"}
|
||||
- {id: 75, cat: TV, desc: "Video Game Music"}
|
||||
- {id: 73, cat: Console, desc: "Wolfanoz"}
|
||||
- {id: 14, cat: TV/Sport, desc: "WWE"}
|
||||
- {id: 26, cat: Console, desc: "Xbox"}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: bestcore
|
||||
name: Best-Core
|
||||
description: "Best-Core is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||
description: "Best-Core is a HUNGARIAN Private Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: ISO-8859-2
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: bibliotik
|
||||
name: Bibliotik
|
||||
description: "Bibliotik is a private site for eBooks and audiobooks"
|
||||
description: "Bibliotik is a Private Torrent Tracker for EBOOKS and AUDIOBOOKS"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
---
|
||||
id: bigcore
|
||||
name: BigCore
|
||||
description: "BigCore is a HUNGARIAN Private Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bigcore.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 48, cat: Movies/SD, desc: "CAM/Hun"}
|
||||
- {id: 49, cat: Movies/SD, desc: "CAM/Eng"}
|
||||
- {id: 50, cat: Movies/SD, desc: "SD/Hun"}
|
||||
- {id: 51, cat: Movies/SD, desc: "SD/Eng"}
|
||||
- {id: 52, cat: Movies/DVD, desc: "DVD/Hun"}
|
||||
- {id: 53, cat: Movies/DVD, desc: "DVD/Eng"}
|
||||
- {id: 54, cat: Movies/HD, desc: "HD/Hun"}
|
||||
- {id: 55, cat: Movies/HD, desc: "HD/Eng"}
|
||||
- {id: 56, cat: TV, desc: "Sorozat/Hun"}
|
||||
- {id: 57, cat: TV, desc: "Sorozat/Eng"}
|
||||
- {id: 58, cat: PC/Games, desc: "Játék/ISO"}
|
||||
- {id: 59, cat: PC/ISO, desc: "Program/ISO"}
|
||||
- {id: 60, cat: PC/Games, desc: "Játék/RIP"}
|
||||
- {id: 61, cat: PC/0day, desc: "Program/RIP"}
|
||||
- {id: 62, cat: Audio, desc: "Zene/Hun"}
|
||||
- {id: 63, cat: Audio, desc: "Zene/Eng"}
|
||||
- {id: 64, cat: Books, desc: "Könyv"}
|
||||
- {id: 65, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 66, cat: XXX/x264, desc: "XXX/Video"}
|
||||
- {id: 67, cat: XXX/ImageSet, desc: "XXX/Kép"}
|
||||
|
||||
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: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
1: title
|
||||
4: created
|
||||
7: seeders
|
||||
5: 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>Torrentek száma egy oldalon</b> setting to <b>100</b> on your account profile. The default is <i>30</i>.
|
||||
|
||||
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:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 myupload, 4 waiting for seed
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: tr[id^="torrent_row_"], tr[id^="hidden_torrent_row_"]
|
||||
after: 1
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a#torrentName
|
||||
attribute: title
|
||||
_id:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: torrent
|
||||
details:
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="kepek/"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: a.viewFileList
|
||||
date:
|
||||
selector: td:nth-child(7) a[title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
seeders:
|
||||
selector: td:nth-child(10)
|
||||
leechers:
|
||||
selector: td:nth-child(11)
|
||||
description:
|
||||
case:
|
||||
i.fa-check: "Verified"
|
||||
i.fa-question: "Unverified"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span:contains("0x"): 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span:contains("2x"): 2
|
||||
span:contains("3x"): 3
|
||||
span:contains("4x"): 4
|
||||
span:contains("5x"): 5
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 1 days (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# engine n/a
|
||||
@@ -10,30 +10,29 @@ links:
|
||||
- https://bitbazis.net/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 85, cat: Movies/SD, desc: "Film-Cam", default: true}
|
||||
- {id: 15, cat: Movies/SD, desc: "Film-SD", default: true}
|
||||
- {id: 17, cat: Movies/DVD, desc: "Film-DVD", default: true}
|
||||
- {id: 83, cat: Movies/HD, desc: "Film-HD", default: true}
|
||||
- {id: 94, cat: Movies/HD, desc: "Film-FHD", default: true}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Film-UHD", default: true}
|
||||
- {id: 85, cat: Movies/SD, desc: "Film-Cam", default: true}
|
||||
- {id: 22, cat: TV, desc: "Sorozat-Hun", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film-Pack", default: true}
|
||||
- {id: 24, cat: Audio/Video, desc: "Klip", default: true}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv", default: true}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese-SD", default: true}
|
||||
- {id: 91, cat: TV/Anime, desc: "Mese-HD", default: true}
|
||||
- {id: 25, cat: Audio/MP3, desc: "Mp3-Hun", default: true}
|
||||
- {id: 26, cat: Audio/MP3, desc: "Mp3-Eng", default: true}
|
||||
- {id: 84, cat: Audio/Lossless, desc: "FLAC-Hun", default: true}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "FLAC-Eng", default: true}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék", default: true}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv", default: true}
|
||||
- {id: 81, cat: PC/0day, desc: "Program", default: true}
|
||||
- {id: 14, cat: Other, desc: "Egyéb", default: true}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék", default: true}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese-SD", default: true}
|
||||
- {id: 91, cat: TV/Anime, desc: "Mese-HD", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film-Pack", default: true}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Film-UHD", default: true}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "XXX", default: false}
|
||||
- {id: 33, cat: XXX/SD, desc: "XXX-SD", default: false}
|
||||
- {id: 89, cat: XXX/x264, desc: "XXX-HD", default: false}
|
||||
- {id: 24, cat: Audio/Video, desc: "Klip", default: true}
|
||||
- {id: 14, cat: Other, desc: "Egyéb", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -82,12 +81,12 @@ login:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: li[onclick^="window.open('logout.php?k="]
|
||||
selector: a[onclick="confirmLogout()"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
categories: [85, 86, 15, 16, 17, 19, 83, 82, 94, 95, 92, 93, 22, 58, 64, 24, 70, 27, 50, 69, 68, 91, 25, 26, 84, 71, 31, 54, 81, 67, 49, 14, 65, 97]
|
||||
categories: [15, 83, 94, 85, 22, 25, 26, 84, 71, 27, 81, 31, 69, 91, 64, 92, 24, 14]
|
||||
inputs:
|
||||
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
|
||||
incldead: 0
|
||||
@@ -116,7 +115,7 @@ search:
|
||||
- name: replace
|
||||
args: ["catpic_", ""]
|
||||
title:
|
||||
selector: span.torrent-title
|
||||
selector: span.torrent-name
|
||||
_id:
|
||||
selector: tr[data-torrent-id]
|
||||
attribute: data-torrent-id
|
||||
@@ -131,7 +130,7 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: span.torrent-size
|
||||
selector: td.torrent-size
|
||||
date:
|
||||
# 36 perce
|
||||
# 13 órája és 59 perce
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
---
|
||||
id: bitgamer
|
||||
name: bitGAMER
|
||||
description: "bitGAMER is a Private Torrent Tracker for GAMES"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitgamer.ch/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX/Other, desc: "Adult Games"}
|
||||
- {id: 3, cat: PC/0day, desc: "Burning/Ripping Tools"}
|
||||
- {id: 4, cat: Books/Other, desc: "Guides/Game Documents"}
|
||||
- {id: 13, cat: Movies/Other, desc: "Movies/TV/Video"}
|
||||
- {id: 48, cat: Audio/Other, desc: "Music/OST"}
|
||||
- {id: 52, cat: Console/Other, desc: "Amiga"}
|
||||
- {id: 18, cat: PC/Mobile-iOS, desc: "Apple - iPhone/iPod/iPad"}
|
||||
- {id: 54, cat: Console/Other, desc: "Arcade"}
|
||||
- {id: 19, cat: Console/Other, desc: "Atari"}
|
||||
- {id: 51, cat: Console/Other, desc: "Commodore 64"}
|
||||
- {id: 22, cat: PC/Mobile-Android, desc: "Google - Android"}
|
||||
- {id: 61, cat: Console/Other, desc: "Hyperspin"}
|
||||
- {id: 24, cat: Console/XBox, desc: "Microsoft - Xbox"}
|
||||
- {id: 25, cat: Console/XBox 360, desc: "Microsoft - Xbox 360"}
|
||||
- {id: 49, cat: Console/XBox 360, desc: "Microsoft - Xbox 360 JTAG"}
|
||||
- {id: 57, cat: Console/XBox One, desc: "Microsoft - Xbox One"}
|
||||
- {id: 27, cat: Console/Other, desc: "Neo Geo"}
|
||||
- {id: 55, cat: Console/3DS, desc: "Nintendo - 3DS"}
|
||||
- {id: 28, cat: Console/NDS, desc: "Nintendo - DS"}
|
||||
- {id: 29, cat: Console/Other, desc: "Nintendo - Game Boy Advance"}
|
||||
- {id: 30, cat: Console/Other, desc: "Nintendo - Gameboy"}
|
||||
- {id: 31, cat: Console/Other, desc: "Nintendo - Gamecube "}
|
||||
- {id: 33, cat: Console/Other, desc: "Nintendo - N64 "}
|
||||
- {id: 35, cat: Console/Other, desc: "Nintendo - NES"}
|
||||
- {id: 50, cat: Console/Other, desc: "Nintendo - SNES"}
|
||||
- {id: 63, cat: Console/Other, desc: "Nintendo - Switch"}
|
||||
- {id: 37, cat: Console/Wii, desc: "Nintendo - Wii"}
|
||||
- {id: 59, cat: Console/WiiU, desc: "Nintendo - Wii U"}
|
||||
- {id: 53, cat: PC/Games, desc: "PC - DOS"}
|
||||
- {id: 64, cat: PC/Games, desc: "PC - Linux"}
|
||||
- {id: 39, cat: PC/Mac, desc: "PC - Mac OS X"}
|
||||
- {id: 40, cat: PC/Games, desc: "PC - Windows"}
|
||||
- {id: 41, cat: Console/Other, desc: "Sega"}
|
||||
- {id: 42, cat: Console/Other, desc: "Sega - Dreamcast"}
|
||||
- {id: 43, cat: Console/Other, desc: "Sega - Megadrive"}
|
||||
- {id: 44, cat: Console/Other, desc: "Sony - Playstation"}
|
||||
- {id: 45, cat: Console/Other, desc: "Sony - Playstation 2"}
|
||||
- {id: 46, cat: Console/PS3, desc: "Sony - Playstation 3"}
|
||||
- {id: 56, cat: Console/PS4, desc: "Sony - Playstation 4"}
|
||||
- {id: 47, cat: Console/PSP, desc: "Sony - Playstation Portable "}
|
||||
- {id: 58, cat: Console/PS Vita, desc: "Sony - Playstation Vita"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
book-search: [q]
|
||||
allowrawsearch: true
|
||||
|
||||
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
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td:has(:contains("Login failed"))
|
||||
test:
|
||||
path: my.php
|
||||
selector: a[href^="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
# multi-cat search appears to be broken on site
|
||||
category: 0
|
||||
# 0: name, 1: descr, 2: both
|
||||
blah: 0
|
||||
# 0: include dead, 1: alive, 2: dead, 3: freeleech
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: .outer > form > table > tbody > tr:has(a[href^="download.php"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php"][title]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="details.php"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
attribute: href
|
||||
date:
|
||||
# several old torrents with `0000-00-00 00:00:00` dates
|
||||
selector: td:nth-child(5):not(:contains("000-00-0000:00:00"))
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
optional: true
|
||||
default: now
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(10)
|
||||
leechers:
|
||||
selector: td:nth-child(11)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src*="/freeleech.png"]: 0
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# engine n/a
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: bithumen
|
||||
name: BitHUmen
|
||||
description: "BitHUmen is a Hungarian Private site for TV / MOVIES / GENERAL"
|
||||
description: "BitHUmen is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: ISO-8859-2
|
||||
@@ -48,44 +48,61 @@ caps:
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- 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: "If you do not visit the site for 1 year, you will be banned for inactivity. The permanent deletion of your account after the ban is 2 years."
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
method: cookie
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("bejelentkezés"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href*="logout.php"]
|
||||
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 }}" # for dashboard imdbid search
|
||||
incldead: 1
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
onlytitle: "{{ if .Query.IMDBID }}{{ else }}yes{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
d: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrenttable > tbody > tr:has(a[href^="details.php?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
# download button can be disbled in the profile, use details link instead
|
||||
# download:
|
||||
# selector: a[href^="download.php/"]
|
||||
# attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php/"]
|
||||
- name: append
|
||||
args: "/invalid.torrent"
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
@@ -96,21 +113,30 @@ search:
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
# download button can be disabled in the profile, use details link instead
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php/"]
|
||||
- name: append
|
||||
args: "/invalid.torrent"
|
||||
poster:
|
||||
selector: a[onmouseover^="bithumen.UI.images.coverShow"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\"(.*?)\""
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
size:
|
||||
selector: td:nth-child(6) > u
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
@@ -118,21 +144,19 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: /\s*([\d,]+)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
size:
|
||||
selector: td:nth-child(6) > u
|
||||
genre:
|
||||
selector: span:has(a[href^="browse.php?genre="])
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
selector: td:nth-child(5) > nobr > font:contains(" × ")
|
||||
optional: true
|
||||
default: 1
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["×", ""]
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
description:
|
||||
selector: td:nth-child(2) > div
|
||||
date_year:
|
||||
selector: td:nth-child(5):contains('.')
|
||||
optional: true
|
||||
@@ -155,6 +179,4 @@ search:
|
||||
args: ["tegnap", "yesterday"]
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: td:nth-child(2) > div
|
||||
# engine tbd
|
||||
|
||||
@@ -49,8 +49,8 @@ search:
|
||||
t: "{{ .Query.Type }}"
|
||||
q: "{{ .Keywords }}"
|
||||
cat: "{{ join .Categories \",\" }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
imdbid: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbid: "{{ .Query.TMDBID }}"
|
||||
season: "{{ .Query.Season }}"
|
||||
ep: "{{ .Query.Ep }}"
|
||||
limit: 100
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: bitpalace
|
||||
name: Bitpalace
|
||||
description: "Bitpalace is a Hungarian Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
description: "Bitpalace is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -35,10 +35,10 @@ caps:
|
||||
- {id: 3, cat: Movies/SD, desc: "XVID HUN"}
|
||||
- {id: 12, cat: XXX/DVD, desc: "XXX DVD-R"}
|
||||
- {id: 6, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 10, cat: XXX/ImageSet, desc: "XXX/Képek"}
|
||||
- {id: 10, cat: XXX/ImageSet, desc: "XXX KÉPEK"}
|
||||
- {id: 11, cat: XXX/XviD, desc: "XXX XVID"}
|
||||
- {id: 19, cat: Audio/Video, desc: "ZENE Klipp"}
|
||||
- {id: 26, cat: Audio/MP3, desc: "ZENE MP3"}
|
||||
- {id: 20, cat: Audio/MP3, desc: "ZENE MP3"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: bitporn
|
||||
name: BitPorn
|
||||
description: "BitPorn is a HUNGARIAN Private Torrent Tracker for 3X"
|
||||
name: BitPorn (API)
|
||||
description: "BitPorn (Malacka) is a HUNGARIAN Private Torrent Tracker for 3X"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -10,67 +10,68 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 418, cat: XXX, desc: "Amateur"}
|
||||
- {id: 410, cat: XXX, desc: "Anal"}
|
||||
- {id: 414, cat: XXX, desc: "Animal"}
|
||||
- {id: 415, cat: XXX, desc: "Asian"}
|
||||
- {id: 416, cat: XXX, desc: "BBW"}
|
||||
- {id: 417, cat: XXX, desc: "BDSM"}
|
||||
- {id: 419, cat: XXX, desc: "Big Ass"}
|
||||
- {id: 420, cat: XXX, desc: "Big Tits"}
|
||||
- {id: 421, cat: XXX, desc: "Black"}
|
||||
- {id: 447, cat: XXX, desc: "Cartoon"}
|
||||
- {id: 448, cat: XXX, desc: "Casting"}
|
||||
- {id: 422, cat: XXX, desc: "Classic"}
|
||||
- {id: 434, cat: XXX, desc: "Collection"}
|
||||
- {id: 423, cat: XXX, desc: "Creampie"}
|
||||
- {id: 424, cat: XXX, desc: "Cumshot"}
|
||||
- {id: 451, cat: XXX, desc: "Deepthroat"}
|
||||
- {id: 455, cat: XXX, desc: "Extreme"}
|
||||
- {id: 460, cat: XXX, desc: "Fansite"}
|
||||
- {id: 454, cat: XXX, desc: "Family"}
|
||||
- {id: 425, cat: XXX, desc: "Feature"}
|
||||
- {id: 426, cat: XXX, desc: "Fetish"}
|
||||
- {id: 457, cat: XXX, desc: "Fisting"}
|
||||
- {id: 453, cat: XXX, desc: "Gangbang"}
|
||||
- {id: 459, cat: XXX, desc: "Game"}
|
||||
- {id: 427, cat: XXX, desc: "Gay / Bi"}
|
||||
- {id: 412, cat: XXX, desc: "Hair"}
|
||||
- {id: 411, cat: XXX, desc: "Hardcore"}
|
||||
- {id: 456, cat: XXX, desc: "HiddenCam"}
|
||||
- {id: 428, cat: XXX, desc: "Homemade"}
|
||||
- {id: 429, cat: XXX, desc: "Interracial"}
|
||||
- {id: 430, cat: XXX, desc: "Lesbian"}
|
||||
- {id: 431, cat: XXX, desc: "Magyar"}
|
||||
- {id: 432, cat: XXX, desc: "Masturbation"}
|
||||
- {id: 433, cat: XXX, desc: "Mature"}
|
||||
- {id: 435, cat: XXX, desc: "Milf"}
|
||||
- {id: 436, cat: XXX, desc: "Old and Young"}
|
||||
- {id: 437, cat: XXX, desc: "Parody"}
|
||||
- {id: 449, cat: XXX, desc: "Pictures"}
|
||||
- {id: 438, cat: XXX, desc: "Pissing"}
|
||||
- {id: 439, cat: XXX, desc: "POV"}
|
||||
- {id: 440, cat: XXX, desc: "Pregnant"}
|
||||
- {id: 452, cat: XXX, desc: "Public"}
|
||||
- {id: 441, cat: XXX, desc: "Shemale"}
|
||||
- {id: 442, cat: XXX, desc: "Softcore"}
|
||||
- {id: 443, cat: XXX, desc: "Squirt"}
|
||||
- {id: 444, cat: XXX, desc: "Straight"}
|
||||
- {id: 445, cat: XXX, desc: "Teen"}
|
||||
- {id: 450, cat: XXX, desc: "Threesome"}
|
||||
- {id: 446, cat: XXX, desc: "VR"}
|
||||
- {id: 458, cat: XXX, desc: "Uncategorized"}
|
||||
- {id: 4, cat: XXX, desc: Amateur"}
|
||||
- {id: 5, cat: XXX, desc: Anal"}
|
||||
- {id: 6, cat: XXX, desc: Asian"}
|
||||
- {id: 7, cat: XXX, desc: BBW"}
|
||||
- {id: 8, cat: XXX, desc: BDSM"}
|
||||
- {id: 9, cat: XXX, desc: Big Ass"}
|
||||
- {id: 10, cat: XXX, desc: Big Tits"}
|
||||
- {id: 11, cat: XXX, desc: Black"}
|
||||
- {id: 12, cat: XXX, desc: Cartoon"}
|
||||
- {id: 13, cat: XXX, desc: Casting"}
|
||||
- {id: 14, cat: XXX, desc: Classic"}
|
||||
- {id: 15, cat: XXX, desc: Collection"}
|
||||
- {id: 16, cat: XXX, desc: Creampie"}
|
||||
- {id: 17, cat: XXX, desc: Cumshot"}
|
||||
- {id: 18, cat: XXX, desc: Deepthroat"}
|
||||
- {id: 19, cat: XXX, desc: Extreme"}
|
||||
- {id: 20, cat: XXX, desc: Fansite"}
|
||||
- {id: 21, cat: XXX, desc: Family"}
|
||||
- {id: 22, cat: XXX, desc: Feature"}
|
||||
- {id: 23, cat: XXX, desc: Fetish"}
|
||||
- {id: 24, cat: XXX, desc: Fisting"}
|
||||
- {id: 25, cat: XXX, desc: Gangbang"}
|
||||
- {id: 26, cat: XXX, desc: Game"}
|
||||
- {id: 27, cat: XXX, desc: Gay / Bi"}
|
||||
- {id: 28, cat: XXX, desc: Hair"}
|
||||
- {id: 29, cat: XXX, desc: Hardcore"}
|
||||
- {id: 30, cat: XXX, desc: HiddenCam"}
|
||||
- {id: 31, cat: XXX, desc: Homemade"}
|
||||
- {id: 32, cat: XXX, desc: Interracial"}
|
||||
- {id: 33, cat: XXX, desc: Lesbian"}
|
||||
- {id: 34, cat: XXX, desc: Magyar"}
|
||||
- {id: 35, cat: XXX, desc: Masturbation"}
|
||||
- {id: 36, cat: XXX, desc: Mature"}
|
||||
- {id: 37, cat: XXX, desc: Milf"}
|
||||
- {id: 53, cat: XXX, desc: Movie"}
|
||||
- {id: 38, cat: XXX, desc: Old and Young"}
|
||||
- {id: 39, cat: XXX, desc: Parody"}
|
||||
- {id: 40, cat: XXX, desc: Pictures"}
|
||||
- {id: 41, cat: XXX, desc: Pissing"}
|
||||
- {id: 42, cat: XXX, desc: POV"}
|
||||
- {id: 43, cat: XXX, desc: Pregnant"}
|
||||
- {id: 44, cat: XXX, desc: Public"}
|
||||
- {id: 45, cat: XXX, desc: Shemale"}
|
||||
- {id: 46, cat: XXX, desc: Softcore"}
|
||||
- {id: 47, cat: XXX, desc: Squirt"}
|
||||
- {id: 48, cat: XXX, desc: Straight"}
|
||||
- {id: 49, cat: XXX, desc: Teen"}
|
||||
- {id: 50, cat: XXX, desc: Threesome"}
|
||||
- {id: 51, cat: XXX, desc: VR"}
|
||||
- {id: 52, cat: XXX, desc: Uncategorized"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: apikey
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
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://bitporn.eu/\" target=\"_blank\">BitPorn</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -78,12 +79,12 @@ settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
default: created_at
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
@@ -91,121 +92,103 @@ settings:
|
||||
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: "Inactive accounts will be deleted based on the following rules:<ul><li>Elite-ranked or higher-ranked accounts are never deleted after parking (in the control panel).</li><li>Veteran-ranked or higher-ranked accounts are never deleted.</li><li>Parked accounts are deleted if users haven't logged in for more than 400 days.</li><li>Non-parked accounts are deleted if users haven't logged in for more than 150 days.</li><li>Accounts with both uploaded and downloaded quantities at 0 will be deleted if users haven't logged in for more than 100 consecutive days.</li></ul>"
|
||||
default: "You must log in to the site at least once a month; otherwise, your account will be suspended."
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("Bejelentkezés sikertelen!"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 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: 0
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
# 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: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: category_id
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
selector: name
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
selector: details_link
|
||||
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: " +01:00" # CET
|
||||
- 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: " +01:00" # CET
|
||||
- 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)
|
||||
selector: download_link
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
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:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 48 hours (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.5 2023-07-06
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
|
||||
@@ -1,47 +1,68 @@
|
||||
---
|
||||
id: bitsearch
|
||||
replaces:
|
||||
- solidtorrents
|
||||
name: BitSearch
|
||||
description: "BitSearch is a Public torrent meta-search engine"
|
||||
description: "BitSearch (Solid Torrents) is a Public torrent meta-search engine"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
- https://solidtorrents.to/
|
||||
legacylinks:
|
||||
- https://bitsearch.nocensor.cloud/
|
||||
- https://bitsearch.mrunblock.bond/
|
||||
- https://solidtorrents.net/
|
||||
- https://solidtorrents.nocensor.cloud/
|
||||
- https://solidtorrents.eu/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Anime: TV/Anime
|
||||
Anime/Dub/Dual Audio: TV/Anime
|
||||
Anime/Raw: TV/Anime
|
||||
Anime/Subbed: TV/Anime
|
||||
AudioBook: Audio/Audiobook
|
||||
eBook: Books/EBook
|
||||
"Ebook/Course": Books/EBook
|
||||
Games: PC/Games
|
||||
"Games/PC": PC/Games
|
||||
Books: Books
|
||||
Books/Academic: Books/EBook
|
||||
Books/Comics: Books/Comics
|
||||
Books/Fiction: Books/EBook
|
||||
Books/Magazines: Books/Mags
|
||||
Books/Non-fiction: Books/EBook
|
||||
Ebook/Course: Books/EBook
|
||||
Games: Console
|
||||
Games/Console: Console
|
||||
Games/Mobile: PC/Mobile-Other
|
||||
Games/PC: PC/Games
|
||||
Games/RIP: PC/Games
|
||||
Movies: Movies
|
||||
Movies/Dub/Dual Audio: Movies
|
||||
Music: Audio
|
||||
"Music/Album": Audio
|
||||
"Music/mp3": Audio/MP3
|
||||
"Music/Lossless": Audio/Lossless
|
||||
"Music/Video": Audio/Video
|
||||
Music/Album: Audio
|
||||
Music/Discography: Audio
|
||||
Music/FLAC: Audio/Lossless
|
||||
Music/Lossless: Audio/Lossless
|
||||
Music/MP3: Audio/MP3
|
||||
Music/Single: Audio
|
||||
Other: Other
|
||||
"Other/Android": PC/Mobile-Android
|
||||
"Other/Archive": Other
|
||||
"Other/Audio": Audio
|
||||
"Other/Database": PC
|
||||
"Other/DiskImage": PC/ISO
|
||||
"Other/Document": Books/Comics
|
||||
"Other/Image": Other/Misc
|
||||
"Other/Program": PC/0day
|
||||
"Other/Sourcecode": PC
|
||||
"Other/Source Code": PC
|
||||
"Other/Video": Other
|
||||
Other/Android: PC/Mobile-Android
|
||||
Other/Archive: Other
|
||||
Other/Audio: Audio
|
||||
Other/Database: PC
|
||||
Other/DiskImage: PC/ISO
|
||||
Other/Document: Books/Comics
|
||||
Other/Image: Other/Misc
|
||||
Other/Program: PC
|
||||
Other/Source Code: PC
|
||||
Other/Video: TV
|
||||
Softwares: PC/0day
|
||||
"Softwares/Windows": PC/0day
|
||||
Softwares/Android: PC/Mobile-Android
|
||||
Softwares/Linux: PC
|
||||
Softwares/MacOS: PC/Mac
|
||||
Softwares/Windows: PC/0day
|
||||
Softwares/iOS: PC/Mobile-iOS
|
||||
TV: TV
|
||||
Unknown: Other
|
||||
XXX: XXX
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -51,139 +72,73 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: prefer_magnet_links
|
||||
type: checkbox
|
||||
label: Prefer Magnet Links
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: date
|
||||
label: Sort requested from site.
|
||||
default: created
|
||||
options:
|
||||
date: created
|
||||
created: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
label: Order requested from site.
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_category_8000
|
||||
type: info
|
||||
label: About BitSearch Categories
|
||||
default: BitSearch does not properly return categories in its search results for some releases.</br>To add to your Apps' Torznab indexer, you will need to include the 8000(Other) category.
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://bitsearch.to/search?q=&sort=date&order=desc
|
||||
- path: search
|
||||
inputs:
|
||||
q: "{{ .Keywords }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
limit: 100
|
||||
page: 1
|
||||
# https://bitsearch.to/search?q=spongebob&sortBy=created&order=desc&page=1
|
||||
- path: "{{ if .Keywords }}search?q={{ .Keywords }}&sortBy={{ .Config.sort }}&order={{ .Config.type }}&page=1{{ else }}latest{{ end }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: div.search-result:has(a.dl-torrent), li.search-result:has(a.dl-torrent)
|
||||
selector: div.space-y-4 > div.bg-white > div.items-start
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a.category
|
||||
# latest, search
|
||||
selector: div.space-y-2 > span:nth-child(1), span.space-x-1:nth-child(1)
|
||||
title:
|
||||
selector: h5 a
|
||||
selector: h3 > a
|
||||
details:
|
||||
selector: h5 a
|
||||
selector: h3 > a
|
||||
attribute: href
|
||||
download_optional:
|
||||
selector: a.dl-torrent
|
||||
attribute: href
|
||||
optional: true
|
||||
download:
|
||||
text: "{{ if .Config.prefer_magnet_links }}{{ else }}{{ .Result.download_optional }}{{ end }}"
|
||||
optional: true
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
selector: h3 > a
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
grabs_dot:
|
||||
selector: div.stats div:has(img[alt="Download"]):contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: ["K", "00"]
|
||||
- name: replace
|
||||
args: ["M", "00000"]
|
||||
grabs_nodot:
|
||||
selector: div.stats div:has(img[alt="Download"]):not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["K", "000"]
|
||||
- name: replace
|
||||
args: ["M", "000000"]
|
||||
grabs:
|
||||
text: "{{ if or .Result.grabs_dot .Result.grabs_nodot }}{{ or .Result.grabs_dot .Result.grabs_nodot }}{{ else }}0{{ end }}"
|
||||
size:
|
||||
selector: div.stats div:has(img[alt="Size"])
|
||||
seeders_dot:
|
||||
selector: div.stats div:has(img[alt="Seeder"]):contains(".")
|
||||
selector: div.space-y-2 > span:nth-child(2), span.space-x-1:nth-child(2)
|
||||
date_year:
|
||||
selector: div.space-y-2 > span:nth-child(3):contains("/"), span.space-x-1:nth-child(3):contains("/")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: ["K", "00"]
|
||||
- name: replace
|
||||
args: ["M", "00000"]
|
||||
seeders_nodot:
|
||||
selector: div.stats div:has(img[alt="Seeder"]):not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["K", "000"]
|
||||
- name: replace
|
||||
args: ["M", "000000"]
|
||||
seeders:
|
||||
text: "{{ if or .Result.seeders_dot .Result.seeders_nodot }}{{ or .Result.seeders_dot .Result.seeders_nodot }}{{ else }}0{{ end }}"
|
||||
leechers_dot:
|
||||
selector: div.stats div:has(img[alt="Leecher"]):contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: ["K", "00"]
|
||||
- name: replace
|
||||
args: ["M", "00000"]
|
||||
leechers_nodot:
|
||||
selector: div.stats div:has(img[alt="Leecher"]):not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["K", "000"]
|
||||
- name: replace
|
||||
args: ["M", "000000"]
|
||||
leechers:
|
||||
text: "{{ if or .Result.leechers_dot .Result.leechers_nodot }}{{ or .Result.leechers_dot .Result.leechers_nodot }}{{ else }}0{{ end }}"
|
||||
date:
|
||||
selector: div.stats div:has(img[alt="Date"])
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM d, yyyy"
|
||||
args: "M/d/yyyy"
|
||||
date_ago:
|
||||
selector: div.space-y-2 > span:nth-child(3):contains("ago"), span.space-x-1:nth-child(3):contains("ago")
|
||||
optional: true
|
||||
filters:
|
||||
- name: timeago
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_ago }}{{ or .Result.date_year .Result.date_ago }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: div.space-x-3 > span:nth-child(1), span:contains("seeders")
|
||||
leechers:
|
||||
selector: div.space-x-3 > span:nth-child(2), span:contains("leechers")
|
||||
grabs:
|
||||
selector: span:contains("downloads")
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
---
|
||||
id: bitsexy-api
|
||||
name: BitSexy (API)
|
||||
description: "BitSexy is a Private Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitsexy.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX/x264, desc: "Movies"}
|
||||
- {id: 2, cat: XXX/Pack, desc: "Pack"}
|
||||
- {id: 3, cat: XXX/ImageSet, desc: "Images"}
|
||||
- {id: 4, cat: Console, desc: "Games"}
|
||||
- {id: 5, cat: Books, desc: "Books"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-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://bitsexy.cc/\" target=\"_blank\">BitSexy</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: "<ul><li>You must log in once every 60 days or seed at least 1 torrent to not get disabled</li><li>Once disabled, you have another 60 days to log back in and have your account re-activated. You may need to contact Helpdesk to do so</li><li>Disabled account will be deleted after 180 days of inactivity</li><ul>"
|
||||
|
||||
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://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- 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:
|
||||
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
|
||||
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: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .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:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: bitturk
|
||||
name: BiTTuRK
|
||||
description: "BiTTuRK is a Turkish Private Torrent Tracker for HD MOVIES / TV / GENERAL. This Indexer is for English only."
|
||||
description: "BiTTuRK is a TURKISH Private Torrent Tracker for HD MOVIES / TV / GENERAL. This Indexer is for English only."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -13,67 +13,23 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 56, cat: Movies, desc: "BTRG"}
|
||||
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
|
||||
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
|
||||
- {id: 63, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 64, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 66, cat: Movies/HD, desc: "x265"}
|
||||
- {id: 67, cat: XXX, desc: "XxX"}
|
||||
- {id: 68, cat: Movies, desc: "Dual (TR-~)"}
|
||||
- {id: 71, cat: Movies, desc: "NFLIX"}
|
||||
- {id: 78, cat: TV, desc: "EXXEN"}
|
||||
- {id: 79, cat: TV, desc: "BLUTV"}
|
||||
- {id: 90, cat: TV, desc: "Disney+"}
|
||||
- {id: 91, cat: TV, desc: "Prime Video"}
|
||||
- {id: 93, cat: TV, desc: "Gain"}
|
||||
- {id: 94, cat: TV, desc: "ATVP"}
|
||||
- {id: 95, cat: Movies, desc: "HMAX"}
|
||||
- {id: 98, cat: Movies, desc: "PUHUTV"}
|
||||
- {id: 58, cat: Movies, desc: "Film"}
|
||||
- {id: 72, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 76, cat: Movies/UHD, desc: "4K UHD"}
|
||||
- {id: 80, cat: TV/Sport, desc: "Formula-1"}
|
||||
- {id: 45, cat: Other, desc: "Eğitim/Prog"}
|
||||
- {id: 1, cat: Movies, desc: "Filmler"}
|
||||
- {id: 14, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 77, cat: Movies/UHD, desc: "4K UHD"}
|
||||
- {id: 16, cat: Movies, desc: "Animasyon"}
|
||||
- {id: 17, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 31, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "Bluray"}
|
||||
- {id: 33, cat: Movies/HD, desc: "BRRiP"}
|
||||
- {id: 34, cat: Movies, desc: "Çizgi Film"}
|
||||
- {id: 35, cat: Movies, desc: "D-Z0N3"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 37, cat: Movies, desc: "MP4"}
|
||||
- {id: 38, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 39, cat: Movies, desc: "Türkçe BoX"}
|
||||
- {id: 40, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 41, cat: Movies, desc: "ViP"}
|
||||
- {id: 42, cat: Movies/SD, desc: "XviD"}
|
||||
- {id: 43, cat: Movies/SD, desc: "XviD BoX"}
|
||||
- {id: 55, cat: Movies/WEB-DL, desc: "WEB-DL"}
|
||||
- {id: 7, cat: Audio, desc: "Müzik"}
|
||||
- {id: 20, cat: Audio, desc: "Türkçe MüziK"}
|
||||
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
|
||||
- {id: 2, cat: Console, desc: "Oyun"}
|
||||
- {id: 74, cat: PC/Games, desc: "Oyun PC"}
|
||||
- {id: 84, cat: Console/PS3, desc: "Oyun Playstation"}
|
||||
- {id: 82, cat: Console/PSP, desc: " Oyun PSP"}
|
||||
- {id: 83, cat: Console/Other, desc: "Oyun Gameboy"}
|
||||
- {id: 87, cat: Console/XBox, desc: "Oyun XBOX"}
|
||||
- {id: 88, cat: Console/Other, desc: "Oyun NEO-GEO"}
|
||||
- {id: 89, cat: Console/Wii, desc: "Oyun Nintendo Wii"}
|
||||
- {id: 6, cat: PC/0day, desc: "Program"}
|
||||
- {id: 47, cat: Other, desc: "Resimler"}
|
||||
- {id: 113, cat: Movies, desc: "Yabancı Dil"}
|
||||
- {id: 77, cat: Movies/UHD, desc: "4K UHD / 3D"}
|
||||
- {id: 16, cat: Movies, desc: "Animasyon"}
|
||||
- {id: 31, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 112, cat: XXX, desc: "XxX"}
|
||||
- {id: 48, cat: TV, desc: "Televizyon"}
|
||||
- {id: 49, cat: TV/HD, desc: "Tv HD"}
|
||||
- {id: 50, cat: TV, desc: "Yab@ncı Dizi"}
|
||||
- {id: 51, cat: TV, desc: "Yerli Dizi"}
|
||||
- {id: 44, cat: Books, desc: "E-BooK"}
|
||||
- {id: 7, cat: Audio, desc: "Müzik"}
|
||||
- {id: 20, cat: Audio, desc: "Türkçe MüziK"}
|
||||
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||
- {id: 2, cat: Console, desc: "Oyun / Program"}
|
||||
- {id: 44, cat: Books, desc: "E-BooK / Eğitim"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -152,7 +108,6 @@ search:
|
||||
keywords: "{{ .Keywords }}"
|
||||
# name, description, both, uploader
|
||||
search_type: name
|
||||
searchin: title
|
||||
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||
# Drop error trap to stop Sonarr disabling indexer, see https://github.com/Jackett/Jackett/issues/1415
|
||||
|
||||
@@ -44,9 +44,7 @@ settings:
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
|
||||
@@ -10,23 +10,26 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: "/3ds", cat: Console/3DS, desc: "3DS"}
|
||||
- {id: "/arcade", cat: Console/Other, desc: "Arcade"}
|
||||
- {id: "/dreamcast", cat: Console/Other, desc: "Dreamcast"}
|
||||
- {id: "/nds", cat: Console/Other, desc: "DS"}
|
||||
- {id: "/gba", cat: Console/Other, desc: "Game Boy Advance"}
|
||||
- {id: "/gamecube", cat: Console/Other, desc: "GameCube"}
|
||||
- {id: "/genesis", cat: Console/Other, desc: "Mega Drive - Genesis"}
|
||||
- {id: "/neogeo", cat: Console/Other, desc: "Neo Geo"}
|
||||
- {id: "/3ds", cat: Console/3DS, desc: "Nintendo 3DS"}
|
||||
- {id: "/n64", cat: Console/NDS, desc: "Nintendo 64"}
|
||||
- {id: "/nds", cat: Console/NDS, desc: "Nintendo DS"}
|
||||
- {id: "/gamecube", cat: Console/Other, desc: "Nintendo GameCube"}
|
||||
- {id: "/switch", cat: Console/NDS, desc: "Nintendo Switch"}
|
||||
- {id: "/wii", cat: Console/Wii, desc: "Nintendo Wii"}
|
||||
- {id: "/wiiu", cat: Console/WiiU, desc: "Nintendo Wii U"}
|
||||
- {id: "/ps1", cat: Console/PS3, desc: "PlayStation"}
|
||||
- {id: "/ps2", cat: Console/PS3, desc: "PlayStation 2"}
|
||||
- {id: "/ps3", cat: Console/PS3, desc: "PlayStation 3"}
|
||||
- {id: "psp", cat: Console/PSP, desc: "PlayStation Portable"}
|
||||
- {id: "/ps4", cat: Console/PS4, desc: "PlayStation 4"}
|
||||
- {id: "/psp", cat: Console/PSP, desc: "PlayStation Portable"}
|
||||
- {id: "/psvita", cat: Console/PS Vita, desc: "PlayStation Vita"}
|
||||
- {id: "/saturn", cat: Console/Other, desc: "Saturn"}
|
||||
- {id: "/snes", cat: Console/NDS, desc: "Super Nintendo"}
|
||||
- {id: "/wii", cat: Console/Wii, desc: "Wii"}
|
||||
- {id: "/xbox", cat: Console/XBox, desc: "Xbox"}
|
||||
|
||||
modes:
|
||||
@@ -76,31 +79,30 @@ search:
|
||||
category:
|
||||
selector: p.card-text a
|
||||
attribute: href
|
||||
_platform:
|
||||
title_platform:
|
||||
selector: p.card-text a
|
||||
title:
|
||||
selector: h4.card-title a
|
||||
filters:
|
||||
- name: append
|
||||
args: " - {{ .Result._platform }}"
|
||||
args: " - {{ .Result.title_platform }}"
|
||||
details:
|
||||
selector: h4.card-title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: div.card-footer a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
size:
|
||||
selector: p.card-text
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+\.?\d+[T|G|K]iB)
|
||||
args: ([\d\.]+[T|G|M|K]iB)
|
||||
date:
|
||||
selector: p.card-text
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d{4}-\d{2}-\d{2})
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd"
|
||||
# release date is for game, not torrent
|
||||
text: now
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
@@ -109,4 +111,9 @@ search:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
description:
|
||||
selector: p.card-text
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(Score: .+)"
|
||||
# engine n/a
|
||||
|
||||
@@ -17,9 +17,7 @@ caps:
|
||||
- {id: 17, cat: Movies/UHD, desc: " |- 4k/UHD Filmy "}
|
||||
- {id: 31, cat: Movies/BluRay, desc: " |- Bluray DB/BD/DVD"}
|
||||
- {id: 51, cat: Movies/3D, desc: " |- 3D Filmy"}
|
||||
- {id: 14, cat: Movies/SD, desc: " |- DivX"}
|
||||
- {id: 45, cat: Movies/Other, desc: " |- Kreslené/Anime"}
|
||||
- {id: 16, cat: Movies/SD, desc: " |- CAM/Kino"}
|
||||
- {id: 40, cat: TV, desc: "-----TV-----"}
|
||||
- {id: 32, cat: TV, desc: " |- Serialy CZ/SK/EN"}
|
||||
- {id: 47, cat: TV, desc: " |- Serialy"}
|
||||
@@ -30,8 +28,9 @@ caps:
|
||||
- {id: 19, cat: PC/Mac, desc: " |- Programy MacOS"}
|
||||
- {id: 7, cat: Audio, desc: "-----Hudba-----"}
|
||||
- {id: 39, cat: Audio/Audiobook, desc: " |- Mluvene Slovo"}
|
||||
- {id: 21, cat: Audio, desc: " |- MP3/FLAC"}
|
||||
- {id: 21, cat: Audio/MP3, desc: " |- MP3"}
|
||||
- {id: 43, cat: Audio/Other, desc: " |- SoundTrack"}
|
||||
- {id: 53, cat: Audio/Lossless, desc: " |- Flac"}
|
||||
- {id: 2, cat: PC/Games, desc: "--Hry--"}
|
||||
- {id: 3, cat: Console/PS3, desc: " |- Sony PS"}
|
||||
- {id: 4, cat: Console/Wii, desc: " |- Wii"}
|
||||
@@ -40,7 +39,6 @@ caps:
|
||||
- {id: 28, cat: Console/NDS, desc: " |- Nintendo"}
|
||||
- {id: 42, cat: Books, desc: "Knihy A Časopisy"}
|
||||
- {id: 36, cat: Other, desc: "Ostatní"}
|
||||
- {id: 46, cat: XXX, desc: "XXX (18+)"}
|
||||
# not listed
|
||||
- {id: 41, cat: Movies, desc: "VIP Torrent"}
|
||||
- {id: 48, cat: Movies, desc: " |- RLS"}
|
||||
|
||||
@@ -73,9 +73,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -120,8 +120,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -142,8 +140,13 @@ search:
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -191,4 +194,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.4
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: bootytape
|
||||
name: BootyTape
|
||||
description: "BootyTape is a Semi-Private site for 3X"
|
||||
description: "BootyTape is a Semi-Private Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -36,9 +36,7 @@ settings:
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
|
||||
@@ -7,9 +7,16 @@ type: public
|
||||
encoding: UTF-8
|
||||
# current domain at https://cursor.vip/btmulu then follow links to the final search-movie link
|
||||
links:
|
||||
- https://btmulu.live/
|
||||
- https://www.btmulu.cyou/
|
||||
- https://www.btmulu.quest/
|
||||
- https://www.btmulu.cfd/
|
||||
- https://www.btmulu.help/
|
||||
legacylinks:
|
||||
- https://www.btmulu.asia/
|
||||
- https://www.btmulu.digital/
|
||||
legacylinks:
|
||||
- https://www.btmulu.pw/
|
||||
- https://www.btmulu.one/
|
||||
- https://btmulu.work/
|
||||
|
||||
caps:
|
||||
@@ -36,7 +43,7 @@ search:
|
||||
name: "{{ re_replace .Keywords \"[\\s]+\" \"+\" }}"
|
||||
|
||||
rows:
|
||||
selector: article.item
|
||||
selector: article.item:has(a[href^="/hash/"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
@@ -50,8 +57,11 @@ search:
|
||||
selector: a[href^="/hash/"]
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: article.item
|
||||
attribute: data-key
|
||||
selector: a[href^="/hash/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
date:
|
||||
selector: p
|
||||
filters:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: btschool
|
||||
name: BTSCHOOL
|
||||
description: "BTSCHOOL is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
description: "BTSCHOOL is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
id: btstate
|
||||
replaces:
|
||||
- btsate
|
||||
name: btstate
|
||||
description: "btstate 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,21 +1,21 @@
|
||||
---
|
||||
id: bwtorrents
|
||||
name: BwTorrents
|
||||
description: "BwTorrents is a Private Torrent Tracker for BollyWood MOVIES / TV / GENERAL"
|
||||
description: "BwTorrents is an INDIAN Private Torrent Tracker for MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bwtorrents.tv/
|
||||
- https://www.bwtorrents.life/
|
||||
- https://www.bwtorrents.pro/
|
||||
- https://bwtorrents.cc/
|
||||
- https://bwtorrents.live/
|
||||
legacylinks:
|
||||
- https://bwtorrents.fun/
|
||||
- https://bwtorrents.xyz/
|
||||
- https://bwtorrents.us/
|
||||
- https://bwtorrents.live/
|
||||
- https://bwtorrents.co/
|
||||
- https://www.bwtorrents.life/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -28,12 +28,11 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -68,16 +67,10 @@ settings:
|
||||
default: "Account retention rules:<ol><li>Newly registered users who have not generated any traffic within 14 days (that is, the upload/download data are both 0) will be deleted</li><li>Users with a user level of Peasant that have failed to successfully improve their sharing rate within 14 days will be deleted.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
# using cookie method because login page is dynamically generated with JS
|
||||
method: cookie
|
||||
inputs:
|
||||
logintype: username
|
||||
userinput: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
autologin: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?key="]
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
---
|
||||
id: cangbaoge
|
||||
name: cangbaoge (CBG)
|
||||
description: "cangbaoge (CBG) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://cangbao.ge/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/剧集"}
|
||||
- {id: 403, cat: TV, desc: "Playlet/短剧"}
|
||||
- {id: 404, cat: TV/Anime, desc: "Animations/动画"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Anime/动漫"}
|
||||
- {id: 406, cat: TV/Other, desc: "Children/儿童"}
|
||||
- {id: 407, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 408, cat: TV/Documentary, desc: "Documentary/纪录"}
|
||||
- {id: 409, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 410, cat: Books, desc: "Books/书籍"}
|
||||
|
||||
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: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li>Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
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, 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.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
optional: true
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
optional: true
|
||||
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: 2.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: capybarabr
|
||||
name: CapybaraBR
|
||||
name: CapybaraBR (API)
|
||||
description: "CapybaraBR is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: pt-BR
|
||||
type: private
|
||||
@@ -17,7 +17,7 @@ caps:
|
||||
- {id: 6, cat: Movies, desc: "Desenhos Animados"}
|
||||
- {id: 5, cat: Console, desc: "Jogos"}
|
||||
- {id: 9, cat: PC, desc: "Programas"}
|
||||
- {id: 10, cat: Audio, desc: "HQs"}
|
||||
- {id: 10, cat: Books/Comics, desc: "HQs"}
|
||||
- {id: 11, cat: Books/EBook, desc: "Livros"}
|
||||
- {id: 12, cat: Other, desc: "Cursos"}
|
||||
- {id: 13, cat: Books/Mags, desc: "Revistas"}
|
||||
@@ -78,9 +78,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -147,8 +147,13 @@ search:
|
||||
args: ["(?i)(Cinema TV)", "Cinema_TV"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://carp-hunter.hu/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/SD, desc: "Film/Cam/Eng", default: true}
|
||||
- {id: 2, cat: Movies/SD, desc: "Film/Cam/Hun", default: true}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: carpt
|
||||
name: CarPT
|
||||
description: "CarPT is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
description: "CarPT is a CHINESE Private Torrent Tracker for HD MOVIES / TV / MUSIC"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -65,7 +65,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account Retention Rules:<ol><li>Extreme User and above will be retained forever</li><li> Elite Users and above will not be banned after parking (in the Control Panel)</li><li>Users with a parked account will be banned if they do not log in for 360 consecutive days</li><li>Users with a non-parked account will be banned if they do not log in for 150 consecutive days</li><li> Users with no traffic (i.e., upload/download data is 0) who do not log in for 60 consecutive days will be banned.</li></ol>"
|
||||
default: "Account Retention Rules:<ol><li>Extreme User and above will be retained forever</li><li> Elite Users and above will not be banned after parking (in the Control Panel)</li><li>Users with a parked account will be banned if they do not log in for 150 consecutive days</li><li>Users with a non-parked account will be banned if they do not log in for 90 consecutive days</li><li> Users with no traffic (i.e., upload/download data is 0) who do not log in for 14 consecutive days will be banned.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -186,11 +186,11 @@ search:
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
text: 10
|
||||
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.14 2024-09-24
|
||||
# NexusPHP v1.8.15 2024-12-10
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
---
|
||||
id: catorrent
|
||||
name: Catorrent
|
||||
description: "Catorrent is a RUSSIAN Semi-Private Torrent Tracker for GAMES"
|
||||
description: "Catorrent is a RUSSIAN Public Torrent Tracker for GAMES"
|
||||
language: ru-RU
|
||||
type: semi-private
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://catorrent.net/
|
||||
legacylinks:
|
||||
- https://catorrent.org/
|
||||
|
||||
caps:
|
||||
@@ -33,28 +35,7 @@ caps:
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: index.php
|
||||
method: form
|
||||
form: form[action=""]
|
||||
inputs:
|
||||
login_name: "{{ .Config.username }}"
|
||||
login_password: "{{ .Config.password }}"
|
||||
login_not_save: ""
|
||||
login: submit
|
||||
error:
|
||||
- selector: div.berrors
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/index.php?action=logout"]
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selectors:
|
||||
@@ -78,6 +59,8 @@ search:
|
||||
fields:
|
||||
category:
|
||||
selector: div.icon_default
|
||||
optional: true
|
||||
default: PS1
|
||||
title:
|
||||
selector: div.short_game_title
|
||||
details:
|
||||
@@ -105,4 +88,4 @@ search:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
# DataLife v25
|
||||
|
||||
@@ -27,19 +27,16 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: useragent
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the cyanbug Web Site. Otherwise just leave it empty."
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info_useragent
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -67,29 +64,13 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
|
||||
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 180 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 90 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 7 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
method: cookie
|
||||
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
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -112,6 +93,9 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
@@ -148,7 +132,7 @@ search:
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -158,7 +142,7 @@ search:
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -168,13 +152,13 @@ search:
|
||||
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)
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
selector: td.rowfollow.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -189,10 +173,12 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 2.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.11 2024-03-27
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
# CGPeers uses the Luminance code, which is based on gazelle
|
||||
# ajax.php API additionally needs the auth=$authkey argument
|
||||
# Because the API is e.g. missing poster images we use screen scraping instead of the generic gazelle based approach
|
||||
---
|
||||
id: cgpeers
|
||||
name: CGPeers
|
||||
description: "CGPeers is a Private Torrent Tracker for GRAPHICS SOFTWARE / TUTORIALS / ETC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://cgpeers.to/
|
||||
legacylinks:
|
||||
- https://www.cgpeers.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: PC/ISO, desc: "Applications"}
|
||||
- {id: 8, cat: PC/ISO, desc: "Audio"}
|
||||
- {id: 7, cat: Other, desc: "Game Development"}
|
||||
- {id: 5, cat: Other, desc: "Materials"}
|
||||
- {id: 6, cat: Other/Misc, desc: "Miscellaneous"}
|
||||
- {id: 4, cat: Other, desc: "Models"}
|
||||
- {id: 2, cat: PC/0day, desc: "Plugins"}
|
||||
- {id: 3, cat: Other, desc: "Tutorials"}
|
||||
- {id: 9, cat: Other, desc: "Web Development"}
|
||||
|
||||
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
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="/user.php?id="]
|
||||
|
||||
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:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?)>"
|
||||
- name: re_replace
|
||||
args: ["[\\\\\"]", ""]
|
||||
- name: re_replace
|
||||
args: ["/static/common/noartwork/.+", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(6) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
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:
|
||||
i.unlimited_leech: 0
|
||||
i.sitewide_leech: 0
|
||||
img[alt="Freeleech"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
img[alt="DoubleSeed"]: 2
|
||||
"*": 1
|
||||
# luminance
|
||||
@@ -6,8 +6,8 @@ language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://chdbits.co/
|
||||
- https://ptchdbits.co/
|
||||
- https://chdbits.co/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -66,6 +66,8 @@ login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
headers:
|
||||
user-agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
@@ -80,9 +82,12 @@ login:
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
- selector: td.embedded:has(h2:contains("错误"))
|
||||
- selector: td.embedded:has(h2:contains("error"))
|
||||
- selector: font[color="red"]
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href*="logout.php"]
|
||||
selector: a[href*="logout"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
|
||||
@@ -73,9 +73,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -142,8 +142,13 @@ search:
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: cinemageddon
|
||||
name: Cinemageddon
|
||||
description: "B-movie tracker"
|
||||
description: "Cinemageddon is a Private Torrent Tracker for B-movies"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -38,6 +38,14 @@ caps:
|
||||
search: [q]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: cinematik
|
||||
name: Cinematik
|
||||
description: "A tracker for full BD and DVD discs of non-mainstream movies, niche cinema and arthouse."
|
||||
name: Cinematik (API)
|
||||
description: "Cinematik is a Private tracker for full BD and DVD discs of non-mainstream movies, niche cinema and arthouse."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -73,9 +73,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -120,8 +120,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -142,8 +140,13 @@ search:
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -191,4 +194,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.3.4
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
---
|
||||
id: clearjav-api
|
||||
name: ClearJAV (API)
|
||||
description: "ClearJAV is a Private Torrent Tracker for Japanese Adult Video (JAV) content from official JAV studios only."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://clearjav.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX, desc: "JAV"}
|
||||
|
||||
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://clearjav.com/\" target=\"_blank\">ClearJAV</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: "You must download or upload data within 30 days of joining, or your account may be pruned for lurking."
|
||||
|
||||
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://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- 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
|
||||
name: "{{ .Keywords }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
# there are no categories on the site so using XXX as a default
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 1
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
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
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: coastalcrew
|
||||
name: Coastal-Crew
|
||||
description: "Coastal-Crew is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
name: Coastal-Music-Crew
|
||||
description: "Coastal-Music-Crew (C-M-C) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -10,47 +10,90 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 30, cat: TV/Anime, desc: "Filme - Animie"}
|
||||
- {id: 28, cat: Movies/BluRay, desc: "Filme - Bluray"}
|
||||
- {id: 31, cat: Movies/Other, desc: "Filme - Bollywood"}
|
||||
- {id: 77, cat: TV/Documentary, desc: "Filme - DokusHD"}
|
||||
- {id: 32, cat: Movies/DVD, desc: "Filme - DVD"}
|
||||
- {id: 33, cat: Movies/HD, desc: "Filme - HD"}
|
||||
- {id: 34, cat: Movies, desc: "Filme - Klassiker"}
|
||||
- {id: 35, cat: Movies, desc: "Filme - Pack"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Filme - SD"}
|
||||
- {id: 37, cat: Movies/UHD, desc: "Filme - UHD"}
|
||||
- {id: 38, cat: Movies/HD, desc: "Filme - x264"}
|
||||
- {id: 39, cat: Audio, desc: "Musik - Alben"}
|
||||
- {id: 72, cat: Audio, desc: "Musik - Charts"}
|
||||
- {id: 40, cat: Audio, desc: "Musik - Diskografie"}
|
||||
- {id: 75, cat: Audio/Lossless, desc: "Musik - Flac"}
|
||||
- {id: 41, cat: Audio/Audiobook, desc: "Musik - Hoerbuch"}
|
||||
- {id: 74, cat: Audio/Other, desc: "Musik - Kids"}
|
||||
- {id: 42, cat: Audio, desc: "Musik - Mixe"}
|
||||
- {id: 66, cat: Audio, desc: "Musik - Pack"}
|
||||
- {id: 70, cat: Audio, desc: "Musik - Sampler Deu."}
|
||||
- {id: 71, cat: Audio, desc: "Musik - Sampler Int."}
|
||||
- {id: 76, cat: Audio/Other, desc: "Musik - Soundtrack"}
|
||||
- {id: 44, cat: Audio/Video, desc: "Musik - Video"}
|
||||
- {id: 45, cat: PC, desc: "Programme - Linux"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Programme - Mac"}
|
||||
- {id: 49, cat: PC/0day, desc: "Programme - Windows"}
|
||||
- {id: 65, cat: TV, desc: "Serien - Allgemein"}
|
||||
- {id: 50, cat: TV/Documentary, desc: "Serien - Dokus"}
|
||||
- {id: 51, cat: TV, desc: "Serien - Klassiker"}
|
||||
- {id: 52, cat: TV, desc: "Serien - Pack"}
|
||||
- {id: 53, cat: TV/Sport, desc: "Serien - Sport"}
|
||||
- {id: 62, cat: Books/EBook, desc: "EBook"}
|
||||
- {id: 63, cat: Movies, desc: "Fuer Unsere Kleinsten"}
|
||||
- {id: 64, cat: PC/Mobile-Other, desc: "Handy-Stuff"}
|
||||
- {id: 60, cat: Other, desc: "Sonstiges"}
|
||||
- {id: 69, cat: Books/Mags, desc: "Zeitung"}
|
||||
- {id: 54, cat: PC/Mobile-Other, desc: "Spiele - Handy"}
|
||||
- {id: 55, cat: Console, desc: "Spiele - Konsolen"}
|
||||
- {id: 57, cat: PC/Games, desc: "Spiele - Mac / Linux / PC"}
|
||||
- {id: 58, cat: Console/Other, desc: "Spiele - Wimmel"}
|
||||
- {id: 59, cat: XXX, desc: "XXX"}
|
||||
- {id: 122, cat: Movies, desc: "Movie Klassiker"}
|
||||
- {id: 124, cat: Movies, desc: "Movie Kids"}
|
||||
- {id: 127, cat: Movies, desc: "Movie Pack"}
|
||||
- {id: 138, cat: Movies/BluRay, desc: "Movie BluRay"}
|
||||
- {id: 140, cat: Movies/3D, desc: "Movie 3D"}
|
||||
- {id: 114, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Movie HD"}
|
||||
- {id: 26, cat: Movies/UHD, desc: "Movie 4K"}
|
||||
|
||||
- {id: 133, cat: TV/Anime, desc: "Serien Anime"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 56, cat: TV/SD, desc: "Serien DVD-R"}
|
||||
- {id: 123, cat: TV, desc: "Serien Klassiker"}
|
||||
- {id: 126, cat: TV, desc: "Serien Kids"}
|
||||
- {id: 132, cat: TV/UHD, desc: "Serien UHD"}
|
||||
|
||||
- {id: 92, cat: TV/Documentary, desc: "Doku Avi"}
|
||||
- {id: 94, cat: TV/Documentary, desc: "Doku Audio"}
|
||||
- {id: 135, cat: TV/Documentary, desc: "Doku UHD"}
|
||||
- {id: 13, cat: TV/Documentary, desc: "Doku DVD-R"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 136, cat: TV/Documentary, desc: "Doku Pack"}
|
||||
|
||||
- {id: 9, cat: PC, desc: "App Linux"}
|
||||
- {id: 10, cat: PC/Mac, desc: "App Mac"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "App Other"}
|
||||
- {id: 12, cat: PC/0day, desc: "App Win"}
|
||||
- {id: 139, cat: PC/Mobile-Android, desc: "App Android Apps"}
|
||||
|
||||
- {id: 16, cat: Console, desc: "Game Misc"}
|
||||
- {id: 17, cat: PC/Games, desc: "Game PC"}
|
||||
- {id: 18, cat: Console/PS3, desc: "Game PS2"}
|
||||
- {id: 19, cat: Console/PS3, desc: "Game PS3"}
|
||||
- {id: 20, cat: Console/PSP, desc: "Game PSP"}
|
||||
- {id: 21, cat: Console/PS4, desc: "Game PSX"}
|
||||
- {id: 22, cat: Console/Wii, desc: "Game Wii"}
|
||||
- {id: 23, cat: Console/XBox, desc: "Game XBOX"}
|
||||
- {id: 24, cat: Console/XBox 360, desc: "Game XBOX360"}
|
||||
|
||||
- {id: 137, cat: Audio, desc: "Music OST"}
|
||||
- {id: 54, cat: Audio, desc: "Music Single"}
|
||||
- {id: 48, cat: Audio, desc: "Music Album"}
|
||||
- {id: 49, cat: Audio, desc: "Music Charts"}
|
||||
- {id: 52, cat: Audio, desc: "Music Pack"}
|
||||
- {id: 53, cat: Audio, desc: "Music Sampler"}
|
||||
- {id: 120, cat: Audio, desc: "Music Xmas"}
|
||||
- {id: 121, cat: Audio/Lossless, desc: "Music Flac"}
|
||||
- {id: 55, cat: Audio/Video, desc: "Music Video SD"}
|
||||
- {id: 109, cat: Audio/Video, desc: "Music Video HD"}
|
||||
- {id: 110, cat: Audio/Video, desc: "Music DVD-R"}
|
||||
- {id: 128, cat: Audio, desc: "Music EP"}
|
||||
- {id: 125, cat: Audio, desc: "Music Kids"}
|
||||
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
- {id: 116, cat: TV/Sport, desc: "Sport DVD-R"}
|
||||
- {id: 117, cat: TV/Sport, desc: "Sport DVD-R"}
|
||||
|
||||
- {id: 134, cat: Other, desc: "Sonstiges Pack"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Sonstiges A-Book"}
|
||||
- {id: 96, cat: Books/EBook, desc: "Sonstiges E-Book"}
|
||||
- {id: 69, cat: Other, desc: "Sonstiges Tutorial"}
|
||||
- {id: 71, cat: Other/Misc, desc: "Sonstiges Other"}
|
||||
|
||||
- {id: 131, cat: TV/UHD, desc: "Internt'l Serie UHD"}
|
||||
- {id: 103, cat: Movies/SD, desc: "Internt'l Movie SD"}
|
||||
- {id: 98, cat: Movies/HD, desc: "Internt'l Movie HD"}
|
||||
- {id: 102, cat: TV/SD, desc: "Internt'l Serie SD"}
|
||||
- {id: 99, cat: TV/HD, desc: "Internt'l Serie HD"}
|
||||
- {id: 115, cat: Movies/DVD, desc: "Internt'l DVD-R"}
|
||||
- {id: 107, cat: Audio/Audiobook, desc: "Internt'l A-Book"}
|
||||
- {id: 106, cat: Books/EBook, desc: "Internt'l E-Book"}
|
||||
- {id: 105, cat: TV/Documentary, desc: "Internt'l Doku"}
|
||||
- {id: 104, cat: Other, desc: "Internt'l Misc"}
|
||||
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 74, cat: XXX/Other, desc: "XXX Other"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
|
||||
- {id: 76, cat: XXX/SD, desc: "XXX SD"}
|
||||
- {id: 113, cat: XXX/DVD, desc: "XXX DVD-R"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -66,14 +109,6 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Filter OnlyUpload only
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About Freeleech and OnlyUpload at Coastal Crew
|
||||
default: "<ul><li>FreeLeech are torrents where neither the download or upload is counted. (On the Prowlarr search results page these are tagged as NoUpload).</li><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Prowlarr search results page these are tagged as Freeleech).</li></ul>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -93,85 +128,102 @@ settings:
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents pro Seite:</b> setting to <b>100</b> on your Control Panel. The default is <i>15</i>.
|
||||
default: For best results, change the <b>Anzahl der Torrents beim Durchsuchen</b> <i>Torrents per page:</i> setting to <b>60</b> on your account profile. The default is <i>15</i>.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "If you do not log in, your account will be automatically deleted after 28 days."
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: .tablea:contains("Fehler")
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
# https://coastal-crew.bounceme.net/browse.php?showsearch=1&c62=1&c33=1&search=&incldead=1&orderby=added&sort=desc
|
||||
path: browse.php
|
||||
paths:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
showsearch: 1
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 dead
|
||||
incldead: 1
|
||||
# 0 name, 1 descr, 2 both (options 1 and 2 are disabled)
|
||||
blah: 0
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
# site does not support imdbid search from the browse.php page or return imdb links in results
|
||||
|
||||
rows:
|
||||
selector: "table.tableinborder[cellspacing=\"1\"][cellpadding=\"0\"]:not(:has(a[href=\"index.php\"])) > tbody > tr:has(a[href^=\"download.php\"]){{ if .Config.onlyupload }}:has(img[src=\"pic/oupic.gif\"]){{ else }}{{ end }}"
|
||||
selector: div.selection_wrap
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
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:
|
||||
selector: a[href^="details.php"]
|
||||
selector: a.selection_a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^\\[[\\w ]*\\]\\s?", ""]
|
||||
details:
|
||||
selector: a[href^="details.php"]
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
selector: a[href^="download_ssl.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[id="img-1"]
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(1)
|
||||
files:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(2)
|
||||
seeders:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(2) b:nth-child(1)
|
||||
leechers:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(2) > b:nth-of-type(2)
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(3) b:nth-child(1)
|
||||
date:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(5)
|
||||
selector: div.selection_unter_ae
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
args: [" um", ""]
|
||||
- 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:
|
||||
case:
|
||||
img[src="pic/oupic.gif"]: 0 # only upload is counted
|
||||
"*": 1
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freeleech.gif"]: 0 # nothing is counted
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.7
|
||||
# engine n/a
|
||||
text: 1
|
||||
# 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
|
||||
# 3xT
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: concertos
|
||||
name: Concertos
|
||||
description: "Concertos - Private site for Live Concerts with Strict Quality Control"
|
||||
name: Concertos (API)
|
||||
description: "Concertos is a Private Torrent Tracker for Live Concerts with Strict Quality Control"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -17,24 +17,29 @@ caps:
|
||||
- {id: 7, cat: TV, desc: "Opera"}
|
||||
- {id: 8, cat: TV, desc: "Musical"}
|
||||
- {id: 9, cat: Audio, desc: "Podcast"}
|
||||
- {id: 10, cat: TV, desc: "Educational"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: apikey
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
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://concertos.live/\" target=\"_blank\">Concertos</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
|
||||
@@ -43,6 +48,7 @@ settings:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
@@ -50,83 +56,141 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Your membership requires that you stay active at Blutopia. To not get disabled, you are required to login to the site at least once every 30 days or be actively seeding at least 1 torrent."
|
||||
|
||||
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
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: form[action$="/login"] .text-red
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
title: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
freeleech: "{{ if .Config.freeleech }}on{{ else }}{{ end }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
# 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: table > tbody > tr
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="?category_"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "category_(\\d+)"
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
selector: a[href*="/torrent/"]
|
||||
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: a[href*="/torrent/"]
|
||||
attribute: href
|
||||
selector: details_link
|
||||
download:
|
||||
selector: a[href*="/torrent/"]
|
||||
attribute: href
|
||||
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)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .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: "/download"
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td.torrents__size
|
||||
date:
|
||||
selector: td.torrents__age
|
||||
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
|
||||
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:
|
||||
i.fa-star: 0 # Freeleech
|
||||
i.fa-certificate: 0 # Featured
|
||||
"*": 1
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i.fa-certificate: 2 # Featured
|
||||
i.fa-gem: 2 # Double Upload
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 1.0 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# UNIT3D
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: cpasbienclone
|
||||
name: cpasbien clone
|
||||
description: "cpasbien clone is a FRENCH Public site for TV / MOVIES / GENERAL"
|
||||
description: "cpasbien clone is a FRENCH Public site for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
@@ -93,7 +93,7 @@ search:
|
||||
selector: a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
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:
|
||||
|
||||
@@ -5,22 +5,28 @@ description: "CrabPT (蟹黄堡) is a CHINESE Private Torrent Tracker for MOVIES
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://crabpt.vip/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "电影 / Movies"}
|
||||
- {id: 402, cat: TV, desc: "电视剧 / TVSeries"}
|
||||
- {id: 413, cat: TV/Other, desc: "短剧 / Playlet"}
|
||||
- {id: 408, cat: Audio, desc: "音乐 / Music"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime"}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV"}
|
||||
- {id: 403, cat: Movies, desc: "综艺 / TV Shows"}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary"}
|
||||
- {id: 409, cat: Other, desc: "其他 / Other"}
|
||||
- {id: 415, cat: Books/Comics, desc: "漫画 / Cartoon"}
|
||||
- {id: 401, cat: Movies, desc: "电影 / Movies", default: true}
|
||||
- {id: 402, cat: TV, desc: "电视剧 / TVSeries", default: true}
|
||||
- {id: 413, cat: TV/Other, desc: "短剧 / Playlet", default: true}
|
||||
- {id: 408, cat: Audio, desc: "音乐 / Music", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV", default: true}
|
||||
- {id: 403, cat: TV, desc: "综艺 / TV Shows", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary", default: true}
|
||||
- {id: 409, cat: Other, desc: "其他 / Other", default: true}
|
||||
- {id: 415, cat: Books/Comics, desc: "漫画 / Cartoon", default: true}
|
||||
- {id: 414, cat: Console, desc: "游戏 / Game", default: true}
|
||||
- {id: 412, cat: Other, desc: "学习 / Study", default: true}
|
||||
- {id: 411, cat: Audio/Audiobook, desc: "有声书 / Audiobook", default: true}
|
||||
- {id: 410, cat: Books/EBook, desc: "电子书 / Ebook", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -98,6 +104,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 413, 408, 405, 406, 403, 407, 404, 409]
|
||||
- path: special.php
|
||||
categories: [415, 414, 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 }}"
|
||||
@@ -170,12 +179,20 @@ search:
|
||||
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)
|
||||
optional: true
|
||||
default: 512MB
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
optional: true
|
||||
default: 0
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -198,4 +215,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.13 2024-09-21
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
|
||||
@@ -6,6 +6,8 @@ language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.crazyspirits.ca/
|
||||
legacylinks:
|
||||
- https://www.crazyspirits.com/
|
||||
|
||||
caps:
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
---
|
||||
id: cspt
|
||||
name: Caishen (财神)
|
||||
description: "Caishen (财神) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://cspt.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 408, cat: Audio, desc: "HQ音乐 / HQ Audio"}
|
||||
- {id: 409, cat: Other, desc: "其他 / Misc"}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育 / Sports"}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV / Music Videos"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary"}
|
||||
- {id: 403, cat: TV, desc: "综艺 / TV Shows"}
|
||||
- {id: 402, cat: TV, desc: "电视剧 / TVSeries"}
|
||||
- {id: 401, cat: Movies, desc: "电影 / Movies"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime"}
|
||||
|
||||
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: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users with no traffic (i.e. upload/download data is 0) will be deleted if they have not logged in for more than 100 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because site regularly disables login page for certain events during the year
|
||||
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, 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: div.torrents > div > div.torrent-table-sub-info
|
||||
|
||||
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: div.torrent-info-text-added > 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: div.torrent-info-text-added: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: div.torrent-info-text-size
|
||||
seeders:
|
||||
selector: div.torrent-info-text-seeders
|
||||
leechers:
|
||||
selector: div.torrent-info-text-leechers
|
||||
grabs:
|
||||
selector: div.torrent-info-text-finished
|
||||
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_verified:
|
||||
case:
|
||||
span[title="通过"]: "Verified:"
|
||||
span[title="未审"]: "Unverified:"
|
||||
span[title="拒绝"]: "Banned:"
|
||||
description:
|
||||
selector: div.text-start
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.15 2024-12-23
|
||||
@@ -169,6 +169,8 @@ search:
|
||||
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)
|
||||
optional: true
|
||||
default: 512MB
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
optional: true
|
||||
@@ -209,4 +211,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.9 2023-09-29
|
||||
# NexusPHP v1.8.14 2024-10-07
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
id: damagnet
|
||||
name: DaMagNet
|
||||
description: "DaMagNet is a Public DHT Crawler"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://damag.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Other, cat: Other, desc: Other}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_category_8000
|
||||
type: info_category_8000
|
||||
|
||||
download:
|
||||
infohash:
|
||||
hash:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
title:
|
||||
selector: input[name="q"]
|
||||
attribute: value
|
||||
filters:
|
||||
- name: validfilename
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://damag.net/?q=2025&wanted=100
|
||||
- path: /
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
# 20, 50, 100
|
||||
wanted: 100
|
||||
|
||||
headers:
|
||||
Referer: ["{{ .Config.sitelink }}"]
|
||||
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr:has(a)
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
title:
|
||||
selector: a
|
||||
details:
|
||||
selector: a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a
|
||||
attribute: href
|
||||
date:
|
||||
text: now
|
||||
files:
|
||||
selector: span.label
|
||||
size:
|
||||
selector: span[id^="size"]
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: danishbytes-api
|
||||
name: DanishBytes (API)
|
||||
description: "DanishBytes is a Private Danish Tracker"
|
||||
description: "DanishBytes is a Private Danish Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: da-DK
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -17,10 +17,12 @@ caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Sound"}
|
||||
- {id: 5, cat: PC/0day, desc: "Apps"}
|
||||
- {id: 4, cat: PC/Games, desc: "Games"}
|
||||
- {id: 5, cat: PC/0day, desc: "Appz"}
|
||||
- {id: 8, cat: Books, desc: "Bookz"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 8, cat: Books, desc: "Books"}
|
||||
- {id: 17, cat: Audio/Audiobook, desc: "AudioBooks"}
|
||||
- {id: 19, cat: Audio, desc: "Podcasts"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -0,0 +1,197 @@
|
||||
---
|
||||
id: darkpeers-api
|
||||
name: Darkpeers (API)
|
||||
description: "Darkpeers is a NORDIC Private Torrent Tracker for MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://darkpeers.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 4, cat: Console, desc: "Games"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 5, cat: PC, desc: "Software"}
|
||||
- {id: 6, cat: XXX, desc: "XXX"}
|
||||
- {id: 7, cat: Other, desc: "Assorted"}
|
||||
|
||||
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://darkpeers.org/\" target=\"_blank\">Darkpeers</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: "Users must log in or be seeding for their account to be considered active. If the account is not active for a consecutive 90 days, the account will be deactivated. After a consecutive 120 days, the account will be pruned."
|
||||
|
||||
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://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- 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
|
||||
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: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.8 but torrents must be seeded for 6 days or 1:1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 6 days (as seconds = 6 x 24 x 60 x 60)
|
||||
text: 518400
|
||||
# json UNIT3D 9.1.7
|
||||
@@ -0,0 +1,144 @@
|
||||
---
|
||||
id: dasunerwartete-api
|
||||
name: Das Unerwartete (API)
|
||||
description: "Das Unerwartete (D-U) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL. This is the API version."
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dasunerwartete.biz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 145, cat: Movies, desc: "Filme > DRG"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Filme > SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Filme > HD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme > BluRay"}
|
||||
- {id: 143, cat: TV/Anime, desc: "Filme > Anime"}
|
||||
- {id: 138, cat: Movies, desc: "Filme > Packs"}
|
||||
- {id: 148, cat: Movies, desc: "Filme > Packs UHD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien > SD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien > HD"}
|
||||
- {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
|
||||
- {id: 144, cat: TV/Anime, desc: "Serien > Anime"}
|
||||
- {id: 59, cat: TV, desc: "Serien > Packs"}
|
||||
- {id: 147, cat: TV, desc: "Serien > Packs UHD"}
|
||||
- {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, desc: "Apps > Other"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku > Reihe"}
|
||||
- {id: 126, cat: PC/Mobile-Other, desc: "Spiel > Mobil"}
|
||||
- {id: 17, cat: PC/Games, desc: "Spiel > PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiel > Konsole"}
|
||||
- {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: 76, cat: XXX/SD, desc: "XXX > SD"}
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX > HD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX > Pack"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX > Pic´s"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal > Film SD"}
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal > Film HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal > Serien SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal > Serien HD"}
|
||||
- {id: 132, cat: Other, desc: "Internal > Sonstiges"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, 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 your API Key by accessing your <a href=\"https://dasunerwartete.biz/\" target=\"_blank\">Das Unerwartete</a> profile page and look for the <b>API-Key:</b> tag."
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Search OnlyUpload
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About OnlyUpload at D-U
|
||||
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)."
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: api.php
|
||||
method: get
|
||||
response:
|
||||
type: xml
|
||||
inputs:
|
||||
apikey: "{{ .Config.apikey }}"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
q: "{{ .Query.Keywords }}"
|
||||
imdbid: "{{ .Query.IMDBID }}"
|
||||
tmdbid: "{{ .Query.TMDBID }}"
|
||||
free: "{{ if .Config.onlyupload }}yes{{ else }}{{ end }}"
|
||||
page: 1
|
||||
|
||||
rows:
|
||||
selector: item
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
title:
|
||||
selector: title
|
||||
_id:
|
||||
selector: guid
|
||||
details:
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: link
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&", "&"]
|
||||
size:
|
||||
selector: size
|
||||
date:
|
||||
# Thu, 30 Oct 2025 00:19:02 +0100
|
||||
selector: pubDate
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["+0100", "+01:00"]
|
||||
- name: dateparse
|
||||
args: "ddd, dd MMM yyyy HH:mm:ss zzz"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
imdbid:
|
||||
selector: imdb
|
||||
tmdbid:
|
||||
selector: tmdb
|
||||
_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
|
||||
# API XML
|
||||
@@ -10,66 +10,63 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Filme
|
||||
- {id: 28, cat: Movies/SD, desc: "SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "HD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "BluRay"}
|
||||
- {id: 143, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 138, cat: Movies, desc: "Pack`s"}
|
||||
# Serien
|
||||
- {id: 60, cat: TV/SD, desc: "SD"}
|
||||
- {id: 57, cat: TV/HD, desc: "HD"}
|
||||
- {id: 139, cat: TV/UHD, desc: "UHD"}
|
||||
- {id: 144, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 59, cat: TV, desc: "Pack`s"}
|
||||
# Audio
|
||||
- {id: 110, cat: Audio/MP3, desc: "MP3"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Flac"}
|
||||
- {id: 52, cat: Audio, desc: "Pack"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Hörbuch"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Videos"}
|
||||
# Apps
|
||||
- {id: 12, cat: PC/0day, desc: "Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 141, cat: PC, desc: "PC"}
|
||||
# Doku
|
||||
- {id: 15, cat: TV/Documentary, desc: "SD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "HD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Reihe"}
|
||||
# Spiel
|
||||
- {id: 126, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 17, cat: PC/Games, desc: "PC"}
|
||||
- {id: 24, cat: Console, desc: "Konsole"}
|
||||
- {id: 121, cat: Console, desc: "Wimmelbild"}
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "SD"}
|
||||
# ePaper
|
||||
- {id: 96, cat: Books/Mags, desc: "Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "E-Book"}
|
||||
- {id: 137, cat: Books/Comics, desc: "Comics"}
|
||||
# XXX
|
||||
- {id: 76, cat: XXX/SD, desc: "SD"}
|
||||
- {id: 73, cat: XXX/x264, desc: "HD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "Pack"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "Pic´s"}
|
||||
# Internal
|
||||
- {id: 129, cat: Movies/SD, desc: "Film SD"}
|
||||
- {id: 128, cat: Movies/HD, desc: "Film HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Serie SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 132, cat: Other, desc: "Sonstiges"}
|
||||
- {id: 145, cat: Movies, desc: "Filme > DRG"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Filme > SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Filme > HD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme > BluRay"}
|
||||
- {id: 143, cat: TV/Anime, desc: "Filme > Anime"}
|
||||
- {id: 138, cat: Movies, desc: "Filme > Packs"}
|
||||
- {id: 148, cat: Movies, desc: "Filme > Packs UHD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien > SD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien > HD"}
|
||||
- {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
|
||||
- {id: 144, cat: TV/Anime, desc: "Serien > Anime"}
|
||||
- {id: 59, cat: TV, desc: "Serien > Packs"}
|
||||
- {id: 147, cat: TV, desc: "Serien > Packs UHD"}
|
||||
- {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, desc: "Apps > Other"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku > Reihe"}
|
||||
- {id: 126, cat: PC/Mobile-Other, desc: "Spiel > Mobil"}
|
||||
- {id: 17, cat: PC/Games, desc: "Spiel > PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiel > Konsole"}
|
||||
- {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: 76, cat: XXX/SD, desc: "XXX > SD"}
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX > HD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX > Pack"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX > Pic´s"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal > Film SD"}
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal > Film HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal > Serien SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal > Serien HD"}
|
||||
- {id: 132, cat: Other, desc: "Internal > Sonstiges"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_password
|
||||
type: info
|
||||
label: About Password Expiry
|
||||
default: "D-U has an <b>20 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://dasunerwartete.biz/login.php\" target=\"_blank\">Das Unerwartete</a>, and if necessary use the <b>Passwort anfordern</b> (<i>Request password</i>) button to renew it."
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
@@ -78,28 +75,12 @@ settings:
|
||||
label: Password
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Filter OnlyUpload only
|
||||
label: Search OnlyUpload
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About OnlyUpload at D-U
|
||||
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
|
||||
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_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
@@ -118,86 +99,72 @@ login:
|
||||
password: "{{ .Config.password }}"
|
||||
loggiin: Login
|
||||
error:
|
||||
- selector: div#login_error
|
||||
- selector: div.error-message
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
# https://dasunerwartete.biz/selection.php?scat[]=60&scat[]=15&search=&blah=0&orderby=added&sort=desc
|
||||
path: selection.php
|
||||
paths:
|
||||
# https://dasunerwartete.biz/torrents_search.php?ajax=true&search=1080p&page=1&imdb=1034320&free=yes&c32=1
|
||||
- path: torrents_search.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}scat[]={{.}}&{{end}}"
|
||||
ajax: true
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: 0
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
# site does not support imdbid search from the browse.php page or return imdb links in results
|
||||
page: 1
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
# 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: "div.selection_wrap{{ if .Config.onlyupload }}:has(img[src=\"/pic/free.gif\"]){{ else }}{{ end }}"
|
||||
selector: data
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="selection.php?cat="]
|
||||
attribute: href
|
||||
categorydesc:
|
||||
selector: category
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
- name: htmldecode
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: name
|
||||
_id:
|
||||
selector: id
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: img[src^="cloud-data/"]
|
||||
attribute: src
|
||||
selector: cover
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
date_day:
|
||||
# Heute 03:27:27
|
||||
# Gestern 21:00:59
|
||||
selector: div.selection_unter_ab:contains("Heute"), div.selection_unter_ab:contains("Gestern")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute ", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern ", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date_year:
|
||||
# 14.03.2024 um 20:43:07
|
||||
selector: div.selection_unter_ab:not(:contains("Heute")):not(:contains("Gestern"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: replace
|
||||
args: ["um ", ""]
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||
selector: size
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
# 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:
|
||||
case:
|
||||
img[src="/pic/free.gif"]: 0
|
||||
"*": 1
|
||||
text: "{{ if .Result._onlyup }}0{{ else }}1{{ end }}"
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# THX custom
|
||||
# 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
|
||||
text: 129600
|
||||
# THX JSON (custom)
|
||||
|
||||
@@ -63,6 +63,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: single_file_release_use_filename
|
||||
type: checkbox
|
||||
label: Use filename as title for single file releases
|
||||
default: true
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -82,7 +86,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "<ul><li>Accounts with zero activity (0 bytes download and 0 bytes upload) are automatically deleted after 30 days.</li><li>Inactive VIP and unparked accounts are automatically deleted after 40 days.</li></ul>"
|
||||
default: "<ul><li>Accounts with zero activity (0 bytes download and 0 bytes upload) are automatically deleted after 30 days.</li><li>Inactive account under the rank of VIP that are unparked are automatically deleted after 40 days.</li></ul>"
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -96,9 +100,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -130,8 +134,15 @@ search:
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
@@ -152,8 +163,6 @@ search:
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)^None$", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)(All Sex)", "All_Sex"]
|
||||
- name: re_replace
|
||||
@@ -162,10 +171,13 @@ search:
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -177,12 +189,17 @@ search:
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
@@ -192,16 +209,20 @@ search:
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 2 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 7.2.0
|
||||
# json UNIT3D 9.1.1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: deildu
|
||||
name: Deildu
|
||||
description: "Deildu is an Icelandic Semi-Private site for TV / MOVIES / GENERAL"
|
||||
description: "Deildu is an ICELANDIC Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: is-IS
|
||||
type: semi-private
|
||||
encoding: iso-8859-1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: desitorrents-api
|
||||
name: DesiTorrents (API)
|
||||
description: "Desitorrents is a Private Torrent Tracker for BOLLYWOOD / TOLLYWOOD / MUSIC"
|
||||
description: "DesiTorrents is an INDIAN Private Torrent Tracker for MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -68,8 +68,8 @@ login:
|
||||
|
||||
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
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: "/api/v1/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -84,11 +84,11 @@ login:
|
||||
search:
|
||||
# https://devil-torrents.pl/szukaj.php?search=%&typ=torrent&c4=1&c748=1
|
||||
paths:
|
||||
- path: szukaj.php
|
||||
- path: "{{ if .Keywords }}szukaj.php{{ else }}files-torrent{{ end }}"
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
typ: torrent
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}%{{ end }}"
|
||||
typ: "{{ if .Keywords }}torrent{{ else }}{{ end }}"
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.test5 > tbody > tr > td > div[id]:has(a[href^="download/"])
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: diablotorrent
|
||||
name: Diablo Torrent
|
||||
description: "Diablo Torrent is a Hungarian Private site for TV / MOVIES / GENERAL"
|
||||
description: "Diablo Torrent is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://diablotorrent.net/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
# Film
|
||||
- {id: 49, cat: Movies/SD, desc: "Film > Cam", default: true}
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
---
|
||||
id: digitalcore-api
|
||||
replaces:
|
||||
- digitalcore
|
||||
name: DigitalCore (API)
|
||||
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: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Generate a new API Key by accessing your <a href=\"https://digitalcore.club/\" target=\"_blank\">DigitalCore</a> account <i>Settings</i> page and clicking on the <b>Security</b> tab."
|
||||
- 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 90 days, your account is disabled. Park your account if you are going away for long periods."
|
||||
|
||||
login:
|
||||
method: get
|
||||
path: /api/v1/torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: api/v1/torrents
|
||||
response:
|
||||
type: json
|
||||
noResultsMessage: ""
|
||||
|
||||
headers:
|
||||
X-API-KEY: ["{{ .Config.apikey }}"]
|
||||
|
||||
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.0
|
||||
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
|
||||
@@ -184,4 +184,4 @@ search:
|
||||
args: "cat={{ .Result.category_title }} - "
|
||||
minimumratio:
|
||||
text: 0.9
|
||||
# NexusPHP v1.8.13 2024-09-21
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: docspedia
|
||||
name: DocsPedia
|
||||
description: "DocsPedia is a Private Torrent Tracker for E-learning"
|
||||
description: "DocsPedia is a Private Torrent Tracker for E-LEARNING"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -26,6 +26,7 @@ caps:
|
||||
- {id: 79, cat: TV, desc: "Educational"}
|
||||
- {id: 93, cat: Books/EBook, desc: "Fantasy"}
|
||||
- {id: 71, cat: Other, desc: "Fonts"}
|
||||
- {id: 94, cat: Books/EBook, desc: "Gaming"}
|
||||
- {id: 82, cat: Books/EBook, desc: "History"}
|
||||
- {id: 87, cat: Books/EBook, desc: "Horror"}
|
||||
- {id: 72, cat: Books, desc: "IT Books"}
|
||||
|
||||
@@ -72,6 +72,8 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
|
||||
@@ -5,259 +5,115 @@ description: "Ebooks-Shares is a Private Torrent Tracker for EBOOKS / AUDIOBOOKS
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
testlinktorrent: false
|
||||
links:
|
||||
- https://ebooks-shares.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 274, cat: Audio/Audiobook, desc: "Audio: Poetry"}
|
||||
- {id: 1, cat: Audio/Audiobook, desc: "Audio: Adventure"}
|
||||
- {id: 2, cat: Audio/Audiobook, desc: "Audio: Radio Programs ie Dramas, Talk"}
|
||||
- {id: 3, cat: Audio/Audiobook, desc: "Audio: Non English"}
|
||||
- {id: 42, cat: Audio/Audiobook, desc: "Audio: Biography/Memoirs"}
|
||||
- {id: 4, cat: Audio/Audiobook, desc: "Audio: Business"}
|
||||
- {id: 5, cat: Audio/Audiobook, desc: "Audio: Childrens"}
|
||||
- {id: 7, cat: Audio/Audiobook, desc: "Audio: Classics"}
|
||||
- {id: 41, cat: Audio/Audiobook, desc: "Audio: Comedy"}
|
||||
- {id: 9, cat: Audio/Audiobook, desc: "Audio: Crime/Mystery/Thriller"}
|
||||
- {id: 10, cat: Audio/Audiobook, desc: "Audio: Factual"}
|
||||
- {id: 11, cat: Audio/Audiobook, desc: "Audio: Graphic Audio Books"}
|
||||
- {id: 43, cat: Audio/Audiobook, desc: "Audio: Historical Fiction"}
|
||||
- {id: 12, cat: Audio/Audiobook, desc: "Audio: History/Military"}
|
||||
- {id: 269, cat: Audio/Audiobook, desc: "Audio: History"}
|
||||
- {id: 14, cat: Audio/Audiobook, desc: "Audio: Horror"}
|
||||
- {id: 15, cat: Audio/Audiobook, desc: "Audio: Medical"}
|
||||
- {id: 16, cat: Audio/Audiobook, desc: "Audio: Music"}
|
||||
- {id: 45, cat: Audio/Audiobook, desc: "Audio: Non-Fict/Ref"}
|
||||
- {id: 46, cat: Audio/Audiobook, desc: "Audio: Novels"}
|
||||
- {id: 17, cat: Audio/Audiobook, desc: "Audio: General"}
|
||||
- {id: 22, cat: Audio/Audiobook, desc: "Audio: Philosophy/Belief"}
|
||||
- {id: 23, cat: Audio/Audiobook, desc: "Audio: Romance"}
|
||||
- {id: 24, cat: Audio/Audiobook, desc: "Audio: Sci-Fi/Fantasy"}
|
||||
- {id: 25, cat: Audio/Audiobook, desc: "Audio: Self-Improvement"}
|
||||
- {id: 26, cat: Audio/Audiobook, desc: "Audio: Mod. Scholar/TTC"}
|
||||
- {id: 27, cat: Audio/Audiobook, desc: "Audio: Travel"}
|
||||
- {id: 33, cat: Audio/Audiobook, desc: "Audio: Tutorials"}
|
||||
- {id: 34, cat: Audio/Audiobook, desc: "Audio: Western"}
|
||||
- {id: 35, cat: Audio/Audiobook, desc: "Audio: Young Adult"}
|
||||
- {id: 275, cat: Audio/Audiobook, desc: "Audio: Language"}
|
||||
- {id: 276, cat: Audio/Audiobook, desc: "Audio: Military Fiction"}
|
||||
- {id: 299, cat: Audio/Audiobook, desc: "Audio: Magazines"}
|
||||
- {id: 301, cat: Audio/Audiobook, desc: "Audio: Collections"}
|
||||
- {id: 314, cat: Audio/Audiobook, desc: "Audio: Dystopian/Post Apocalyptic Bks"}
|
||||
- {id: 47, cat: Books/EBook, desc: "Children's: Adventure"}
|
||||
- {id: 48, cat: Books/EBook, desc: "Children's: Novels"}
|
||||
- {id: 49, cat: Books/EBook, desc: "Children's: Collections"}
|
||||
- {id: 50, cat: Books/EBook, desc: "Children's: Educational"}
|
||||
- {id: 51, cat: Books/EBook, desc: "Children's: Games"}
|
||||
- {id: 52, cat: Books/EBook, desc: "Children's: General"}
|
||||
- {id: 283, cat: Books/EBook, desc: "Children's: Sci-Fi/Fantasy"}
|
||||
- {id: 284, cat: Books/EBook, desc: "Children's: Mystery"}
|
||||
- {id: 286, cat: Books/EBook, desc: "Children's: Early Years / Picture"}
|
||||
- {id: 295, cat: Books/EBook, desc: "Children's: Nonfiction"}
|
||||
- {id: 296, cat: Books/EBook, desc: "Children's: Leveled / Decodable Readers"}
|
||||
- {id: 288, cat: Books/EBook, desc: "Collections: Same Author"}
|
||||
- {id: 289, cat: Books/EBook, desc: "Collections: Same Series"}
|
||||
- {id: 291, cat: Books/EBook, desc: "Collections: Fiction"}
|
||||
- {id: 292, cat: Books/EBook, desc: "Collections: Non Fiction"}
|
||||
- {id: 220, cat: Books/Comics, desc: "Comics: Archie"}
|
||||
- {id: 222, cat: Books/Comics, desc: "Comics: Books & Mags - Comics"}
|
||||
- {id: 225, cat: Books/Comics, desc: "Comics: ComicStrip Collection"}
|
||||
- {id: 228, cat: Books/Comics, desc: "Comics: DC"}
|
||||
- {id: 244, cat: Books/Comics, desc: "Comics: Manga"}
|
||||
- {id: 245, cat: Books/Comics, desc: "Comics: Marvel"}
|
||||
- {id: 258, cat: Books/Comics, desc: "Comics: Other Pub - Humor/Satire"}
|
||||
- {id: 262, cat: Books/Comics, desc: "Comics: Other Pub - Educational"}
|
||||
- {id: 264, cat: Books/Comics, desc: "Comics: Independent Publishers"}
|
||||
- {id: 265, cat: Books/Comics, desc: "Comics: General/Misc"}
|
||||
- {id: 281, cat: Books/Technical, desc: "Computer: Tutorials"}
|
||||
- {id: 38, cat: Books/Technical, desc: "Computer: Applications"}
|
||||
- {id: 55, cat: Books/Technical, desc: "Computer: Gaming "}
|
||||
- {id: 56, cat: Books/Technical, desc: "Computer: General"}
|
||||
- {id: 57, cat: Books/Technical, desc: "Computer: Graphics"}
|
||||
- {id: 58, cat: Books/Technical, desc: "Computer: Internet-WWW"}
|
||||
- {id: 59, cat: Books/Technical, desc: "Computer: Networking"}
|
||||
- {id: 60, cat: Books/Technical, desc: "Computer: OS/Mac"}
|
||||
- {id: 61, cat: Books/Technical, desc: "Computer: OS/Other"}
|
||||
- {id: 62, cat: Books/Technical, desc: "Computer: OS/Windows"}
|
||||
- {id: 63, cat: Books/Technical, desc: "Computer: Programming "}
|
||||
- {id: 66, cat: Books/EBook, desc: "Doc/Vid/Tut: Computer"}
|
||||
- {id: 67, cat: Books/EBook, desc: "Doc/Vid/Tut: Crafts"}
|
||||
- {id: 68, cat: Books/EBook, desc: "Doc/Vid/Tut: Educational"}
|
||||
- {id: 69, cat: Books/EBook, desc: "Doc/Vid/Tut: General"}
|
||||
- {id: 70, cat: Books/EBook, desc: "Doc/Vid/Tut: History"}
|
||||
- {id: 71, cat: Books/EBook, desc: "Doc/Vid/Tut: Medical/Health"}
|
||||
- {id: 72, cat: Books/EBook, desc: "Doc/Vid/Tut: Military"}
|
||||
- {id: 73, cat: Books/EBook, desc: "Doc/Vid/Tut: Modelling"}
|
||||
- {id: 74, cat: Books/EBook, desc: "Doc/Vid/Tut: Sciences"}
|
||||
- {id: 75, cat: Books/EBook, desc: "Doc/Vid/Tut: Transportation"}
|
||||
- {id: 76, cat: Books/EBook, desc: "Doc/Vid/Tut: Woodworking"}
|
||||
- {id: 287, cat: Books/EBook, desc: "Doc/Vid/Tut: Martial Arts/Boxing/Wrestling"}
|
||||
- {id: 121, cat: Books/EBook, desc: "Educational: Arts"}
|
||||
- {id: 122, cat: Books/EBook, desc: "Educational: Astronomy/Cosmology"}
|
||||
- {id: 123, cat: Books/EBook, desc: "Educational: Biology & Genetics"}
|
||||
- {id: 124, cat: Books/EBook, desc: "Educational: Chemistry"}
|
||||
- {id: 125, cat: Books/EBook, desc: "Educational: Culture/Languages"}
|
||||
- {id: 126, cat: Books/EBook, desc: "Educational: Earth Sciences"}
|
||||
- {id: 127, cat: Books/EBook, desc: "Educational: Educational"}
|
||||
- {id: 128, cat: Books/EBook, desc: "Educational: Engineering & Technology "}
|
||||
- {id: 129, cat: Books/EBook, desc: "Educational: Environmental Studies"}
|
||||
- {id: 130, cat: Books/EBook, desc: "Educational: General Science Titles"}
|
||||
- {id: 131, cat: Books/EBook, desc: "Educational: Literature / Writing"}
|
||||
- {id: 132, cat: Books/EBook, desc: "Educational: Mathematics and Statistics"}
|
||||
- {id: 133, cat: Books/EBook, desc: "Educational: Medical Texts"}
|
||||
- {id: 134, cat: Books/EBook, desc: "Educational: Military History"}
|
||||
- {id: 135, cat: Books/EBook, desc: "Educational: Non-Military History"}
|
||||
- {id: 136, cat: Books/EBook, desc: "Educational: Paleontology"}
|
||||
- {id: 137, cat: Books/EBook, desc: "Educational: Physics"}
|
||||
- {id: 138, cat: Books/EBook, desc: "Educational: Psychology"}
|
||||
- {id: 139, cat: Books/EBook, desc: "Educational: Student Reference"}
|
||||
- {id: 297, cat: Books/EBook, desc: "Educational: Life Sciences/Evolution/Human "}
|
||||
- {id: 77, cat: Books/EBook, desc: "Fiction: Adventure"}
|
||||
- {id: 78, cat: Books/EBook, desc: "Fiction: Classics"}
|
||||
- {id: 79, cat: Books/EBook, desc: "Fiction: Collections"}
|
||||
- {id: 80, cat: Books/EBook, desc: "Fiction: Comedy/Humorous "}
|
||||
- {id: 81, cat: Books/EBook, desc: "Fiction: Crime/Mystery/Thriller"}
|
||||
- {id: 302, cat: Books/EBook, desc: "Fiction: Cozy Mysteries"}
|
||||
- {id: 82, cat: Books/EBook, desc: "Fiction: General Fiction"}
|
||||
- {id: 83, cat: Books/EBook, desc: "Fiction: Horror"}
|
||||
- {id: 84, cat: Books/EBook, desc: "Fiction: Military & Historic"}
|
||||
- {id: 86, cat: Books/EBook, desc: "Fiction: Romance"}
|
||||
- {id: 87, cat: Books/EBook, desc: "Fiction: Sci-Fi/Fantasy"}
|
||||
- {id: 88, cat: Books/EBook, desc: "Fiction: Westerns"}
|
||||
- {id: 270, cat: Books/EBook, desc: "Fiction: Historical "}
|
||||
- {id: 312, cat: Books/EBook, desc: "Fiction: Various Authors"}
|
||||
- {id: 303, cat: Books/EBook, desc: "Fiction: Poetry"}
|
||||
- {id: 313, cat: Books/EBook, desc: "Fiction: Dystopian"}
|
||||
- {id: 140, cat: Books/EBook, desc: "Hobby/Pastime: Art"}
|
||||
- {id: 141, cat: Books/EBook, desc: "Hobby/Pastime: Boating"}
|
||||
- {id: 142, cat: Books/EBook, desc: "Hobby/Pastime: Crafts/Knitting/Sewing"}
|
||||
- {id: 143, cat: Books/EBook, desc: "Hobby/Pastime: Food & Drink"}
|
||||
- {id: 144, cat: Books/EBook, desc: "Hobby/Pastime: Games/RPG/Gaming"}
|
||||
- {id: 145, cat: Books/EBook, desc: "Hobby/Pastime: General Pastimes"}
|
||||
- {id: 146, cat: Books/EBook, desc: "Hobby/Pastime: Graphic Arts and Design"}
|
||||
- {id: 147, cat: Books/EBook, desc: "Hobby/Pastime: Health/Lifestyle"}
|
||||
- {id: 148, cat: Books/EBook, desc: "Hobby/Pastime: Home/Gardening"}
|
||||
- {id: 149, cat: Books/EBook, desc: "Hobby/Pastime: Metalworking"}
|
||||
- {id: 150, cat: Books/EBook, desc: "Hobby/Pastime: Modelling"}
|
||||
- {id: 151, cat: Books/EBook, desc: "Hobby/Pastime: Pets/Vet Science"}
|
||||
- {id: 152, cat: Books/EBook, desc: "Hobby/Pastime: Photography"}
|
||||
- {id: 153, cat: Books/EBook, desc: "Hobby/Pastime: Quiz and Crossword Books"}
|
||||
- {id: 154, cat: Books/EBook, desc: "Hobby/Pastime: Sports"}
|
||||
- {id: 155, cat: Books/EBook, desc: "Hobby/Pastime: Travel"}
|
||||
- {id: 156, cat: Books/EBook, desc: "Hobby/Pastime: Woodworking"}
|
||||
- {id: 157, cat: Books/EBook, desc: "Language Learn: Arabic"}
|
||||
- {id: 158, cat: Books/EBook, desc: "Language Learn: Chinese"}
|
||||
- {id: 159, cat: Books/EBook, desc: "Language Learn: English"}
|
||||
- {id: 160, cat: Books/EBook, desc: "Language Learn: French"}
|
||||
- {id: 161, cat: Books/EBook, desc: "Language Learn: German"}
|
||||
- {id: 162, cat: Books/EBook, desc: "Language Learn: Italian"}
|
||||
- {id: 163, cat: Books/EBook, desc: "Language Learn: Japanese"}
|
||||
- {id: 164, cat: Books/EBook, desc: "Language Learn: Latin"}
|
||||
- {id: 165, cat: Books/EBook, desc: "Language Learn: Nordic Lang"}
|
||||
- {id: 166, cat: Books/EBook, desc: "Language Learn: Oriental Lang"}
|
||||
- {id: 167, cat: Books/EBook, desc: "Language Learn: Russian"}
|
||||
- {id: 168, cat: Books/EBook, desc: "Language Learn: Spanish"}
|
||||
- {id: 169, cat: Books/EBook, desc: "Language Learn: Other Lang"}
|
||||
- {id: 310, cat: Books/Mags, desc: "Magazines: Woodworking"}
|
||||
- {id: 311, cat: Books/Mags, desc: "Magazines: Sewing, Knitting and Quilting"}
|
||||
- {id: 170, cat: Books/Mags, desc: "Magazines : Computer"}
|
||||
- {id: 171, cat: Books/Mags, desc: "Magazines: Current Events"}
|
||||
- {id: 172, cat: Books/Mags, desc: "Magazines: Business/Finance "}
|
||||
- {id: 173, cat: Books/Mags, desc: "Magazines: Electronics"}
|
||||
- {id: 174, cat: Books/Mags, desc: "Magazines: General/Misc"}
|
||||
- {id: 175, cat: Books/Mags, desc: "Magazines: Military"}
|
||||
- {id: 176, cat: Books/Mags, desc: "Magazines: Photography"}
|
||||
- {id: 177, cat: Books/Mags, desc: "Magazines: Sciences "}
|
||||
- {id: 178, cat: Books/Mags, desc: "Magazines: Sports"}
|
||||
- {id: 179, cat: Books/Mags, desc: "Magazines: Technology"}
|
||||
- {id: 180, cat: Books/Mags, desc: "Magazines: Transportation"}
|
||||
- {id: 181, cat: Books/EBook, desc: "Military: Aircraft"}
|
||||
- {id: 182, cat: Books/EBook, desc: "Military: Armour"}
|
||||
- {id: 183, cat: Books/EBook, desc: "Military: General Military"}
|
||||
- {id: 184, cat: Books/EBook, desc: "Military: Miscellaneous"}
|
||||
- {id: 185, cat: Books/EBook, desc: "Military: Naval"}
|
||||
- {id: 186, cat: Books/Foreign, desc: "Non English Bks: Dutch"}
|
||||
- {id: 187, cat: Books/Foreign, desc: "Non English Bks: French"}
|
||||
- {id: 188, cat: Books/Foreign, desc: "Non English Bks: German"}
|
||||
- {id: 189, cat: Books/Foreign, desc: "Non English Bks: Greek"}
|
||||
- {id: 190, cat: Books/Foreign, desc: "Non English Bks: Hungarian"}
|
||||
- {id: 191, cat: Books/Foreign, desc: "Non English Bks: Italian"}
|
||||
- {id: 192, cat: Books/Foreign, desc: "Non English Bks: Japanese"}
|
||||
- {id: 194, cat: Books/Foreign, desc: "Non English Bks: Other"}
|
||||
- {id: 193, cat: Books/Foreign, desc: "Non English Bks: Polish"}
|
||||
- {id: 195, cat: Books/Foreign, desc: "Non English Bks: Romanian"}
|
||||
- {id: 196, cat: Books/Foreign, desc: "Non English Bks: Russian"}
|
||||
- {id: 197, cat: Books/Foreign, desc: "Non English Bks: Scandinavian"}
|
||||
- {id: 198, cat: Books/Foreign, desc: "Non English Bks: Serbian"}
|
||||
- {id: 199, cat: Books/Foreign, desc: "Non English Bks: Spanish"}
|
||||
- {id: 89, cat: Books/EBook, desc: "Non Fict/Ref: Agricultural"}
|
||||
- {id: 90, cat: Books/EBook, desc: "Non Fict/Ref: Alt. Therapies"}
|
||||
- {id: 95, cat: Books/EBook, desc: "Non Fict/Ref: Architecture"}
|
||||
- {id: 91, cat: Books/EBook, desc: "Non Fict/Ref: Auto & Repair"}
|
||||
- {id: 92, cat: Books/EBook, desc: "Non Fict/Ref: Aviation"}
|
||||
- {id: 94, cat: Books/EBook, desc: "Non Fict/Ref: Biographies and Memoirs"}
|
||||
- {id: 96, cat: Books/EBook, desc: "Non Fict/Ref: Business/Finance"}
|
||||
- {id: 97, cat: Books/EBook, desc: "Non Fict/Ref: Comedy/Humorous"}
|
||||
- {id: 98, cat: Books/EBook, desc: "Non Fict/Ref: Crime"}
|
||||
- {id: 99, cat: Books/EBook, desc: "Non Fict/Ref: Criminology"}
|
||||
- {id: 100, cat: Books/EBook, desc: "Non Fict/Ref: Economics & Math"}
|
||||
- {id: 102, cat: Books/EBook, desc: "Non Fict/Ref: Electronics"}
|
||||
- {id: 103, cat: Books/EBook, desc: "Non Fict/Ref: Enc/Dict/Atlas,s"}
|
||||
- {id: 104, cat: Books/EBook, desc: "Non Fict/Ref: Entertainment"}
|
||||
- {id: 105, cat: Books/EBook, desc: "Non Fict/Ref: General Ref"}
|
||||
- {id: 106, cat: Books/EBook, desc: "Non Fict/Ref: Geo & Archaeology"}
|
||||
- {id: 107, cat: Books/EBook, desc: "Non Fict/Ref: Journ/Current Affairs "}
|
||||
- {id: 108, cat: Books/EBook, desc: "Non Fict/Ref: Legal"}
|
||||
- {id: 109, cat: Books/EBook, desc: "Non Fict/Ref: Medical/Health"}
|
||||
- {id: 110, cat: Books/EBook, desc: "Non Fict/Ref: Motorcycle"}
|
||||
- {id: 111, cat: Books/EBook, desc: "Non Fict/Ref: Music"}
|
||||
- {id: 112, cat: Books/EBook, desc: "Non Fict/Ref: Parenting/Family"}
|
||||
- {id: 113, cat: Books/EBook, desc: "Non Fict/Ref: Philosophy & Belief"}
|
||||
- {id: 114, cat: Books/EBook, desc: "Non Fict/Ref: Literature / Writing"}
|
||||
- {id: 115, cat: Books/EBook, desc: "Non Fict/Ref: Political Science"}
|
||||
- {id: 116, cat: Books/EBook, desc: "Non Fict/Ref: Project Management"}
|
||||
- {id: 117, cat: Books/EBook, desc: "Non Fict/Ref: Self-Improvement"}
|
||||
- {id: 118, cat: Books/EBook, desc: "Non Fict/Ref: Sht Music-Tablatures"}
|
||||
- {id: 119, cat: Books/EBook, desc: "Non Fict/Ref: Sociology/Politics"}
|
||||
- {id: 120, cat: Books/EBook, desc: "Non Fict/Ref: Transportation"}
|
||||
- {id: 266, cat: Books/EBook, desc: "Non Fict/Ref: Technology Books"}
|
||||
- {id: 267, cat: Books/EBook, desc: "Non Fict/Ref: History Books"}
|
||||
- {id: 271, cat: Books/EBook, desc: "Non Fict/Ref: Collections"}
|
||||
- {id: 272, cat: Books/EBook, desc: "Non Fict/Ref: DIY (Do It Yourself)"}
|
||||
- {id: 273, cat: Books/EBook, desc: "Non Fict/Ref: Archaeology"}
|
||||
- {id: 278, cat: Books/EBook, desc: "Non Fict/Ref: Conspiracy Theory/UFO/Alien Bk"}
|
||||
- {id: 279, cat: Books/EBook, desc: "Non Fict/Ref: Psychology"}
|
||||
- {id: 280, cat: Books/EBook, desc: "Non Fict/Ref: Education"}
|
||||
- {id: 282, cat: Books/EBook, desc: "Non Fict/Ref: Martial Arts/Boxing/Wrestling"}
|
||||
- {id: 293, cat: Books/EBook, desc: "Non Fict/Ref: Zoology & Veterinary Science"}
|
||||
- {id: 294, cat: Books/EBook, desc: "Non Fict/Ref: True Stories"}
|
||||
- {id: 300, cat: Books/EBook, desc: "Non Fict/Ref: Maritime Books (Building,navig"}
|
||||
- {id: 200, cat: Books/EBook, desc: "Teens: Collections"}
|
||||
- {id: 201, cat: Books/EBook, desc: "Teens: Educational"}
|
||||
- {id: 202, cat: Books/EBook, desc: "Teens: Fiction"}
|
||||
- {id: 203, cat: Books/EBook, desc: "Teens: Non Fiction"}
|
||||
- {id: 285, cat: Books/EBook, desc: "Teens: Sci-Fi/Fantasy"}
|
||||
- {id: 305, cat: Books/Other, desc: "VIP: Science Fiction"}
|
||||
- {id: 307, cat: Books/Other, desc: "VIP: Thriller"}
|
||||
- {id: 306, cat: Books/Other, desc: "VIP: Mystery"}
|
||||
- {id: 308, cat: Books/Other, desc: "VIP: Crime"}
|
||||
- {id: 309, cat: Books/Other, desc: "VIP: Fantasy"}
|
||||
- {id: 204, cat: Books/Other, desc: "VIP: Collections"}
|
||||
- {id: 205, cat: Books/Other, desc: "VIP: Audiobooks"}
|
||||
- {id: 206, cat: Books/Other, desc: "VIP: Comics"}
|
||||
- {id: 207, cat: Books/Other, desc: "VIP: Computers"}
|
||||
- {id: 208, cat: Books/Other, desc: "VIP: Documentaries"}
|
||||
- {id: 209, cat: Books/Other, desc: "VIP: Educational"}
|
||||
- {id: 210, cat: Books/Other, desc: "VIP: Fiction"}
|
||||
- {id: 211, cat: Books/Other, desc: "VIP: Hobby/Craft"}
|
||||
- {id: 212, cat: Books/Other, desc: "VIP: Literature"}
|
||||
- {id: 213, cat: Books/Other, desc: "VIP: Medical"}
|
||||
- {id: 214, cat: Books/Other, desc: "VIP: Military"}
|
||||
- {id: 215, cat: Books/Other, desc: "VIP: Music"}
|
||||
- {id: 216, cat: Books/Other, desc: "VIP: Non Fiction"}
|
||||
- {id: 217, cat: Books/Other, desc: "VIP: Original Content"}
|
||||
- {id: 218, cat: Books/Other, desc: "VIP: RPG"}
|
||||
# Audio
|
||||
- {id: 293, cat: Audio/Audiobook, desc: "Audio: Fiction"}
|
||||
- {id: 294, cat: Audio/Audiobook, desc: "Audio:Sci-Fi/Fantasy"}
|
||||
- {id: 295, cat: Audio/Audiobook, desc: "Audio:Crime/Thriller"}
|
||||
- {id: 296, cat: Audio/Audiobook, desc: "Audio:Horror"}
|
||||
- {id: 297, cat: Audio/Audiobook, desc: "Audio:General"}
|
||||
- {id: 302, cat: Audio/Audiobook, desc: "Audio: (TTC,TMS,TGC)"}
|
||||
- {id: 303, cat: Audio/Audiobook, desc: "Audio:Autobiography "}
|
||||
- {id: 308, cat: Audio/Audiobook, desc: "Audio:Collections"}
|
||||
- {id: 309, cat: Audio/Audiobook, desc: "Audio:History"}
|
||||
- {id: 310, cat: Audio/Audiobook, desc: "Audio:Children/YA"}
|
||||
- {id: 311, cat: Audio/Audiobook, desc: "Audio:Romance"}
|
||||
- {id: 317, cat: Audio/Audiobook, desc: "Audio:Urbn Fant/para"}
|
||||
- {id: 319, cat: Audio/Audiobook, desc: "Audio:V.I.P"}
|
||||
- {id: 320, cat: Audio/Audiobook, desc: "Audio:Science/engine"}
|
||||
- {id: 321, cat: Audio/Audiobook, desc: "Audio:History/War"}
|
||||
- {id: 322, cat: Audio/Audiobook, desc: "Audio:non fiction"}
|
||||
- {id: 323, cat: Audio/Audiobook, desc: "Audio:Educational"}
|
||||
- {id: 324, cat: Audio/Audiobook, desc: "Audio:Tutorials"}
|
||||
- {id: 325, cat: Audio/Audiobook, desc: "Audio:True Crime"}
|
||||
- {id: 326, cat: Audio/Audiobook, desc: "Audio:Tech/Computers"}
|
||||
# Collections
|
||||
- {id: 305, cat: Books/EBook, desc: "Same Author"}
|
||||
- {id: 345, cat: Books/Mags, desc: "Collection: Magazines"}
|
||||
- {id: 307, cat: Books/EBook, desc: "Collection: Military"}
|
||||
- {id: 342, cat: Books/EBook, desc: "Collection: Multiple Authors"}
|
||||
- {id: 343, cat: Books/EBook, desc: "Collection: Fantasy"}
|
||||
- {id: 359, cat: Books/EBook, desc: "Collection: Same Series"}
|
||||
- {id: 364, cat: Books/EBook, desc: "Collection: Multiple: Fiction"}
|
||||
- {id: 365, cat: Books/EBook, desc: "Collection: Multiple:Non Fiction"}
|
||||
# Fiction
|
||||
- {id: 281, cat: Books/EBook, desc: "Horror"}
|
||||
- {id: 282, cat: Books/EBook, desc: "Sci-Fi/Fantasy"}
|
||||
- {id: 275, cat: Books/EBook, desc: "General Fiction"}
|
||||
- {id: 280, cat: Books/EBook, desc: "Crime/Thriller/Myste"}
|
||||
- {id: 312, cat: Books/EBook, desc: "Romance"}
|
||||
- {id: 313, cat: Books/EBook, desc: "Comedy/Humour"}
|
||||
- {id: 314, cat: Books/EBook, desc: "Historical Fiction"}
|
||||
- {id: 315, cat: Books/EBook, desc: "Cozy/Mystery "}
|
||||
- {id: 318, cat: Books/EBook, desc: "Urbn Fantasy/Para"}
|
||||
- {id: 340, cat: Books/EBook, desc: "Lit/RPG"}
|
||||
- {id: 341, cat: Books/EBook, desc: "Collections"}
|
||||
- {id: 352, cat: Books/EBook, desc: "Westerns"}
|
||||
# Children & Y/A
|
||||
- {id: 299, cat: Books/EBook, desc: "Young Adult"}
|
||||
- {id: 298, cat: Books/EBook, desc: "Children's"}
|
||||
# Education/Textbooks
|
||||
- {id: 278, cat: Books/EBook, desc: "Tutorials"}
|
||||
- {id: 300, cat: Books/EBook, desc: "Textbooks"}
|
||||
- {id: 301, cat: Books/EBook, desc: "Educational"}
|
||||
- {id: 328, cat: Books/EBook, desc: "Engineering/Mech"}
|
||||
- {id: 339, cat: Books/EBook, desc: "Science/Physics"}
|
||||
- {id: 346, cat: Books/EBook, desc: "Chemistry"}
|
||||
- {id: 347, cat: Books/EBook, desc: "Medical"}
|
||||
- {id: 348, cat: Books/EBook, desc: "Mathematics"}
|
||||
- {id: 363, cat: Books/EBook, desc: "Sheet Music"}
|
||||
- {id: 366, cat: Books/EBook, desc: "Astronomy"}
|
||||
# Tech/Computers
|
||||
- {id: 331, cat: Books/EBook, desc: "Electronics"}
|
||||
- {id: 336, cat: Books/EBook, desc: "Video Games"}
|
||||
- {id: 337, cat: Books/EBook, desc: "Computers"}
|
||||
- {id: 350, cat: Books/EBook, desc: "Programming"}
|
||||
- {id: 354, cat: Books/EBook, desc: "Apps"}
|
||||
# Hobbies/pastimes
|
||||
- {id: 271, cat: Books/EBook, desc: "Food And Drink"}
|
||||
- {id: 272, cat: Books/EBook, desc: "General Hobbies"}
|
||||
- {id: 327, cat: Books/EBook, desc: "Gardening"}
|
||||
- {id: 329, cat: Books/EBook, desc: "Motorcars/Repairs"}
|
||||
- {id: 330, cat: Books/EBook, desc: "D.I.Y"}
|
||||
- {id: 332, cat: Books/EBook, desc: "Trivia/Quiz"}
|
||||
- {id: 367, cat: Books/EBook, desc: "Health & Fitness"}
|
||||
# Non Fict/Ref
|
||||
- {id: 285, cat: Books/EBook, desc: "General Non-fiction"}
|
||||
- {id: 289, cat: Books/EBook, desc: "Autobiography/Memoir"}
|
||||
- {id: 274, cat: Books/EBook, desc: "Business"}
|
||||
- {id: 316, cat: Books/EBook, desc: "True Crime"}
|
||||
- {id: 335, cat: Books/EBook, desc: "Entertainment"}
|
||||
- {id: 338, cat: Books/EBook, desc: "Encyclopedia/Ref"}
|
||||
- {id: 349, cat: Books/EBook, desc: "Self Help"}
|
||||
- {id: 351, cat: Books/EBook, desc: "Religion"}
|
||||
- {id: 358, cat: Books/EBook, desc: "History"}
|
||||
- {id: 362, cat: Books/EBook, desc: "Politics"}
|
||||
- {id: 368, cat: Books/EBook, desc: "Music"}
|
||||
# Military
|
||||
- {id: 287, cat: Books/EBook, desc: "WW1"}
|
||||
- {id: 288, cat: Books/EBook, desc: "WW2"}
|
||||
- {id: 12, cat: Books/EBook, desc: "Army,Navy,Airforce"}
|
||||
- {id: 286, cat: Books/EBook, desc: "General Military "}
|
||||
# Zoology
|
||||
- {id: 334, cat: Books/EBook, desc: "Veterinary/Pets"}
|
||||
- {id: 361, cat: Books/EBook, desc: "Nature And Wildlife"}
|
||||
# Art & Crafts
|
||||
- {id: 344, cat: Books/EBook, desc: "Model Making"}
|
||||
- {id: 357, cat: Books/EBook, desc: "Art"}
|
||||
# Comics
|
||||
- {id: 290, cat: Books/Comics, desc: "General Comics"}
|
||||
- {id: 291, cat: Books/Comics, desc: "Marvel"}
|
||||
- {id: 292, cat: Books/Comics, desc: "D/C"}
|
||||
# Magazines
|
||||
- {id: 306, cat: Books/Mags, desc: "Music"}
|
||||
- {id: 10, cat: Books/Mags, desc: "Language Learn"}
|
||||
- {id: 13, cat: Books/Mags, desc: "Non English Bks"}
|
||||
- {id: 16, cat: Books/Mags, desc: "VIP"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -270,10 +126,6 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: vip
|
||||
type: checkbox
|
||||
label: Include VIP results
|
||||
@@ -281,35 +133,39 @@ settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: id
|
||||
default: 3
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
3: created
|
||||
5: seeders
|
||||
4: size
|
||||
2: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
default: 2
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
2: desc
|
||||
1: asc
|
||||
- name: info
|
||||
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."
|
||||
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: "All members are required to log into their account at least every 89 days or you will be deleted without warning."
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.panel:contains("Access Denied")
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="account-logout.php"]
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
@@ -318,54 +174,70 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
# https://ebooks-shares.org/index.php?page=torrents&search=&category=0&active=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
search: "{{ if .Keywords }}\"{{ .Keywords }}\"{{ else }}{{ end }}"
|
||||
# 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 }}"
|
||||
# 0 all 1 english 2 french 3 german 4 italian 5 japanese 6 spanish 7 russian 8 other
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
page: torrents
|
||||
search: "{{ .Keywords }}"
|
||||
# does not support multi category selection so defaulting to all
|
||||
category: 0
|
||||
# 0 all, 1 active only, 2 dead only
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "tr.t-row{{ if .Config.vip }}{{ else }}:not(:has(a[href^=\"torrents.php?cat=\"]):contains(\"VIP\")){{ end }}"
|
||||
selector: "table.lista:not(table[cellspacing]) > tbody > tr:has(a[href^=\"index.php?page=torrent-details&id=\"]){{ if .Config.vip }}{{ else }}:not(:has(a[href$=\"&category=16\"])):not(:has(a[href$=\"&category=319\"])){{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
args: category
|
||||
_is_vip:
|
||||
selector: a[href$="&category=16"], a[href$="&category=319"]
|
||||
attribute: href
|
||||
optional: true
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: title
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result._is_vip }} VIP{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
selector: a[href^="index.php?page=downloadcheck"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
description:
|
||||
selector: td:nth-child(4)
|
||||
poster:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "uploader: "
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
- name: replace
|
||||
args: ["torrentimg/nocover.jpg", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
date:
|
||||
text: now
|
||||
selector: td:nth-last-child(8)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: dd/MM/yyyy
|
||||
seeders:
|
||||
selector: td:nth-last-child(7)
|
||||
leechers:
|
||||
selector: td:nth-last-child(6)
|
||||
grabs:
|
||||
selector: td:nth-last-child(5)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.gif"]: 0
|
||||
"*": 1
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine tbd
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# xbtitFM v4.1.31
|
||||
|
||||
@@ -66,6 +66,10 @@ caps:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA"
|
||||
default: "If you want to enable 2FA then use the Empornium2FA indexer instead."
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
|
||||
@@ -0,0 +1,192 @@
|
||||
---
|
||||
id: emuwarez
|
||||
name: eMuwarez (API)
|
||||
description: "eMuwarez is a SPANISH Private Torrent Tracker for MOVIES / TV"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://emuwarez.it/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 2, cat: TV, desc: "Series"}
|
||||
- {id: 4, cat: TV/Documentary, desc: "Documentales"}
|
||||
- {id: 5, cat: Audio, desc: "Musica"}
|
||||
- {id: 6, cat: Console, desc: "Juegos"}
|
||||
- {id: 7, 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://emuwarez.it/\" target=\"_blank\">eMuwarez</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://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- 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: re_replace
|
||||
args: ["(?i)(Ciencia ficción)", "Ciencia_ficción"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Película de TV)", "Película_de_TV"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .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 }}"
|
||||
minimumratio:
|
||||
text: 2.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 9.0.8
|
||||
@@ -9,6 +9,8 @@ links:
|
||||
- https://ex-torrenty.org/
|
||||
|
||||
caps:
|
||||
# find the category numbers from the szukaj.php page
|
||||
# and dont forget to update the search fields category case block
|
||||
categorymappings:
|
||||
- {id: 774, cat: Movies, desc: "Filmy Polskie"}
|
||||
- {id: 642, cat: Movies, desc: "Filmy/Bajki"}
|
||||
@@ -19,14 +21,15 @@ caps:
|
||||
- {id: 17, cat: Movies/HD, desc: "Filmy HD"}
|
||||
- {id: 265, cat: Movies/HD, desc: "Filmy x265 HEVC"}
|
||||
- {id: 12, cat: Movies/3D, desc: "Filmy 3D"}
|
||||
- {id: 530, cat: Movies/SD, desc: "Filmy TS/CAM"}
|
||||
- {id: 826, cat: Movies/HD, desc: "REMUX / Complete"}
|
||||
- {id: 530, cat: Movies/SD, desc: "Filmy TS/CAM"}
|
||||
- {id: 9, cat: PC, desc: "Programy"}
|
||||
- {id: 7, cat: Console, desc: "Konsole"}
|
||||
- {id: 6, cat: PC/Games, desc: "Gry"}
|
||||
- {id: 5, cat: Audio, desc: "Muzyka"}
|
||||
- {id: 305, cat: Audio/Video, desc: "Teledyski"}
|
||||
- {id: 22, cat: TV, desc: "TV"}
|
||||
- {id: 829, cat: TV, desc: "Seriale Polskie"}
|
||||
- {id: 922, cat: TV/Foreign, desc: "Seriale Zagraniczne"}
|
||||
- {id: 228, cat: XXX, desc: "Erotyka"}
|
||||
- {id: 25, cat: Books/EBook, desc: "Książki"}
|
||||
- {id: 739, cat: Audio/Audiobook, desc: "AudioBooki"}
|
||||
@@ -54,7 +57,9 @@ settings:
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: 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: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
@@ -112,7 +117,8 @@ search:
|
||||
":contains(\"Gry\")": 6
|
||||
":contains(\"Muzyka\")": 5
|
||||
":contains(\"Teledyski\")": 305
|
||||
":contains(\"TV\")": 22
|
||||
":contains(\"Seriale Polskie\")": 829
|
||||
":contains(\"Seriale Zagraniczne\")": 922
|
||||
":contains(\"Erotyka\")": 228
|
||||
":contains(\"Książki\")": 25
|
||||
":contains(\"AudioBooki\")": 739
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
---
|
||||
id: explosiv-world
|
||||
replaces:
|
||||
- torrent-explosiv
|
||||
name: Explosiv-World
|
||||
description: "Explosiv-World (E-W) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://explosiv-world.biz/
|
||||
legacylinks:
|
||||
- https://torrent-explosiv.eu/
|
||||
- https://torrent-explosiv.hopto.org/
|
||||
- https://torrent-explosiv.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Filme > HD"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Filme > SD"}
|
||||
- {id: 145, cat: Movies/UHD, desc: "Filme > Pack UHD"}
|
||||
- {id: 138, cat: Movies/HD, desc: "Filme > Pack HD"}
|
||||
- {id: 140, cat: Movies/SD, desc: "Filme > Pack SD"}
|
||||
- {id: 143, cat: Movies/Other, desc: "Filme > Anime"}
|
||||
- {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien > HD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien > SD"}
|
||||
- {id: 144, cat: TV/Anime, desc: "Serien > Anime"}
|
||||
- {id: 146, cat: TV/UHD, desc: "Serien > Pack UHD/HD"}
|
||||
- {id: 59, cat: TV/SD, desc: "Serien > Pack SD"}
|
||||
- {id: 110, cat: Audio, desc: "Audio > Alben"}
|
||||
- {id: 148, cat: Audio, desc: "Audio > Mixe"}
|
||||
- {id: 149, cat: Audio, desc: "Audio > Sampler/OST"}
|
||||
- {id: 150, cat: Audio, desc: "Audio > Charts/Singles"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Audio > Flac"}
|
||||
- {id: 52, cat: Audio/MP3, desc: "Audio > Pack mp3"}
|
||||
- {id: 147, cat: Audio/Lossless, desc: "Audio > Pack Flac"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Audio > Hörbuch"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio > Videos"}
|
||||
- {id: 17, cat: PC/Games, desc: "Spiele > Windows"}
|
||||
- {id: 24, cat: Console, desc: "Spiele > Konsole"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiele > Mobil"}
|
||||
- {id: 121, cat: Console, desc: "Spiele > andere"}
|
||||
- {id: 12, cat: PC/0day, desc: "Software > Windows"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Software > Mobil"}
|
||||
- {id: 141, cat: PC/Mobile-Other, desc: "Software > andere"}
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport > UHD/HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport > SD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku > UHD/HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku > Pack UHD/HD"}
|
||||
- {id: 151, cat: TV/Documentary, desc: "Doku > Pack SD"}
|
||||
- {id: 96, cat: Books/Other, desc: "ePaper > Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "ePaper > E-Book"}
|
||||
- {id: 137, cat: Books/Mags, desc: "ePaper > Magazine"}
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX > HD"}
|
||||
- {id: 76, cat: XXX/SD, desc: "XXX > SD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX > Pack"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX > andere"}
|
||||
|
||||
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: "E-W 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://explosiv-world.biz/login.php\" target=\"_blank\">Explosiv-World</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 E-W
|
||||
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)."
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
login_identifier: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
loggiin: Einloggen
|
||||
error:
|
||||
- selector: div.alert
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://explosiv-world.biz/torrents_search.php?ajax=true&search=&page=1
|
||||
- path: torrents_search.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:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# THX JSON (custom)
|
||||
@@ -17,50 +17,57 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
- {id: Highres Movies, cat: Movies/HD, desc: Movies HD}
|
||||
- {id: UltraHD, cat: Movies/UHD, desc: Movies UHD}
|
||||
- {id: 3D Movies, cat: Movies/3D, desc: Movies 3D}
|
||||
- {id: Bollywood, cat: Movies, desc: Bollywood}
|
||||
- {id: Movie clips, cat: Movies, desc: Movies clips}
|
||||
- {id: DVD, cat: Movies/DVD, desc: Movies DVD}
|
||||
- {id: MP4, cat: Movies, desc: Movies MP4}
|
||||
- {id: Dubbed Movies, cat: Movies/Foreign, desc: Movies Dubbed}
|
||||
- {id: Other Movies, cat: Movies/Other, desc: Movies Other}
|
||||
- {id: Documentary, cat: TV/Documentary, desc: Documentary}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
- {id: MP3, cat: Audio/MP3, desc: Music MP3}
|
||||
- {id: AAC, cat: Audio, desc: Music AAC}
|
||||
- {id: Lossless, cat: Audio/Lossless, desc: Music Lossless}
|
||||
- {id: Music videos, cat: Audio/Video, desc: Music Videos}
|
||||
- {id: Other Music, cat: Audio/Other, desc: Music Other}
|
||||
- {id: Radio Shows, cat: Audio/Other, desc: Music Radio}
|
||||
- {id: Video, cat: XXX, desc: Adult / Porn}
|
||||
- {id: "Adult / Porn", cat: XXX, desc: Adult / Porn}
|
||||
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
|
||||
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines}
|
||||
- {id: "Adult / Porn", cat: XXX, desc: "Adult / Porn"}
|
||||
- {id: Android, cat: PC/Mobile-Android, desc: Software Android}
|
||||
- {id: Anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: Audio books, cat: Audio/Audiobook, desc: Books Audiobook}
|
||||
- {id: Bollywood, cat: Movies, desc: Bollywood}
|
||||
- {id: Comics, cat: Books/Comics, desc: Books Comics}
|
||||
- {id: DVD, cat: Movies/DVD, desc: Movies DVD}
|
||||
- {id: Documentary, cat: TV/Documentary, desc: Documentary}
|
||||
- {id: Dubbed Movies, cat: Movies/Foreign, desc: Movies Dubbed}
|
||||
- {id: Ebooks, cat: Books/EBook, desc: Books Ebook}
|
||||
- {id: English-translated, cat: TV/Anime, desc: Anime English-translated}
|
||||
- {id: Games, cat: XXX/Other, desc: Adult Games}
|
||||
- {id: Hentai, cat: XXX/Other, desc: Adult Hentai}
|
||||
- {id: Windows, cat: PC, desc: Software Windows}
|
||||
- {id: Android, cat: PC/Mobile-Android, desc: Software Android}
|
||||
- {id: Mac, cat: PC/Mac, desc: Software Mac}
|
||||
- {id: Highres Movies, cat: Movies/HD, desc: Movies HD}
|
||||
- {id: Linux, cat: PC, desc: Software Linux}
|
||||
- {id: PC Games, cat: PC/Games, desc: PC Games}
|
||||
- {id: "Live Action [Non-English]", cat: TV/Anime, desc: "Live Action [Non-English]"}
|
||||
- {id: Lossless, cat: Audio/Lossless, desc: Music Lossless}
|
||||
- {id: "Manga [English-translated]", cat: Books/Comics, desc: "Manga [English-translated]"}
|
||||
- {id: "Manga [Raw]", cat: Books/Comics, desc: "Manga [Raw]"}
|
||||
- {id: MP3, cat: Audio/MP3, desc: Music MP3}
|
||||
- {id: MP4, cat: Movies, desc: Movies MP4}
|
||||
- {id: Mac, cat: PC/Mac, desc: Software Mac}
|
||||
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines}
|
||||
- {id: Movie clips, cat: Movies, desc: Movies clips}
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
- {id: Music, cat: Audio, desc: Music}
|
||||
- {id: Music videos, cat: Audio/Video, desc: Music Videos}
|
||||
- {id: NDS, cat: Console/NDS, desc: Games NDS}
|
||||
- {id: Other Applications, cat: PC, desc: Other Applications}
|
||||
- {id: Other Games, cat: Console/Other, desc: Games Other}
|
||||
- {id: Other Movies, cat: Movies/Other, desc: Movies Other}
|
||||
- {id: Other Music, cat: Audio/Other, desc: Music Other}
|
||||
- {id: Other, cat: Other/Misc, desc: Other}
|
||||
- {id: PC Games, cat: PC/Games, desc: PC Games}
|
||||
- {id: PS3, cat: Console/PS3, desc: Games PS3}
|
||||
- {id: PS4, cat: Console/PS4, desc: Games PS4}
|
||||
- {id: PSP, cat: Console/PSP, desc: Games PSP}
|
||||
- {id: Wii, cat: Console/Wii, desc: Games Wii}
|
||||
- {id: Xbox360, cat: Console/XBox 360, desc: Games Xbox360}
|
||||
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
|
||||
- {id: Radio Shows, cat: Audio/Other, desc: Music Radio}
|
||||
- {id: Raw, cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: Software, cat: PC/0day, desc: Software}
|
||||
- {id: Subs, cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: Switch, cat: Console/Other, desc: Games Switch}
|
||||
- {id: Other Games, cat: Console/Other, desc: Games Other}
|
||||
- {id: English-translated, cat: TV/Anime, desc: Anime English-translated}
|
||||
- {id: Anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: Audio books, cat: Audio/Audiobook, desc: Books Audiobook}
|
||||
- {id: Comics, cat: Books/Comics, desc: Books Comics}
|
||||
- {id: Ebooks, cat: Books/EBook, desc: Books Ebook}
|
||||
- {id: Other, cat: Other/Misc, desc: Other}
|
||||
- {id: Other Applications, cat: PC, desc: Other Applications}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
- {id: UltraHD, cat: Movies/UHD, desc: Movies UHD}
|
||||
- {id: Video, cat: XXX, desc: Adult / Porn}
|
||||
- {id: Wii, cat: Console/Wii, desc: Games Wii}
|
||||
- {id: Windows, cat: PC, desc: Software Windows}
|
||||
- {id: Xbox360, cat: Console/XBox 360, desc: Games Xbox360}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -94,7 +101,7 @@ search:
|
||||
args: ["in ", ""]
|
||||
- name: trim
|
||||
title:
|
||||
selector: a[href^="/torrent/"]
|
||||
selector: a[href^="/torrent/"]:not([href$="comments"])
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
|
||||
@@ -42,7 +42,8 @@ search:
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["S[0-9]{2}([^E]|$)", ""] # remove season tag without episode (search doesn't support it)
|
||||
args: ["\\bS\\d{2,3}\\b", ""] # remove season tag without episode (search doesn't support it)
|
||||
- name: trim
|
||||
# fixes for site search issues - Prowlarr #1094
|
||||
- name: replace
|
||||
args: ["-", ""]
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
---
|
||||
id: eztvl
|
||||
name: EZTVL
|
||||
description: "EZTV is a Public torrent site for TV shows. This indexer supports login."
|
||||
language: en-US
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://eztvx.to/
|
||||
- https://eztv.wf/
|
||||
- https://eztv.tf/
|
||||
- https://eztv.yt/
|
||||
- https://eztv1.xyz/
|
||||
legacylinks:
|
||||
- https://eztv.ag/ # redirects to .re
|
||||
- https://eztv.it/ # redirects to .re
|
||||
- https://eztv.ch/ # redirects to .re
|
||||
- https://eztv.io/
|
||||
- https://eztv.re/
|
||||
- https://eztv.li/
|
||||
- https://eztv.mrunblock.bond/
|
||||
- https://eztv.nocensor.cloud/
|
||||
- https://eztv.unblockninja.com/ # layout=def_wlinks not working
|
||||
- https://eztv.ninjaproxy1.com/ # layout=def_wlinks not working
|
||||
- https://eztv.proxyninja.org/ # layout=def_wlinks not working
|
||||
- https://eztv.abcproxy.org/
|
||||
- https://eztv.unblockit.download/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: TV
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: login/
|
||||
method: post
|
||||
inputs:
|
||||
loginname: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
submit: Login
|
||||
error:
|
||||
- selector: span.text-error
|
||||
test:
|
||||
path: home
|
||||
selector: a[href="/logout/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}search/{{ .Keywords }}{{ else }}home{{ end }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\bS\\d{2,3}\\b", ""] # remove season tag without episode (search doesn't support it)
|
||||
- name: trim
|
||||
# fixes for site search issues - Prowlarr #1094
|
||||
- name: replace
|
||||
args: ["-", ""]
|
||||
- name: replace
|
||||
args: [" ", "-"]
|
||||
- name: replace
|
||||
args: ["&", ""]
|
||||
|
||||
headers:
|
||||
cookie: ["sort_no=100; q_filter=all; q_filter_web=on; q_filter_reality=on; q_filter_x265=on; layout=def_wlinks"] # show 100 results for keywordless search and show links in results
|
||||
|
||||
rows:
|
||||
# only use latest added torrents table for keywordless search to avoid duplicates, some torrents don't have any download links so skip them
|
||||
selector: "table.forum_header_border:contains('Latest') tr[name='hover'].forum_header_border:has(a.magnet), table.forum_header_border:contains('Releases') tr[name='hover'].forum_header_border:has(a.magnet)"
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 1
|
||||
title:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["[eztv]", ""]
|
||||
- name: re_replace
|
||||
args: ["\\(.*\\)$", ""]
|
||||
- name: trim
|
||||
details:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(3) a.magnet, td:nth-child(3) a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
default: 512 MB
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " ago"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
text: 0
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: f1carreras-api
|
||||
name: F1Carreras (API)
|
||||
description: "F1Carreras is a Spanish Private Torrent Tracker for Motor Racing TV Releases"
|
||||
description: "F1Carreras is a SPANISH Private Torrent Tracker for Motor Racing TV Releases"
|
||||
language: es-MX
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -26,7 +26,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -35,11 +35,15 @@ settings:
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://f1carreras.xyz/\" target=\"_blank\">F1Carreras</a> account <i>Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://f1carreras.xyz/\" target=\"_blank\">F1Carreras</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
|
||||
@@ -69,9 +73,9 @@ login:
|
||||
|
||||
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"
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
@@ -85,9 +89,6 @@ search:
|
||||
# disabled due to not being properly mapped
|
||||
# seasonNumber: "{{ .Query.Season }}"
|
||||
# episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
@@ -107,27 +108,21 @@ search:
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -144,7 +139,12 @@ search:
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
@@ -154,15 +154,17 @@ search:
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# json UNIT3D 7.2.5 (custom)
|
||||
# 2 day (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.5 (custom)
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
---
|
||||
id: f1gp
|
||||
name: F1GP
|
||||
description: "F1GP is a Private Torrent Tracker for F1, F2, F3, FE, F1 Academy Racing"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://f1gp.site/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 11, cat: TV/Sport, desc: "F1 Races"}
|
||||
- {id: 1, cat: TV/Sport, desc: "F1 Qualifying"}
|
||||
- {id: 2, cat: TV/Sport, desc: "F1 Sprint Races"}
|
||||
- {id: 3, cat: TV/Sport, desc: "F1 Free Practice"}
|
||||
- {id: 5, cat: TV/Sport, desc: "F1 Pre Races"}
|
||||
- {id: 6, cat: TV/Sport, desc: "F1 Warm Up"}
|
||||
- {id: 4, cat: TV/Sport, desc: "F1 Documentary"}
|
||||
- {id: 7, cat: TV/Sport, desc: "F1 Oldies"}
|
||||
- {id: 8, cat: TV/Sport, desc: "F1 Press Conferences"}
|
||||
- {id: 9, cat: TV/Sport, desc: "F1 Post Races"}
|
||||
- {id: 14, cat: TV/Sport, desc: "F1 Academy"}
|
||||
- {id: 15, cat: TV/Sport, desc: "F1 Movies"}
|
||||
- {id: 16, cat: TV/Sport, desc: "F1 Series"}
|
||||
- {id: 17, cat: TV/Sport, desc: "F2 Championship"}
|
||||
- {id: 18, cat: TV/Sport, desc: "F3 Championship"}
|
||||
- {id: 19, cat: TV/Sport, desc: "FE Championship"}
|
||||
- {id: 20, cat: TV/Sport, desc: "Freeleech"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
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: 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. Default is <i>20</i>.
|
||||
|
||||
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://f1gp.site/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, 5 gold, 6 silver, 7 bronze
|
||||
options: "{{ if .Config.freeleech }}5{{ else }}0{{ end }}"
|
||||
# 0 all, 1 active only, 2 dead only
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: table.lista > tbody > tr:has(a[href^="download.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=(.+?) width
|
||||
- name: replace
|
||||
args: ["torrentimg/nocover.jpg", ""]
|
||||
size:
|
||||
selector: td:nth-child(11)
|
||||
date:
|
||||
# auto adjusted by site account profile
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "dd/MM/yyyy"
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
optional: true
|
||||
selector: td:nth-child(8)
|
||||
default: 0
|
||||
grabs:
|
||||
optional: true
|
||||
selector: td:nth-child(9)
|
||||
default: 0
|
||||
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:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# xbtitFM v4.1.32
|
||||
@@ -6,14 +6,17 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.fappaizuri.me/
|
||||
legacylinks:
|
||||
- https://fappaizuri.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 8, cat: TV/Anime, desc: "Hentai"}
|
||||
- {id: 7, cat: Console, desc: "H-games"}
|
||||
- {id: 5, cat: XXX, desc: "JAV"}
|
||||
- {id: 6, cat: Books, desc: "Manga"}
|
||||
- {id: 7, cat: Console, desc: "H-games"}
|
||||
- {id: 8, cat: TV/Anime, desc: "Hentai"}
|
||||
- {id: 9, cat: XXX, desc: "OFFS"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -73,6 +76,11 @@ login:
|
||||
path: index.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://fappaizuri.me/torrents-search.php?search=&c8=1&c6=1&incldead=1&freeleech=0&lang=0
|
||||
@@ -90,11 +98,11 @@ search:
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: tr.t-row:has(a[href^="download.php?id="])
|
||||
selector: tr.t-row
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="search-torrents.php?cat="]
|
||||
selector: a[href^="torrents-search.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
@@ -105,11 +113,11 @@ search:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
attribute: onMouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=(.+?)>
|
||||
@@ -123,13 +131,17 @@ search:
|
||||
- name: append
|
||||
args: "{{ if .Result._language }} - {{ .Result._language }}{{ else }}{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
text: now
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.png"]: 0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user