mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-20 13:26:59 +01:00
Compare commits
107 Commits
v0.22.1296
...
v0.22.1377
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b83a1e474 | ||
|
|
bce5f6d3e5 | ||
|
|
4e2015119a | ||
|
|
cdf9b06e85 | ||
|
|
6849a4194e | ||
|
|
2eacca137e | ||
|
|
0dc9544223 | ||
|
|
42ddf845ba | ||
|
|
1eac010b29 | ||
|
|
ccb062668d | ||
|
|
5c01b2bf7b | ||
|
|
2e5beb93a4 | ||
|
|
121148ba9d | ||
|
|
e6df421947 | ||
|
|
67ccb01c40 | ||
|
|
01255f41a0 | ||
|
|
bda40091c2 | ||
|
|
f547bc7386 | ||
|
|
6fe799e827 | ||
|
|
9c74145695 | ||
|
|
1d53002ec1 | ||
|
|
92e59370fb | ||
|
|
db210053b0 | ||
|
|
68d3702a59 | ||
|
|
702a4d201a | ||
|
|
7cb6cf2bd2 | ||
|
|
8003633279 | ||
|
|
a0b5f8b6e6 | ||
|
|
efd979da82 | ||
|
|
e82557d28f | ||
|
|
14926c4f82 | ||
|
|
61af5e0036 | ||
|
|
a212eb4dc2 | ||
|
|
586ecae5de | ||
|
|
4fbf68f5dc | ||
|
|
f8b4e71b89 | ||
|
|
b8575e8edf | ||
|
|
dec32ad1e1 | ||
|
|
24a6577b14 | ||
|
|
7d207f90d9 | ||
|
|
675610c5e2 | ||
|
|
1ecf342f15 | ||
|
|
737c2d3304 | ||
|
|
9a204a5919 | ||
|
|
bdaeaafc0b | ||
|
|
d7f9e3f874 | ||
|
|
547f3918a1 | ||
|
|
09714561cb | ||
|
|
a9b7619943 | ||
|
|
9da0141602 | ||
|
|
b30d512c03 | ||
|
|
474d53ce92 | ||
|
|
f8526ff228 | ||
|
|
544c71884e | ||
|
|
6a38ea3d81 | ||
|
|
a529a92b9f | ||
|
|
6a8f8e8fe5 | ||
|
|
2a01e253d2 | ||
|
|
634aefa32c | ||
|
|
303df377ca | ||
|
|
8757cdc386 | ||
|
|
53e06d4de5 | ||
|
|
a38544b0c3 | ||
|
|
6019fdf0cd | ||
|
|
6147328810 | ||
|
|
87778931e9 | ||
|
|
35d9439fed | ||
|
|
a2afe61c22 | ||
|
|
1880e6647e | ||
|
|
7c89387f8d | ||
|
|
b3468a325c | ||
|
|
3a57a693c6 | ||
|
|
dcf94a8a8e | ||
|
|
5fb8b9e62d | ||
|
|
ffc225ab0c | ||
|
|
ceef3ca682 | ||
|
|
6554d54f9e | ||
|
|
5fe521ef31 | ||
|
|
64bdc1f9d1 | ||
|
|
8bf938c118 | ||
|
|
0d300cd80c | ||
|
|
a27ddba85a | ||
|
|
338f1e02ab | ||
|
|
84bc4a4bbb | ||
|
|
0dfc27ba07 | ||
|
|
d4003051a7 | ||
|
|
8e61b84394 | ||
|
|
5bd2fc5872 | ||
|
|
d745dd0f1b | ||
|
|
8994d3e9b1 | ||
|
|
6bf529d509 | ||
|
|
1f94b7ebe1 | ||
|
|
aca04b379f | ||
|
|
f47256badb | ||
|
|
202809816a | ||
|
|
b3346e9b19 | ||
|
|
4293069909 | ||
|
|
61bfc2843d | ||
|
|
abf1c81863 | ||
|
|
0164a9568d | ||
|
|
8f0a6188ef | ||
|
|
5b70c676b3 | ||
|
|
d65d31723b | ||
|
|
c51a45ebf6 | ||
|
|
b9f73a6de9 | ||
|
|
083422b3c8 | ||
|
|
2dab0663f3 |
24
README.md
24
README.md
@@ -33,6 +33,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ACG.RIP
|
||||
* Anidex
|
||||
* AniLibria
|
||||
* Anime Time
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AniSource
|
||||
@@ -65,7 +66,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ExtraTorrent.st
|
||||
* EZTV
|
||||
* FilmesHdTorrent
|
||||
* Frozen Layer
|
||||
* GamesTorrents
|
||||
* GkTorrent
|
||||
* GloDLS
|
||||
@@ -115,7 +115,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Sexy-Pics
|
||||
* Shana Project
|
||||
* ShowRSS
|
||||
* SimpleAnime
|
||||
* Solid Torrents
|
||||
* sosulki
|
||||
* SubsPlease
|
||||
@@ -161,6 +160,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
<details> <summary> <b> Supported Semi-Private Trackers </b> </summary>
|
||||
|
||||
* AniDUB
|
||||
* Anime Time (login)
|
||||
* AnimeLayer
|
||||
* ArenaBG
|
||||
* Best-Torrents [PAY2DL]
|
||||
@@ -386,7 +386,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDFans
|
||||
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
|
||||
* HDKylin (麒麟)
|
||||
* HDPT (明教) [![(invite needed)][inviteneeded]](#)
|
||||
* HDRoute [![(invite needed)][inviteneeded]](#)
|
||||
* HDSky [![(invite needed)][inviteneeded]](#)
|
||||
* HDT-LaFenice
|
||||
@@ -434,7 +433,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Le-Cinephile
|
||||
* LearnBits
|
||||
* LearnFlakes
|
||||
* Leech24
|
||||
* LemonHD [![(invite needed)][inviteneeded]](#)
|
||||
* Lesbians4u
|
||||
* Libble
|
||||
@@ -468,6 +466,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* NicePT
|
||||
* Nirvana
|
||||
* NorBits
|
||||
* NordicQuality
|
||||
* Ntelogo
|
||||
* Nusanta(RA.RE)
|
||||
* OKPT
|
||||
@@ -515,6 +514,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* R3V WTF! [![(invite needed)][inviteneeded]](#)
|
||||
* Racing4Everyone (R4E)
|
||||
* RacingForMe (RFM)
|
||||
* Rain
|
||||
* RareShare2
|
||||
* Red Leaves (红叶) [![(invite needed)][inviteneeded]](#)
|
||||
* Red Star Torrent (RST) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -559,6 +559,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* The Crazy Ones
|
||||
* The Falling Angels (TFA)
|
||||
* The Geeks
|
||||
* The Kitchen
|
||||
* The New Retro
|
||||
* The Occult
|
||||
* The Old School
|
||||
@@ -570,7 +571,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TheEmpire (TE)
|
||||
* TheLeachZone (TLZ)
|
||||
* ThePiratedShip
|
||||
* TJUPT (北洋园PT)
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* TmGHuB [![(invite needed)][inviteneeded]](#)
|
||||
* Toca Share
|
||||
@@ -664,17 +664,17 @@ t=book:
|
||||
Examples:
|
||||
|
||||
```
|
||||
.../api?apikey=APIKEY&t=search&cat=1,3&q=Show+Title+S01E02
|
||||
.../api?apikey=APIKEY&t=search&cat=100002,100003&q=Show+Title+S01E02
|
||||
|
||||
.../api?apikey=APIKEY&t=tvsearch&cat=1,3&q=Show+Title&season=1&ep=2
|
||||
.../api?apikey=APIKEY&t=tvsearch&cat=1,3&genre=comedy&season=2023&ep=02/13
|
||||
.../api?apikey=APIKEY&t=tvsearch&cat=5000&q=Show+Title&season=1&ep=2
|
||||
.../api?apikey=APIKEY&t=tvsearch&cat=5040,5045&genre=comedy&season=2023&ep=02/13
|
||||
|
||||
.../api?apikey=APIKEY&t=movie&cat=2&q=Movie+Title&year=2023
|
||||
.../api?apikey=APIKEY&t=movie&cat=2&imdbid=tt1234567
|
||||
.../api?apikey=APIKEY&t=movie&cat=100001&q=Movie+Title&year=2023
|
||||
.../api?apikey=APIKEY&t=movie&cat=5000&imdbid=tt1234567
|
||||
|
||||
.../api?apikey=APIKEY&t=music&cat=4&album=Title&artist=Name
|
||||
.../api?apikey=APIKEY&t=music&cat=100004&album=Title&artist=Name
|
||||
|
||||
.../api?apikey=APIKEY&t=book&cat=5,6&genre=horror&publisher=Stuff
|
||||
.../api?apikey=APIKEY&t=book&cat=100005,100006&genre=horror&publisher=Stuff
|
||||
```
|
||||
|
||||
### Filter indexers
|
||||
|
||||
@@ -5,23 +5,41 @@ description: "1ptbar is a CHINESE Private Torrent Tracker for MOVIES / TV / E-LE
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://1ptba.com/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movie(電影)"}
|
||||
- {id: 402, cat: TV, desc: "TV Series(電視影劇)"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows(電視綜藝)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries(紀錄教育)"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations(卡通動漫)"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos(音樂短片/演唱會)"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(體育賽事)"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio(高品质音频)"}
|
||||
- {id: 410, cat: PC/0day, desc: "Software(軟體)"}
|
||||
- {id: 411, cat: PC/Games, desc: "Games(電子遊戲)"}
|
||||
- {id: 412, cat: Books/EBook, desc: "eBook(電子書)"}
|
||||
- {id: 409, cat: Other, desc: "Misc(其他)"}
|
||||
- {id: 401, cat: Movies, desc: "Movie(電影)", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series(電視影劇)", default: true}
|
||||
- {id: 403, cat: TV, desc: "TV Shows(電視綜藝)", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries(紀錄教育)", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations(卡通動漫)", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos(音樂短片/演唱會)", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(體育賽事)", default: true}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio(高品质音频)", default: true}
|
||||
- {id: 410, cat: PC/0day, desc: "Software(軟體)", default: true}
|
||||
- {id: 411, cat: PC/Games, desc: "Games(電子遊戲)", default: true}
|
||||
- {id: 412, cat: Books/EBook, desc: "eBook(電子書)", default: true}
|
||||
- {id: 409, cat: Other, desc: "Misc(其他)", default: true}
|
||||
- {id: 610, cat: XXX/x264, desc: "AV(有碼)/HD Censored", default: false}
|
||||
- {id: 611, cat: XXX/x264, desc: "AV(無碼)/HD Uncensored", default: false}
|
||||
- {id: 612, cat: XXX/SD, desc: "AV(有碼)/SD Censored", default: false}
|
||||
- {id: 613, cat: XXX/SD, desc: "AV(無碼)/SD Uncensored", default: false}
|
||||
- {id: 614, cat: XXX/DVD, desc: "AV(無碼)/DVDiSo Uncensored", default: false}
|
||||
- {id: 615, cat: XXX/DVD, desc: "AV(有碼)/DVDiSo Censored", default: false}
|
||||
- {id: 616, cat: XXX/UHD, desc: "AV(有碼)/Blu-Ray Censored", default: false}
|
||||
- {id: 617, cat: XXX/UHD, desc: "AV(無碼)/Blu-Ray Uncensored", default: false}
|
||||
- {id: 618, cat: XXX/Pack, desc: "AV(網站)/0Day", default: false}
|
||||
- {id: 619, cat: XXX/Pack, desc: "IV(寫真影集)/Video Collection", default: false}
|
||||
- {id: 620, cat: XXX/ImageSet, desc: "IV(寫真圖集)/Picture Collection", default: false}
|
||||
- {id: 621, cat: XXX/Other, desc: "H-Game(遊戲)", default: false}
|
||||
- {id: 622, cat: XXX/Other, desc: "H-Anime(動畫)", default: false}
|
||||
- {id: 623, cat: XXX/Other, desc: "H-Comic(漫畫)", default: false}
|
||||
- {id: 624, cat: XXX/Other, desc: "Adult film(成人電影)", default: false}
|
||||
- {id: 625, cat: XXX/Other, desc: "AV(Gay)/HD", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -74,6 +92,10 @@ settings:
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if parked (at User CP).</li><li>Parked accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
|
||||
- name: info_special
|
||||
type: info
|
||||
label: Special Categories
|
||||
default: "Only <b>Power User</b> or above can view Special section. Searching for XXX categories by users below this class will result in search errors."
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -101,6 +123,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 410, 411, 412, 409]
|
||||
- path: special.php
|
||||
categories: [610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -11,6 +11,7 @@ links:
|
||||
- https://abroad.agsvpt.com/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movie(电影)", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series(电视剧)", default: true}
|
||||
@@ -22,7 +23,6 @@ caps:
|
||||
- {id: 406, cat: Audio/Video, desc: "MV(演唱", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(体育)", default: true}
|
||||
- {id: 408, cat: Audio/Audiobook, desc: "Audio(音频)", default: true}
|
||||
# special
|
||||
- {id: 413, cat: PC/Games, desc: "Game(游戏)", default: false}
|
||||
- {id: 416, cat: Books/Comics, desc: "Comic(漫画)", default: false}
|
||||
- {id: 412, cat: PC/0day, desc: "Software(软件)", default: false}
|
||||
|
||||
83
src/Jackett.Common/Definitions/anime-time.yml
Normal file
83
src/Jackett.Common/Definitions/anime-time.yml
Normal file
@@ -0,0 +1,83 @@
|
||||
---
|
||||
id: anime-time
|
||||
name: Anime Time
|
||||
description: "Anime Time is a Public Torrent Tracker for ANIME."
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://animetime.cc/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
anime: TV/Anime
|
||||
books: Books
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://animetime.cc/search?query=
|
||||
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
|
||||
|
||||
inputs:
|
||||
query: "{{ .Keywords }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: trim
|
||||
- name: re_replace
|
||||
args: ["\\W+", "%"]
|
||||
|
||||
rows:
|
||||
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: span.badge.badge-primary
|
||||
title:
|
||||
selector: a[href*="/view/"]
|
||||
details:
|
||||
selector: a[href*="/view/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: span[data-tip]
|
||||
attribute: data-tip
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: span.badge.badge-ghost
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
genre:
|
||||
selector: span.badge.badge-secondary, span.badge.badge-error
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["non english", "non_english"]
|
||||
- name: replace
|
||||
args: ["music video", "music_video"]
|
||||
- name: replace
|
||||
args: ["Anime Time", "Anime_Time"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
103
src/Jackett.Common/Definitions/anime-timel.yml
Normal file
103
src/Jackett.Common/Definitions/anime-timel.yml
Normal file
@@ -0,0 +1,103 @@
|
||||
---
|
||||
id: anime-timel
|
||||
name: Anime TimeL
|
||||
description: "This is the Anime Time indexer with Login enabled in the config to include NSFW content."
|
||||
language: en-US
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://animetime.cc/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
anime: TV/Anime
|
||||
books: Books
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: auth/log-in
|
||||
method: form
|
||||
form: form[action$="/auth/log-in"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember_me: true
|
||||
error:
|
||||
- selector: span.text-error
|
||||
test:
|
||||
path: /
|
||||
selector: form[action$="/auth/log-out"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://animetime.cc/search?query=
|
||||
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
|
||||
|
||||
inputs:
|
||||
query: "{{ .Keywords }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: trim
|
||||
- name: re_replace
|
||||
args: ["\\W+", "%"]
|
||||
|
||||
rows:
|
||||
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: span.badge.badge-primary
|
||||
title:
|
||||
selector: a[href*="/view/"]
|
||||
details:
|
||||
selector: a[href*="/view/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: span[data-tip]
|
||||
attribute: data-tip
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: span.badge.badge-ghost
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
genre:
|
||||
selector: span.badge.badge-secondary, span.badge.badge-error
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["non english", "non_english"]
|
||||
- name: replace
|
||||
args: ["music video", "music_video"]
|
||||
- name: replace
|
||||
args: ["Anime Time", "Anime_Time"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -22,19 +22,11 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Uploads Web Site. Otherwise just leave it empty."
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -61,27 +53,13 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
# using cookie method because site regularly disables login page for certain events during the year
|
||||
method: cookie
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: ""
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
selector: a[href^="logout.php?csrf_token="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -148,11 +126,17 @@ search:
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: a[href$="dllist=1#seeders"]
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: a[href$="dllist=1#leechers"]
|
||||
optional: true
|
||||
default: 0
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
selector: a[href^="viewsnatches.php?id="]
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -170,4 +154,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.20 2022-08-05
|
||||
# NexusPHP v1.7.20 2022-08-05 (custom)
|
||||
|
||||
@@ -17,6 +17,7 @@ caps:
|
||||
- {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 71, cat: Console, desc: "Batocera"}
|
||||
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
|
||||
- {id: 86, cat: Console, desc: "Chinese Systems"}
|
||||
- {id: 22, cat: Console, desc: "CoinOps"}
|
||||
- {id: 42, cat: Console, desc: "CoinOPS Official"}
|
||||
- {id: 65, cat: Console, desc: "CoinOps Unofficial"}
|
||||
@@ -28,12 +29,13 @@ caps:
|
||||
- {id: 41, cat: Console, desc: "Dragon"}
|
||||
- {id: 5, cat: Books, desc: "EBooks"}
|
||||
- {id: 80, cat: PC, desc: "Emulation Media"}
|
||||
- {id: 61, cat: Console, desc: "emuxtras"}
|
||||
- {id: 61, cat: PC, desc: "emuxtras"}
|
||||
- {id: 69, cat: TV, desc: "Entertainment"}
|
||||
- {id: 84, cat: TV, desc: "GOG DRM FREE"}
|
||||
- {id: 77, cat: PC, desc: "Hyperspin"}
|
||||
- {id: 34, cat: TV, desc: "Kids"}
|
||||
- {id: 43, cat: Console, desc: "LB No Intro"}
|
||||
- {id: 85, cat: PC, desc: "MAME Rom Sets"}
|
||||
- {id: 33, cat: TV/Sport, desc: "MMA/Boxing"}
|
||||
- {id: 32, cat: Movies, desc: "Movie Pack"}
|
||||
- {id: 6, cat: Movies, desc: "Movies/XVID"}
|
||||
@@ -43,16 +45,18 @@ caps:
|
||||
- {id: 59, cat: Console, desc: "P-R-U"}
|
||||
- {id: 8, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: 50, cat: Console, desc: "PlayBox"}
|
||||
- {id: 87, cat: Console, desc: "Playnite"}
|
||||
- {id: 30, cat: Console, desc: "Playstation"}
|
||||
- {id: 62, cat: Console, desc: "RaspberryPi"}
|
||||
- {id: 83, cat: Console, desc: "Retro eXo"}
|
||||
- {id: 56, cat: Console, desc: "Retro Minis"}
|
||||
- {id: 62, cat: PC, desc: "RaspberryPi"}
|
||||
- {id: 83, cat: PC, desc: "Retro eXo"}
|
||||
- {id: 56, cat: PC, desc: "Retro Minis"}
|
||||
- {id: 81, cat: PC, desc: "Retro Scene Releases"}
|
||||
- {id: 67, cat: Console, desc: "Retrobat"}
|
||||
- {id: 67, cat: PC, desc: "Retrobat"}
|
||||
- {id: 88, cat: PC, desc: "RetroFE"}
|
||||
- {id: 79, cat: PC, desc: "RGB-Pi"}
|
||||
- {id: 76, cat: Console, desc: "RGS"}
|
||||
- {id: 27, cat: Console, desc: "Roms and Emulators"}
|
||||
- {id: 68, cat: Console, desc: "Schmoomer's"}
|
||||
- {id: 27, cat: PC, desc: "Roms and Emulators"}
|
||||
- {id: 68, cat: PC, desc: "Schmoomer's"}
|
||||
- {id: 57, cat: Console, desc: "Sega"}
|
||||
- {id: 74, cat: PC, desc: "Sleyk/SGC"}
|
||||
- {id: 40, cat: TV, desc: "Soaps"}
|
||||
|
||||
@@ -10,30 +10,29 @@ links:
|
||||
- https://bitbazis.net/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 85, cat: Movies/SD, desc: "Film-Cam", default: true}
|
||||
- {id: 15, cat: Movies/SD, desc: "Film-SD", default: true}
|
||||
- {id: 17, cat: Movies/DVD, desc: "Film-DVD", default: true}
|
||||
- {id: 83, cat: Movies/HD, desc: "Film-HD", default: true}
|
||||
- {id: 94, cat: Movies/HD, desc: "Film-FHD", default: true}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Film-UHD", default: true}
|
||||
- {id: 85, cat: Movies/SD, desc: "Film-Cam", default: true}
|
||||
- {id: 22, cat: TV, desc: "Sorozat-Hun", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film-Pack", default: true}
|
||||
- {id: 24, cat: Audio/Video, desc: "Klip", default: true}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv", default: true}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese-SD", default: true}
|
||||
- {id: 91, cat: TV/Anime, desc: "Mese-HD", default: true}
|
||||
- {id: 25, cat: Audio/MP3, desc: "Mp3-Hun", default: true}
|
||||
- {id: 26, cat: Audio/MP3, desc: "Mp3-Eng", default: true}
|
||||
- {id: 84, cat: Audio/Lossless, desc: "FLAC-Hun", default: true}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "FLAC-Eng", default: true}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék", default: true}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv", default: true}
|
||||
- {id: 81, cat: PC/0day, desc: "Program", default: true}
|
||||
- {id: 14, cat: Other, desc: "Egyéb", default: true}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék", default: true}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese-SD", default: true}
|
||||
- {id: 91, cat: TV/Anime, desc: "Mese-HD", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film-Pack", default: true}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Film-UHD", default: true}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "XXX", default: false}
|
||||
- {id: 33, cat: XXX/SD, desc: "XXX-SD", default: false}
|
||||
- {id: 89, cat: XXX/x264, desc: "XXX-HD", default: false}
|
||||
- {id: 24, cat: Audio/Video, desc: "Klip", default: true}
|
||||
- {id: 14, cat: Other, desc: "Egyéb", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -87,7 +86,7 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
categories: [85, 86, 15, 16, 17, 19, 83, 82, 94, 95, 92, 93, 22, 58, 64, 24, 70, 27, 50, 69, 68, 91, 25, 26, 84, 71, 31, 54, 81, 67, 49, 14, 65, 97]
|
||||
categories: [15, 83, 94, 85, 22, 25, 26, 84, 71, 27, 81, 31, 69, 91, 64, 92, 24, 14]
|
||||
inputs:
|
||||
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
|
||||
incldead: 0
|
||||
|
||||
@@ -17,9 +17,7 @@ caps:
|
||||
- {id: 17, cat: Movies/UHD, desc: " |- 4k/UHD Filmy "}
|
||||
- {id: 31, cat: Movies/BluRay, desc: " |- Bluray DB/BD/DVD"}
|
||||
- {id: 51, cat: Movies/3D, desc: " |- 3D Filmy"}
|
||||
- {id: 14, cat: Movies/SD, desc: " |- DivX"}
|
||||
- {id: 45, cat: Movies/Other, desc: " |- Kreslené/Anime"}
|
||||
- {id: 16, cat: Movies/SD, desc: " |- CAM/Kino"}
|
||||
- {id: 40, cat: TV, desc: "-----TV-----"}
|
||||
- {id: 32, cat: TV, desc: " |- Serialy CZ/SK/EN"}
|
||||
- {id: 47, cat: TV, desc: " |- Serialy"}
|
||||
@@ -30,8 +28,9 @@ caps:
|
||||
- {id: 19, cat: PC/Mac, desc: " |- Programy MacOS"}
|
||||
- {id: 7, cat: Audio, desc: "-----Hudba-----"}
|
||||
- {id: 39, cat: Audio/Audiobook, desc: " |- Mluvene Slovo"}
|
||||
- {id: 21, cat: Audio, desc: " |- MP3/FLAC"}
|
||||
- {id: 21, cat: Audio/MP3, desc: " |- MP3"}
|
||||
- {id: 43, cat: Audio/Other, desc: " |- SoundTrack"}
|
||||
- {id: 53, cat: Audio/Lossless, desc: " |- Flac"}
|
||||
- {id: 2, cat: PC/Games, desc: "--Hry--"}
|
||||
- {id: 3, cat: Console/PS3, desc: " |- Sony PS"}
|
||||
- {id: 4, cat: Console/Wii, desc: " |- Wii"}
|
||||
@@ -40,7 +39,6 @@ caps:
|
||||
- {id: 28, cat: Console/NDS, desc: " |- Nintendo"}
|
||||
- {id: 42, cat: Books, desc: "Knihy A Časopisy"}
|
||||
- {id: 36, cat: Other, desc: "Ostatní"}
|
||||
- {id: 46, cat: XXX, desc: "XXX (18+)"}
|
||||
# not listed
|
||||
- {id: 41, cat: Movies, desc: "VIP Torrent"}
|
||||
- {id: 48, cat: Movies, desc: " |- RLS"}
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://carp-hunter.hu/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/SD, desc: "Film/Cam/Eng", default: true}
|
||||
- {id: 2, cat: Movies/SD, desc: "Film/Cam/Hun", default: true}
|
||||
|
||||
@@ -5,22 +5,27 @@ description: "CrabPT (蟹黄堡) is a CHINESE Private Torrent Tracker for MOVIES
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://crabpt.vip/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "电影 / Movies"}
|
||||
- {id: 402, cat: TV, desc: "电视剧 / TVSeries"}
|
||||
- {id: 413, cat: TV/Other, desc: "短剧 / Playlet"}
|
||||
- {id: 408, cat: Audio, desc: "音乐 / Music"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime"}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV"}
|
||||
- {id: 403, cat: Movies, desc: "综艺 / TV Shows"}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary"}
|
||||
- {id: 409, cat: Other, desc: "其他 / Other"}
|
||||
- {id: 415, cat: Books/Comics, desc: "漫画 / Cartoon"}
|
||||
- {id: 401, cat: Movies, desc: "电影 / Movies", default: true}
|
||||
- {id: 402, cat: TV, desc: "电视剧 / TVSeries", default: true}
|
||||
- {id: 413, cat: TV/Other, desc: "短剧 / Playlet", default: true}
|
||||
- {id: 408, cat: Audio, desc: "音乐 / Music", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV", default: true}
|
||||
- {id: 403, cat: Movies, desc: "综艺 / TV Shows", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary", default: true}
|
||||
- {id: 409, cat: Other, desc: "其他 / Other", default: true}
|
||||
- {id: 415, cat: Books/Comics, desc: "漫画 / Cartoon", default: true}
|
||||
- {id: 414, cat: Console, desc: "游戏 / Game", default: true}
|
||||
- {id: 412, cat: Other, desc: "学习 / Study", default: true}
|
||||
- {id: 411, cat: Audio/Audiobook, desc: "有声书 / Audiobook", default: true}
|
||||
- {id: 410, cat: Books/EBook, desc: "电子书 / Ebook", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -98,6 +103,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 413, 408, 405, 406, 403, 407, 404, 409]
|
||||
- path: special.php
|
||||
categories: [415, 414, 412, 411, 410]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://diablotorrent.net/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
# Film
|
||||
- {id: 49, cat: Movies/SD, desc: "Film > Cam", default: true}
|
||||
|
||||
@@ -47,7 +47,7 @@ caps:
|
||||
- {id: "/games//mac/mac/", cat: PC/Mac, desc: "Games Mac"}
|
||||
- {id: "/movies/", cat: Movies, desc: Movies}
|
||||
- {id: "/movies//3d-movies/3d-movies/", cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: "/movies//bollywood//bollywood/", cat: Movies, desc: "Movies Bollywood"}
|
||||
- {id: "/movies//bollywood/bollywood/", cat: Movies, desc: "Movies Bollywood"}
|
||||
- {id: "/movies//documentary/documentary/", cat: Movies, desc: "Movies Documentary"}
|
||||
- {id: "/movies//dubbed-movies/dubbed-movies/", cat: Movies, desc: "Movies Dubbed"}
|
||||
- {id: "/movies//dvd/dvd/", cat: Movies/DVD, desc: "Movies DVD"}
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://pt.0ff.cc/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies|电影", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series|电视剧", default: true}
|
||||
@@ -19,13 +20,25 @@ caps:
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos|音乐视频", default: true}
|
||||
- {id: 407, cat: Audio/Lossless, desc: "HD Music|无损音乐", default: true}
|
||||
- {id: 408, cat: TV/Sport, desc: "Sports|体育", default: true}
|
||||
- {id: 427, cat: Other/Misc, desc: "待定", default: true}
|
||||
- {id: 412, cat: Other/Misc, desc: "待定", default: true}
|
||||
- {id: 411, cat: Other/Misc, desc: "待定", default: true}
|
||||
- {id: 410, cat: Other/Misc, desc: "待定", default: true}
|
||||
- {id: 409, cat: Other/Misc, desc: "待定", default: true}
|
||||
- {id: 428, cat: Other, desc: "Others|其他", default: true}
|
||||
# special
|
||||
- {id: 413, cat: Other, desc: "Education|学习教育", default: false}
|
||||
- {id: 414, cat: Other, desc: "Course|网络教程", default: false}
|
||||
- {id: 415, cat: Books, desc: "book|书籍", default: false}
|
||||
- {id: 416, cat: PC/0day, desc: "Resources|网络资源", default: false}
|
||||
- {id: 417, cat: PC/Games, desc: "Game|游戏", default: false}
|
||||
- {id: 425, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 424, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 423, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 422, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 421, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 420, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 419, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 418, cat: Other/Misc, desc: "待定", default: false}
|
||||
- {id: 426, cat: Other, desc: "Others|其他", default: false}
|
||||
|
||||
modes:
|
||||
@@ -106,9 +119,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 428]
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 427, 412, 411, 410, 409, 428]
|
||||
- path: special.php
|
||||
categories: [413, 414, 415, 416, 417, 426]
|
||||
categories: [413, 414, 415, 416, 417, 425, 424, 423, 422, 421, 420, 419, 418, 426]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
---
|
||||
id: frozenlayer
|
||||
name: Frozen Layer
|
||||
description: "Frozen Layer is a SPANISH Public torrent site focused on ANIME"
|
||||
language: es-ES
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
certificates:
|
||||
- 0e43335b4c778e95f8e4db46e20cc3d0e84e59ff # expired 19 June 2024
|
||||
links:
|
||||
- https://www.frozen-layer.com/
|
||||
|
||||
settings:
|
||||
- name: category
|
||||
type: select
|
||||
label: Category
|
||||
default: todos
|
||||
options:
|
||||
todos: todos
|
||||
anime: anime
|
||||
manga: manga
|
||||
dorama: dorama
|
||||
videojuego: videojuego
|
||||
BSO: BSO
|
||||
PV: PV
|
||||
otros: otros
|
||||
- name: info
|
||||
type: info
|
||||
label: Direct Downloads
|
||||
default: This definition filters for search results that contain .torrent and magnet only. Results for Direct Download are not supported.
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Anime, cat: TV/Anime, desc: "anime"}
|
||||
- {id: Manga, cat: TV/Anime, desc: "manga"}
|
||||
- {id: Dorama, cat: TV/Anime, desc: "dorama"}
|
||||
- {id: Videojuego, cat: TV/Anime, desc: "videojuego"}
|
||||
- {id: Bso, cat: TV/Anime, desc: "BSO"}
|
||||
- {id: Pv, cat: TV/Anime, desc: "PV"}
|
||||
- {id: Otros, cat: TV/Anime, desc: "otros"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}buscar/descargas/{{ .Config.category }}/{{ .Keywords }}?search=Buscar{{ else }}descargas{{ end }}"
|
||||
- path: "{{ if .Keywords }}buscar/descargas/{{ .Config.category }}/{{ .Keywords }}?search=Buscar&{{ else }}descargas?{{ end }}page=2"
|
||||
keywordsfilters:
|
||||
- name: re_replace # remove first season from search string
|
||||
args: ["(?i)(S1)", ""]
|
||||
- name: re_replace # switch second season from search string
|
||||
args: ["(?i)(S2)", "segunda temporada"]
|
||||
- name: re_replace # switch third season from search string
|
||||
args: ["(?i)(S3)", "tercera temporada"]
|
||||
- name: re_replace # remove E from episode number from search string
|
||||
args: ["(?i)E([0-9]+)", "$1"]
|
||||
|
||||
rows:
|
||||
selector: table#descargas > tbody > tr:has(td:has(a[href^="magnet:?"]))
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: "{{ if eq .Config.category \"todos\" }}Anime{{ else }}{{ .Config.category }}{{ end }}"
|
||||
title:
|
||||
selector: td.tit a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\/|\\(|\\)", " "]
|
||||
- name: re_replace
|
||||
args: ["([A-z]*) temporada", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)Sprimera|Ssegunda|Stercera", ""]
|
||||
- name: re_replace
|
||||
args: ["S([0-9]+) - Episodio ([0-9]+)", "$2"]
|
||||
- name: re_replace
|
||||
args: ["- Episodio ([0-9]*)", "$1"]
|
||||
- name: append
|
||||
args: " Spanish"
|
||||
details:
|
||||
selector: td.tit a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(1) a[href$=".torrent"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: td:nth-child(1) a[href^="magnet:?"]
|
||||
attribute: href
|
||||
date_day:
|
||||
# 1d
|
||||
# 2d 3h
|
||||
# 3 dias
|
||||
# 3h 14m
|
||||
optional: true
|
||||
selector: td.fecha:not(:contains("Jan:")):not(:contains("Feb")):not(:contains("Mar:")):not(:contains("Apr")):not(:contains("May:")):not(:contains("Jun")):not(:contains("Jul:")):not(:contains("Aug")):not(:contains("Sep:")):not(:contains("Oct")):not(:contains("Nov:")):not(:contains("Dec"))
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["días", "days ago"]
|
||||
- name: timeago
|
||||
date_year:
|
||||
# 29 Oct 17
|
||||
optional: true
|
||||
selector: td.fecha:not(:contains("d")):not(:contains("h")):not(:contains("m"))
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd MMM yy zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -6,11 +6,12 @@ language: es-ES
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.gamestorrents.fm/
|
||||
- https://www.gamestorrents.app/
|
||||
legacylinks:
|
||||
- https://www.gamestorrents.com/
|
||||
- https://www.gamestorrents.tv/
|
||||
- https://www.gamestorrents.nu/
|
||||
- https://www.gamestorrents.fm/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,6 +9,7 @@ links:
|
||||
- https://www.gamegamept.com/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: PC/Games, desc: "PC游戏(PC Games)", default: true}
|
||||
- {id: 404, cat: Console/PS4, desc: "索尼主机游戏(Sony console games)", default: true}
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.gktorrent.cz/
|
||||
- https://www.gktorrent.cv/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
@@ -20,10 +20,6 @@ legacylinks:
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# actual legacylinks
|
||||
- https://www.gktorrent.wf/
|
||||
- https://gktorrent.nocensor.cloud/
|
||||
- https://gktorrent.mrunblock.bond/
|
||||
- https://www.gktorrent.wtf/
|
||||
- https://www.gktorrent.vg/
|
||||
- https://www.gktorrent.lol/
|
||||
- https://www.gktorrent.sh/
|
||||
@@ -37,6 +33,8 @@ legacylinks:
|
||||
- https://www.gktorrent.gy/
|
||||
- https://www.gktorrent.si/
|
||||
- https://www.gktorrent.my/
|
||||
- https://www.gktorrent.cz/
|
||||
- https://www.gktorrent.ke/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://www.htpt.cc/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 1, cat: Audio, desc: "相声 Crosstalk", default: true}
|
||||
- {id: 4091, cat: Audio, desc: "评书 Storytelling", default: true}
|
||||
|
||||
@@ -5,18 +5,27 @@ description: "HDAtmos is a CHINESE Private Torrent Tracker for HD MOVIES / TV /
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://hdatmos.club/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV演唱会"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/音乐"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV演唱会", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育", default: true}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/音乐", default: true}
|
||||
- {id: 416, cat: Audio, desc: "洗版区/音乐", default: false}
|
||||
- {id: 415, cat: TV/Sport, desc: "洗版区/体育", default: false}
|
||||
- {id: 414, cat: Audio/Video, desc: "洗版区/MV演唱会", default: false}
|
||||
- {id: 413, cat: TV/Anime, desc: "洗版区/动漫", default: false}
|
||||
- {id: 412, cat: TV, desc: "洗版区/电视剧", default: false}
|
||||
- {id: 411, cat: TV/Documentary, desc: "洗版区/纪录片", default: false}
|
||||
- {id: 410, cat: Movies, desc: "洗版区/电影", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -66,6 +75,10 @@ settings:
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if parked (at User CP).</li><li>Parked accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
|
||||
- name: info_special
|
||||
type: info
|
||||
label: Special Categories
|
||||
default: "Only <b>Power User</b> or above can view Special section. Searching for 洗版区 categories by users below this class will result in search errors."
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -95,6 +108,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 404, 405, 402, 406, 407, 408]
|
||||
- path: special.php
|
||||
categories: [416, 415, 414, 413, 412, 411, 410]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -6,7 +6,7 @@ language: ru-RU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 04ff5035de8f99f809173ec55bf3814693a0fd94 # CN=mail.trackerpmr.com
|
||||
- 53262db5c4e32667ae158fcc90396d5675d4ec3a # CN=mail.trackerpmr.com
|
||||
links:
|
||||
- https://www.trackerpmr.com/
|
||||
- https://freetmd.com/
|
||||
@@ -129,11 +129,12 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a.link-secondary
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: \'>(.+?)</div
|
||||
- name: htmldecode
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"]
|
||||
@@ -192,10 +193,10 @@ search:
|
||||
- name: append
|
||||
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a.link-secondary
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a.link-secondary
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
|
||||
@@ -5,19 +5,22 @@ description: "HDVIDEO is a CHINESE Private torrent tracker for MOVIES / TV / GEN
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://hdvideo.one/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Anime/动漫"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/演唱会"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/音乐"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧", default: true}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "Anime/动漫", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/演唱会", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育", default: true}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/音乐", default: true}
|
||||
- {id: 409, cat: PC, desc: "3D模型", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -72,6 +75,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408]
|
||||
- path: special.php
|
||||
categories: [409]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -12,10 +12,8 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio"}
|
||||
- {id: 409, cat: Other, desc: "其他"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV"}
|
||||
- {id: 403, cat: TV, desc: "综艺"}
|
||||
- {id: 402, cat: TV, desc: "电视剧"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫"}
|
||||
|
||||
@@ -17,8 +17,11 @@ caps:
|
||||
- {id: 5, cat: Console, desc: "Games"}
|
||||
- {id: 6, cat: PC, desc: "Apps"}
|
||||
- {id: 7, cat: Books/Technical, desc: "Books"}
|
||||
- {id: 8, cat: Books/Comics, desc: "Manga"}
|
||||
- {id: 9, cat: XXX, desc: "XXX"}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "Audiobook"}
|
||||
- {id: 11, cat: Books/Comics, desc: "Comics"}
|
||||
- {id: 12, cat: Books/Mags, desc: "Magazine"}
|
||||
- {id: 9, cat: Books/Comics, desc: "Manga"}
|
||||
- {id: 10, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -139,7 +139,7 @@ search:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
inputs:
|
||||
keywords: "{{ if .Keywords }}{{ .Keywords }}{{ else }}2025{{ end }}"
|
||||
keywords: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}*{{ end }}"
|
||||
# all, any
|
||||
terms: all
|
||||
# Search in subforums: yes 1, no 0
|
||||
|
||||
@@ -5,21 +5,33 @@ description: "ilolicon PT is a CHINESE Private torrent tracker for LOLICON / MOV
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://share.ilolicon.com/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "电影 (Movie)"}
|
||||
- {id: 402, cat: TV, desc: 电视剧/综艺 (TV Series/TV Show)"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动画 (Animation)"}
|
||||
- {id: 408, cat: Audio, desc: "音乐 (Music)"}
|
||||
- {id: 410, cat: Audio/Video, desc: "舞台演出 (Stage Performance)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 (Documentary)"}
|
||||
- {id: 412, cat: Console, desc: "游戏 (Game)"}
|
||||
- {id: 413, cat: PC, desc: "软件 (Software)"}
|
||||
- {id: 411, cat: Other, desc: "漫画/图集/绘本/写真 (Photo)"}
|
||||
- {id: 418, cat: Other, desc: "三次元图集/写真/Cosplay套图"}
|
||||
- {id: 401, cat: Movies, desc: "电影 (Movie)", default: true}
|
||||
- {id: 402, cat: TV, desc: "电视剧(TV Series)", default: true}
|
||||
- {id: 430, cat: TV, desc: "综艺(TV Show)", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "动画 (Animation)", default: true}
|
||||
- {id: 408, cat: Audio, desc: "音乐 (Music)", default: true}
|
||||
- {id: 410, cat: Audio/Video, desc: "舞台演出 (Stage Performance)", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 (Documentary)", default: true}
|
||||
- {id: 412, cat: Console, desc: "游戏 (Game)", default: true}
|
||||
- {id: 413, cat: PC, desc: "软件 (Software)", default: true}
|
||||
- {id: 411, cat: Other, desc: "漫画/CG杂图/动漫杂志 (Photo)", default: true}
|
||||
- {id: 418, cat: XXX/ImageSet, desc: "写真 (Photography)", default: false}
|
||||
- {id: 429, cat: XXX/Other, desc: "音声 (Audio)", default: false}
|
||||
- {id: 428, cat: XXX/Other, desc: "H-游戏 (H-Games)", default: false}
|
||||
- {id: 427, cat: XXX/ImageSet, desc: "H-CG杂图 (H-CG Miscellaneous Pictures)", default: false}
|
||||
- {id: 426, cat: XXX/Other, desc: "H-3D同人动画 (H-3D Doujin Animation)", default: false}
|
||||
- {id: 425, cat: XXX/Other, desc: "H-2D同人动画 (H-2D Doujin Animation)", default: false}
|
||||
- {id: 424, cat: XXX/Other, desc: "H-漫画 (H-Manga)", default: false}
|
||||
- {id: 423, cat: XXX/Other, desc: "里番 (Riban)", default: false}
|
||||
- {id: 420, cat: XXX, desc: "AV有码 (AV Censored)", default: false}
|
||||
- {id: 419, cat: XXX, desc: "AV无码 (AV uncensored)", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -74,6 +86,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 430, 405, 408, 410, 404, 412, 413, 411]
|
||||
- path: special.php
|
||||
categories: [418, 429, 428, 427, 426, 425, 424, 423, 422, 420, 419]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://infire.si/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
# Filmi
|
||||
- {id: 14, cat: Movies/SD, desc: "XviD", default: true}
|
||||
|
||||
@@ -18,6 +18,7 @@ legacylinks:
|
||||
- https://last-torrents.org/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV/Anime, desc: "Movies: Anime", default: true}
|
||||
- {id: 2, cat: TV/Anime, desc: "Movies: Anime-Ro", default: true}
|
||||
|
||||
@@ -193,4 +193,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.3.1
|
||||
# json UNIT3D 8.3.6
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://majomparade.eu/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 4, cat: Movies/3D, desc: "3D/Magyar", default: true}
|
||||
- {id: 5, cat: Movies/3D, desc: "3D/Külföldi", default: true}
|
||||
|
||||
@@ -175,6 +175,10 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 0.4
|
||||
# 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.3
|
||||
|
||||
@@ -1,20 +1,27 @@
|
||||
---
|
||||
id: leech24-api
|
||||
name: leech24 (API)
|
||||
description: "leech24 is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
id: nordicquality-api
|
||||
name: NordicQuality (API)
|
||||
description: "NordicQuality is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://leech24.net/
|
||||
- https://nordicq.org/
|
||||
legacylinks:
|
||||
- https://nordicq.info/ # 404 Not Found nginx/1.18.0 (Ubuntu)
|
||||
- https://nordicq.cc/ # 404 Not Found nginx/1.18.0 (Ubuntu)
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 7, cat: Books, desc: "Books"}
|
||||
- {id: 4, cat: Console, desc: "Games"}
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 9, cat: Audio/Other, desc: "Podcasts"}
|
||||
- {id: 5, cat: PC, desc: "Software"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Console, desc: "Game"}
|
||||
- {id: 4, cat: Audio, desc: "Music"}
|
||||
- {id: 5, cat: Other, desc: "Misc"}
|
||||
- {id: 12, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -30,7 +37,7 @@ 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://leech24.net/\" target=\"_blank\">leech24</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://nordicq.org/\" target=\"_blank\">NordicQuality</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -58,7 +65,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You must log in to the leech24 web site with your browser once every 120 days to prevent your account from getting disabled."
|
||||
default: "Your membership requires that you stay active at NordicQuality. To not get disabled, you are required to login to the site at least once every 90 days."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -183,10 +190,10 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 1.0 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 1.0
|
||||
# global MR is 0.4 but torrents must be seeded for 3 days or 1:1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.3.6
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://www.okpt.net/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧", default: true}
|
||||
@@ -23,14 +24,11 @@ caps:
|
||||
- {id: 413, cat: Console, desc: "Games/游戏", default: true}
|
||||
- {id: 431, cat: PC, desc: "Software/软件", default: true}
|
||||
- {id: 409, cat: Other, desc: "Misc/其他", default: true}
|
||||
# special
|
||||
- {id: 412, cat: XXX/Other, desc: "3XBook/写真图影", default: false}
|
||||
- {id: 411, cat: XXX/x264, desc: "3XVideo/写真影片", default: false}
|
||||
- {id: 410, cat: XXX/ImageSet, desc: "3XImageSet/写真图片", default: false}
|
||||
- {id: 415, cat: Audio, desc: "Music/音乐", default: false}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV", default: false}
|
||||
- {id: 437, cat: Audio/Video, desc: "Concert/演唱会", default: false}
|
||||
- {id: 438, cat: Audio/Video, desc: "Concert/音乐会", default: false}
|
||||
- {id: 416, cat: Other, desc: "Misc/其它", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -88,7 +86,7 @@ search:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 407, 436, 405, 434, 432, 413, 431, 409]
|
||||
- path: special.php
|
||||
categories: [412, 411, 410, 415, 437, 438, 416]
|
||||
categories: [411, 410, 415, 406, 437]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -10,8 +10,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.oxtorrent.im/
|
||||
- https://oxtorrent.proxyninja.org/
|
||||
- https://www-oxtorrent.com/
|
||||
- https://www-torrent911.com/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
@@ -24,7 +24,6 @@ legacylinks:
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# actual legacylinks
|
||||
- https://www.oxtorrent.nl/
|
||||
- https://www.oxtorrent.sbs/
|
||||
- https://www.oxtorrent.wtf/
|
||||
- https://www.oxtorrent.tf/
|
||||
@@ -38,6 +37,11 @@ legacylinks:
|
||||
- https://www.oxtorrent.gl/
|
||||
- https://www.oxtorrent.gy/
|
||||
- https://www.oxtorrent.cz/
|
||||
- https://www.torrent911.lol/
|
||||
- https://www.oxtorrent.im/
|
||||
- https://www.oxtorrent.cv/
|
||||
- https://www.torrent911.ke/
|
||||
- https://oxtorrent.proxyninja.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://piggo.me/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片", default: true}
|
||||
@@ -20,17 +21,19 @@ caps:
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育", default: true}
|
||||
- {id: 409, cat: Other, desc: "Misc/其他", default: true}
|
||||
- {id: 408, cat: Audio, desc: "Music/音乐", default: true}
|
||||
# kids zone
|
||||
- {id: 908, cat: TV, desc: "TV Series/剧集", default: false}
|
||||
- {id: 909, cat: Movies, desc: "Movies/电影", default: false}
|
||||
- {id: 905, cat: Audio/Video, desc: "MusicVideo/MV", default: false}
|
||||
- {id: 907, cat: Audio, desc: "Music/音乐", default: false}
|
||||
- {id: 909, cat: Movies, desc: "Movies/电 影 🎬", default: false}
|
||||
- {id: 908, cat: TV/Anime, desc: "Animation Series/剧集动画", default: false}
|
||||
- {id: 905, cat: Audio, desc: "Audiobooks/有声读物", default: false}
|
||||
- {id: 910, cat: Books, desc: "Picture Books/读书绘本", default: false}
|
||||
- {id: 907, cat: TV/Documentary, desc: "Documentaries/纪录片🏞️", default: false}
|
||||
- {id: 911, cat: Audio, desc: "Music/音 乐 🎧", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
@@ -90,7 +93,7 @@ search:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 409]
|
||||
- path: special.php
|
||||
categories: [905, 907, 908, 909]
|
||||
categories: [909, 908, 905, 910, 907, 911]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
|
||||
@@ -229,8 +229,9 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# global MR is 0.4 but torrents must be seeded for 2 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
|
||||
@@ -106,12 +106,11 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
@@ -125,15 +124,10 @@ settings:
|
||||
MULTi POLISH: MULTi POLISH
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[name="login"]
|
||||
# using cookie to prevent FlareSolverrSharp invalid-charset-exception after picking up `charset=utf8mb4` #15835
|
||||
method: cookie
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: font[color="#FF0000"]
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
@@ -188,17 +188,12 @@ settings:
|
||||
1: asc
|
||||
|
||||
login:
|
||||
path: forum/login.php
|
||||
path: forum/index.php
|
||||
method: form
|
||||
form: form[action="login.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src*="/captcha/"]
|
||||
input: input[name^="cap_code_"]
|
||||
form: form[action="/forum/login.php"]
|
||||
inputs:
|
||||
input[name="login_username"]: "{{ .Config.username }}"
|
||||
input[name="login_password"]: "{{ .Config.password }}"
|
||||
selectors: true
|
||||
login_username: "{{ .Config.username }}"
|
||||
login_password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div:contains("Форум временно отключен")
|
||||
- selector: h4.warnColor1.tCenter.mrg_16
|
||||
|
||||
@@ -17,7 +17,7 @@ caps:
|
||||
- {id: 20, cat: XXX, desc: "груповушка"}
|
||||
- {id: 16, cat: XXX, desc: "анальный секс"}
|
||||
- {id: 22, cat: XXX, desc: "Молодые девушки"}
|
||||
- {id: 24, cat: XXX, desc: "минет / куннилингус / орал"}
|
||||
- {id: 24, cat: XXX, desc: "Минет / куннилингус / оральный секс"}
|
||||
- {id: 25, cat: XXX, desc: "большая грудь"}
|
||||
- {id: 28, cat: XXX, desc: "порно видео зрелых"}
|
||||
- {id: 29, cat: XXX, desc: "видео кастинг"}
|
||||
|
||||
@@ -6,13 +6,13 @@ language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
certificates:
|
||||
- 354aadd98a20cd4c28c115dae3a4b3f19d528df0 # CN=ptfans.cc (for cusat.win)
|
||||
links:
|
||||
- https://ptfans.cc/
|
||||
legacylinks:
|
||||
- https://cusat.win/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
|
||||
- {id: 404, cat: TV, desc: "TV Series/电视剧", default: true}
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://www.pttime.org/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies(电影)", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series(电视剧)", default: true}
|
||||
@@ -21,10 +22,8 @@ caps:
|
||||
- {id: 409, cat: Other, desc: "Art(舞蹈、歌剧、戏曲、相声、评书等)", default: true}
|
||||
- {id: 411, cat: Other, desc: "Science(科学、知识、技能)", default: true}
|
||||
- {id: 412, cat: Other, desc: "School(应试、考级、初中以上教育)", default: true}
|
||||
- {id: 413, cat: Books, desc: "Book(书籍、有声书)", default: true}
|
||||
- {id: 420, cat: PC, desc: "Code(IT、编程、大数据、人工智能", default: true}
|
||||
- {id: 430, cat: TV/Anime, desc: "Animate(3D动画、2.5次元)", default: true}
|
||||
- {id: 431, cat: TV/Anime, desc: "ACGN(二次元)", default: true}
|
||||
- {id: 432, cat: TV/Other, desc: "Baby(婴幼、早教、小学及相关)", default: true}
|
||||
- {id: 450, cat: Other, desc: "Resource(资源、素材、模板)", default: true}
|
||||
- {id: 451, cat: PC, desc: "Software(软件、系统、 程序、APP等)", default: true}
|
||||
@@ -37,13 +36,14 @@ caps:
|
||||
- {id: 445, cat: XXX, desc: "9kg-H书籍(书籍、有声书)", default: false}
|
||||
- {id: 446, cat: XXX, desc: "9kg-H写真(图片、私拍、短视频)", default: false}
|
||||
- {id: 447, cat: XXX, desc: "9kg-H音频(ASMR、音乐、音频)", default: false}
|
||||
- {id: 448, cat: XXX, desc: "9kg-H综(综艺、综合、剪辑、其他等)", default: false}
|
||||
- {id: 449, cat: XXX, desc: "9kg-H同(男同、女同、人妖)", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -99,9 +99,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 408, 409, 411, 412, 413, 420, 430, 431, 432, 450, 451, 490]
|
||||
categories: [401, 402, 403, 404, 405, 406, 408, 409, 411, 412, 420, 430, 432, 450, 451, 490]
|
||||
- path: adults.php
|
||||
categories: [440, 441, 442, 443, 444, 445, 446, 447]
|
||||
categories: [440, 441, 442, 443, 444, 445, 446, 447, 448, 449]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
# currently supports only one query id at one time.
|
||||
|
||||
@@ -12,9 +12,10 @@ caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "电影"}
|
||||
- {id: 402, cat: TV, desc: "剧集"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫"}
|
||||
- {id: 415, cat: TV, desc: "短剧"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫"}
|
||||
- {id: 416, cat: TV/Other, desc: "儿童动画"}
|
||||
- {id: 403, cat: TV, desc: "综艺"}
|
||||
- {id: 409, cat: Audio, desc: "音乐"}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV"}
|
||||
|
||||
@@ -1,38 +1,31 @@
|
||||
---
|
||||
id: hdpt
|
||||
name: HDPT (明教)
|
||||
description: "HDPT (明教) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
id: rain
|
||||
name: Rain (雨)
|
||||
description: "Rain (雨) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdpt.xyz/
|
||||
- https://raingfh.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐 视频"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 409, cat: Other, desc: "Misc/其他"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/高清音轨"}
|
||||
- {id: 410, cat: PC, desc: "Software/软件"}
|
||||
- {id: 411, cat: Books/EBook, desc: "E-book/电子书"}
|
||||
- {id: 412, cat: Books/Comics, desc: "Comics/漫画"}
|
||||
- {id: 413, cat: Other/Misc, desc: "Learning/学习资料"}
|
||||
- {id: 414, cat: Console, desc: "Games/游戏"}
|
||||
- {id: 415, cat: Other/Misc, desc: "gallery/图库"}
|
||||
- {id: 416, cat: Audio, desc: "Quyi/曲艺"}
|
||||
- {id: 408, cat: Audio, desc: "音乐 / HQ Audio"}
|
||||
- {id: 409, cat: Other, desc: "其他 / Misc"}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports"}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV / Music Videos"}
|
||||
- {id: 403, cat: Movies, desc: "综艺 / TV Shows"}
|
||||
- {id: 402, cat: TV, desc: "电视剧 / TVSeries"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary"}
|
||||
- {id: 401, cat: Movies, desc: "电影 / Movies"}
|
||||
- {id: 410, cat: Other, desc: "其他 / Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -47,7 +40,7 @@ settings:
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the CarPT Web Site. Otherwise just leave it empty."
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Rain Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -72,6 +65,10 @@ settings:
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 4000 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 3650 consecutive days</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -94,20 +91,20 @@ login:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="logout.php"]
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
@@ -115,27 +112,27 @@ search:
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href*="details.php?id="])
|
||||
selector: table.torrents > tbody > tr:has(a[href^="download.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="?cat="]
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href*="details.php?id="]
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href*="details.php?id="]
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href*="details.php?id="]
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="download.php?id="]
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
@@ -196,4 +193,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.6 2023-08-18
|
||||
# NexusPHP v1.8.13 2024-09-21
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://rotorrent.ro/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 18, cat: PC/0day, desc: "Apps: PC", default: true}
|
||||
- {id: 55, cat: TV/Documentary, desc: "Docs: Docs", default: true}
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://rousi.zip/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies(电影)", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series(电视剧)", default: true}
|
||||
@@ -29,7 +30,6 @@ caps:
|
||||
- {id: 417, cat: Other, desc: "Resource(图片、文档、素材、模板)", default: true}
|
||||
- {id: 418, cat: PC, desc: "Software(软件、系统、程序、APP等)", default: true}
|
||||
- {id: 409, cat: Other, desc: "Other(其它,确认上边无分类)", default: true}
|
||||
# special
|
||||
- {id: 420, cat: XXX, desc: "步兵(步兵/无码)", default: false}
|
||||
- {id: 421, cat: XXX, desc: "骑兵(骑兵/有码)", default: false}
|
||||
- {id: 422, cat: XXX, desc: "III(三级片、限制级电影)", default: false}
|
||||
|
||||
@@ -9,22 +9,8 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://23jan.rudub.online/
|
||||
- https://06feb.rudub.online/
|
||||
legacylinks:
|
||||
- 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/
|
||||
- https://03january.rudub.online/
|
||||
- https://04january.rudub.online/
|
||||
- https://05january.rudub.online/
|
||||
- https://06january.rudub.online/
|
||||
- https://07january.rudub.online/
|
||||
- https://08january.rudub.online/
|
||||
- https://09january.rudub.online/
|
||||
@@ -50,6 +36,34 @@ legacylinks:
|
||||
- http://22jan.rudub.online/
|
||||
- https://22jan.rudub.online/
|
||||
- http://23jan.rudub.online/
|
||||
- https://23jan.rudub.online/
|
||||
- http://24jan.rudub.online/
|
||||
- https://24jan.rudub.online/
|
||||
- http://25jan.rudub.online/
|
||||
- https://25jan.rudub.online/
|
||||
- http://26jan.rudub.online/
|
||||
- https://26jan.rudub.online/
|
||||
- http://27jan.rudub.online/
|
||||
- https://27jan.rudub.online/
|
||||
- http://28jan.rudub.online/
|
||||
- https://28jan.rudub.online/
|
||||
- http://29jan.rudub.online/
|
||||
- https://29jan.rudub.online/
|
||||
- http://30jan.rudub.online/
|
||||
- https://30jan.rudub.online/
|
||||
- http://31jan.rudub.online/
|
||||
- https://31jan.rudub.online/
|
||||
- http://01feb.rudub.online/
|
||||
- https://01feb.rudub.online/
|
||||
- http://02feb.rudub.online/
|
||||
- https://02feb.rudub.online/
|
||||
- http://03feb.rudub.online/
|
||||
- https://03feb.rudub.online/
|
||||
- http://04feb.rudub.online/
|
||||
- https://04feb.rudub.online/
|
||||
- http://05feb.rudub.online/
|
||||
- https://05feb.rudub.online/
|
||||
- http://06feb.rudub.online/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -10,16 +10,16 @@ links:
|
||||
|
||||
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"}
|
||||
- {id: 1, cat: Movies, desc: "Filmes", default: true}
|
||||
- {id: 2, cat: TV, desc: "Séries", default: true}
|
||||
- {id: 3, cat: TV/Anime, desc: "Animes", default: true}
|
||||
- {id: 4, cat: Other, desc: "Cursos", default: false}
|
||||
- {id: 5, cat: Console, desc: "Games", default: true}
|
||||
- {id: 6, cat: Books/EBook, desc: "Livros", default: true}
|
||||
- {id: 7, cat: Books/Comics, desc: "HQs", default: true}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "AudioBooks", default: true}
|
||||
- {id: 9, cat: PC, desc: "Programas", default: true}
|
||||
- {id: 10, cat: Other, desc: "Materiais de Apoio", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -15,6 +15,7 @@ legacylinks:
|
||||
- https://bearbit.co/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "@พระมหากษัตริย์ (@King)", default: true}
|
||||
- {id: 75, cat: PC/0day, desc: "OS วินโดว์/ออฟฟิศ (OS Windows/Office)", default: true}
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
---
|
||||
id: simpleanime
|
||||
name: SimpleAnime
|
||||
description: "SimpleAnime is a CHINESE Public torrent tracker for ANIME"
|
||||
language: zh-CN
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.36dm.org/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Anime: TV/Anime
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
# cant use magnet directly, generates Invalid non-ASCII or control character in header: 0x79BB
|
||||
infohash:
|
||||
hash:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
title:
|
||||
selector: h4
|
||||
filters:
|
||||
- name: trim
|
||||
- name: validfilename
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.36dm.org/
|
||||
# https://www.36dm.org/search-gene_20ai.htm
|
||||
- path: "{{ if .Keywords }}search-{{ .Keywords }}-1.htm{{ else }}/{{ end }}"
|
||||
keywordsfilters:
|
||||
- name: replace
|
||||
args: [" ", "_20"]
|
||||
|
||||
rows:
|
||||
selector: ul.threadlist > li:not(:has(a[href="thread-338792.htm"])):not(:has(a[href="thread-342865.htm"])):not(:has(a[href="thread-290995.htm"]))
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Anime
|
||||
title:
|
||||
selector: a[href^="thread-"]
|
||||
details:
|
||||
selector: a[href^="thread-"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="thread-"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
selector: span.date:contains("前")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["秒前", " seconds ago"]
|
||||
- name: replace
|
||||
args: ["分钟前", " minutes ago"]
|
||||
- name: replace
|
||||
args: ["小时前", " hours ago"]
|
||||
- name: replace
|
||||
args: ["天前", " days ago"]
|
||||
- name: replace
|
||||
args: ["月前", " months ago"]
|
||||
- name: replace
|
||||
args: ["年前", " years ago"]
|
||||
- name: timeago
|
||||
date_added:
|
||||
selector: span.date:not(:contains("前"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-M-d zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
text: 512MB
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# BBS 4.0.4
|
||||
@@ -13,13 +13,10 @@ legacylinks:
|
||||
caps:
|
||||
categorymappings:
|
||||
# PC Games # Игры для PC
|
||||
- {id: 2, cat: PC/Games, desc: "Игры для PC (общее)"}
|
||||
- {id: 14, cat: PC/Games, desc: "Альфа-, Бета- и Демо-версии"}
|
||||
- {id: 13, cat: PC/Games, desc: "Русификаторы"}
|
||||
- {id: 10, cat: PC/Games, desc: "Дополнения для игр"}
|
||||
- {id: 9, cat: PC/Games, desc: "Игровые журналы и приложенные материалы"}
|
||||
- {id: 2, cat: PC/Games, desc: "Игры для PC (в разработке, разное, обсуждения)"}
|
||||
- {id: 14, cat: PC/Games, desc: "Игры в разработке и демо-версии"}
|
||||
- {id: 9, cat: PC/Games, desc: "Разное (дополнения, патчи, русификаторы)"}
|
||||
- {id: 18, cat: PC/Games, desc: "Горячие новинки"}
|
||||
- {id: 808, cat: PC/Games, desc: "Репаки от R.G. Механики"}
|
||||
- {id: 809, cat: PC/Games, desc: "Горячие новинки от R.G. Механики"}
|
||||
- {id: 810, cat: PC/Games, desc: "Аркады от R.G. Механики"}
|
||||
- {id: 811, cat: PC/Games, desc: "Приключения и квесты от R.G. Механики"}
|
||||
@@ -28,14 +25,6 @@ caps:
|
||||
- {id: 814, cat: PC/Games, desc: "Action от R.G. Механики"}
|
||||
- {id: 815, cat: PC/Games, desc: "RPG от R.G. Механики"}
|
||||
- {id: 903, cat: PC/Games, desc: "jRPG от R.G. Механики"}
|
||||
- {id: 887, cat: PC/Games, desc: "Раздачи от R.G. Игроманы"}
|
||||
- {id: 888, cat: PC/Games, desc: "Аркады от R.G. Игроманы"}
|
||||
- {id: 889, cat: PC/Games, desc: "Приключения и квесты от R.G. Игроманы"}
|
||||
- {id: 890, cat: PC/Games, desc: "Стратегии от R.G. Игроманы"}
|
||||
- {id: 891, cat: PC/Games, desc: "Симуляторы от R.G. Игроманы"}
|
||||
- {id: 892, cat: PC/Games, desc: "Action от R.G. Игроманы"}
|
||||
- {id: 893, cat: PC/Games, desc: "RPG от R.G. Игроманы"}
|
||||
- {id: 913, cat: PC/Games, desc: "Раздачи от R.G. GOGFAN"}
|
||||
- {id: 935, cat: PC/Games, desc: "Ранний доступ от R.G. GOGFAN"}
|
||||
- {id: 914, cat: PC/Games, desc: "Аркады от R.G. GOGFAN"}
|
||||
- {id: 915, cat: PC/Games, desc: "Приключения и квесты от R.G. GOGFAN"}
|
||||
@@ -45,32 +34,15 @@ caps:
|
||||
- {id: 928, cat: PC/Games, desc: "RPG от R.G. GOGFAN"}
|
||||
- {id: 24, cat: PC/Games, desc: "Приключения и квесты"}
|
||||
- {id: 25, cat: PC/Games, desc: "Стратегии"}
|
||||
- {id: 28, cat: PC/Games, desc: "RTS (стратегии в реальном времени)"}
|
||||
- {id: 27, cat: PC/Games, desc: "TBS (пошаговые стратегии)"}
|
||||
- {id: 26, cat: PC/Games, desc: "Wargame"}
|
||||
- {id: 238, cat: PC/Games, desc: "Экономические стратегии"}
|
||||
- {id: 19, cat: PC/Games, desc: "Аркады"}
|
||||
- {id: 23, cat: PC/Games, desc: "Аркады (разное)"}
|
||||
- {id: 22, cat: PC/Games, desc: "Логические аркады"}
|
||||
- {id: 21, cat: PC/Games, desc: "Настольные и карточные аркады"}
|
||||
- {id: 20, cat: PC/Games, desc: "Мини/флеш-игры"}
|
||||
- {id: 21, cat: PC/Games, desc: "Аркады (основной)"}
|
||||
- {id: 23, cat: PC/Games, desc: "Аркады (коллекции, антологии)"}
|
||||
- {id: 29, cat: PC/Games, desc: "Симуляторы"}
|
||||
- {id: 31, cat: PC/Games, desc: "Авиасимуляторы"}
|
||||
- {id: 34, cat: PC/Games, desc: "Спортивные симуляторы"}
|
||||
- {id: 33, cat: PC/Games, desc: "Космические симуляторы"}
|
||||
- {id: 32, cat: PC/Games, desc: "Гоночные симуляторы"}
|
||||
- {id: 30, cat: PC/Games, desc: "Другие симуляторы"}
|
||||
- {id: 35, cat: PC/Games, desc: "Action"}
|
||||
- {id: 39, cat: PC/Games, desc: "FPS (1st Person)"}
|
||||
- {id: 38, cat: PC/Games, desc: "TPS (3rd Person)"}
|
||||
- {id: 37, cat: PC/Games, desc: "Stealth Action"}
|
||||
- {id: 36, cat: PC/Games, desc: "Тактические шутеры"}
|
||||
- {id: 40, cat: PC/Games, desc: "RPG"}
|
||||
- {id: 35, cat: PC/Games, desc: "Экшены"}
|
||||
- {id: 40, cat: PC/Games, desc: "Ролевые игры"}
|
||||
- {id: 41, cat: PC/Games, desc: "Эротические игры"}
|
||||
- {id: 43, cat: PC/Games, desc: "Эротические"}
|
||||
- {id: 42, cat: PC/Games, desc: "Хентайные"}
|
||||
- {id: 968, cat: PC/Games, desc: "Игры для VR"}
|
||||
- {id: 44, cat: PC/Games, desc: "Многопользовательские игры"}
|
||||
- {id: 46, cat: PC/Games, desc: "Для самых маленьких"}
|
||||
# Games for Consoles # Игры для Консолей
|
||||
- {id: 69, cat: Console/XBox, desc: "Xbox"}
|
||||
@@ -98,7 +70,6 @@ caps:
|
||||
- {id: 105, cat: Console/PSP, desc: "PSP | PSX-PSP"}
|
||||
- {id: 690, cat: Console/PS3, desc: "PS3 | Прочее"}
|
||||
- {id: 178, cat: Console/PSP, desc: "PSP | Прочее"}
|
||||
- {id: 101, cat: Console/PSP, desc: "Архив (PS)"}
|
||||
- {id: 78, cat: Console/NDS, desc: "Nintendo"}
|
||||
- {id: 148, cat: Console/NDS, desc: "Архив (Nintendo)"}
|
||||
- {id: 116, cat: Console/NDS, desc: "NDS | Игры"}
|
||||
@@ -115,7 +86,6 @@ caps:
|
||||
- {id: 352, cat: Console, desc: "Игры для старых консолей"}
|
||||
- {id: 390, cat: Console, desc: "Коллекции (игры для разных платформ)"}
|
||||
# Games for macOS and Linux # Игры для macOS и Linux
|
||||
- {id: 936, cat: PC/Games, desc: "Горячие новинки игр для macOS и Linux"}
|
||||
- {id: 129, cat: PC/Games, desc: "Игры для Linux от R.G. GOGFAN"}
|
||||
- {id: 965, cat: PC/Games, desc: "[Linux] Ранний доступ от R.G. GOGFAN"}
|
||||
- {id: 874, cat: PC/Games, desc: "[Linux] Аркады от R.G. GOGFAN"}
|
||||
@@ -133,154 +103,81 @@ caps:
|
||||
- {id: 878, cat: PC/Games, desc: "[macOS] Action от R.G. GOGFAN"}
|
||||
- {id: 933, cat: PC/Games, desc: "[macOS] RPG от R.G. GOGFAN"}
|
||||
# Cinema # Кинематограф
|
||||
- {id: 429, cat: Movies, desc: "Новинки кинематографа"}
|
||||
- {id: 886, cat: Movies/3D, desc: "Новинки (3D)"}
|
||||
- {id: 964, cat: Movies/UHD, desc: "Новинки (UHD 4K)"}
|
||||
- {id: 934, cat: Movies/BluRay, desc: "Новинки 2018-2019 (Blu-Ray и BDRemux)"}
|
||||
- {id: 431, cat: Movies/WEB-DL, desc: "Новинки 2018-2019 (Web-DL, HD Rips)"}
|
||||
- {id: 430, cat: Movies, desc: "Новинки 2018-2019 (Rips)"}
|
||||
- {id: 703, cat: Movies, desc: "Экранки и Low-рипы (CAMRip, TS, WEBRip)"}
|
||||
- {id: 909, cat: Movies/HD, desc: "Новинки 2018-2019 (HD и HD Rips) с рекламой"}
|
||||
- {id: 908, cat: Movies, desc: "Экранки и Low-рипы с рекламой"}
|
||||
- {id: 429, cat: Movies, desc: "Новинки фильмов и мультфильмов (2024-2025)"}
|
||||
- {id: 964, cat: Movies/UHD, desc: "Новинки | UHD 4K"}
|
||||
- {id: 431, cat: Movies/WEB-DL, desc: "Новинки | HD"}
|
||||
- {id: 430, cat: Movies, desc: "Новинки | Rips"}
|
||||
- {id: 703, cat: Movies, desc: "Новинки | CAMRip, TS, WEBRip(LQ)"}
|
||||
- {id: 74, cat: Movies/Foreign, desc: "Зарубежное кино"}
|
||||
- {id: 963, cat: Movies/UHD, desc: "Зарубежное кино | UHD 4K"}
|
||||
- {id: 121, cat: Movies/BluRay, desc: "Зарубежное кино | Blu-Ray и BDRemux"}
|
||||
- {id: 122, cat: Movies/HD, desc: "Зарубежное кино | HD Rips"}
|
||||
- {id: 123, cat: Movies/DVD, desc: "Зарубежное кино | DVD"}
|
||||
- {id: 122, cat: Movies/HD, desc: "Зарубежное кино | HD"}
|
||||
- {id: 124, cat: Movies/Foreign, desc: "Зарубежное кино | Rips"}
|
||||
- {id: 123, cat: Movies, desc: "Сборники фильмов"}
|
||||
- {id: 75, cat: Movies, desc: "Отечественное кино"}
|
||||
- {id: 974, cat: Movies/UHD, desc: "Отечественное кино | UHD 4K"}
|
||||
- {id: 127, cat: Movies/BluRay, desc: "Отечественное кино | Blu-Ray и BDRemux"}
|
||||
- {id: 128, cat: Movies/HD, desc: "Отечественное кино | HD Rips"}
|
||||
- {id: 130, cat: Movies/DVD, desc: "Российское кино | DVD"}
|
||||
- {id: 131, cat: Movies, desc: "Российское кино | Rips"}
|
||||
- {id: 133, cat: Movies/DVD, desc: "Советское кино | DVD"}
|
||||
- {id: 135, cat: Movies, desc: "Советское кино | Rips"}
|
||||
- {id: 133, cat: Movies/DVD, desc: "Отечественное кино | DVD"}
|
||||
- {id: 131, cat: Movies, desc: "Российское и советское кино | Rips"}
|
||||
- {id: 869, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 161, cat: TV/Foreign, desc: "Зарубежные сериалы"}
|
||||
- {id: 161, cat: TV/Foreign, desc: "Сериалы"}
|
||||
- {id: 886, cat: Movies, desc: "Новинки зарубежных сериалов (2024-2025)"}
|
||||
- {id: 135, cat: Movies, desc: "Зарубежные сериалы до 2024г."}
|
||||
- {id: 160, cat: TV, desc: "Отечественные cериалы"}
|
||||
- {id: 320, cat: TV, desc: "Мультфильмы"}
|
||||
- {id: 325, cat: TV/SD, desc: "Мультфильмы | DVD"}
|
||||
- {id: 938, cat: TV/HD, desc: "Мультфильмы | Blu-Ray и BDRemux"}
|
||||
- {id: 324, cat: TV/HD, desc: "Мультфильмы | HD Rips"}
|
||||
- {id: 326, cat: TV, desc: "Отечественные мультфильмы | Rips"}
|
||||
- {id: 328, cat: TV, desc: "Зарубежные мультфильмы | Rips"}
|
||||
- {id: 328, cat: TV, desc: "Мультфильмы | Rips"}
|
||||
- {id: 330, cat: TV, desc: "Сборники мультфильмов"}
|
||||
- {id: 321, cat: TV, desc: "Мультсериалы"}
|
||||
- {id: 162, cat: TV/Documentary, desc: "Документальные фильмы и телепередачи"}
|
||||
- {id: 392, cat: TV, desc: "Развлекательные телепередачи и шоу"}
|
||||
# Anime # Аниме
|
||||
- {id: 693, cat: TV/Anime, desc: "Аниме (Основной)"}
|
||||
- {id: 684, cat: TV/Anime, desc: "Аниме (DVD)"}
|
||||
- {id: 677, cat: TV/Anime, desc: "Аниме DVD [Бутлег]"}
|
||||
- {id: 96, cat: TV/Anime, desc: "Аниме DVD [Лицензии]"}
|
||||
- {id: 678, cat: TV/Anime, desc: "Аниме (HD и Blu-ray)"}
|
||||
- {id: 660, cat: TV/Anime, desc: "Аниме Blu-ray и Remux"}
|
||||
- {id: 95, cat: TV/Anime, desc: "Аниме HD Rips"}
|
||||
- {id: 106, cat: TV/Anime, desc: "Аниме Манга и прочий арт"}
|
||||
- {id: 109, cat: TV/Anime, desc: "Аниме Манга"}
|
||||
- {id: 107, cat: TV/Anime, desc: "Аниме Обои, артбуки и др."}
|
||||
- {id: 685, cat: TV/Anime, desc: "Аниме Азиатские мультфильмы"}
|
||||
- {id: 687, cat: TV/Anime, desc: "Аниме DVD"}
|
||||
- {id: 686, cat: TV/Anime, desc: "Аниме Rips"}
|
||||
- {id: 688, cat: TV/Anime, desc: "Аниме HD Rips"}
|
||||
- {id: 678, cat: TV/Anime, desc: "Аниме (HD и Blu-ray)"}
|
||||
- {id: 95, cat: TV/Anime, desc: "Аниме (HD)"}
|
||||
- {id: 660, cat: TV/Anime, desc: "Аниме ?"}
|
||||
- {id: 680, cat: TV/Anime, desc: "Аниме (Хентай)"}
|
||||
- {id: 681, cat: TV/Anime, desc: "Аниме Censored"}
|
||||
- {id: 682, cat: TV/Anime, desc: "Аниме UnCensored"}
|
||||
- {id: 683, cat: TV/Anime, desc: "Аниме PtCensored"}
|
||||
- {id: 681, cat: TV/Anime, desc: "Аниме Censored"}
|
||||
- {id: 697, cat: TV/Anime, desc: "Аниме Манга, обои, артбуки и др."}
|
||||
# Music and Music Video # Музыка и Музыкальное видео
|
||||
- {id: 451, cat: Audio/Lossless, desc: "Классическая музыка (lossless)"}
|
||||
- {id: 452, cat: Audio/Lossless, desc: "Классическая музыка в современной обработке (lossless)"}
|
||||
- {id: 453, cat: Audio/MP3, desc: "Классическая музыка (mp3)"}
|
||||
- {id: 454, cat: Audio/MP3, desc: "Классическая музыка в современной обработке (mp3)"}
|
||||
- {id: 455, cat: Audio/Video, desc: "Классическая музыка (video)"}
|
||||
- {id: 457, cat: Audio/Lossless, desc: "Зарубежный Jazz, Blues (lossless)"}
|
||||
- {id: 458, cat: Audio/Lossless, desc: "Отечественный Jazz, Blues (lossless)"}
|
||||
- {id: 459, cat: Audio/MP3, desc: "Зарубежный Jazz, Blues (mp3)"}
|
||||
- {id: 460, cat: Audio/MP3, desc: "Отечественный Jazz, Blues (mp3)"}
|
||||
- {id: 461, cat: Audio/Video, desc: "Jazz, Blues (video)"}
|
||||
- {id: 463, cat: Audio/Lossless, desc: "Зарубежный Reggae, Ska, Dub (lossless)"}
|
||||
- {id: 464, cat: Audio/Lossless, desc: "Отечественный Reggae, Ska, Dub (lossless)"}
|
||||
- {id: 465, cat: Audio/MP3, desc: "Зарубежный Reggae, Ska, Dub (mp3)"}
|
||||
- {id: 466, cat: Audio/MP3, desc: "Отечественный Reggae, Ska, Dub (mp3)"}
|
||||
- {id: 467, cat: Audio/Video, desc: "Reggae, Ska, Dub (video)"}
|
||||
- {id: 469, cat: Audio/Lossless, desc: "Rосk (losslеss)"}
|
||||
- {id: 470, cat: Audio/Lossless, desc: "Mеtаl (losslеss)"}
|
||||
- {id: 471, cat: Audio/Lossless, desc: "Аltеrnаtivе, Рunk, Indереndеnt (lоsslеss)"}
|
||||
- {id: 472, cat: Audio/MP3, desc: "Rосk (mр3)"}
|
||||
- {id: 473, cat: Audio/MP3, desc: "Mеtаl (mр3)"}
|
||||
- {id: 474, cat: Audio/MP3, desc: "Аltеrnаtivе, Рunk, Indереndеnt (mр3)"}
|
||||
- {id: 475, cat: Audio/Video, desc: "Зарубежный Rock (video)"}
|
||||
- {id: 450, cat: Audio, desc: "Общий раздел музыки"}
|
||||
- {id: 470, cat: Audio, desc: "Классическая музыка"}
|
||||
- {id: 495, cat: Audio, desc: "New Age, Relax, Meditative & Flamenco"}
|
||||
- {id: 456, cat: Audio, desc: "Jazz, Blues"}
|
||||
- {id: 462, cat: Audio, desc: "JReggae, Ska, Dub"}
|
||||
- {id: 491, cat: Audio, desc: "Фольклор, Народная и Этническая музыка"}
|
||||
- {id: 468, cat: Audio, desc: "Зарубежный Rock"}
|
||||
- {id: 469, cat: Audio/Lossless, desc: "Rосk, Mеtаl, Аltеrnаtivе, Рunk, Indереndеnt (lоsslеss)"}
|
||||
- {id: 472, cat: Audio/MP3, desc: "Rосk, Mеtаl, Аltеrnаtivе, Рunk, Indереndеnt (mp3)"}
|
||||
- {id: 476, cat: Audio, desc: "Отечественный Rock"}
|
||||
- {id: 477, cat: Audio/Lossless, desc: "Rосk, Punk, Alternative (losslеss)"}
|
||||
- {id: 478, cat: Audio, desc: "Mеtаl (losslеss)"}
|
||||
- {id: 479, cat: Audio/MP3, desc: "Rосk, Punk, Alternative (mр3)"}
|
||||
- {id: 480, cat: Audio/MP3, desc: "Mеtаl (mр3)"}
|
||||
- {id: 481, cat: Audio/Video, desc: "Отечественный Rock (video)"}
|
||||
- {id: 482, cat: Audio/MP3, desc: "Поп-музыка, Eurodance, Disco"}
|
||||
- {id: 483, cat: Audio/Lossless, desc: "Зарубежная Поп-музыка (lossless)"}
|
||||
- {id: 484, cat: Audio/Lossless, desc: "Отечественная Поп-музыка (lossless)"}
|
||||
- {id: 485, cat: Audio/Lossless, desc: "Eurodance, Technopop, Disco (lossless)"}
|
||||
- {id: 486, cat: Audio/MP3, desc: "Зарубежная Поп-музыка (mp3)"}
|
||||
- {id: 487, cat: Audio/MP3, desc: "Отечественная Поп-музыка (mp3)"}
|
||||
- {id: 488, cat: Audio/MP3, desc: "Eurodance, Technopop, Disco (mp3)"}
|
||||
- {id: 482, cat: Audio, desc: "Поп-музыка, Eurodance, Disco"}
|
||||
- {id: 483, cat: Audio, desc: "Зарубежная Поп-музыка"}
|
||||
- {id: 484, cat: Audio, desc: "Отечественная Поп-музыка"}
|
||||
- {id: 485, cat: Audio, desc: "Eurodance, Technopop, Disco"}
|
||||
- {id: 489, cat: Audio/MP3, desc: "Поп-музыка, Eurodance, Disco (официальные сборники) (mp3)"}
|
||||
- {id: 490, cat: Audio/Video, desc: "Поп-музыка, Eurodance, Disco (video)"}
|
||||
- {id: 492, cat: Audio/Lossless, desc: "Фольклор, Народная и Этническая музыка (lossless)"}
|
||||
- {id: 493, cat: Audio/MP3, desc: "Фольклор, Народная и Этническая музыка (mp3)"}
|
||||
- {id: 494, cat: Audio/Video, desc: "Фольклор, Народная и Этническая музыка (video)"}
|
||||
- {id: 496, cat: Audio/Lossless, desc: "NewAge, Meditative (lossless)"}
|
||||
- {id: 497, cat: Audio/Lossless, desc: "Flamenco, Акустическая гитара (lossless)"}
|
||||
- {id: 498, cat: Audio/MP3, desc: "NewAge, Meditative (mp3)"}
|
||||
- {id: 499, cat: Audio/MP3, desc: "Flamenco, Акустическая гитара (mp3)"}
|
||||
- {id: 500, cat: Audio/Video, desc: "New Age, Relax, Meditative & Flamenco (video)"}
|
||||
- {id: 501, cat: Audio, desc: "Звуки природы"}
|
||||
- {id: 502, cat: Audio, desc: "Психоактивныe аудиопрограммы"}
|
||||
- {id: 504, cat: Audio/Lossless, desc: "Зарубежный Rap, Hip-Hop, R'n'B (lossless)"}
|
||||
- {id: 505, cat: Audio/Lossless, desc: "Отечественный Rap, Hip-Hop, R'n'B (lossless)"}
|
||||
- {id: 506, cat: Audio/MP3, desc: "Зарубежный Rap, Hip-Hop, R'n'B (mp3)"}
|
||||
- {id: 507, cat: Audio/MP3, desc: "Отечественный Rap, Hip-Hop, R'n'B (mp3)"}
|
||||
- {id: 508, cat: Audio/Video, desc: "Rap, Hip-Hop, R'n'B (video)"}
|
||||
- {id: 510, cat: Audio/Lossless, desc: "Trance, Goa Trance, Psy-Trance, PsyChill, Ambient Dub (lossl.."}
|
||||
- {id: 511, cat: Audio/Lossless, desc: "House, Techno, Hardcore, Hardstyle, Jumpstyle (lossless)"}
|
||||
- {id: 512, cat: Audio/Lossless, desc: "Drum & Bass, Jungle, Breakbeat, Dubstep, IDM (lossless)"}
|
||||
- {id: 513, cat: Audio/Lossless, desc: "Chillout, Lounge, Downtempo, Trip-Hop (lossless)"}
|
||||
- {id: 514, cat: Audio/Lossless, desc: "Traditional Electronic, Ambient, Experimental (lossless)"}
|
||||
- {id: 503, cat: Audio, desc: "Rap, Hip-Hop, R'n'B"}
|
||||
- {id: 504, cat: Audio, desc: "Зарубежный Rap, Hip-Hop, R'n'B"}
|
||||
- {id: 505, cat: Audio, desc: "Отечественный Rap, Hip-Hop, R'n'B"}
|
||||
- {id: 509, cat: Audio, desc: "Электронная музыка"}
|
||||
- {id: 510, cat: Audio, desc: "Trance, Goa Trance, Psy-Trance, PsyChill, Ambient Dub"}
|
||||
- {id: 511, cat: Audio, desc: "House, Techno, Hardcore, Hardstyle, Jumpstyle"}
|
||||
- {id: 512, cat: Audio, desc: "Drum & Bass, Jungle, Breakbeat, Dubstep, IDM"}
|
||||
- {id: 513, cat: Audio, desc: "Chillout, Lounge, Downtempo, Trip-Hop"}
|
||||
- {id: 514, cat: Audio, desc: "Traditional Electronic, Ambient, Experimental"}
|
||||
- {id: 515, cat: Audio, desc: "Industrial, Noise, EBM, Dark Electro, Aggrotech, Synthpop, N.."}
|
||||
- {id: 516, cat: Audio/MP3, desc: "Trance, Goa Trance, Psy-Trance, PsyChill, Ambient Dub (mp3)"}
|
||||
- {id: 517, cat: Audio/MP3, desc: "House, Techno, Hardcore, Hardstyle, Jumpstyle (mp3)"}
|
||||
- {id: 518, cat: Audio/MP3, desc: "Drum & Bass, Jungle, Breakbeat, Dubstep, IDM (mp3)"}
|
||||
- {id: 519, cat: Audio/MP3, desc: "Chillout, Lounge, Downtempo, Trip-Hop (mp3)"}
|
||||
- {id: 520, cat: Audio/MP3, desc: "Traditional Electronic, Ambient, Experimental (mp3)"}
|
||||
- {id: 521, cat: Audio, desc: "Industrial, Noise, EBM, Dark Electro, Aggrotech, Synthpop, N.."}
|
||||
- {id: 522, cat: Audio/Video, desc: "Электронная музыка (video)"}
|
||||
- {id: 524, cat: Audio/Lossless, desc: "Зарубежный шансон (lossless)"}
|
||||
- {id: 525, cat: Audio/Lossless, desc: "Отечественный шансон (lossless)"}
|
||||
- {id: 526, cat: Audio/Lossless, desc: "Авторская песня (lossless)"}
|
||||
- {id: 527, cat: Audio/Lossless, desc: "Военная песня (lossless)"}
|
||||
- {id: 528, cat: Audio/MP3, desc: "Зарубежный шансон (mp3)"}
|
||||
- {id: 529, cat: Audio/MP3, desc: "Отечественный шансон (mp3)"}
|
||||
- {id: 530, cat: Audio, desc: "Отечественный шансон (официальные сборники) (mp3)"}
|
||||
- {id: 531, cat: Audio/MP3, desc: "Авторская песня (mp3)"}
|
||||
- {id: 532, cat: Audio/MP3, desc: "Военная песня (mp3)"}
|
||||
- {id: 533, cat: Audio/Video, desc: "Шансон, Авторская и Военная песня (video)"}
|
||||
- {id: 402, cat: Audio/Lossless, desc: "Саундтреки к фильмам и мультфильмам (lossless)"}
|
||||
- {id: 403, cat: Audio/Lossless, desc: "Саундтреки к аниме (lossless)"}
|
||||
- {id: 399, cat: Audio/Lossless, desc: "Саундтреки к играм (lossless)"}
|
||||
- {id: 401, cat: Audio/MP3, desc: "Саундтреки к фильмам и мультфильмам (mp3)"}
|
||||
- {id: 404, cat: Audio/MP3, desc: "Саундтреки к аниме (mp3)"}
|
||||
- {id: 400, cat: Audio/MP3, desc: "Саундтреки к играм (mp3)"}
|
||||
- {id: 535, cat: Audio/Lossless, desc: "Зарубежная музыка других жанров (lossless)"}
|
||||
- {id: 536, cat: Audio/Lossless, desc: "Отечественная музыка других жанров (lossless)"}
|
||||
- {id: 537, cat: Audio/MP3, desc: "Зарубежная музыка других жанров (mp3)"}
|
||||
- {id: 538, cat: Audio/MP3, desc: "Отечественная музыка других жанров (mp3)"}
|
||||
- {id: 539, cat: Audio/Video, desc: "Музыка других жанров (video)"}
|
||||
- {id: 540, cat: Audio, desc: "Караоке и минусовки (фонограммы)"}
|
||||
- {id: 541, cat: Audio, desc: "Сборники песен для детей"}
|
||||
- {id: 534, cat: Audio, desc: "Музыка разное"}
|
||||
- {id: 396, cat: Audio, desc: "Саундтреки"}
|
||||
- {id: 542, cat: Audio, desc: "Неофициальные и внежанровые сборники"}
|
||||
- {id: 543, cat: Audio, desc: "Неофициальные кинематографические видео"}
|
||||
- {id: 545, cat: Audio, desc: "Многоканальная музыка"}
|
||||
- {id: 546, cat: Audio, desc: "Собственные оцифровки"}
|
||||
- {id: 547, cat: Audio, desc: "Hi-Res stereo"}
|
||||
- {id: 546, cat: Audio, desc: "Собственные оцифровки"}
|
||||
- {id: 535, cat: Audio, desc: "Музыка других жанров"}
|
||||
- {id: 539, cat: Audio, desc: "Музыкальное видео"}
|
||||
# Software # Программное обеспечение
|
||||
- {id: 202, cat: PC/Mac, desc: "Mac OS (для Apple Macintosh)"}
|
||||
- {id: 203, cat: PC/Mac, desc: "Mac OS (для РС-Hackintosh)"}
|
||||
@@ -388,7 +285,6 @@ caps:
|
||||
- {id: 642, cat: PC, desc: "Разное"}
|
||||
# Library # Библиотека
|
||||
- {id: 717, cat: Books, desc: "Аудиокниги"}
|
||||
- {id: 740, cat: Books, desc: "Проект S.T.A.L.K.E.R."}
|
||||
- {id: 738, cat: Books, desc: "Детектив / боевик"}
|
||||
- {id: 739, cat: Books, desc: "Фантастика / фэнтези / мистика / ужасы"}
|
||||
- {id: 836, cat: Books, desc: "Роман / комедийные произведения / приключения"}
|
||||
|
||||
@@ -17,6 +17,7 @@ legacylinks:
|
||||
- https://tctg.in/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 409, cat: Books/Comics, desc: "BD", default: true}
|
||||
- {id: 410, cat: Books/Mags, desc: "Ebooks - Presse", default: true}
|
||||
@@ -63,6 +64,8 @@ caps:
|
||||
- {id: 452, cat: TV/Documentary, desc: "TV - Documentaires", default: true}
|
||||
- {id: 453, cat: TV/Sport, desc: "TV - Sports", default: true}
|
||||
- {id: 435, cat: XXX, desc: "Films - XXX", default: false}
|
||||
- {id: 456, cat: XXX/Other, desc: "BD - XXX", default: false}
|
||||
- {id: 457, cat: XXX/Other, desc: "ebook - xxx", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -152,7 +155,7 @@ search:
|
||||
- path: torrents.php
|
||||
categories: [409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453]
|
||||
- path: special.php
|
||||
categories: [435]
|
||||
categories: [435, 456, 457]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
|
||||
@@ -96,6 +96,7 @@ caps:
|
||||
- {id: 86, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 87, cat: Other, desc: "Wallpapers, Themes & Screensavers"}
|
||||
- {id: 89, cat: PC, desc: "Other Releases"}
|
||||
- {id: 102, cat: Other, desc: "Post And Share"}
|
||||
- {id: 100, cat: Other, desc: "Tutorials"} # undocumented
|
||||
- {id: 103, cat: Other, desc: "Other Topic"} # undocumented
|
||||
|
||||
|
||||
172
src/Jackett.Common/Definitions/thekitchen.yml
Normal file
172
src/Jackett.Common/Definitions/thekitchen.yml
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
id: thekitchen
|
||||
name: The Kitchen
|
||||
description: "TheKitchen (TK) is a Private Torrent Tracker for Cooking / Cuisines / Recipes"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://thekitchen.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 240, cat: Other, desc: "Business : Catering"}
|
||||
- {id: 221, cat: Other, desc: "Cuisine : Indian"}
|
||||
- {id: 215, cat: Other, desc: "Food : Dairy Free"}
|
||||
- {id: 232, cat: Other, desc: "Food : Meat"}
|
||||
- {id: 257, cat: Other, desc: "Franchise : Bake Off/Baking Sh"}
|
||||
- {id: 241, cat: Other, desc: "Business : Food Prep"}
|
||||
- {id: 222, cat: Other, desc: "Cuisine : Italian"}
|
||||
- {id: 251, cat: Other, desc: "Food : Dating/Romance"}
|
||||
- {id: 234, cat: Other, desc: "Food : Organic Food"}
|
||||
- {id: 255, cat: Other, desc: "Franchise : Hells Kitchen"}
|
||||
- {id: 243, cat: Other, desc: "Cuisine : African"}
|
||||
- {id: 223, cat: Other, desc: "Cuisine : Mexican"}
|
||||
- {id: 225, cat: Other, desc: "Food : Desserts/Pastries"}
|
||||
- {id: 235, cat: Other, desc: "Food : Seasonal"}
|
||||
- {id: 254, cat: Other, desc: "Franchise : Iron Chef"}
|
||||
- {id: 216, cat: Other, desc: "Cuisine : American"}
|
||||
- {id: 224, cat: Other, desc: "Cuisine : Middle Eastern"}
|
||||
- {id: 228, cat: Other, desc: "Food : Fish"}
|
||||
- {id: 238, cat: Other, desc: "Food : Soups/Salads/Starter"}
|
||||
- {id: 253, cat: Other, desc: "Franchise : Masterchef"}
|
||||
- {id: 217, cat: Other, desc: "Cuisine : Asian"}
|
||||
- {id: 214, cat: Other, desc: "Cuisine : Spanish"}
|
||||
- {id: 230, cat: Other, desc: "Food : Fruit"}
|
||||
- {id: 236, cat: Other, desc: "Food : Sugar Free"}
|
||||
- {id: 256, cat: Other, desc: "Franchise : Top Chef"}
|
||||
- {id: 249, cat: Other, desc: "Cuisine : Australasia"}
|
||||
- {id: 226, cat: Other, desc: "Drinks : Alchohol"}
|
||||
- {id: 231, cat: Other, desc: "Food : Health Food/Nutrition"}
|
||||
- {id: 229, cat: Other, desc: "Food : Tech/Hygiene"}
|
||||
- {id: 252, cat: TV, desc: "TV : Chef/Food Ent/Drama"}
|
||||
- {id: 218, cat: Other, desc: "Cuisine : British"}
|
||||
- {id: 227, cat: Other, desc: "Drinks : Non-Alchohol"}
|
||||
- {id: 246, cat: Other, desc: "Food : Herbs/Spice/Fungi"}
|
||||
- {id: 233, cat: Other, desc: "Food : Vegan"}
|
||||
- {id: 242, cat: TV, desc: "TV : Chef/Food Shows"}
|
||||
- {id: 219, cat: Other, desc: "Cuisine : European(other)"}
|
||||
- {id: 239, cat: Other, desc: "Food : Bread"}
|
||||
- {id: 250, cat: Other, desc: "Food : Kids"}
|
||||
- {id: 248, cat: Other, desc: "Food : Vegetables"}
|
||||
- {id: 245, cat: TV, desc: "TV : Chef/Food Travel"}
|
||||
- {id: 220, cat: Other, desc: "Cuisine : French"}
|
||||
- {id: 247, cat: Other, desc: "Food : Cooking On A Budget"}
|
||||
- {id: 259, cat: Other, desc: "Food : Kosher"}
|
||||
- {id: 244, cat: Other, desc: "Food : Vegetarian"}
|
||||
- {id: 237, cat: TV, desc: "TV : Reality Food Shows"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: DESC
|
||||
options:
|
||||
DESC: desc
|
||||
ASC: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_tcg
|
||||
type: info
|
||||
label: Message from the TCG staff
|
||||
default: We wish to encourage all members to participate in the communities we are creating. We have worked with the Jackett maintainers to ensure that the security and longevity of our trackers continues, and as such some torrents are removed from the results in Jackett.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Unparked accounts that haven't visited (read: browsed) the site for 38 days (and are over 28 days old) are pruned. Parked accounts are pruned when 112 days have elapsed since the last recorded activity (read: browsed). Seeding activity does NOT count, you must BROWSE the site. Donators with a star (and ONLY donators with a star) are immune to auto-pruning. Power Users and above are also immune. We regularly clean out accounts with very low share ratios that are subject to the Ratio Watch system."
|
||||
|
||||
login:
|
||||
# using cookie method because login page has embedded hCaptcha
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: main.php
|
||||
selector: a[href^="logout.php?id="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 free (not used by request), 4 exclusive, 5 neutral
|
||||
incldead: 1
|
||||
titleonly: 1
|
||||
# 0 Exact, 1 Fuzzy, 3 Parsed, 4 Simple # 2 Pure is not used
|
||||
nonboolean: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
d: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table[border="0"] > tbody > tr.ttable:has(a[href^="browse.php?cat="]):not(:has(font[color="blue"])):not(:contains("*TCG*"))
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Never", "0"]
|
||||
files:
|
||||
selector: td:nth-child(4)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"font[color=\"green\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"font[color=\"green\"]": 0
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
# XBTT TCG 0.98
|
||||
@@ -25,6 +25,7 @@ caps:
|
||||
- {id: 23, cat: TV, desc: "Action/Adventure"}
|
||||
- {id: 24, cat: TV, desc: "Drama"}
|
||||
- {id: 25, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 26, cat: TV, desc: "Cartoons/Animation"}
|
||||
- {id: 27, cat: TV/Sport, desc: "Sport TV"}
|
||||
- {id: 28, cat: TV/Other, desc: "Misc TV"}
|
||||
- {id: 29, cat: TV/Other, desc: "TV Shows Requests"}
|
||||
@@ -65,11 +66,11 @@ caps:
|
||||
- {id: 73, cat: PC, desc: "Windows Operating Systems & MS Apps"}
|
||||
- {id: 74, cat: PC, desc: "Applications Requests"}
|
||||
# - {id: 78, cat: Other, desc: "Practice Area"}
|
||||
- {id: 89, cat: Other, desc: Test"}
|
||||
- {id: 89, cat: Other, desc: "Test"}
|
||||
# undocumented
|
||||
- {id: 100, cat: Books, desc: Comics/Magazines"}
|
||||
- {id: 100, cat: Books, desc: "Comics/Magazines"}
|
||||
- {id: 96, cat: Movies, desc: "Animation Releases"}
|
||||
- {id: 26, cat: TV, desc: "Cartoons/Animation"}
|
||||
- {id: 98, cat: Audio/Audiobook, desc: "Audio Books"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
---
|
||||
id: tjupt
|
||||
name: TJUPT (北洋园PT)
|
||||
description: "TJUPT (北洋园PT) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://tjupt.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series剧集"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries资料"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations动漫"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos音乐"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports体育"}
|
||||
- {id: 408, cat: PC, desc: "Software软件"}
|
||||
- {id: 409, cat: Console, desc: "Games游戏"}
|
||||
- {id: 411, cat: Books, desc: "Books纪录片"}
|
||||
- {id: 412, cat: PC/Mobile-Other, desc: "Mobile移动视频"}
|
||||
- {id: 410, cat: Other, desc: "Misc其他"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Banning rules for account inactivity:<ol><li>Within 180 days, an account is considered active if it meets any of the following conditions: has checked in for at least 1 day; has published at least 1 seed, fun box or new forum topic (non-reply); actually uploaded increments > 5TiB and the seeding integral increment is > 30W</li><li>Users of Megatron level and above ignore the inactivity rules and will keep their accounts forever</li><li>Users with Sword Down the Mountain and above will not be disabled due to inactivity after parking their accounts in the control panel</li><li>Un-parked accounts below the level of Megatron will be disabled if they have been 'inactive' for 180 consecutive days (Effective from 2024).</li><li>Accounts parked below the level of Down the Mountain with a Sword will be disabled if they are 'inactive' for 300 consecutive days (Effective from 2024).</li></ol>"
|
||||
|
||||
login:
|
||||
# switched from the form method to the cookie method due to #15184
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://tjupt.org/torrents.php?incldead=0&spstate=0&picktype=0&inclbookmarked=0&search=&search_area=0&search_mode=0
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
# currently supports only one query id at one time.
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 popular, 3 classic, 4 recomended, 5 0day, 6 imdb top 250
|
||||
picktype: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%, 8 special offer, 9 all promotions
|
||||
spstate: "{{ if .Config.freeleech }}9{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 2 subtitltes, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^\\[([^\\]]+)\\]\\[([^\\]]+)\\]\\[([^\\]]+)\\](.*)$", "$3 [$1][$2]$4"]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details", "download"]
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
font.free: 0
|
||||
font.twoupfree: 0
|
||||
font.halfdown: 0.5
|
||||
font.twouphalfdown: 0.5
|
||||
font.thirtypercent: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
font.twouphalfdown: 2
|
||||
font.twoupfree: 2
|
||||
font.twoup: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.8
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP Standard v1.5 Beta 4 (custom ulvf dlvf)
|
||||
@@ -9,7 +9,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.torrent9.men/
|
||||
- https://www-torrent9.com/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
@@ -22,8 +22,6 @@ legacylinks:
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
# actual legacylinks
|
||||
- https://www.torrent9.tf/
|
||||
- https://www.torrent9.day/
|
||||
- https://www.torrent9.tel/
|
||||
- https://torrent9.unblockninja.com/
|
||||
- https://www.torrent9.plus/
|
||||
@@ -38,6 +36,8 @@ legacylinks:
|
||||
- https://www.torrent9.cv/
|
||||
- https://www.torrent9.ke/
|
||||
- https://www.torrent9.gdn/
|
||||
- https://www.torrent9.men/
|
||||
- https://www.torrent9.icu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://www.torrentdd.com/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "พระมหากษัตริย์", default: true}
|
||||
- {id: 2, cat: TV/Anime, desc: "การ์ตูน/อนิเมชั่น", default: true}
|
||||
|
||||
@@ -7,13 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq352.com/
|
||||
- https://torrentegg43.com/
|
||||
- https://torrentqq354.com/
|
||||
- https://torrentegg45.com/
|
||||
legacylinks:
|
||||
- https://torrentegg28.com/
|
||||
- https://torrentqq337.com/
|
||||
- https://torrentegg29.com/
|
||||
- https://torrentqq338.com/
|
||||
- https://torrentegg30.com/
|
||||
- https://torrentqq339.com/
|
||||
- https://torrentegg31.com/
|
||||
@@ -39,7 +35,11 @@ legacylinks:
|
||||
- https://torrentqq349.com/
|
||||
- https://torrentegg42.com/
|
||||
- https://torrentqq350.com/
|
||||
- https://torrentegg43.com/
|
||||
- https://torrentqq351.com/
|
||||
- https://torrentqq352.com/
|
||||
- https://torrentegg44.com/
|
||||
- https://torrentqq353.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -7,10 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir163.com/
|
||||
- https://torrentsir165.com/
|
||||
legacylinks:
|
||||
- http://torrentsir154.com/
|
||||
- https://torrentsir154.com/
|
||||
- http://torrentsir155.com/
|
||||
- https://torrentsir155.com/
|
||||
- http://torrentsir156.com/
|
||||
@@ -28,6 +26,10 @@ legacylinks:
|
||||
- http://torrentsir162.com/
|
||||
- https://torrentsir162.com/
|
||||
- http://torrentsir163.com/
|
||||
- https://torrentsir163.com/
|
||||
- http://torrentsir164.com/
|
||||
- https://torrentsir164.com/
|
||||
- http://torrentsir165.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -61,7 +61,7 @@ search:
|
||||
gr_id: ""
|
||||
# search in: title
|
||||
sfl: wr_subject
|
||||
stx: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
stx: "{{ if .Keywords }}{{ .Keywords }}{{ else }}2024{{ end }}"
|
||||
# search operand: or, and
|
||||
sop: and
|
||||
|
||||
|
||||
@@ -20,11 +20,13 @@ caps:
|
||||
- {id: 28, cat: Console, desc: "GAME - OYUN"}
|
||||
- {id: 26, cat: Other, desc: "Other"}
|
||||
- {id: 27, cat: PC, desc: "PROGRAM"}
|
||||
- {id: 30, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
|
||||
@@ -49,9 +49,10 @@ caps:
|
||||
- {id: 98, cat: TV, desc: "Dijital Platform DSNP"}
|
||||
- {id: 77, cat: TV, desc: "Dijital Platform EXXEN"}
|
||||
- {id: 87, cat: TV, desc: "Dijital Platform GAIN"}
|
||||
- {id: 88, cat: TV, desc: "Dijital Platform TV+"}
|
||||
- {id: 105, cat: TV, desc: "Dijital Platform Max"}
|
||||
- {id: 101, cat: TV, desc: "Dijital Platform MUBi"}
|
||||
- {id: 103, cat: TV, desc: "Dijital Platform TABii"}
|
||||
- {id: 88, cat: TV, desc: "Dijital Platform TV+"}
|
||||
- {id: 89, cat: TV, desc: "Dijital Platform Diger"}
|
||||
- {id: 31, cat: TV, desc: "Dizi"}
|
||||
- {id: 32, cat: TV, desc: "Dizi Yerli"}
|
||||
|
||||
@@ -193,4 +193,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.1.3
|
||||
# json UNIT3D 8.3.0
|
||||
|
||||
@@ -10,8 +10,8 @@ links:
|
||||
- https://wintersakura.net/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
# torrents.php
|
||||
- {id: 409, cat: Other, desc: "Misc其他", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports体育", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos音乐MV", default: true}
|
||||
@@ -25,7 +25,6 @@ caps:
|
||||
- {id: 422, cat: TV/Anime, desc: "Animation flims动漫电影", default: true}
|
||||
- {id: 410, cat: TV/Documentary, desc: "Documentaries纪录片", default: true}
|
||||
- {id: 401, cat: Movies, desc: "Movies电影", default: true}
|
||||
# special.php
|
||||
- {id: 427, cat: PC, desc: "Software软件/程序/代码", default: false}
|
||||
- {id: 426, cat: Books/Technical, desc: "Papers期刊/论文", default: false}
|
||||
- {id: 428, cat: Books/EBook, desc: "Books图书", default: false}
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "xxxtor is a RUSSIAN Public Torrent Tracker for 3X"
|
||||
language: ru-RU
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 8fc6357f59e24d16d38f06ed34f780717f4bf0b4 # expired 3 Feb 2025
|
||||
links:
|
||||
- https://xxxtor.com/
|
||||
legacylinks:
|
||||
|
||||
@@ -58,7 +58,7 @@ settings:
|
||||
- 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."
|
||||
default: "You must log in once every 30 days or seed at least 1 torrent to not get disabled."
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
|
||||
@@ -1065,6 +1065,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
configData.LastError.Value = "Got captcha during automatic login, please reconfigure manually";
|
||||
logger.Error(string.Format("CardigannIndexer ({0}): Found captcha during automatic login, aborting", Id));
|
||||
landingResultDocument = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Html.Parser;
|
||||
using Jackett.Common.Extensions;
|
||||
using Jackett.Common.Helpers;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig;
|
||||
@@ -28,10 +29,10 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Name => "DonTorrent";
|
||||
public override string Description => "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL";
|
||||
// in the event the redirect is inactive https://t.me/s/dontorrent should have the latest working domain
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.football/";
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.wiki/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.football/",
|
||||
"https://dontorrent.wiki/",
|
||||
"https://todotorrents.org/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/",
|
||||
@@ -40,7 +41,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.cricket/",
|
||||
"https://dontorrent.earth/",
|
||||
"https://dontorrent.date/",
|
||||
"https://dontorrent.email/",
|
||||
@@ -55,6 +55,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://dontorrent.foundation/",
|
||||
"https://dontorrent.co/",
|
||||
"https://dontorrent.auction/",
|
||||
"https://dontorrent.football/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
@@ -169,7 +170,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
var result = await RequestWithCookiesAsync(downloadUrl);
|
||||
if (result.Status != HttpStatusCode.OK)
|
||||
throw new ExceptionWithConfigData(result.ContentString, configData);
|
||||
using var dom = parser.ParseDocument(result.ContentString);
|
||||
using var dom = await parser.ParseDocumentAsync(result.ContentString);
|
||||
|
||||
//var info = dom.QuerySelectorAll("div.descargar > div.card > div.card-body").First();
|
||||
//var title = info.QuerySelector("h2.descargarTitulo").TextContent;
|
||||
@@ -186,15 +187,20 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
private async Task<List<ReleaseInfo>> PerformQueryNewest(TorznabQuery query)
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
|
||||
var url = SiteLink + NewTorrentsUrl;
|
||||
|
||||
var result = await RequestWithCookiesAsync(url);
|
||||
|
||||
if (result.Status != HttpStatusCode.OK)
|
||||
{
|
||||
throw new ExceptionWithConfigData(result.ContentString, configData);
|
||||
logger.Debug("\naaa");
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var searchResultParser = new HtmlParser();
|
||||
using var doc = searchResultParser.ParseDocument(result.ContentString);
|
||||
using var doc = await searchResultParser.ParseDocumentAsync(result.ContentString);
|
||||
|
||||
var rows = doc.QuerySelector("div.seccion#ultimos_torrents > div.card > div.card-body > div");
|
||||
|
||||
@@ -238,11 +244,11 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
if (row.TagName.Equals("BR"))
|
||||
{
|
||||
// we add parsed items to rowDetailsLink to avoid duplicates in newest torrents
|
||||
// list results
|
||||
// we add parsed items to rowDetailsLink to avoid duplicates in the newest torrents list results
|
||||
if (!parsedDetailsLink.Contains(rowDetailsLink) && rowTitle != null)
|
||||
{
|
||||
var cat = GetCategory(rowTitle, rowDetailsLink);
|
||||
|
||||
switch (cat)
|
||||
{
|
||||
case "pelicula":
|
||||
@@ -253,9 +259,8 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
await ParseRelease(releases, rowDetailsLink, rowTitle, cat, rowQuality, query, false);
|
||||
parsedDetailsLink.Add(rowDetailsLink);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// clean the current row
|
||||
rowTitle = null;
|
||||
rowDetailsLink = null;
|
||||
@@ -285,7 +290,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
try
|
||||
{
|
||||
var searchResultParser = new HtmlParser();
|
||||
using var doc = searchResultParser.ParseDocument(result.ContentString);
|
||||
using var doc = await searchResultParser.ParseDocumentAsync(result.ContentString);
|
||||
|
||||
var rows = doc.QuerySelectorAll("div.seccion#buscador > div.card > div.card-body > p");
|
||||
|
||||
@@ -307,7 +312,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
case "pelicula":
|
||||
case "serie":
|
||||
quality = Regex.Replace(row.QuerySelector("p > span > span").TextContent, "([()])", "");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -320,8 +324,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
case "musica":
|
||||
await ParseRelease(releases, link, title, cat, quality, query, matchWords);
|
||||
break;
|
||||
default: //ignore different categories
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -364,8 +366,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
case "musica":
|
||||
await ParseMusicRelease(releases, link, query, title);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,7 +376,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
throw new ExceptionWithConfigData(result.ContentString, configData);
|
||||
|
||||
var searchResultParser = new HtmlParser();
|
||||
using var doc = searchResultParser.ParseDocument(result.ContentString);
|
||||
using var doc = await searchResultParser.ParseDocumentAsync(result.ContentString);
|
||||
|
||||
var data = doc.QuerySelector("div.descargar > div.card > div.card-body");
|
||||
|
||||
@@ -405,7 +405,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
throw new ExceptionWithConfigData(result.ContentString, configData);
|
||||
|
||||
var searchResultParser = new HtmlParser();
|
||||
using var doc = searchResultParser.ParseDocument(result.ContentString);
|
||||
using var doc = await searchResultParser.ParseDocumentAsync(result.ContentString);
|
||||
|
||||
var data = doc.QuerySelector("div.descargar > div.card > div.card-body");
|
||||
|
||||
@@ -455,10 +455,12 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
var result = await RequestWithCookiesAsync(link);
|
||||
if (result.Status != HttpStatusCode.OK)
|
||||
{
|
||||
throw new ExceptionWithConfigData(result.ContentString, configData);
|
||||
}
|
||||
|
||||
var searchResultParser = new HtmlParser();
|
||||
using var doc = searchResultParser.ParseDocument(result.ContentString);
|
||||
using var doc = await searchResultParser.ParseDocumentAsync(result.ContentString);
|
||||
|
||||
// parse tags in title, we need to put the year after the real title (before the tags)
|
||||
// Harry Potter And The Deathly Hallows: Part 1 [subs. Integrados]
|
||||
@@ -467,12 +469,20 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
foreach (Match m in queryMatches)
|
||||
{
|
||||
var tag = m.Groups[1].Value.Trim().ToUpper();
|
||||
|
||||
if (tag.Equals("4K")) // Fix 4K quality. Eg Harry Potter Y La Orden Del Fénix [4k]
|
||||
{
|
||||
quality = "(UHD 4K 2160p)";
|
||||
}
|
||||
else if (tag.Equals("FULLBLURAY")) // Fix 4K quality. Eg Harry Potter Y El Cáliz De Fuego (fullbluray)
|
||||
{
|
||||
quality = "(COMPLETE BLURAY)";
|
||||
}
|
||||
else // Add the tag to the title
|
||||
{
|
||||
tags += " " + tag;
|
||||
}
|
||||
|
||||
title = title.Replace(m.Groups[0].Value, "");
|
||||
}
|
||||
title = title.Trim();
|
||||
@@ -487,8 +497,17 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
quality = Regex.Replace(quality, "HDRip", "BDRip", RegexOptions.IgnoreCase); // fix for Radarr
|
||||
}
|
||||
|
||||
var releaseYear = doc.QuerySelector("div.d-inline-block.ml-2 > p:contains('Año') > a")?.TextContent.Trim();
|
||||
|
||||
// add the year
|
||||
title = query.Year != null ? title + " " + query.Year : title;
|
||||
if (releaseYear.IsNotNullOrWhiteSpace() && Regex.IsMatch(releaseYear!, @"^((?:19|20)\d{2})$"))
|
||||
{
|
||||
title += $" {releaseYear}";
|
||||
}
|
||||
else if (query.Year is > 0)
|
||||
{
|
||||
title += $" {query.Year}";
|
||||
}
|
||||
|
||||
// add the tags
|
||||
title += tags;
|
||||
@@ -498,7 +517,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
// add quality
|
||||
if (quality != null)
|
||||
{
|
||||
title += " " + quality;
|
||||
}
|
||||
|
||||
var info = doc.QuerySelectorAll("div.descargar > div.card > div.card-body").First();
|
||||
var moreinfo = info.QuerySelectorAll("div.text-center > div.d-inline-block");
|
||||
@@ -506,17 +527,28 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
// guess size
|
||||
long size;
|
||||
if (moreinfo.Length == 2)
|
||||
{
|
||||
size = ParseUtil.GetBytes(moreinfo[1].QuerySelector("p").TextContent);
|
||||
}
|
||||
else if (title.ToLower().Contains("4k"))
|
||||
{
|
||||
size = 50.Gigabytes();
|
||||
}
|
||||
else if (title.ToLower().Contains("1080p"))
|
||||
{
|
||||
size = 4.Gigabytes();
|
||||
}
|
||||
else if (title.ToLower().Contains("720p"))
|
||||
{
|
||||
size = 1.Gigabytes();
|
||||
}
|
||||
else
|
||||
{
|
||||
size = 512.Megabytes();
|
||||
}
|
||||
|
||||
var release = GenerateRelease(title, link, link, GetCategory(title, link), DateTime.Now, size);
|
||||
|
||||
releases.Add(release);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://www.filmeshdtorrent.vip/",
|
||||
"https://bludvfilmes.org/",
|
||||
"https://bludvfilmes.org/rarbg/",
|
||||
};
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
@@ -32,6 +32,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://torrentalerta.net/",
|
||||
"https://filmetorrent.org/baixar/",
|
||||
"https://filmetorrent.org/x/",
|
||||
"https://bludvfilmes.org/",
|
||||
};
|
||||
|
||||
public FilmesHdTorrent(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs) : base(configService, wc, l, ps, cs)
|
||||
@@ -84,7 +85,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
var parser = new HtmlParser();
|
||||
var dom = parser.ParseDocument(indexerResponse.Content);
|
||||
var rows = dom.QuerySelectorAll("div.item");
|
||||
var rows = dom.QuerySelectorAll("div.item:has(a[title])");
|
||||
|
||||
foreach (var row in rows)
|
||||
{
|
||||
|
||||
@@ -230,9 +230,12 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
var filename = (string)item["filename"];
|
||||
var name = (string)item["name"];
|
||||
var typeCategory = (int)item["type_category"];
|
||||
var typeMedium = (int)item["type_medium"];
|
||||
|
||||
return configData.UseFilenames.Value && filename.IsNotNullOrWhiteSpace()
|
||||
? filename.Replace(".torrent", "")
|
||||
// Use release name for XXX content and full discs
|
||||
return typeCategory != 7 && typeMedium != 1 && configData.UseFilenames.Value && filename.IsNotNullOrWhiteSpace()
|
||||
? filename!.Replace(".torrent", "")
|
||||
: name;
|
||||
}
|
||||
|
||||
|
||||
@@ -450,10 +450,13 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
private static string CleanTitle(string title)
|
||||
{
|
||||
// drop invalid chars that seems to have cropped up in some titles. #6582
|
||||
// Drop invalid chars that seems to have cropped up in some titles. #6582
|
||||
title = Regex.Replace(title, @"[\u0000-\u0008\u000A-\u001F\u0100-\uFFFF]", string.Empty, RegexOptions.Compiled);
|
||||
title = Regex.Replace(title, @"[\(\[\{]REQ(UEST(ED)?)?[\)\]\}]", string.Empty, RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
||||
// Drop languages between brackets conflicting with anime release group parsing
|
||||
title = Regex.Replace(title, @"^\[[a-z0-9 ._-]+\][-._ ](?<title>.*-[a-z0-9]+)$", "${title}", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
||||
return title.Trim(' ', '-', ':');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,10 +27,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "mejortorrent";
|
||||
public override string Name => "MejorTorrent";
|
||||
public override string Description => "MejorTorrent - Hay veces que un torrent viene mejor! :)";
|
||||
public override string SiteLink { get; protected set; } = "https://www27.mejortorrent.eu/";
|
||||
public override string SiteLink { get; protected set; } = "https://www28.mejortorrent.eu/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www12.mejortorrent.rip/",
|
||||
"https://www13.mejortorrent.rip/",
|
||||
"https://www14.mejortorrent.rip/",
|
||||
"https://www15.mejortorrent.rip/",
|
||||
@@ -45,6 +44,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://www24.mejortorrent.zip/",
|
||||
"https://www25.mejortorrent.zip/",
|
||||
"https://www26.mejortorrent.eu/",
|
||||
"https://www27.mejortorrent.eu/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -73,16 +73,19 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
}
|
||||
};
|
||||
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=1", TorznabCatType.Movies, "Filmer");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=49", TorznabCatType.MoviesUHD, "Filmer - UHD-2160p");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=19", TorznabCatType.MoviesHD, "Filmer - HD-1080p/i");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=20", TorznabCatType.MoviesHD, "Filmer - HD-720p");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=22", TorznabCatType.MoviesSD, "Filmer - SD");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=2", TorznabCatType.TV, "TV");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=49", TorznabCatType.TVUHD, "TV - UHD-2160p");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=19", TorznabCatType.TVHD, "TV - HD-1080p/i");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=20", TorznabCatType.TVHD, "TV - HD-720p");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=22", TorznabCatType.TVSD, "TV - SD");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=3", TorznabCatType.PC, "Programmer");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=4", TorznabCatType.Console, "Spill");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=5", TorznabCatType.Audio, "Musikk");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=42", TorznabCatType.AudioMP3, "Musikk - 192");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=43", TorznabCatType.AudioMP3, "Musikk - 256");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=44", TorznabCatType.AudioMP3, "Musikk - 320");
|
||||
@@ -90,6 +93,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=46", TorznabCatType.AudioLossless, "Musikk - Lossless");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=6", TorznabCatType.Books, "Tidsskrift");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=7", TorznabCatType.AudioAudiobook, "Lydbøker");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=8", TorznabCatType.AudioVideo, "Musikkvideoer");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=8&sub2_cat[]=19", TorznabCatType.AudioVideo, "Musikkvideoer - HD-1080p/i");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=8&sub2_cat[]=20", TorznabCatType.AudioVideo, "Musikkvideoer - HD-720p");
|
||||
caps.Categories.AddCategoryMapping("main_cat[]=8&sub2_cat[]=22", TorznabCatType.AudioVideo, "Musikkvideoer - SD");
|
||||
@@ -283,8 +287,8 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
var title = qDetails?.GetAttribute("title").Trim();
|
||||
var details = new Uri(SiteLink + qDetails?.GetAttribute("href").TrimStart('/'));
|
||||
|
||||
var mainCategory = row.QuerySelector("td:nth-of-type(1) > div > a[href*=\"main_cat[]\"]")?.GetAttribute("href")?.Split('?').Last();
|
||||
var secondCategory = row.QuerySelector("td:nth-of-type(1) > div > a[href*=\"sub2_cat[]\"]")?.GetAttribute("href")?.Split('?').Last();
|
||||
var mainCategory = row.QuerySelector("td:nth-of-type(1) a[href*=\"main_cat[]\"]")?.GetAttribute("href")?.Split('?').Last();
|
||||
var secondCategory = row.QuerySelector("td:nth-of-type(1) a[href*=\"sub2_cat[]\"]")?.GetAttribute("href")?.Split('?').Last();
|
||||
|
||||
var categoryList = new[] { mainCategory, secondCategory };
|
||||
var cat = string.Join("&", categoryList.Where(c => !string.IsNullOrWhiteSpace(c)));
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Threading.Tasks;
|
||||
using Jackett.Common.Extensions;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig;
|
||||
using Jackett.Common.Serializer;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils;
|
||||
using Newtonsoft.Json.Linq;
|
||||
@@ -109,13 +110,11 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
var configGoldenPopcornOnly = configData.FilterString.Value.ToLowerInvariant().Contains("goldenpopcorn");
|
||||
var configSceneOnly = configData.FilterString.Value.ToLowerInvariant().Contains("scene");
|
||||
var configCheckedOnly = configData.FilterString.Value.ToLowerInvariant().Contains("checked");
|
||||
var configFreeOnly = configData.FilterString.Value.ToLowerInvariant().Contains("free");
|
||||
|
||||
var movieListSearchUrl = SearchUrl;
|
||||
var queryCollection = new NameValueCollection
|
||||
{
|
||||
{ "action", "advanced" },
|
||||
@@ -153,7 +152,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
queryCollection.Set("page", page.ToString());
|
||||
}
|
||||
|
||||
movieListSearchUrl += "?" + queryCollection.GetQueryString();
|
||||
var movieListSearchUrl = $"{SearchUrl}?{queryCollection.GetQueryString()}";
|
||||
|
||||
var authHeaders = new Dictionary<string, string>
|
||||
{
|
||||
@@ -161,169 +160,151 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{ "ApiKey", configData.Key.Value }
|
||||
};
|
||||
|
||||
var results = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders);
|
||||
if (results.IsRedirect) // untested
|
||||
var indexerResponse = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders);
|
||||
if (indexerResponse.IsRedirect) // untested
|
||||
{
|
||||
results = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders);
|
||||
indexerResponse = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders);
|
||||
}
|
||||
|
||||
var seasonRegex = new Regex(@"\bS\d{2,3}(E\d{2,3})?\b", RegexOptions.Compiled);
|
||||
|
||||
var releases = new List<ReleaseInfo>();
|
||||
|
||||
try
|
||||
{
|
||||
//Iterate over the releases for each movie
|
||||
var jsResults = JObject.Parse(results.ContentString);
|
||||
var jsonResponse = STJson.Deserialize<PassThePopcornResponse>(indexerResponse.ContentString);
|
||||
|
||||
AuthKey = (string)jsResults["AuthKey"];
|
||||
PassKey = (string)jsResults["PassKey"];
|
||||
|
||||
foreach (var movie in jsResults["Movies"])
|
||||
if (jsonResponse.TotalResults == "0" ||
|
||||
jsonResponse.TotalResults.IsNullOrWhiteSpace() ||
|
||||
jsonResponse.Movies == null)
|
||||
{
|
||||
var movieTitle = (string)movie["Title"];
|
||||
var year = (string)movie["Year"];
|
||||
var movieImdbIdStr = (string)movie["ImdbId"];
|
||||
var posterStr = (string)movie["Cover"];
|
||||
var poster = !string.IsNullOrEmpty(posterStr) ? new Uri(posterStr) : null;
|
||||
var movieImdbId = !string.IsNullOrEmpty(movieImdbIdStr) ? (long?)long.Parse(movieImdbIdStr) : null;
|
||||
var movieGroupId = (string)movie["GroupId"];
|
||||
foreach (var torrent in movie["Torrents"])
|
||||
return releases;
|
||||
}
|
||||
|
||||
foreach (var result in jsonResponse.Movies)
|
||||
{
|
||||
foreach (var torrent in result.Torrents)
|
||||
{
|
||||
var releaseName = (string)torrent["ReleaseName"];
|
||||
var torrentId = (string)torrent["Id"];
|
||||
|
||||
var releaseLinkQuery = new NameValueCollection
|
||||
if (configGoldenPopcornOnly && !torrent.GoldenPopcorn)
|
||||
{
|
||||
{ "action", "download" },
|
||||
{ "id", torrentId },
|
||||
{ "authkey", AuthKey },
|
||||
{ "torrent_pass", PassKey }
|
||||
};
|
||||
// Skip release if user only wants GoldenPopcorn
|
||||
continue;
|
||||
}
|
||||
|
||||
var downloadVolumeFactor = torrent.Value<string>("FreeleechType")?.ToUpperInvariant() switch
|
||||
if (configSceneOnly && !torrent.Scene)
|
||||
{
|
||||
// Skip release if user only wants Scene
|
||||
continue;
|
||||
}
|
||||
|
||||
if (configCheckedOnly && !torrent.Checked)
|
||||
{
|
||||
// Skip release if user only wants Checked
|
||||
continue;
|
||||
}
|
||||
|
||||
var downloadVolumeFactor = torrent.FreeleechType?.ToUpperInvariant() switch
|
||||
{
|
||||
"FREELEECH" => 0,
|
||||
"HALF LEECH" => 0.5,
|
||||
_ => 1
|
||||
};
|
||||
|
||||
bool.TryParse((string)torrent["GoldenPopcorn"], out var golden);
|
||||
bool.TryParse((string)torrent["Scene"], out var scene);
|
||||
bool.TryParse((string)torrent["Checked"], out var check);
|
||||
|
||||
if (configGoldenPopcornOnly && !golden)
|
||||
{
|
||||
continue; //Skip release if user only wants GoldenPopcorn
|
||||
}
|
||||
|
||||
if (configSceneOnly && !scene)
|
||||
{
|
||||
continue; //Skip release if user only wants Scene
|
||||
}
|
||||
|
||||
if (configCheckedOnly && !check)
|
||||
{
|
||||
continue; //Skip release if user only wants Checked
|
||||
}
|
||||
|
||||
if (configFreeOnly && downloadVolumeFactor != 0.0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var link = new Uri($"{SearchUrl}?{releaseLinkQuery.GetQueryString()}");
|
||||
var seeders = int.Parse((string)torrent["Seeders"]);
|
||||
var details = new Uri($"{SearchUrl}?id={WebUtility.UrlEncode(movieGroupId)}&torrentid={WebUtility.UrlEncode(torrentId)}");
|
||||
var size = long.Parse((string)torrent["Size"]);
|
||||
var grabs = long.Parse((string)torrent["Snatched"]);
|
||||
var publishDate = DateTime.ParseExact((string)torrent["UploadTime"], "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToLocalTime();
|
||||
var leechers = int.Parse((string)torrent["Leechers"]);
|
||||
var id = torrent.Id;
|
||||
var title = torrent.ReleaseName;
|
||||
var infoUrl = GetInfoUrl(result.GroupId, id);
|
||||
|
||||
var categories = new List<int> { TorznabCatType.Movies.ID };
|
||||
|
||||
if (releaseName != null && seasonRegex.Match(releaseName).Success)
|
||||
if (title != null && seasonRegex.Match(title).Success)
|
||||
{
|
||||
categories.Add(TorznabCatType.TV.ID);
|
||||
}
|
||||
|
||||
var release = new ReleaseInfo
|
||||
{
|
||||
Guid = link,
|
||||
Link = link,
|
||||
Details = details,
|
||||
Title = releaseName,
|
||||
Description = $"Title: {movieTitle}",
|
||||
Year = int.Parse(year),
|
||||
Guid = infoUrl,
|
||||
Title = title,
|
||||
Year = int.Parse(result.Year),
|
||||
Details = infoUrl,
|
||||
Link = GetDownloadUrl(id, jsonResponse.AuthKey, jsonResponse.PassKey),
|
||||
Category = categories,
|
||||
Poster = poster,
|
||||
Imdb = movieImdbId,
|
||||
Size = size,
|
||||
Grabs = grabs,
|
||||
Seeders = seeders,
|
||||
Peers = seeders + leechers,
|
||||
PublishDate = publishDate,
|
||||
Size = long.Parse(torrent.Size),
|
||||
Grabs = int.Parse(torrent.Snatched),
|
||||
Seeders = int.Parse(torrent.Seeders),
|
||||
Peers = int.Parse(torrent.Leechers) + int.Parse(torrent.Seeders),
|
||||
PublishDate = DateTime.Parse(torrent.UploadTime + " +0000", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
|
||||
Imdb = result.ImdbId.IsNotNullOrWhiteSpace() ? int.Parse(result.ImdbId) : 0,
|
||||
DownloadVolumeFactor = downloadVolumeFactor,
|
||||
UploadVolumeFactor = 1,
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 345600
|
||||
MinimumSeedTime = 345600,
|
||||
Genres = result.Tags?.ToList() ?? new List<string>(),
|
||||
Poster = GetPosterUrl(result.Cover)
|
||||
};
|
||||
|
||||
var titleTags = new List<string>();
|
||||
var quality = (string)torrent["Quality"];
|
||||
var container = (string)torrent["Container"];
|
||||
var codec = (string)torrent["Codec"];
|
||||
var resolution = (string)torrent["Resolution"];
|
||||
var source = (string)torrent["Source"];
|
||||
var otherTags = (string)torrent["RemasterTitle"];
|
||||
|
||||
if (year != null)
|
||||
if (result.Year.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
release.Description += $"<br>\nYear: {year}";
|
||||
release.Description += $"<br>\nYear: {result.Year}";
|
||||
}
|
||||
|
||||
if (quality != null)
|
||||
if (torrent.Quality.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
release.Description += $"<br>\nQuality: {quality}";
|
||||
release.Description += $"<br>\nQuality: {torrent.Quality}";
|
||||
}
|
||||
|
||||
if (resolution != null)
|
||||
if (torrent.Resolution.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
titleTags.Add(resolution);
|
||||
release.Description += $"<br>\nResolution: {resolution}";
|
||||
titleTags.Add(torrent.Resolution);
|
||||
release.Description += $"<br>\nResolution: {torrent.Resolution}";
|
||||
}
|
||||
if (source != null)
|
||||
|
||||
if (torrent.Source.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
titleTags.Add(source);
|
||||
release.Description += $"<br>\nSource: {source}";
|
||||
titleTags.Add(torrent.Source);
|
||||
release.Description += $"<br>\nSource: {torrent.Source}";
|
||||
}
|
||||
if (codec != null)
|
||||
|
||||
if (torrent.Codec.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
titleTags.Add(codec);
|
||||
release.Description += $"<br>\nCodec: {codec}";
|
||||
titleTags.Add(torrent.Codec);
|
||||
release.Description += $"<br>\nCodec: {torrent.Codec}";
|
||||
}
|
||||
if (container != null)
|
||||
|
||||
if (torrent.Container.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
titleTags.Add(container);
|
||||
release.Description += $"<br>\nContainer: {container}";
|
||||
titleTags.Add(torrent.Container);
|
||||
release.Description += $"<br>\nContainer: {torrent.Container}";
|
||||
}
|
||||
if (scene)
|
||||
|
||||
if (torrent.Scene)
|
||||
{
|
||||
titleTags.Add("Scene");
|
||||
release.Description += "<br>\nScene";
|
||||
}
|
||||
if (check)
|
||||
|
||||
if (torrent.Checked)
|
||||
{
|
||||
titleTags.Add("Checked");
|
||||
release.Description += "<br>\nChecked";
|
||||
}
|
||||
if (golden)
|
||||
|
||||
if (torrent.GoldenPopcorn)
|
||||
{
|
||||
titleTags.Add("Golden Popcorn");
|
||||
release.Description += "<br>\nGolden Popcorn";
|
||||
}
|
||||
|
||||
if (otherTags != null)
|
||||
if (torrent.RemasterTitle.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
titleTags.Add(otherTags);
|
||||
titleTags.Add(torrent.RemasterTitle);
|
||||
}
|
||||
|
||||
if (configData.AddAttributesToTitle.Value && titleTags.Any())
|
||||
@@ -337,10 +318,94 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnParseError(results.ContentString, ex);
|
||||
OnParseError(indexerResponse.ContentString, ex);
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
|
||||
private Uri GetDownloadUrl(int torrentId, string authKey, string passKey)
|
||||
{
|
||||
var query = new NameValueCollection
|
||||
{
|
||||
{ "action", "download" },
|
||||
{ "id", torrentId.ToString() },
|
||||
{ "authkey", authKey },
|
||||
{ "torrent_pass", passKey }
|
||||
};
|
||||
|
||||
return new UriBuilder(SiteLink)
|
||||
{
|
||||
Path = "/torrents.php",
|
||||
Query = query.GetQueryString()
|
||||
}.Uri;
|
||||
}
|
||||
|
||||
private Uri GetInfoUrl(string groupId, int torrentId)
|
||||
{
|
||||
var query = new NameValueCollection
|
||||
{
|
||||
{ "id", groupId },
|
||||
{ "torrentid", torrentId.ToString() },
|
||||
};
|
||||
|
||||
return new UriBuilder(SiteLink)
|
||||
{
|
||||
Path = "/torrents.php",
|
||||
Query = query.GetQueryString()
|
||||
}.Uri;
|
||||
}
|
||||
|
||||
private static Uri GetPosterUrl(string cover)
|
||||
{
|
||||
if (cover.IsNotNullOrWhiteSpace() &&
|
||||
Uri.TryCreate(cover, UriKind.Absolute, out var posterUri) &&
|
||||
(posterUri.Scheme == Uri.UriSchemeHttp || posterUri.Scheme == Uri.UriSchemeHttps))
|
||||
{
|
||||
return posterUri;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class PassThePopcornResponse
|
||||
{
|
||||
public string TotalResults { get; set; }
|
||||
public IReadOnlyCollection<PassThePopcornMovie> Movies { get; set; }
|
||||
public string AuthKey { get; set; }
|
||||
public string PassKey { get; set; }
|
||||
}
|
||||
|
||||
public class PassThePopcornMovie
|
||||
{
|
||||
public string GroupId { get; set; }
|
||||
public string Title { get; set; }
|
||||
public string Year { get; set; }
|
||||
public string ImdbId { get; set; }
|
||||
public string Cover { get; set; }
|
||||
public IReadOnlyCollection<string> Tags { get; set; }
|
||||
public IReadOnlyCollection<PassThePopcornTorrent> Torrents { get; set; }
|
||||
}
|
||||
|
||||
public class PassThePopcornTorrent
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Quality { get; set; }
|
||||
public string Source { get; set; }
|
||||
public string Container { get; set; }
|
||||
public string Codec { get; set; }
|
||||
public string Resolution { get; set; }
|
||||
public bool Scene { get; set; }
|
||||
public string Size { get; set; }
|
||||
public string UploadTime { get; set; }
|
||||
public string RemasterTitle { get; set; }
|
||||
public string Snatched { get; set; }
|
||||
public string Seeders { get; set; }
|
||||
public string Leechers { get; set; }
|
||||
public string ReleaseName { get; set; }
|
||||
public bool Checked { get; set; }
|
||||
public bool GoldenPopcorn { get; set; }
|
||||
public string FreeleechType { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Jackett.Common.Models.IndexerConfig.Bespoke
|
||||
IncludeRaw = new BoolConfigurationItem("Include RAW in results") { Value = false };
|
||||
SearchByYear = new BoolConfigurationItem("Search by year as a different argument in the request") { Value = false };
|
||||
//DateWarning = new DisplayItem("This tracker does not supply upload dates so they are based off year of release.") { Name = "DateWarning" };
|
||||
PadEpisode = new BoolConfigurationItem("Pad episode number for Sonarr compatability") { Value = false };
|
||||
PadEpisode = new BoolConfigurationItem("Pad episode number for Sonarr compatibility") { Value = false };
|
||||
AddJapaneseTitle = new BoolConfigurationItem("Add releases for Japanese Title") { Value = false };
|
||||
AddRomajiTitle = new BoolConfigurationItem("Add releases for Romaji Title") { Value = false };
|
||||
AddAlternativeTitles = new BoolConfigurationItem("Add releases for Alternative Title(s)") { Value = false };
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Jackett.Common.Utils.Logging
|
||||
private static readonly Regex[] _CleansingRules =
|
||||
{
|
||||
// Url
|
||||
new Regex(@"(?<=[?&: ;])(apikey|api_key|(?:(?:access|api)[-_]?)?token|pass(?:key|wd)?|auth|authkey|user|u?id|api|[a-z_]*apikey|account|pwd)=(?<secret>[^&=""]+?)(?=[ ""&=]|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
||||
new Regex(@"(?<=[?&: ;])(apikey|api_key|(?:(?:access|api)[-_]?)?token|pass(?:key|wd)?|auth|authkey|rsskey|user|u?id|api|[a-z_]*apikey|account|pwd)=(?<secret>[^&=""]+?)(?=[ ""&=]|$)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
||||
new Regex(@"(?<=[?& ;])[^=]*?(_?(?<!use|get_)token|username|passwo?rd)=(?<secret>[^&=]+?)(?= |&|$|;)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
||||
new Regex(@"(?<=[?& ;])[^=]*?(pid)=(?<secret>[a-z0-9]{32}[^&=]+?)(?= |&|$|;)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
||||
new Regex(@"rss(24h)?\.torrentleech\.org/(?!rss)(?<secret>[0-9a-z]+)", RegexOptions.Compiled | RegexOptions.IgnoreCase),
|
||||
|
||||
@@ -9,6 +9,7 @@ namespace Jackett.Test.Utils.Logging
|
||||
{
|
||||
[TestCase(@"WebClient(HttpWebClient2).GetResultAsync(Method: POST Url: https://some-site.org/takelogin.php PostData: {username=mySecret, password=mySecret} RawBody: )")]
|
||||
[TestCase(@"WebClient(HttpWebClient2).GetResultAsync(Method: GET Url: https://www.sharewood.tv/api/2b51db35e1910123321025a12b9933d2/last-torrents?)")]
|
||||
[TestCase(@"https://example.org/rss/torrents?rsskey=2b51db35e1910123321025a12b9933d2&search=")]
|
||||
public void should_clean_message(string message)
|
||||
{
|
||||
var cleansedMessage = CleanseLogMessage.Cleanse(message);
|
||||
|
||||
@@ -418,6 +418,7 @@ namespace Jackett.Updater
|
||||
"Definitions/freedomhd.yml",
|
||||
"Definitions/freetorrent.yml",
|
||||
"Definitions/freshmeat.yml",
|
||||
"Definitions/frozenlayer.yml",
|
||||
"Definitions/fullmixmusic.yml",
|
||||
"Definitions/funreleases.yml",
|
||||
"Definitions/fusionmayhem.yml",
|
||||
@@ -460,6 +461,7 @@ namespace Jackett.Updater
|
||||
"Definitions/hdreactor.yml", // renamed to hdhouse
|
||||
"Definitions/hdspain.yml",
|
||||
"Definitions/hdstreet.yml",
|
||||
"Definitions/hdpt.yml",
|
||||
"Definitions/hdvbits.yml",
|
||||
"Definitions/hdzone.yml", // renamed to hdfun
|
||||
"Definitions/heavens-hell.yml",
|
||||
@@ -501,6 +503,7 @@ namespace Jackett.Updater
|
||||
"Definitions/leaguehd.yml", // renamed to lemonhd
|
||||
"Definitions/lechaudron.yml",
|
||||
"Definitions/leech24.yml", // switch to *-API #12553
|
||||
"Definitions/leech24-api.yml",
|
||||
"Definitions/legacyhd.yml", // renamed to realflix
|
||||
"Definitions/legittorrents.yml",
|
||||
"Definitions/lemencili.yml",
|
||||
@@ -641,6 +644,7 @@ namespace Jackett.Updater
|
||||
"Definitions/shellife.yml",
|
||||
"Definitions/sharkpt.yml",
|
||||
"Definitions/shokweb.yml",
|
||||
"Definitions/simpleanime.yml",
|
||||
"Definitions/skipthecommercials.yml", // switch to *-API #8682
|
||||
"Definitions/skipthecommercials-api.yml",
|
||||
"Definitions/skipthetrailers.yml",
|
||||
@@ -688,6 +692,7 @@ namespace Jackett.Updater
|
||||
"Definitions/thorsland.yml",
|
||||
"Definitions/tigers-dl.yml",
|
||||
"Definitions/tjangto.yml",
|
||||
"Definitions/tjupt.yml",
|
||||
"Definitions/tntfork.yml",
|
||||
"Definitions/tntvillage.yml",
|
||||
"Definitions/toonsforme.yml",
|
||||
|
||||
Reference in New Issue
Block a user