1
0
mirror of https://github.com/Prowlarr/Indexers.git synced 2026-02-15 07:25:47 +00:00

jackett indexers as of e09d94ff036bdf1eefb6fa726283e4afc6c16988 [2026-02-11T02:31:13Z]

Added Indexers: definitions/v11/bluetorrents.yml definitions/v11/momentpt.yml definitions/v11/ptlgs.yml definitions/v11/ptzone.yml definitions/v11/siqi.yml definitions/v11/xingyung.yml definitions/v11/zamundarip.yml

Removed Indexers: definitions/v11/arenabg.yml
definitions/v11/xthor-api.yml
definitions/v11/zamundanet.yml
definitions/v11/zelkaorg.yml

Modified Indexers: definitions/v11/Bittorrentfiles.yml
definitions/v11/alingpt.yml
definitions/v11/backups.yml
definitions/v11/cangbaoge.yml
definitions/v11/cdfile.yml
definitions/v11/hhanclub.yml
definitions/v11/kunlun.yml
definitions/v11/lacale-api.yml
definitions/v11/lajidui.yml
definitions/v11/longpt.yml
definitions/v11/magnetcat.yml
definitions/v11/march.yml
definitions/v11/novahd.yml
definitions/v11/sextorrent-api.yml
definitions/v11/shareisland-api.yml
definitions/v11/tangmen.yml
definitions/v11/tangpt.yml
definitions/v11/torrent9.yml
definitions/v11/uztracker.yml
This commit is contained in:
ineednewpajamas
2026-02-10 20:31:13 -06:00
committed by Auggie
parent e38d9ce28c
commit f87b689283
30 changed files with 1203 additions and 893 deletions

View File

@@ -5,6 +5,8 @@ description: "Bittorrentfiles is a Private GERMAN Torrent Tracker for MOVIES / T
language: de-DE language: de-DE
type: private type: private
encoding: UTF-8 encoding: UTF-8
certificates:
- f9d7cb73beb0254372638cfd7afca468ed568964 # Expired 10th Feb 2026
links: links:
- https://bittorrentfiles.me/ - https://bittorrentfiles.me/
legacylinks: legacylinks:

View File

