Updated mock arr container names

This commit is contained in:
2025-11-20 10:43:15 -07:00
parent b2ae5bd9d9
commit ab4c119e04
560 changed files with 137075 additions and 110038 deletions
+3
View File
@@ -2,5 +2,8 @@
docker build -f radarr.Dockerfile -t darkalex17/radarr-mock:latest . docker build -f radarr.Dockerfile -t darkalex17/radarr-mock:latest .
docker push darkalex17/radarr-mock:latest docker push darkalex17/radarr-mock:latest
docker build -f sonarr.Dockerfile -t darkalex17/sonarr-mock:latest .
docker push darkalex17/sonarr-mock:latest
docker build -f prowlarr.Dockerfile -t darkalex17/prowlarr-mock:latest . docker build -f prowlarr.Dockerfile -t darkalex17/prowlarr-mock:latest .
docker push darkalex17/prowlarr-mock:latest docker push darkalex17/prowlarr-mock:latest
+3 -3
View File
@@ -2,17 +2,17 @@
services: services:
radarr: radarr:
image: darkalex17/radarr-mock:latest image: darkalex17/radarr-mock:latest
container_name: radarr container_name: radarr-mock
restart: unless-stopped restart: unless-stopped
sonarr: sonarr:
image: darkalex17/sonarr-mock:latest image: darkalex17/sonarr-mock:latest
container_name: sonarr container_name: sonarr-mock
restart: unless-stopped restart: unless-stopped
prowlarr: prowlarr:
image: darkalex17/prowlarr-mock:latest image: darkalex17/prowlarr-mock:latest
container_name: prowlarr container_name: prowlarr-mock
restart: unless-stopped restart: unless-stopped
managarr: managarr:
+2 -2
View File
@@ -1,11 +1,11 @@
--- ---
radarr: radarr:
- name: Movies - name: Movies
host: radarr host: radarr-mock
port: 7878 port: 7878
api_token: 2374332474216e6720407021206b6579 api_token: 2374332474216e6720407021206b6579
sonarr: sonarr:
- name: TV Shows - name: TV Shows
host: sonarr host: sonarr-mock
port: 8989 port: 8989
api_token: 08717304eb94465f81c5129bb46cc2f9 api_token: 08717304eb94465f81c5129bb46cc2f9
+2 -2
View File
@@ -6,12 +6,12 @@ language: en-US
type: public type: public
encoding: UTF-8 encoding: UTF-8
links: links:
- https://0magnet.co/
- https://13mag.net/ - https://13mag.net/
- https://16mag.net/ - https://16mag.net/
legacylinks: legacylinks:
- https://0magnet.com/ - https://0magnet.com/
- https://9mag.net/ - https://9mag.net/
- https://0magnet.co/
caps: caps:
categories: categories:
@@ -42,7 +42,7 @@ search:
paths: paths:
- path: search - path: search
inputs: inputs:
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}" q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}.{{ end }}"
rows: rows:
selector: table > tbody > tr:has(td) selector: table > tbody > tr:has(td)
+19 -8
View File
@@ -12,14 +12,7 @@ links:
- https://1337x.st/ - https://1337x.st/
- https://x1337x.ws/ - https://x1337x.ws/
- https://x1337x.eu/ - https://x1337x.eu/
- https://x1337x.se/
- https://x1337x.cc/ - 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: legacylinks:
- https://1337x.is/ - https://1337x.is/
- https://1337x.gd/ - https://1337x.gd/
@@ -27,6 +20,13 @@ legacylinks:
- https://1337x.abcproxy.org/ - https://1337x.abcproxy.org/
- https://1337x.so/ - https://1337x.so/
- https://1337x.unblockit.download/ - 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: caps:
categorymappings: categorymappings:
@@ -120,6 +120,13 @@ caps:
allowrawsearch: true allowrawsearch: true
settings: 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 - name: info_flaresolverr
type: info_flaresolverr type: info_flaresolverr
- name: downloadlink - name: downloadlink
@@ -177,7 +184,7 @@ search:
args: ["\\bS(20\\d{2})\\b", "$1"] args: ["\\bS(20\\d{2})\\b", "$1"]
rows: 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: fields:
title_default: title_default:
@@ -273,6 +280,10 @@ search:
selector: td[class^="coll-2"] selector: td[class^="coll-2"]
leechers: leechers:
selector: td[class^="coll-3"] selector: td[class^="coll-3"]
_username:
selector: td[class^="coll-5"]
description:
text: "Uploader: {{ .Result._username }}"
downloadvolumefactor: downloadvolumefactor:
text: 0 text: 0
uploadvolumefactor: uploadvolumefactor:
+185
View File
@@ -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
+38 -13
View File
@@ -5,23 +5,41 @@ description: "1ptbar is a CHINESE Private Torrent Tracker for MOVIES / TV / E-LE
language: zh-CN language: zh-CN
type: private type: private
encoding: UTF-8 encoding: UTF-8
requestDelay: 2
links: links:
- https://1ptba.com/ - https://1ptba.com/
caps: caps:
# dont forget to update the path categories in the search block
categorymappings: categorymappings:
- {id: 401, cat: Movies, desc: "Movie(電影)"} - {id: 401, cat: Movies, desc: "Movie(電影)", default: true}
- {id: 402, cat: TV, desc: "TV Series(電視影劇)"} - {id: 402, cat: TV, desc: "TV Series(電視影劇)", default: true}
- {id: 403, cat: TV, desc: "TV Shows(電視綜藝)"} - {id: 403, cat: TV, desc: "TV Shows(電視綜藝)", default: true}
- {id: 404, cat: TV/Documentary, desc: "Documentaries(紀錄教育)"} - {id: 404, cat: TV/Documentary, desc: "Documentaries(紀錄教育)", default: true}
- {id: 405, cat: TV/Anime, desc: "Animations(卡通動漫)"} - {id: 405, cat: TV/Anime, desc: "Animations(卡通動漫)", default: true}
- {id: 406, cat: Audio/Video, desc: "Music Videos(音樂短片/演唱會)"} - {id: 406, cat: Audio/Video, desc: "Music Videos(音樂短片/演唱會)", default: true}
- {id: 407, cat: TV/Sport, desc: "Sports(體育賽事)"} - {id: 407, cat: TV/Sport, desc: "Sports(體育賽事)", default: true}
- {id: 408, cat: Audio, desc: "HQ Audio(高品质音频)"} - {id: 408, cat: Audio, desc: "HQ Audio(高品质音频)", default: true}
- {id: 410, cat: PC/0day, desc: "Software(軟體)"} - {id: 410, cat: PC/0day, desc: "Software(軟體)", default: true}
- {id: 411, cat: PC/Games, desc: "Games(電子遊戲)"} - {id: 411, cat: PC/Games, desc: "Games(電子遊戲)", default: true}
- {id: 412, cat: Books/EBook, desc: "eBook(電子書)"} - {id: 412, cat: Books/EBook, desc: "eBook(電子書)", default: true}
- {id: 409, cat: Other, desc: "Misc(其他)"} - {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: modes:
search: [q] search: [q]
@@ -74,6 +92,10 @@ settings:
type: info type: info
label: Account Inactivity 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>" 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: login:
path: login.php path: login.php
@@ -101,6 +123,9 @@ login:
search: search:
paths: paths:
- path: torrents.php - 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: inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" $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 }}" 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: description:
selector: td:nth-child(2) selector: td:nth-child(2)
remove: a, b, font, img, span remove: a, b, font, img, span
# NexusPHP v1.8.13 2024-07-23 # NexusPHP v1.9.9 2025-10-02
+24 -40
View File
@@ -18,9 +18,7 @@ caps:
- {id: 406, cat: Audio/Video, desc: "Music Videos"} - {id: 406, cat: Audio/Video, desc: "Music Videos"}
- {id: 407, cat: TV/Sport, desc: "Sports"} - {id: 407, cat: TV/Sport, desc: "Sports"}
- {id: 408, cat: Audio, desc: "HQ Audio"} - {id: 408, cat: Audio, desc: "HQ Audio"}
- {id: 410, cat: PC, desc: "Software"} - {id: 409, cat: Other, desc: "Misc"}
- {id: 411, cat: Books, desc: "Documents"}
- {id: 412, cat: PC/Games, desc: "Games"}
modes: modes:
search: [q] search: [q]
@@ -30,12 +28,11 @@ caps:
book-search: [q] book-search: [q]
settings: settings:
- name: username - name: cookie
type: text type: text
label: Username label: Cookie
- name: password - name: info_cookie
type: password type: info_cookie
label: Password
- name: freeleech - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only 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>" 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: login:
path: login.php # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
method: form method: cookie
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs: inputs:
username: "{{ .Config.username }}" cookie: "{{ .Config.cookie }}"
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)
test: test:
path: index.php path: index.php
selector: a[href="logout.php"] selector: a[href="logout.php"]
@@ -101,7 +85,7 @@ search:
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl # 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}" search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact # 0 AND, 2 exact
search_mode: 0 search_mode: 0
sort: "{{ .Config.sort }}" sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}" type: "{{ .Config.type }}"
@@ -112,23 +96,23 @@ search:
fields: fields:
category: category:
selector: a[href^="?cat="] selector: a[href*="?cat="]
attribute: href attribute: href
filters: filters:
- name: querystring - name: querystring
args: cat args: cat
title_default: title_default:
selector: a[href^="details.php?id="] selector: a[href*="details.php?id="]
title: title:
selector: a[title][href^="details.php?id="] selector: a[title][href*="details.php?id="]
attribute: title attribute: title
optional: true optional: true
default: "{{ .Result.title_default }}" default: "{{ .Result.title_default }}"
details: details:
selector: a[href^="details.php?id="] selector: a[href*="details.php?id="]
attribute: href attribute: href
download: download:
selector: a[href^="download.php?id="] selector: a[href*="download.php?id="]
attribute: href attribute: href
poster: poster:
selector: img[data-src] selector: img[data-src]
@@ -138,7 +122,7 @@ search:
attribute: href attribute: href
date_elapsed: date_elapsed:
# time type: time elapsed (default) # time type: time elapsed (default)
selector: td.rowfollow:nth-child(5) > span[title] selector: td.rowfollow:nth-child(4) > span[title]
attribute: title attribute: title
optional: true optional: true
filters: filters:
@@ -148,7 +132,7 @@ search:
args: "yyyy-MM-dd HH:mm:ss zzz" args: "yyyy-MM-dd HH:mm:ss zzz"
date_added: date_added:
# time added # time added
selector: td.rowfollow:nth-child(5):not(:has(span)) selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true optional: true
filters: filters:
- name: append - name: append
@@ -158,13 +142,13 @@ search:
date: date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size: size:
selector: td.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(8) selector: td.rowfollow:nth-child(7)
grabs: grabs:
selector: td.rowfollow:nth-child(9) selector: td.rowfollow:nth-child(8)
downloadvolumefactor: downloadvolumefactor:
case: case:
img.pro_free: 0 img.pro_free: 0
@@ -180,9 +164,9 @@ search:
img.pro_2up: 2 img.pro_2up: 2
"*": 1 "*": 1
minimumseedtime: minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60) # 5 days (as seconds = 5 x 24 x 60 x 60)
text: 259200 text: 432000
description: description:
selector: td:nth-child(3) selector: td:nth-child(2)
remove: a, b, font, img, span 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: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
- {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"} - {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
- {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"} - {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
- {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"} - {id: 22, cat: Movies, desc: "Movies Home Conversions"}
- {id: 32, cat: Movies, desc: "Bluray MKV Remux"} - {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: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
- {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"} - {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
- {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"} - {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
@@ -69,6 +71,10 @@ settings:
type: info type: info
label: Account Inactivity 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." 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: login:
path: index.php?page=login path: index.php?page=login
+19 -7
View File
@@ -1,20 +1,32 @@
--- ---
id: 52bt id: 52bt
name: 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 language: zh-CN
type: public type: public
encoding: UTF-8 encoding: UTF-8
requestDelay: 2 requestDelay: 2
links: 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.529053.xyz/
- https://www.529055.xyz/ - https://www.529055.xyz/
legacylinks: - https://www.529057.xyz/
- https://529050.xyz/ - https://www.529056.xyz/
- https://529048.xyz/ - https://www.529058.xyz/
- https://529049.xyz/ - https://www.52bt059.buzz/
- https://www.529052.xyz/ - 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: caps:
categorymappings: categorymappings:
@@ -1,7 +1,7 @@
--- ---
id: Bittorrentfiles id: Bittorrentfiles
name: 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 language: de-DE
type: private type: private
encoding: UTF-8 encoding: UTF-8
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: abnormal id: abnormal
name: Abnormal name: Abnormal
description: "General French Private Tracker" description: "ABNormal (ABN) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-FR language: fr-FR
type: private type: private
encoding: UTF-8 encoding: UTF-8
+52 -47
View File
@@ -8,77 +8,79 @@ language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
links: links:
- https://usefultrash.net/
legacylinks:
- https://abtorrents.me/ - https://abtorrents.me/
- https://abtorrents.xyz/
caps: caps:
categorymappings: categorymappings:
- {id: 10, cat: Audio/Audiobook, desc: "Action/Adventure"} - {id: 10, cat: Audio/Audiobook, desc: "Action & Adventure"}
- {id: 20, cat: Audio/Audiobook, desc: "Biography/Memoirs"} - {id: 80, cat: Audio/Audiobook, desc: "Adult & Erotica"}
- {id: 30, cat: Audio/Audiobook, desc: "Business "} - {id: 20, cat: Audio/Audiobook, desc: "Biography & Memoirs"}
- {id: 30, cat: Audio/Audiobook, desc: "Business"}
- {id: 40, cat: Audio/Audiobook, desc: "Childrens"} - {id: 40, cat: Audio/Audiobook, desc: "Childrens"}
- {id: 50, cat: Audio/Audiobook, desc: "Humor (Comedy)"} - {id: 70, cat: Audio/Audiobook, desc: "Computers"}
- {id: 60, cat: Audio/Audiobook, desc: "Comics"} - {id: 260, cat: Audio/Audiobook, desc: "Crime & Thriller"}
- {id: 70, cat: Audio/Audiobook, desc: "Computers "}
- {id: 80, cat: Audio/Audiobook, desc: "Adult/Erotica"}
- {id: 90, cat: Audio/Audiobook, desc: "Fantasy-General"} - {id: 90, cat: Audio/Audiobook, desc: "Fantasy-General"}
- {id: 100, cat: Audio/Audiobook, desc: "Fantasy-Youth"} - {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: 130, cat: Audio/Audiobook, desc: "General Fiction"}
- {id: 140, cat: Audio/Audiobook, desc: "Historical Fiction"} - {id: 140, cat: Audio/Audiobook, desc: "Historical Fiction"}
- {id: 150, cat: Audio/Audiobook, desc: "History"} - {id: 150, cat: Audio/Audiobook, desc: "History"}
- {id: 160, cat: Audio/Audiobook, desc: "Horror"} - {id: 160, cat: Audio/Audiobook, desc: "Horror"}
- {id: 50, cat: Audio/Audiobook, desc: "Humor (Comedy)"}
- {id: 170, cat: Audio/Audiobook, desc: "Literature"} - {id: 170, cat: Audio/Audiobook, desc: "Literature"}
- {id: 175, cat: Audio/Audiobook, desc: "LitRPG"} - {id: 175, cat: Audio/Audiobook, desc: "LitRPG"}
- {id: 180, cat: Audio/Audiobook, desc: "Mystery "} - {id: 180, cat: Audio/Audiobook, desc: "Mystery"}
- {id: 190, cat: Audio/Audiobook, desc: "Non-Fiction"} - {id: 215, cat: Audio/Audiobook, desc: "Paranormal Romance"}
- {id: 200, cat: Audio/Audiobook, desc: "Radio Drama"} - {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: 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: 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: 250, cat: Audio/Audiobook, desc: "Self Improvement"}
- {id: 265, cat: Audio/Audiobook, desc: "Sports & Fitness"}
- {id: 270, cat: Audio/Audiobook, desc: "Suspense"} - {id: 270, cat: Audio/Audiobook, desc: "Suspense"}
- {id: 280, cat: Audio/Audiobook, desc: "Talk Radio"} - {id: 280, cat: Audio/Audiobook, desc: "Talk Radio"}
- {id: 260, cat: Audio/Audiobook, desc: "Crime/Thriller/Mystery"} - {id: 285, cat: Audio/Audiobook, desc: "Travel"}
- {id: 290, cat: Audio/Audiobook, desc: "Urban Fantasy"} - {id: 290, cat: Audio/Audiobook, desc: "Urban Fantasy & Paranormal"}
- {id: 300, cat: Audio/Audiobook, desc: "Western"} - {id: 300, cat: Audio/Audiobook, desc: "Western"}
- {id: 400, cat: Books/EBook, desc: "[E] Action/Adventure"} - {id: 310, cat: Audio/Audiobook, desc: "Young Adult"}
- {id: 410, cat: Books/EBook, desc: "[E] Adult / Erotica"} - {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: 420, cat: Books/EBook, desc: "[E] Arts & Crafts (Hobbies)"}
- {id: 430, cat: Books/EBook, desc: "[E] Biography/Memoirs"} - {id: 430, cat: Books/EBook, desc: "[E] Biography & Memoirs"}
- {id: 730, cat: Books/EBook, desc: "[E] Collections"} - {id: 435, cat: Books/EBook, desc: "[E] Business"}
- {id: 440, cat: Books/EBook, desc: "[E] Comic Books"} - {id: 720, cat: Books/EBook, desc: "[E] Childrens"}
- {id: 450, cat: Books/EBook, desc: "[E] Computer Learning"} - {id: 450, cat: Books/EBook, desc: "[E] Computer Learning"}
- {id: 460, cat: Books/EBook, desc: "[E] Cookery"} - {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: 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: 500, cat: Books/EBook, desc: "[E] General Fiction"}
- {id: 510, cat: Books/EBook, desc: "[E] Historical 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: 530, cat: Books/EBook, desc: "[E] Horror"}
- {id: 540, cat: Books/EBook, desc: "[E] Humor (Comedy)"} - {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: 560, cat: Books/EBook, desc: "[E] Literary Fiction"}
- {id: 565, cat: Books/EBook, desc: "[E] LitRPG"} - {id: 565, cat: Books/EBook, desc: "[E] LitRPG"}
- {id: 570, cat: Books/EBook, desc: "[E] Magazines - all"} - {id: 570, cat: Books/EBook, desc: "[E] Mystery"}
- {id: 580, cat: Books/EBook, desc: "[E] Non-Fiction"}
- {id: 585, cat: Books/EBook, desc: "[E] Other Languages"}
- {id: 590, cat: Books/EBook, desc: "[E] Paranormal Romance"} - {id: 590, cat: Books/EBook, desc: "[E] Paranormal Romance"}
- {id: 600, cat: Books/EBook, desc: "[E] Reference/Educational"} - {id: 600, cat: Books/EBook, desc: "[E] Reference & Educational"}
- {id: 610, cat: Books/EBook, desc: "[E] Religion and Spirituality"} - {id: 610, cat: Books/EBook, desc: "[E] Religion & Spirituality"}
- {id: 620, cat: Books/EBook, desc: "[E] Romance"} - {id: 620, cat: Books/EBook, desc: "[E] Romance"}
- {id: 630, cat: Books/EBook, desc: "[E] Sci-Fi"} - {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: 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: 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: 700, cat: Books/EBook, desc: "[E] Western"}
- {id: 710, cat: Books/EBook, desc: "[E] Young Adult"} - {id: 710, cat: Books/EBook, desc: "[E] Young Adult"}
- {id: 720, cat: Books/EBook, desc: "[E] Young Children"}
modes: modes:
search: [q] search: [q]
@@ -106,6 +108,8 @@ settings:
login: login:
# using cookie method because login page simplecaptcha generates Exception: Cannot access child value on Newtonsoft.Json.Linq.JValue. # using cookie method because login page simplecaptcha generates Exception: Cannot access child value on Newtonsoft.Json.Linq.JValue.
method: cookie method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test: test:
path: index.php path: index.php
selector: a[href*="logout.php?hash_please="] selector: a[href*="logout.php?hash_please="]
@@ -116,26 +120,23 @@ search:
inputs: inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}" $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}" search: "{{ .Keywords }}"
# title, descr # title, descr, series, additional_info, author, author, uploader
searchin: title 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 incldead: 1
# 1 onlyfree, null all # 0 All Torrents, 1 Only Free Torrents
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" only_free: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}"
rows: rows:
selector: table.table-striped > tbody > tr:has(a[href^="download.php?torrent="]) 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 fields: # some users (rank specific?) have an extra column (td:nth-child(4)) with bookmark features
category: categorydesc:
selector: a[href^="browse.php?cat="] selector: img[src^="./pic/caticons"]
attribute: href attribute: alt
filters:
- name: querystring
args: cat
title: title:
selector: a[href^="details.php?id="] selector: a[href^="details.php?id="]
remove: span remove: span.has-text-red
details: details:
selector: a[href^="details.php?id="] selector: a[href^="details.php?id="]
attribute: href attribute: href
@@ -166,9 +167,13 @@ search:
grabs: grabs:
selector: a[href^="snatches.php?id="] selector: a[href^="snatches.php?id="]
seeders: seeders:
selector: td:nth-last-child(3) div:nth-last-child(2) selector: a[title="Seeders"]
optional: true
default: 0
leechers: leechers:
selector: td:nth-last-child(3) div:last-child selector: a[title="Leechers"]
optional: true
default: 0
downloadvolumefactor: downloadvolumefactor:
case: case:
tr.freeleech_color: 0 tr.freeleech_color: 0
+5 -8
View File
@@ -29,10 +29,10 @@ search:
selector: tbody tr selector: tbody tr
fields: fields:
title:
selector: td.title > span.title a
category: category:
text: 1 text: 1
title:
selector: td.title > span.title a
details: details:
selector: td.title > span.title a selector: td.title > span.title a
attribute: href attribute: href
@@ -42,16 +42,13 @@ search:
size: size:
selector: td.size selector: td.size
seeders: seeders:
selector: td.peers div.seed text: 1
leechers: leechers:
selector: td.peers div.leech text: 1
grabs:
selector: td.peers div.done
date: date:
# unix
selector: td.date time selector: td.date time
attribute: datetime attribute: datetime
filters:
- name: fuzzytime
downloadvolumefactor: downloadvolumefactor:
text: 0 text: 0
uploadvolumefactor: uploadvolumefactor:
@@ -1,7 +1,7 @@
--- ---
id: acrossthetasman id: acrossthetasman
name: Across The Tasman 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 language: en-AU
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -51,7 +51,7 @@ login:
- selector: div.restore:contains("invalid username or password") - selector: div.restore:contains("invalid username or password")
test: test:
path: torrents.php path: torrents.php
selector: a[href*="logout.php"] selector: a[href*="login.php?do=logout"]
search: search:
paths: paths:
+12 -10
View File
@@ -101,7 +101,7 @@ login:
selector: td.text selector: td.text
test: test:
path: / path: /
selector: a[href="/logout.php"] selector: a[href*="/logout.php"]
search: search:
paths: paths:
@@ -115,11 +115,17 @@ search:
type: "{{ .Config.type }}" type: "{{ .Config.type }}"
rows: 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: filters:
- name: andmatch - name: andmatch
fields: fields:
category:
selector: a[href*="/browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title: title:
selector: a.index selector: a.index
attribute: href attribute: href
@@ -127,17 +133,11 @@ search:
- name: querystring - name: querystring
args: name args: name
- name: urldecode - name: urldecode
category:
selector: td a[href^="/browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details: details:
selector: a.index selector: a[href*="/details.php?id="]
attribute: href attribute: href
download: download:
selector: a[href^="download.php?id="] selector: a.index
attribute: href attribute: href
filters: filters:
- name: urldecode - name: urldecode
@@ -147,6 +147,8 @@ search:
filters: filters:
- name: regexp - name: regexp
args: src=([^\s]+) args: src=([^\s]+)
- name: replace
args: ["\"", ""]
imdbid: imdbid:
selector: a[href*="imdb.com/title/tt"] selector: a[href*="imdb.com/title/tt"]
attribute: href attribute: href
+180
View File
@@ -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
+3 -1
View File
@@ -8,9 +8,12 @@ encoding: UTF-8
requestDelay: 2 requestDelay: 2
links: links:
- https://www.agsvpt.com/ - https://www.agsvpt.com/
- https://pt.agsvpt.cn/
legacylinks:
- https://abroad.agsvpt.com/ - https://abroad.agsvpt.com/
caps: caps:
# dont forget to update the path categories in the search block
categorymappings: categorymappings:
- {id: 401, cat: Movies, desc: "Movie(电影)", default: true} - {id: 401, cat: Movies, desc: "Movie(电影)", default: true}
- {id: 402, cat: TV, desc: "TV Series(电视剧)", 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: 406, cat: Audio/Video, desc: "MV(演唱", default: true}
- {id: 407, cat: TV/Sport, desc: "Sports(体育)", default: true} - {id: 407, cat: TV/Sport, desc: "Sports(体育)", default: true}
- {id: 408, cat: Audio/Audiobook, desc: "Audio(音频)", default: true} - {id: 408, cat: Audio/Audiobook, desc: "Audio(音频)", default: true}
# special
- {id: 413, cat: PC/Games, desc: "Game(游戏)", default: false} - {id: 413, cat: PC/Games, desc: "Game(游戏)", default: false}
- {id: 416, cat: Books/Comics, desc: "Comic(漫画)", default: false} - {id: 416, cat: Books/Comics, desc: "Comic(漫画)", default: false}
- {id: 412, cat: PC/0day, desc: "Software(软件)", default: false} - {id: 412, cat: PC/0day, desc: "Software(软件)", default: false}
@@ -1,7 +1,7 @@
--- ---
id: aidoruonline id: aidoruonline
name: Aidoru!Online 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 language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -57,6 +57,10 @@ settings:
options: options:
desc: desc desc: desc
asc: asc 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: login:
# using cookie method because login page returns 0 bytes with a cookie flog=6 # using cookie method because login page returns 0 bytes with a cookie flog=6
+13 -11
View File
@@ -5,6 +5,7 @@ description: "Aither is a Private Torrent Tracker for HD MOVIES / TV"
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
# status https://status.aither.cc/
links: links:
- https://aither.cc/ - https://aither.cc/
@@ -13,13 +14,11 @@ caps:
- {id: 1, cat: Movies, desc: "Movie"} - {id: 1, cat: Movies, desc: "Movie"}
- {id: 9, cat: TV/Sport, desc: "Sport"} - {id: 9, cat: TV/Sport, desc: "Sport"}
- {id: 2, cat: TV, desc: "TV"} - {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
modes: modes:
search: [q] search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid] movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q] book-search: [q]
settings: settings:
@@ -57,7 +56,7 @@ settings:
- name: info_activity - name: info_activity
type: info type: info
label: Account Inactivity 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: login:
path: /api/torrents path: /api/torrents
@@ -71,9 +70,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -118,8 +117,6 @@ search:
selector: details_link selector: details_link
download: download:
selector: download_link selector: download_link
infohash:
selector: info_hash
poster: poster:
selector: meta.poster selector: meta.poster
filters: filters:
@@ -140,8 +137,13 @@ search:
args: ["(?i)(TV Movie)", "TV_Movie"] args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -153,7 +155,7 @@ search:
selector: created_at selector: created_at
filters: filters:
- name: append - name: append
args: " +00:00" # UTC args: " +00:00" # GMT
- name: dateparse - name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz" args: "MM/dd/yyyy HH:mm:ss zzz"
size: size:
@@ -189,4 +191,4 @@ search:
minimumseedtime: minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60) # 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000 text: 432000
# json UNIT3D 8.3.3 # json UNIT3D 9.1.7
+170
View File
@@ -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 id: amigosshare
name: Amigos Share Club 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 language: pt-BR
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -29,14 +29,14 @@ caps:
- {id: 25, cat: PC, desc: "Aplicativos: Linux"} - {id: 25, cat: PC, desc: "Aplicativos: Linux"}
- {id: 23, cat: PC/Mobile-Android, desc: "Aplicativos: Android"} - {id: 23, cat: PC/Mobile-Android, desc: "Aplicativos: Android"}
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"} - {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
- {id: 73, cat: Books, desc: "Cursos: Video Aula"} - {id: 73, cat: Other, desc: "Cursos: Video Aula"}
- {id: 72, cat: Books, desc: "Cursos: Apostila"} - {id: 72, cat: Other, desc: "Cursos: Apostila"}
- {id: 71, cat: Books, desc: "Cursos: Cursos"} - {id: 71, cat: Other, desc: "Cursos: Cursos"}
- {id: 67, cat: Books, desc: "Ebook: Livros"} - {id: 67, cat: Books/EBook, desc: "Ebook: Livros"}
- {id: 112, cat: Books, desc: "Ebook: HQs"} - {id: 112, cat: Books/Comics, desc: "Ebook: HQs"}
- {id: 147, cat: Books, desc: "Ebook: Mangas"} - {id: 147, cat: Books/Comics, desc: "Ebook: Mangas"}
- {id: 121, cat: Audio/Audiobook, desc: "Ebook: Audio-book"} - {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: 119, cat: Movies, desc: "Filmes:"}
- {id: 70, cat: XXX, desc: "Fotos: Revistas, Livros e Fotos"} - {id: 70, cat: XXX, desc: "Fotos: Revistas, Livros e Fotos"}
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"} - {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
@@ -152,7 +152,7 @@ search:
keywordsfilters: keywordsfilters:
# drop the year from searches since site titles do not include year # drop the year from searches since site titles do not include year
- name: re_replace - name: re_replace
args: ["(19|20[0-9]{2})", ""] args: ["(\\s*\\b((19|20)\\d{2})\\b)", ""]
rows: rows:
selector: "div#fancy-list-group ul.list-group li.list-group-item{{ if .Config.freeleech }}:has(span.badge-success:contains(\"FREE\")){{ else }}{{ end }}" 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: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -144,8 +144,13 @@ search:
args: ["(?i)(TV Movie)", "TV_Movie"] args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -193,4 +198,4 @@ search:
minimumseedtime: minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60) # 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800 text: 604800
# json UNIT3D 8.3.4 # json UNIT3D 9.1.5
@@ -1,7 +1,7 @@
--- ---
id: animeworld-api id: animeworld-api
name: 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 language: de-DE
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -82,9 +82,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -149,8 +149,13 @@ search:
args: ["(?i)(Science Fiction)", "Science_Fiction"] args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -4,7 +4,7 @@ replaces:
- tehconnectionme - tehconnectionme
- anthelion - anthelion
name: Anthelion (API) name: Anthelion (API)
description: "Anthelion is a Private MOVIES tracker" description: "Anthelion (ANT) is a Private Torrent Tracker for MOVIES"
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -91,6 +91,8 @@ search:
selector: codec selector: codec
_container: _container:
selector: container selector: container
filters:
- name: toupper
_media: _media:
selector: media selector: media
filters: filters:
@@ -122,7 +124,11 @@ search:
filters: filters:
- name: htmldecode - name: htmldecode
- name: append - 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: details:
selector: guid selector: guid
download: download:
@@ -1,7 +1,7 @@
--- ---
id: arabafenice id: arabafenice
name: 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 language: it-IT
type: private type: private
encoding: UTF-8 encoding: UTF-8
+20 -23
View File
@@ -82,15 +82,6 @@ caps:
# برامج Software # برامج Software
- {id: 22, cat: PC, desc: "برامج عربية (Arabic Software)"} - {id: 22, cat: PC, desc: "برامج عربية (Arabic Software)"}
- {id: 23, cat: PC, desc: "برامج عامه (Public 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 # اخرى Other
- {id: 17, cat: Books, desc: "كتب (Books)"} - {id: 17, cat: Books, desc: "كتب (Books)"}
- {id: 65, cat: Other, desc: "صور (Images)"} - {id: 65, cat: Other, desc: "صور (Images)"}
@@ -119,12 +110,13 @@ login:
search: search:
paths: 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 - path: index.php
inputs: inputs:
page: torrents page: torrents
search: "{{ .Keywords }}" 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 # 0 all 1 activeonly 2 deadonly
active: 0 active: 0
# 0 all 1 internal 2 external # 0 all 1 internal 2 external
@@ -134,38 +126,43 @@ search:
# does not support imdbid search or provide imdb link in results # does not support imdbid search or provide imdb link in results
rows: 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: filters:
- name: andmatch - name: andmatch
fields: fields:
category: category:
selector: td a[href^="index.php?page=torrents&category="] selector: a[href^="index.php?page=torrents&category="]:last-child
attribute: href attribute: href
filters: filters:
- name: querystring - name: querystring
args: category args: category
title: title:
selector: td a[href^="index.php?page=torrent-details"] selector: a[href^="index.php?page=torrent-details"]
details: details:
selector: td a[href^="index.php?page=torrent-details"] selector: a[href^="index.php?page=torrent-details"]
attribute: href attribute: href
download: download:
selector: td a[href^="download.php"] selector: a[href^="download.php?id="]
attribute: href attribute: href
optional: true
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
optional: true
date: date:
selector: td:nth-child(4) span selector: span.upload-date > span
attribute: title attribute: title
# auto adjusted by site account profile # auto adjusted by site account profile
filters: filters:
- name: dateparse - name: dateparse
args: "yyyy-MM-dd HH:mm:ss" args: "MM-yy-dd HH:mm:ss tt"
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
size: size:
selector: td:nth-child(7) selector: span.size
seeders:
selector: span[title="Seeders"]
leechers:
selector: span[title="Leechers"]
downloadvolumefactor: downloadvolumefactor:
case: case:
span.free: 0 span.free: 0
@@ -5,6 +5,8 @@ description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GEN
language: bg-BG language: bg-BG
type: semi-private type: semi-private
encoding: UTF-8 encoding: UTF-8
certificates:
- c25aba843f815e92d0da0bbe3191326d16a81a32 # expired 15th Oct 2025
links: links:
- https://arenabg.com/ - https://arenabg.com/
legacylinks: legacylinks:
@@ -34,6 +36,7 @@ caps:
- {id: 24, cat: TV, desc: "Series / TV Episodes"} - {id: 24, cat: TV, desc: "Series / TV Episodes"}
- {id: 25, cat: TV, desc: "Series / TV Boxset"} - {id: 25, cat: TV, desc: "Series / TV Boxset"}
- {id: 26, cat: TV/HD, desc: "Series / TV Boxset HD"} - {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: 3, cat: Audio, desc: "Music"}
- {id: 27, cat: Audio/MP3, desc: "Music / MP3"} - {id: 27, cat: Audio/MP3, desc: "Music / MP3"}
- {id: 28, cat: Audio/Video, desc: "Music / Video"} - {id: 28, cat: Audio/Video, desc: "Music / Video"}
@@ -1,7 +1,7 @@
--- ---
id: asiancinema id: asiancinema
name: AsianCinema name: AsianCinema
description: "Tracker Movies/TV/Music" description: "AsianCinema is a Private Tracker for ASIAN MOVIES / TV / MUSIC"
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -1,7 +1,7 @@
--- ---
id: asiandvdclub id: asiandvdclub
name: 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 language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
+1 -1
View File
@@ -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>" 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: 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 method: cookie
inputs: inputs:
cookie: "{{ .Config.cookie }}" cookie: "{{ .Config.cookie }}"
@@ -1,7 +1,7 @@
--- ---
id: aussierules id: aussierules
name: Aussierul.es 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 language: en-AU
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -35,7 +35,7 @@ settings:
- name: dead - name: dead
label: Include Dead Torrents label: Include Dead Torrents
type: select type: select
default: No default: no
options: options:
yes: Yes yes: Yes
no: No no: No
+24 -37
View File
@@ -1,7 +1,7 @@
--- ---
id: azusa id: azusa
name: 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 language: zh-CN
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -22,19 +22,11 @@ caps:
book-search: [q] book-search: [q]
settings: settings:
- name: username - name: cookie
type: text type: text
label: Username label: Cookie
- name: password - name: info_cookie
type: password type: info_cookie
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."
- name: freeleech - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only 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. default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login: login:
path: login.php # using cookie method because site regularly disables login page for certain events during the year
method: form method: cookie
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs: inputs:
secret: "" cookie: "{{ .Config.cookie }}"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: ""
error:
- selector: td.embedded:has(h2:contains("失败"))
test: test:
path: index.php path: index.php
selector: a[href="logout.php"] selector: a[href^="logout.php?csrf_token="]
search: search:
paths: paths:
- path: torrents.php - path: torrents.php
allowEmptyInputs: true
inputs: inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 incldead, 1 active, 2 dead # 0 incldead, 1 active, 2 dead
incldead: 0 incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
inclbookmarked: 0
approval_status: ""
trackerStatus: ""
search: "{{ .Keywords }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl # 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: 0 search_area: 0
# 0 AND, 1 OR, 2 exact # 0 AND, 1 OR, 2 exact
search_mode: 0 search_mode: 0
sort: "{{ .Config.sort }}" sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}" type: "{{ .Config.type }}"
notnewword: 1
rows: rows:
selector: table.torrents > tbody > tr:has(table.torrentname) selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -148,11 +129,17 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow:nth-child(6) selector: a[href$="dllist=1#seeders"]
optional: true
default: 0
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: a[href$="dllist=1#leechers"]
optional: true
default: 0
grabs: grabs:
selector: td.rowfollow:nth-child(8) selector: a[href^="viewsnatches.php?id="]
optional: true
default: 0
downloadvolumefactor: downloadvolumefactor:
case: case:
img.pro_free: 0 img.pro_free: 0
@@ -170,4 +157,4 @@ search:
description: description:
selector: td:nth-child(2) selector: td:nth-child(2)
remove: a, b, font, img, span remove: a, b, font, img, span
# NexusPHP v1.7.20 2022-08-05 # NexusPHP v1.7.20 2022-08-05 (custom)
+21 -15
View File
@@ -10,6 +10,7 @@ links:
caps: caps:
categorymappings: categorymappings:
- {id: 100, cat: Console, desc: "Anbernic"}
- {id: 15, cat: PC/Mobile-Android, desc: "Android"} - {id: 15, cat: PC/Mobile-Android, desc: "Android"}
- {id: 35, cat: TV/Anime, desc: "Anime"} - {id: 35, cat: TV/Anime, desc: "Anime"}
- {id: 51, cat: PC/Mac, desc: "Apple"} - {id: 51, cat: PC/Mac, desc: "Apple"}
@@ -17,9 +18,9 @@ caps:
- {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"} - {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"}
- {id: 71, cat: Console, desc: "Batocera"} - {id: 71, cat: Console, desc: "Batocera"}
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"} - {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
- {id: 22, cat: Console, desc: "CoinOps"}
- {id: 42, cat: Console, desc: "CoinOPS Official"} - {id: 42, cat: Console, desc: "CoinOPS Official"}
- {id: 65, cat: Console, desc: "CoinOps Unofficial"} - {id: 65, cat: Console, desc: "CoinOps Unofficial"}
- {id: 22, cat: Console, desc: "CoinOps"}
- {id: 63, cat: Books/Comics, desc: "Comics"} - {id: 63, cat: Books/Comics, desc: "Comics"}
- {id: 60, cat: Console, desc: "Core"} - {id: 60, cat: Console, desc: "Core"}
- {id: 72, cat: Console, desc: "CORE Community"} - {id: 72, cat: Console, desc: "CORE Community"}
@@ -28,39 +29,44 @@ caps:
- {id: 41, cat: Console, desc: "Dragon"} - {id: 41, cat: Console, desc: "Dragon"}
- {id: 5, cat: Books, desc: "EBooks"} - {id: 5, cat: Books, desc: "EBooks"}
- {id: 80, cat: PC, desc: "Emulation Media"} - {id: 80, cat: PC, desc: "Emulation Media"}
- {id: 61, cat: Console, desc: "emuxtras"} - {id: 61, cat: PC, desc: "emuxtras"}
- {id: 69, cat: TV, desc: "Entertainment"} - {id: 89, cat: PC, desc: "Ghostware"}
- {id: 84, cat: TV, desc: "GOG DRM FREE"} - {id: 84, cat: TV, desc: "GOG DRM FREE"}
- {id: 77, cat: PC, desc: "Hyperspin"} - {id: 77, cat: PC, desc: "Hyperspin"}
- {id: 34, cat: TV, desc: "Kids"} - {id: 34, cat: TV, desc: "Kids"}
- {id: 43, cat: Console, desc: "LB No Intro"} - {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: 33, cat: TV/Sport, desc: "MMA/Boxing"}
- {id: 32, cat: Movies, desc: "Movie Pack"} - {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: 82, cat: PC, desc: "MS-DOS"}
- {id: 7, cat: Audio, desc: "Music"} - {id: 7, cat: Audio, desc: "Music"}
- {id: 31, cat: Console, desc: "Nintendo"} - {id: 31, cat: Console, desc: "Nintendo"}
- {id: 59, cat: Console, desc: "P-R-U"} - {id: 59, cat: Console, desc: "P-R-U"}
- {id: 8, cat: PC/Games, desc: "PC Games"} - {id: 8, cat: PC/Games, desc: "PC Games"}
- {id: 50, cat: Console, desc: "PlayBox"} - {id: 50, cat: Console, desc: "PlayBox"}
- {id: 87, cat: Console, desc: "Playnite"}
- {id: 30, cat: Console, desc: "Playstation"} - {id: 30, cat: Console, desc: "Playstation"}
- {id: 62, cat: Console, desc: "RaspberryPi"} - {id: 62, cat: PC, desc: "Raspberry Pi"}
- {id: 83, cat: Console, desc: "Retro eXo"} - {id: 83, cat: PC, desc: "Retro eXo"}
- {id: 56, cat: Console, desc: "Retro Minis"} - {id: 56, cat: PC, desc: "Retro Minis"}
- {id: 81, cat: PC, desc: "Retro Scene Releases"} - {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: 79, cat: PC, desc: "RGB-Pi"}
- {id: 76, cat: Console, desc: "RGS"} - {id: 76, cat: Console, desc: "RGS"}
- {id: 27, cat: Console, desc: "Roms and Emulators"} - {id: 27, cat: PC, desc: "Roms and Emulators"}
- {id: 68, cat: Console, desc: "Schmoomer's"} - {id: 68, cat: PC, desc: "Schmoomer's"}
- {id: 57, cat: Console, desc: "Sega"} - {id: 57, cat: Console, desc: "Sega"}
- {id: 74, cat: PC, desc: "Sleyk/SGC"} - {id: 74, cat: PC, desc: "Sleyk/SGC"}
- {id: 40, cat: TV, desc: "Soaps"}
- {id: 29, cat: TV/Sport, desc: "Sport"} - {id: 29, cat: TV/Sport, desc: "Sport"}
- {id: 9, cat: TV, desc: "TV-Boxsets"} - {id: 90, cat: PC, desc: "TeknoParrot"}
- {id: 11, cat: TV, desc: "TV/x264"} - {id: 9, cat: TV, desc: "TV Packs"}
- {id: 10, cat: TV, desc: "TV/Xvid"} - {id: 11, cat: TV, desc: "TV Shows"}
- {id: 75, cat: Audio, desc: "Video Game Music"} - {id: 97, cat: TV/Other, desc: "Video Courses"}
- {id: 75, cat: TV, desc: "Video Game Music"}
- {id: 73, cat: Console, desc: "Wolfanoz"} - {id: 73, cat: Console, desc: "Wolfanoz"}
- {id: 14, cat: TV/Sport, desc: "WWE"} - {id: 14, cat: TV/Sport, desc: "WWE"}
- {id: 26, cat: Console, desc: "Xbox"} - {id: 26, cat: Console, desc: "Xbox"}
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: bestcore id: bestcore
name: Best-Core 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 language: hu-HU
type: private type: private
encoding: ISO-8859-2 encoding: ISO-8859-2
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: bibliotik id: bibliotik
name: 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 language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
+152
View File
@@ -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
+14 -15
View File
@@ -10,30 +10,29 @@ links:
- https://bitbazis.net/ - https://bitbazis.net/
caps: caps:
# dont forget to update the path categories in the search block
categorymappings: categorymappings:
- {id: 85, cat: Movies/SD, desc: "Film-Cam", default: true}
- {id: 15, cat: Movies/SD, desc: "Film-SD", 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: 83, cat: Movies/HD, desc: "Film-HD", default: true}
- {id: 94, cat: Movies/HD, desc: "Film-FHD", 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: 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: 25, cat: Audio/MP3, desc: "Mp3-Hun", default: true}
- {id: 26, cat: Audio/MP3, desc: "Mp3-Eng", default: true} - {id: 26, cat: Audio/MP3, desc: "Mp3-Eng", default: true}
- {id: 84, cat: Audio/Lossless, desc: "FLAC-Hun", default: true} - {id: 84, cat: Audio/Lossless, desc: "FLAC-Hun", default: true}
- {id: 71, cat: Audio/Lossless, desc: "FLAC-Eng", 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: 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: 66, cat: XXX/ImageSet, desc: "XXX", default: false}
- {id: 33, cat: XXX/SD, desc: "XXX-SD", default: false} - {id: 33, cat: XXX/SD, desc: "XXX-SD", default: false}
- {id: 89, cat: XXX/x264, desc: "XXX-HD", 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: modes:
search: [q] search: [q]
@@ -82,12 +81,12 @@ login:
cookie: "{{ .Config.cookie }}" cookie: "{{ .Config.cookie }}"
test: test:
path: index.php path: index.php
selector: li[onclick^="window.open('logout.php?k="] selector: a[onclick="confirmLogout()"]
search: search:
paths: paths:
- path: browse.php - 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: inputs:
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded # 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
incldead: 0 incldead: 0
@@ -116,7 +115,7 @@ search:
- name: replace - name: replace
args: ["catpic_", ""] args: ["catpic_", ""]
title: title:
selector: span.torrent-title selector: span.torrent-name
_id: _id:
selector: tr[data-torrent-id] selector: tr[data-torrent-id]
attribute: data-torrent-id attribute: data-torrent-id
@@ -131,7 +130,7 @@ search:
selector: a[href*="imdb.com/title/tt"] selector: a[href*="imdb.com/title/tt"]
attribute: href attribute: href
size: size:
selector: span.torrent-size selector: td.torrent-size
date: date:
# 36 perce # 36 perce
# 13 órája és 59 perce # 13 órája és 59 perce
+160
View File
@@ -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
+63 -41
View File
@@ -1,7 +1,7 @@
--- ---
id: bithumen id: bithumen
name: 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 language: hu-HU
type: private type: private
encoding: ISO-8859-2 encoding: ISO-8859-2
@@ -48,44 +48,61 @@ caps:
music-search: [q] music-search: [q]
book-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: login:
path: takelogin.php method: cookie
method: post
inputs: inputs:
username: "{{ .Config.username }}" cookie: "{{ .Config.cookie }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("bejelentkezés"))
test: test:
path: browse.php path: index.php
selector: a[href*="logout.php"] selector: a[href^="/logout.php?"]
search: search:
paths: paths:
- path: browse.php - path: browse.php
inputs: inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}" $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
incldead: 1 onlytitle: "{{ if .Query.IMDBID }}{{ else }}yes{{ end }}"
sort: "{{ .Config.sort }}"
d: "{{ .Config.type }}"
rows: rows:
selector: table#torrenttable > tbody > tr:has(a[href^="details.php?id="]) selector: table#torrenttable > tbody > tr:has(a[href^="details.php?id="])
filters:
- name: andmatch
fields: fields:
# download button can be disbled in the profile, use details link instead category:
# download: selector: a[href^="?cat="]
# selector: a[href^="download.php/"]
# attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href attribute: href
filters: filters:
- name: replace - name: querystring
args: ["details.php?id=", "download.php/"] args: cat
- name: append
args: "/invalid.torrent"
title_default: title_default:
selector: a[href^="details.php?id="] selector: a[href^="details.php?id="]
title: title:
@@ -96,21 +113,30 @@ search:
details: details:
selector: a[href^="details.php?id="] selector: a[href^="details.php?id="]
attribute: href attribute: href
imdbid: # download button can be disabled in the profile, use details link instead
selector: a[href*="imdb.com/title/tt"] download:
selector: a[href^="details.php?id="]
attribute: href attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php/"]
- name: append
args: "/invalid.torrent"
poster: poster:
selector: a[onmouseover^="bithumen.UI.images.coverShow"] selector: a[onmouseover^="bithumen.UI.images.coverShow"]
attribute: onmouseover attribute: onmouseover
filters: filters:
- name: regexp - name: regexp
args: "\"(.*?)\"" args: "\"(.*?)\""
category: imdbid:
selector: a[href^="?cat="] selector: a[href*="imdb.com/title/tt"]
attribute: href attribute: href
filters: size:
- name: querystring selector: td:nth-child(6) > u
args: cat files:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(7)
seeders: seeders:
selector: td:nth-child(8) selector: td:nth-child(8)
leechers: leechers:
@@ -118,21 +144,19 @@ search:
filters: filters:
- name: regexp - name: regexp
args: /\s*([\d,]+) args: /\s*([\d,]+)
grabs: genre:
selector: td:nth-child(7) selector: span:has(a[href^="browse.php?genre="])
files:
selector: td:nth-child(3)
size:
selector: td:nth-child(6) > u
downloadvolumefactor: downloadvolumefactor:
text: 0 text: 0
uploadvolumefactor: uploadvolumefactor:
selector: td:nth-child(5) > nobr > font:contains(" × ") selector: td:nth-child(5) > nobr > font:contains(" × ")
optional: true optional: true
default: 1 default: 1
filters: minimumseedtime:
- name: replace # 1 day (as seconds = 24 x 60 x 60)
args: ["×", ""] text: 86400
description:
selector: td:nth-child(2) > div
date_year: date_year:
selector: td:nth-child(5):contains('.') selector: td:nth-child(5):contains('.')
optional: true optional: true
@@ -155,6 +179,4 @@ search:
args: ["tegnap", "yesterday"] args: ["tegnap", "yesterday"]
date: date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}" 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 # engine tbd
+2 -2
View File
@@ -49,8 +49,8 @@ search:
t: "{{ .Query.Type }}" t: "{{ .Query.Type }}"
q: "{{ .Keywords }}" q: "{{ .Keywords }}"
cat: "{{ join .Categories \",\" }}" cat: "{{ join .Categories \",\" }}"
imdbId: "{{ .Query.IMDBIDShort }}" imdbid: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}" tmdbid: "{{ .Query.TMDBID }}"
season: "{{ .Query.Season }}" season: "{{ .Query.Season }}"
ep: "{{ .Query.Ep }}" ep: "{{ .Query.Ep }}"
limit: 100 limit: 100
+3 -3
View File
@@ -1,7 +1,7 @@
--- ---
id: bitpalace id: bitpalace
name: 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 language: hu-HU
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -35,10 +35,10 @@ caps:
- {id: 3, cat: Movies/SD, desc: "XVID HUN"} - {id: 3, cat: Movies/SD, desc: "XVID HUN"}
- {id: 12, cat: XXX/DVD, desc: "XXX DVD-R"} - {id: 12, cat: XXX/DVD, desc: "XXX DVD-R"}
- {id: 6, cat: XXX/x264, desc: "XXX HD"} - {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: 11, cat: XXX/XviD, desc: "XXX XVID"}
- {id: 19, cat: Audio/Video, desc: "ZENE Klipp"} - {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: modes:
search: [q] search: [q]
+134 -151
View File
@@ -1,7 +1,7 @@
--- ---
id: bitporn id: bitporn
name: BitPorn name: BitPorn (API)
description: "BitPorn is a HUNGARIAN Private Torrent Tracker for 3X" description: "BitPorn (Malacka) is a HUNGARIAN Private Torrent Tracker for 3X"
language: hu-HU language: hu-HU
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -10,67 +10,68 @@ links:
caps: caps:
categorymappings: categorymappings:
- {id: 418, cat: XXX, desc: "Amateur"} - {id: 4, cat: XXX, desc: Amateur"}
- {id: 410, cat: XXX, desc: "Anal"} - {id: 5, cat: XXX, desc: Anal"}
- {id: 414, cat: XXX, desc: "Animal"} - {id: 6, cat: XXX, desc: Asian"}
- {id: 415, cat: XXX, desc: "Asian"} - {id: 7, cat: XXX, desc: BBW"}
- {id: 416, cat: XXX, desc: "BBW"} - {id: 8, cat: XXX, desc: BDSM"}
- {id: 417, cat: XXX, desc: "BDSM"} - {id: 9, cat: XXX, desc: Big Ass"}
- {id: 419, cat: XXX, desc: "Big Ass"} - {id: 10, cat: XXX, desc: Big Tits"}
- {id: 420, cat: XXX, desc: "Big Tits"} - {id: 11, cat: XXX, desc: Black"}
- {id: 421, cat: XXX, desc: "Black"} - {id: 12, cat: XXX, desc: Cartoon"}
- {id: 447, cat: XXX, desc: "Cartoon"} - {id: 13, cat: XXX, desc: Casting"}
- {id: 448, cat: XXX, desc: "Casting"} - {id: 14, cat: XXX, desc: Classic"}
- {id: 422, cat: XXX, desc: "Classic"} - {id: 15, cat: XXX, desc: Collection"}
- {id: 434, cat: XXX, desc: "Collection"} - {id: 16, cat: XXX, desc: Creampie"}
- {id: 423, cat: XXX, desc: "Creampie"} - {id: 17, cat: XXX, desc: Cumshot"}
- {id: 424, cat: XXX, desc: "Cumshot"} - {id: 18, cat: XXX, desc: Deepthroat"}
- {id: 451, cat: XXX, desc: "Deepthroat"} - {id: 19, cat: XXX, desc: Extreme"}
- {id: 455, cat: XXX, desc: "Extreme"} - {id: 20, cat: XXX, desc: Fansite"}
- {id: 460, cat: XXX, desc: "Fansite"} - {id: 21, cat: XXX, desc: Family"}
- {id: 454, cat: XXX, desc: "Family"} - {id: 22, cat: XXX, desc: Feature"}
- {id: 425, cat: XXX, desc: "Feature"} - {id: 23, cat: XXX, desc: Fetish"}
- {id: 426, cat: XXX, desc: "Fetish"} - {id: 24, cat: XXX, desc: Fisting"}
- {id: 457, cat: XXX, desc: "Fisting"} - {id: 25, cat: XXX, desc: Gangbang"}
- {id: 453, cat: XXX, desc: "Gangbang"} - {id: 26, cat: XXX, desc: Game"}
- {id: 459, cat: XXX, desc: "Game"} - {id: 27, cat: XXX, desc: Gay / Bi"}
- {id: 427, cat: XXX, desc: "Gay / Bi"} - {id: 28, cat: XXX, desc: Hair"}
- {id: 412, cat: XXX, desc: "Hair"} - {id: 29, cat: XXX, desc: Hardcore"}
- {id: 411, cat: XXX, desc: "Hardcore"} - {id: 30, cat: XXX, desc: HiddenCam"}
- {id: 456, cat: XXX, desc: "HiddenCam"} - {id: 31, cat: XXX, desc: Homemade"}
- {id: 428, cat: XXX, desc: "Homemade"} - {id: 32, cat: XXX, desc: Interracial"}
- {id: 429, cat: XXX, desc: "Interracial"} - {id: 33, cat: XXX, desc: Lesbian"}
- {id: 430, cat: XXX, desc: "Lesbian"} - {id: 34, cat: XXX, desc: Magyar"}
- {id: 431, cat: XXX, desc: "Magyar"} - {id: 35, cat: XXX, desc: Masturbation"}
- {id: 432, cat: XXX, desc: "Masturbation"} - {id: 36, cat: XXX, desc: Mature"}
- {id: 433, cat: XXX, desc: "Mature"} - {id: 37, cat: XXX, desc: Milf"}
- {id: 435, cat: XXX, desc: "Milf"} - {id: 53, cat: XXX, desc: Movie"}
- {id: 436, cat: XXX, desc: "Old and Young"} - {id: 38, cat: XXX, desc: Old and Young"}
- {id: 437, cat: XXX, desc: "Parody"} - {id: 39, cat: XXX, desc: Parody"}
- {id: 449, cat: XXX, desc: "Pictures"} - {id: 40, cat: XXX, desc: Pictures"}
- {id: 438, cat: XXX, desc: "Pissing"} - {id: 41, cat: XXX, desc: Pissing"}
- {id: 439, cat: XXX, desc: "POV"} - {id: 42, cat: XXX, desc: POV"}
- {id: 440, cat: XXX, desc: "Pregnant"} - {id: 43, cat: XXX, desc: Pregnant"}
- {id: 452, cat: XXX, desc: "Public"} - {id: 44, cat: XXX, desc: Public"}
- {id: 441, cat: XXX, desc: "Shemale"} - {id: 45, cat: XXX, desc: Shemale"}
- {id: 442, cat: XXX, desc: "Softcore"} - {id: 46, cat: XXX, desc: Softcore"}
- {id: 443, cat: XXX, desc: "Squirt"} - {id: 47, cat: XXX, desc: Squirt"}
- {id: 444, cat: XXX, desc: "Straight"} - {id: 48, cat: XXX, desc: Straight"}
- {id: 445, cat: XXX, desc: "Teen"} - {id: 49, cat: XXX, desc: Teen"}
- {id: 450, cat: XXX, desc: "Threesome"} - {id: 50, cat: XXX, desc: Threesome"}
- {id: 446, cat: XXX, desc: "VR"} - {id: 51, cat: XXX, desc: VR"}
- {id: 458, cat: XXX, desc: "Uncategorized"} - {id: 52, cat: XXX, desc: Uncategorized"}
modes: modes:
search: [q] search: [q]
settings: settings:
- name: username - name: apikey
type: text type: text
label: Username label: APIKey
- name: password - name: info_key
type: password type: info
label: Password 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 - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only label: Search freeleech only
@@ -78,12 +79,12 @@ settings:
- name: sort - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site
default: 4 default: created_at
options: options:
4: created created_at: created
7: seeders seeders: seeders
5: size size: size
1: title name: title
- name: type - name: type
type: select type: select
label: Order requested from site label: Order requested from site
@@ -91,121 +92,103 @@ settings:
options: options:
desc: desc desc: desc
asc: asc 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 - name: info_activity
type: info type: info
label: Account Inactivity 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: login:
path: takelogin.php path: /api/torrents
method: post method: get
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error: error:
- selector: td.embedded:has(h2:contains("Bejelentkezés sikertelen!")) - selector: a[href*="/login"]
test: message:
path: index.php text: "The API key was not accepted by {{ .Config.sitelink }}."
selector: a[href="logout.php"] - selector: :root:contains("Account is Banned")
search: search:
paths: 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: inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" # 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
search: "{{ .Keywords }}" $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
# 0 incldead, 1 active, 2 dead name: "{{ .Keywords }}"
incldead: 0 "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% sortField: "{{ .Config.sort }}"
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" sortDirection: "{{ .Config.type }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl perPage: 100
search_area: 0
# 0 AND, 2 exact keywordsfilters:
search_mode: 0 - name: re_replace
sort: "{{ .Config.sort }}" args: ["\\.", " "]
type: "{{ .Config.type }}"
notnewword: 1
rows: rows:
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="]) selector: data
attribute: attributes
fields: fields:
category: category:
selector: a[href^="?cat="] selector: category_id
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title: title:
selector: a[title][href^="details.php?id="] selector: name
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details: details:
selector: a[href^="details.php?id="] selector: details_link
attribute: href
download: download:
selector: a[href^="download.php?id="] selector: download_link
attribute: href files:
poster: selector: num_file
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)
seeders: seeders:
selector: td.rowfollow:nth-child(6) selector: seeders
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: leechers
grabs: 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: downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case: case:
img.pro_free: 0 False: 1 # normal
img.pro_free2up: 0 True: 2 # double
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor: uploadvolumefactor:
case: text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
minimumratio: minimumratio:
text: 1.0 text: 1.0
minimumseedtime: minimumseedtime:
# 48 hours (as seconds = 2 x 24 x 60 x 60) # 48 hours (as seconds = 2 x 24 x 60 x 60)
text: 172800 text: 172800
description: # json UNIT3D 9.1.7 (custom)
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.5 2023-07-06
+80 -125
View File
@@ -1,47 +1,68 @@
--- ---
id: bitsearch id: bitsearch
replaces:
- solidtorrents
name: BitSearch 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 language: en-US
type: public type: public
encoding: UTF-8 encoding: UTF-8
requestDelay: 2
links: links:
- https://bitsearch.to/ - https://bitsearch.to/
- https://solidtorrents.to/
legacylinks: legacylinks:
- https://bitsearch.nocensor.cloud/ - https://bitsearch.nocensor.cloud/
- https://bitsearch.mrunblock.bond/ - https://bitsearch.mrunblock.bond/
- https://solidtorrents.net/
- https://solidtorrents.nocensor.cloud/
- https://solidtorrents.eu/
caps: caps:
categories: categories:
Anime: TV/Anime
Anime/Dub/Dual Audio: TV/Anime
Anime/Raw: TV/Anime
Anime/Subbed: TV/Anime
AudioBook: Audio/Audiobook AudioBook: Audio/Audiobook
eBook: Books/EBook Books: Books
"Ebook/Course": Books/EBook Books/Academic: Books/EBook
Games: PC/Games Books/Comics: Books/Comics
"Games/PC": PC/Games 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: Movies
Movies/Dub/Dual Audio: Movies
Music: Audio Music: Audio
"Music/Album": Audio Music/Album: Audio
"Music/mp3": Audio/MP3 Music/Discography: Audio
"Music/Lossless": Audio/Lossless Music/FLAC: Audio/Lossless
"Music/Video": Audio/Video Music/Lossless: Audio/Lossless
Music/MP3: Audio/MP3
Music/Single: Audio
Other: Other Other: Other
"Other/Android": PC/Mobile-Android Other/Android: PC/Mobile-Android
"Other/Archive": Other Other/Archive: Other
"Other/Audio": Audio Other/Audio: Audio
"Other/Database": PC Other/Database: PC
"Other/DiskImage": PC/ISO Other/DiskImage: PC/ISO
"Other/Document": Books/Comics Other/Document: Books/Comics
"Other/Image": Other/Misc Other/Image: Other/Misc
"Other/Program": PC/0day Other/Program: PC
"Other/Sourcecode": PC Other/Source Code: PC
"Other/Source Code": PC Other/Video: TV
"Other/Video": Other
Softwares: PC/0day 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 TV: TV
Unknown: Other
XXX: XXX
modes: modes:
search: [q] search: [q]
@@ -51,139 +72,73 @@ caps:
book-search: [q] book-search: [q]
settings: settings:
- name: prefer_magnet_links
type: checkbox
label: Prefer Magnet Links
default: false
- name: sort - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site.
default: date default: created
options: options:
date: created created: created
seeders: seeders seeders: seeders
size: size size: size
- name: type - name: type
type: select type: select
label: Order requested from site label: Order requested from site.
default: desc default: desc
options: options:
desc: desc desc: desc
asc: asc asc: asc
- name: info_category_8000
type: info download:
label: About BitSearch Categories selectors:
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. - selector: a[href^="magnet:?xt"]
attribute: href
search: search:
paths: paths:
# https://bitsearch.to/search?q=&sort=date&order=desc # https://bitsearch.to/search?q=spongebob&sortBy=created&order=desc&page=1
- path: search - path: "{{ if .Keywords }}search?q={{ .Keywords }}&sortBy={{ .Config.sort }}&order={{ .Config.type }}&page=1{{ else }}latest{{ end }}"
inputs:
q: "{{ .Keywords }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
limit: 100
page: 1
keywordsfilters: keywordsfilters:
- name: re_replace - name: re_replace
args: ["\\.", " "] args: ["\\.", " "]
rows: 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: fields:
category: category:
selector: a.category # latest, search
selector: div.space-y-2 > span:nth-child(1), span.space-x-1:nth-child(1)
title: title:
selector: h5 a selector: h3 > a
details: details:
selector: h5 a selector: h3 > a
attribute: href attribute: href
download_optional:
selector: a.dl-torrent
attribute: href
optional: true
download: download:
text: "{{ if .Config.prefer_magnet_links }}{{ else }}{{ .Result.download_optional }}{{ end }}" selector: h3 > a
optional: true
magnet:
selector: a[href^="magnet:?xt"]
attribute: href 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: size:
selector: div.stats div:has(img[alt="Size"]) selector: div.space-y-2 > span:nth-child(2), span.space-x-1:nth-child(2)
seeders_dot: date_year:
selector: div.stats div:has(img[alt="Seeder"]):contains(".") selector: div.space-y-2 > span:nth-child(3):contains("/"), span.space-x-1:nth-child(3):contains("/")
optional: true 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: filters:
- name: dateparse - 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: downloadvolumefactor:
text: 0 text: 0
uploadvolumefactor: 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)
+11 -56
View File
@@ -1,7 +1,7 @@
--- ---
id: bitturk id: bitturk
name: 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 language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -13,67 +13,23 @@ legacylinks:
caps: caps:
categorymappings: 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: 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: 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: 40, cat: Movies, desc: "Türkçe Film"}
- {id: 41, cat: Movies, desc: "ViP"} - {id: 113, cat: Movies, desc: "Yabancı Dil"}
- {id: 42, cat: Movies/SD, desc: "XviD"} - {id: 77, cat: Movies/UHD, desc: "4K UHD / 3D"}
- {id: 43, cat: Movies/SD, desc: "XviD BoX"} - {id: 16, cat: Movies, desc: "Animasyon"}
- {id: 55, cat: Movies/WEB-DL, desc: "WEB-DL"} - {id: 31, cat: Movies, desc: "Belgesel"}
- {id: 7, cat: Audio, desc: "Müzik"} - {id: 112, cat: XXX, desc: "XxX"}
- {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: 48, cat: TV, desc: "Televizyon"} - {id: 48, cat: TV, desc: "Televizyon"}
- {id: 49, cat: TV/HD, desc: "Tv HD"} - {id: 49, cat: TV/HD, desc: "Tv HD"}
- {id: 50, cat: TV, desc: "Yab@ncı Dizi"} - {id: 50, cat: TV, desc: "Yab@ncı Dizi"}
- {id: 51, cat: TV, desc: "Yerli 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: modes:
search: [q] search: [q]
@@ -152,7 +108,6 @@ search:
keywords: "{{ .Keywords }}" keywords: "{{ .Keywords }}"
# name, description, both, uploader # name, description, both, uploader
search_type: name search_type: name
searchin: title
"sortOptions[sortBy]": "{{ .Config.sort }}" "sortOptions[sortBy]": "{{ .Config.sort }}"
"sortOptions[sortOrder]": "{{ .Config.type }}" "sortOptions[sortOrder]": "{{ .Config.type }}"
# Drop error trap to stop Sonarr disabling indexer, see https://github.com/Jackett/Jackett/issues/1415 # Drop error trap to stop Sonarr disabling indexer, see https://github.com/Jackett/Jackett/issues/1415
+1 -3
View File
@@ -44,9 +44,7 @@ settings:
type: text type: text
label: Cookie label: Cookie
- name: info_cookie - name: info_cookie
type: info type: info_cookie
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>"
- name: freeleech - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only label: Search freeleech only
+21 -14
View File
@@ -10,23 +10,26 @@ links:
caps: caps:
categorymappings: categorymappings:
- {id: "/3ds", cat: Console/3DS, desc: "3DS"}
- {id: "/arcade", cat: Console/Other, desc: "Arcade"} - {id: "/arcade", cat: Console/Other, desc: "Arcade"}
- {id: "/dreamcast", cat: Console/Other, desc: "Dreamcast"} - {id: "/dreamcast", cat: Console/Other, desc: "Dreamcast"}
- {id: "/nds", cat: Console/Other, desc: "DS"}
- {id: "/gba", cat: Console/Other, desc: "Game Boy Advance"} - {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: "/genesis", cat: Console/Other, desc: "Mega Drive - Genesis"}
- {id: "/neogeo", cat: Console/Other, desc: "Neo Geo"} - {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: "/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: "/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: "/ps1", cat: Console/PS3, desc: "PlayStation"}
- {id: "/ps2", cat: Console/PS3, desc: "PlayStation 2"} - {id: "/ps2", cat: Console/PS3, desc: "PlayStation 2"}
- {id: "/ps3", cat: Console/PS3, desc: "PlayStation 3"} - {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: "/saturn", cat: Console/Other, desc: "Saturn"}
- {id: "/snes", cat: Console/NDS, desc: "Super Nintendo"} - {id: "/snes", cat: Console/NDS, desc: "Super Nintendo"}
- {id: "/wii", cat: Console/Wii, desc: "Wii"}
- {id: "/xbox", cat: Console/XBox, desc: "Xbox"} - {id: "/xbox", cat: Console/XBox, desc: "Xbox"}
modes: modes:
@@ -76,31 +79,30 @@ search:
category: category:
selector: p.card-text a selector: p.card-text a
attribute: href attribute: href
_platform: title_platform:
selector: p.card-text a selector: p.card-text a
title: title:
selector: h4.card-title a selector: h4.card-title a
filters: filters:
- name: append - name: append
args: " - {{ .Result._platform }}" args: " - {{ .Result.title_platform }}"
details: details:
selector: h4.card-title a selector: h4.card-title a
attribute: href attribute: href
download: download:
selector: div.card-footer a selector: div.card-footer a
attribute: href attribute: href
poster:
selector: img
attribute: src
size: size:
selector: p.card-text selector: p.card-text
filters: filters:
- name: regexp - name: regexp
args: (\d+\.?\d+[T|G|K]iB) args: ([\d\.]+[T|G|M|K]iB)
date: date:
selector: p.card-text # release date is for game, not torrent
filters: text: now
- name: regexp
args: (\d{4}-\d{2}-\d{2})
- name: dateparse
args: "yyyy-MM-dd"
seeders: seeders:
text: 1 text: 1
leechers: leechers:
@@ -109,4 +111,9 @@ search:
text: 0 text: 0
uploadvolumefactor: uploadvolumefactor:
text: 1 text: 1
description:
selector: p.card-text
filters:
- name: regexp
args: "(Score: .+)"
# engine n/a # engine n/a
@@ -17,9 +17,7 @@ caps:
- {id: 17, cat: Movies/UHD, desc: " |- 4k/UHD Filmy "} - {id: 17, cat: Movies/UHD, desc: " |- 4k/UHD Filmy "}
- {id: 31, cat: Movies/BluRay, desc: " |- Bluray DB/BD/DVD"} - {id: 31, cat: Movies/BluRay, desc: " |- Bluray DB/BD/DVD"}
- {id: 51, cat: Movies/3D, desc: " |- 3D Filmy"} - {id: 51, cat: Movies/3D, desc: " |- 3D Filmy"}
- {id: 14, cat: Movies/SD, desc: " |- DivX"}
- {id: 45, cat: Movies/Other, desc: " |- Kreslené/Anime"} - {id: 45, cat: Movies/Other, desc: " |- Kreslené/Anime"}
- {id: 16, cat: Movies/SD, desc: " |- CAM/Kino"}
- {id: 40, cat: TV, desc: "-----TV-----"} - {id: 40, cat: TV, desc: "-----TV-----"}
- {id: 32, cat: TV, desc: " |- Serialy CZ/SK/EN"} - {id: 32, cat: TV, desc: " |- Serialy CZ/SK/EN"}
- {id: 47, cat: TV, desc: " |- Serialy"} - {id: 47, cat: TV, desc: " |- Serialy"}
@@ -30,8 +28,9 @@ caps:
- {id: 19, cat: PC/Mac, desc: " |- Programy MacOS"} - {id: 19, cat: PC/Mac, desc: " |- Programy MacOS"}
- {id: 7, cat: Audio, desc: "-----Hudba-----"} - {id: 7, cat: Audio, desc: "-----Hudba-----"}
- {id: 39, cat: Audio/Audiobook, desc: " |- Mluvene Slovo"} - {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: 43, cat: Audio/Other, desc: " |- SoundTrack"}
- {id: 53, cat: Audio/Lossless, desc: " |- Flac"}
- {id: 2, cat: PC/Games, desc: "--Hry--"} - {id: 2, cat: PC/Games, desc: "--Hry--"}
- {id: 3, cat: Console/PS3, desc: " |- Sony PS"} - {id: 3, cat: Console/PS3, desc: " |- Sony PS"}
- {id: 4, cat: Console/Wii, desc: " |- Wii"} - {id: 4, cat: Console/Wii, desc: " |- Wii"}
@@ -40,7 +39,6 @@ caps:
- {id: 28, cat: Console/NDS, desc: " |- Nintendo"} - {id: 28, cat: Console/NDS, desc: " |- Nintendo"}
- {id: 42, cat: Books, desc: "Knihy A Časopisy"} - {id: 42, cat: Books, desc: "Knihy A Časopisy"}
- {id: 36, cat: Other, desc: "Ostatní"} - {id: 36, cat: Other, desc: "Ostatní"}
- {id: 46, cat: XXX, desc: "XXX (18+)"}
# not listed # not listed
- {id: 41, cat: Movies, desc: "VIP Torrent"} - {id: 41, cat: Movies, desc: "VIP Torrent"}
- {id: 48, cat: Movies, desc: " |- RLS"} - {id: 48, cat: Movies, desc: " |- RLS"}
@@ -73,9 +73,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -120,8 +120,6 @@ search:
selector: details_link selector: details_link
download: download:
selector: download_link selector: download_link
infohash:
selector: info_hash
poster: poster:
selector: meta.poster selector: meta.poster
filters: filters:
@@ -142,8 +140,13 @@ search:
args: ["(?i)(TV Movie)", "TV_Movie"] args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -191,4 +194,4 @@ search:
minimumseedtime: minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60) # 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800 text: 604800
# json UNIT3D 8.3.4 # json UNIT3D 9.1.7
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: bootytape id: bootytape
name: 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 language: en-US
type: semi-private type: semi-private
encoding: UTF-8 encoding: UTF-8
@@ -36,9 +36,7 @@ settings:
type: text type: text
label: Cookie label: Cookie
- name: info_cookie - name: info_cookie
type: info type: info_cookie
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only label: Search freeleech only
+14 -4
View File
@@ -7,9 +7,16 @@ type: public
encoding: UTF-8 encoding: UTF-8
# current domain at https://cursor.vip/btmulu then follow links to the final search-movie link # current domain at https://cursor.vip/btmulu then follow links to the final search-movie link
links: 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.asia/
- https://www.btmulu.digital/ - https://www.btmulu.digital/
legacylinks: - https://www.btmulu.pw/
- https://www.btmulu.one/
- https://btmulu.work/ - https://btmulu.work/
caps: caps:
@@ -36,7 +43,7 @@ search:
name: "{{ re_replace .Keywords \"[\\s]+\" \"+\" }}" name: "{{ re_replace .Keywords \"[\\s]+\" \"+\" }}"
rows: rows:
selector: article.item selector: article.item:has(a[href^="/hash/"])
filters: filters:
- name: andmatch - name: andmatch
@@ -50,8 +57,11 @@ search:
selector: a[href^="/hash/"] selector: a[href^="/hash/"]
attribute: href attribute: href
infohash: infohash:
selector: article.item selector: a[href^="/hash/"]
attribute: data-key attribute: href
filters:
- name: regexp
args: ([A-F|a-f|0-9]{40})
date: date:
selector: p selector: p
filters: filters:
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: btschool id: btschool
name: 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 language: zh-CN
type: private type: private
encoding: UTF-8 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 id: bwtorrents
name: 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 language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
links: links:
- https://bwtorrents.tv/ - https://bwtorrents.tv/
- https://www.bwtorrents.life/
- https://www.bwtorrents.pro/ - https://www.bwtorrents.pro/
- https://bwtorrents.cc/ - https://bwtorrents.cc/
- https://bwtorrents.live/
legacylinks: legacylinks:
- https://bwtorrents.fun/ - https://bwtorrents.fun/
- https://bwtorrents.xyz/ - https://bwtorrents.xyz/
- https://bwtorrents.us/ - https://bwtorrents.us/
- https://bwtorrents.live/
- https://bwtorrents.co/ - https://bwtorrents.co/
- https://www.bwtorrents.life/
caps: caps:
categorymappings: categorymappings:
+7 -14
View File
@@ -28,12 +28,11 @@ caps:
music-search: [q] music-search: [q]
settings: settings:
- name: username - name: cookie
type: text type: text
label: Username label: Cookie
- name: password - name: info_cookie
type: password type: info_cookie
label: Password
- name: freeleech - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only 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>" 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: login:
path: login.php # using cookie method because login page is dynamically generated with JS
method: form method: cookie
form: form[action="takelogin.php"]
inputs: inputs:
logintype: username cookie: "{{ .Config.cookie }}"
userinput: "{{ .Config.username }}"
password: "{{ .Config.password }}"
autologin: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
test: test:
path: index.php path: index.php
selector: a[href^="logout.php?key="] 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
+11 -6
View File
@@ -1,6 +1,6 @@
--- ---
id: capybarabr id: capybarabr
name: CapybaraBR name: CapybaraBR (API)
description: "CapybaraBR is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL" description: "CapybaraBR is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: pt-BR language: pt-BR
type: private type: private
@@ -17,7 +17,7 @@ caps:
- {id: 6, cat: Movies, desc: "Desenhos Animados"} - {id: 6, cat: Movies, desc: "Desenhos Animados"}
- {id: 5, cat: Console, desc: "Jogos"} - {id: 5, cat: Console, desc: "Jogos"}
- {id: 9, cat: PC, desc: "Programas"} - {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: 11, cat: Books/EBook, desc: "Livros"}
- {id: 12, cat: Other, desc: "Cursos"} - {id: 12, cat: Other, desc: "Cursos"}
- {id: 13, cat: Books/Mags, desc: "Revistas"} - {id: 13, cat: Books/Mags, desc: "Revistas"}
@@ -78,9 +78,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -147,8 +147,13 @@ search:
args: ["(?i)(Cinema TV)", "Cinema_TV"] args: ["(?i)(Cinema TV)", "Cinema_TV"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -10,6 +10,7 @@ links:
- https://carp-hunter.hu/ - https://carp-hunter.hu/
caps: caps:
# dont forget to update the path categories in the search block
categorymappings: categorymappings:
- {id: 1, cat: Movies/SD, desc: "Film/Cam/Eng", default: true} - {id: 1, cat: Movies/SD, desc: "Film/Cam/Eng", default: true}
- {id: 2, cat: Movies/SD, desc: "Film/Cam/Hun", default: true} - {id: 2, cat: Movies/SD, desc: "Film/Cam/Hun", default: true}
+4 -4
View File
@@ -1,7 +1,7 @@
--- ---
id: carpt id: carpt
name: 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 language: zh-CN
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -65,7 +65,7 @@ settings:
- name: info_activity - name: info_activity
type: info type: info
label: Account Inactivity 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: login:
path: login.php path: login.php
@@ -186,11 +186,11 @@ search:
img.pro_2up: 2 img.pro_2up: 2
"*": 1 "*": 1
minimumratio: minimumratio:
text: 1.0 text: 10
minimumseedtime: minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60) # 1 day (as seconds = 24 x 60 x 60)
text: 86400 text: 86400
description: description:
selector: td.rowfollow:nth-child(2) selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span remove: a, b, font, img, span
# NexusPHP v1.8.14 2024-09-24 # NexusPHP v1.8.15 2024-12-10
+8 -25
View File
@@ -1,11 +1,13 @@
--- ---
id: catorrent id: catorrent
name: 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 language: ru-RU
type: semi-private type: public
encoding: UTF-8 encoding: UTF-8
links: links:
- https://catorrent.net/
legacylinks:
- https://catorrent.org/ - https://catorrent.org/
caps: caps:
@@ -33,28 +35,7 @@ caps:
modes: modes:
search: [q] search: [q]
settings: 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"]
download: download:
selectors: selectors:
@@ -78,6 +59,8 @@ search:
fields: fields:
category: category:
selector: div.icon_default selector: div.icon_default
optional: true
default: PS1
title: title:
selector: div.short_game_title selector: div.short_game_title
details: details:
@@ -105,4 +88,4 @@ search:
text: 0 text: 0
uploadvolumefactor: uploadvolumefactor:
text: 1 text: 1
# engine n/a # DataLife v25
+27 -41
View File
@@ -27,19 +27,16 @@ caps:
music-search: [q] music-search: [q]
settings: settings:
- name: username - name: cookie
type: text type: text
label: Username label: Cookie
- name: password - name: info_cookie
type: password type: info_cookie
label: Password - name: useragent
- name: 2facode
type: text type: text
label: 2FA code label: User-Agent
- name: info_2fa - name: info_useragent
type: info type: info_useragent
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the cyanbug Web Site. Otherwise just leave it empty."
- name: freeleech - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only label: Search freeleech only
@@ -67,29 +64,13 @@ settings:
- name: info_activity - name: info_activity
type: info type: info
label: Account Inactivity 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: login:
path: login.php # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
method: form method: cookie
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs: inputs:
secret: "" cookie: "{{ .Config.cookie }}"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
message:
selector: td.text
test: test:
path: index.php path: index.php
selector: a[href="logout.php"] selector: a[href="logout.php"]
@@ -112,6 +93,9 @@ search:
type: "{{ .Config.type }}" type: "{{ .Config.type }}"
notnewword: 1 notnewword: 1
headers:
User-Agent: ["{{ .Config.useragent }}"]
rows: rows:
selector: table.torrents > tbody > tr:has(table.torrentname) selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -148,7 +132,7 @@ search:
attribute: href attribute: href
date_elapsed: date_elapsed:
# time type: time elapsed (default) # time type: time elapsed (default)
selector: td:nth-child(4) > span[title] selector: td.rowfollow:nth-child(4) > span[title]
attribute: title attribute: title
optional: true optional: true
filters: filters:
@@ -158,7 +142,7 @@ search:
args: "yyyy-MM-dd HH:mm:ss zzz" args: "yyyy-MM-dd HH:mm:ss zzz"
date_added: date_added:
# time added # time added
selector: td:nth-child(4):not(:has(span)) selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true optional: true
filters: filters:
- name: append - name: append
@@ -168,13 +152,13 @@ search:
date: date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size: size:
selector: td:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td:nth-child(6) selector: td.rowfollow.rowfollow:nth-child(6)
leechers: leechers:
selector: td:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:
selector: td:nth-child(8) selector: td.rowfollow:nth-child(8)
downloadvolumefactor: downloadvolumefactor:
case: case:
img.pro_free: 0 img.pro_free: 0
@@ -189,10 +173,12 @@ search:
img.pro_free2up: 2 img.pro_free2up: 2
img.pro_2up: 2 img.pro_2up: 2
"*": 1 "*": 1
minimumratio:
text: 2.0
minimumseedtime: minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60) # 2 days (as seconds = 2 x 24 x 60 x 60)
text: 259200 text: 172800
description: description:
selector: td:nth-child(2) selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span remove: a, b, font, img, span
# NexusPHP v1.8.11 2024-03-27 # NexusPHP v1.9.6 2025-06-25
+131
View File
@@ -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
+7 -2
View File
@@ -6,8 +6,8 @@ language: zh-CN
type: private type: private
encoding: UTF-8 encoding: UTF-8
links: links:
- https://chdbits.co/
- https://ptchdbits.co/ - https://ptchdbits.co/
- https://chdbits.co/
caps: caps:
categorymappings: categorymappings:
@@ -66,6 +66,8 @@ login:
path: login.php path: login.php
method: form method: form
form: form[action="takelogin.php"] 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: captcha:
type: image type: image
selector: img[alt="CAPTCHA"] selector: img[alt="CAPTCHA"]
@@ -80,9 +82,12 @@ login:
error: error:
- selector: td.embedded:has(h2:contains("失败")) - selector: td.embedded:has(h2:contains("失败"))
- selector: td.embedded:has(h2:contains("failed")) - 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: test:
path: torrents.php path: torrents.php
selector: a[href*="logout.php"] selector: a[href*="logout"]
download: download:
selectors: selectors:
@@ -73,9 +73,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -142,8 +142,13 @@ search:
args: ["(?i)(TV Movie)", "TV_Movie"] args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -1,7 +1,7 @@
--- ---
id: cinemageddon id: cinemageddon
name: Cinemageddon name: Cinemageddon
description: "B-movie tracker" description: "Cinemageddon is a Private Torrent Tracker for B-movies"
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -38,6 +38,14 @@ caps:
search: [q] search: [q]
movie-search: [q, imdbid] movie-search: [q, imdbid]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login: login:
path: takelogin.php path: takelogin.php
method: post method: post
+12 -9
View File
@@ -1,7 +1,7 @@
--- ---
id: cinematik id: cinematik
name: Cinematik name: Cinematik (API)
description: "A tracker for full BD and DVD discs of non-mainstream movies, niche cinema and arthouse." description: "Cinematik is a Private tracker for full BD and DVD discs of non-mainstream movies, niche cinema and arthouse."
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -73,9 +73,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -120,8 +120,6 @@ search:
selector: details_link selector: details_link
download: download:
selector: download_link selector: download_link
infohash:
selector: info_hash
poster: poster:
selector: meta.poster selector: meta.poster
filters: filters:
@@ -142,8 +140,13 @@ search:
args: ["(?i)(TV Movie)", "TV_Movie"] args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -191,4 +194,4 @@ search:
minimumseedtime: minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60) # 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200 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)
+144 -92
View File
@@ -1,7 +1,7 @@
--- ---
id: coastalcrew id: coastalcrew
name: Coastal-Crew name: Coastal-Music-Crew
description: "Coastal-Crew is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL" description: "Coastal-Music-Crew (C-M-C) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: de-DE language: de-DE
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -10,47 +10,90 @@ links:
caps: caps:
categorymappings: categorymappings:
- {id: 30, cat: TV/Anime, desc: "Filme - Animie"} - {id: 122, cat: Movies, desc: "Movie Klassiker"}
- {id: 28, cat: Movies/BluRay, desc: "Filme - Bluray"} - {id: 124, cat: Movies, desc: "Movie Kids"}
- {id: 31, cat: Movies/Other, desc: "Filme - Bollywood"} - {id: 127, cat: Movies, desc: "Movie Pack"}
- {id: 77, cat: TV/Documentary, desc: "Filme - DokusHD"} - {id: 138, cat: Movies/BluRay, desc: "Movie BluRay"}
- {id: 32, cat: Movies/DVD, desc: "Filme - DVD"} - {id: 140, cat: Movies/3D, desc: "Movie 3D"}
- {id: 33, cat: Movies/HD, desc: "Filme - HD"} - {id: 114, cat: Movies/DVD, desc: "Movie DVD-R"}
- {id: 34, cat: Movies, desc: "Filme - Klassiker"} - {id: 28, cat: Movies/SD, desc: "Movie SD"}
- {id: 35, cat: Movies, desc: "Filme - Pack"} - {id: 32, cat: Movies/HD, desc: "Movie HD"}
- {id: 36, cat: Movies/SD, desc: "Filme - SD"} - {id: 26, cat: Movies/UHD, desc: "Movie 4K"}
- {id: 37, cat: Movies/UHD, desc: "Filme - UHD"}
- {id: 38, cat: Movies/HD, desc: "Filme - x264"} - {id: 133, cat: TV/Anime, desc: "Serien Anime"}
- {id: 39, cat: Audio, desc: "Musik - Alben"} - {id: 57, cat: TV/HD, desc: "Serien HD"}
- {id: 72, cat: Audio, desc: "Musik - Charts"} - {id: 59, cat: TV, desc: "Serien Pack"}
- {id: 40, cat: Audio, desc: "Musik - Diskografie"} - {id: 60, cat: TV/SD, desc: "Serien SD"}
- {id: 75, cat: Audio/Lossless, desc: "Musik - Flac"} - {id: 56, cat: TV/SD, desc: "Serien DVD-R"}
- {id: 41, cat: Audio/Audiobook, desc: "Musik - Hoerbuch"} - {id: 123, cat: TV, desc: "Serien Klassiker"}
- {id: 74, cat: Audio/Other, desc: "Musik - Kids"} - {id: 126, cat: TV, desc: "Serien Kids"}
- {id: 42, cat: Audio, desc: "Musik - Mixe"} - {id: 132, cat: TV/UHD, desc: "Serien UHD"}
- {id: 66, cat: Audio, desc: "Musik - Pack"}
- {id: 70, cat: Audio, desc: "Musik - Sampler Deu."} - {id: 92, cat: TV/Documentary, desc: "Doku Avi"}
- {id: 71, cat: Audio, desc: "Musik - Sampler Int."} - {id: 94, cat: TV/Documentary, desc: "Doku Audio"}
- {id: 76, cat: Audio/Other, desc: "Musik - Soundtrack"} - {id: 135, cat: TV/Documentary, desc: "Doku UHD"}
- {id: 44, cat: Audio/Video, desc: "Musik - Video"} - {id: 13, cat: TV/Documentary, desc: "Doku DVD-R"}
- {id: 45, cat: PC, desc: "Programme - Linux"} - {id: 14, cat: TV/Documentary, desc: "Doku HD"}
- {id: 48, cat: PC/Mac, desc: "Programme - Mac"} - {id: 15, cat: TV/Documentary, desc: "Doku SD"}
- {id: 49, cat: PC/0day, desc: "Programme - Windows"} - {id: 136, cat: TV/Documentary, desc: "Doku Pack"}
- {id: 65, cat: TV, desc: "Serien - Allgemein"}
- {id: 50, cat: TV/Documentary, desc: "Serien - Dokus"} - {id: 9, cat: PC, desc: "App Linux"}
- {id: 51, cat: TV, desc: "Serien - Klassiker"} - {id: 10, cat: PC/Mac, desc: "App Mac"}
- {id: 52, cat: TV, desc: "Serien - Pack"} - {id: 11, cat: PC/Mobile-Other, desc: "App Other"}
- {id: 53, cat: TV/Sport, desc: "Serien - Sport"} - {id: 12, cat: PC/0day, desc: "App Win"}
- {id: 62, cat: Books/EBook, desc: "EBook"} - {id: 139, cat: PC/Mobile-Android, desc: "App Android Apps"}
- {id: 63, cat: Movies, desc: "Fuer Unsere Kleinsten"}
- {id: 64, cat: PC/Mobile-Other, desc: "Handy-Stuff"} - {id: 16, cat: Console, desc: "Game Misc"}
- {id: 60, cat: Other, desc: "Sonstiges"} - {id: 17, cat: PC/Games, desc: "Game PC"}
- {id: 69, cat: Books/Mags, desc: "Zeitung"} - {id: 18, cat: Console/PS3, desc: "Game PS2"}
- {id: 54, cat: PC/Mobile-Other, desc: "Spiele - Handy"} - {id: 19, cat: Console/PS3, desc: "Game PS3"}
- {id: 55, cat: Console, desc: "Spiele - Konsolen"} - {id: 20, cat: Console/PSP, desc: "Game PSP"}
- {id: 57, cat: PC/Games, desc: "Spiele - Mac / Linux / PC"} - {id: 21, cat: Console/PS4, desc: "Game PSX"}
- {id: 58, cat: Console/Other, desc: "Spiele - Wimmel"} - {id: 22, cat: Console/Wii, desc: "Game Wii"}
- {id: 59, cat: XXX, desc: "XXX"} - {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: modes:
search: [q] search: [q]
@@ -66,14 +109,6 @@ settings:
- name: password - name: password
type: password type: password
label: 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 - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site
@@ -93,85 +128,102 @@ settings:
- name: info_tpp - name: info_tpp
type: info type: info
label: Results Per Page 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 - name: info_activity
type: info type: info
label: Account Inactivity label: Account Inactivity
default: "If you do not log in, your account will be automatically deleted after 28 days." default: "If you do not log in, your account will be automatically deleted after 28 days."
login: login:
path: takelogin.php path: login.php
method: post method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
inputs: inputs:
username: "{{ .Config.username }}" username: "{{ .Config.username }}"
password: "{{ .Config.password }}" password: "{{ .Config.password }}"
error: error:
- selector: .tablea:contains("Fehler") - selector: div#login_error
test: test:
path: index.php path: index.php
selector: a[href="logout.php"] selector: a[href="logout.php"]
search: search:
# https://coastal-crew.bounceme.net/browse.php?showsearch=1&c62=1&c33=1&search=&incldead=1&orderby=added&sort=desc paths:
path: browse.php - path: selection.php
inputs: inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}" $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
showsearch: 1
search: "{{ .Keywords }}" search: "{{ .Keywords }}"
# 0 active, 1 all, 2 dead # 0 name, 1 descr, 2 both (options 1 and 2 are disabled)
incldead: 1 blah: 0
orderby: "{{ .Config.sort }}" orderby: "{{ .Config.sort }}"
sort: "{{ .Config.type }}" sort: "{{ .Config.type }}"
# site does not support imdbid search from the browse.php page or return imdb links in results
rows: 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: fields:
category: category_p1:
selector: a[href^="browse.php?cat="] selector: div.kat_cat_pic_name
attribute: href category_p2:
filters: selector: div.kat_cat_pic_name_b
- name: querystring categorydesc:
args: cat text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
title: title:
selector: a[href^="details.php"] selector: a.selection_a
filters:
- name: re_replace
args: ["^\\[[\\w ]*\\]\\s?", ""]
details: details:
selector: a[href^="details.php"] selector: a.selection_a
attribute: href attribute: href
download: download:
selector: a[href^="download.php"] selector: a[href^="download_ssl.php?torrent="]
attribute: href attribute: href
poster: poster:
selector: img[id="img-1"] selector: div[id^="details"] img
attribute: src attribute: src
size: size:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(1) selector: div.selection_unter_ad
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)
grabs: grabs:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(3) b:nth-child(1) selector: div.selection_unter_ae
date: date_day:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(5) # Heute 13:30:04
# Gestern 09:10:10
selector: div.selection_unter_ab:not(:contains("."))
optional: true
filters: filters:
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
- name: append - name: append
args: " +01:00" # CET args: " +01:00" # CET
date_year:
# 30.02.2018 um 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace - name: replace
args: ["\xA0", " "] args: [" um", ""]
- name: append
args: " +01:00" # CET
- name: dateparse - name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz" 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: downloadvolumefactor:
case: text: 1
img[src="pic/oupic.gif"]: 0 # only upload is counted
"*": 1
uploadvolumefactor: uploadvolumefactor:
case: text: 1
img[src="pic/freeleech.gif"]: 0 # nothing is counted # global MR is 1.0 but torrents must be seeded for 3 days regardless of ratio
"*": 1 # minimumratio:
minimumratio: # text: 1.0
text: 0.7 minimumseedtime:
# engine n/a # 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# 3xT
+130 -66
View File
@@ -1,7 +1,7 @@
--- ---
id: concertos id: concertos
name: Concertos name: Concertos (API)
description: "Concertos - Private site for Live Concerts with Strict Quality Control" description: "Concertos is a Private Torrent Tracker for Live Concerts with Strict Quality Control"
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -17,24 +17,29 @@ caps:
- {id: 7, cat: TV, desc: "Opera"} - {id: 7, cat: TV, desc: "Opera"}
- {id: 8, cat: TV, desc: "Musical"} - {id: 8, cat: TV, desc: "Musical"}
- {id: 9, cat: Audio, desc: "Podcast"} - {id: 9, cat: Audio, desc: "Podcast"}
- {id: 10, cat: TV, desc: "Educational"}
modes: modes:
search: [q] search: [q]
tv-search: [q, imdbid] tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid]
music-search: [q] music-search: [q]
settings: settings:
- name: username - name: apikey
type: text type: text
label: Username label: APIKey
- name: password - name: info_key
type: password type: info
label: Password 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 - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only label: Search freeleech only
default: false default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- name: sort - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site
@@ -43,6 +48,7 @@ settings:
created_at: created created_at: created
seeders: seeders seeders: seeders
size: size size: size
name: title
- name: type - name: type
type: select type: select
label: Order requested from site label: Order requested from site
@@ -50,83 +56,141 @@ settings:
options: options:
desc: desc desc: desc
asc: asc 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: login:
path: login path: /api/torrents
method: form method: get
form: form[action$="/login"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: on
selectorinputs:
_token:
selector: input[name="_token"]
attribute: value
error: error:
- selector: form[action$="/login"] .text-red - selector: a[href*="/login"]
# test: message:
# path: / text: "The API key was not accepted by {{ .Config.sitelink }}."
# selector: a[href$="/logout"] - selector: :root:contains("Account is Banned")
search: search:
paths: 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: inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}" # 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
title: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search $raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
imdb: "{{ .Query.IMDBIDShort }}" name: "{{ .Keywords }}"
freeleech: "{{ if .Config.freeleech }}on{{ else }}{{ end }}" seasonNumber: "{{ .Query.Season }}"
order_by: "{{ .Config.sort }}" episodeNumber: "{{ .Query.Ep }}"
direction: "{{ .Config.type }}" 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: rows:
selector: table > tbody > tr selector: data
attribute: attributes
fields: fields:
category: category:
selector: a[href*="?category_"] selector: category_id
attribute: href title_optional:
filters: selector: name
- name: regexp title_filename:
args: "category_(\\d+)" selector: "files[0].name"
optional: true
files:
selector: num_file
title: 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: details:
selector: a[href*="/torrent/"] selector: details_link
attribute: href
download: download:
selector: a[href*="/torrent/"] selector: download_link
attribute: href 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: filters:
- name: append - name: append
args: "/download" args: " +00:00" # GMT
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size: size:
selector: td.torrents__size selector: size
date: _featured:
selector: td.torrents__age selector: featured
seeders: case:
selector: td:nth-last-child(3) False: "{{ .False }}"
leechers: True: "{{ .True }}"
selector: td:nth-last-child(2) downloadvolumefactor_freeleech:
grabs: # api returns 0%, 25%, 50%, 75%, 100%
selector: td:nth-last-child(1) selector: freeleech
imdbid: case:
selector: a[href*="imdb.com/title/tt"] 0%: 1 # not free
attribute: href 25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
downloadvolumefactor: downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case: case:
i.fa-star: 0 # Freeleech False: 1 # normal
i.fa-certificate: 0 # Featured True: 2 # double
"*": 1
uploadvolumefactor: uploadvolumefactor:
case: text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
i.fa-certificate: 2 # Featured # global MR is 1.0 but torrents must be seeded for 7 days regardless of ratio
i.fa-gem: 2 # Double Upload # minimumratio:
"*": 1 # text: 1.0
minimumratio:
text: 1.0
minimumseedtime: 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 text: 604800
# UNIT3D # json UNIT3D 9.1.7
@@ -1,7 +1,7 @@
--- ---
id: cpasbienclone id: cpasbienclone
name: cpasbien clone 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 language: fr-FR
type: public type: public
encoding: UTF-8 encoding: UTF-8
@@ -93,7 +93,7 @@ search:
selector: a selector: a
filters: filters:
- name: re_replace - 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: title_vostfr:
text: "{{ .Result.title_phase1 }}" text: "{{ .Result.title_phase1 }}"
filters: filters:
+29 -12
View File
@@ -5,22 +5,28 @@ description: "CrabPT (蟹黄堡) is a CHINESE Private Torrent Tracker for MOVIES
language: zh-CN language: zh-CN
type: private type: private
encoding: UTF-8 encoding: UTF-8
requestDelay: 2
links: links:
- https://crabpt.vip/ - https://crabpt.vip/
caps: caps:
# dont forget to update the path categories in the search block
categorymappings: categorymappings:
- {id: 401, cat: Movies, desc: "电影 / Movies"} - {id: 401, cat: Movies, desc: "电影 / Movies", default: true}
- {id: 402, cat: TV, desc: "电视剧 / TVSeries"} - {id: 402, cat: TV, desc: "电视剧 / TVSeries", default: true}
- {id: 413, cat: TV/Other, desc: "短剧 / Playlet"} - {id: 413, cat: TV/Other, desc: "短剧 / Playlet", default: true}
- {id: 408, cat: Audio, desc: "音乐 / Music"} - {id: 408, cat: Audio, desc: "音乐 / Music", default: true}
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime"} - {id: 405, cat: TV/Anime, desc: "动漫 / Anime", default: true}
- {id: 406, cat: Audio/Video, desc: "MV"} - {id: 406, cat: Audio/Video, desc: "MV", default: true}
- {id: 403, cat: Movies, desc: "综艺 / TV Shows"} - {id: 403, cat: TV, desc: "综艺 / TV Shows", default: true}
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports"} - {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports", default: true}
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary"} - {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary", default: true}
- {id: 409, cat: Other, desc: "其他 / Other"} - {id: 409, cat: Other, desc: "其他 / Other", default: true}
- {id: 415, cat: Books/Comics, desc: "漫画 / Cartoon"} - {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: modes:
search: [q] search: [q]
@@ -98,6 +104,9 @@ login:
search: search:
paths: paths:
- path: torrents.php - path: torrents.php
categories: [401, 402, 413, 408, 405, 406, 403, 407, 404, 409]
- path: special.php
categories: [415, 414, 412, 411, 410]
inputs: inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" $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 }}" 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 }}" text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
optional: true
default: 512MB
seeders: seeders:
selector: td.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
optional: true
default: 0
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
optional: true
default: 0
grabs: grabs:
selector: td.rowfollow:nth-child(8) selector: td.rowfollow:nth-child(8)
optional: true
default: 0
downloadvolumefactor: downloadvolumefactor:
case: case:
img.pro_free: 0 img.pro_free: 0
@@ -198,4 +215,4 @@ search:
description: description:
selector: td.rowfollow:nth-child(2) selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span 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 type: private
encoding: UTF-8 encoding: UTF-8
links: links:
- https://www.crazyspirits.ca/
legacylinks:
- https://www.crazyspirits.com/ - https://www.crazyspirits.com/
caps: caps:
+177
View File
@@ -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
+3 -1
View File
@@ -169,6 +169,8 @@ search:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
optional: true
default: 512MB
seeders: seeders:
selector: td.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
optional: true optional: true
@@ -209,4 +211,4 @@ search:
filters: filters:
- name: prepend - name: prepend
args: "{{ .Result.description_verified }} " 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 id: danishbytes-api
name: 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 language: da-DK
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -17,10 +17,12 @@ caps:
categorymappings: categorymappings:
- {id: 1, cat: Movies, desc: "Movies"} - {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"} - {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: 4, cat: PC/Games, desc: "Games"}
- {id: 5, cat: PC/0day, desc: "Appz"} - {id: 3, cat: Audio, desc: "Music"}
- {id: 8, cat: Books, desc: "Bookz"} - {id: 8, cat: Books, desc: "Books"}
- {id: 17, cat: Audio/Audiobook, desc: "AudioBooks"}
- {id: 19, cat: Audio, desc: "Podcasts"}
modes: modes:
search: [q] 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: ["&amp;", "&"]
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
+96 -129
View File
@@ -10,66 +10,63 @@ links:
caps: caps:
categorymappings: categorymappings:
# Filme - {id: 145, cat: Movies, desc: "Filme > DRG"}
- {id: 28, cat: Movies/SD, desc: "SD"} - {id: 28, cat: Movies/SD, desc: "Filme > SD"}
- {id: 32, cat: Movies/HD, desc: "HD"} - {id: 32, cat: Movies/HD, desc: "Filme > HD"}
- {id: 114, cat: Movies/UHD, desc: "UHD"} - {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
- {id: 140, cat: Movies/BluRay, desc: "BluRay"} - {id: 140, cat: Movies/BluRay, desc: "Filme > BluRay"}
- {id: 143, cat: TV/Anime, desc: "Anime"} - {id: 143, cat: TV/Anime, desc: "Filme > Anime"}
- {id: 138, cat: Movies, desc: "Pack`s"} - {id: 138, cat: Movies, desc: "Filme > Packs"}
# Serien - {id: 148, cat: Movies, desc: "Filme > Packs UHD"}
- {id: 60, cat: TV/SD, desc: "SD"} - {id: 60, cat: TV/SD, desc: "Serien > SD"}
- {id: 57, cat: TV/HD, desc: "HD"} - {id: 57, cat: TV/HD, desc: "Serien > HD"}
- {id: 139, cat: TV/UHD, desc: "UHD"} - {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
- {id: 144, cat: TV/Anime, desc: "Anime"} - {id: 144, cat: TV/Anime, desc: "Serien > Anime"}
- {id: 59, cat: TV, desc: "Pack`s"} - {id: 59, cat: TV, desc: "Serien > Packs"}
# Audio - {id: 147, cat: TV, desc: "Serien > Packs UHD"}
- {id: 110, cat: Audio/MP3, desc: "MP3"} - {id: 110, cat: Audio/MP3, desc: "Audio > MP3"}
- {id: 48, cat: Audio/Lossless, desc: "Flac"} - {id: 48, cat: Audio/Lossless, desc: "Audio > Flac"}
- {id: 52, cat: Audio, desc: "Pack"} - {id: 52, cat: Audio, desc: "Audio > Pack"}
- {id: 63, cat: Audio/Audiobook, desc: "Hörbuch"} - {id: 63, cat: Audio/Audiobook, desc: "Audio > Hörbuch"}
- {id: 120, cat: Audio/Video, desc: "Videos"} - {id: 120, cat: Audio/Video, desc: "Audio > Videos"}
# Apps - {id: 12, cat: PC/0day, desc: "Apps > Windows"}
- {id: 12, cat: PC/0day, desc: "Windows"} - {id: 125, cat: PC/Mac, desc: "Apps > Mac-OSX"}
- {id: 125, cat: PC/Mac, desc: "Mac-OSX"} - {id: 11, cat: PC/Mobile-Other, desc: "Apps > Mobil"}
- {id: 11, cat: PC/Mobile-Other, desc: "Mobil"} - {id: 141, cat: PC, desc: "Apps > Other"}
- {id: 141, cat: PC, desc: "PC"} - {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
# Doku - {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
- {id: 15, cat: TV/Documentary, desc: "SD"} - {id: 123, cat: TV/Documentary, desc: "Doku > Reihe"}
- {id: 14, cat: TV/Documentary, desc: "HD"} - {id: 126, cat: PC/Mobile-Other, desc: "Spiel > Mobil"}
- {id: 123, cat: TV/Documentary, desc: "Reihe"} - {id: 17, cat: PC/Games, desc: "Spiel > PC"}
# Spiel - {id: 24, cat: Console, desc: "Spiel > Konsole"}
- {id: 126, cat: PC/Mobile-Other, desc: "Mobil"} - {id: 121, cat: Console, desc: "Spiel > Wimmelbild"}
- {id: 17, cat: PC/Games, desc: "PC"} - {id: 61, cat: TV/Sport, desc: "Sport > HD"}
- {id: 24, cat: Console, desc: "Konsole"} - {id: 62, cat: TV/Sport, desc: "Sport > SD"}
- {id: 121, cat: Console, desc: "Wimmelbild"} - {id: 96, cat: Books/Mags, desc: "ePaper > Zeitungen"}
# Sport - {id: 136, cat: Books/EBook, desc: "ePaper > E-Book"}
- {id: 61, cat: TV/Sport, desc: "HD"} - {id: 137, cat: Books/Comics, desc: "ePaper > Comics"}
- {id: 62, cat: TV/Sport, desc: "SD"} - {id: 76, cat: XXX/SD, desc: "XXX > SD"}
# ePaper - {id: 73, cat: XXX/x264, desc: "XXX > HD"}
- {id: 96, cat: Books/Mags, desc: "Zeitungen"} - {id: 75, cat: XXX/Pack, desc: "XXX > Pack"}
- {id: 136, cat: Books/EBook, desc: "E-Book"} - {id: 142, cat: XXX/ImageSet, desc: "XXX > Pic´s"}
- {id: 137, cat: Books/Comics, desc: "Comics"} - {id: 129, cat: Movies/SD, desc: "Internal > Film SD"}
# XXX - {id: 128, cat: Movies/HD, desc: "Internal > Film HD"}
- {id: 76, cat: XXX/SD, desc: "SD"} - {id: 131, cat: TV/SD, desc: "Internal > Serien SD"}
- {id: 73, cat: XXX/x264, desc: "HD"} - {id: 130, cat: TV/HD, desc: "Internal > Serien HD"}
- {id: 75, cat: XXX/Pack, desc: "Pack"} - {id: 132, cat: Other, desc: "Internal > Sonstiges"}
- {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"}
modes: modes:
search: [q] search: [q]
tv-search: [q, season, ep] tv-search: [q, season, ep, imdbid]
movie-search: [q] movie-search: [q, imdbid]
music-search: [q] music-search: [q]
book-search: [q] book-search: [q]
settings: 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 - name: username
type: text type: text
label: Username label: Username
@@ -78,28 +75,12 @@ settings:
label: Password label: Password
- name: onlyupload - name: onlyupload
type: checkbox type: checkbox
label: Filter OnlyUpload only label: Search OnlyUpload
default: false default: false
- name: info_free - name: info_free
type: info type: info
label: About OnlyUpload at D-U 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>" 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: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeds: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp - name: info_tpp
type: info type: info
label: Results Per Page label: Results Per Page
@@ -118,86 +99,72 @@ login:
password: "{{ .Config.password }}" password: "{{ .Config.password }}"
loggiin: Login loggiin: Login
error: error:
- selector: div#login_error
- selector: div.error-message - selector: div.error-message
test: test:
path: index.php path: index.php
selector: a[href="logout.php"] selector: a[href="logout.php"]
search: search:
# https://dasunerwartete.biz/selection.php?scat[]=60&scat[]=15&search=&blah=0&orderby=added&sort=desc paths:
path: selection.php # 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: inputs:
$raw: "{{ range .Categories }}scat[]={{.}}&{{end}}" ajax: true
search: "{{ .Keywords }}" search: "{{ .Keywords }}"
# 0 name, 1 descr, 2 both page: 1
blah: 0 imdb: "{{ .Query.IMDBIDShort }}"
orderby: "{{ .Config.sort }}" # all=active+inactive, yes=active, no=inactive (the default is all, which ajax simply drops the parm)
sort: "{{ .Config.type }}" # visible: all
# site does not support imdbid search from the browse.php page or return imdb links in results # 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: rows:
selector: "div.selection_wrap{{ if .Config.onlyupload }}:has(img[src=\"/pic/free.gif\"]){{ else }}{{ end }}" selector: data
fields: fields:
category: categorydesc:
selector: a[href^="selection.php?cat="] selector: category
attribute: href
filters: filters:
- name: querystring - name: htmldecode
args: cat
title: title:
selector: a[href^="details.php?id="] selector: name
_id:
selector: id
details: details:
selector: a[href^="details.php?id="] text: "details.php?id={{ .Result._id }}"
attribute: href
download: download:
selector: a[href^="download.php?torrent="] selector: download_link
attribute: href
poster: poster:
selector: img[src^="cloud-data/"] selector: cover
attribute: src
size: size:
selector: div.selection_unter_ad selector: size
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"
date: 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: downloadvolumefactor:
case: text: "{{ if .Result._onlyup }}0{{ else }}1{{ end }}"
img[src="/pic/free.gif"]: 0
"*": 1
uploadvolumefactor: uploadvolumefactor:
text: 1 text: 1
minimumratio: minimumratio:
text: 1.0 text: 1.0
minimumseedtime: minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60) # 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
text: 172800 text: 129600
# THX custom # THX JSON (custom)
@@ -63,6 +63,10 @@ settings:
type: checkbox type: checkbox
label: Search freeleech only label: Search freeleech only
default: false default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- name: sort - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site
@@ -82,7 +86,7 @@ settings:
- name: info_activity - name: info_activity
type: info type: info
label: Account Inactivity 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: login:
path: /api/torrents path: /api/torrents
@@ -96,9 +100,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -130,8 +134,15 @@ search:
fields: fields:
category: category:
selector: category_id selector: category_id
title: title_optional:
selector: name 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: details:
selector: details_link selector: details_link
download: download:
@@ -152,8 +163,6 @@ search:
genre: genre:
selector: meta.genres selector: meta.genres
filters: filters:
- name: re_replace
args: ["(?i)^None$", ""]
- name: re_replace - name: re_replace
args: ["(?i)(All Sex)", "All_Sex"] args: ["(?i)(All Sex)", "All_Sex"]
- name: re_replace - name: re_replace
@@ -162,10 +171,13 @@ search:
args: ["(?i)(TV Movie)", "TV_Movie"] args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace - name: replace
args: [" & ", "_&_"] args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description: description:
text: "{{ .Result.genre }}" text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
files:
selector: num_file
seeders: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -177,12 +189,17 @@ search:
selector: created_at selector: created_at
filters: filters:
- name: append - name: append
args: " +00:00" # GMT args: " +02:00" # EET
- name: dateparse - name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz" args: "MM/dd/yyyy HH:mm:ss zzz"
size: size:
selector: size selector: size
downloadvolumefactor: _featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100% # api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech selector: freeleech
case: case:
@@ -192,16 +209,20 @@ search:
75%: 0.25 75%: 0.25
100%: 0 # freeleech 100%: 0 # freeleech
"*": 0 # catch errors "*": 0 # catch errors
uploadvolumefactor: downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True # api returns False, True
selector: double_upload selector: double_upload
case: case:
False: 1 # normal False: 1 # normal
True: 2 # double 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 # global MR is 0.4 but torrents must be seeded for 2 days regardless of ratio
# minimumratio: # minimumratio:
# text: 0.4 # text: 0.4
minimumseedtime: minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60) # 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800 text: 172800
# json UNIT3D 7.2.0 # json UNIT3D 9.1.1
+1 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: deildu id: deildu
name: 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 language: is-IS
type: semi-private type: semi-private
encoding: iso-8859-1 encoding: iso-8859-1
@@ -1,7 +1,7 @@
--- ---
id: desitorrents-api id: desitorrents-api
name: 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 language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -68,8 +68,8 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/v1/torrents/filter" - path: "/api/v1/torrents/filter"
response: response:
type: json type: json
@@ -84,11 +84,11 @@ login:
search: search:
# https://devil-torrents.pl/szukaj.php?search=%&typ=torrent&c4=1&c748=1 # https://devil-torrents.pl/szukaj.php?search=%&typ=torrent&c4=1&c748=1
paths: paths:
- path: szukaj.php - path: "{{ if .Keywords }}szukaj.php{{ else }}files-torrent{{ end }}"
inputs: inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}" $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
typ: torrent typ: "{{ if .Keywords }}torrent{{ else }}{{ end }}"
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}%{{ end }}" search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
rows: rows:
selector: table.test5 > tbody > tr > td > div[id]:has(a[href^="download/"]) selector: table.test5 > tbody > tr > td > div[id]:has(a[href^="download/"])
@@ -1,7 +1,7 @@
--- ---
id: diablotorrent id: diablotorrent
name: Diablo Torrent 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 language: hu-HU
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -10,6 +10,7 @@ links:
- https://diablotorrent.net/ - https://diablotorrent.net/
caps: caps:
# dont forget to update the path categories in the search block
categorymappings: categorymappings:
# Film # Film
- {id: 49, cat: Movies/SD, desc: "Film > Cam", default: true} - {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
+1 -1
View File
@@ -184,4 +184,4 @@ search:
args: "cat={{ .Result.category_title }} - " args: "cat={{ .Result.category_title }} - "
minimumratio: minimumratio:
text: 0.9 text: 0.9
# NexusPHP v1.8.13 2024-09-21 # NexusPHP v1.9.9 2025-10-02
+2 -1
View File
@@ -1,7 +1,7 @@
--- ---
id: docspedia id: docspedia
name: 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 language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -26,6 +26,7 @@ caps:
- {id: 79, cat: TV, desc: "Educational"} - {id: 79, cat: TV, desc: "Educational"}
- {id: 93, cat: Books/EBook, desc: "Fantasy"} - {id: 93, cat: Books/EBook, desc: "Fantasy"}
- {id: 71, cat: Other, desc: "Fonts"} - {id: 71, cat: Other, desc: "Fonts"}
- {id: 94, cat: Books/EBook, desc: "Gaming"}
- {id: 82, cat: Books/EBook, desc: "History"} - {id: 82, cat: Books/EBook, desc: "History"}
- {id: 87, cat: Books/EBook, desc: "Horror"} - {id: 87, cat: Books/EBook, desc: "Horror"}
- {id: 72, cat: Books, desc: "IT Books"} - {id: 72, cat: Books, desc: "IT Books"}
+2
View File
@@ -72,6 +72,8 @@ settings:
options: options:
desc: desc desc: desc
asc: asc asc: asc
- name: info_flaresolverr
type: info_flaresolverr
login: login:
path: takelogin.php path: takelogin.php
+172 -300
View File
@@ -5,259 +5,115 @@ description: "Ebooks-Shares is a Private Torrent Tracker for EBOOKS / AUDIOBOOKS
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
testlinktorrent: false
links: links:
- https://ebooks-shares.org/ - https://ebooks-shares.org/
caps: caps:
categorymappings: categorymappings:
- {id: 274, cat: Audio/Audiobook, desc: "Audio: Poetry"} # Audio
- {id: 1, cat: Audio/Audiobook, desc: "Audio: Adventure"} - {id: 293, cat: Audio/Audiobook, desc: "Audio: Fiction"}
- {id: 2, cat: Audio/Audiobook, desc: "Audio: Radio Programs ie Dramas, Talk"} - {id: 294, cat: Audio/Audiobook, desc: "Audio:Sci-Fi/Fantasy"}
- {id: 3, cat: Audio/Audiobook, desc: "Audio: Non English"} - {id: 295, cat: Audio/Audiobook, desc: "Audio:Crime/Thriller"}
- {id: 42, cat: Audio/Audiobook, desc: "Audio: Biography/Memoirs"} - {id: 296, cat: Audio/Audiobook, desc: "Audio:Horror"}
- {id: 4, cat: Audio/Audiobook, desc: "Audio: Business"} - {id: 297, cat: Audio/Audiobook, desc: "Audio:General"}
- {id: 5, cat: Audio/Audiobook, desc: "Audio: Childrens"} - {id: 302, cat: Audio/Audiobook, desc: "Audio: (TTC,TMS,TGC)"}
- {id: 7, cat: Audio/Audiobook, desc: "Audio: Classics"} - {id: 303, cat: Audio/Audiobook, desc: "Audio:Autobiography "}
- {id: 41, cat: Audio/Audiobook, desc: "Audio: Comedy"} - {id: 308, cat: Audio/Audiobook, desc: "Audio:Collections"}
- {id: 9, cat: Audio/Audiobook, desc: "Audio: Crime/Mystery/Thriller"} - {id: 309, cat: Audio/Audiobook, desc: "Audio:History"}
- {id: 10, cat: Audio/Audiobook, desc: "Audio: Factual"} - {id: 310, cat: Audio/Audiobook, desc: "Audio:Children/YA"}
- {id: 11, cat: Audio/Audiobook, desc: "Audio: Graphic Audio Books"} - {id: 311, cat: Audio/Audiobook, desc: "Audio:Romance"}
- {id: 43, cat: Audio/Audiobook, desc: "Audio: Historical Fiction"} - {id: 317, cat: Audio/Audiobook, desc: "Audio:Urbn Fant/para"}
- {id: 12, cat: Audio/Audiobook, desc: "Audio: History/Military"} - {id: 319, cat: Audio/Audiobook, desc: "Audio:V.I.P"}
- {id: 269, cat: Audio/Audiobook, desc: "Audio: History"} - {id: 320, cat: Audio/Audiobook, desc: "Audio:Science/engine"}
- {id: 14, cat: Audio/Audiobook, desc: "Audio: Horror"} - {id: 321, cat: Audio/Audiobook, desc: "Audio:History/War"}
- {id: 15, cat: Audio/Audiobook, desc: "Audio: Medical"} - {id: 322, cat: Audio/Audiobook, desc: "Audio:non fiction"}
- {id: 16, cat: Audio/Audiobook, desc: "Audio: Music"} - {id: 323, cat: Audio/Audiobook, desc: "Audio:Educational"}
- {id: 45, cat: Audio/Audiobook, desc: "Audio: Non-Fict/Ref"} - {id: 324, cat: Audio/Audiobook, desc: "Audio:Tutorials"}
- {id: 46, cat: Audio/Audiobook, desc: "Audio: Novels"} - {id: 325, cat: Audio/Audiobook, desc: "Audio:True Crime"}
- {id: 17, cat: Audio/Audiobook, desc: "Audio: General"} - {id: 326, cat: Audio/Audiobook, desc: "Audio:Tech/Computers"}
- {id: 22, cat: Audio/Audiobook, desc: "Audio: Philosophy/Belief"} # Collections
- {id: 23, cat: Audio/Audiobook, desc: "Audio: Romance"} - {id: 305, cat: Books/EBook, desc: "Same Author"}
- {id: 24, cat: Audio/Audiobook, desc: "Audio: Sci-Fi/Fantasy"} - {id: 345, cat: Books/Mags, desc: "Collection: Magazines"}
- {id: 25, cat: Audio/Audiobook, desc: "Audio: Self-Improvement"} - {id: 307, cat: Books/EBook, desc: "Collection: Military"}
- {id: 26, cat: Audio/Audiobook, desc: "Audio: Mod. Scholar/TTC"} - {id: 342, cat: Books/EBook, desc: "Collection: Multiple Authors"}
- {id: 27, cat: Audio/Audiobook, desc: "Audio: Travel"} - {id: 343, cat: Books/EBook, desc: "Collection: Fantasy"}
- {id: 33, cat: Audio/Audiobook, desc: "Audio: Tutorials"} - {id: 359, cat: Books/EBook, desc: "Collection: Same Series"}
- {id: 34, cat: Audio/Audiobook, desc: "Audio: Western"} - {id: 364, cat: Books/EBook, desc: "Collection: Multiple: Fiction"}
- {id: 35, cat: Audio/Audiobook, desc: "Audio: Young Adult"} - {id: 365, cat: Books/EBook, desc: "Collection: Multiple:Non Fiction"}
- {id: 275, cat: Audio/Audiobook, desc: "Audio: Language"} # Fiction
- {id: 276, cat: Audio/Audiobook, desc: "Audio: Military Fiction"} - {id: 281, cat: Books/EBook, desc: "Horror"}
- {id: 299, cat: Audio/Audiobook, desc: "Audio: Magazines"} - {id: 282, cat: Books/EBook, desc: "Sci-Fi/Fantasy"}
- {id: 301, cat: Audio/Audiobook, desc: "Audio: Collections"} - {id: 275, cat: Books/EBook, desc: "General Fiction"}
- {id: 314, cat: Audio/Audiobook, desc: "Audio: Dystopian/Post Apocalyptic Bks"} - {id: 280, cat: Books/EBook, desc: "Crime/Thriller/Myste"}
- {id: 47, cat: Books/EBook, desc: "Children's: Adventure"} - {id: 312, cat: Books/EBook, desc: "Romance"}
- {id: 48, cat: Books/EBook, desc: "Children's: Novels"} - {id: 313, cat: Books/EBook, desc: "Comedy/Humour"}
- {id: 49, cat: Books/EBook, desc: "Children's: Collections"} - {id: 314, cat: Books/EBook, desc: "Historical Fiction"}
- {id: 50, cat: Books/EBook, desc: "Children's: Educational"} - {id: 315, cat: Books/EBook, desc: "Cozy/Mystery "}
- {id: 51, cat: Books/EBook, desc: "Children's: Games"} - {id: 318, cat: Books/EBook, desc: "Urbn Fantasy/Para"}
- {id: 52, cat: Books/EBook, desc: "Children's: General"} - {id: 340, cat: Books/EBook, desc: "Lit/RPG"}
- {id: 283, cat: Books/EBook, desc: "Children's: Sci-Fi/Fantasy"} - {id: 341, cat: Books/EBook, desc: "Collections"}
- {id: 284, cat: Books/EBook, desc: "Children's: Mystery"} - {id: 352, cat: Books/EBook, desc: "Westerns"}
- {id: 286, cat: Books/EBook, desc: "Children's: Early Years / Picture"} # Children & Y/A
- {id: 295, cat: Books/EBook, desc: "Children's: Nonfiction"} - {id: 299, cat: Books/EBook, desc: "Young Adult"}
- {id: 296, cat: Books/EBook, desc: "Children's: Leveled / Decodable Readers"} - {id: 298, cat: Books/EBook, desc: "Children's"}
- {id: 288, cat: Books/EBook, desc: "Collections: Same Author"} # Education/Textbooks
- {id: 289, cat: Books/EBook, desc: "Collections: Same Series"} - {id: 278, cat: Books/EBook, desc: "Tutorials"}
- {id: 291, cat: Books/EBook, desc: "Collections: Fiction"} - {id: 300, cat: Books/EBook, desc: "Textbooks"}
- {id: 292, cat: Books/EBook, desc: "Collections: Non Fiction"} - {id: 301, cat: Books/EBook, desc: "Educational"}
- {id: 220, cat: Books/Comics, desc: "Comics: Archie"} - {id: 328, cat: Books/EBook, desc: "Engineering/Mech"}
- {id: 222, cat: Books/Comics, desc: "Comics: Books & Mags - Comics"} - {id: 339, cat: Books/EBook, desc: "Science/Physics"}
- {id: 225, cat: Books/Comics, desc: "Comics: ComicStrip Collection"} - {id: 346, cat: Books/EBook, desc: "Chemistry"}
- {id: 228, cat: Books/Comics, desc: "Comics: DC"} - {id: 347, cat: Books/EBook, desc: "Medical"}
- {id: 244, cat: Books/Comics, desc: "Comics: Manga"} - {id: 348, cat: Books/EBook, desc: "Mathematics"}
- {id: 245, cat: Books/Comics, desc: "Comics: Marvel"} - {id: 363, cat: Books/EBook, desc: "Sheet Music"}
- {id: 258, cat: Books/Comics, desc: "Comics: Other Pub - Humor/Satire"} - {id: 366, cat: Books/EBook, desc: "Astronomy"}
- {id: 262, cat: Books/Comics, desc: "Comics: Other Pub - Educational"} # Tech/Computers
- {id: 264, cat: Books/Comics, desc: "Comics: Independent Publishers"} - {id: 331, cat: Books/EBook, desc: "Electronics"}
- {id: 265, cat: Books/Comics, desc: "Comics: General/Misc"} - {id: 336, cat: Books/EBook, desc: "Video Games"}
- {id: 281, cat: Books/Technical, desc: "Computer: Tutorials"} - {id: 337, cat: Books/EBook, desc: "Computers"}
- {id: 38, cat: Books/Technical, desc: "Computer: Applications"} - {id: 350, cat: Books/EBook, desc: "Programming"}
- {id: 55, cat: Books/Technical, desc: "Computer: Gaming "} - {id: 354, cat: Books/EBook, desc: "Apps"}
- {id: 56, cat: Books/Technical, desc: "Computer: General"} # Hobbies/pastimes
- {id: 57, cat: Books/Technical, desc: "Computer: Graphics"} - {id: 271, cat: Books/EBook, desc: "Food And Drink"}
- {id: 58, cat: Books/Technical, desc: "Computer: Internet-WWW"} - {id: 272, cat: Books/EBook, desc: "General Hobbies"}
- {id: 59, cat: Books/Technical, desc: "Computer: Networking"} - {id: 327, cat: Books/EBook, desc: "Gardening"}
- {id: 60, cat: Books/Technical, desc: "Computer: OS/Mac"} - {id: 329, cat: Books/EBook, desc: "Motorcars/Repairs"}
- {id: 61, cat: Books/Technical, desc: "Computer: OS/Other"} - {id: 330, cat: Books/EBook, desc: "D.I.Y"}
- {id: 62, cat: Books/Technical, desc: "Computer: OS/Windows"} - {id: 332, cat: Books/EBook, desc: "Trivia/Quiz"}
- {id: 63, cat: Books/Technical, desc: "Computer: Programming "} - {id: 367, cat: Books/EBook, desc: "Health & Fitness"}
- {id: 66, cat: Books/EBook, desc: "Doc/Vid/Tut: Computer"} # Non Fict/Ref
- {id: 67, cat: Books/EBook, desc: "Doc/Vid/Tut: Crafts"} - {id: 285, cat: Books/EBook, desc: "General Non-fiction"}
- {id: 68, cat: Books/EBook, desc: "Doc/Vid/Tut: Educational"} - {id: 289, cat: Books/EBook, desc: "Autobiography/Memoir"}
- {id: 69, cat: Books/EBook, desc: "Doc/Vid/Tut: General"} - {id: 274, cat: Books/EBook, desc: "Business"}
- {id: 70, cat: Books/EBook, desc: "Doc/Vid/Tut: History"} - {id: 316, cat: Books/EBook, desc: "True Crime"}
- {id: 71, cat: Books/EBook, desc: "Doc/Vid/Tut: Medical/Health"} - {id: 335, cat: Books/EBook, desc: "Entertainment"}
- {id: 72, cat: Books/EBook, desc: "Doc/Vid/Tut: Military"} - {id: 338, cat: Books/EBook, desc: "Encyclopedia/Ref"}
- {id: 73, cat: Books/EBook, desc: "Doc/Vid/Tut: Modelling"} - {id: 349, cat: Books/EBook, desc: "Self Help"}
- {id: 74, cat: Books/EBook, desc: "Doc/Vid/Tut: Sciences"} - {id: 351, cat: Books/EBook, desc: "Religion"}
- {id: 75, cat: Books/EBook, desc: "Doc/Vid/Tut: Transportation"} - {id: 358, cat: Books/EBook, desc: "History"}
- {id: 76, cat: Books/EBook, desc: "Doc/Vid/Tut: Woodworking"} - {id: 362, cat: Books/EBook, desc: "Politics"}
- {id: 287, cat: Books/EBook, desc: "Doc/Vid/Tut: Martial Arts/Boxing/Wrestling"} - {id: 368, cat: Books/EBook, desc: "Music"}
- {id: 121, cat: Books/EBook, desc: "Educational: Arts"} # Military
- {id: 122, cat: Books/EBook, desc: "Educational: Astronomy/Cosmology"} - {id: 287, cat: Books/EBook, desc: "WW1"}
- {id: 123, cat: Books/EBook, desc: "Educational: Biology & Genetics"} - {id: 288, cat: Books/EBook, desc: "WW2"}
- {id: 124, cat: Books/EBook, desc: "Educational: Chemistry"} - {id: 12, cat: Books/EBook, desc: "Army,Navy,Airforce"}
- {id: 125, cat: Books/EBook, desc: "Educational: Culture/Languages"} - {id: 286, cat: Books/EBook, desc: "General Military "}
- {id: 126, cat: Books/EBook, desc: "Educational: Earth Sciences"} # Zoology
- {id: 127, cat: Books/EBook, desc: "Educational: Educational"} - {id: 334, cat: Books/EBook, desc: "Veterinary/Pets"}
- {id: 128, cat: Books/EBook, desc: "Educational: Engineering & Technology "} - {id: 361, cat: Books/EBook, desc: "Nature And Wildlife"}
- {id: 129, cat: Books/EBook, desc: "Educational: Environmental Studies"} # Art & Crafts
- {id: 130, cat: Books/EBook, desc: "Educational: General Science Titles"} - {id: 344, cat: Books/EBook, desc: "Model Making"}
- {id: 131, cat: Books/EBook, desc: "Educational: Literature / Writing"} - {id: 357, cat: Books/EBook, desc: "Art"}
- {id: 132, cat: Books/EBook, desc: "Educational: Mathematics and Statistics"} # Comics
- {id: 133, cat: Books/EBook, desc: "Educational: Medical Texts"} - {id: 290, cat: Books/Comics, desc: "General Comics"}
- {id: 134, cat: Books/EBook, desc: "Educational: Military History"} - {id: 291, cat: Books/Comics, desc: "Marvel"}
- {id: 135, cat: Books/EBook, desc: "Educational: Non-Military History"} - {id: 292, cat: Books/Comics, desc: "D/C"}
- {id: 136, cat: Books/EBook, desc: "Educational: Paleontology"} # Magazines
- {id: 137, cat: Books/EBook, desc: "Educational: Physics"} - {id: 306, cat: Books/Mags, desc: "Music"}
- {id: 138, cat: Books/EBook, desc: "Educational: Psychology"} - {id: 10, cat: Books/Mags, desc: "Language Learn"}
- {id: 139, cat: Books/EBook, desc: "Educational: Student Reference"} - {id: 13, cat: Books/Mags, desc: "Non English Bks"}
- {id: 297, cat: Books/EBook, desc: "Educational: Life Sciences/Evolution/Human "} - {id: 16, cat: Books/Mags, desc: "VIP"}
- {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"}
modes: modes:
search: [q] search: [q]
@@ -270,10 +126,6 @@ settings:
- name: password - name: password
type: password type: password
label: Password label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: vip - name: vip
type: checkbox type: checkbox
label: Include VIP results label: Include VIP results
@@ -281,35 +133,39 @@ settings:
- name: sort - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site
default: id default: 3
options: options:
id: created 3: created
seeders: seeders 5: seeders
size: size 4: size
name: title 2: title
- name: type - name: type
type: select type: select
label: Order requested from site label: Order requested from site
default: desc default: 2
options: options:
desc: desc 2: desc
asc: asc 1: asc
- name: info_results - name: info
type: info type: info
label: Search results label: Results Per Page
default: "If you are not getting results, then access the site with your browser and mark as read all PMs." 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: login:
path: account-login.php path: index.php?page=login
method: post method: post
inputs: inputs:
username: "{{ .Config.username }}" uid: "{{ .Config.username }}"
password: "{{ .Config.password }}" pwd: "{{ .Config.password }}"
error: error:
- selector: div.panel:contains("Access Denied") - selector: tr td span[style="color:#FF0000;"]
test: test:
path: index.php path: index.php
selector: a[href^="account-logout.php"] selector: a[href="logout.php"]
download: download:
selectors: selectors:
@@ -318,54 +174,70 @@ download:
search: search:
paths: paths:
- path: torrents-search.php # https://ebooks-shares.org/index.php?page=torrents&search=&category=0&active=0
- path: index.php
inputs: inputs:
search: "{{ if .Keywords }}\"{{ .Keywords }}\"{{ else }}{{ end }}" page: torrents
# 0 only active 1 incl dead 2 only dead search: "{{ .Keywords }}"
incldead: 1 # does not support multi category selection so defaulting to all
# 0 all 1 not freeleech 2 only freeleech category: 0
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" # 0 all, 1 active only, 2 dead only
# 0 all 1 english 2 french 3 german 4 italian 5 japanese 6 spanish 7 russian 8 other active: 0
lang: 0 order: "{{ .Config.sort }}"
sort: "{{ .Config.sort }}" by: "{{ .Config.type }}"
order: "{{ .Config.type }}"
rows: 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: fields:
category: category:
selector: a[href^="torrents.php?cat="] selector: a[href^="index.php?page=torrents&category="]
attribute: href attribute: href
filters: filters:
- name: querystring - name: querystring
args: cat args: category
_is_vip:
selector: a[href$="&category=16"], a[href$="&category=319"]
attribute: href
optional: true
title: title:
selector: a[href^="torrents-details.php?id="] selector: a[href^="index.php?page=torrent-details&id="]
attribute: title filters:
- name: append
args: "{{ if .Result._is_vip }} VIP{{ else }}{{ end }}"
details: details:
selector: a[href^="torrents-details.php?id="] selector: a[href^="index.php?page=torrent-details&id="]
attribute: href attribute: href
download: download:
selector: a[href^="torrents-details.php?id="] selector: a[href^="index.php?page=downloadcheck"]
attribute: href attribute: href
size: poster:
selector: td:nth-child(5) selector: a[href^="index.php?page=torrent-details&id="]
seeders: attribute: onmouseover
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
description:
selector: td:nth-child(4)
filters: filters:
- name: prepend - name: regexp
args: "uploader: " args: "src=(.*?) "
- name: replace
args: ["torrentimg/nocover.jpg", ""]
size:
selector: td:nth-last-child(4)
date: 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: downloadvolumefactor:
case: text: 1
img[src="images/free.gif"]: 0
"*": 1
uploadvolumefactor: uploadvolumefactor:
text: 1 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] search: [q]
settings: settings:
- name: info_2fa
type: info
label: "About 2FA"
default: "If you want to enable 2FA then use the Empornium2FA indexer instead."
- name: username - name: username
type: text type: text
label: Username label: Username
+192
View File
@@ -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
+10 -4
View File
@@ -9,6 +9,8 @@ links:
- https://ex-torrenty.org/ - https://ex-torrenty.org/
caps: caps:
# find the category numbers from the szukaj.php page
# and dont forget to update the search fields category case block
categorymappings: categorymappings:
- {id: 774, cat: Movies, desc: "Filmy Polskie"} - {id: 774, cat: Movies, desc: "Filmy Polskie"}
- {id: 642, cat: Movies, desc: "Filmy/Bajki"} - {id: 642, cat: Movies, desc: "Filmy/Bajki"}
@@ -19,14 +21,15 @@ caps:
- {id: 17, cat: Movies/HD, desc: "Filmy HD"} - {id: 17, cat: Movies/HD, desc: "Filmy HD"}
- {id: 265, cat: Movies/HD, desc: "Filmy x265 HEVC"} - {id: 265, cat: Movies/HD, desc: "Filmy x265 HEVC"}
- {id: 12, cat: Movies/3D, desc: "Filmy 3D"} - {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: 826, cat: Movies/HD, desc: "REMUX / Complete"}
- {id: 530, cat: Movies/SD, desc: "Filmy TS/CAM"}
- {id: 9, cat: PC, desc: "Programy"} - {id: 9, cat: PC, desc: "Programy"}
- {id: 7, cat: Console, desc: "Konsole"} - {id: 7, cat: Console, desc: "Konsole"}
- {id: 6, cat: PC/Games, desc: "Gry"} - {id: 6, cat: PC/Games, desc: "Gry"}
- {id: 5, cat: Audio, desc: "Muzyka"} - {id: 5, cat: Audio, desc: "Muzyka"}
- {id: 305, cat: Audio/Video, desc: "Teledyski"} - {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: 228, cat: XXX, desc: "Erotyka"}
- {id: 25, cat: Books/EBook, desc: "Książki"} - {id: 25, cat: Books/EBook, desc: "Książki"}
- {id: 739, cat: Audio/Audiobook, desc: "AudioBooki"} - {id: 739, cat: Audio/Audiobook, desc: "AudioBooki"}
@@ -54,7 +57,9 @@ settings:
type: text type: text
label: User-Agent label: User-Agent
- name: info_useragent - 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 - name: multilang
type: checkbox type: checkbox
label: Replace MULTi by another language in release name label: Replace MULTi by another language in release name
@@ -112,7 +117,8 @@ search:
":contains(\"Gry\")": 6 ":contains(\"Gry\")": 6
":contains(\"Muzyka\")": 5 ":contains(\"Muzyka\")": 5
":contains(\"Teledyski\")": 305 ":contains(\"Teledyski\")": 305
":contains(\"TV\")": 22 ":contains(\"Seriale Polskie\")": 829
":contains(\"Seriale Zagraniczne\")": 922
":contains(\"Erotyka\")": 228 ":contains(\"Erotyka\")": 228
":contains(\"Książki\")": 25 ":contains(\"Książki\")": 25
":contains(\"AudioBooki\")": 739 ":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: caps:
categorymappings: 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: 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: AAC, cat: Audio, desc: Music AAC}
- {id: Lossless, cat: Audio/Lossless, desc: Music Lossless} - {id: "Adult / Porn", cat: XXX, desc: "Adult / Porn"}
- {id: Music videos, cat: Audio/Video, desc: Music Videos} - {id: Android, cat: PC/Mobile-Android, desc: Software Android}
- {id: Other Music, cat: Audio/Other, desc: Music Other} - {id: Anime, cat: TV/Anime, desc: Anime}
- {id: Radio Shows, cat: Audio/Other, desc: Music Radio} - {id: Audio books, cat: Audio/Audiobook, desc: Books Audiobook}
- {id: Video, cat: XXX, desc: Adult / Porn} - {id: Bollywood, cat: Movies, desc: Bollywood}
- {id: "Adult / Porn", cat: XXX, desc: Adult / Porn} - {id: Comics, cat: Books/Comics, desc: Books Comics}
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures} - {id: DVD, cat: Movies/DVD, desc: Movies DVD}
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines} - {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: Games, cat: XXX/Other, desc: Adult Games}
- {id: Hentai, cat: XXX/Other, desc: Adult Hentai} - {id: Hentai, cat: XXX/Other, desc: Adult Hentai}
- {id: Windows, cat: PC, desc: Software Windows} - {id: Highres Movies, cat: Movies/HD, desc: Movies HD}
- {id: Android, cat: PC/Mobile-Android, desc: Software Android}
- {id: Mac, cat: PC/Mac, desc: Software Mac}
- {id: Linux, cat: PC, desc: Software Linux} - {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: 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: PS3, cat: Console/PS3, desc: Games PS3}
- {id: PS4, cat: Console/PS4, desc: Games PS4} - {id: PS4, cat: Console/PS4, desc: Games PS4}
- {id: PSP, cat: Console/PSP, desc: Games PSP} - {id: PSP, cat: Console/PSP, desc: Games PSP}
- {id: Wii, cat: Console/Wii, desc: Games Wii} - {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
- {id: Xbox360, cat: Console/XBox 360, desc: Games Xbox360} - {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: Switch, cat: Console/Other, desc: Games Switch}
- {id: Other Games, cat: Console/Other, desc: Games Other} - {id: TV, cat: TV, desc: TV}
- {id: English-translated, cat: TV/Anime, desc: Anime English-translated} - {id: UltraHD, cat: Movies/UHD, desc: Movies UHD}
- {id: Anime, cat: TV/Anime, desc: Anime} - {id: Video, cat: XXX, desc: Adult / Porn}
- {id: Audio books, cat: Audio/Audiobook, desc: Books Audiobook} - {id: Wii, cat: Console/Wii, desc: Games Wii}
- {id: Comics, cat: Books/Comics, desc: Books Comics} - {id: Windows, cat: PC, desc: Software Windows}
- {id: Ebooks, cat: Books/EBook, desc: Books Ebook} - {id: Xbox360, cat: Console/XBox 360, desc: Games Xbox360}
- {id: Other, cat: Other/Misc, desc: Other}
- {id: Other Applications, cat: PC, desc: Other Applications}
modes: modes:
search: [q] search: [q]
@@ -94,7 +101,7 @@ search:
args: ["in ", ""] args: ["in ", ""]
- name: trim - name: trim
title: title:
selector: a[href^="/torrent/"] selector: a[href^="/torrent/"]:not([href$="comments"])
details: details:
selector: a[href^="/torrent/"] selector: a[href^="/torrent/"]
attribute: href attribute: href
+2 -1
View File
@@ -42,7 +42,8 @@ search:
keywordsfilters: keywordsfilters:
- name: re_replace - 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 # fixes for site search issues - Prowlarr #1094
- name: replace - name: replace
args: ["-", ""] args: ["-", ""]
+118
View File
@@ -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 id: f1carreras-api
name: 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 language: es-MX
type: private type: private
encoding: UTF-8 encoding: UTF-8
@@ -26,7 +26,7 @@ caps:
modes: modes:
search: [q] search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid] tv-search: [q, season, ep]
settings: settings:
- name: apikey - name: apikey
@@ -35,11 +35,15 @@ settings:
- name: info_key - name: info_key
type: info type: info
label: About your API key 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 - name: freeleech
type: checkbox type: checkbox
label: Search freeleech only label: Search freeleech only
default: false default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- name: sort - name: sort
type: select type: select
label: Sort requested from site label: Sort requested from site
@@ -69,9 +73,9 @@ login:
search: search:
paths: paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x) # https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476 # https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: "/api/torrents/filter" - path: api/torrents/filter
response: response:
type: json type: json
@@ -85,9 +89,6 @@ search:
# disabled due to not being properly mapped # disabled due to not being properly mapped
# seasonNumber: "{{ .Query.Season }}" # seasonNumber: "{{ .Query.Season }}"
# episodeNumber: "{{ .Query.Ep }}" # episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}" "free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}" sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}" sortDirection: "{{ .Config.type }}"
@@ -107,27 +108,21 @@ search:
fields: fields:
category: category:
selector: category_id selector: category_id
title: title_optional:
selector: name 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: details:
selector: details_link selector: details_link
download: download:
selector: download_link selector: download_link
infohash: infohash:
selector: info_hash 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: seeders:
selector: seeders selector: seeders
leechers: leechers:
@@ -144,7 +139,12 @@ search:
args: "MM/dd/yyyy HH:mm:ss zzz" args: "MM/dd/yyyy HH:mm:ss zzz"
size: size:
selector: size selector: size
downloadvolumefactor: _featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100% # api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech selector: freeleech
case: case:
@@ -154,15 +154,17 @@ search:
75%: 0.25 75%: 0.25
100%: 0 # freeleech 100%: 0 # freeleech
"*": 0 # catch errors "*": 0 # catch errors
uploadvolumefactor: downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True # api returns False, True
selector: double_upload selector: double_upload
case: case:
False: 1 # normal False: 1 # normal
True: 2 # double True: 2 # double
minimumratio: uploadvolumefactor:
text: 1.0 text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
minimumseedtime: minimumseedtime:
# 1 day (as seconds = 1 x 24 x 60 x 60) # 2 day (as seconds = 2 x 24 x 60 x 60)
text: 86400 text: 172800
# json UNIT3D 7.2.5 (custom) # json UNIT3D 9.1.5 (custom)

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