mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-16 03:47:15 +01:00
Compare commits
163 Commits
v0.22.1055
...
v0.22.1188
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e8d910fadd | ||
|
|
e7dbab0cc1 | ||
|
|
d0cd0e281b | ||
|
|
c9fc2591dc | ||
|
|
8b6f7af6e0 | ||
|
|
eedb2d43f9 | ||
|
|
1d41c0c37a | ||
|
|
8c3edb1043 | ||
|
|
d791f85cc6 | ||
|
|
74e944bbbf | ||
|
|
7cfa267dd5 | ||
|
|
16743e8c76 | ||
|
|
df085daac6 | ||
|
|
7f017f1a8b | ||
|
|
2592191871 | ||
|
|
dceab227df | ||
|
|
e49d80af54 | ||
|
|
7885143ed5 | ||
|
|
cd0c2a9762 | ||
|
|
e28364f759 | ||
|
|
ae44a1faea | ||
|
|
9013b6adc6 | ||
|
|
3ad998b34c | ||
|
|
7b27d1cde0 | ||
|
|
69ce8ed3ae | ||
|
|
b65812e1d0 | ||
|
|
bb3e88b54d | ||
|
|
bf341705fa | ||
|
|
2ee5c39854 | ||
|
|
ad1a8aa698 | ||
|
|
10ed37f309 | ||
|
|
f09ddd4655 | ||
|
|
b683308686 | ||
|
|
43cf259087 | ||
|
|
8f1ed5ab9d | ||
|
|
e3659bee91 | ||
|
|
28e2ebc5b2 | ||
|
|
663e9d4b84 | ||
|
|
a9e6d6aa00 | ||
|
|
ab28271c20 | ||
|
|
dfcbb0a298 | ||
|
|
d38683ddce | ||
|
|
38b9f2874f | ||
|
|
7ea2df4bd9 | ||
|
|
43889e8a21 | ||
|
|
c54939c0fb | ||
|
|
50b7d79d72 | ||
|
|
9c8aef6f4f | ||
|
|
8f6714ee5a | ||
|
|
088bd66f7c | ||
|
|
85b6ee8b69 | ||
|
|
668091af05 | ||
|
|
db93459198 | ||
|
|
e041dff7f3 | ||
|
|
1dcd5179a4 | ||
|
|
fe9ddb9694 | ||
|
|
150e2f2828 | ||
|
|
e569c29735 | ||
|
|
29a8d72b09 | ||
|
|
bdcaa251fc | ||
|
|
822dc6cd0c | ||
|
|
a3ab49e587 | ||
|
|
83e49358ff | ||
|
|
01bd9957ed | ||
|
|
f6715ed665 | ||
|
|
528b0f2a35 | ||
|
|
7871394d0c | ||
|
|
635dfd4515 | ||
|
|
dfaa3f7467 | ||
|
|
d71c5a10c2 | ||
|
|
aa73263f4d | ||
|
|
fcc16c0d5b | ||
|
|
3382a740b1 | ||
|
|
654eeffcde | ||
|
|
65c6183049 | ||
|
|
30d5c00dd3 | ||
|
|
6ed6bf20df | ||
|
|
e47c95f095 | ||
|
|
f121d268a3 | ||
|
|
07bd2b4648 | ||
|
|
2be678e1d1 | ||
|
|
e314b5f685 | ||
|
|
fe17be2ec5 | ||
|
|
c2756e6ce4 | ||
|
|
c08259b971 | ||
|
|
06eefc07ee | ||
|
|
11af86477e | ||
|
|
b8f8c4e478 | ||
|
|
5148f29fde | ||
|
|
4e4ae1c3a4 | ||
|
|
36bf724bd2 | ||
|
|
1320002f9c | ||
|
|
747047d678 | ||
|
|
3c0191795e | ||
|
|
98e4b5157d | ||
|
|
f6d9825e9b | ||
|
|
721bad624e | ||
|
|
fcd7fd0bff | ||
|
|
728934de91 | ||
|
|
84c478752d | ||
|
|
ce92799c4d | ||
|
|
2125e7e4f0 | ||
|
|
54830f0fec | ||
|
|
8425f43e8f | ||
|
|
10d2dfff12 | ||
|
|
f8f7684c82 | ||
|
|
886084fb6d | ||
|
|
c54d584e7a | ||
|
|
d05a2703a0 | ||
|
|
e0e30ce160 | ||
|
|
37b6818484 | ||
|
|
83ed6203ea | ||
|
|
45816cacd4 | ||
|
|
12502942d6 | ||
|
|
d6ee538ec0 | ||
|
|
9fcdebcf31 | ||
|
|
96bb7b4849 | ||
|
|
cfc6d72196 | ||
|
|
5e23d7ab22 | ||
|
|
899b0a6723 | ||
|
|
849d5d9241 | ||
|
|
27ec867a89 | ||
|
|
d5934add14 | ||
|
|
90334636dc | ||
|
|
14860ff396 | ||
|
|
8779d57169 | ||
|
|
83be2763b2 | ||
|
|
44828b75e0 | ||
|
|
b0dc5fce46 | ||
|
|
4c5bb840b8 | ||
|
|
6bc2f36913 | ||
|
|
4f24bacf55 | ||
|
|
517ca6219a | ||
|
|
3dd9c8ddaf | ||
|
|
11636b522b | ||
|
|
15787aafb6 | ||
|
|
4dda31f74a | ||
|
|
b619e18719 | ||
|
|
c54db4fa15 | ||
|
|
a057979af6 | ||
|
|
91c34e9c01 | ||
|
|
02fcad2ead | ||
|
|
9d1a247bb2 | ||
|
|
f5b2afaf76 | ||
|
|
9dc1e86f30 | ||
|
|
70d9fbb721 | ||
|
|
2e979aa08d | ||
|
|
c6f0331930 | ||
|
|
30d90741db | ||
|
|
c785e745a2 | ||
|
|
8af315c5c5 | ||
|
|
7346ae2f3d | ||
|
|
7c15fedb60 | ||
|
|
dffae30ea9 | ||
|
|
1b4590b0d6 | ||
|
|
ab120c2f9f | ||
|
|
1a8386d55f | ||
|
|
0b4d7fc242 | ||
|
|
de3337f3b4 | ||
|
|
81ad3d308d | ||
|
|
e391d6f623 | ||
|
|
49d9229c93 | ||
|
|
ed72348b15 |
18
README.md
18
README.md
@@ -36,12 +36,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AniSource
|
||||
* ApacheTorrent
|
||||
* AudioBook Bay (ABB)
|
||||
* Badass Torrents
|
||||
* Bangumi Moe
|
||||
* BigFANGroup
|
||||
* BitRu
|
||||
* BitSearch
|
||||
* BluDV
|
||||
* BlueRoms
|
||||
* BT.etree
|
||||
* BTdirectory (BT目录)
|
||||
@@ -62,6 +64,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* EXT Torrents
|
||||
* ExtraTorrent.st
|
||||
* EZTV
|
||||
* FilmesHdTorrent
|
||||
* Frozen Layer
|
||||
* GamesTorrents
|
||||
* GkTorrent
|
||||
@@ -76,6 +79,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* kickasstorrents.to
|
||||
* kickasstorrents.ws
|
||||
* Knaben
|
||||
* LAPUMiA
|
||||
* LePorno.info
|
||||
* Libronube
|
||||
* LimeTorrents
|
||||
@@ -106,6 +110,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Postman
|
||||
* ProPorn
|
||||
* Rapidzona
|
||||
* RedeTorrent
|
||||
* RinTorNeT
|
||||
* RuTor
|
||||
* RuTracker.RU
|
||||
@@ -130,7 +135,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Torrent9
|
||||
* Torrent9-tel
|
||||
* TorrentFunk
|
||||
* TorrentDosFilmes
|
||||
* TorrentDownload
|
||||
* TorrentGalaxy
|
||||
* TorrentKitty
|
||||
* TorrentProject2
|
||||
* TorrentQQ (토렌트큐큐)
|
||||
@@ -302,7 +309,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CGPeers [![(invite needed)][inviteneeded]](#)
|
||||
* CHDBits [![(invite needed)][inviteneeded]](#)
|
||||
* ChileBT
|
||||
* CineClassics
|
||||
* Cinemageddon [![(invite needed)][inviteneeded]](#)
|
||||
* CinemaMovieS_ZT
|
||||
* Cinematik
|
||||
@@ -332,6 +338,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Drugari
|
||||
* Ebooks-Shares [![(invite needed)][inviteneeded]](#)
|
||||
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
|
||||
* eMuwarez
|
||||
* Enthralled
|
||||
* eShareNet
|
||||
* eStone (BigTorrent)
|
||||
@@ -370,7 +377,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HD Dolby
|
||||
* HD Zero
|
||||
* HD-Club [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Forever (HDF) [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Forever (HDF)
|
||||
* HD-Olimpo [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Only (HDO)
|
||||
* HD-Space (HDS)
|
||||
@@ -525,6 +532,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Romanian Metal Torrents (RMT)
|
||||
* RoTorrent
|
||||
* Rousi
|
||||
* SAMARITANO
|
||||
* SATClubbing
|
||||
* SceneHD [![(invite needed)][inviteneeded]](#)
|
||||
* SceneRush
|
||||
@@ -563,14 +571,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* The Old School
|
||||
* The Paradiese
|
||||
* The Place [![(invite needed)][inviteneeded]](#)
|
||||
* The Shinning (TsH)
|
||||
* The Show
|
||||
* The Vault [![(invite needed)][inviteneeded]](#)
|
||||
* The-New-Fun
|
||||
* TheEmpire (TE)
|
||||
* TheLeachZone (TLZ)
|
||||
* ThePiratedShip
|
||||
* TheScenePlace (TSP)
|
||||
* TJUPT (北洋园PT)
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* TmGHuB [![(invite needed)][inviteneeded]](#)
|
||||
@@ -579,7 +585,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Tornado
|
||||
* Torrent Heaven (Dutch)
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent Trader [![(invite needed)][inviteneeded]](#)
|
||||
* Torrent-Explosiv
|
||||
* Torrent-Syndikat [![(invite needed)][inviteneeded]](#)
|
||||
@@ -591,7 +596,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentDay (TD)
|
||||
* TorrentDD
|
||||
* Torrenteros (TTR)
|
||||
* TorrentHR [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentHR
|
||||
* Torrenting (TT)
|
||||
* Torrentland
|
||||
* TorrentLeech (TL)
|
||||
@@ -632,6 +637,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* XWTorrents (XWT)
|
||||
* YggTorrent (YGG)
|
||||
* YOiNKED
|
||||
* YUSCENE
|
||||
* Zamunda.net
|
||||
* Zelka.org
|
||||
* ZmPT (织梦)
|
||||
|
||||
@@ -115,7 +115,7 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table tbody#torrent_background tr:has(a.index)
|
||||
selector: table tbody#torrent_background tr:has(a.index):has(span.icon_check_alt)
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You must log in to the Aither web site with your browser once every 120 days to prevent your account from getting disabled."
|
||||
default: "You must log in to the Aither web site with your browser once every90 days to prevent your account from getting disabled."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -188,4 +188,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 8.3.3
|
||||
# json UNIT3D 8.3.5
|
||||
|
||||
@@ -29,14 +29,14 @@ caps:
|
||||
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
|
||||
- {id: 23, cat: PC/Mobile-Android, desc: "Aplicativos: Android"}
|
||||
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
|
||||
- {id: 73, cat: Books, desc: "Cursos: Video Aula"}
|
||||
- {id: 72, cat: Books, desc: "Cursos: Apostila"}
|
||||
- {id: 71, cat: Books, desc: "Cursos: Cursos"}
|
||||
- {id: 67, cat: Books, desc: "Ebook: Livros"}
|
||||
- {id: 112, cat: Books, desc: "Ebook: HQs"}
|
||||
- {id: 147, cat: Books, desc: "Ebook: Mangas"}
|
||||
- {id: 73, cat: Other, desc: "Cursos: Video Aula"}
|
||||
- {id: 72, cat: Other, desc: "Cursos: Apostila"}
|
||||
- {id: 71, cat: Other, desc: "Cursos: Cursos"}
|
||||
- {id: 67, cat: Books/EBook, desc: "Ebook: Livros"}
|
||||
- {id: 112, cat: Books/Comics, desc: "Ebook: HQs"}
|
||||
- {id: 147, cat: Books/Comics, desc: "Ebook: Mangas"}
|
||||
- {id: 121, cat: Audio/Audiobook, desc: "Ebook: Audio-book"}
|
||||
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
|
||||
- {id: 68, cat: Books/Mags, desc: "Ebook: Revistas"}
|
||||
- {id: 119, cat: Movies, desc: "Filmes:"}
|
||||
- {id: 70, cat: XXX, desc: "Fotos: Revistas, Livros e Fotos"}
|
||||
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
|
||||
|
||||
@@ -52,7 +52,6 @@ caps:
|
||||
- {id: 52, cat: TV, desc: "مسرحيات (Plays)"}
|
||||
- {id: 71, cat: TV, desc: "مسلسلات مدبلجه عربي (Arabic Dubbed Series)"}
|
||||
- {id: 90, cat: TV, desc: "برامج ومسابقات (Shows)"}
|
||||
- {id: 117, cat: TV, desc: "رمضان 2024 (Ramadan)"}
|
||||
# المرئيات الاجنبية Foreign Movies
|
||||
- {id: 92, cat: TV/Foreign, desc: "تعليمي (Educational)"}
|
||||
- {id: 93, cat: TV/Documentary, desc: "وثائقي (Documentary)"}
|
||||
@@ -79,6 +78,7 @@ caps:
|
||||
- {id: 25, cat: Audio, desc: "القران الكريم (The Holy Quran)"}
|
||||
- {id: 27, cat: Audio, desc: "محاضرات (Lectures)"}
|
||||
- {id: 26, cat: Audio, desc: "اناشيد (Chants)"}
|
||||
- {id: 118, cat: Audio, desc: "برامج صوتية (Programs)"}
|
||||
# برامج Software
|
||||
- {id: 22, cat: PC, desc: "برامج عربية (Arabic Software)"}
|
||||
- {id: 23, cat: PC, desc: "برامج عامه (Public Software)"}
|
||||
|
||||
@@ -114,7 +114,7 @@ search:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
rows:
|
||||
selector: table#TorrentTable > tbody > tr
|
||||
selector: table#torrenttable > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -70,51 +70,37 @@ search:
|
||||
at: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr
|
||||
selector: div.row > div.col-xs-12
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-child(1) a
|
||||
selector: p.card-text a
|
||||
attribute: href
|
||||
_platform:
|
||||
selector: td:nth-child(1)
|
||||
selector: p.card-text a
|
||||
title:
|
||||
selector: td:nth-child(2)
|
||||
selector: h4.card-title a
|
||||
filters:
|
||||
- name: append
|
||||
args: " - {{ .Result._platform }}"
|
||||
details:
|
||||
selector: td:nth-child(2) a
|
||||
selector: h4.card-title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(3) a
|
||||
selector: div.card-footer a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
date_year:
|
||||
selector: td:nth-child(5):not(:contains("-"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "yyyy"
|
||||
date_month:
|
||||
selector: td:nth-child(5):contains("-")
|
||||
optional: true
|
||||
selector: p.card-text
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d{4}-\d{2})
|
||||
- name: dateparse
|
||||
args: "yyyy-MM"
|
||||
date_day:
|
||||
selector: td:nth-child(5):contains("-")
|
||||
optional: true
|
||||
args: (\d+\.?\d+[T|G|K]iB)
|
||||
date:
|
||||
selector: p.card-text
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d{4}-\d{2}-\d{2})
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day .Result.date_month }}{{ or .Result.date_year .Result.date_day .Result.date_month }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
|
||||
@@ -13,14 +13,17 @@ legacylinks:
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 8, cat: Other, desc: "Other"}
|
||||
- {id: 2, cat: TV, desc: "TV Show"}
|
||||
- {id: 3, cat: Movies/Other, desc: "FANRES"}
|
||||
- {id: 5, cat: Movies/Other, desc: "Trailer"}
|
||||
- {id: 9, cat: Audio/Video, desc: "Live Concert"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -188,4 +191,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.4
|
||||
# json UNIT3D 8.3.5
|
||||
|
||||
@@ -50,8 +50,11 @@ search:
|
||||
selector: a[href^="/hash/"]
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: article.item
|
||||
attribute: data-key
|
||||
selector: a[href^="/hash/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
date:
|
||||
selector: p
|
||||
filters:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: capybarabr
|
||||
name: CapybaraBR
|
||||
name: CapybaraBR (API)
|
||||
description: "CapybaraBR is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: pt-BR
|
||||
type: private
|
||||
@@ -17,7 +17,7 @@ caps:
|
||||
- {id: 6, cat: Movies, desc: "Desenhos Animados"}
|
||||
- {id: 5, cat: Console, desc: "Jogos"}
|
||||
- {id: 9, cat: PC, desc: "Programas"}
|
||||
- {id: 10, cat: Audio, desc: "HQs"}
|
||||
- {id: 10, cat: Books/Comics, desc: "HQs"}
|
||||
- {id: 11, cat: Books/EBook, desc: "Livros"}
|
||||
- {id: 12, cat: Other, desc: "Cursos"}
|
||||
- {id: 13, cat: Books/Mags, desc: "Revistas"}
|
||||
|
||||
@@ -193,4 +193,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.14 2024-09-24
|
||||
# NexusPHP v1.8.15 2024-12-10
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: cinematik
|
||||
name: Cinematik
|
||||
name: Cinematik (API)
|
||||
description: "A tracker for full BD and DVD discs of non-mainstream movies, niche cinema and arthouse."
|
||||
language: en-US
|
||||
type: private
|
||||
@@ -190,4 +190,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.3.4
|
||||
# json UNIT3D 8.3.5
|
||||
|
||||
@@ -105,6 +105,43 @@ search:
|
||||
selector: td.torrents__size
|
||||
date:
|
||||
selector: td.torrents__age
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
|
||||
@@ -209,4 +209,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.9 2023-09-29
|
||||
# NexusPHP v1.8.14 2024-10-07
|
||||
|
||||
@@ -191,4 +191,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-13
|
||||
# NexusPHP v1.8.15 2024-12-10
|
||||
|
||||
@@ -13,56 +13,40 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movie
|
||||
- {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: 28, cat: Movies/SD, desc: "Filme SD"}
|
||||
- {id: 145, cat: Movies/SD, desc: "Filme all SD"}
|
||||
- {id: 138, cat: Movies, desc: "Filme Pack's"}
|
||||
# Serien
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 139, cat: TV/UHD, desc: "Serien UHD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack's"}
|
||||
# Audio
|
||||
- {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"}
|
||||
# Apps
|
||||
- {id: 12, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Apps Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Apps Mobil"}
|
||||
- {id: 141, cat: PC/ISO, desc: "Apps Other"}
|
||||
# Doku
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku Pack's"}
|
||||
# Spiel
|
||||
- {id: 17, cat: PC/Games, desc: "Spiel PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiel Konsole"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiel Mobil"}
|
||||
- {id: 121, cat: Console, desc: "Spiel Wimmelbild"}
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
- {id: 144, cat: TV/Sport, desc: "Sport Wrestling"}
|
||||
# ePaper
|
||||
- {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"}
|
||||
# XXX
|
||||
- {id: 143, cat: XXX/x264, desc: "XXX HD / SD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX Pack's"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX Pic's"}
|
||||
# Internal
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal Serie SD"}
|
||||
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Filme > HD"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Filme > SD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme > BluRay"}
|
||||
- {id: 138, cat: Movies, desc: "Filme > Pack's"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien > HD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien > SD"}
|
||||
- {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
|
||||
- {id: 59, cat: TV, desc: "Serien > Pack's"}
|
||||
- {id: 110, cat: Audio/MP3, desc: "Audio > MP3"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Audio > Flac"}
|
||||
- {id: 52, cat: Audio, desc: "Audio > Pack"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Audio > Hörbuch"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio > Videos"}
|
||||
- {id: 12, cat: PC/0day, desc: "Apps > Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Apps > Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Apps > Mobil"}
|
||||
- {id: 141, cat: PC/ISO, desc: "Apps > Other"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku > Pack's"}
|
||||
- {id: 17, cat: PC/Games, desc: "Spiel > PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiel > Konsole"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiel > Mobil"}
|
||||
- {id: 121, cat: Console, desc: "Spiel > Wimmelbild"}
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport > HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport > SD"}
|
||||
- {id: 144, cat: TV/Sport, desc: "Sport > Wrestling"}
|
||||
- {id: 96, cat: Books/Mags, desc: "ePaper > Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "ePaper > E-Book"}
|
||||
- {id: 137, cat: Books/Comics, desc: "ePaper > Comics"}
|
||||
- {id: 143, cat: XXX/x264, desc: "XXX > HD / SD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX > Pack's"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX > Pic's"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -82,26 +66,18 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactive accounts will be deactivated after 7 weeks and deleted after another 3 weeks."
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Search OnlyUpload
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About OnlyUpload at Dark-Shadow
|
||||
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
|
||||
@@ -119,85 +95,65 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://dark-shadow.me//selection.php?ajax=true&search=&page=1&visible=no&free=no&c32=1&c28=1
|
||||
- path: selection.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
ajax: true
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: 0
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
# prefix and postfix percent wildcard as well as replacing spaces between words
|
||||
- name: re_replace
|
||||
args: ["\\W+", "%"]
|
||||
- name: re_replace
|
||||
args: ["^(.+)$", "%$1%"]
|
||||
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: div.selection_wrap
|
||||
selector: $
|
||||
|
||||
fields:
|
||||
category_p1:
|
||||
selector: div.kat_cat_pic_name
|
||||
category_p2:
|
||||
selector: div.kat_cat_pic_name_b
|
||||
categorydesc:
|
||||
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
|
||||
selector: category
|
||||
filters:
|
||||
- name: replace
|
||||
args: [">", ">"]
|
||||
- name: replace
|
||||
args: ["'", "'"]
|
||||
title:
|
||||
selector: a.selection_a
|
||||
selector: name
|
||||
filters:
|
||||
# remove [REQ] and anything else in [] that prefixes titles
|
||||
- name: re_replace
|
||||
args: ["^(\\[.*\\])(.*)", "$2"]
|
||||
_id:
|
||||
selector: id
|
||||
details:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: a[href^="download"]
|
||||
attribute: href
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
selector: cover
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
selector: size
|
||||
date:
|
||||
# 25.12.2024 16:02
|
||||
selector: added
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
args: "dd.MM.yyyy HH:mm zzz"
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
selector: leechers
|
||||
_onlyup:
|
||||
selector: free_button:contains(Only Upload)
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": 0 # GLobal Freeleech event
|
||||
"*": 1
|
||||
text: "{{ if .Result._onlyup }}0{{ else }}1{{ end }}"
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
@@ -205,4 +161,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 36 hours (as seconds = 36 x 60 x 60)
|
||||
text: 129600
|
||||
# 3xT
|
||||
# 3xT JSON
|
||||
|
||||
@@ -82,7 +82,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "<ul><li>Accounts with zero activity (0 bytes download and 0 bytes upload) are automatically deleted after 30 days.</li><li>Inactive VIP and unparked accounts are automatically deleted after 40 days.</li></ul>"
|
||||
default: "<ul><li>Accounts with zero activity (0 bytes download and 0 bytes upload) are automatically deleted after 30 days.</li><li>Inactive account under the rank of VIP that are unparked are automatically deleted after 40 days.</li></ul>"
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
@@ -1,35 +1,22 @@
|
||||
---
|
||||
id: theshinning-api
|
||||
name: The Shinning (API)
|
||||
description: "The Shinning (TsH) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
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://theshinning.me/
|
||||
legacylinks:
|
||||
- https://theshinning.org
|
||||
- https://theshinning.org/
|
||||
- https://emuwarez.it/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: Console, desc: "Game"}
|
||||
- {id: 5, cat: PC, desc: "Application"}
|
||||
- {id: 7, cat: TV/Sport, desc: "Wrestling"}
|
||||
- {id: 8, cat: Books, desc: "Ebooks"}
|
||||
- {id: 11, cat: Movies, desc: "TSH-Movie"}
|
||||
- {id: 12, cat: TV, desc: "TSH-Serien"}
|
||||
- {id: 13, cat: XXX, desc: "XxX"}
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 2, cat: TV, desc: "Series"}
|
||||
|
||||
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
|
||||
@@ -38,11 +25,15 @@ settings:
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://theshinning.me/\" target=\"_blank\">The Shinning</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
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
|
||||
@@ -105,8 +96,15 @@ search:
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }} Spanish"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
@@ -128,17 +126,13 @@ search:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)^None$", ""]
|
||||
args: ["(?i)(Ciencia ficción)", "Ciencia_ficción"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
args: ["(?i)(Película de TV)", "Película_de_TV"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -155,7 +149,12 @@ search:
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
@@ -165,13 +164,19 @@ search:
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 2.0
|
||||
minimumseedtime:
|
||||
# 2.5 days (as seconds = 2.5 x 24 x 60 x 60)
|
||||
text: 216000
|
||||
# json UNIT3D 6.5.0
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.2.0
|
||||
@@ -42,7 +42,8 @@ search:
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["S[0-9]{2}([^E]|$)", ""] # remove season tag without episode (search doesn't support it)
|
||||
args: ["\\bS\\d{2,3}\\b", ""] # remove season tag without episode (search doesn't support it)
|
||||
- name: trim
|
||||
# fixes for site search issues - Prowlarr #1094
|
||||
- name: replace
|
||||
args: ["-", ""]
|
||||
|
||||
@@ -182,10 +182,6 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.71 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.71
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.3
|
||||
minimumratio:
|
||||
text: 0.71
|
||||
# json UNIT3D 8.3.4
|
||||
|
||||
@@ -11,14 +11,12 @@ links:
|
||||
caps:
|
||||
categorymappings:
|
||||
# Эксклюзив
|
||||
# Exclusive
|
||||
- {id: 387, cat: Movies/DVD, desc: " |- Отечественные фильмы DVD Master's"}
|
||||
- {id: 386, cat: Movies/DVD, desc: " |- Зарубежные фильмы DVD Master's"}
|
||||
- {id: 390, cat: TV/SD, desc: " |- Сериалы DVD Master's"}
|
||||
- {id: 388, cat: Movies/DVD, desc: " |- Мультфильмы DVD Master's"}
|
||||
- {id: 601, cat: TV/Anime, desc: " |- Мультсериалы DVD Master's"}
|
||||
# Кино, видео, мультипликация и ТВ
|
||||
# Film, video, animation and TV
|
||||
- {id: 1002, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы [HD/UHD]"}
|
||||
- {id: 987, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы [SD]"}
|
||||
- {id: 1003, cat: Movies, desc: " |- Отечественные фильмы , мультфильмы [HD/UHD]"}
|
||||
@@ -178,7 +176,6 @@ caps:
|
||||
- {id: 304, cat: TV/Anime, desc: " |- Аниме (озвучка)"}
|
||||
- {id: 303, cat: TV/Anime, desc: " |- Аниме (RAW)"}
|
||||
# Игры
|
||||
# Games
|
||||
- {id: 471, cat: Console, desc: " |- Раздачи игр от R.G. FTN Gaming RePack"}
|
||||
- {id: 19, cat: Console, desc: " |- Новинки игр"}
|
||||
- {id: 99, cat: Console, desc: " |- Demo, Alpha, Beta версии"}
|
||||
@@ -215,7 +212,6 @@ caps:
|
||||
- {id: 662, cat: Console, desc: " |- Софт для консолей"}
|
||||
- {id: 116, cat: Console, desc: " |- Портативные и Консольные (Игры)"}
|
||||
# ПО для Windows
|
||||
# Software for Windows
|
||||
- {id: 529, cat: PC/0day, desc: " |- Информация и диагностика"}
|
||||
- {id: 518, cat: PC/0day, desc: " |- Системные утилиты"}
|
||||
- {id: 516, cat: PC/0day, desc: " |- Безопасность: Защита информации. Антивирусы/файерволы"}
|
||||
@@ -267,7 +263,6 @@ caps:
|
||||
- {id: 960, cat: PC/0day, desc: " |- Вспомогательный софт для релизера"}
|
||||
- {id: 961, cat: PC/0day, desc: " |- Разное"}
|
||||
# Операционные системы и программирование
|
||||
# Operating systems and programming
|
||||
- {id: 972, cat: PC, desc: " |- Windows 10 / 11 (Оригинальные версии)"}
|
||||
- {id: 909, cat: PC, desc: " |- Windows 8 / 8.1 (Оригинальные версии)"}
|
||||
- {id: 822, cat: PC, desc: " |- Windows 7 (Оригинальные версии)"}
|
||||
@@ -303,7 +298,6 @@ caps:
|
||||
- {id: 368, cat: Other, desc: " |- Компоненты для сред программирования"}
|
||||
- {id: 367, cat: Other, desc: " |- Ищу и предлагаю (Веб-разработка и программирование)"}
|
||||
# iPhone, iPod, iPod Touch, iPad, мобильные телефоны . Android и КПК
|
||||
# iPhone, iPod, iPod Touch, iPad, mobile phones.
|
||||
- {id: 430, cat: PC/Mobile-iOS, desc: " |- База знаний"}
|
||||
- {id: 967, cat: PC/Mobile-iOS, desc: " |- Прошивки и ОС"}
|
||||
- {id: 426, cat: PC/Mobile-iOS, desc: " |- Программы"}
|
||||
@@ -313,7 +307,6 @@ caps:
|
||||
- {id: 175, cat: PC/Mobile-iOS, desc: " |- Приложения"}
|
||||
- {id: 174, cat: PC/Mobile-iOS, desc: " |- Игры"}
|
||||
# Музыка
|
||||
# Music
|
||||
- {id: 939, cat: Audio/Lossless, desc: " |- Дискографии в Lossless"}
|
||||
- {id: 948, cat: Audio/MP3, desc: " |- Дискографии в MP3"}
|
||||
- {id: 129, cat: Audio, desc: " |- Многоканальная музыка (Электронная музыка)"}
|
||||
@@ -415,7 +408,6 @@ caps:
|
||||
- {id: 290, cat: Audio, desc: " |- К фильмам"}
|
||||
- {id: 291, cat: Audio, desc: " |- К сериалам"}
|
||||
# Литература и обучение
|
||||
# Literature and learning
|
||||
- {id: 61, cat: Books, desc: " |- Художественная литература"}
|
||||
- {id: 664, cat: Books, desc: " |- Художественная литература для детей"}
|
||||
- {id: 467, cat: Books, desc: " |- Художественная литература на иностранных языках"}
|
||||
@@ -435,11 +427,13 @@ caps:
|
||||
- {id: 586, cat: Books, desc: " |- Авто - Тюнинг, чиптюнинг, настройка, отделка и укращения"}
|
||||
- {id: 672, cat: Books, desc: " |- Литература по медицине"}
|
||||
- {id: 793, cat: Books, desc: "Журналы научно-прикладные и познавательно-образовательные"}
|
||||
- {id: 708, cat: PC, desc: "ЖИнтерактивный и компьтерный материал"}
|
||||
- {id: 875, cat: PC, desc: " |- Интерактивные компьютерные диски для хобби"}
|
||||
- {id: 583, cat: PC, desc: " |- Интерактивные справочники и каталоги для авто/мото транспорт.."}
|
||||
- {id: 465, cat: PC, desc: " |- Интерактивные и компьютерные диски для обучения ин. языкам"}
|
||||
- {id: 674, cat: PC, desc: " |- Интерактивные и компьютерные диски по медицине"}
|
||||
- {id: 710, cat: PC, desc: " |- Прочие материалы для детей и родителей"}
|
||||
- {id: 888, cat: Books, desc: "Литература разных направлений"}
|
||||
- {id: 897, cat: Books, desc: " |- Прочее"}
|
||||
- {id: 896, cat: Books, desc: " |- Автомобили"}
|
||||
- {id: 895, cat: Books, desc: " |- Домашним мастерам"}
|
||||
@@ -461,10 +455,10 @@ caps:
|
||||
- {id: 816, cat: Audio/Audiobook, desc: " |- Современная литература"}
|
||||
- {id: 190, cat: Audio/Audiobook, desc: " |- Аудио книги для детей"}
|
||||
- {id: 191, cat: Audio/Audiobook, desc: " |- Обучающие аудиокниги и аудиоупражнения для детей"}
|
||||
- {id: 749, cat: Audio, desc: "Аудио концерты, спектакли, пьесы"}
|
||||
- {id: 687, cat: Audio, desc: " |- Аудиоспектакли и литературные чтения"}
|
||||
- {id: 751, cat: Audio, desc: " |- Аудио юмористические концерты (выступления)"}
|
||||
# Эротика
|
||||
# Erotica
|
||||
- {id: 963, cat: XXX, desc: "Эротические художественные фильмы"}
|
||||
- {id: 964, cat: XXX, desc: "Эротические документальные фильмы"}
|
||||
- {id: 178, cat: XXX, desc: "Русская эротика"}
|
||||
@@ -481,7 +475,7 @@ caps:
|
||||
- {id: 813, cat: XXX, desc: " |- 3D | Иностранная эротика"}
|
||||
- {id: 820, cat: XXX, desc: "Литература"}
|
||||
# Служебный раздел
|
||||
# Service section
|
||||
- {id: 912, cat: Other, desc: "Нарушение правил оформления"}
|
||||
- {id: 57, cat: Other, desc: "Временный склад (TEMP)"}
|
||||
- {id: 433, cat: Other, desc: "Архив раздач"}
|
||||
|
||||
@@ -602,7 +596,7 @@ search:
|
||||
- name: querystring
|
||||
args: f
|
||||
title:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
@@ -668,7 +662,7 @@ search:
|
||||
- name: append
|
||||
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/download.php?id="]
|
||||
@@ -691,5 +685,5 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
description:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
# TorrentPier
|
||||
|
||||
@@ -218,4 +218,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.13 2024-07-23
|
||||
# NexusPHP v1.8.15 2024-11-27
|
||||
|
||||
@@ -52,6 +52,7 @@ settings:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 69, cat: XXX, desc: "AI"}
|
||||
- {id: 62, cat: XXX, desc: "Amateur"}
|
||||
- {id: 29, cat: XXX, desc: "Anal"}
|
||||
- {id: 46, cat: XXX, desc: "Anime Games"}
|
||||
|
||||
@@ -5,21 +5,21 @@ description: "GkTorrent is a French Public site for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.protege-torrent.com/Gktorrent
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.gktorrent.si/
|
||||
- https://www.gktorrent.my/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
- https://gktorrent.news/
|
||||
- https://www.torrent.onl/
|
||||
- https://www.site-torrent.com/
|
||||
# domain lists no longer working
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# latest domains list
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.site-torrent.com/
|
||||
- https://www.rantop.org/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.torrent.onl/
|
||||
- https://gktorrent.news/
|
||||
# actual legacylinks
|
||||
- https://www.gktorrent.mx/
|
||||
- https://www.gktorrent.fi/
|
||||
- https://www.gktorrent.wf/
|
||||
- https://gktorrent.nocensor.cloud/
|
||||
@@ -36,6 +36,7 @@ legacylinks:
|
||||
- https://www.gktorrent.sk/
|
||||
- https://www.gktorrent.uno/
|
||||
- https://www.gktorrent.gy/
|
||||
- https://www.gktorrent.si/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -96,7 +97,7 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}home{{ end }}"
|
||||
keywordsfilters:
|
||||
# if searching for season packs swith S01 to saison 1 #9712
|
||||
- name: re_replace
|
||||
|
||||
@@ -181,7 +181,10 @@ search:
|
||||
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 3 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.3.2
|
||||
# json UNIT3D 8.3.4
|
||||
|
||||
@@ -109,7 +109,7 @@ search:
|
||||
# site does not support imdbid search or display imdb links in results
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr.torrent
|
||||
selector: table#torrent_table > tbody > tr.torrent:has(a[href^="torrents.php?action=download&"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -122,6 +122,9 @@ search:
|
||||
div.cats_série: 5
|
||||
div.cats_sérieanim: 6
|
||||
div.cats_documentaire: 7
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
attribute: href
|
||||
download_regular:
|
||||
selector: a[href^="torrents.php?action=download&"]
|
||||
attribute: href
|
||||
@@ -133,16 +136,66 @@ search:
|
||||
args: "&usetoken=1"
|
||||
download:
|
||||
text: "{{ if .Config.usetoken }}{{ .Result.download_usetoken }}{{ else }}{{ .Result.download_regular }}{{ end }}"
|
||||
title_phase1:
|
||||
selector: div.group_info
|
||||
remove: span:nth-child(1), div.tags
|
||||
_release_group:
|
||||
selector: span.team_name
|
||||
optional: true
|
||||
filters:
|
||||
- name: trim
|
||||
poster:
|
||||
selector: div.group_image img
|
||||
attribute: src
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\n", ""]
|
||||
- name: re_replace
|
||||
args: ["^(.+) (.+)", "$2-$1"]
|
||||
args: ["Il y a ", ""]
|
||||
- name: replace
|
||||
args: [" ", " "]
|
||||
args: ["heures", "hours"]
|
||||
- name: replace
|
||||
args: ["heure", "hour"]
|
||||
- name: replace
|
||||
args: ["jours", "days"]
|
||||
- name: replace
|
||||
args: ["jour", "day"]
|
||||
- name: replace
|
||||
args: ["semaines", "weeks"]
|
||||
- name: replace
|
||||
args: ["semaine", "week"]
|
||||
- name: replace
|
||||
args: ["mois", "months"]
|
||||
- name: replace
|
||||
args: ["ans", "years"]
|
||||
- name: replace
|
||||
args: ["an", "year"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"div.group_info:contains(\"/ Free\")": 0
|
||||
"div.group_info:contains(\"↓75%\")": 0.75
|
||||
"div.group_info:contains(\"↓50%\")": 0.50
|
||||
"div.group_info:contains(\"↓25%\")": 0.25 # for this site this is the count ratio, which is 25% of the total torrent size. (I.E. it's 75% free)
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
title_phase1:
|
||||
selector: div.group_info
|
||||
remove: span.team_name, span:has(a[href^="torrents.php?action=download"]), div.tags, div.vote_controls, div.stats-content, .add_bookmark, img
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\n", " "]
|
||||
- name: re_replace
|
||||
args: ["\\s+", " "]
|
||||
- name: replace
|
||||
args: ["Blu-Ray Original", "Complete.BluRay"]
|
||||
- name: replace
|
||||
@@ -236,6 +289,8 @@ search:
|
||||
args: [".VOF", ".FRENCH"]
|
||||
- name: replace
|
||||
args: [".VFQ.MULTI", ".MULTI.VFQ"]
|
||||
- name: append
|
||||
args: "{{ if .Result._release_group }}-{{ .Result._release_group }}{{ else }}{{ end }}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
@@ -252,56 +307,6 @@ search:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
description:
|
||||
selector: div.group_info
|
||||
poster:
|
||||
selector: div.group_image img
|
||||
attribute: src
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Il y a ", ""]
|
||||
- name: replace
|
||||
args: ["heures", "hours"]
|
||||
- name: replace
|
||||
args: ["heure", "hour"]
|
||||
- name: replace
|
||||
args: ["jours", "days"]
|
||||
- name: replace
|
||||
args: ["jour", "day"]
|
||||
- name: replace
|
||||
args: ["semaines", "weeks"]
|
||||
- name: replace
|
||||
args: ["semaine", "week"]
|
||||
- name: replace
|
||||
args: ["mois", "months"]
|
||||
- name: replace
|
||||
args: ["ans", "years"]
|
||||
- name: replace
|
||||
args: ["an", "year"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"div.group_info:contains(\"/ Free\")": 0
|
||||
"div.group_info:contains(\"↓75%\")": 0.75
|
||||
"div.group_info:contains(\"↓50%\")": 0.50
|
||||
"div.group_info:contains(\"↓25%\")": 0.25 # for this site this is the count ratio, which is 25% of the total torrent size. (I.E. it's 75% free)
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 0.6
|
||||
minimumseedtime:
|
||||
|
||||
@@ -69,7 +69,7 @@ settings:
|
||||
default: "Retention rules:<ol><li>[Veteran User] and above will be retained forever.</li><li>[Elite User] and above will not be deleted after parking their accounts (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 are both 0) will have their accounts deleted if they do not log in for 40 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because the form method did not work when first the indexer was created.
|
||||
# using cookie method because the site uses Safeline WAF protection
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
|
||||
@@ -254,7 +254,7 @@ search:
|
||||
- name: append
|
||||
args: ".{{ .Result.year }}.{{ .Result._episode_info }}.{{ .Result._format }}.{{ .Result._encoding }}.{{ .Result._media }}{{ if eq .Result._hdr \"True\" }}.HDR{{ else }}{{ end }}.{{ if eq .Result._hdr10plus \"True\" }}.HDR10+{{ else }}{{ end }}.{{ if eq .Result._dovi \"True\" }}.DoVi{{ else }}{{ end }}"
|
||||
- name: append
|
||||
args: "{{ if or (eq .Result._vf2 \"True\") (eq .Result._vff \"True\") (eq .Result._vfq \"True\") (eq .Result._vfi \"True\") (eq .Result._vf \"True\") }}.MULTI{{ else }}{{ end }}"
|
||||
args: "{{ if or (eq .Result._vf2 \"True\") (or (eq .Result._vff \"True\") (or (eq .Result._vfq \"True\") (or (eq .Result._vfi \"True\") (eq .Result._vf \"True\")))) }}.MULTI{{ else }}{{ end }}"
|
||||
- name: re_replace
|
||||
args: ["(\\.MULTI)\\1", ".MULTI"]
|
||||
- name: append
|
||||
|
||||
@@ -192,4 +192,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP vv1.8.7 2023-08-22
|
||||
# NexusPHP v1.8.15 2024-11-23
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: hdtorrentsit
|
||||
name: HDTorrents.it
|
||||
name: HDTorrents.it (API)
|
||||
description: "HDTorrents.it is an ITALIAN Private PAY2DL site for TV / MOVIES"
|
||||
language: it-IT
|
||||
type: private
|
||||
|
||||
@@ -5,8 +5,10 @@ description: "HHanClub is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://hhanclub.top/
|
||||
- https://hhan.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -19,6 +21,7 @@ caps:
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片"}
|
||||
- {id: 401, cat: Movies, desc: "电影"}
|
||||
- {id: 412, cat: Audio/Video, desc: "短剧"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -78,7 +81,7 @@ login:
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: <?php echo $secret ?>
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
@@ -93,8 +96,10 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
# required to bypass validation check
|
||||
followredirect: true
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat[]{{.}}=1&{{end}}"
|
||||
$raw: "{{ range .Categories }}cat[]={{.}}&{{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
|
||||
@@ -108,10 +113,21 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
keywordsfilters:
|
||||
# strip episode
|
||||
- name: re_replace
|
||||
args: ["\\b(S\\d{2,})?(?:E\\d{2,})\\b", "$1"]
|
||||
|
||||
rows:
|
||||
selector: div.w-full:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
_episode_number:
|
||||
selector: div.torrent-title > div > div
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "第(\\d+(?:-\\d+)?)集"
|
||||
category:
|
||||
selector: a[href^="?cat[]="]
|
||||
attribute: href
|
||||
@@ -120,6 +136,9 @@ search:
|
||||
args: cat[]
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\b(S\\d+)\\b", "{{ if .Result._episode_number }}$1E{{ .Result._episode_number }}{{ else }}$1{{ end }}"]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
@@ -173,11 +192,12 @@ search:
|
||||
span.promotion-tag-free2up: 2
|
||||
span.promotion-tag-2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# global MR is 0.8 but torrents must be seeded for 2 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.8
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: div.torrent-title > div > div
|
||||
# NexusPHP v1.8.6 2023-08-15 (customised)
|
||||
|
||||
@@ -59,6 +59,10 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "To not get disabled, you are required to login to the site at least once every 30 days or be actively seeding at least 2 torrent."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -136,6 +140,8 @@ search:
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
@@ -151,7 +157,7 @@ search:
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " -10:00" # HAST
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
@@ -181,9 +187,7 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 7.0
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.4
|
||||
# json UNIT3D 8.3.5
|
||||
|
||||
@@ -64,10 +64,10 @@ settings:
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
1: name
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
|
||||
@@ -96,7 +96,7 @@ search:
|
||||
cat: "{{ if .Keywords }}{{ re_replace .Config.category-id \"all\" \"\" }}{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
selector: table > tbody > tr:has(a[href^="/torrent/"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
|
||||
@@ -174,6 +174,9 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.6 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.6
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
|
||||
@@ -65,7 +65,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account disabled: 30 days of inactivity and no torrent seeding. Pruned Account: Has been disabled for 30 days, which is 60 days of inactivity in total."
|
||||
default: "To not get disabled, you are required to login to the site at least once every 90 days or be actively seeding at least 1 torrent."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -197,7 +197,10 @@ search:
|
||||
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 8.3.4 (custom)
|
||||
# json UNIT3D 8.3.5 (custom)
|
||||
|
||||
@@ -60,7 +60,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You must seed at least 1 torrent or log in every 30 days to avoid being pruned."
|
||||
default: "You must seed at least 1 torrent or log in every 90 days to avoid being pruned."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
@@ -41,6 +41,13 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: useragent
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info
|
||||
label: How to get the User-Agent
|
||||
default: "<ol><li>Access 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>'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: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -63,6 +70,9 @@ download:
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
paths:
|
||||
# 20 rows per page
|
||||
- path: "{{ if .Keywords }}usearch/{{ .Keywords }}/{{ else }}new/{{ end }}?sortby={{ .Config.sort }}&sort={{ .Config.type }}"
|
||||
@@ -73,6 +83,8 @@ search:
|
||||
|
||||
error:
|
||||
- selector: h1:contains("403 Forbidden")
|
||||
message:
|
||||
text: "Site returned 403 Forbidden. Try updating your indexer config with a new/different user-agent."
|
||||
|
||||
rows:
|
||||
selector: table.data tr.odd:has(a[class="cellMainLink"]), table.data tr.even:has(a[class="cellMainLink"])
|
||||
|
||||
@@ -26,7 +26,7 @@ caps:
|
||||
- {id: 24, cat: Audio, desc: "Karaoke: All Karaoke"}
|
||||
- {id: 78, cat: Audio, desc: "Dj-Only: Dj-Music"}
|
||||
- {id: 47, cat: Movies/BluRay, desc: "Movies: Bluray-HD"}
|
||||
- {id: 28, cat: Movies, desc: "Movies: 2024"}
|
||||
- {id: 28, cat: Movies, desc: "Movies: 2025"}
|
||||
- {id: 25, cat: Movies/WEB-DL, desc: "Movies: Web-DL"}
|
||||
- {id: 52, cat: Movies, desc: "Classic Movies: Pre90s"}
|
||||
- {id: 48, cat: Movies/SD, desc: "Movies: AVI-XVID-Dvdrip"}
|
||||
|
||||
@@ -200,4 +200,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.14 2024-09-24
|
||||
# NexusPHP v1.8.15 2024-12-10
|
||||
|
||||
@@ -22,14 +22,14 @@ caps:
|
||||
- {id: 42, cat: Movies/Other, desc: "Films: Shorts [TMDB UnListed]"}
|
||||
- {id: 17, cat: TV/Documentary, desc: "Films: Documentary"}
|
||||
- {id: 12, cat: Movies/Other, desc: "Films: FanEdits/Restorations"}
|
||||
- {id: 27, cat: Movies/Foreign, desc: "Films SP1: Dub or Vid issues"}
|
||||
- {id: 27, cat: Movies/Foreign, desc: "Films SP1: Dubs/Cams/Vid Issues"}
|
||||
- {id: 22, cat: Movies/Foreign, desc: "Films SP2: No English"}
|
||||
- {id: 28, cat: Movies/Other, desc: "Films SP3: Other"}
|
||||
- {id: 8, cat: Movies/Other, desc: "Anime: Films"}
|
||||
- {id: 9, cat: TV/Anime, desc: "Anime: Series/OVAs"}
|
||||
- {id: 2, cat: TV, desc: "Series/TV: General"}
|
||||
- {id: 2, cat: TV, desc: "Series/TV: Complete Seasons"}
|
||||
- {id: 41, cat: TV, desc: "Series/TV: Single Episodes"}
|
||||
- {id: 31, cat: TV/Foreign, desc: "Series/TV SP1: Dub"}
|
||||
- {id: 31, cat: TV/Foreign, desc: "Series/TV SP1: video issues or Dub"}
|
||||
- {id: 29, cat: TV/Foreign, desc: "Series/TV SP2: No English"}
|
||||
- {id: 32, cat: TV/Other, desc: "Series/TV SP3: Other"}
|
||||
- {id: 38, cat: TV/Other, desc: "Series/TV [TMDB unlisted]"}
|
||||
@@ -43,7 +43,8 @@ caps:
|
||||
- {id: 37, cat: TV/Other, desc: "Culture: Firearms and Freedom"}
|
||||
- {id: 36, cat: TV/Other, desc: "Culture: Roms"}
|
||||
- {id: 6, cat: XXX, desc: "Mature: NSFW [TMDB Listed]"}
|
||||
- {id: 30, cat: XXX, desc: "Mature: NSFW [TMDB UnListed]"}
|
||||
- {id: 45, cat: XXX, desc: "Mature: NSFW No ENG Subs"}
|
||||
- {id: 30, cat: XXX, desc: "Mature: NSFW [UnListed]"}
|
||||
- {id: 15, cat: XXX/Pack, desc: "Mature: NSFW MegaPacks"}
|
||||
- {id: 10, cat: XXX, desc: "Mature: Hentai"}
|
||||
- {id: 14, cat: XXX/Other, desc: "Mature: Creators Corner"}
|
||||
@@ -95,7 +96,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You are required to log in once per month. We will be purging user accounts via automated script set at an undisclosed interval."
|
||||
default: "You must log in once every 60 days.You must download at least 1 item within your first month."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
---
|
||||
id: lastfiles
|
||||
name: LastFiles
|
||||
description: "LastFiles (LF) is a ROMANIAN Private Torrent Tracker for 0DAY / GENERAL"
|
||||
description: "LastFiles (LF) is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ro-RO
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://lastfiles.ro/
|
||||
- https://www.last-torrents.org/
|
||||
legacylinks:
|
||||
- http://last-torrents.org/
|
||||
- https://last-torrents.org/
|
||||
- https://www.lastfiles.ro/
|
||||
- http://www.lastfiles.ro/
|
||||
- http://www.last-torrents.org/
|
||||
- https://last-torrents.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -38,12 +39,13 @@ caps:
|
||||
- {id: 24, cat: Movies/SD, desc: "Movies: XVID", default: true}
|
||||
- {id: 25, cat: Movies/SD, desc: "Movies: XVID-Ro", default: true}
|
||||
- {id: 26, cat: PC/0day, desc: "Software", default: true}
|
||||
- {id: 27, cat: XXX, desc: "Movies: XXX", default: false}
|
||||
- {id: 27, cat: XXX/x264, desc: "Movies: XXX", default: false}
|
||||
- {id: 28, cat: Audio, desc: "Music", default: true}
|
||||
- {id: 30, cat: PC/Games, desc: "Games: PC-ISO", default: true}
|
||||
- {id: 31, cat: Movies/UHD, desc: "Movies: 4K", default: true}
|
||||
- {id: 32, cat: Movies/UHD, desc: "Movies: 4K-Ro", default: true}
|
||||
- {id: 32, cat: Movies/UHD, desc: "Movies: 4KRo", default: true}
|
||||
- {id: 33, cat: PC/Games, desc: "Games: Packs", default: true}
|
||||
- {id: 34, cat: XXX/Pack, desc: "XXX Pack", default: false}
|
||||
- {id: 42, cat: TV/Sport, desc: "Sport", default: true}
|
||||
- {id: 43, cat: Books, desc: "Documents", default: true}
|
||||
- {id: 44, cat: Other, desc: "Images", default: true}
|
||||
@@ -53,10 +55,7 @@ caps:
|
||||
- {id: 55, cat: Movies/WEB-DL, desc: "Movies: WEB-DL Ro", default: true}
|
||||
- {id: 56, cat: TV/Documentary, desc: "Documentary", default: true}
|
||||
- {id: 57, cat: TV/Documentary, desc: "Documentary-Ro", default: true}
|
||||
- {id: 58, cat: Movies/SD, desc: "Movies: Cam", default: true}
|
||||
- {id: 59, cat: Movies/SD, desc: "Movies: Cam-Ro", default: true}
|
||||
- {id: 61, cat: Movies/3D, desc: "Movies: 3D", default: true}
|
||||
- {id: 62, cat: Movies/3D, desc: "Movies: 3D-Ro", default: true}
|
||||
- {id: 60, cat: XXX/ImageSet, desc: "ImagesXXX", default: false}
|
||||
- {id: 81, cat: Movies/HD, desc: "Movies: x265-Ro", default: true}
|
||||
- {id: 82, cat: Movies/HD, desc: "Movies: x265", default: true}
|
||||
|
||||
@@ -84,83 +83,101 @@ settings:
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Accounts inactive for more than 42 days are automatically deleted."
|
||||
# - name: sort
|
||||
# type: select
|
||||
# label: Sort requested from site
|
||||
# default: 3
|
||||
# options:
|
||||
# 3: created
|
||||
# 6: seeders
|
||||
# 4: 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
|
||||
path: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
name: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
submitme: Login!
|
||||
use_ssl: 1
|
||||
perm_ssl: 1
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: td.embedded:contains("Login failed")
|
||||
- selector: div.alert-danger:contains("Invalid credentials")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php?hash_please="]
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.last-torrents.org/browse.php?search=the+nun+ii&searchin=title&type=0&cat=+
|
||||
# cannot support imdbid or tmdbid searches while using path category filters
|
||||
- path: browse.php
|
||||
categories: [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 30, 31, 32, 33, 42, 43, 44, 49, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 81, 82]
|
||||
- path: browseadult.php
|
||||
categories: [27]
|
||||
# https://www.last-torrents.org/torrents?keyword=tt8337290&category=32&genre=&torrent_status=free
|
||||
- path: torrents
|
||||
categories: [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 30, 31, 32, 33, 42, 43, 44, 49, 51, 54, 55, 56, 57, 81, 82]
|
||||
- path: torrents/adult
|
||||
categories: [27, 34, 60]
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.Genre }}{{ .Query.Genre }} {{ else }}{{ end }}{{ .Keywords }}"
|
||||
# title, genre, all
|
||||
searchin: "{{ if .Query.Genre }}all{{ else }}title{{ end }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 free, 4 silver, 5 seedbox
|
||||
type: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
# sort and type can only be used in a non-search query due to conflicting parameters
|
||||
# sort: "{{ .Config.sort }}"
|
||||
# type: "{{ .Config.type }}"
|
||||
# does not support multi categories, leaving out category keyword defaults to all
|
||||
keyword: "{{ .Keywords }}"
|
||||
# active, dead, free, double, seedbox
|
||||
torrent_status: "{{ if .Config.freeleech }}free{{ else }}active{{ end }}"
|
||||
# has sort for size and seeders but not for title or date
|
||||
|
||||
rows:
|
||||
selector: div.py-3
|
||||
filters:
|
||||
- name: andmatch
|
||||
selector: table.table-striped > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
selector: img[src*="images/categories/"], img[src*="images/categoriesNORMALE/"]
|
||||
attribute: src
|
||||
case:
|
||||
# not all categories are available at the moment, so some are deduced and unconfirmed
|
||||
img[src$="/anime.png"]: 1
|
||||
img[src$="/anime-ro.png"]: 2
|
||||
img[src$="/bluray.png"]: 5
|
||||
img[src$="/bluray-ro.png"]: 6
|
||||
img[src$="/dvd.png"]: 9
|
||||
img[src$="/dvd-ro.png"]: 10
|
||||
img[src$="/hd.png"]: 11
|
||||
img[src$="/hd-ro.png"]: 12
|
||||
img[src$="/hdtve.png"]: 13
|
||||
img[src$="/hdtve-ro.png"]: 14
|
||||
img[src$="/oldies.png"]: 16
|
||||
img[src$="/oldies-ro.png"]: 17
|
||||
img[src$="/pack.png"]: 18
|
||||
img[src$="/pack-ro.png"]: 19
|
||||
img[src$="/tvepisode.png"]: 20
|
||||
img[src$="/tvepisode-ro.png"]: 21
|
||||
img[src$="/rocontent.png"]: 22
|
||||
img[src$="/xvid.png"]: 24
|
||||
img[src$="/xvid-ro.png"]: 25
|
||||
img[src$="/soft.png"]: 26
|
||||
img[src$="/xxx.png"]: 27
|
||||
img[src$="/music.png"]: 28
|
||||
img[src$="/pciso.png"]: 30
|
||||
img[src$="/4k.png"]: 31
|
||||
img[src$="/4kRO.png"]: 32
|
||||
img[src$="/gpack.png"]: 33
|
||||
img[src$="/xxxpacks.png"]: 34
|
||||
img[src$="/sport.png"]: 42
|
||||
img[src$="/docs.png"]: 43
|
||||
img[src$="/images.png"]: 44
|
||||
img[src$="/misc.png"]: 49
|
||||
img[src$="/android.png"]: 51
|
||||
img[src$="/web-DL.png"]: 54
|
||||
img[src$="/web-DLRO.png"]: 55
|
||||
img[src$="/doc.png"]: 56
|
||||
img[src$="/doc-ro.png"]: 57
|
||||
img[src$="/imagesxxx.png"]: 60
|
||||
img[src$="/x265ro.png"]: 81
|
||||
img[src$="/x265.png"]: 82
|
||||
title:
|
||||
selector: a[href^="t"]
|
||||
selector: a[href*="/torrents/"]
|
||||
details:
|
||||
selector: a[href^="t"]
|
||||
selector: a[href*="/torrents/"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="t"]
|
||||
attribute: title
|
||||
selector: a[href*="/torrents/"]
|
||||
attribute: data-bs-title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) "
|
||||
args: "src='(.+?)'"
|
||||
genre:
|
||||
selector: i:has(a[href$="searchin=genre"]), font[size]
|
||||
selector: div.torrent-genres
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
@@ -171,46 +188,32 @@ search:
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
date_day:
|
||||
selector: div.col-sm-4:nth-of-type(3):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
selector: div.col-sm-4:nth-of-type(3):contains(":"):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM d yyyy, hh:mm tt"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
selector: td:nth-of-type(4) div[title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: timeago
|
||||
size:
|
||||
selector: div.col-sm-4:nth-of-type(4)
|
||||
selector: td:nth-of-type(5)
|
||||
grabs:
|
||||
selector: div.col-sm-3:contains("Completed") b
|
||||
selector: td:nth-of-type(6)
|
||||
seeders:
|
||||
selector: div.col-sm-3:contains("Seeders") b
|
||||
selector: td:nth-of-type(7)
|
||||
leechers:
|
||||
selector: div.col-sm-2:contains("Leechers") b
|
||||
selector: td:nth-of-type(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="half2.png"]: 0.5
|
||||
a#free-btn: 0
|
||||
div.free-btn: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
a#double-btn: 2
|
||||
div.double-btn: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# freeleech 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
# notfree 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
|
||||
case:
|
||||
a#free-btn: 172800
|
||||
"*": 129600
|
||||
# U-232 V5
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# Last Files V1
|
||||
|
||||
@@ -67,6 +67,10 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You must log in once every 90 days or seed at least 5 torrents to avoid having your account deactivated."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -202,4 +206,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.2.0 (custom)
|
||||
# json UNIT3D 8.3.4 (custom)
|
||||
|
||||
@@ -12,25 +12,32 @@ caps:
|
||||
categorymappings:
|
||||
# FILM
|
||||
- {id: 2, cat: Movies/DVD, desc: "FILM DVD"}
|
||||
- {id: 107, cat: Movies, desc: "FILM ANIME"}
|
||||
- {id: 104, cat: Movies, desc: "FILM DVDRip"}
|
||||
- {id: 101, cat: TV/Documentary, desc: "FILM Documentaire"}
|
||||
- {id: 75, cat: Movies/UHD, desc: "FILM 2160 P"}
|
||||
- {id: 63, cat: Movies/WEB-DL, desc: "FILM WEB"}
|
||||
- {id: 75, cat: Movies/UHD, desc: "FILM 2160 P"}
|
||||
- {id: 101, cat: TV/Documentary, desc: "FILM Documentaire"}
|
||||
- {id: 104, cat: Movies, desc: "FILM DVDRip"}
|
||||
- {id: 107, cat: Movies, desc: "FILM ANIME"}
|
||||
- {id: 111, cat: Movies, desc: "FILM Nouveautés 2024"}
|
||||
- {id: 116, cat: Movies, desc: "FILM Nouveautés 2025"}
|
||||
- {id: 118, cat: Movies, desc: "FILM Nouveautés de l'année en cou"}
|
||||
# - {id: 126, cat: Movies, desc: "FILM "}
|
||||
- {id: 66, cat: Movies/HD, desc: "FILM HDRip"}
|
||||
- {id: 34, cat: Movies/SD, desc: "FILM TVRip"}
|
||||
- {id: 33, cat: Movies/SD, desc: "FILM HDTV"}
|
||||
- {id: 31, cat: Movies/Other, desc: "FILM MUET"}
|
||||
- {id: 30, cat: Movies/Foreign, desc: "FILM VOST"}
|
||||
- {id: 29, cat: Movies/SD, desc: "FILM VHS"}
|
||||
- {id: 28, cat: Movies/HD, desc: "FILM 720"}
|
||||
- {id: 27, cat: Movies/HD, desc: "FILM BDRip"}
|
||||
- {id: 26, cat: Movies/BluRay, desc: "FILM BluRay"}
|
||||
- {id: 25, cat: Movies/BluRay, desc: "FILM ISO"}
|
||||
- {id: 4, cat: Movies/HD, desc: "FILM 1080"}
|
||||
- {id: 111, cat: Movies, desc: "FILM Nouveautés 2024"}
|
||||
- {id: 25, cat: Movies/BluRay, desc: "FILM ISO"}
|
||||
- {id: 26, cat: Movies/BluRay, desc: "FILM BluRay"}
|
||||
- {id: 27, cat: Movies/HD, desc: "FILM BDRip"}
|
||||
- {id: 28, cat: Movies/HD, desc: "FILM 720"}
|
||||
- {id: 29, cat: Movies/SD, desc: "FILM VHS"}
|
||||
- {id: 30, cat: Movies/Foreign, desc: "FILM VOST"}
|
||||
- {id: 31, cat: Movies/Other, desc: "FILM MUET"}
|
||||
- {id: 33, cat: Movies/SD, desc: "FILM HDTV"}
|
||||
# - {id: 127, cat: Movies, desc: "FILM "}
|
||||
# SERIE
|
||||
- {id: 9, cat: TV/SD, desc: "SERIE DVD"}
|
||||
- {id: 119, cat: TV, desc: "SERIE Nouveautés de l'année en cou"}
|
||||
- {id: 117, cat: TV, desc: "SERIE Nouveautés 2025"}
|
||||
- {id: 110, cat: TV, desc: "SERIE Nouveautés 2024"}
|
||||
- {id: 108, cat: TV/HD, desc: "SERIE BlueRay"}
|
||||
- {id: 106, cat: TV/Anime, desc: "SERIE ANIME"}
|
||||
- {id: 105, cat: TV, desc: "SERIE Pack"}
|
||||
@@ -45,28 +52,33 @@ caps:
|
||||
- {id: 15, cat: TV/WEB-DL, desc: "SERIE WEB.1080p"}
|
||||
- {id: 14, cat: TV/WEB-DL, desc: "SERIE WEB.720p"}
|
||||
- {id: 12, cat: TV/WEB-DL, desc: "SERIE WEB"}
|
||||
- {id: 110, cat: TV, desc: "SERIE Nouveautés 2024"}
|
||||
- {id: 125, cat: TV, desc: "SERIE Nouveautés de l'année actuel"}
|
||||
# ANIMEE
|
||||
- {id: 113, cat: TV/Anime, desc: "ANIMEE Nouveautées 2024"}
|
||||
- {id: 114, cat: Movies/Other, desc: "ANIMEE Fim"}
|
||||
- {id: 115, cat: TV/Anime, desc: "ANIMEE Serie"}
|
||||
- {id: 120, cat: TV/Anime, desc: "ANIMEE Nouveautés de l'année en cou"}
|
||||
# LOGICIELS
|
||||
- {id: 56, cat: PC/ISO, desc: "LOGICIELS Linux"}
|
||||
- {id: 24, cat: PC/Mac, desc: "LOGICIELS Apple"}
|
||||
- {id: 58, cat: PC/0day, desc: "LOGICIELS Windows"}
|
||||
- {id: 121, cat: PC, desc: "LOGICIELS Nouveautés de l'année en co"}
|
||||
# EBOOK
|
||||
- {id: 44, cat: Books/Mags, desc: "EBOOK Journaux"}
|
||||
- {id: 46, cat: Books/Technical, desc: "EBOOK Documents"}
|
||||
- {id: 48, cat: XXX/Other, desc: "EBOOK XXX"}
|
||||
- {id: 49, cat: Books/EBook, desc: "EBOOK Livres"}
|
||||
- {id: 122, cat: Books, desc: "EBOOK Nouveautés de l'année en cou"}
|
||||
# MUSIC
|
||||
- {id: 5, cat: Audio/Video, desc: "MUSIC clip video"}
|
||||
- {id: 109, cat: Audio/Video, desc: "MUSIC Spectacles.Theatre"}
|
||||
- {id: 112, cat: Audio/Video, desc: "MUSIC Concert filmé"}
|
||||
- {id: 124, cat: Audio/Video, desc: "MUSIC Nouveautés de l'année en cou"}
|
||||
# JEUX
|
||||
- {id: 96, cat: PC/Games, desc: "JEUX Apple"}
|
||||
- {id: 8, cat: Console/PS3, desc: "JEUX PS3"}
|
||||
- {id: 45, cat: PC/Games, desc: "JEUX PC"}
|
||||
- {id: 123, cat: Console, desc: "JEUX Nouveautés de l'année en cou"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: locadora
|
||||
name: Locadora
|
||||
name: Locadora (API)
|
||||
description: "Locadora is a BRAZILIAN Private Tracker for MOVIES, TV and ANIME"
|
||||
language: pt-BR
|
||||
type: private
|
||||
@@ -58,7 +58,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Accounts inactive for 90 days are deactivated."
|
||||
default: "Accounts that are inactive for 90 days are deactivated."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
@@ -19,6 +19,7 @@ caps:
|
||||
- {id: 8, cat: XXX, desc: "XXX"}
|
||||
- {id: 9, cat: Books/EBook, desc: "Ebook/Manga"}
|
||||
- {id: 10, cat: Other, desc: "Education"}
|
||||
- {id: 11, cat: Movies/Other, desc: "FANRES"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -112,9 +112,13 @@ caps:
|
||||
- {id: 212, cat: Books, desc: "Ship's documentation"}
|
||||
- {id: 190, cat: Books, desc: "Catalogs"}
|
||||
- {id: 191, cat: Books, desc: "Maritime Law"}
|
||||
- {id: 329, cat: Books, desc: "Maritime Law-Lloyd's, ABS, BV, DNV-GL, TÜV, NKK, RMRS and other approvals"}
|
||||
- {id: 240, cat: Books, desc: "Maritime Law-IMO Resolutions"}
|
||||
- {id: 329, cat: Books, desc: "Maritime Law-Lloyd's, ABS, BV, DNV-GL, TÜV, NKK, RMRS and other approvals"}
|
||||
- {id: 113, cat: Books, desc: "Medicine"}
|
||||
- {id: 391, cat: Books, desc: "Sailing First Aid"}
|
||||
- {id: 390, cat: Books, desc: "Sailing Infectious Diseases and Viruses"}
|
||||
- {id: 392, cat: Books, desc: "Sailing English for Medical Professionals"}
|
||||
- {id: 393, cat: Books, desc: "Sailing Mental health & Stress"}
|
||||
- {id: 299, cat: Books, desc: "Sailing Kitchen"}
|
||||
- {id: 11, cat: Books, desc: "Section for cadets"}
|
||||
- {id: 285, cat: Books, desc: "Section for cadets-Encyclopedias and atlases"}
|
||||
@@ -132,11 +136,8 @@ caps:
|
||||
- {id: 340, cat: Books, desc: "Examinations-Text books"}
|
||||
- {id: 339, cat: Books, desc: "Examinations-Miscellaneous"}
|
||||
- {id: 99, cat: Audio, desc: "Audio"}
|
||||
- {id: 375, cat: Audio, desc: "Audio-Documentary"}
|
||||
- {id: 374, cat: Audio, desc: "Audio-Historical literature"}
|
||||
- {id: 286, cat: Audio, desc: "Audio-Fantastic"}
|
||||
- {id: 373, cat: Audio, desc: "Audio-Fiction"}
|
||||
- {id: 287, cat: Audio, desc: "Audio-Non-Fiction"}
|
||||
- {id: 373, cat: Audio, desc: "Audio-Fiction"}
|
||||
- {id: 288, cat: Audio, desc: "Audio-♬ Music"}
|
||||
- {id: 111, cat: Books, desc: "Yachting, sailing, boating"}
|
||||
- {id: 389, cat: Books, desc: "Yachting, sailing, boating-Sailboat terminology"}
|
||||
|
||||
@@ -200,7 +200,7 @@ search:
|
||||
- name: regexp
|
||||
args: f=(\d+)
|
||||
title:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
# Ukrainian
|
||||
@@ -282,7 +282,7 @@ search:
|
||||
- name: re_replace
|
||||
args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)", "$2 $1"]
|
||||
details:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="./dl.php?id="]
|
||||
|
||||
@@ -187,4 +187,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.3
|
||||
# json UNIT3D 8.3.5
|
||||
|
||||
@@ -97,6 +97,8 @@ settings:
|
||||
options:
|
||||
false: desc
|
||||
true: asc
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: oldtoonsworld
|
||||
name: Oldtoons
|
||||
name: Oldtoons (API)
|
||||
description: "Oldtoons is a Private Torrent Tracker for Cartoon MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
@@ -190,4 +190,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.3.3
|
||||
# json UNIT3D 8.3.4
|
||||
|
||||
@@ -192,4 +192,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.14 2024-10-04
|
||||
# NexusPHP v1.8.13 2024-09-21
|
||||
|
||||
@@ -8,19 +8,20 @@ description: "OxTorrent-vip is a French Public site for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.protege-torrent.com/Oxtorrent
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.oxtorrent.gy/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
- https://oxtorrent.blog/
|
||||
- https://www.torrent.onl/
|
||||
- https://www.site-torrent.com/
|
||||
# domain lists no longer working
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# latest domains list
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.site-torrent.com/
|
||||
- https://www.rantop.org/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.torrent.onl/
|
||||
- https://oxtorrent.blog/
|
||||
# actual legacylinks
|
||||
- https://www.oxtorrent.nl/
|
||||
- https://www.oxtorrent.sbs/
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "Peeratiko is a GREEK Private Torrent Tracker for MOVIES / TV / GEN
|
||||
language: el-GR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- b1e9d7885688c0c4123768c2c091e3c1e0a1aead # Expired 24th Dec 2024
|
||||
links:
|
||||
- https://peeratiko.org/
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ settings:
|
||||
default: "Account retention rules:<ul><li>Nexus Master users and above will be retained forever</li><li>Elite User users and above will not have their accounts deleted after parking their accounts (in the control panel)</li><li>Users who have parked their accounts will be deleted if they do not log in for 180 consecutive days</li><li>Users whose accounts have not been parked will have their accounts deleted if they do not log in for 90 consecutive days</li><li>Users who have no traffic for 7 consecutive days or who have not logged in for 30 consecutive days (that is, the upload/download data are both 0) will be automatically banned by the system.</li></ul>"
|
||||
|
||||
login:
|
||||
# using cookie method because site regularly disables login page for certain events during the year #14310
|
||||
# using cookie method because site uses Safeline WAF protection
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: polishtorrent
|
||||
name: Polish Torrent
|
||||
name: Polish Torrent (API)
|
||||
description: "Polish Torrent (PTT) is a POLISH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: pl-PL
|
||||
type: private
|
||||
@@ -10,9 +10,10 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 33, cat: Movies, desc: "iNTERNAL"}
|
||||
- {id: 6, cat: PC/0day, desc: "Aplikacje/Programy"}
|
||||
- {id: 31, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 4, cat: Movies, desc: "Bajki"}
|
||||
- {id: 31, cat: TV/Anime, desc: "Anime/Seriale"}
|
||||
- {id: 30, cat: TV, desc: "TV Seriale Bajki"}
|
||||
- {id: 1, cat: Movies/HD, desc: "Filmy HD"}
|
||||
- {id: 13, cat: Movies/DVD, desc: "DVD5/9"}
|
||||
@@ -27,9 +28,9 @@ caps:
|
||||
- {id: 19, cat: Other, desc: "Inne"}
|
||||
- {id: 8, cat: Audio, desc: "Muzyka"}
|
||||
- {id: 11, cat: Movies, desc: "Paczki"}
|
||||
- {id: 27, cat: TV/Other, desc: "Teatr Telewizyjny"}
|
||||
- {id: 25, cat: Audio/Audiobook, desc: "Audiobook"}
|
||||
- {id: 20, cat: Books, desc: "Book"}
|
||||
- {id: 25, cat: Audio/Audiobook, desc: "Audiobook"}
|
||||
- {id: 27, cat: TV/Other, desc: "Teatr Telewizyjny"}
|
||||
- {id: 21, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 29, cat: Movies, desc: "Stare Filmy"}
|
||||
- {id: 22, cat: TV/SD, desc: "TV Seriale SD"}
|
||||
@@ -39,6 +40,7 @@ caps:
|
||||
- {id: 2, cat: TV/UHD, desc: "TV 4K"}
|
||||
- {id: 15, cat: Movies, desc: "Filmy bez lektora"}
|
||||
- {id: 7, cat: XXX, desc: "XXX 18+"}
|
||||
- {id: 32, cat: Movies/Other, desc: "Anime/Filmy"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -93,7 +95,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "<ul><li>Your account must be at least 90 days old to be subject to deactivation.</li><li>Last Login: You must be inactive for at least 90 days for your account to be deactivated.</li><li>Soft deletion of accounts: Deactivated user accounts will be soft deleted 120 days after deactivation.</li><li>User Groups: Accounts belonging to the following user groups may be automatically deactivated: Leech, User, PowerUser and SuperUser.</li><li>Please do not disregard the above information and log in to your account regularly to avoid deactivation.</li></ul>"
|
||||
default: "Accounts that are inactive for 3 months will be moved to the 'Disabled' group. Strict restrictions are imposed on this group. If the account is still inactive after being moved to this group, it will be permanently blocked without the possibility of unblocking. Simply logging in and browsing the site does not count as an active account. Required activity: downloading/uploading torrents, possibly activity on the forum."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -111,7 +113,6 @@ search:
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
noResultsMessage: "No Torrents Found"
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
@@ -228,7 +229,9 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.0 (custom)
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.3.4 (custom)
|
||||
|
||||
@@ -21,9 +21,9 @@ caps:
|
||||
- {id: 508, cat: XXX, desc: "Классические фильмы / Classic"}
|
||||
- {id: 555, cat: XXX, desc: "Фильмы с сюжетом / Feature & Vignettes"}
|
||||
- {id: 1845, cat: XXX, desc: "Гонзо-фильмы 1991-2010 / Gonzo 1991-2010"}
|
||||
- {id: 1673, cat: XXX, desc: "Гонзо-фильмы 2011-2024 / Gonzo 2011-2024"}
|
||||
- {id: 1673, cat: XXX, desc: "Гонзо-фильмы 2011-2025 / Gonzo 2011-2025"}
|
||||
- {id: 1112, cat: XXX, desc: "Фильмы без сюжета 1991-2010 / All Sex & Amateur 1991-2010"}
|
||||
- {id: 1718, cat: XXX, desc: "Фильмы без сюжета 2011-2024 / All Sex & Amateur 2011-2024"}
|
||||
- {id: 1718, cat: XXX, desc: "Фильмы без сюжета 2011-2025 / All Sex & Amateur 2011-2025"}
|
||||
- {id: 553, cat: XXX, desc: "Лесбо-фильмы / All Girl & Solo"}
|
||||
- {id: 1143, cat: XXX, desc: "Этнические фильмы / Ethnic-Themed"}
|
||||
- {id: 1646, cat: XXX, desc: "Видео для телефонов и КПК / Pocket РС & Phone Video"}
|
||||
@@ -41,8 +41,8 @@ caps:
|
||||
- {id: 1675, cat: XXX/Pack, desc: "Паки русских порнороликов / Russian Clips Packs"}
|
||||
- {id: 36, cat: XXX, desc: "Сайтрипы с русскими актрисами 1991-2015 / Russian SiteRip's 1991-2015"}
|
||||
- {id: 1830, cat: XXX, desc: "Сайтрипы с русскими актрисами 1991-2015 (HD Video) / Russian SiteRip's 1991-2015 (HD Video)"}
|
||||
- {id: 1803, cat: XXX, desc: "Сайтрипы с русскими актрисами 2016-2024 / Russian SiteRip's 2016-2024"}
|
||||
- {id: 1831, cat: XXX, desc: "Сайтрипы с русскими актрисами 2016-2024 (HD Video) / Russian SiteRip's 2016-2024 (HD Video)"}
|
||||
- {id: 1803, cat: XXX, desc: "Сайтрипы с русскими актрисами 2016-2025 / Russian SiteRip's 2016-2025"}
|
||||
- {id: 1831, cat: XXX, desc: "Сайтрипы с русскими актрисами 2016-2025 (HD Video) / Russian SiteRip's 2016-2025 (HD Video)"}
|
||||
- {id: 1741, cat: XXX, desc: "Русские Порноролики Разное / Russian Clips (various)"}
|
||||
- {id: 1676, cat: XXX, desc: "Русское любительское видео / Russian Amateur Video"}
|
||||
|
||||
@@ -64,6 +64,7 @@ caps:
|
||||
- {id: 1857, cat: XXX, desc: "Сайтрипы 2022 (HD Video) / SiteRip's 2022 (HD Video)"}
|
||||
- {id: 1861, cat: XXX, desc: "Сайтрипы 2023 (HD Video) / SiteRip's 2023 (HD Video)"}
|
||||
- {id: 1867, cat: XXX, desc: "Сайтрипы 2024 (HD Video) / SiteRip's 2024 (HD Video)"}
|
||||
- {id: 1872, cat: XXX, desc: "Сайтрипы 2025 (HD Video) / SiteRip's 2025 (HD Video)"}
|
||||
- {id: 1451, cat: XXX, desc: "Сайтрипы 1991-2010 / SiteRip's 1991-2010"}
|
||||
- {id: 1788, cat: XXX, desc: "Сайтрипы 2011-2012 / SiteRip's 2011-2012"}
|
||||
- {id: 1789, cat: XXX, desc: "Сайтрипы 2013 / SiteRip's 2013"}
|
||||
@@ -78,6 +79,7 @@ caps:
|
||||
- {id: 1856, cat: XXX, desc: "Сайтрипы 2022 / SiteRip's 2022"}
|
||||
- {id: 1862, cat: XXX, desc: "Сайтрипы 2023 / SiteRip's 2023"}
|
||||
- {id: 1868, cat: XXX, desc: "Сайтрипы 2024 / SiteRip's 2024"}
|
||||
- {id: 1873, cat: XXX, desc: "Сайтрипы 2025 / SiteRip's 2025"}
|
||||
- {id: 1707, cat: XXX, desc: "Сцены из фильмов / Movie Scenes (кроме SiteRip)"}
|
||||
- {id: 284, cat: XXX, desc: "Порноролики Разное / Clips (various)"}
|
||||
- {id: 1853, cat: XXX, desc: "Компиляции и Музыкальные порно клипы / Compilations & Porn Music Video (PMV)"}
|
||||
@@ -87,7 +89,7 @@ caps:
|
||||
- {id: 1801, cat: XXX/Pack, desc: "Паки японских фильмов и сайтрипов / Full Length Japanese Movies Packs & SiteRip's Packs"}
|
||||
- {id: 1719, cat: XXX, desc: "Японские фильмы и сайтрипы (DVD и HD Video) / Japanese Movies & SiteRip's (DVD & HD Video)"}
|
||||
- {id: 997, cat: XXX, desc: "Японские фильмы и сайтрипы 1991-2014 / Japanese Movies & SiteRip's 1991-2014"}
|
||||
- {id: 1818, cat: XXX, desc: "Японские фильмы и сайтрипы 2015-2024 / Japanese Movies & SiteRip's 2015-2024"}
|
||||
- {id: 1818, cat: XXX, desc: "Японские фильмы и сайтрипы 2015-2025 / Japanese Movies & SiteRip's 2015-2025"}
|
||||
- {id: 1849, cat: XXX, desc: "Китайские фильмы и сайтрипы (DVD и HD Video) / Chinese Movies & SiteRip's (DVD & HD Video)"}
|
||||
- {id: 1815, cat: XXX, desc: "Архив (Японское и китайское порно)"}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ description: Postman is a Public I2P Torrent Tracker for MOVIES / TV / GENERAL
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 4
|
||||
links:
|
||||
- http://tracker2.postman.i2p/
|
||||
|
||||
@@ -50,6 +51,13 @@ settings:
|
||||
5: seeders
|
||||
7: size
|
||||
|
||||
login:
|
||||
path: index.php?view=Main
|
||||
selectorinputs:
|
||||
formtoken:
|
||||
selector: input[name="formtoken"]
|
||||
attribute: value
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php
|
||||
|
||||
@@ -180,6 +180,9 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.25 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.25
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
|
||||
@@ -183,4 +183,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.13 2024-09-21
|
||||
# NexusPHP v1.8.15 2024-12-23
|
||||
|
||||
@@ -194,4 +194,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.20 2022-08-05
|
||||
# NexusPHP v1.8.13 2024-09-21
|
||||
|
||||
@@ -173,4 +173,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.13 2024-08-09
|
||||
# NexusPHP v1.8.15 2024-12-10
|
||||
|
||||
@@ -193,7 +193,7 @@ search:
|
||||
- name: querystring
|
||||
args: f
|
||||
title:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
@@ -245,7 +245,7 @@ search:
|
||||
- name: append
|
||||
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="./download.php?id="]
|
||||
@@ -311,5 +311,5 @@ search:
|
||||
minimumratio:
|
||||
text: 0.3
|
||||
description:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
# TorrentPier
|
||||
|
||||
@@ -164,6 +164,9 @@ search:
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 3 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60) for Single episodes
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60) for Packs
|
||||
|
||||
@@ -188,4 +188,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.8 2023-09-25
|
||||
# NexusPHP v1.8.13 2024-09-13
|
||||
|
||||
@@ -186,4 +186,4 @@ search:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# json UNIT3D 8.3.4
|
||||
# json UNIT3D 8.3.5
|
||||
|
||||
@@ -36,18 +36,8 @@ caps:
|
||||
- {id: 450, cat: TV/Sport, desc: " |- VIP November 2023"}
|
||||
- {id: 451, cat: TV/Sport, desc: " |- VIP December 2023"}
|
||||
# Олимпийские игры / Olympic Games
|
||||
- {id: 465, cat: TV/Sport, desc: "Зимние Олимпийские игры 2022 /..."}
|
||||
- {id: 473, cat: TV/Sport, desc: " |- Церемонии"}
|
||||
- {id: 483, cat: TV/Sport, desc: " |- Биатлон"}
|
||||
- {id: 485, cat: TV/Sport, desc: " |- Фигурное катание"}
|
||||
- {id: 467, cat: TV/Sport, desc: " |- Лыжный спорт"}
|
||||
- {id: 474, cat: TV/Sport, desc: " |- Хоккей"}
|
||||
- {id: 475, cat: TV/Sport, desc: " |- Конькобежный спорт/Шорт-трек"}
|
||||
- {id: 484, cat: TV/Sport, desc: " |- Бобслей/Санный спорт/Скелетон"}
|
||||
- {id: 481, cat: TV/Sport, desc: " |- Сноуборд/Фристайл/Кёрлинг"}
|
||||
- {id: 482, cat: TV/Sport, desc: " |- Обзорные и тематические..."}
|
||||
- {id: 476, cat: TV/Sport, desc: " |- Архив - Олимпиады прошлых лет"}
|
||||
- {id: 464, cat: TV/Sport, desc: "Летние Олимпийские игры / Summer..."}
|
||||
- {id: 464, cat: TV/Sport, desc: "Летние Олимпийские игры / 2024 /..."}
|
||||
- {id: 440, cat: TV/Sport, desc: " |- VIP-Extra Olympics 2024"}
|
||||
- {id: 486, cat: TV/Sport, desc: " |- Церемонии"}
|
||||
- {id: 487, cat: TV/Sport, desc: " |- Футбол"}
|
||||
- {id: 489, cat: TV/Sport, desc: " |- Баскетбол"}
|
||||
@@ -63,10 +53,21 @@ caps:
|
||||
- {id: 327, cat: TV/Sport, desc: " |- Борьба и единоборства"}
|
||||
- {id: 292, cat: TV/Sport, desc: " |- Другие виды спорта"}
|
||||
- {id: 304, cat: TV/Sport, desc: " |- Обзорные и тематические..."}
|
||||
- {id: 431, cat: TV/Sport, desc: " |- Архив - Олимпиады прошлых лет"}
|
||||
- {id: 465, cat: TV/Sport, desc: "Зимние Олимпийские игры 2022 /..."}
|
||||
- {id: 473, cat: TV/Sport, desc: " |- Церемонии"}
|
||||
- {id: 483, cat: TV/Sport, desc: " |- Биатлон"}
|
||||
- {id: 485, cat: TV/Sport, desc: " |- Фигурное катание"}
|
||||
- {id: 467, cat: TV/Sport, desc: " |- Лыжный спорт"}
|
||||
- {id: 474, cat: TV/Sport, desc: " |- Хоккей"}
|
||||
- {id: 475, cat: TV/Sport, desc: " |- Конькобежный спорт/Шорт-трек"}
|
||||
- {id: 484, cat: TV/Sport, desc: " |- Бобслей/Санный спорт/Скелетон"}
|
||||
- {id: 481, cat: TV/Sport, desc: " |- Сноуборд/Фристайл/Кёрлинг"}
|
||||
- {id: 482, cat: TV/Sport, desc: " |- Обзорные и тематические..."}
|
||||
- {id: 476, cat: TV/Sport, desc: " |- Архив - Олимпиады прошлых лет"}
|
||||
# Футбол / Football
|
||||
- {id: 163, cat: TV/Sport, desc: "EURO 2024 / Чемпионат Европы 2024"}
|
||||
- {id: 132, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 4K EURO 2024"}
|
||||
- {id: 521, cat: TV/Sport, desc: " |- ⚽️VIP-Extra SAT FEED EURO 2024"}
|
||||
- {id: 508, cat: TV/Sport, desc: " |- ⚽️VIP EURO 2024"}
|
||||
- {id: 497, cat: TV/Sport, desc: " |- VIP-Light UEFA EURO 2024"}
|
||||
- {id: 513, cat: TV/Sport, desc: " |- UEFA EURO 2024"}
|
||||
@@ -87,6 +88,28 @@ caps:
|
||||
- {id: 136, cat: TV/Sport, desc: " |- FIFA WC 2018. Qualifiers"}
|
||||
- {id: 217, cat: TV/Sport, desc: " |- FIFA WC 2018. Reviews"}
|
||||
- {id: 458, cat: TV/Sport, desc: " |- VIP-Extra Archive FIFA WC 2018 Qualifiers"}
|
||||
- {id: 452, cat: TV/Sport, desc: "2024-25 UEFA Champions League"}
|
||||
- {id: 558, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 4k + Sat Feed UCL"}
|
||||
- {id: 346, cat: TV/Sport, desc: " |- ⚽️VIP-Extra UCL 2024-25"}
|
||||
- {id: 415, cat: TV/Sport, desc: " |- ⚽️VIP UCL 2024-25"}
|
||||
- {id: 569, cat: TV/Sport, desc: " |- VIP-Light UCL 2024-25"}
|
||||
- {id: 158, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 159, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 232, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 160, cat: TV/Sport, desc: "2024-25 UEFA Europa League"}
|
||||
- {id: 347, cat: TV/Sport, desc: " |- ⚽️VIP-Extra UEL 2024-25"}
|
||||
- {id: 512, cat: TV/Sport, desc: " |- ⚽️VIP UEL 2024-25"}
|
||||
- {id: 570, cat: TV/Sport, desc: " |- VIP-Light UEL 2024-25"}
|
||||
- {id: 161, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 162, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 231, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 48, cat: TV/Sport, desc: "2024–25 UEFA Europa Conference League"}
|
||||
- {id: 521, cat: TV/Sport, desc: " |- ⚽️VIP-Extra UEFA ECL"}
|
||||
- {id: 442, cat: TV/Sport, desc: " |- ⚽️VIP 2024-25 UEFA ECL"}
|
||||
- {id: 517, cat: TV/Sport, desc: " |- VIP-Light 2024-25 UEFA ECL"}
|
||||
- {id: 405, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 536, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 249, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 578, cat: TV/Sport, desc: "2023-24 UEFA Champions League"}
|
||||
- {id: 13, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 4k + Sat Feed UCL"}
|
||||
- {id: 511, cat: TV/Sport, desc: " |- ⚽️VIP-Extra UCL 2023-24"}
|
||||
@@ -97,60 +120,39 @@ caps:
|
||||
- {id: 340, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 339, cat: TV/Sport, desc: "2023-24 UEFA Europa League"}
|
||||
- {id: 12, cat: TV/Sport, desc: " |- ⚽️VIP-Extra UEL 2023-24"}
|
||||
- {id: 512, cat: TV/Sport, desc: " |- ⚽️VIP UEL 2023-24"}
|
||||
- {id: 570, cat: TV/Sport, desc: " |- VIP-Light UEL 2023-24"}
|
||||
- {id: 345, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 343, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 341, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 315, cat: TV/Sport, desc: "2023-24 UEFA Europa Conference League"}
|
||||
- {id: 419, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 2023-24 UEFA ECL"}
|
||||
- {id: 442, cat: TV/Sport, desc: " |- ⚽️VIP 2023-24 UEFA Europa Conference League"}
|
||||
- {id: 517, cat: TV/Sport, desc: " |- VIP-Light 2023-24 UEFA Europa Conference League"}
|
||||
- {id: 114, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 165, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 164, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 452, cat: TV/Sport, desc: "2022-23 UEFA Champions League"}
|
||||
- {id: 558, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 4k + Sat Feed UCL"}
|
||||
- {id: 346, cat: TV/Sport, desc: " |- ⚽️VIP-Extra UCL 2022-23"}
|
||||
- {id: 415, cat: TV/Sport, desc: " |- ⚽️VIP UCL 2022-23"}
|
||||
- {id: 569, cat: TV/Sport, desc: " |- VIP-Light UCL 2022-23"}
|
||||
- {id: 158, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 159, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 232, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 160, cat: TV/Sport, desc: "2022-23 UEFA Europa League"}
|
||||
- {id: 347, cat: TV/Sport, desc: " |- ⚽️VIP-Extra UEL 2022-23"}
|
||||
- {id: 161, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 162, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 231, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 48, cat: TV/Sport, desc: "2022–23 UEFA Europa Conference League"}
|
||||
- {id: 405, cat: TV/Sport, desc: " |- Qualifying Rounds"}
|
||||
- {id: 536, cat: TV/Sport, desc: " |- Group stage"}
|
||||
- {id: 249, cat: TV/Sport, desc: " |- Play-off"}
|
||||
- {id: 3, cat: TV/Sport, desc: "Англия/England"}
|
||||
- {id: 407, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 4k England"}
|
||||
- {id: 561, cat: TV/Sport, desc: " |- ⚽️VIP-Extra EPL Classic"}
|
||||
- {id: 223, cat: TV/Sport, desc: " |- ⚽️VIP England"}
|
||||
- {id: 553, cat: TV/Sport, desc: " |- VIP-Light England"}
|
||||
- {id: 54, cat: TV/Sport, desc: " |- Premier League 2024-25"}
|
||||
- {id: 538, cat: TV/Sport, desc: " |- Premier League 2023-24"}
|
||||
- {id: 412, cat: TV/Sport, desc: " |- National Cups 2023-24"}
|
||||
- {id: 418, cat: TV/Sport, desc: " |- Championship+ 2023-24"}
|
||||
- {id: 54, cat: TV/Sport, desc: " |- Premier League 2022-23"}
|
||||
- {id: 412, cat: TV/Sport, desc: " |- National Cups 2024-25"}
|
||||
- {id: 418, cat: TV/Sport, desc: " |- Championship+ 2024-25"}
|
||||
- {id: 351, cat: TV/Sport, desc: " |- Championship+"}
|
||||
- {id: 53, cat: TV/Sport, desc: " |- National Cups up to 2023"}
|
||||
- {id: 55, cat: TV/Sport, desc: " |- Previous years matches"}
|
||||
- {id: 2, cat: TV/Sport, desc: "Россия/СССР - Russia/USSR"}
|
||||
- {id: 562, cat: TV/Sport, desc: " |- VIP-Light Russia"}
|
||||
- {id: 57, cat: TV/Sport, desc: " |- RPL 2024-25"}
|
||||
- {id: 496, cat: TV/Sport, desc: " |- FNL 2024-25"}
|
||||
- {id: 423, cat: TV/Sport, desc: " |- National Cups 2024-25"}
|
||||
- {id: 251, cat: TV/Sport, desc: " |- RPL 2023-24"}
|
||||
- {id: 496, cat: TV/Sport, desc: " |- FNL 2023-24"}
|
||||
- {id: 423, cat: TV/Sport, desc: " |- National Cups 2023-24"}
|
||||
- {id: 57, cat: TV/Sport, desc: " |- RPL 2022-23"}
|
||||
- {id: 56, cat: TV/Sport, desc: " |- National Cups up to 2023"}
|
||||
- {id: 56, cat: TV/Sport, desc: " |- National Cups up to 2025"}
|
||||
- {id: 46, cat: TV/Sport, desc: " |- Previous years matches"}
|
||||
- {id: 8, cat: TV/Sport, desc: "Украина/Ukraine"}
|
||||
- {id: 563, cat: TV/Sport, desc: " |- VIP-Light Ukraine"}
|
||||
- {id: 72, cat: TV/Sport, desc: " |- UPL 2023-24"}
|
||||
- {id: 152, cat: TV/Sport, desc: " |- National Cups 2022-23"}
|
||||
- {id: 410, cat: TV/Sport, desc: " |- UPL 2022-23"}
|
||||
- {id: 72, cat: TV/Sport, desc: " |- UPL 2024-25"}
|
||||
- {id: 152, cat: TV/Sport, desc: " |- National Cups 2024-25"}
|
||||
- {id: 410, cat: TV/Sport, desc: " |- UPL 2023-24"}
|
||||
- {id: 71, cat: TV/Sport, desc: " |- National Cups up to 2023"}
|
||||
- {id: 348, cat: TV/Sport, desc: " |- Lower leagues"}
|
||||
- {id: 70, cat: TV/Sport, desc: " |- Previous years matches"}
|
||||
@@ -160,30 +162,30 @@ caps:
|
||||
- {id: 506, cat: TV/Sport, desc: " |- ⚽️VIP-Extra El Clasico"}
|
||||
- {id: 208, cat: TV/Sport, desc: " |- ⚽️VIP Spain"}
|
||||
- {id: 564, cat: TV/Sport, desc: " |- VIP-Light Spain"}
|
||||
- {id: 58, cat: TV/Sport, desc: " |- Primera Division 2024-25"}
|
||||
- {id: 424, cat: TV/Sport, desc: " |- National Cups 2024-25"}
|
||||
- {id: 194, cat: TV/Sport, desc: " |- Primera Division 2023-24"}
|
||||
- {id: 424, cat: TV/Sport, desc: " |- National Cups 2023-24"}
|
||||
- {id: 58, cat: TV/Sport, desc: " |- Primera Division 2022-23"}
|
||||
- {id: 59, cat: TV/Sport, desc: " |- National Cups up to 2023"}
|
||||
- {id: 59, cat: TV/Sport, desc: " |- National Cups up to 2025"}
|
||||
- {id: 353, cat: TV/Sport, desc: " |- Segunda, Segunda B"}
|
||||
- {id: 60, cat: TV/Sport, desc: " |- Previous years matches"}
|
||||
- {id: 6, cat: TV/Sport, desc: "Германия/Germany"}
|
||||
- {id: 555, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 4k+ Germany"}
|
||||
- {id: 210, cat: TV/Sport, desc: " |- ⚽️VIP Germany"}
|
||||
- {id: 565, cat: TV/Sport, desc: " |- VIP-Light Germany"}
|
||||
- {id: 66, cat: TV/Sport, desc: " |- Bundesliga 2024-25"}
|
||||
- {id: 352, cat: TV/Sport, desc: " |- National Cups 2024-25"}
|
||||
- {id: 175, cat: TV/Sport, desc: " |- Bundesliga 2023-24"}
|
||||
- {id: 352, cat: TV/Sport, desc: " |- National Cups 2023-24"}
|
||||
- {id: 66, cat: TV/Sport, desc: " |- Bundesliga 2022-23"}
|
||||
- {id: 355, cat: TV/Sport, desc: " |- 2. Bundesliga"}
|
||||
- {id: 65, cat: TV/Sport, desc: " |- National Cups up to 2023"}
|
||||
- {id: 65, cat: TV/Sport, desc: " |- National Cups up to 2025"}
|
||||
- {id: 427, cat: TV/Sport, desc: " |- Lower leagues"}
|
||||
- {id: 64, cat: TV/Sport, desc: " |- Previous years matches"}
|
||||
- {id: 5, cat: TV/Sport, desc: "Италия/Italy"}
|
||||
- {id: 529, cat: TV/Sport, desc: " |- ⚽️VIP-Extra Italy"}
|
||||
- {id: 209, cat: TV/Sport, desc: " |- ⚽️VIP Italy"}
|
||||
- {id: 566, cat: TV/Sport, desc: " |- VIP-Light Italy"}
|
||||
- {id: 63, cat: TV/Sport, desc: " |- Serie A 2024-25"}
|
||||
- {id: 196, cat: TV/Sport, desc: " |- National Cups 2024-25"}
|
||||
- {id: 174, cat: TV/Sport, desc: " |- Serie A 2023-24"}
|
||||
- {id: 196, cat: TV/Sport, desc: " |- National Cups 2023-24"}
|
||||
- {id: 63, cat: TV/Sport, desc: " |- Serie A 2022-23"}
|
||||
- {id: 354, cat: TV/Sport, desc: " |- Serie B, Lega Pro, Serie D"}
|
||||
- {id: 62, cat: TV/Sport, desc: " |- National Cups up to 2023"}
|
||||
- {id: 540, cat: TV/Sport, desc: " |- 1996-97 Juventus Classic"}
|
||||
@@ -192,16 +194,16 @@ caps:
|
||||
- {id: 184, cat: TV/Sport, desc: " |- ⚽️VIP-Extra 4k + Sat Feed"}
|
||||
- {id: 211, cat: TV/Sport, desc: " |- ⚽️VIP France"}
|
||||
- {id: 567, cat: TV/Sport, desc: " |- VIP-Light France"}
|
||||
- {id: 176, cat: TV/Sport, desc: " |- Ligue 1 2023-24"}
|
||||
- {id: 176, cat: TV/Sport, desc: " |- Ligue 1 2024-25"}
|
||||
- {id: 133, cat: TV/Sport, desc: " |- National Cups 2023-24"}
|
||||
- {id: 69, cat: TV/Sport, desc: " |- Ligue 1 2022-23"}
|
||||
- {id: 69, cat: TV/Sport, desc: " |- Ligue 1 2023-24"}
|
||||
- {id: 428, cat: TV/Sport, desc: " |- Ligue 2"}
|
||||
- {id: 68, cat: TV/Sport, desc: " |- National Cups up to 2023"}
|
||||
- {id: 67, cat: TV/Sport, desc: " |- Previous years matches"}
|
||||
- {id: 188, cat: TV/Sport, desc: "Нидерланды/Netherlands"}
|
||||
- {id: 189, cat: TV/Sport, desc: " |- VIP-Extra Eredividie"}
|
||||
- {id: 568, cat: TV/Sport, desc: " |- VIP Netherlands"}
|
||||
- {id: 356, cat: TV/Sport, desc: " |- Season 2023-24"}
|
||||
- {id: 356, cat: TV/Sport, desc: " |- Season 2024-25"}
|
||||
- {id: 190, cat: TV/Sport, desc: " |- National Cups"}
|
||||
- {id: 191, cat: TV/Sport, desc: " |- Previous years matches"}
|
||||
- {id: 9, cat: TV/Sport, desc: "Другие национальные чемпионаты..."}
|
||||
@@ -289,13 +291,14 @@ caps:
|
||||
- {id: 241, cat: TV/Sport, desc: " |- Copa Libertadores"}
|
||||
- {id: 367, cat: TV/Sport, desc: " |- Copa Sudamericana"}
|
||||
- {id: 390, cat: TV/Sport, desc: " |- AFC Club Competitions"}
|
||||
- {id: 417, cat: TV/Sport, desc: " |- CAF Competitions"}
|
||||
- {id: 10, cat: TV/Sport, desc: "Международные турниры/National Team..."}
|
||||
- {id: 466, cat: TV/Sport, desc: " |- VIP-Extra International"}
|
||||
- {id: 213, cat: TV/Sport, desc: " |- VIP International"}
|
||||
- {id: 527, cat: TV/Sport, desc: " |- VIP-Extra 2024 Copa America"}
|
||||
- {id: 560, cat: TV/Sport, desc: " |- VIP-Extra 2023 Sudamericano U20 + U17"}
|
||||
- {id: 560, cat: TV/Sport, desc: " |- VIP 2024 Copa America"}
|
||||
- {id: 202, cat: TV/Sport, desc: " |- VIP-Light 2024 Copa America"}
|
||||
- {id: 575, cat: TV/Sport, desc: " |- VIP CHAN 2023"}
|
||||
- {id: 575, cat: TV/Sport, desc: " |- 2024 Copa America"}
|
||||
- {id: 532, cat: TV/Sport, desc: " |- 2023 Africa Cup of Nations"}
|
||||
- {id: 422, cat: TV/Sport, desc: " |- 2021 Copa America"}
|
||||
- {id: 155, cat: TV/Sport, desc: " |- Copa America"}
|
||||
@@ -303,7 +306,7 @@ caps:
|
||||
- {id: 406, cat: TV/Sport, desc: " |- FIFA Confederations Cups"}
|
||||
- {id: 239, cat: TV/Sport, desc: " |- Africa Cup of Nations"}
|
||||
- {id: 507, cat: TV/Sport, desc: " |- AFC Asian Cups"}
|
||||
- {id: 393, cat: TV/Sport, desc: " |- Sudamericano U-20"}
|
||||
- {id: 393, cat: TV/Sport, desc: " |- Sudamericano"}
|
||||
- {id: 462, cat: TV/Sport, desc: " |- VIP-Extra 2023 Africa Cup of Nations"}
|
||||
- {id: 16, cat: TV/Sport, desc: "Товарищеские турниры и матчи/Frie..."}
|
||||
- {id: 387, cat: TV/Sport, desc: " |- ⚽️VIP-Extra Friendlies"}
|
||||
@@ -327,12 +330,12 @@ caps:
|
||||
- {id: 21, cat: TV/Sport, desc: "Хоккей"}
|
||||
- {id: 501, cat: TV/Sport, desc: " |- VIP-Extra ЧМ 2024 U-18 / IIHF WС 2024 U-18"}
|
||||
- {id: 420, cat: TV/Sport, desc: " |- ЧМ 2024 / IIHF WС 2024"}
|
||||
- {id: 445, cat: TV/Sport, desc: " |- NHL 2023/24"}
|
||||
- {id: 207, cat: TV/Sport, desc: " |- КХЛ 2024/25"}
|
||||
- {id: 391, cat: TV/Sport, desc: " |- NHL 2024/25"}
|
||||
- {id: 445, cat: TV/Sport, desc: " |- NHL 2024/24"}
|
||||
- {id: 444, cat: TV/Sport, desc: " |- КХЛ 2023/24"}
|
||||
- {id: 207, cat: TV/Sport, desc: " |- КХЛ 2022/23"}
|
||||
- {id: 391, cat: TV/Sport, desc: " |- NHL 2022/23"}
|
||||
- {id: 151, cat: TV/Sport, desc: " |- NHL до 2023"}
|
||||
- {id: 47, cat: TV/Sport, desc: " |- КХЛ до 2023"}
|
||||
- {id: 151, cat: TV/Sport, desc: " |- NHL до 2024"}
|
||||
- {id: 47, cat: TV/Sport, desc: " |- КХЛ до 2024"}
|
||||
- {id: 460, cat: TV/Sport, desc: " |- World Championships until 2024"}
|
||||
- {id: 206, cat: TV/Sport, desc: " |- European club championships"}
|
||||
- {id: 222, cat: TV/Sport, desc: " |- Euro Hockey Tour"}
|
||||
@@ -351,10 +354,10 @@ caps:
|
||||
- {id: 203, cat: TV/Sport, desc: " |- Women's basketball"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Теннис"}
|
||||
- {id: 274, cat: TV/Sport, desc: " |- VIP-Extra Tennis"}
|
||||
- {id: 227, cat: TV/Sport, desc: " |- Australian Open 2023"}
|
||||
- {id: 248, cat: TV/Sport, desc: " |- Roland Garros 2023"}
|
||||
- {id: 388, cat: TV/Sport, desc: " |- Wimbledon 2023"}
|
||||
- {id: 459, cat: TV/Sport, desc: " |- US Open 2023"}
|
||||
- {id: 227, cat: TV/Sport, desc: " |- Australian Open 2024"}
|
||||
- {id: 248, cat: TV/Sport, desc: " |- Roland Garros 2024"}
|
||||
- {id: 388, cat: TV/Sport, desc: " |- Wimbledon 2024"}
|
||||
- {id: 459, cat: TV/Sport, desc: " |- US Open 2024"}
|
||||
- {id: 505, cat: TV/Sport, desc: " |- ATP 1000 WT Masters 2023"}
|
||||
- {id: 502, cat: TV/Sport, desc: " |- ATP 250/500 World Tour 2023"}
|
||||
- {id: 504, cat: TV/Sport, desc: " |- WTA Tour 2023"}
|
||||
@@ -481,9 +484,6 @@ caps:
|
||||
# Разное / Other
|
||||
- {id: 229, cat: TV/Sport, desc: "Тестовый форум"}
|
||||
# Администраторский
|
||||
- {id: 417, cat: TV/Sport, desc: "2021-22 UEFA Europa League"}
|
||||
- {id: 431, cat: TV/Sport, desc: " |- VIP-Extra UEL 2016-17"}
|
||||
- {id: 440, cat: TV/Sport, desc: " |- VIP-Extra UСL 2015-16"}
|
||||
- {id: 381, cat: TV/Sport, desc: " |- VIP-Extra UEL 2015-16"}
|
||||
- {id: 557, cat: TV/Sport, desc: " |- VIP-Extra UCL 2014-15"}
|
||||
- {id: 556, cat: TV/Sport, desc: " |- VIP-Extra UEL 2014-15"}
|
||||
|
||||
@@ -175,4 +175,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.3.3
|
||||
# json UNIT3D 8.3.4
|
||||
|
||||
@@ -9,38 +9,38 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://07december.rudub.online/
|
||||
- https://03january.rudub.online/
|
||||
legacylinks:
|
||||
- https://07november.rudub.online/
|
||||
- https://08november.rudub.online/
|
||||
- https://09november.rudub.online/
|
||||
- https://10november.rudub.online/
|
||||
- https://11november.rudub.online/
|
||||
- https://12november.rudub.online/
|
||||
- https://13november.rudub.online/
|
||||
- https://14november.rudub.online/
|
||||
- https://15november.rudub.online/
|
||||
- https://16november.rudub.online/
|
||||
- https://17november.rudub.online/
|
||||
- https://18november.rudub.online/
|
||||
- https://19november.rudub.online/
|
||||
- https://20november.rudub.online/
|
||||
- https://21november.rudub.online/
|
||||
- https://22november.rudub.online/
|
||||
- https://23november.rudub.online/
|
||||
- https://24november.rudub.online/
|
||||
- https://25november.rudub.online/
|
||||
- https://26november.rudub.online/
|
||||
- https://27november.rudub.online/
|
||||
- https://28november.rudub.online/
|
||||
- https://29november.rudub.online/
|
||||
- https://30november.rudub.online/
|
||||
- https://01december.rudub.online/
|
||||
- https://02december.rudub.online/
|
||||
- https://03december.rudub.online/
|
||||
- https://04december.rudub.online/
|
||||
- https://05december.rudub.online/
|
||||
- https://06december.rudub.online/
|
||||
- https://07december.rudub.online/
|
||||
- https://08december.rudub.online/
|
||||
- https://09december.rudub.online/
|
||||
- https://10december.rudub.online/
|
||||
- https://11december.rudub.online/
|
||||
- https://12december.rudub.online/
|
||||
- https://13december.rudub.online/
|
||||
- https://14december.rudub.online/
|
||||
- https://15december.rudub.online/
|
||||
- https://16december.rudub.online/
|
||||
- https://17december.rudub.online/
|
||||
- https://18december.rudub.online/
|
||||
- https://19december.rudub.online/
|
||||
- https://20december.rudub.online/
|
||||
- https://21december.rudub.online/
|
||||
- https://22december.rudub.online/
|
||||
- https://23december.rudub.online/
|
||||
- https://24december.rudub.online/
|
||||
- https://25december.rudub.online/
|
||||
- https://26december.rudub.online/
|
||||
- https://27december.rudub.online/
|
||||
- https://28december.rudub.online/
|
||||
- https://29december.rudub.online/
|
||||
- https://30december.rudub.online/
|
||||
- https://31december.rudub.online/
|
||||
- https://01january.rudub.online/
|
||||
- https://02january.rudub.online/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -11,16 +11,21 @@ links:
|
||||
caps:
|
||||
categorymappings:
|
||||
# Кинематограф movies
|
||||
- {id: 1748, cat: Movies, desc: "Кинематограф Зарубежные фильмы 2025 г."}
|
||||
- {id: 1749, cat: Movies, desc: "Кинематограф Российские фильмы 2025 г."}
|
||||
- {id: 1735, cat: Movies, desc: "Кинематограф Фильмы 2024 года"}
|
||||
- {id: 1736, cat: Movies, desc: "Кинематограф Зарубежные фильмы 2024"}
|
||||
- {id: 1737, cat: Movies/HD, desc: "Кинематограф Зарубежные фильмы 2024 (HD Video)"}
|
||||
- {id: 1738, cat: Movies, desc: "Кинематограф Российские фильмы 2024"}
|
||||
- {id: 1739, cat: Movies/HD, desc: "Кинематограф Российские фильмы 2024 (HD Video)"}
|
||||
- {id: 1695, cat: Movies, desc: "Кинематограф Фильмы 2023 года"}
|
||||
- {id: 1697, cat: Movies, desc: "Кинематограф Зарубежные фильмы (2023)"}
|
||||
- {id: 1696, cat: Movies, desc: "Кинематограф Российские фильмы (2023)"}
|
||||
- {id: 1698, cat: Movies/HD, desc: "Кинематограф Зарубежные фильмы в 720p (2023)"}
|
||||
- {id: 1699, cat: Movies/HD, desc: "Кинематограф Российские фильмы в 720p (2023)"}
|
||||
- {id: 1701, cat: Movies/HD, desc: "Кинематограф Зарубежные фильмы в 1080p (2023)"}
|
||||
- {id: 1702, cat: Movies/HD, desc: "Кинематограф Российские фильмы в 1080р (2023)"}
|
||||
- {id: 1671, cat: Movies, desc: "Кинематограф Фильмы 2022 года"}
|
||||
- {id: 1677, cat: Movies, desc: "Кинематограф Зарубежные фильмы (2022)"}
|
||||
- {id: 1676, cat: Movies, desc: "Кинематограф Российские фильмы (2022)"}
|
||||
- {id: 1675, cat: Movies/HD, desc: "Кинематограф Зарубежные фильмы в 720p (2022)"}
|
||||
@@ -34,13 +39,6 @@ caps:
|
||||
- {id: 1659, cat: Movies/HD, desc: " |- Российские фильмы в 720p (2021)"}
|
||||
- {id: 1658, cat: Movies/HD, desc: " |- Зарубежные фильмы в 1080p (2021)"}
|
||||
- {id: 1657, cat: Movies/HD, desc: " |- Российские фильмы в 1080р (2021)"}
|
||||
- {id: 1564, cat: Movies, desc: "Фильмы 2020 года"}
|
||||
- {id: 1573, cat: Movies, desc: " |- Зарубежные фильмы (2020)"}
|
||||
- {id: 1572, cat: Movies, desc: " |- Российские фильмы (2020)"}
|
||||
- {id: 1571, cat: Movies/HD, desc: " |- Зарубежные фильмы в 720p (2020)"}
|
||||
- {id: 1570, cat: Movies/HD, desc: " |- Российские фильмы в 720p (2020)"}
|
||||
- {id: 1569, cat: Movies/HD, desc: " |- Зарубежные фильмы в 1080p (2020)"}
|
||||
- {id: 1568, cat: Movies/HD, desc: " |- Российские фильмы в 1080р (2020)"}
|
||||
- {id: 1730, cat: Movies, desc: " |- Зарубежные фильмы"}
|
||||
- {id: 1731, cat: Movies/HD, desc: " |- Зарубежные фильмы (HDvideo)"}
|
||||
- {id: 1732, cat: Movies, desc: " |- Российские фильмы"}
|
||||
|
||||
197
src/Jackett.Common/Definitions/samaritano.yml
Normal file
197
src/Jackett.Common/Definitions/samaritano.yml
Normal file
@@ -0,0 +1,197 @@
|
||||
---
|
||||
id: samaritano
|
||||
name: SAMARITANO (API)
|
||||
description: "SAMARITANO is a BRAZILIAN Private tracker for MOVIES / TV / GENERAL"
|
||||
language: pt-BR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://samaritano.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filmes"}
|
||||
- {id: 2, cat: TV, desc: "Séries"}
|
||||
- {id: 3, cat: TV/Anime, desc: "Animes"}
|
||||
- {id: 4, cat: Other, desc: "Cursos"}
|
||||
- {id: 5, cat: Console, desc: "Games"}
|
||||
- {id: 6, cat: Books/EBook, desc: "Livros"}
|
||||
- {id: 7, cat: Books/Comics, desc: "HQs"}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "AudioBooks"}
|
||||
- {id: 9, cat: PC, desc: "Programas"}
|
||||
- {id: 10, cat: Other, desc: "Materiais de Apoio"}
|
||||
|
||||
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://samaritano.cc/\" target=\"_blank\">SAMARITANO</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: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Your account will be considered inactive if you have not logged in to the site for more than 90 days. After 30 days of inactivity (i.e. 30 days without logging in), your account will be removed from the tracker. Please note: The groups that suffer from inactivity are: User and Leech."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Cinema TV)", "Cinema_TV"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Ficção científica)", "Ficção_científica"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.2.0
|
||||
@@ -193,4 +193,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 10 days (as seconds = 10 x 24 x 60 x 60)
|
||||
text: 864000
|
||||
# json UNIT3D 8.2.0 (custom)
|
||||
# json UNIT3D 8.3.5 (custom)
|
||||
|
||||
@@ -224,4 +224,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 6 days (as seconds = 6 x 24 x 60 x 60)
|
||||
text: 518400
|
||||
# json UNIT3D 8.3.3 (custom)
|
||||
# json UNIT3D 8.3.4 (custom)
|
||||
|
||||
@@ -200,4 +200,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# UNIT3D
|
||||
# json UNIT3D v2.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: sktorrent-org
|
||||
name: SkTorrent-org
|
||||
name: SkTorrent.org
|
||||
description: "SkTorrent.org is a Semi-Private torrent site for MOVIES / TV/ GENERAL"
|
||||
language: en-US
|
||||
type: semi-private
|
||||
|
||||
@@ -83,6 +83,7 @@ search:
|
||||
order: "{{ .Config.type }}"
|
||||
limit: 100
|
||||
page: 1
|
||||
allowEmptyInputs: true
|
||||
|
||||
rows:
|
||||
selector: li.search-result:has(a[class="dl-torrent"])
|
||||
@@ -91,7 +92,7 @@ search:
|
||||
category:
|
||||
selector: a.category
|
||||
title:
|
||||
selector: h5
|
||||
selector: h5 a
|
||||
details:
|
||||
selector: h5 a
|
||||
attribute: href
|
||||
|
||||
@@ -535,7 +535,7 @@ search:
|
||||
- name: querystring
|
||||
args: f
|
||||
title:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
@@ -591,7 +591,7 @@ search:
|
||||
- name: append
|
||||
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="./download.php?id="]
|
||||
@@ -615,5 +615,5 @@ search:
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
description:
|
||||
selector: a.genmed
|
||||
selector: a.genmed, a.seedmed
|
||||
# TorrentPier
|
||||
|
||||
@@ -69,6 +69,7 @@ caps:
|
||||
# undocumented
|
||||
- {id: 100, cat: Books, desc: Comics/Magazines"}
|
||||
- {id: 96, cat: Movies, desc: "Animation Releases"}
|
||||
- {id: 26, cat: TV, desc: "Cartoons/Animation"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -1,187 +0,0 @@
|
||||
---
|
||||
id: thesceneplace
|
||||
name: TheScenePlace
|
||||
description: "TheScenePlace (TSP) is a Private site for TV / MOVIES / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.thesceneplace.com/
|
||||
legacylinks:
|
||||
- http://www.thesceneplace.com/ # site is no longer forcing http
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 13, cat: PC, desc: "Apps"}
|
||||
- {id: 15, cat: TV/HD, desc: "TV x264"}
|
||||
- {id: 16, cat: TV/HD, desc: "TV x265"}
|
||||
- {id: 17, cat: TV/SD, desc: "TV XVID"}
|
||||
- {id: 18, cat: TV, desc: "TV PACKS"}
|
||||
- {id: 25, cat: TV, desc: "TV KIDS"}
|
||||
- {id: 38, cat: TV/SD, desc: "TV 480p"}
|
||||
- {id: 20, cat: Movies/HD, desc: "Movies x264"}
|
||||
- {id: 21, cat: Movies/HD, desc: "Movies x265"}
|
||||
- {id: 22, cat: Movies/SD, desc: "Movies XVID"}
|
||||
- {id: 23, cat: Movies, desc: "Movies PACKS"}
|
||||
- {id: 24, cat: Movies, desc: "Movies KIDS"}
|
||||
- {id: 35, cat: Movies/UHD, desc: "Movies 4K/UHD"}
|
||||
- {id: 36, cat: Movies/BluRay, desc: "Movies BluRay"}
|
||||
- {id: 37, cat: Movies/SD, desc: "Movies 480p"}
|
||||
- {id: 27, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 28, cat: Audio/Lossless, desc: "Music FLAC"}
|
||||
- {id: 29, cat: Audio, desc: "Music PACKS"}
|
||||
- {id: 34, cat: Audio, desc: "Music Karaoke "}
|
||||
- {id: 30, cat: Books/EBook, desc: "eBooks"}
|
||||
- {id: 32, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 33, cat: Console, desc: "Games ROMS"}
|
||||
- {id: 39, cat: Other, desc: "Misc"}
|
||||
|
||||
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: 3
|
||||
options:
|
||||
3: created
|
||||
5: seeders
|
||||
4: size
|
||||
2: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: 2
|
||||
options:
|
||||
2: desc
|
||||
1: asc
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ .Keywords }}"
|
||||
category: "{{ range .Categories }}{{.}};{{end}}"
|
||||
# 0 filename, 1 file&descr, 2 descr, 3 uploaders, 5 gold, 6 silver, 7 bronze
|
||||
options: 0
|
||||
# 0 all, 1 active only, 2 dead only
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
# does not support imdbid search and does not return imdb link in results
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: "table.lista > tbody > tr:has(a[href^=\"index.php?page=torrent-details&id=\"]):has(td[width=\"30\"]){{ if .Config.freeleech }}:has(img[src=\"images/freeleech.gif\"]){{ else }}{{ end }}{{ if .Config.freeleech }}, table.lista > tbody > tr:has(a[href^=\"index.php?page=torrent-details&id=\"]):has(td[width=\"30\"]):has(img[src=\"images/gold.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
title_torrent:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
- name: htmldecode
|
||||
- name: re_replace
|
||||
args: ["(?i)\\.torrent$", ""]
|
||||
title_text:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
|
||||
poster:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
- name: replace
|
||||
args: ["torrentimg/nocover.jpg", ""]
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
_uploader:
|
||||
selector: a[href^="index.php?page=userdetails"]
|
||||
optional: true
|
||||
date:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "dd/MM/yyyy"
|
||||
seeders:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td ~ td
|
||||
leechers:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td
|
||||
grabs:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td ~ td
|
||||
size:
|
||||
selector: "td:has(a[href^=\"download.php?id=\"]) ~ td ~ td ~ td ~ td ~ td{{ if .Result._uploader }} ~ td{{ else }}{{ end }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/freeleech.gif"]: 0
|
||||
img[src="images/gold.gif"]: 0
|
||||
img[src="images/silver.gif"]: 0.5
|
||||
img[src="images/bronze.gif"]: 0.75
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="images/2x.gif"]: 2
|
||||
img[src="images/3x.gif"]: 3
|
||||
img[src="images/4x.gif"]: 4
|
||||
img[src="images/5x.gif"]: 5
|
||||
img[src="images/6x.gif"]: 6
|
||||
img[src="images/7x.gif"]: 7
|
||||
img[src="images/8x.gif"]: 8
|
||||
img[src="images/9x.gif"]: 9
|
||||
img[src="images/10x.gif"]: 10
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# xbtitFM v3.1.00
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: tocashare
|
||||
name: Toca Share
|
||||
name: Toca Share (API)
|
||||
description: "Toca Share is a PORTUGUESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: pt-PT
|
||||
type: private
|
||||
|
||||
@@ -13,68 +13,57 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Filme,Movie
|
||||
- {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: 148, cat: Movies/DVD, desc: "Filme DVD/HD2DVD"}
|
||||
- {id: 151, cat: Movies/Other, desc: "Filme Anime"}
|
||||
- {id: 138, cat: Movies/UHD, desc: "Filme Pack UHD"}
|
||||
- {id: 140, cat: Movies/HD, desc: "Filme Pack HD"}
|
||||
- {id: 147, cat: Movies/SD, desc: "Filme Pack SD"}
|
||||
# Serien,Series
|
||||
- {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: 152, cat: TV/Anime, desc: "Serien Anime"}
|
||||
- {id: 59, cat: TV/UHD, desc: "Serien Pack UHD"}
|
||||
- {id: 149, cat: TV/HD, desc: "Serien Pack HD"}
|
||||
- {id: 150, cat: TV/SD, desc: "Serien Pack SD"}
|
||||
# Audio
|
||||
- {id: 110, cat: Audio, desc: "Audio Alben"}
|
||||
- {id: 48, cat: Audio, desc: "Audio Sampler/OST"}
|
||||
- {id: 155, cat: Audio, desc: "Audio Mixe"}
|
||||
- {id: 63, cat: Audio, desc: "Audio Charts/Singles"}
|
||||
- {id: 153, cat: Audio/Lossless, desc: "Audio FLAC"}
|
||||
- {id: 52, cat: Audio/MP3, desc: "Audio Pack mp3"}
|
||||
- {id: 154, cat: Audio/Lossless, desc: "Audio Pack FLAC"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio Videos"}
|
||||
- {id: 162, cat: Audio/Audiobook, desc: "Audio ABooks"}
|
||||
# Software
|
||||
- {id: 12, cat: PC/0day, desc: "Software Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Software Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Software Mobil"}
|
||||
- {id: 141, cat: PC/Mobile-Other, desc: "Software Other"}
|
||||
# Spiele,Games
|
||||
- {id: 17, cat: PC/Games, desc: "Spiele PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiele Konsolen"}
|
||||
- {id: 121, cat: Console, desc: "Spiele Wimmelbild"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiele Mobil"}
|
||||
# Sport
|
||||
- {id: 259, cat: TV/Sport, desc: "Sport UHD"}
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
# Doku
|
||||
- {id: 156, cat: TV/Documentary, desc: "Doku UHD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku Pack UHD"}
|
||||
- {id: 157, cat: TV/Documentary, desc: "Doku Pack HD"}
|
||||
- {id: 158, cat: TV/Documentary, desc: "Doku Pack SD"}
|
||||
# XXX
|
||||
- {id: 160, cat: XXX/UHD, desc: "XXX UHD"}
|
||||
- {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 Pic´s"}
|
||||
- {id: 161, cat: XXX/Other, desc: "XXX ePaper"}
|
||||
# ePaper,Ebooks
|
||||
- {id: 163, cat: Books/Mags, desc: "ePaper Magazine"}
|
||||
- {id: 96, cat: Books/Other, desc: "ePaper Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "ePaper E-Book"}
|
||||
- {id: 137, cat: Books/Comics, desc: "ePaper Comics"}
|
||||
# Other - dummy cat
|
||||
- {id: 0, cat: Other, desc: "Other Other"}
|
||||
- {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: 148, cat: Movies/DVD, desc: "Filme > DVD/HD2DVD"}
|
||||
- {id: 151, cat: Movies/Other, desc: "Filme > Anime"}
|
||||
- {id: 138, cat: Movies/UHD, desc: "Filme > Pack UHD"}
|
||||
- {id: 140, cat: Movies/HD, desc: "Filme > Pack HD"}
|
||||
- {id: 147, cat: Movies/SD, desc: "Filme > Pack SD"}
|
||||
- {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: 152, cat: TV/Anime, desc: "Serien > Anime"}
|
||||
- {id: 59, cat: TV/UHD, desc: "Serien > Pack UHD"}
|
||||
- {id: 149, cat: TV/HD, desc: "Serien > Pack HD"}
|
||||
- {id: 150, cat: TV/SD, desc: "Serien > Pack SD"}
|
||||
- {id: 110, cat: Audio, desc: "Audio > Alben"}
|
||||
- {id: 48, cat: Audio, desc: "Audio > Sampler/OST"}
|
||||
- {id: 155, cat: Audio, desc: "Audio > Mixe"}
|
||||
- {id: 63, cat: Audio, desc: "Audio > Charts/Singles"}
|
||||
- {id: 153, cat: Audio/Lossless, desc: "Audio > FLAC"}
|
||||
- {id: 52, cat: Audio/MP3, desc: "Audio > Pack mp3"}
|
||||
- {id: 154, cat: Audio/Lossless, desc: "Audio > Pack FLAC"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio > Videos"}
|
||||
- {id: 162, cat: Audio/Audiobook, desc: "Audio > ABooks"}
|
||||
- {id: 12, cat: PC/0day, desc: "Software > Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Software > Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Software > Mobil"}
|
||||
- {id: 141, cat: PC/Mobile-Other, desc: "Software > Other"}
|
||||
- {id: 17, cat: PC/Games, desc: "Spiele > PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiele > Konsolen"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiele > Mobil"}
|
||||
- {id: 121, cat: Console, desc: "Spiele > andere"}
|
||||
- {id: 159, cat: TV/Sport, desc: "Sport > UHD"}
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport > HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport > SD"}
|
||||
- {id: 156, cat: TV/Documentary, desc: "Doku > UHD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku > Pack UHD"}
|
||||
- {id: 157, cat: TV/Documentary, desc: "Doku > Pack HD"}
|
||||
- {id: 158, cat: TV/Documentary, desc: "Doku > Pack SD"}
|
||||
- {id: 160, cat: XXX/UHD, desc: "XXX > UHD"}
|
||||
- {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 > Pic´s"}
|
||||
- {id: 161, cat: XXX/Other, desc: "XXX > ePaper"}
|
||||
- {id: 163, cat: Books/Mags, desc: "ePaper > Magazine"}
|
||||
- {id: 96, cat: Books/Other, desc: "ePaper > Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "ePaper > E-Book"}
|
||||
- {id: 137, cat: Books/Comics, desc: "ePaper > Comics"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -94,26 +83,14 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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: onlyupload
|
||||
type: checkbox
|
||||
label: Search OnlyUpload
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: Results Per Page
|
||||
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>.
|
||||
label: About OnlyUpload at Torrent-Explosiv
|
||||
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
|
||||
@@ -131,82 +108,63 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
# https://torrent-explosiv.me/torrents_search.php?ajax=true&search=&page=1&visible=no&free=no&c114=1&c32=1
|
||||
- path: torrents_search.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
ajax: true
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: 2
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
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: div.selection_wrap
|
||||
filters:
|
||||
- name: andmatch
|
||||
selector: $
|
||||
|
||||
fields:
|
||||
category_p1:
|
||||
selector: div.kat_cat_pic_name
|
||||
optional: true
|
||||
default: Other
|
||||
category_p2:
|
||||
selector: div.kat_cat_pic_name_b
|
||||
optional: true
|
||||
default: Other
|
||||
categorydesc:
|
||||
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
|
||||
selector: category
|
||||
filters:
|
||||
- name: replace
|
||||
args: [">", ">"]
|
||||
title:
|
||||
selector: a.selection_a
|
||||
selector: name
|
||||
filters:
|
||||
# remove [REQ] and anything else in [] that prefixes titles
|
||||
- name: re_replace
|
||||
args: ["^\\[[\\w ]*\\]\\s?", ""]
|
||||
args: ["^(\\[.*\\])(.*)", "$2"]
|
||||
_id:
|
||||
selector: id
|
||||
details:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: a[href^="download_ssl.php?torrent="], a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
selector: cover
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
selector: size
|
||||
date:
|
||||
# 25.12.2024 16:02
|
||||
selector: added
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
args: "dd.MM.yyyy HH:mm zzz"
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
selector: leechers
|
||||
_onlyup:
|
||||
selector: free_button:contains(Only Upload)
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": 0 # GLobal Freeleech event
|
||||
"*": 1
|
||||
text: "{{ if .Result._onlyup }}0{{ else }}1{{ end }}"
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
@@ -214,4 +172,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# 3xT
|
||||
# 3xT JSON
|
||||
|
||||
@@ -7,21 +7,21 @@ description: "Torrent9-tel is a FRENCH Public tracker for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.protege-torrent.com/Torrent9
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.torrent9.cv/
|
||||
- https://www.torrent9.ke/
|
||||
legacylinks:
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# latest domains list
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.site-torrent.com/
|
||||
- https://www.rantop.org/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.torrent.onl/
|
||||
- https://torrent9.news/
|
||||
- https://www.site-torrent.com/
|
||||
# domain lists no longer working
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# actual legacylinks
|
||||
- https://www.torrent9.gy/
|
||||
- https://www.torrent9.sbs/
|
||||
- https://www.torrent9.sb/
|
||||
- https://www.torrent9.tf/
|
||||
@@ -37,6 +37,7 @@ legacylinks:
|
||||
- https://www.torrent9.gd/
|
||||
- https://www.torrent9.ing/
|
||||
- https://www.torrent9.run/
|
||||
- https://www.torrent9.cv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
212
src/Jackett.Common/Definitions/torrentgalaxy.yml
Normal file
212
src/Jackett.Common/Definitions/torrentgalaxy.yml
Normal file
@@ -0,0 +1,212 @@
|
||||
---
|
||||
id: torrentgalaxy
|
||||
replaces:
|
||||
- torrentgalaxyorg
|
||||
name: TorrentGalaxy
|
||||
description: "TorrentGalaxy (TGx) is a Public site for TV / MOVIES / GENERAL"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
# https://proxygalaxy.me/ for health status and alternate domains
|
||||
links:
|
||||
- https://torrentgalaxy.to/
|
||||
- https://torrentgalaxy.mx/
|
||||
- https://tgx.rs/
|
||||
legacylinks:
|
||||
- https://torrentgalaxy.org/ # redirects to *.to
|
||||
- https://torrentgalaxy.pw/ # proxy list only
|
||||
- https://tgx.unblocked.monster/
|
||||
- https://torrentgalaxy.su/
|
||||
- https://torrentgalaxy.unblockninja.com/ # breaks on checkpoint
|
||||
- https://tgx.proxyninja.org/ # breaks on checkpoint
|
||||
- https://tgx.sb/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 28, cat: TV/Anime, desc: "Anime - All"}
|
||||
- {id: 20, cat: PC/Mobile-Other, desc: "Apps - Mobile"}
|
||||
- {id: 21, cat: PC, desc: "Apps - Other"}
|
||||
- {id: 18, cat: PC/0day, desc: "Apps - Windows"}
|
||||
- {id: 13, cat: Audio/Audiobook, desc: "Books - Audiobooks"}
|
||||
- {id: 19, cat: Books/Comics, desc: "Books - Comics"}
|
||||
- {id: 12, cat: Books/EBook, desc: "Books - Ebooks"}
|
||||
- {id: 14, cat: Books/Technical, desc: "Books - Education"}
|
||||
- {id: 15, cat: Books/Mags, desc: "Books - Magazine"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "Documentaries - All"}
|
||||
- {id: 43, cat: PC/Mobile-Other, desc: "Games - Mobile"}
|
||||
- {id: 10, cat: PC/Games, desc: "Games - Windows"}
|
||||
- {id: 3, cat: Movies/UHD, desc: "Movies - 4K UHD"}
|
||||
- {id: 46, cat: Movies/Foreign, desc: "Movies - Bollywood"}
|
||||
- {id: 45, cat: Movies/Other, desc: "Movies - CAM/TS"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies - HD"}
|
||||
- {id: 4, cat: Movies, desc: "Movies - Packs"}
|
||||
- {id: 1, cat: Movies/SD, desc: "Movies - SD"}
|
||||
- {id: 22, cat: Audio, desc: "Music - Albums"}
|
||||
- {id: 26, cat: Audio, desc: "Music - Discography"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Music - Lossless"}
|
||||
- {id: 25, cat: Audio/Video, desc: "Music - Musicvideo"}
|
||||
- {id: 24, cat: Audio, desc: "Music - Singles"}
|
||||
- {id: 17, cat: Audio/Other, desc: "Audio - Other"}
|
||||
- {id: 40, cat: Other/Misc, desc: "Other - Other"}
|
||||
- {id: 37, cat: Other, desc: "Other - Pictures"}
|
||||
- {id: 33, cat: Other, desc: "Other - Training"}
|
||||
- {id: 41, cat: TV/HD, desc: "TV - Episodes HD"}
|
||||
- {id: 5, cat: TV/SD, desc: "TV - Episodes SD"}
|
||||
- {id: 11, cat: TV/UHD, desc: "TV - Episodes 4K UHD"}
|
||||
- {id: 6, cat: TV/Other, desc: "TV - Packs"}
|
||||
- {id: 7, cat: TV/Sport, desc: "TV - Sports"}
|
||||
- {id: 35, cat: XXX/x264, desc: "XXX - HD"}
|
||||
- {id: 47, cat: XXX/Other, desc: "XXX - Misc"}
|
||||
- {id: 34, cat: XXX/SD, desc: "XXX - SD"}
|
||||
- {id: 48, cat: XXX/UHD, desc: "XXX - 4K UHD"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: id
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
# https://torrentgalaxy.org/torrents.php?parent_cat=TV&search=mercedes+s02e04&lang=0&sort=id&order=desc
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: ["!", 28, 20, 21, 18, 13, 19, 12, 14, 15, 9, 43, 10, 3, 46, 45, 42, 4, 1, 22, 26, 23, 25, 24, 17, 40, 37, 33, 41, 5, 11, 6, 7, 35, 47, 34, 48]
|
||||
- path: torrents.php
|
||||
categories: [28]
|
||||
inputs:
|
||||
parent_cat: Anime
|
||||
- path: torrents.php
|
||||
categories: [20, 21, 18]
|
||||
inputs:
|
||||
parent_cat: Apps
|
||||
- path: torrents.php
|
||||
categories: [13, 19, 12, 14, 15]
|
||||
inputs:
|
||||
parent_cat: Books
|
||||
- path: torrents.php
|
||||
categories: [9]
|
||||
inputs:
|
||||
parent_cat: Docus
|
||||
- path: torrents.php
|
||||
categories: [43, 10]
|
||||
inputs:
|
||||
parent_cat: Games
|
||||
- path: torrents.php
|
||||
categories: [3, 46, 45, 42, 4, 1]
|
||||
inputs:
|
||||
parent_cat: Movies
|
||||
- path: torrents.php
|
||||
categories: [22, 26, 23, 25, 24]
|
||||
inputs:
|
||||
parent_cat: Music
|
||||
- path: torrents.php
|
||||
categories: [17, 40, 37, 33]
|
||||
inputs:
|
||||
parent_cat: Other
|
||||
- path: torrents.php
|
||||
categories: [41, 5, 11, 6, 7]
|
||||
inputs:
|
||||
parent_cat: TV
|
||||
- path: torrents.php
|
||||
categories: [35, 47, 34, 48]
|
||||
inputs:
|
||||
parent_cat: XXX
|
||||
inputs:
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: div.tgxtable > div:has(div[class^="tgxtablecell shrink"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: div a[href^="/torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_full:
|
||||
selector: div a[href^="/torrent/"]
|
||||
attribute: title
|
||||
# this title text is abbreviated but may be needed when quotes in full title cause empty title #8585
|
||||
title_text:
|
||||
selector: div a[href^="/torrent/"]
|
||||
# fall back title, use href and clean it up
|
||||
title_href:
|
||||
selector: div a[href^="/torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["-quot-", " "]
|
||||
- name: re_replace
|
||||
args: ["-", " "]
|
||||
title:
|
||||
text: "{{ if or .Result.title_full .Result.title_text }}{{ or .Result.title_full .Result.title_text }}{{ else }}{{ .Result.href }}{{ end }}"
|
||||
details:
|
||||
selector: div a[href^="/torrent/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: div a[href^="magnet:?"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=\\'(.+?)\\'
|
||||
imdbid:
|
||||
selector: a[href^="/torrents.php?search=tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: div span[style^="border-radius"]
|
||||
seeders:
|
||||
selector: div span[title="Seeders/Leechers"] font b
|
||||
leechers:
|
||||
selector: div span[title="Seeders/Leechers"] font:nth-child(2) b
|
||||
date_ago:
|
||||
# 20Mins ago
|
||||
optional: true
|
||||
selector: div td:last-of-type:contains("ago")
|
||||
filters:
|
||||
- name: timeago
|
||||
date_year:
|
||||
# 24/12/18 13:55
|
||||
optional: true
|
||||
selector: div td:last-of-type small:contains(":")
|
||||
filters:
|
||||
- name: append
|
||||
args: " -07:00" # PDT
|
||||
- name: dateparse
|
||||
args: "dd/MM/yy HH:mm zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_ago }}{{ or .Result.date_year .Result.date_ago }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: i.fa-exclamation-triangle, i.fa-check
|
||||
attribute: title
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -38,11 +38,35 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- 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
|
||||
@@ -53,7 +77,7 @@ login:
|
||||
error:
|
||||
- selector: div.glavni:has(div.glavni_naslov:contains("Greška"))
|
||||
test:
|
||||
path: browse.php
|
||||
path: index.php
|
||||
selector: a[href*="logout.php"]
|
||||
|
||||
search:
|
||||
@@ -61,17 +85,20 @@ search:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: "{{ if .Query.IMDBID }}2{{ else }}0{{ end }}"
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
sort: 4
|
||||
type: desc
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: div.glavni_txt table > tbody > tr[id^="record-"]
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td.kategorije > a[href^="browse.php?cat="]
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
@@ -102,7 +129,7 @@ search:
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
@@ -128,4 +155,9 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, br, small
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# engine tbd
|
||||
|
||||
@@ -7,13 +7,14 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.torrentkitty.tv/
|
||||
- https://www.torrentkitty.cam/
|
||||
- https://www.torrentkitty.ink/
|
||||
- https://www.torrentkitty.io/
|
||||
- https://www.torrentkitty.vip/
|
||||
- https://www.torrentkitty.app/
|
||||
- https://www.torrentkitty.red/
|
||||
- https://www.torrentkitty.lol/
|
||||
- https://www.torrentkitty.best/
|
||||
- https://www.torrentkitty.ink/
|
||||
- https://torkitty.com/
|
||||
legacylinks:
|
||||
- https://www.torrentkitty.se/
|
||||
|
||||
@@ -59,6 +59,10 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You are required to login to the site at least once every 90 days."
|
||||
|
||||
login:
|
||||
path: login
|
||||
|
||||
@@ -66,7 +66,7 @@ settings:
|
||||
default: 0
|
||||
options:
|
||||
0: added
|
||||
1: name
|
||||
1: title
|
||||
2: size
|
||||
4: seeders
|
||||
- name: type
|
||||
|
||||
@@ -7,13 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq345.com/
|
||||
- https://torrentegg37.com/
|
||||
- https://torrentqq349.com/
|
||||
- https://torrentegg41.com/
|
||||
legacylinks:
|
||||
- https://torrentqq330.com/
|
||||
- https://torrentqq331.com/
|
||||
- https://torrentqq332.com/
|
||||
- https://torrentqq333.com/
|
||||
- https://torrentqq334.com/
|
||||
- https://torrentqq335.com/
|
||||
- https://torrentqq336.com/
|
||||
@@ -34,6 +30,14 @@ legacylinks:
|
||||
- https://torrentegg35.com/
|
||||
- https://torrentegg36.com/
|
||||
- https://torrentqq344.com/
|
||||
- https://torrentegg37.com/
|
||||
- https://torrentqq345.com/
|
||||
- https://torrentegg38.com/
|
||||
- https://torrentqq346.com/
|
||||
- https://torrentegg39.com/
|
||||
- https://torrentqq347.com/
|
||||
- https://torrentegg40.com/
|
||||
- https://torrentqq348.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -1,195 +0,0 @@
|
||||
---
|
||||
id: torrentsectorcrew
|
||||
name: Torrent Sector Crew
|
||||
description: "Torrent Sector Crew (TSC) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://tsctracker.org/
|
||||
legacylinks:
|
||||
- https://tsctracker.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Apps
|
||||
- {id: 65, cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: 107, cat: PC/0day, desc: "Apps Linux"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Apps MAC"}
|
||||
- {id: 109, cat: PC, desc: "Apps Sonstige"}
|
||||
- {id: 134, cat: PC, desc: "Apps Tutorial"}
|
||||
- {id: 22, cat: PC/0day, desc: "Apps Win"}
|
||||
# Audio
|
||||
- {id: 24, cat: Audio/Audiobook, desc: "Audio aBooks"}
|
||||
- {id: 104, cat: Audio, desc: "Audio Disco's"}
|
||||
- {id: 38, cat: Audio/Audiobook, desc: "Audio Hoerspiel"}
|
||||
- {id: 6, cat: Audio, desc: "Audio Musik"}
|
||||
- {id: 29, cat: Audio/Video, desc: "Audio Videos"}
|
||||
# Doku
|
||||
- {id: 130, cat: TV/Documentary, desc: "Doku Bluray"}
|
||||
- {id: 76, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 78, cat: TV/Documentary, desc: "Doku Packs"}
|
||||
- {id: 75, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 113, cat: TV/Documentary, desc: "Doku UHD"}
|
||||
# Filme
|
||||
- {id: 54, cat: Movies/HD, desc: "Filme 1080p"}
|
||||
- {id: 5, cat: Movies/3D, desc: "Filme 3D"}
|
||||
- {id: 55, cat: Movies/HD, desc: "Filme 720p"}
|
||||
- {id: 135, cat: Movies/Other, desc: "Filme Anime"}
|
||||
- {id: 43, cat: Movies/BluRay, desc: "Filme BluRay"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Filme DVDR"}
|
||||
- {id: 120, cat: Movies/Foreign, desc: "Filme Int"}
|
||||
- {id: 119, cat: Movies, desc: "Filme Remux"}
|
||||
- {id: 36, cat: Movies/HD, desc: "Filme SD"}
|
||||
- {id: 121, cat: Movies/UHD, desc: "Filme UHD"}
|
||||
- {id: 124, cat: Movies/UHD, desc: "Filme UHD Remux"}
|
||||
# Serien
|
||||
- {id: 143, cat: TV/Anime, desc: "Serien Anime HD"}
|
||||
- {id: 138, cat: TV/Anime, desc: "Serien Anime Pack HD"}
|
||||
- {id: 139, cat: TV/Anime, desc: "Serien Anime Pack SD"}
|
||||
- {id: 112, cat: TV/Anime, desc: "Serien Anime SD"}
|
||||
- {id: 128, cat: TV/HD, desc: "Serien Bluray"}
|
||||
- {id: 129, cat: TV/SD, desc: "Serien DVDR"}
|
||||
- {id: 140, cat: TV/HD, desc: "Serien HD 1080p"}
|
||||
- {id: 141, cat: TV/HD, desc: "Serien HD 720p"}
|
||||
- {id: 72, cat: TV/Foreign, desc: "Serien Int"}
|
||||
- {id: 125, cat: TV/HD, desc: "Serien Pack HD"}
|
||||
- {id: 68, cat: TV/SD, desc: "Serien Pack SD"}
|
||||
- {id: 126, cat: TV/UHD, desc: "Serien Pack UHD"}
|
||||
- {id: 66, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 127, cat: TV/UHD, desc: "Serien UHD"}
|
||||
# Sonstige
|
||||
- {id: 133, cat: PC/0day, desc: "Sonstige 0Day"}
|
||||
- {id: 117, cat: Other, desc: "Sonstige Diverses"}
|
||||
- {id: 28, cat: Books, desc: "Sonstige eBooks"}
|
||||
- {id: 42, cat: TV/Sport, desc: "Sonstige Sport"}
|
||||
- {id: 137, cat: TV/Sport, desc: "Sonstige Sport-Int"}
|
||||
- {id: 103, cat: Other, desc: "Sonstige Tutorials"}
|
||||
- {id: 64, cat: XXX, desc: "Sonstige XXX"}
|
||||
# Spiele
|
||||
- {id: 37, cat: Console/NDS, desc: "Spiele Nintendo"}
|
||||
- {id: 4, cat: PC/Games, desc: "Spiele PC"}
|
||||
- {id: 58, cat: Console/PS4, desc: "Spiele PSX"}
|
||||
- {id: 116, cat: Other, desc: "Spiele Sonstige"}
|
||||
- {id: 50, cat: Console/XBox, desc: "Spiele XBOX"}
|
||||
|
||||
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: pin
|
||||
type: text
|
||||
label: Pin
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "<ol><li>Only the Classic profile is supported.</li><li>Make sure to set the <b>TorrentList-Layout</b> option in your profile to <b>Klassisches Layout, sehr breite Darstellung.</b></li><li>And for best results set the <b>Torrents pro Seite</b> to <b>100.</b></li></ol>"
|
||||
- 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
|
||||
|
||||
login:
|
||||
path: landing.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
pin: "{{ .Config.pin }}"
|
||||
error:
|
||||
- selector: "#login_box_desc"
|
||||
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 all, 2 dead
|
||||
incldead: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "table.tablebrowse > tbody > tr:has(a[href^=\"download_ssl.php\"]){{ if .Config.freeleech }}:has(font[color=\"#730d1e\"]:contains(\"[OnlyUpload]\")){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[title][href^="details.php"]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[title][href^="details.php"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download_ssl.php"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a.thumbnail > span > img
|
||||
attribute: src
|
||||
grabs:
|
||||
selector: td:nth-child(10)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
files:
|
||||
selector: a[href*="&filelist=1"]
|
||||
seeders:
|
||||
selector: td:has(a[href*="&toseeders="])
|
||||
leechers:
|
||||
selector: td:has(a[href*="&todlers="])
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\s", " "]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyyHH:mm:ss zzz"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"font[color=\"#730d1e\"]:contains(\"[OnlyUpload]\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 0.8
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# engine n/a
|
||||
@@ -7,12 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir160.com/
|
||||
- https://torrentsir162.com/
|
||||
legacylinks:
|
||||
- http://torrentsir151.com/
|
||||
- https://torrentsir151.com/
|
||||
- http://torrentsir152.com/
|
||||
- https://torrentsir152.com/
|
||||
- http://torrentsir153.com/
|
||||
- https://torrentsir153.com/
|
||||
- http://torrentsir154.com/
|
||||
@@ -28,6 +24,10 @@ legacylinks:
|
||||
- http://torrentsir159.com/
|
||||
- https://torrentsir159.com/
|
||||
- http://torrentsir160.com/
|
||||
- https://torrentsir160.com/
|
||||
- http://torrentsir161.com/
|
||||
- https://torrentsir161.com/
|
||||
- http://torrentsir162.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: turkseed-api
|
||||
name: TurkSeed
|
||||
name: TurkSeed (API)
|
||||
description: "TurkSeed is a TURKISH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: tr-TR
|
||||
type: private
|
||||
@@ -191,8 +191,8 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
text: 0.6
|
||||
minimumseedtime:
|
||||
# 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
|
||||
text: 129600
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.3.4
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: uploadcx
|
||||
name: upload.cx
|
||||
name: upload.cx (API)
|
||||
description: "upload.cx (ULCX) is a Private Torrent Tracker for MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: utopia
|
||||
name: UTOPIA
|
||||
name: UTOPIA (API)
|
||||
description: "UTOPIA is a UKRAINIAN Private Tracker for HD MOVIES and TV"
|
||||
language: uk-UA
|
||||
type: private
|
||||
|
||||
@@ -39,6 +39,10 @@ caps:
|
||||
- {id: 59e67c0ed5b6a3e689dd1e1f, cat: Movies/UHD, desc: "Bluray 4K"}
|
||||
- {id: 59e488174a23a800358b4567, cat: Movies/UHD, desc: "Bluray Remux 4K"}
|
||||
- {id: 5a64af02ee30983a7e596aed, cat: Movies/HD, desc: "WEB-DL"}
|
||||
- {id: 5cd19d6c3fc7af3ea2491037, cat: Movies/UHD, desc: "2160p"}
|
||||
- {id: 5cd1a01f3fc7af3ea2491038, cat: TV/Anime, desc: "2160p"}
|
||||
- {id: 5cd1a0b73fc7af3ea2491039, cat: Movies/Other, desc: "2160p"}
|
||||
- {id: 5cd19f753fc7af3ea249103a, cat: TV/UHD, desc: "2160p"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -92,10 +96,7 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrent/ajaxfiltertorrent/{{ .Keywords }}
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["^$", "null"]
|
||||
- path: "torrent/ajaxfiltertorrent/{{ if .Keywords }}{{ .Keywords }}{{ else }}null{{ end }}"
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}subcat[]={{.}}&{{end}}"
|
||||
exclu: 0
|
||||
@@ -167,6 +168,10 @@ search:
|
||||
":contains(\"Divers\"):contains(\"Bluray\")": "565af82d1fd35761568b45b7"
|
||||
":contains(\"Divers\"):contains(\"1080p\")": "59591f0807fd301b6eaa7a8f"
|
||||
":contains(\"Divers\"):contains(\"720p\")": "595cd82e07fd301b6eaa7a90"
|
||||
":contains(\"Films\"):contains(\"2160p\")": "5cd19d6c3fc7af3ea2491037"
|
||||
":contains(\"Animations\"):contains(\"2160p\")": "5cd1a01f3fc7af3ea2491038"
|
||||
":contains(\"Divers\"):contains(\"2160p\")": "5cd1a0b73fc7af3ea2491039"
|
||||
":contains(\"Séries\"):contains(\"2160p\")": "5cd19f753fc7af3ea249103a"
|
||||
"*": ""
|
||||
size: # actuall size is not provided, use some default values to make clients happy
|
||||
selector: div.category
|
||||
@@ -199,6 +204,10 @@ search:
|
||||
":contains(\"Divers\"):contains(\"Bluray\")": "20GB"
|
||||
":contains(\"Divers\"):contains(\"1080p\")": "5GB"
|
||||
":contains(\"Divers\"):contains(\"720p\")": "4GB"
|
||||
":contains(\"Films\"):contains(\"2160p\")": "20GB"
|
||||
":contains(\"Animations\"):contains(\"2160p\")": "20GB"
|
||||
":contains(\"Divers\"):contains(\"2160p\")": "20GB"
|
||||
":contains(\"Séries\"):contains(\"2160p\")": "20GB"
|
||||
"*": ""
|
||||
date:
|
||||
text: now
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: yoinked
|
||||
name: YOiNKED
|
||||
name: YOiNKED (API)
|
||||
description: "YOiNKED is a Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
language: en-US
|
||||
type: private
|
||||
@@ -58,7 +58,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "If you do not log into the site or seed torrents, your account will be automatically pruned within 60 days."
|
||||
default: "You must log in to the website or the tracker must register activity from your Announce URL once every 90 days or your account will be disabled."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
194
src/Jackett.Common/Definitions/yuscene-api.yml
Normal file
194
src/Jackett.Common/Definitions/yuscene-api.yml
Normal file
@@ -0,0 +1,194 @@
|
||||
---
|
||||
id: yuscene-api
|
||||
name: YUSCENE (API)
|
||||
description: "YUSCENE is a Private Tracker for MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://yu-scene.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 7, cat: Console, desc: "Game"}
|
||||
- {id: 8, cat: Audio, desc: "Music"}
|
||||
- {id: 9, cat: PC, desc: "Application"}
|
||||
- {id: 10, cat: Audio/Video, desc: "Music Video"}
|
||||
|
||||
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://yu-scene.net/\" target=\"_blank\">YUSCENE</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: single_file_release_use_filename
|
||||
type: checkbox
|
||||
label: Use filename as title for single file releases
|
||||
default: true
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You must log in once every 60 days or seed at least 1 torrent to not get disabled."
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.7 but torrents must be seeded for 3 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.7
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.3.4
|
||||
@@ -5,20 +5,20 @@ description: "zetorrents is a FRENCH Public site for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.protege-torrent.com/Zetorrents
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.zetorrents.sk/
|
||||
- https://www.zetorrents.my/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
- https://www.torrent.onl/
|
||||
- https://www.site-torrent.com/
|
||||
# domain lists no longer working
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# latest domains list
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.site-torrent.com/
|
||||
- https://www.rantop.org/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.torrent.onl/
|
||||
# actual legacylinks
|
||||
- https://wwv.zetorrents.io/
|
||||
- https://ww1.zetorrents.io/
|
||||
- https://www.zetorrents.org/
|
||||
- https://wvw.zetorrents.org/
|
||||
@@ -35,6 +35,7 @@ legacylinks:
|
||||
- https://www.zetorrents.in/
|
||||
- https://www.zetorrents.vg/
|
||||
- https://www.zetorrents.vc/
|
||||
- https://www.zetorrents.sk/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -76,7 +77,7 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}home{{ end }}"
|
||||
keywordsfilters:
|
||||
# if searching for season packs swith S01 to saison 1 #9712
|
||||
- name: re_replace
|
||||
|
||||
@@ -381,6 +381,10 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
results = FilterResults(queryCopy, results).ToList();
|
||||
results = FixResults(queryCopy, results).ToList();
|
||||
|
||||
// De-dupe releases by Guid so duplicate results aren't returned.
|
||||
results = results.GroupBy(r => r.Guid).Select(g => g.First()).ToList();
|
||||
|
||||
cacheService.CacheResults(this, queryCopy, results.ToList());
|
||||
errorCount = 0;
|
||||
expireAt = DateTime.Now.Add(HealthyStatusValidity);
|
||||
|
||||
@@ -161,7 +161,8 @@ namespace Jackett.Common.Indexers.Definitions.Abstract
|
||||
var loginform = loginResultDocument.QuerySelector("#loginform");
|
||||
if (loginform == null)
|
||||
{
|
||||
throw new ExceptionWithConfigData(response.ContentString, configData);
|
||||
logger.Error(response.ContentString);
|
||||
throw new ExceptionWithConfigData("Unexpected response during login, see log for HTML response.", configData);
|
||||
}
|
||||
|
||||
loginform.QuerySelector("table").Remove();
|
||||
|
||||
@@ -0,0 +1,396 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Net;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using AngleSharp.Dom;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using static System.Linq.Enumerable;
|
||||
using WebClient = Jackett.Common.Utils.Clients.WebClient;
|
||||
|
||||
namespace Jackett.Common.Indexers.Definitions.Abstract
|
||||
{
|
||||
public abstract class PublicBrazilianIndexerBase : IndexerBase
|
||||
{
|
||||
public PublicBrazilianIndexerBase(IIndexerConfigurationService configService, WebClient wc, Logger l,
|
||||
IProtectionService ps, ICacheService cs) : base(
|
||||
configService: configService, client: wc, logger: l, p: ps, cacheService: cs,
|
||||
configData: new ConfigurationData())
|
||||
{
|
||||
webclient.requestDelay = .5;
|
||||
}
|
||||
|
||||
public override string Description =>
|
||||
$"{Name} is a Public Torrent Tracker for Movies and TV Shows dubbed in Brazilian Portuguese";
|
||||
|
||||
public override string Language => "pt-BR";
|
||||
public override string Type => "public";
|
||||
public override TorznabCapabilities TorznabCaps => SetCapabilities();
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
{
|
||||
var caps = new TorznabCapabilities
|
||||
{
|
||||
MovieSearchParams = new List<MovieSearchParam> { MovieSearchParam.Q },
|
||||
TvSearchParams = new List<TvSearchParam> { TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep }
|
||||
};
|
||||
caps.Categories.AddCategoryMapping("filmes", TorznabCatType.Movies);
|
||||
caps.Categories.AddCategoryMapping("series", TorznabCatType.TV);
|
||||
return caps;
|
||||
}
|
||||
|
||||
public override IIndexerRequestGenerator GetRequestGenerator() => new SimpleRequestGenerator(SiteLink);
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
{
|
||||
LoadValuesFromJson(configJson);
|
||||
await ConfigureIfOK(string.Empty, true, () => throw new Exception("Could not find releases from this URL"));
|
||||
return IndexerConfigurationStatus.Completed;
|
||||
}
|
||||
public class FileInfo
|
||||
{
|
||||
public string[] Genres { get; set; }
|
||||
public string[] Audio { get; set; }
|
||||
public string Subtitle { get; set; }
|
||||
public string Format { get; set; }
|
||||
public string Quality { get; set; }
|
||||
public string Size { get; set; }
|
||||
public string ReleaseYear { get; set; }
|
||||
public string Duration { get; set; }
|
||||
public string AudioQuality { get; set; }
|
||||
public string VideoQuality { get; set; }
|
||||
public string TitleTranslated { get; set; }
|
||||
public string TitleOriginal { get; set; }
|
||||
public string IMDb { get; set; }
|
||||
|
||||
public static FileInfo FromDictionary(Dictionary<string, string> dict)
|
||||
{
|
||||
return new FileInfo
|
||||
{
|
||||
Genres = dict.TryGetValue("Gênero", out var genres) ? genres?.Split(',').Select(g => g.Trim()).ToArray() : null,
|
||||
Audio = dict.TryGetValue("Áudio", out var audio) ? audio?.Split(',').Select(a => a.Trim()).ToArray() : (
|
||||
dict.TryGetValue("Idioma", out var lang) ? new[] { lang } : null),
|
||||
Subtitle = dict.TryGetValue("Legenda", out var subtitle) ? subtitle : null,
|
||||
Format = dict.TryGetValue("Formato", out var format) ? format : null,
|
||||
Quality = dict.TryGetValue("Qualidade", out var quality) ? quality : null,
|
||||
Size = dict.TryGetValue("Tamanho", out var size) ? size : null,
|
||||
ReleaseYear = dict.TryGetValue("Ano de Lançamento", out var releaseYear) ? releaseYear : (dict.TryGetValue("Lançamento", out var year) ? year : null),
|
||||
Duration = dict.TryGetValue("Duração", out var duration) ? duration : null,
|
||||
AudioQuality = dict.TryGetValue("Qualidade de Áudio", out var audioQuality) ? audioQuality : null,
|
||||
VideoQuality = dict.TryGetValue("Qualidade de Vídeo", out var videoQuality) ? videoQuality : null,
|
||||
TitleTranslated = dict.TryGetValue("Título Traduzido", out var titleTr) ? titleTr : null,
|
||||
TitleOriginal = dict.TryGetValue("Título Original", out var titleOr) ? titleOr : (dict.TryGetValue("Título", out var title) ? title : null),
|
||||
IMDb = dict.TryGetValue("IMDb", out var imdb) ? imdb : null
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class SimpleRequestGenerator : IIndexerRequestGenerator
|
||||
{
|
||||
private readonly string _siteLink;
|
||||
private string SearchQueryParamsKey { get; }
|
||||
|
||||
public SimpleRequestGenerator(string siteLink, string searchQueryParamsKey = "?s=")
|
||||
{
|
||||
_siteLink = siteLink;
|
||||
SearchQueryParamsKey = searchQueryParamsKey;
|
||||
}
|
||||
|
||||
public IndexerPageableRequestChain GetSearchRequests(TorznabQuery query)
|
||||
{
|
||||
var pageableRequests = new IndexerPageableRequestChain();
|
||||
var searchUrl = $"{_siteLink}{SearchQueryParamsKey}";
|
||||
if (!string.IsNullOrWhiteSpace(query.SearchTerm))
|
||||
{
|
||||
searchUrl += WebUtility.UrlEncode(query.SearchTerm);
|
||||
if (query.Season is { } value)
|
||||
{
|
||||
searchUrl += WebUtility.UrlEncode($" {value}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
searchUrl = _siteLink;
|
||||
}
|
||||
|
||||
pageableRequests.Add(new[] { new IndexerRequest(searchUrl) });
|
||||
|
||||
return pageableRequests;
|
||||
}
|
||||
}
|
||||
|
||||
public static class RowParsingExtensions
|
||||
{
|
||||
public static Uri ExtractMagnet(this IElement downloadButton)
|
||||
{
|
||||
var magnetLink = downloadButton.GetAttribute("href");
|
||||
var magnet = string.IsNullOrEmpty(magnetLink) ? null : new Uri(magnetLink);
|
||||
return magnet;
|
||||
}
|
||||
|
||||
public static List<string> ExtractGenres(this IElement row)
|
||||
{
|
||||
var genres = new List<string>();
|
||||
row.ExtractFromRow(
|
||||
"span:contains(\"Gênero:\")", genreText =>
|
||||
{
|
||||
ExtractPattern(
|
||||
genreText, @"Gênero:\s*(.+)", genre => ExtractMultiValuesFromField(values: out genres, field: genre));
|
||||
});
|
||||
return genres;
|
||||
}
|
||||
|
||||
public static List<int> ExtractCategory(this IElement row, string title = null)
|
||||
{
|
||||
var releaseCategory = new List<int>();
|
||||
var category = TorznabCatType.Movies;
|
||||
row.ExtractFromRow(
|
||||
"div.title > a", categoryText =>
|
||||
{
|
||||
category = ExtractCategory(categoryText);
|
||||
});
|
||||
if (!category.Equals(TorznabCatType.TV) && !string.IsNullOrWhiteSpace(title))
|
||||
{
|
||||
category = ExtractCategory(title);
|
||||
}
|
||||
releaseCategory.Add(category.ID);
|
||||
return releaseCategory;
|
||||
}
|
||||
|
||||
private static TorznabCategory ExtractCategory(string text)
|
||||
{
|
||||
var hasSeasonInfo = text.IndexOf("temporada", StringComparison.OrdinalIgnoreCase) >= 0 ||
|
||||
text.IndexOf("season", StringComparison.OrdinalIgnoreCase) >= 0 ||
|
||||
Regex.IsMatch(text, @"\bS\d{1,2}(?:E\d{1,2})?\b", RegexOptions.IgnoreCase);
|
||||
var category = hasSeasonInfo ? TorznabCatType.TV : TorznabCatType.Movies;
|
||||
return category;
|
||||
}
|
||||
|
||||
public static DateTime ExtractReleaseDate(this IElement row)
|
||||
{
|
||||
var result = DateTime.Today;
|
||||
row.ExtractFromRow(
|
||||
"span:contains(\"Lançamento:\")", releaseDateText =>
|
||||
{
|
||||
ExtractPattern(
|
||||
releaseDateText, @"Lançamento:\s*(.+)", releaseDate =>
|
||||
{
|
||||
DateTime.TryParseExact(
|
||||
releaseDate, "yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out result);
|
||||
});
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<string> ExtractSubtitles(this IElement row)
|
||||
{
|
||||
var subtitles = new List<string>();
|
||||
row.ExtractFromRow(
|
||||
"span:contains(\"Legenda:\")", subtitleText =>
|
||||
{
|
||||
ExtractPattern(
|
||||
subtitleText, @"Legenda:\s*(.+)", subtitle => ExtractMultiValuesFromField(values: out subtitles, field: subtitle));
|
||||
});
|
||||
return subtitles;
|
||||
}
|
||||
|
||||
public static long ExtractSize(this IElement row)
|
||||
{
|
||||
long result = 0;
|
||||
row.ExtractFromRow(
|
||||
"span:contains(\"Tamanho:\")", sizeText =>
|
||||
{
|
||||
ExtractPattern(
|
||||
sizeText, @"Tamanho:\s*(.+)", size =>
|
||||
{
|
||||
result = GetBytes(size);
|
||||
});
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
public static long GetBytes(string text)
|
||||
{
|
||||
if (Regex.Matches(text, @"\b[GTKP]?B\b", RegexOptions.IgnoreCase).Count > 1)
|
||||
{
|
||||
var match = Regex.Match(text, @"[GTKP]?B([.,| \d]+[GTKP]?B)", RegexOptions.RightToLeft);
|
||||
if (match.Success)
|
||||
{
|
||||
text = match.Groups[1].Value;
|
||||
}
|
||||
}
|
||||
|
||||
return ParseUtil.GetBytes(text);
|
||||
}
|
||||
|
||||
public static List<string> ExtractLanguages(this IElement row)
|
||||
{
|
||||
var languages = new List<string>();
|
||||
row.ExtractFromRow(
|
||||
"span:contains(\"Áudio:\")", audioText =>
|
||||
{
|
||||
ExtractPattern(
|
||||
audioText, @"Áudio:\s*(.+)", language => ExtractMultiValuesFromField(values: out languages, field: language));
|
||||
});
|
||||
if (languages.Count == 0)
|
||||
{
|
||||
row.ExtractFromRow(
|
||||
"span:contains(\"Idioma:\")", languageText =>
|
||||
{
|
||||
ExtractPattern(
|
||||
languageText, @"Idioma:\s*(.+)", language => ExtractMultiValuesFromField(values: out languages, field: language));
|
||||
});
|
||||
}
|
||||
return languages;
|
||||
}
|
||||
private static void ExtractMultiValuesFromField(out List<string> values, in string field)
|
||||
{
|
||||
if (field.Contains("|"))
|
||||
{
|
||||
values = field.Split('|').Select(token => token.Trim()).ToList();
|
||||
}
|
||||
else if (field.Contains(","))
|
||||
{
|
||||
values = field.Split(',').Select(token => token.Trim()).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
values = new List<string> { field };
|
||||
}
|
||||
}
|
||||
|
||||
public static void ExtractFromRow(this IElement row, string selector, Action<string> extraction)
|
||||
{
|
||||
var element = row.QuerySelector(selector);
|
||||
if (element != null)
|
||||
{
|
||||
extraction(element.TextContent);
|
||||
}
|
||||
}
|
||||
|
||||
public static void ExtractPattern(string text, string pattern, Action<string> extraction)
|
||||
{
|
||||
var match = Regex.Match(text, pattern);
|
||||
if (match.Success)
|
||||
{
|
||||
extraction(match.Groups[1].Value.Trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
public abstract class PublicBrazilianParser : IParseIndexerResponse
|
||||
{
|
||||
public abstract IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse);
|
||||
|
||||
|
||||
|
||||
public string ExtractTitleOrDefault(IElement downloadButton, string defaultTitle)
|
||||
{
|
||||
var magnetTitle = "";
|
||||
RowParsingExtensions.ExtractPattern(downloadButton?.GetAttribute("href"),
|
||||
@"&dn=(.+?)&|&dn=(.+?)$",
|
||||
mt => magnetTitle = HttpUtility.UrlDecode(mt));
|
||||
if (!string.IsNullOrWhiteSpace(magnetTitle))
|
||||
return FormatTitle(CleanTitle(magnetTitle), ExtractResolution(magnetTitle));
|
||||
var description = GetTitleElementOrNull(downloadButton);
|
||||
var resolution = description?.TextContent switch
|
||||
{
|
||||
string text when !string.IsNullOrWhiteSpace(text) => ExtractResolution(text),
|
||||
_ => ExtractResolution(defaultTitle)
|
||||
};
|
||||
var title = (defaultTitle, description?.TextContent) switch
|
||||
{
|
||||
(string defTitle, _) when !string.IsNullOrWhiteSpace(defTitle) => CleanTitle(defTitle),
|
||||
(_, string text) when !string.IsNullOrWhiteSpace(text) => CleanTitle(text),
|
||||
_ => defaultTitle
|
||||
};
|
||||
return FormatTitle(title, resolution);
|
||||
}
|
||||
|
||||
private string ExtractResolution(string text)
|
||||
{
|
||||
var resolution = "";
|
||||
RowParsingExtensions.ExtractPattern(text, @"\b(\d{3,4}p)\b", res => resolution = res);
|
||||
return resolution;
|
||||
}
|
||||
|
||||
private string FormatTitle(string title, string resolution = null)
|
||||
{
|
||||
return string.IsNullOrWhiteSpace(resolution)
|
||||
? $"{title}"
|
||||
: $"{title} {resolution}";
|
||||
}
|
||||
|
||||
public long ExtractSizeByResolution(string title)
|
||||
{
|
||||
var resolution = "Other";
|
||||
RowParsingExtensions.ExtractPattern(
|
||||
title, @"\b(\d{3,4}p)\b", res =>
|
||||
{
|
||||
resolution = res;
|
||||
});
|
||||
|
||||
var size = resolution switch
|
||||
{
|
||||
"720p" => "1GB",
|
||||
"1080p" => "2.5GB",
|
||||
"2160p" => "5GB",
|
||||
_ => "512MB"
|
||||
};
|
||||
|
||||
return RowParsingExtensions.GetBytes(size);
|
||||
}
|
||||
|
||||
protected static string CleanTitle(string title)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(title))
|
||||
return null;
|
||||
|
||||
// Remove size info in parentheses
|
||||
title = Regex.Replace(title, @"\(\d+(?:\.\d+)?\s*(?:GB|MB)\)", "", RegexOptions.IgnoreCase);
|
||||
|
||||
// Remove quality info
|
||||
title = Regex.Replace(title, @"\b(?:720p|1080p|2160p|4K)\b", "", RegexOptions.IgnoreCase);
|
||||
|
||||
// Remove source info
|
||||
title = Regex.Replace(title, @"\b(?:WEB-DL|BRRip|HDRip|WEBRip|BluRay|Torrent|Download)\b", "", RegexOptions.IgnoreCase);
|
||||
|
||||
// Remove language info
|
||||
title = Regex.Replace(title, @"\b(?:Legendado|Leg|Dublado|Dub|[AÁ]udio)\b", "", RegexOptions.IgnoreCase);
|
||||
|
||||
// Clean up torrent group names
|
||||
title = Regex.Replace(title, @"HIDRATORRENTS\.ORG|\[?Erai-raws\]?|\[?Anime Time\]?|COMANDO4K\.COM|COMANDO\.TO|VEMTORRENT\.COM|VACATORRENT\.COM", "", RegexOptions.IgnoreCase);
|
||||
|
||||
// Remove brackets/parentheses content
|
||||
title = Regex.Replace(title, @"\[(?:.*?)\]|\((?:.*?)\)", "", RegexOptions.IgnoreCase);
|
||||
|
||||
// Remove dangling punctuation and separators
|
||||
title = Regex.Replace(title, @"[\\/,|~_-]+\s*|\s*[\\/,|~_-]+", " ", RegexOptions.IgnoreCase);
|
||||
|
||||
// Clean up multiple spaces
|
||||
title = Regex.Replace(title, @"\s+", " ");
|
||||
|
||||
// Remove file extension from the beginning of title
|
||||
title = Regex.Replace(title, @"MKV|MP4", "", RegexOptions.IgnoreCase);
|
||||
|
||||
// Remove dots between words but keep dots in version numbers
|
||||
title = Regex.Replace(title, @"(?<!\d)\.(?!\d)", " ", RegexOptions.IgnoreCase);
|
||||
|
||||
// Remove any remaining punctuation at start/end
|
||||
title = title.Trim(' ', '.', ',', '-', '_', '~', '/', '\\', '|');
|
||||
return title.Trim();
|
||||
}
|
||||
|
||||
protected abstract INode GetTitleElementOrNull(IElement downloadButton);
|
||||
|
||||
protected static bool NotSpanTag(INode description) =>
|
||||
(description.NodeType != NodeType.Element || ((Element)description).TagName != "SPAN");
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user