@@ -140,7 +140,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -1,201 +0,0 @@
---
id: arenabg
name: ArenaBG
description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GENERAL"
language: bg-BG
type: semi-private
encoding: UTF-8
links:
- https://arenabg.com/
legacylinks:
- https://arenabg.ch/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 8, cat: Movies, desc: "Movies / ArenaBG.TV"}
- {id: 9, cat: Movies/SD, desc: "Movies / XviD"}
- {id: 10, cat: Movies/DVD, desc: "Movies / DVD-R"}
- {id: 11, cat: Movies/HD, desc: "Movies / x264"}
- {id: 12, cat: TV/Anime, desc: "Movies / Anime & Manga"}
- {id: 13, cat: TV/Documentary, desc: "Movies / Documentaries"}
- {id: 14, cat: Movies/BluRay, desc: "Movies / Blu-ray"}
- {id: 15, cat: Movies, desc: "Movies / Weekend"}
- {id: 16, cat: Movies, desc: "Movies / Boxset"}
- {id: 17, cat: Movies/HD, desc: "Movies / x264 Boxset"}
- {id: 18, cat: Movies/HD, desc: "Movies / HDTV"}
- {id: 19, cat: Movies/3D, desc: "Movies / 3D"}
- {id: 20, cat: Movies/HD, desc: "Movies / Movies HD"}
- {id: 21, cat: Movies/HD, desc: "Movies / x265"}
- {id: 22, cat: Movies/UHD, desc: "Movies / 4K"}
- {id: 59, cat: Movies/HD, desc: "Movies / AV1"}
- {id: 2, cat: TV, desc: "Series"}
- {id: 23, cat: TV/HD, desc: "Series / TV Episodes HD"}
- {id: 24, cat: TV, desc: "Series / TV Episodes"}
- {id: 25, cat: TV, desc: "Series / TV Boxset"}
- {id: 26, cat: TV/HD, desc: "Series / TV Boxset HD"}
- {id: 60, cat: TV/UHD, desc: "Series / 4K"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 27, cat: Audio/MP3, desc: "Music / MP3"}
- {id: 28, cat: Audio/Video, desc: "Music / Video"}
- {id: 29, cat: Audio/Lossless, desc: "Music / FLAC"}
- {id: 30, cat: Audio, desc: "Music / DVD"}
- {id: 31, cat: Audio/Lossless, desc: "Music / APE"}
- {id: 32, cat: Audio, desc: "Music / DTS"}
- {id: 33, cat: Audio, desc: "Music / WavePack"}
- {id: 34, cat: Audio, desc: "Music / OST"}
- {id: 4, cat: PC/Games, desc: "Games"}
- {id: 35, cat: PC/Games, desc: "Games / PC ISO"}
- {id: 36, cat: PC, desc: "Games / PC RIP"}
- {id: 37, cat: Console, desc: "Games / PS2"}
- {id: 38, cat: Console/PSP, desc: "Games / PSP"}
- {id: 39, cat: Console/XBox, desc: "Games / XBOX"}
- {id: 40, cat: Console/XBox 360, desc: "Games / XBOX-360"}
- {id: 41, cat: Console/PS3, desc: "Games / PS3"}
- {id: 42, cat: Console/Wii, desc: "Games / WII"}
- {id: 43, cat: Console/NDS, desc: "Games / NDS"}
- {id: 44, cat: Console/PS4, desc: "Games / PS4"}
- {id: 5, cat: PC, desc: "Software"}
- {id: 45, cat: PC/ISO, desc: "Software / PC ISO"}
- {id: 46, cat: PC/Mobile-Other, desc: "Software / Smartphone"}
- {id: 47, cat: PC, desc: "Software / Tutorial"}
- {id: 48, cat: PC/Mac, desc: "Software / MAC"}
- {id: 49, cat: PC/Mobile-Android, desc: "Software / Android"}
- {id: 50, cat: PC/Mobile-iOS, desc: "Software / iOS"}
- {id: 51, cat: PC/Mobile-Other, desc: "Software / WM7"}
- {id: 6, cat: XXX, desc: "XXX"}
- {id: 52, cat: XXX, desc: "XXX / Porn"}
- {id: 53, cat: XXX, desc: "XXX / XXX HD"}
- {id: 7, cat: Other, desc: "Misc"}
- {id: 54, cat: Other/Misc, desc: "Misc / Other"}
- {id: 55, cat: Books/EBook, desc: "Misc / e-Books"}
- {id: 56, cat: Other, desc: "Misc / Banned"}
- {id: 57, cat: TV/Sport, desc: "Misc / Sports"}
- {id: 58, cat: PC/0day, desc: "Misc / 0-Day"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: downloadlink
type: select
label: Download link
default: "magnet:?xt="
options:
"/en/torrents/download/?key=": ".torrent"
"magnet:?xt=": "magnet"
- name: downloadlink2
type: select
label: Download link (fallback)
default: "/en/torrents/download/?key="
options:
"/en/torrents/download/?key=": ".torrent"
"magnet:?xt=": "magnet"
- name: info_download
type: info
label: About the Download links
default: You can optionally set as a fallback an automatic alternate link, so if the .torrent download link fails your download will still be successful.
login:
path: en/users/signin/
method: form
form: form[action="/en/users/signin/"]
inputs:
username_or_email: "{{ .Config.username }}"
password: "{{ .Config.password }}"
captcha:
type: image
selector: img[src="/captcha.php"]
input: captcha
error:
- selector: div.row div#container div.alert
test:
path: en/
selector: a[href="/en/users/logout/"]
download:
selectors:
- selector: a[href^="{{ .Config.downloadlink }}"]
attribute: href
- selector: a[href^="{{ .Config.downloadlink2 }}"]
attribute: href
search:
paths:
# https://arenabg.com/en/torrents/?text=ice+s01e01
- path: en/torrents/
inputs:
text: "{{ .Keywords }}"
subtitles: ""
audio: ""
# does not support multi-cats so defaulting to all
category: ""
rows:
selector: tr:has(a[href^="/en/torrents/?category="])
fields:
category:
selector: td.category a[href^="/en/torrents/?category="]:last-of-type
attribute: href
filters:
- name: querystring
args: category
_english:
selector: span[title="English"]
attribute: title
optional: true
_bulgarian:
selector: span[title="Bulgarian"]
attribute: title
optional: true
title:
selector: td.filename a.title
filters:
- name: append
args: "{{ if .Result._bulgarian }} {{ .Result._bulgarian }}{{ else }}{{ end }}{{ if .Result._english }} {{ .Result._english }}{{ else }}{{ end }}"
details:
selector: td.filename a.title
attribute: href
download:
selector: td.filename a.title
attribute: href
poster:
selector: td.filename a.title
attribute: onmouseover
filters:
- name: regexp
args: "\"(.+?)\""
- name: replace
args: ["\\", ""]
date:
# 2 January 2021, Saturday @ 20:46
selector: small
filters:
- name: regexp
args: "(.+?, .+? @ [0-9]{2}:[0-9]{2})"
- name: append
args: " +02:00" # EET
- name: dateparse
args: "d MMMM yyyy, dddd @ HH:mm zzz"
size:
selector: td:nth-child(3)
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -14,30 +14,30 @@ caps:
- {id: 100, cat: Console, desc: "Anbernic"} - {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: 3, cat: PC, desc: "Apps"} - {id: 3, cat: PC, desc: "Apps"}
- {id: 109, cat: PC, desc: "Attract-Mode"} - {id: 109, cat: PC, desc: "Attract"}
- {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: 108, cat: Console, desc: "Bazpacks"}
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"} - {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
- {id: 112, cat: Console, desc: "Brojack & Laws"} - {id: 112, cat: Console, desc: "Brojack & Laws"}
- {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: 22, cat: Console, desc: "CoinOps Xbox"}
- {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"}
- {id: 44, cat: Console, desc: "CP78"} - {id: 44, cat: Console, desc: "CP78"}
- {id: 16, cat: TV/Documentary, desc: "Docu"} - {id: 16, cat: TV/Documentary, desc: "Docu"}
- {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: 89, cat: PC, desc: "Ghostware"} - {id: 89, cat: PC, desc: "Ghostware"}
- {id: 84, cat: TV, desc: "GOG DRM FREE"} - {id: 84, cat: TV, desc: "GOG"}
- {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: 107, cat: Console, desc: "KinHanK"} - {id: 107, cat: Console, desc: "KinHanK"}
- {id: 43, cat: Console, desc: "LaunchBox"} - {id: 43, cat: Console, desc: "LaunchBox"}
- {id: 85, cat: PC, desc: "MAME Rom Sets"} - {id: 85, cat: PC, desc: "MAME"}
- {id: 32, cat: Movies, desc: "Movie Pack"} - {id: 32, cat: Movies, desc: "Movie Pack"}
- {id: 106, cat: Movies/UHD, desc: "Movie Pack 4K"} - {id: 106, cat: Movies/UHD, desc: "Movie Pack 4K"}
- {id: 6, cat: Movies, desc: "Movies"} - {id: 6, cat: Movies, desc: "Movies"}
@@ -51,15 +51,15 @@ caps:
- {id: 30, cat: Console, desc: "Playstation"} - {id: 30, cat: Console, desc: "Playstation"}
- {id: 83, cat: PC, desc: "Retro eXo"} - {id: 83, cat: PC, desc: "Retro eXo"}
- {id: 56, cat: PC, desc: "Retro Minis"} - {id: 56, cat: PC, desc: "Retro Minis"}
- {id: 67, cat: PC, desc: "Retrobat"} - {id: 67, cat: PC, desc: "RetroBat"}
- {id: 88, cat: PC, desc: "RetroFE"} - {id: 88, cat: PC, desc: "RetroFE"}
- {id: 76, cat: Console, desc: "RGS"} - {id: 76, cat: Console, desc: "RGS"}
- {id: 27, cat: PC, desc: "Roms and Emulators"} - {id: 27, cat: PC, desc: "ROM Packs"}
- {id: 62, cat: PC, desc: "RPi"} - {id: 62, cat: PC, desc: "RPi"}
- {id: 81, cat: PC, desc: "Scene"} - {id: 81, cat: PC, desc: "Scene"}
- {id: 68, cat: PC, desc: "Schmoomer's"} - {id: 68, cat: PC, desc: "Schmoomer"}
- {id: 110, cat: Console, desc: "ScummVM"} - {id: 110, cat: Console, desc: "ScummVM"}
- {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: 75, cat: Audio, desc: "Soundtracks"} - {id: 75, cat: Audio, desc: "Soundtracks"}
- {id: 29, cat: TV/Sport, desc: "Sport"} - {id: 29, cat: TV/Sport, desc: "Sport"}
@@ -68,9 +68,9 @@ caps:
- {id: 9, cat: TV, desc: "TV Packs"} - {id: 9, cat: TV, desc: "TV Packs"}
- {id: 11, cat: TV, desc: "TV Shows"} - {id: 11, cat: TV, desc: "TV Shows"}
- {id: 73, cat: Console, desc: "Wolfanoz"} - {id: 73, cat: Console, desc: "Wolfanoz"}
- {id: 26, cat: Console, desc: "Xbox"} - {id: 26, cat: Console, desc: "XBOX"}
- {id: 12, cat: Console, desc: "XBOX360"} - {id: 12, cat: Console, desc: "XBOX360"}
- {id: 23, cat: XXX, desc: "xxx18+"} - {id: 23, cat: XXX, desc: "XXX18+"}
modes: modes:
search: [q] search: [q]
@@ -129,31 +129,31 @@ search:
# sort is done via do=quick_sort, and freeleech sorting is part of that set # sort is done via do=quick_sort, and freeleech sorting is part of that set
rows: rows:
selector: "table#sortabletable > tbody > tr:has(a[href*=\"download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"freedownload.gif\"]){{ else }}{{ end }}" selector: "table#sortabletable > tbody > tr:has(a[href*=\"download-torrent-\"]){{ if .Config.freeleech }}:has(img[src$=\"freedownload.gif\"]){{ else }}{{ end }}"
filters: filters:
- name: andmatch - name: andmatch
args: 66 args: 66
fields: fields:
category: category:
selector: a[href*="browse.php?category="] selector: a[href*="torrent-category-"]
attribute: href attribute: href
filters: filters:
- name: querystring - name: regexp
args: category args: "torrent-category-(\\d+)"
title_default: title_default:
# is often abbreviated # is often abbreviated
selector: a[href*="details.php?id="] selector: a[href*="torrent-details-"]
title: title:
# can be abbreviated but usually longer than title_default # can be abbreviated but usually longer than title_default
selector: div.tooltip-content > div selector: div.tooltip-content > div
optional: true optional: true
default: "{{ .Result.title_default }}" default: "{{ .Result.title_default }}"
details: details:
selector: a[href*="details.php?id="] selector: a[href*="torrent-details-"]
attribute: href attribute: href
download: download:
selector: a[href*="download.php?id="] selector: a[href*="download-torrent-"]
attribute: href attribute: href
magnet: magnet:
selector: a[href^="magnet:?xt="] selector: a[href^="magnet:?xt="]

View File

@@ -0,0 +1,121 @@
---
id: bluetorrents
name: BlueTorrents
description: "BlueTorrents is a Private Torrent Tracker for MOVIES / TV / MUSIC / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://bluetorrents.com/
caps:
categorymappings:
# from https://bluetorrents.com/api/external?apikey=YOUR-API-KEY&t=caps
- {id: 2000, cat: Movies, desc: "Movies"}
- {id: 5000, cat: TV, desc: "TV Shows"}
- {id: 1000, cat: Console, desc: "Games"}
- {id: 3000, cat: Audio, desc: "Music"}
- {id: 4000, cat: PC/0day, desc: "Apps"}
- {id: 6000, cat: XXX, desc: "XXX"}
- {id: 8000, cat: Other, desc: "Other"}
- {id: 7000, cat: Books, desc: "Books"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, tmdbid]
music-search: [q]
book-search: [q]
allowtvsearchimdb: true
settings:
- name: apikey
type: text
label: API Key
- name: info_key
type: info
label: About your API key
default: "You can find your API Key by accessing the <a href=\"https://bluetorrents.com/settings\" target=\"_blank\">BlueTorrents Settings</a> page, and scrolling down to the <b>API keys</b> section."
- name: info_3x
type: info
label: Including 3X
default: "IF you want to see 3x torrents access your <a href=\"https://bluetorrents.com/settings\" target=\"_blank\">BlueTorrents Settings</a> page and tick the <b>Show NSFW content</b> checkbox."
- name: info_activity
type: info
label: Account Inactivity
default: "Accounts with no activity for 90+ days may be disabled."
search:
paths:
- path: api/external
response:
type: xml
inputs:
apikey: "{{ .Config.apikey }}"
t: "{{ if .Query.TMDBID }}movie{{ else }}{{ end }}{{ if or .Query.Season .Query.Ep }}tvsearch{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.TMDBID .Query.Season .Query.Ep }}{{ else }}search{{ end }}"
q: "{{ .Keywords }}"
cat: "{{ join .Categories \",\" }}"
season: "{{ .Query.Season }}"
ep: "{{ .Query.Ep }}"
imdbid: "{{ .Query.IMDBID }}"
tmdbid: "{{ .Query.TMDBID }}"
limit: 100
keywordsfilters:
# replace spaces between words with percent wildcard
- name: re_replace
args: ["\\W+", "%"]
rows:
selector: rss > channel > item
fields:
category:
selector: '[name="category"]'
attribute: value
title:
selector: title
details:
selector: link
download:
selector: enclosure
attribute: url
infohash:
selector: '[name="infohash"]'
attribute: value
imdbid:
selector: '[name="imdbid"]'
attribute: value
tmdbid:
selector: '[name="tmdbid"]'
attribute: value
date:
# Sun, 08 Feb 2026 03:32:24 -0800
selector: pubDate
filters:
- name: dateparse
args: "ddd, dd MMM yyyy HH:mm:ss zzz"
size:
selector: size
seeders:
selector: '[name="seeders"]'
attribute: value
leechers:
selector: '[name="peers"]'
attribute: value
grabs:
selector: '[name="grabs"]'
attribute: value
downloadvolumefactor:
selector: '[name="downloadvolumefactor"]'
attribute: value
uploadvolumefactor:
selector: '[name="uploadvolumefactor"]'
attribute: value
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# torznab xml

View File

@@ -148,7 +148,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
optional: true optional: true

View File

@@ -154,7 +154,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -88,7 +88,7 @@ login:
ssl: yes ssl: yes
trackerssl: yes trackerssl: yes
error: error:
- selector: div > div.flex:has(div:contains("失败")) - selector: div#Container > div.flex:has(div:contains("失败"))
test: test:
path: index.php path: index.php
selector: a[href="logout.php"] selector: a[href="logout.php"]

View File

@@ -145,7 +145,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -113,7 +113,7 @@ search:
inputs: inputs:
apikey: "{{ .Config.apikey }}" apikey: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}cat={{.}}&{{end}}" $raw: "{{ range .Categories }}cat={{.}}&{{end}}"
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}FRENCH{{ end }}" q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}*{{ end }}"
tmdbId: "{{ .Query.TMDBID }}" tmdbId: "{{ .Query.TMDBID }}"
rows: rows:
@@ -167,4 +167,4 @@ search:
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 API # json API v1.3

View File

@@ -154,7 +154,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -166,7 +166,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -9,14 +9,12 @@ encoding: UTF-8
links: links:
- https://magnetcatcat.com/ - https://magnetcatcat.com/
- https://clmclm.com/ - https://clmclm.com/
- https://www.8800536.xyz/
- https://www.8800537.xyz/
- https://www.8800538.xyz/ - https://www.8800538.xyz/
- https://www.8800539.xyz/ - https://www.8800539.xyz/
- https://www.8800540.xyz/
- https://www.8800541.xyz/
legacylinks: legacylinks:
- https://www.clm472.sbs/ - https://www.clm472.sbs/
- https://www.8800520.xyz/
- https://www.8800519.xyz/
- https://www.8800521.xyz/ - https://www.8800521.xyz/
- https://www.8800522.xyz/ - https://www.8800522.xyz/
- https://www.8800523.xyz/ - https://www.8800523.xyz/
@@ -31,6 +29,8 @@ legacylinks:
- https://www.8800532.xyz/ - https://www.8800532.xyz/
- https://www.8800533.xyz/ - https://www.8800533.xyz/
- https://www.8800534.xyz/ - https://www.8800534.xyz/
- https://www.8800536.xyz/
- https://www.8800537.xyz/
caps: caps:
categorymappings: categorymappings:

View File

@@ -146,7 +146,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -0,0 +1,169 @@
---
id: momentpt
name: MomentPT
description: "MomentPT is a CHINESE Private Torrent Tracker for Photography"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://www.momentpt.top/
caps:
categorymappings:
- {id: 401, cat: Other, desc: "写真(Portraiture)"}
- {id: 402, cat: Other, desc: "人像(Portrait)"}
- {id: 403, cat: Other, desc: "风光(Landscape)"}
- {id: 404, cat: Other, desc: "纪实(Documentary)"}
- {id: 416, cat: Other, desc: "杂志(Magazine)"}
- {id: 415, cat: Other, desc: "静物(Still Life)"}
- {id: 414, cat: Other, desc: "儿童(Children)"}
- {id: 413, cat: Other, desc: "超现实(Surreal)"}
- {id: 412, cat: Other, desc: "美食(Cuisine)"}
- {id: 411, cat: Other, desc: "动物(Animals)"}
- {id: 405, cat: Other, desc: "人文(Humanity)"}
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: 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: "{{ .Keywords }}"
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: 0
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
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
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
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.7 2025-09-24 (custom)

View File

@@ -150,7 +150,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

195
definitions/v11/ptlgs.yml Normal file
View File

@@ -0,0 +1,195 @@
---
id: ptlgs
name: PTLGS
description: "PTLGS is a CHINESE Private Torrent Tracker for MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://ptlgs.org/
caps:
categorymappings:
- {id: 409, cat: Other/Misc, desc: "其他(Other)"}
- {id: 407, cat: TV/Sport, desc: "体育(Sports)"}
- {id: 406, cat: Audio/Video, desc: "音乐(Music Video)"}
- {id: 403, cat: TV, desc: "综艺(Variety Shows)"}
- {id: 402, cat: TV, desc: "剧集(Drama Serie)"}
- {id: 405, cat: TV/Anime, desc: "动漫/Anime)"}
- {id: 404, cat: TV/Documentary, desc: "纪录片/Documentary)"}
- {id: 401, cat: Movies, desc: "电影(Movies)"}
- {id: 411, cat: Other, desc: "字幕组(Subtitle Group)"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2facode
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the SBPT Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
- name: info_activity
type: info
label: Account Inactivity
default: "Account retention rules:<ol><li>All users' accounts will be retained forever, and data will be retained forever</li><li>Newly registered accounts without traffic (i.e., upload/download data are 0) will be automatically frozen by the system if they do not log in for 7 consecutive days</li><li>Accounts that have been inactive for more than 30 days will be automatically banned by the system</li><li>determination method: When there is an unread announcement, it is necessary to manually confirm that the announcement has been read to be considered active; When there are no unread announcements, you need to visit the homepage to be active.</li></ol>"
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href*="download.php?id="])
fields:
category:
selector: a[href*="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href*="details.php?id="]
title:
selector: a[title][href*="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href*="details.php?id="]
attribute: href
download:
selector: a[href*="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
minimumseedtime:
# 5 hours (as seconds = 5 x 60 x 60)
text: 18000
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.13 2024-09-21

181
definitions/v11/ptzone.yml Normal file
View File

@@ -0,0 +1,181 @@
---
id: ptzone
name: PTzone
description: "PTzone is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://ptzone.xyz/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies(电影)"}
- {id: 402, cat: TV, desc: "TV Series(电视剧)"}
- {id: 403, cat: TV, desc: "TV Shows(综艺)"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries(纪录片)"}
- {id: 405, cat: TV/Anime, desc: "Animations(动漫)"}
- {id: 406, cat: Audio, desc: "Music(音乐)"}
- {id: 407, cat: TV/Sport, desc: "Sports(体育)"}
- {id: 408, cat: Other, desc: "Others(其它)"}
- {id: 410, cat: PC/0day, desc: "Software(软件)"}
- {id: 411, cat: PC/Games, desc: "Games(游戏)"}
- {id: 409, cat: TV, desc: "Others(其它)"}
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 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 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 (not working)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
description_verified:
case:
span[title="通过"], span[title="通過"], span[title="Allowed"]: "Verified:"
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
filters:
- name: prepend
args: "{{ .Result.description_verified }} "
# NexusPHP v1.9.9 2025-10-02

View File

@@ -5,65 +5,60 @@ description: "SexTorrent is a Private Torrent Tracker for 3X"
language: en-US language: en-US
type: private type: private
encoding: UTF-8 encoding: UTF-8
certificates:
- 473e65bfd1884f2904b09ac811d0d88355f618b1 # expired 19 Jan 2025
links: links:
- https://sextorrent.myds.me/ - https://sextorrent.myds.me/
caps: caps:
categorymappings: categorymappings:
- {id: 3, cat: XXX, desc: "Amateur"} - {id: 4, cat: XXX, desc: "Hardcore"}
- {id: 4, cat: XXX, desc: "Anal"} - {id: 5, cat: XXX, desc: "Anal"}
- {id: 5, cat: XXX, desc: "Asian"} - {id: 6, cat: XXX, desc: "Asian"}
- {id: 6, cat: XXX, desc: "BDSM"} - {id: 7, cat: XXX, desc: "BDSM"}
- {id: 7, cat: XXX, desc: "Big-Tits"} - {id: 8, cat: XXX, desc: "Big.Tits"}
- {id: 8, cat: XXX, desc: "Busty"} - {id: 9, cat: XXX, desc: "Busty"}
- {id: 9, cat: XXX, desc: "Creampie"} - {id: 10, cat: XXX, desc: "Creampie"}
- {id: 10, cat: XXX, desc: "Fetish"} - {id: 11, cat: XXX, desc: "Fetish"}
- {id: 11, cat: XXX, desc: "Mature"} - {id: 12, cat: XXX, desc: "Mature"}
- {id: 12, cat: XXX, desc: "Hardcore"} - {id: 13, cat: XXX, desc: "Amateur"}
- {id: 13, cat: XXX, desc: "Old and Young"} - {id: 14, cat: XXX, desc: "Old and Young"}
- {id: 14, cat: XXX, desc: "Milf"} - {id: 15, cat: XXX, desc: "Milf"}
- {id: 15, cat: XXX, desc: "Oral"} - {id: 16, cat: XXX, desc: "Oral"}
- {id: 16, cat: XXX, desc: "Orgy Gang Bang"} - {id: 17, cat: XXX, desc: "Orgy GangBang"}
- {id: 17, cat: XXX, desc: "Lesbian"} - {id: 18, cat: XXX, desc: "Lesbian"}
- {id: 18, cat: XXX, desc: "Teen"} - {id: 19, cat: XXX, desc: "Teen"}
- {id: 19, cat: XXX, desc: "HD - High.Definition"} - {id: 20, cat: XXX/x264, desc: "HD High.Definition"}
- {id: 20, cat: XXX, desc: "Hentai"} - {id: 21, cat: XXX/Other, desc: "Cartoon Hentai"}
- {id: 21, cat: XXX, desc: "Interracial"} - {id: 22, cat: XXX, desc: "Interracial"}
- {id: 22, cat: XXX, desc: "Masturbate"} - {id: 23, cat: XXX, desc: "Masturbate"}
- {id: 23, cat: XXX, desc: "Music Video"} - {id: 24, cat: XXX/Other, desc: "Music.Video"}
- {id: 24, cat: XXX, desc: "POV"} - {id: 25, cat: XXX, desc: "POV"}
- {id: 25, cat: XXX, desc: "Shemale -TS- TransSex"} - {id: 26, cat: XXX, desc: "Shemale TS Trans.Sex"}
- {id: 26, cat: XXX, desc: "Straight"} - {id: 27, cat: XXX, desc: "Straight"}
- {id: 27, cat: XXX, desc: "Mega.Pack"} - {id: 28, cat: XXX/Pack, desc: "Mega.PACK"}
- {id: 28, cat: XXX, desc: "V.R. -Porn-"} - {id: 29, cat: XXX, desc: "VR - Porn"}
- {id: 30, cat: XXX/ImageSet, desc: "Pictures"} - {id: 30, cat: XXX/ImageSet, desc: "Pictures XXX"}
- {id: 29, cat: XXX, desc: "SiteRip"} - {id: 31, cat: XXX, desc: "SiteRip"}
- {id: 31, cat: XXX, desc: "Foreign"} - {id: 32, cat: XXX, desc: "Foreign"}
- {id: 32, cat: XXX, desc: "Latina"} - {id: 33, cat: XXX, desc: "Latina"}
- {id: 33, cat: XXX/Other, desc: "Games"} - {id: 34, cat: XXX/Other, desc: "Games All type"}
- {id: 34, cat: XXX, desc: "Magazines"} - {id: 35, cat: XXX/Other, desc: "Magazines (Press.)"}
- {id: 35, cat: XXX, desc: "Feature"} - {id: 36, cat: XXX, desc: "Feature"}
- {id: 36, cat: XXX, desc: "Big-Ass"} - {id: 37, cat: XXX, desc: "Big-Ass"}
- {id: 37, cat: XXX/Other, desc: "Other"} - {id: 38, cat: XXX/Other, desc: "Other (all.mixt.)"}
- {id: 38, cat: XXX, desc: "Cumshot"} - {id: 39, cat: XXX, desc: "CumShot"}
- {id: 39, cat: XXX, desc: "Black"} - {id: 40, cat: XXX, desc: "Black"}
- {id: 40, cat: XXX, desc: "Piss"} - {id: 41, cat: XXX, desc: "Piss"}
- {id: 41, cat: XXX, desc: "Homemade"} - {id: 42, cat: XXX, desc: "Homemade"}
- {id: 42, cat: XXX, desc: "Pregnant"} - {id: 43, cat: XXX, desc: "Pregnant"}
- {id: 43, cat: XXX, desc: "Gay"} - {id: 44, cat: XXX, desc: "GAY"}
- {id: 45, cat: XXX, desc: "Classic"} - {id: 45, cat: XXX, desc: "Classic"}
- {id: 44, cat: XXX, desc: "SiteFan"} - {id: 46, cat: XXX, desc: "Threesome"}
- {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: 47, cat: XXX, desc: "Threesome"} - {id: 3, cat: Audio, desc: "Music"}
- {id: 46, cat: XXX, desc: "Ai Generated"}
modes: modes:
search: [q] search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: settings:
- name: apikey - name: apikey
@@ -97,6 +92,10 @@ settings:
options: options:
desc: desc desc: desc
asc: asc asc: asc
- name: info_activity
type: info
label: Account Inactivity
default: "Inactive Account mean No trafic Up/Down, these will be wiped very fast."
login: login:
path: /api/torrents path: /api/torrents
@@ -204,9 +203,9 @@ search:
True: 2 # double True: 2 # double
uploadvolumefactor: uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}" 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 # global MR is 0.7 but torrents must be seeded for 7 days regardless of ratio
# minimumratio: # minimumratio:
# text: 0.4 # text: 0.7
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

View File

@@ -14,12 +14,12 @@ legacylinks:
caps: caps:
categorymappings: categorymappings:
- {id: 1, cat: Movies, desc: "Movie"} - {id: 1, cat: Movies, desc: "Movie"}
- {id: 28, cat: Movies, desc: "Foreign Movie"}
- {id: 2, cat: TV, desc: "Serie TV"} - {id: 2, cat: TV, desc: "Serie TV"}
- {id: 15, cat: Books/EBook, desc: "Ebook"} - {id: 15, cat: Books/EBook, desc: "Ebook"}
- {id: 26, cat: Audio/Audiobook, desc: "Audio Book"} - {id: 26, cat: Audio/Audiobook, desc: "Audio Book"}
- {id: 17, cat: Books/Mags, desc: "Riviste e Giornali"} - {id: 17, cat: Books/Mags, desc: "Riviste e Giornali"}
- {id: 3, cat: Audio, desc: "Music"} - {id: 3, cat: Audio, desc: "Music"}
- {id: 27, cat: Audio/Other, desc: "Podcast"}
- {id: 7, cat: PC/Games, desc: "Games"} - {id: 7, cat: PC/Games, desc: "Games"}
- {id: 23, cat: PC, desc: "Software"} - {id: 23, cat: PC, desc: "Software"}
- {id: 24, cat: TV/Sport, desc: "Eventi Sportivi"} - {id: 24, cat: TV/Sport, desc: "Eventi Sportivi"}

165
definitions/v11/siqi.yml Normal file
View File

@@ -0,0 +1,165 @@
---
id: siqi
name: Siqi
description: "Siqi is a CHINESE Private Tracker for HD image BOOKS and E-BOOKS"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://si-qi.xyz/
caps:
categorymappings:
- {id: 411, cat: Books/Comics, desc: "漫画 (Comics)"}
- {id: 417, cat: Books/Technical, desc: "软件 (Software)"}
- {id: 416, cat: Books/EBook, desc: "摄影 (Photography)"}
- {id: 415, cat: Books/Technical, desc: "工具书 (Reference Books)"}
- {id: 414, cat: Books/Mags, desc: "杂志 (Magazines)"}
- {id: 413, cat: Other, desc: "图片集 (Photo Albums)"}
- {id: 412, cat: Books/Comics, desc: "连环画 (Comic Strips)"}
- {id: 418, cat: Books/EBook, desc: "插图书 (Illustrated Books)"}
- {id: 401, cat: Books/Technical, desc: "教学 (Instructional)"}
- {id: 409, cat: Books/Other, desc: "其他 (Others)"}
modes:
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.
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: "{{ .Keywords }}"
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: 0
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
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
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
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: 1.0
minimumseedtime:
# 1 days (as seconds = 1 x 24 x 60 x 60)
text: 86400
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.9.6 2025-06-25 (Custom)

View File

@@ -171,7 +171,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -148,7 +148,7 @@ search:
size: size:
selector: td.rowfollow:nth-child(5) selector: td.rowfollow:nth-child(5)
seeders: seeders:
selector: td.rowfollow.rowfollow:nth-child(6) selector: td.rowfollow:nth-child(6)
leechers: leechers:
selector: td.rowfollow:nth-child(7) selector: td.rowfollow:nth-child(7)
grabs: grabs:

View File

@@ -8,9 +8,8 @@ encoding: UTF-8
followredirect: true followredirect: true
testlinktorrent: false testlinktorrent: false
links: links:
- https://ww2.torrent9.to/ - https://www5.torrent9.to/
legacylinks: legacylinks:
- https://www.torrent09.uno/
- https://www.torrent9.pl/ # this is a proxy for torrent9clone - https://www.torrent9.pl/ # this is a proxy for torrent9clone
- https://torrent9.black-mirror.xyz/ # this is a proxy for torrent9clone - https://torrent9.black-mirror.xyz/ # this is a proxy for torrent9clone
- https://torrent9.unblocked.casa/ # this is a proxy for torrent9clone - https://torrent9.unblocked.casa/ # this is a proxy for torrent9clone
@@ -34,6 +33,7 @@ legacylinks:
- https://www.torrent9.zone/ # clone? details links are broken - https://www.torrent9.zone/ # clone? details links are broken
- https://torrent9.to/ - https://torrent9.to/
- https://www5.torrent9.to/ - https://www5.torrent9.to/
- https://ww2.torrent9.to/
caps: caps:
# dont forget to update the search fields category case block # dont forget to update the search fields category case block

View File

@@ -73,7 +73,7 @@ caps:
- {id: 365, cat: TV/Anime, desc: " |- OVA"} - {id: 365, cat: TV/Anime, desc: " |- OVA"}
- {id: 361, cat: TV/Anime, desc: "Фильмы"} - {id: 361, cat: TV/Anime, desc: "Фильмы"}
- {id: 366, cat: TV/Anime, desc: " |- Новинки"} - {id: 366, cat: TV/Anime, desc: " |- Новинки"}
- {id: 365, cat: TV/Anime, desc: " |- Аниме Фильмы (HD)"} - {id: 364, cat: TV/Anime, desc: " |- Аниме Фильмы (HD)"}
- {id: 362, cat: TV/Anime, desc: " |- OVA"} - {id: 362, cat: TV/Anime, desc: " |- OVA"}
# Музыка # Music # Музыка # Music
- {id: 225, cat: Audio, desc: "♫ Российские исполнители ♫ (Mp3)♫"} - {id: 225, cat: Audio, desc: "♫ Российские исполнители ♫ (Mp3)♫"}

View File

@@ -0,0 +1,180 @@
---
id: xingyung
name: Xingyung (星陨阁)
description: "Xingyung (星陨阁) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.xingyungept.org/
caps:
categorymappings:
- {id: 409, cat: Other, desc: "其他/Misc"}
- {id: 408, cat: Audio, desc: "音频/HQ Audio"}
- {id: 406, cat: Audio/Video, desc: "MV/Music Videos"}
- {id: 407, cat: TV/Sport, desc: "体育/Sports"}
- {id: 410, cat: TV, desc: "短剧/Playlet"}
- {id: 404, cat: TV/Documentary, desc: "纪录片/Documentary"}
- {id: 405, cat: TV/Anime, desc: "动漫/Animations"}
- {id: 403, cat: TV, desc: "综艺/TV Shows"}
- {id: 402, cat: TV, desc: "电视剧/TVSeries"}
- {id: 401, cat: Movies, desc: "电影/Movies"}
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: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

View File

@@ -1,209 +0,0 @@
---
id: xthor-api
name: Xthor (API)
description: "Xthor is a FRENCH Private Torrent Tracker for MOVIES / GENERAL"
language: fr-FR
type: private
encoding: windows-1252
requestDelay: 2.5
links:
- https://xthor.help/
legacylinks:
- https://xthor.bz/
- https://xthor.to/
- https://xthor.tk
- https://xthor.tk/
caps:
categorymappings:
# Movies / Films
- {id: 118, cat: Movies/BluRay, desc: "Films/2160p/Bluray"}
- {id: 119, cat: Movies/UHD, desc: "Films/2160p/Remux"}
- {id: 127, cat: Movies/UHD, desc: "Films/2160p/AV1"}
- {id: 107, cat: Movies/UHD, desc: "Films/2160p/x265"}
- {id: 1, cat: Movies/BluRay, desc: "Films/1080p/BluRay"}
- {id: 2, cat: Movies/HD, desc: "Films/1080p/Remux"}
- {id: 126, cat: Movies/HD, desc: "Films/1080p/AV1"}
- {id: 100, cat: Movies/HD, desc: "Films/1080p/x265"}
- {id: 4, cat: Movies/HD, desc: "Films/1080p/x264"}
- {id: 5, cat: Movies/HD, desc: "Films/720p/x264"}
- {id: 7, cat: Movies/SD, desc: "Films/SD/x264"}
- {id: 3, cat: Movies/3D, desc: "Films/3D"}
- {id: 6, cat: Movies/SD, desc: "Films/XviD"}
- {id: 8, cat: Movies/DVD, desc: "Films/DVD"}
- {id: 122, cat: Movies/HD, desc: "Films/HDTV"}
- {id: 94, cat: Movies/WEB-DL, desc: "Films/WEBDL"}
- {id: 95, cat: Movies/WEB-DL, desc: "Films/WEBRiP"}
- {id: 12, cat: TV/Documentary, desc: "Films/Documentaire"}
- {id: 31, cat: Movies/Other, desc: "Films/Animation"}
- {id: 33, cat: Movies/Other, desc: "Films/Spectacle"}
- {id: 125, cat: TV/Sport, desc: "Films/Sports"}
- {id: 20, cat: Audio/Video, desc: "Films/Concerts, Clips"}
- {id: 9, cat: Movies/Other, desc: "Films/VOSTFR"}
# TV Series / Series TV
- {id: 104, cat: TV/Other, desc: "Series/BluRay"}
- {id: 13, cat: TV, desc: "Series/Pack VF"}
- {id: 15, cat: TV/HD, desc: "Series/HD VF"}
- {id: 14, cat: TV/SD, desc: "Series/SD VF"}
- {id: 98, cat: TV/Other, desc: "Series/Pack VOSTFR"}
- {id: 17, cat: TV/HD, desc: "Series/HD VOSTFR"}
- {id: 16, cat: TV/SD, desc: "Series/SD VOSTFR"}
- {id: 101, cat: TV/Anime, desc: "Series/Packs Anime"}
- {id: 32, cat: TV/Anime, desc: "Series/Animes"}
- {id: 110, cat: TV/Anime, desc: "Series/Anime VOSTFR"}
- {id: 123, cat: TV/Other, desc: "Series/Animation"}
- {id: 109, cat: TV/Documentary, desc: "Series/DOC"}
- {id: 34, cat: TV/Sport, desc: "Series/Sport"}
- {id: 30, cat: TV/Other, desc: "Series/Emission TV"}
# Porn / XxX
- {id: 36, cat: XXX, desc: "MISC/XxX/Films"}
- {id: 105, cat: XXX, desc: "MISC/XxX/Séries"}
- {id: 114, cat: XXX, desc: "MISC/XxX/Lesbiennes"}
- {id: 115, cat: XXX, desc: "MISC/XxX/Gays"}
- {id: 113, cat: XXX, desc: "MISC/XxX/Hentai"}
- {id: 120, cat: XXX, desc: "MISC/XxX/Magazines"}
# Books / Livres
- {id: 24, cat: Books/EBook, desc: "Livres/Romans"}
- {id: 124, cat: Audio/Audiobook, desc: "Livres/Audio Books"}
- {id: 96, cat: Books/Mags, desc: "Livres/Magazines"}
- {id: 99, cat: Books/Other, desc: "Livres/Bandes dessinées"}
- {id: 116, cat: Books/EBook, desc: "Livres/Romans Jeunesse"}
- {id: 102, cat: Books/Comics, desc: "Livres/Comics"}
- {id: 103, cat: Books/Other, desc: "Livres/Mangas"}
# Softwares / Logiciels
- {id: 25, cat: PC/Games, desc: "Logiciels/Jeux PC"}
- {id: 27, cat: Console/PS3, desc: "Logiciels/Playstation"}
- {id: 111, cat: PC/Mac, desc: "Logiciels/Jeux MAC"}
- {id: 26, cat: Console/XBox 360, desc: "Logiciels/XboX"}
- {id: 112, cat: PC, desc: "Logiciels/Jeux Linux"}
- {id: 28, cat: Console/Wii, desc: "Logiciels/Nintendo"}
- {id: 29, cat: Console/NDS, desc: "Logiciels/NDS"}
- {id: 117, cat: PC, desc: "Logiciels/ROM"}
- {id: 21, cat: PC, desc: "Logiciels/Applis PC"}
- {id: 22, cat: PC/Mac, desc: "Logiciels/Applis Mac"}
- {id: 23, cat: PC/Mobile-Android, desc: "Logiciels/Smartphone"}
modes:
search: [q]
movie-search: [q, tmdbid]
tv-search: [q, season, ep, tmdbid]
book-search: [q]
settings:
- name: passkey
type: text
label: Passkey
- name: info_key
type: info
label: About your Passkey
default: "Find your Passkey on <a href=\"https://xthor.help/api_doc.php\" target =_blank>Xthor > API page</a>."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTi.FRENCH: MULTi.FRENCH
ENGLISH: ENGLISH
MULTi.ENGLISH: MULTi.ENGLISH
VOSTFR: VOSTFR
MULTi.VOSTFR: MULTi.VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
login:
path: "https://api.xthor.help/"
method: get
inputs:
passkey: "{{ .Config.passkey }}"
error:
- selector: ":root:contains(\"Passkey not found\")"
message:
text: "The Passkey was not accepted by {{ .Config.sitelink }}."
search:
paths:
# https://api.xthor.help/?passkey=<redacted>&search=&category=&freeleech=&tmdbid=&size=&accent=&price=&page=
- path: "https://api.xthor.help/"
inputs:
passkey: "{{ .Config.passkey }}"
category: "{{ if .Categories }}{{ range .Categories }}{{.}}+{{end}}{{ else }}{{ end }}"
search: "{{ .Keywords }}"
tmdbid: "{{ .Query.TMDBID }}"
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
response:
type: json
noResultsMessage: '"descr": "no result"'
rows:
selector: torrents
fields:
_id:
selector: id
category:
selector: category
title_phase1:
selector: name
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
text: "{{ .Config.sitelink }}details.php?id={{ .Result._id }}"
download:
selector: download_link
poster:
selector: descr
filters:
- name: regexp
args: ["({{ .Config.sitelink }}info_images\\/allocine\\/covers\\/film\\/small_\\d+?\\.jpg)"]
tmdbid:
selector: tmdb_id
files:
selector: numfiles
date:
selector: added
size:
selector: size
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
downloadvolumefactor:
# api returns 0=false, 1=true
selector: freeleech
case:
0: 1 # not free
1: 0 # freeleech
uploadvolumefactor:
text: 1
minimumseedtime:
# 24 hours (as seconds = 1 x 24 x 60 x 60)
text: 86400
minimumratio:
# minimum ratio per torrent is 0.8
text: 0.8
# json api

View File

@@ -1,202 +0,0 @@
---
id: zamundanet
name: Zamunda.net
description: "Zamunda is a BULGARIAN Private Torrent Tracker for 0DAY / GENERAL"
language: bg-BG
type: private
encoding: windows-1251
links:
- https://zamunda.net/ # Bulgarian IP address filtering
- https://zamunda.ch/ # Bulgarian IP address filtering
legacylinks:
- http://zamunda.net/
- http://zamunda.ch/
caps:
categorymappings:
# Movies
- {id: 5, cat: Movies/HD, desc: "Movies/HD"}
- {id: 19, cat: Movies/SD, desc: "Movies/SD"}
- {id: 20, cat: Movies/DVD, desc: "Movies/DVD-R"}
- {id: 24, cat: Movies, desc: "Movies/BG"}
- {id: 25, cat: TV/Anime, desc: "Animation/Anime"}
- {id: 28, cat: Movies, desc: "Movies/Russia"}
- {id: 31, cat: Movies, desc: "Movies/Science"}
- {id: 35, cat: Movies/HD, desc: "Video/HD"}
- {id: 42, cat: Movies/BluRay, desc: "Blu-ray"}
- {id: 46, cat: Movies/3D, desc: "Movies/3D"}
# Serial
- {id: 7, cat: TV/SD, desc: "Series"}
- {id: 33, cat: TV/HD, desc: "Series/HD"}
- {id: 55, cat: TV, desc: "Series/Russia"}
# Music
- {id: 6, cat: Audio, desc: "Music"}
- {id: 29, cat: Audio/Video, desc: "Music/DVD-R"}
- {id: 30, cat: Audio/Other, desc: "Music/DTS"}
- {id: 34, cat: Audio/Other, desc: "Music/Lossless"}
- {id: 51, cat: Audio/Lossless, desc: "Music/Hi-Res/Vinyl"}
# Games
- {id: 4, cat: PC/Games, desc: "Games/PC ISO"}
- {id: 12, cat: Console, desc: "Games/Console"}
- {id: 17, cat: Console/PS4, desc: "Games/PS"}
- {id: 21, cat: PC/Games, desc: "Games/PC Rip"}
- {id: 39, cat: PC/Games, desc: "Games/Mac"}
- {id: 40, cat: Console/XBox, desc: "Games/Xbox"}
- {id: 54, cat: PC/Games, desc: "Games/Linux"}
# Software
- {id: 1, cat: PC/ISO, desc: "Programs/PC ISO"}
- {id: 22, cat: PC/0day, desc: "Programs/other"}
- {id: 38, cat: PC/Mac, desc: "Programs/Mac"}
# Sport
- {id: 41, cat: TV/Sport, desc: "Sport/TV"}
- {id: 43, cat: TV/Sport, desc: "Sport/HD"}
# Other
- {id: 23, cat: Other, desc: "Clips"}
- {id: 26, cat: Other, desc: "Other"}
- {id: 32, cat: Books/Comics, desc: "Books/Comic"}
- {id: 36, cat: PC/Mobile-Other, desc: "Mobile/GSM"}
- {id: 37, cat: PC/0day, desc: "Dox"}
- {id: 52, cat: PC/Mobile-Android, desc: "Android/Games"}
- {id: 53, cat: PC/Mobile-Android, desc: "Android/Apps"}
# XXX
- {id: 9, cat: XXX, desc: "XXX"}
- {id: 27, cat: XXX, desc: "Hentai"}
- {id: 48, cat: XXX, desc: "XXX/3D"}
- {id: 49, cat: XXX, desc: "XXX/HD"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: info_results
type: info
label: "Search results"
default: "This Indexer supports search results only from the <b>LIST</b> view.<br><li>Access the web site, bring up the torrent search page and click on the <b>LIST</b> icon setting (located to the top right of the search results table).</li><br>The alternate <i>GRID</i> view is not supported."
- name: sort
type: select
label: Sort requested from site
default: 6
options:
6: created
9: seeders
7: size
2: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: ip_filtering
type: info
label: "IP Filtering"
default: "Zamunda occasionally blocks Non-Bulgarian IP addresses. A <b>FlareSolverr</b> error means your IP was not accepted."
- name: info_activity
type: info
label: Account Inactivity
default: "With the option for parking accounts you can prevent your user nickname from getting deleted by the system for deleting inactive accounts."
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: index.php
selector: a[href="/logout.php"]
search:
paths:
- path: bananas
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# blank = incldead
incldead: ""
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
headers:
cookie: ["xporn=1"] # enable xxx downloads
rows:
selector: ".responsetop > tbody > tr:has(a[href^=\"banan?id=\"]){{ if .Config.freeleech }}:has(a[style=\"color: #b9a100;\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href^="list?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="/download.php"]
attribute: onmouseover
filters:
- name: regexp
args: " (.+?)'"
- name: re_replace
args: [" rq$", ""]
details:
selector: a[href^="banan?id="]
attribute: href
download:
selector: a[href^="/download.php"]
attribute: href
grabs:
selector: td:nth-child(7)
size:
selector: td:nth-child(6)
date:
# 2020-10-2411:18:30
selector: td:nth-child(5)
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
poster:
selector: td:nth-child(2) > a:nth-child(1)
attribute: onmouseover
filters:
- name: regexp
args: src=\\'([^\s\\]+)
genre:
selector: td:nth-child(2) > a:nth-child(1)
attribute: onmouseover
filters:
- name: replace
args: ["<br>", " "]
- name: regexp
args: "Жанр:</b> (.+?)</td"
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
"a[style=\"color: #b9a100;\"][href^=\"banan?\"]": 0
"*": 1
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -0,0 +1,100 @@
---
id: zamundarip
name: Zamunda RIP
description: "Zamunda RIP is a BULGARIAN Public Torrent Archive for MOVIES / TV / GENERAL"
language: bg-BG
type: public
encoding: UTF-8
links:
- https://zamunda.rip/
caps:
categorymappings:
# from https://zamunda.rip/api/torznab/api?t=caps
- {id: 1000, cat: Console, desc: "Console"}
- {id: 1050, cat: Console/XBox, desc: "Игри/Xbox"}
- {id: 2000, cat: Movies, desc: "Movies"}
- {id: 2040, cat: Movies/HD, desc: "Филми/HD"}
- {id: 2030, cat: Movies/SD, desc: "Филми/SD"}
- {id: 2010, cat: Movies, desc: "Филми/Русия"}
- {id: 2020, cat: Movies/Other, desc: "Филми/Документални"}
- {id: 2050, cat: Movies/BluRay, desc: "Blu-ray"}
- {id: 2060, cat: Movies/3D, desc: "Филми/3D"}
- {id: 3000, cat: Audio, desc: "Audio"}
- {id: 3010, cat: Audio, desc: "Музика"}
- {id: 3020, cat: Audio/Video, desc: "Музика/DVD-R"}
- {id: 3040, cat: Audio, desc: "Музика/DTS"}
- {id: 4000, cat: PC, desc: "PC"}
- {id: 4050, cat: PC/Games, desc: "Игри/PC ISO"}
- {id: 4030, cat: PC/Mac, desc: "Игри/Mac"}
- {id: 4020, cat: PC/ISO, desc: "Програми/PC ISO"}
- {id: 4010, cat: PC, desc: "Програми/други"}
- {id: 4040, cat: PC/Mobile-Other, desc: "Mobile/GSM"}
- {id: 4070, cat: PC/Mobile-Android, desc: "Андроид/Игри"}
- {id: 5000, cat: TV, desc: "TV"}
- {id: 5070, cat: TV/Anime, desc: "Анимации/Аниме"}
- {id: 5030, cat: TV, desc: "Сериали"}
- {id: 5040, cat: TV/HD, desc: "Сериали/HD"}
- {id: 5020, cat: TV, desc: "Сериали/Русия"}
- {id: 5060, cat: TV/Sport, desc: "Спорт/TV"}
- {id: 6000, cat: XXX, desc: "XXX"}
- {id: 6040, cat: XXX/x264, desc: "XXX"}
- {id: 7000, cat: Books, desc: "Other"}
- {id: 7030, cat: Books/Comics, desc: "Книги/Комикси"}
- {id: 8000, cat: Other, desc: "Misc"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings: []
search:
paths:
# https://zamunda.rip/api/torznab/api?t=search&limit=100
- path: api/torznab/api
response:
type: xml
inputs:
t: search
q: "{{ .Keywords }}"
cat: "{{ join .Categories \",\" }}"
limit: 100
rows:
selector: rss > channel > item
fields:
category:
selector: '[name="category"]'
attribute: value
title:
selector: title
details:
text: "{{ .Config.sitelink }}"
download:
selector: link
date:
# Sun, 08 Feb 2026 19:31:03 +0000
selector: pubDate
filters:
- name: dateparse
args: "ddd, dd MMM yyyy HH:mm:ss zzz"
size:
selector: '[name="size"]'
attribute: value
seeders:
selector: '[name="seeders"]'
attribute: value
leechers:
selector: '[name="peers"]'
attribute: value
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# torznab xml

View File

@@ -1,190 +0,0 @@
---
id: zelkaorg
name: Zelka.org
description: "Zelka (Zamunda) is a BULGARIAN Private Torrent Tracker for 0DAY / GENERAL"
language: bg-BG
type: private
encoding: windows-1251
links:
- https://zelka.org/
- https://zamunda.se/
legacylinks:
- http://zelka.org/
- http://zamunda.se/
caps:
categorymappings:
- {id: 42, cat: Movies/BluRay, desc: "Blu-ray"}
- {id: 36, cat: PC/Mobile-Other, desc: "Mobile/GSM"}
- {id: 50, cat: TV, desc: "TV"}
- {id: 9, cat: XXX, desc: "XXX"}
- {id: 48, cat: XXX, desc: "XXX/3D"}
- {id: 49, cat: XXX/x264, desc: "XXX/HD"}
- {id: 25, cat: Movies/SD, desc: "Cartoons"}
- {id: 51, cat: Movies/HD, desc: "Cartoons/HD"}
- {id: 26, cat: Other, desc: "Others"}
- {id: 39, cat: PC/Mac, desc: "Games/Mac"}
- {id: 4, cat: PC/Games, desc: "Games/PC ISO"}
- {id: 21, cat: PC/Games, desc: "Games/PC Rip"}
- {id: 17, cat: Console/PS3, desc: "Games/PS"}
- {id: 40, cat: Console/XBox, desc: "Games/Xbox"}
- {id: 12, cat: Console/Other, desc: "Games/Console"}
- {id: 23, cat: Audio/Video, desc: "Clips/Concerts"}
- {id: 32, cat: Books/Comics, desc: "Books/Comics"}
- {id: 6, cat: Audio/MP3, desc: "Music"}
- {id: 29, cat: Movies/DVD, desc: "Music/DVD"}
- {id: 30, cat: Audio/Lossless, desc: "Music/Hi-Res Audio"}
- {id: 34, cat: Audio/Lossless, desc: "Music/Lossless"}
- {id: 52, cat: Audio/Other, desc: "Music/Vinyl HQRip"}
- {id: 22, cat: PC, desc: "Software"}
- {id: 38, cat: PC/Mac, desc: "Software/Mac"}
- {id: 1, cat: PC/ISO, desc: "Software/PC ISO"}
- {id: 7, cat: TV/SD, desc: "Series"}
- {id: 33, cat: TV/HD, desc: "Series/HD"}
- {id: 37, cat: PC, desc: "Warehouse"}
- {id: 41, cat: TV/Sport, desc: "Sport"}
- {id: 43, cat: TV/Sport, desc: "Sport/HD"}
- {id: 53, cat: Movies/HD, desc: "Movies/1080"}
- {id: 46, cat: Movies/3D, desc: "Movies/3D"}
- {id: 5, cat: Movies/HD, desc: "Movies/720"}
- {id: 20, cat: Movies/DVD, desc: "Movies/DVD"}
- {id: 54, cat: Movies/Other, desc: "Movies/VHS Rip"}
- {id: 35, cat: Movies/HD, desc: "Movies/x264"}
- {id: 19, cat: Movies/SD, desc: "Movies/XviD"}
- {id: 24, cat: Movies/Foreign, desc: "Movies/Bulgarian"}
- {id: 31, cat: TV/Documentary, desc: "Movies/Science"}
- {id: 28, cat: Movies/Foreign, desc: "Movies/Russian"}
- {id: 27, cat: TV/Anime, desc: "Hentai"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 6
options:
6: created
9: seeders
7: size
2: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: ip_filtering
type: info
label: "IP Filtering"
default: "Zelka occasionally blocks Non-Bulgarian IP addresses. A <b>FlareSolverr</b> error means your IP was not accepted."
- name: info_activity
type: info
label: Account Inactivity
default: "With the option for parking accounts you can prevent your user nickname from getting deleted by the system for deleting inactive accounts."
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 all, 2 dead
incldead: 1
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: ".test > tbody > tr:has(a[href^=\"browse.php\"]){{ if .Config.freeleech }}:has(a[style=\"color: #b9a100;\"]){{ else }}{{ end }}"
fields:
title:
selector: a:has(img[src$="/pic/download.gif"])
attribute: href
filters:
- name: urldecode
- name: re_replace
args: ["^(.*?)download\\.php\\/[0-9]{1,10}\\/|\\.torrent(?=[^.]*$)", ""]
details:
selector: td:nth-child(2) > a:nth-child(1)
attribute: href
category:
selector: td:nth-child(1) > a
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a:has(img[src$="/pic/download.gif"])
attribute: href
magnet:
optional: true
selector: a:has(img[src$="/pic/magnet-icon-12w-12h.gif"])
attribute: href
grabs:
selector: td:nth-child(7)
size:
selector: td:nth-child(6)
date:
# 2020-10-2411:18:30
selector: td:nth-child(5)
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
poster:
selector: td:nth-child(2) > a:nth-child(1)
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
genre:
selector: td:nth-child(2) > a:nth-child(1)
attribute: onmouseover
filters:
- name: replace
args: ["</p><p class=\\'pop\\'>", " "]
- name: regexp
args: "Genre:</b>(.+?)</div"
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
"a[style=\"color: #b9a100;\"][href^=\"details.php?\"]": 0
"*": 1
uploadvolumefactor:
text: 1
# engine tbd