mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-12 15:04:13 +02:00
Compare commits
96 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
26fc637a13 | ||
![]() |
8f97782a9d | ||
![]() |
4960267968 | ||
![]() |
f1ce263f3e | ||
![]() |
51584e8cce | ||
![]() |
4025381ecc | ||
![]() |
adf0255a01 | ||
![]() |
19477ce89e | ||
![]() |
0c43c992d9 | ||
![]() |
a616202cfe | ||
![]() |
76212cfb4a | ||
![]() |
4b32cab990 | ||
![]() |
6d1afb8654 | ||
![]() |
f0a2be17a0 | ||
![]() |
cbbaedc8ab | ||
![]() |
35a68f51a9 | ||
![]() |
279248b06c | ||
![]() |
d6ce279906 | ||
![]() |
ee509208e7 | ||
![]() |
d6f0592867 | ||
![]() |
a8f994871f | ||
![]() |
3ec6a55071 | ||
![]() |
cc6dfe5299 | ||
![]() |
14d225a3fb | ||
![]() |
296e70addb | ||
![]() |
3344de422f | ||
![]() |
9279633ff2 | ||
![]() |
13c9adfffe | ||
![]() |
cd30b11618 | ||
![]() |
13c653282d | ||
![]() |
0268caa908 | ||
![]() |
43622f8f59 | ||
![]() |
1811ddbd2c | ||
![]() |
c52937f2ec | ||
![]() |
5883257606 | ||
![]() |
016b6b0da2 | ||
![]() |
a159f53ecd | ||
![]() |
5b41051fd7 | ||
![]() |
f43e627d56 | ||
![]() |
073d0e27a8 | ||
![]() |
8b30469255 | ||
![]() |
642944e9d8 | ||
![]() |
a24a5ff430 | ||
![]() |
dfd1c80007 | ||
![]() |
47d4483573 | ||
![]() |
d134d9c77c | ||
![]() |
ec70bff112 | ||
![]() |
2965812013 | ||
![]() |
fdeaf34aa5 | ||
![]() |
f92a203ba8 | ||
![]() |
aa705d3069 | ||
![]() |
e89dadd5f9 | ||
![]() |
21d5611e3a | ||
![]() |
5e6d537b00 | ||
![]() |
cf3022d127 | ||
![]() |
9dcaa63058 | ||
![]() |
056efef8a2 | ||
![]() |
9cafa3058c | ||
![]() |
8ebbb843cf | ||
![]() |
45f184dece | ||
![]() |
d79c78e0d8 | ||
![]() |
28241dcba7 | ||
![]() |
bbb4f887c6 | ||
![]() |
444376c191 | ||
![]() |
29b560ef7b | ||
![]() |
70ec9e67c7 | ||
![]() |
79ff6598b9 | ||
![]() |
3118fd3438 | ||
![]() |
7baded616d | ||
![]() |
5d9067c31b | ||
![]() |
b2e5930741 | ||
![]() |
9c781bfb9d | ||
![]() |
c24975059b | ||
![]() |
504715b81f | ||
![]() |
ac8c216c1e | ||
![]() |
d49f46fcc3 | ||
![]() |
d9b27c50bd | ||
![]() |
b7ebb2b7af | ||
![]() |
15f5dcf39f | ||
![]() |
065a408fff | ||
![]() |
9c510bf7ce | ||
![]() |
e5aebbacdf | ||
![]() |
508c028a9b | ||
![]() |
74c966f496 | ||
![]() |
a62117c7e2 | ||
![]() |
1c00a90832 | ||
![]() |
bb9cf12ba6 | ||
![]() |
a6dbacc9cb | ||
![]() |
453baf59b8 | ||
![]() |
208c556bb3 | ||
![]() |
fddf016cee | ||
![]() |
91103feba4 | ||
![]() |
d52a12487e | ||
![]() |
c6edf7bf8d | ||
![]() |
bf44b2ea1b | ||
![]() |
26b661de84 |
4
.github/ISSUE_TEMPLATE/indexer-request.yml
vendored
4
.github/ISSUE_TEMPLATE/indexer-request.yml
vendored
@@ -36,13 +36,13 @@ body:
|
||||
- Name: TrackerX
|
||||
- URL: https://trackerx.yz
|
||||
- Description: TrackerX is a Private Torrent Tracker for Movies, TV, and e-Learning
|
||||
- Minimum Seeding Time and Minimum Ratio (if Private): MST 24hrs, MR 1.0
|
||||
- Minimum Seeding Time and/or Minimum Seeding Ratio (if Private): MST 24hrs, MR 1.0
|
||||
- Additional Comments: IMDB search has to be enabled in account settings, often has hcaptcha at login
|
||||
value: |
|
||||
- Name:
|
||||
- URL:
|
||||
- Description:
|
||||
- Minimum Seeding Time and Minimum Ratio (if Private):
|
||||
- Minimum Seeding Time and/or Minimum Seeding Ratio (if Private):
|
||||
- Additional Comments:
|
||||
render: markdown
|
||||
validations:
|
||||
|
2
.github/workflows/winget.yml
vendored
2
.github/workflows/winget.yml
vendored
@@ -6,7 +6,7 @@ permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: windows-latest
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: vedantmgoyal2009/winget-releaser@v2
|
||||
with:
|
||||
|
14
README.md
14
README.md
@@ -337,11 +337,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* eShareNet
|
||||
* eStone (XiDER, BeLoad, BigTorrent)
|
||||
* ExoticaZ (YourExotic)
|
||||
* ExtremeBits
|
||||
* ExtremeTorrents
|
||||
* Falkon Vision Team
|
||||
* FANO.IN [![(invite needed)][inviteneeded]](#)
|
||||
* Fantastic Heaven
|
||||
* Fantastiko
|
||||
* Fappaizuri
|
||||
* FastScene
|
||||
@@ -353,8 +351,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Free Farm (自由农场)
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* FutureTorrent [![(invite needed)][inviteneeded]](#)
|
||||
* Fuzer (FZ)
|
||||
* GainBound [![(invite needed)][inviteneeded]](#)
|
||||
* Gamera (駕瞑羅)
|
||||
* Gay-Torrents.org
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn)
|
||||
@@ -394,6 +393,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDVIDEO
|
||||
* HDZone
|
||||
* Hebits
|
||||
* HellasHut
|
||||
* HHanClub
|
||||
* HomePornTorrents (HPT)
|
||||
* House of Devil
|
||||
@@ -464,12 +464,13 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Old Toons World
|
||||
* OpenCD [![(invite needed)][inviteneeded]](#)
|
||||
* Orpheus
|
||||
* OnlyEncodes
|
||||
* OshenPT
|
||||
* Ostwiki
|
||||
* OurBits (HDPter)
|
||||
* P2PBG
|
||||
* Panda
|
||||
* Party-Tracker
|
||||
* PassThePopcorn (PTP)
|
||||
* Peeratiko
|
||||
* Peers.FM
|
||||
* PigNetwork
|
||||
@@ -495,7 +496,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* PuntoTorrent
|
||||
* PuTao
|
||||
* PWTorrents (PWT)
|
||||
* R3V WTF! [![(invite needed)][inviteneeded]](#)
|
||||
* R3V WTF!
|
||||
* Racing4Everyone (R4E)
|
||||
* RacingForMe (RFM)
|
||||
* RareShare2
|
||||
@@ -526,7 +527,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* SpeedCD
|
||||
* Speedmaster HD [![(invite needed)][inviteneeded]](#)
|
||||
* SpeedTorrent Reloaded
|
||||
* SpiderTK
|
||||
* Spirit of Revolution [![(invite needed)][inviteneeded]](#)
|
||||
* SportHD
|
||||
* SportsCult
|
||||
@@ -583,6 +583,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentSeeds (TS)
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
|
||||
* TrackerMK
|
||||
* TranceTraffic
|
||||
* TreZzoR [![(invite needed)][inviteneeded]](#)
|
||||
* TurkSeed
|
||||
@@ -600,6 +601,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Uploads
|
||||
* UTOPIA
|
||||
* White Angel
|
||||
* WinterSakura
|
||||
* World-In-HD [![(invite needed)][inviteneeded]](#)
|
||||
* World-of-Tomorrow
|
||||
* Wukong
|
||||
|
@@ -5,7 +5,6 @@ description: "1337X is a Public torrent site that offers verified torrent downlo
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://1337x.to/
|
||||
@@ -13,7 +12,7 @@ links:
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblockit.rsvp/
|
||||
- https://1337x.unblockit.vegas/
|
||||
- https://1337x.unblockninja.com/
|
||||
- https://1337x.mrunblock.bond/
|
||||
legacylinks:
|
||||
@@ -21,7 +20,6 @@ legacylinks:
|
||||
- https://1337x.nocensor.work/
|
||||
- https://1337x.nocensor.biz/
|
||||
- https://1337x.gd/
|
||||
- https://1337x.unblockit.llc/
|
||||
- https://1337x.unblockit.blue/
|
||||
- https://1337x.unblockit.name/
|
||||
- https://1337x.nocensor.sbs/
|
||||
@@ -42,6 +40,7 @@ legacylinks:
|
||||
- https://1337x.unblockit.click/
|
||||
- https://1337x.unblockit.asia/
|
||||
- https://1337x.unblockit.mov/
|
||||
- https://1337x.unblockit.rsvp/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -189,4 +189,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-18
|
||||
# NexusPHP v1.8.6 2023-08-18
|
||||
|
@@ -1,45 +1,26 @@
|
||||
---
|
||||
id: 2xfree
|
||||
name: 2xFree
|
||||
description: "2xFree is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
|
||||
description: "2xFree is a CHINESE Private Torrent Tracker for 3D MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://pt.2xfree.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# special.php
|
||||
- {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: "Animations(动画)", 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: 410, cat: Books, desc: "eBook(电子书)", default: true}
|
||||
- {id: 411, cat: PC/Games, desc: "PCGame(游戏)", default: true}
|
||||
- {id: 413, cat: Audio/Video, desc: "AV(无码)", default: true}
|
||||
- {id: 414, cat: Audio/Video, desc: "AV(有码)", default: true}
|
||||
- {id: 420, cat: XXX, desc: "HAnime(H动画)", default: true}
|
||||
- {id: 421, cat: XXX, desc: "HComic(H漫画)", default: true}
|
||||
- {id: 422, cat: XXX, desc: "HGame(H游戏)", default: true}
|
||||
- {id: 423, cat: XXX, desc: "IV(写真影片)", default: true}
|
||||
- {id: 424, cat: XXX, desc: "IV(写真图集)", default: true}
|
||||
- {id: 409, cat: Other, desc: "Misc(其他)", default: true}
|
||||
|
||||
# torrents.php
|
||||
- {id: 526, cat: Movies, desc: "3DMovies(3D电影)", default: false}
|
||||
- {id: 527, cat: TV, desc: "3DSeries(3D剧集)", default: false}
|
||||
- {id: 533, cat: Movies, desc: "VRMovies(VR电影)", default: false}
|
||||
- {id: 534, cat: TV, desc: "VRSeries(VR剧集)", default: false}
|
||||
- {id: 528, cat: Audio/Video, desc: "AV(VR无码)", default: false}
|
||||
- {id: 529, cat: Audio/Video, desc: "AV(VR有码)", default: false}
|
||||
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)", default: false}
|
||||
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)", default: false}
|
||||
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)", default: false}
|
||||
- {id: 526, cat: Movies, desc: "3DMovies(3D电影)"}
|
||||
- {id: 527, cat: TV, desc: "3DSeries(3D剧集)"}
|
||||
- {id: 533, cat: Movies, desc: "VRMovies(VR电影)"}
|
||||
- {id: 534, cat: TV, desc: "VRSeries(VR剧集)"}
|
||||
- {id: 528, cat: Audio/Video, desc: "AV(VR无码)"}
|
||||
- {id: 529, cat: Audio/Video, desc: "AV(VR有码)"}
|
||||
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)"}
|
||||
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)"}
|
||||
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -116,10 +97,7 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: special.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 420, 421, 422, 423, 424]
|
||||
- path: torrents.php
|
||||
categories: [526, 527, 533, 534, 528, 529, 530, 531, 532]
|
||||
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 }}"
|
||||
@@ -213,10 +191,7 @@ search:
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
text: 0.8
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
|
@@ -141,6 +141,14 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
@@ -189,4 +197,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.6.0-beta12 2020-06-23
|
||||
# NexusPHP v1.8.5 2023-07-29
|
||||
|
@@ -9,7 +9,7 @@ requestDelay: 5
|
||||
links:
|
||||
- https://badasstorrents.com/
|
||||
- https://badasstorrents.mrunblock.bond/
|
||||
- https://badasstorrents.nocensor.click/
|
||||
- https://badasstorrents.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://badasstorrents.nocensor.work/
|
||||
- https://badasstorrents.nocensor.biz/
|
||||
@@ -19,6 +19,7 @@ legacylinks:
|
||||
- https://badasstorrents.nocensor.art/
|
||||
- https://badasstorrents.mrunblock.guru/
|
||||
- https://badasstorrents.mrunblock.life/
|
||||
- https://badasstorrents.nocensor.click/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -11,30 +11,30 @@ links:
|
||||
|
||||
caps:
|
||||
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: 22, cat: TV, desc: "Sorozat/Hun", default: true}
|
||||
- {id: 58, cat: TV, desc: "Sorozat/Eng", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film/Pack", default: true}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "XXX/Pics", default: false}
|
||||
- {id: 33, cat: XXX/SD, desc: "XXX/SD", default: false}
|
||||
- {id: 89, cat: XXX/x264, desc: "XXX/HD", default: false}
|
||||
- {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: 22, cat: TV, desc: "Sorozat-Hun", default: true}
|
||||
- {id: 58, cat: TV, desc: "Sorozat-Eng", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film-Pack", default: true}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "XXX-Pics", 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: "Videó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: "Lossless/Hun", default: true}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng", 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: 81, cat: PC/0day, desc: "Program", default: true}
|
||||
- {id: 14, cat: PC, desc: "Program/Egyéb", default: true}
|
||||
- {id: 14, cat: PC, desc: "Program-Egyéb", default: true}
|
||||
- {id: 97, cat: TV/Anime, desc: "Sorozat/Mese", default: true}
|
||||
|
||||
modes:
|
||||
@@ -109,8 +109,11 @@ search:
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: img[src^="pic/kategoria/"]
|
||||
attribute: title
|
||||
selector: td[class^="catpic_"]
|
||||
attribute: class
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["catpic_", ""]
|
||||
title:
|
||||
selector: font[class="tori"], a.preview
|
||||
_id:
|
||||
@@ -141,7 +144,7 @@ search:
|
||||
# 2 napja és 10 órája
|
||||
# 1 hete és 1 napja
|
||||
# 1 éve és 30 hete
|
||||
selector: td[id^="t_added"] > span
|
||||
selector: span.ellenorzes
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["és ", " "]
|
||||
@@ -157,11 +160,17 @@ search:
|
||||
args: ["éve", "year"]
|
||||
- name: timeago
|
||||
grabs:
|
||||
selector: td:nth-child(5)
|
||||
selector: td.letoltok
|
||||
optional: true
|
||||
default: 0
|
||||
seeders:
|
||||
selector: td:nth-child(3)
|
||||
selector: td.seeders
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
selector: td.leechers
|
||||
optional: true
|
||||
default: 0
|
||||
genre:
|
||||
selector: span[style="font-size:small;"]
|
||||
description:
|
||||
|
@@ -39,7 +39,7 @@ caps:
|
||||
- {id: 20, cat: Other, desc: "Képek"}
|
||||
- {id: 21, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
# Program
|
||||
- {id: 22, cat: PC/0day, desc: "Win/Program/ISO"}
|
||||
- {id: 54, cat: PC/0day, desc: "Win/Program/ISO"}
|
||||
- {id: 23, cat: PC/0day, desc: "Win/Program/Rip"}
|
||||
# Felnőtt tartalom
|
||||
- {id: 9, cat: XXX, desc: "XXX/Film"}
|
||||
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
- https://bitsearch.nocensor.click/
|
||||
- https://bitsearch.nocensor.cloud/
|
||||
- https://bitsearch.mrunblock.bond/
|
||||
legacylinks:
|
||||
- https://bitsearch.nocensor.biz/
|
||||
@@ -17,6 +17,7 @@ legacylinks:
|
||||
- https://bitsearch.nocensor.lol/
|
||||
- https://bitsearch.mrunblock.guru/
|
||||
- https://bitsearch.mrunblock.life/ # This web property is not accessible via this address.
|
||||
- https://bitsearch.nocensor.click/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -7,9 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
# use https://tellme.pw/btsow to find the new domain
|
||||
links:
|
||||
- https://btsow.makeup/
|
||||
- https://btsow.homes/
|
||||
legacylinks:
|
||||
- https://btsow.us/
|
||||
- https://btsow.one/
|
||||
- https://btsow.rest/
|
||||
- https://btsow.bar/
|
||||
@@ -24,6 +23,7 @@ legacylinks:
|
||||
- https://btsow.hair/
|
||||
- https://btsow.bond/
|
||||
- https://btsow.skin/
|
||||
- https://btsow.makeup/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -6,6 +6,8 @@ language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://ptchdbits.co/
|
||||
legacylinks:
|
||||
- https://chdbits.co/
|
||||
|
||||
caps:
|
||||
|
@@ -10,13 +10,12 @@ links:
|
||||
- https://www.demonoid.is/
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoid.unblockit.rsvp/
|
||||
- https://demonoid.unblockit.vegas/
|
||||
- https://demonoid.torrentbay.net/
|
||||
- https://demonoid.mrunblock.bond/
|
||||
- https://demonoid.nocensor.click/
|
||||
- https://demonoid.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://demonoid.nocensor.biz/
|
||||
- https://demonoid.unblockit.llc/
|
||||
- https://demonoid.unblockit.blue/
|
||||
- https://demonoid.unblockit.name/
|
||||
- https://demonoid.nocensor.sbs/
|
||||
@@ -43,6 +42,8 @@ legacylinks:
|
||||
- https://demonoid.unblockit.asia/
|
||||
- https://demonoid.unblockit.mov/
|
||||
- https://demonoid.mrunblock.life/
|
||||
- https://demonoid.unblockit.rsvp/
|
||||
- https://demonoid.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -75,6 +75,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Search P2P releases only
|
||||
default: false
|
||||
- name: unrar_releases_only
|
||||
type: checkbox
|
||||
label: Search UNRAR releases only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -119,6 +123,7 @@ search:
|
||||
section: all
|
||||
sort: "{{ .Config.sort }}"
|
||||
stereoscopic: false
|
||||
unrar: "{{ if .Config.unrar_releases_only }}true{{ else }}{{ end }}"
|
||||
watchview: false
|
||||
|
||||
rows:
|
||||
@@ -212,6 +217,12 @@ search:
|
||||
case:
|
||||
0: ""
|
||||
1: P2P
|
||||
_unrartag:
|
||||
selector: unrar
|
||||
case:
|
||||
0: ""
|
||||
1: UNRAR
|
||||
optional: true
|
||||
_packtag:
|
||||
selector: pack
|
||||
case:
|
||||
@@ -224,7 +235,7 @@ search:
|
||||
"*": Request
|
||||
_tag_desc:
|
||||
optional: true
|
||||
text: "{{ if .Result._p2ptag }}{{ .Result._p2ptag }}, {{ else }}{{ end }}{{ if .Result._packtag }}{{ .Result._packtag }}, {{ else }}{{ end }}{{ if .Result._reqidtag }}{{ .Result._reqidtag }}{{ else }}{{ end }}"
|
||||
text: "{{ if .Result._p2ptag }}{{ .Result._p2ptag }}, {{ else }}{{ end }}{{ if .Result._unrartag }}{{ .Result._unrartag }}, {{ else }}{{ end }}{{ if .Result._packtag }}{{ .Result._packtag }}, {{ else }}{{ end }}{{ if .Result._reqidtag }}{{ .Result._reqidtag }}{{ else }}{{ end }}"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?), $"
|
||||
|
@@ -7,13 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://extratorrent.st/
|
||||
- https://extratorrent.unblockit.rsvp/
|
||||
- https://extratorrent.unblockit.vegas/
|
||||
- https://extratorrent.mrunblock.bond/
|
||||
- https://extratorrent.nocensor.click/
|
||||
- https://extratorrent.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://extratorrent.nocensor.work/
|
||||
- https://extratorrent.nocensor.biz/
|
||||
- https://extratorrent.unblockit.llc/
|
||||
- https://extratorrent.unblockit.blue/
|
||||
- https://extratorrent.unblockit.name/
|
||||
- https://extratorrent.nocensor.sbs/
|
||||
@@ -34,6 +33,8 @@ legacylinks:
|
||||
- https://extratorrent.unblockit.asia/
|
||||
- https://extratorrent.unblockit.mov/
|
||||
- https://extratorrent.mrunblock.life/
|
||||
- https://extratorrent.unblockit.rsvp/
|
||||
- https://extratorrent.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -1,162 +0,0 @@
|
||||
---
|
||||
id: extremebits
|
||||
name: ExtremeBits
|
||||
description: "ExtremeBits is a Private Torrent Tracker for EXTREME SPORTS"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://extremebits.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "BASE jump"}
|
||||
- {id: 10, cat: Movies, desc: "BMX"}
|
||||
- {id: 3, cat: Movies, desc: "Climbing"}
|
||||
- {id: 19, cat: Other, desc: "Covers"}
|
||||
- {id: 20, cat: Movies, desc: "Fiddy/MiniMX"}
|
||||
- {id: 22, cat: Movies, desc: "Graffiti"}
|
||||
- {id: 18, cat: Movies, desc: "Homevid"}
|
||||
- {id: 16, cat: Movies, desc: "Inline Skate"}
|
||||
- {id: 25, cat: Movies, desc: "Kayaking"}
|
||||
- {id: 28, cat: Movies, desc: "Kiteboard"}
|
||||
- {id: 17, cat: Movies, desc: "MC"}
|
||||
- {id: 13, cat: Other, desc: "Misc"}
|
||||
- {id: 4, cat: Movies, desc: "MotoX"}
|
||||
- {id: 11, cat: Movies, desc: "MTB"}
|
||||
- {id: 21, cat: Audio, desc: "Music"}
|
||||
- {id: 26, cat: Movies, desc: "Paintball"}
|
||||
- {id: 5, cat: Movies, desc: "Parkour"}
|
||||
- {id: 24, cat: Movies, desc: "Quad/ATV"}
|
||||
- {id: 29, cat: Movies, desc: "Rally/4x4"}
|
||||
- {id: 6, cat: Movies, desc: "Skateboard"}
|
||||
- {id: 12, cat: Movies, desc: "Ski"}
|
||||
- {id: 14, cat: Movies, desc: "Skydive"}
|
||||
- {id: 7, cat: Movies, desc: "Snowboard"}
|
||||
- {id: 9, cat: Movies, desc: "Snowmobile"}
|
||||
- {id: 15, cat: Movies, desc: "Streetrace"}
|
||||
- {id: 2, cat: Movies, desc: "Surf"}
|
||||
- {id: 23, cat: TV, desc: "Tv"}
|
||||
- {id: 8, cat: Movies, desc: "Wakeboard/W.Ski"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
input[placeholder="Username"]: "{{ .Config.username }}"
|
||||
input[placeholder="Password"]: "{{ .Config.password }}"
|
||||
selectors: true
|
||||
error:
|
||||
- selector: h2:contains("fail")
|
||||
message:
|
||||
selector: div.contentframe
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 freeleech
|
||||
incl: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
searchin: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# does not support imdbid searching or have imdb links in results.
|
||||
|
||||
rows:
|
||||
selector: table.crowdedtablecenter > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php", "download.php"]
|
||||
files:
|
||||
selector: td:nth-of-type(5)
|
||||
seeders:
|
||||
selector: td:nth-of-type(7)
|
||||
leechers:
|
||||
selector: td:nth-of-type(8)
|
||||
grabs:
|
||||
selector: td:nth-of-type(10) a
|
||||
size:
|
||||
selector: td:nth-of-type(10)
|
||||
remove: a
|
||||
_cat:
|
||||
selector: td:nth-of-type(1) a img
|
||||
attribute: alt
|
||||
description:
|
||||
selector: td:nth-of-type(4)
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "cat={{ .Result._cat }}, wait="
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="img/freedownload.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
date:
|
||||
selector: td:nth-of-type(2)
|
||||
remove: a
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
minimumratio:
|
||||
text: 0.6
|
||||
# TBDEV
|
@@ -109,6 +109,7 @@ search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}search/{{ .Keywords }}/?order={{ .Config.sort }}&sort={{ .Config.type }}{{ else }}latest/{{ end }}"
|
||||
- path: "{{ if .Keywords }}search/{{ .Keywords }}/2/?order={{ .Config.sort }}&sort={{ .Config.type }}{{ else }}latest/2/{{ end }}"
|
||||
followredirect: true
|
||||
|
||||
keywordsfilters:
|
||||
- name: tolower
|
||||
|
@@ -13,16 +13,15 @@ links:
|
||||
- https://eztv.yt/
|
||||
- https://eztv1.xyz/
|
||||
- https://eztv.unblockninja.com/
|
||||
- https://eztv.unblockit.rsvp/
|
||||
- https://eztv.unblockit.vegas/
|
||||
- https://eztv.mrunblock.bond/
|
||||
- https://eztv.nocensor.click/
|
||||
- https://eztv.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://eztv.ag/ # redirects to .re
|
||||
- https://eztv.it/ # redirects to .re
|
||||
- https://eztv.ch/ # redirects to .re
|
||||
- https://eztv.io/
|
||||
- https://eztv.nocensor.biz/
|
||||
- https://eztv.unblockit.llc/
|
||||
- https://eztv.unblockit.blue/
|
||||
- https://eztv.unblockit.name/
|
||||
- https://eztv.nocensor.sbs/
|
||||
@@ -43,6 +42,8 @@ legacylinks:
|
||||
- https://eztv.unblockit.asia/
|
||||
- https://eztv.unblockit.mov/
|
||||
- https://eztv.mrunblock.life/
|
||||
- https://eztv.unblockit.rsvp/
|
||||
- https://eztv.nocensor.click/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -1,181 +0,0 @@
|
||||
---
|
||||
id: fantasticheaven
|
||||
name: Fantastic Heaven
|
||||
description: "Fantastic Heaven is a German Time based tracker"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://fantastic-heaven.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 157, cat: TV/Documentary, desc: "Doku 1080p"}
|
||||
- {id: 156, cat: TV/Documentary, desc: "Doku 720p"}
|
||||
- {id: 155, cat: TV/Documentary, desc: "Doku SD x264/x265"}
|
||||
- {id: 152, cat: Books, desc: "E-Books"}
|
||||
- {id: 141, cat: Movies/HD, desc: "Filme HD 1080p"}
|
||||
- {id: 154, cat: Movies/HD, desc: "Filme HD 720p"}
|
||||
- {id: 139, cat: Movies/HD, desc: "Filme Packs HD 1080p"}
|
||||
- {id: 106, cat: Movies/HD, desc: "Filme Packs HD 720p"}
|
||||
- {id: 105, cat: Movies/SD, desc: "Filme Packs SD x264/x265"}
|
||||
- {id: 119, cat: Movies/UHD, desc: "Filme Packs UHD 2160p"}
|
||||
- {id: 153, cat: Movies/SD, desc: "Filme SD x264/x265"}
|
||||
- {id: 140, cat: Movies/UHD, desc: "Filme UHD 2160p"}
|
||||
- {id: 104, cat: Movies/HD, desc: "Filmklassiker HD 1080p"}
|
||||
- {id: 103, cat: Movies/HD, desc: "Filmklassiker HD 720p"}
|
||||
- {id: 124, cat: Movies/HD, desc: "Filmklassiker Packs HD 1080p"}
|
||||
- {id: 121, cat: Movies/HD, desc: "Filmklassiker Packs HD 720p"}
|
||||
- {id: 123, cat: Movies/UHD, desc: "Filmklassiker Packs UHD 2160p"}
|
||||
- {id: 127, cat: Movies/SD, desc: "Filmklassiker Packs x264/x265"}
|
||||
- {id: 102, cat: Movies/SD, desc: "Filmklassiker SD x264/x265"}
|
||||
- {id: 135, cat: Movies/UHD, desc: "Filmklassiker UHD 2160p"}
|
||||
- {id: 118, cat: Audio/Audiobook, desc: "Hörbücher"}
|
||||
- {id: 109, cat: Audio/Lossless, desc: "Musik Flac"}
|
||||
- {id: 129, cat: Audio/MP3, desc: "Musik MP3"}
|
||||
- {id: 111, cat: Audio/Lossless, desc: "Musik Packs Flac"}
|
||||
- {id: 112, cat: Audio/MP3, desc: "Musik Packs MP3"}
|
||||
- {id: 113, cat: TV/HD, desc: "Serie HD 1080p"}
|
||||
- {id: 125, cat: TV/HD, desc: "Serie HD 720p"}
|
||||
- {id: 115, cat: TV/Foreign, desc: "Serie International"}
|
||||
- {id: 138, cat: TV/HD, desc: "Serie Packs HD 1080p"}
|
||||
- {id: 116, cat: TV/HD, desc: "Serie Packs HD 720p"}
|
||||
- {id: 144, cat: TV/Foreign, desc: "Serie Packs International"}
|
||||
- {id: 137, cat: TV/SD, desc: "Serie Packs SD x264/x265"}
|
||||
- {id: 143, cat: TV/UHD, desc: "Serie Packs UHD 2160p"}
|
||||
- {id: 133, cat: TV/SD, desc: "Serie SD x264/x265"}
|
||||
- {id: 114, cat: TV/UHD, desc: "Serie UHD 2160p"}
|
||||
- {id: 150, cat: PC/0day, desc: "Windows Apps"}
|
||||
- {id: 149, cat: PC/Games, desc: "Windows Spiele"}
|
||||
- {id: 147, cat: XXX/x264, desc: "XXX HD 1080p"}
|
||||
- {id: 146, cat: XXX/x264, desc: "XXX HD 720p"}
|
||||
- {id: 148, cat: XXX/Pack, desc: "XXX Packs"}
|
||||
- {id: 69, cat: XXX/SD, desc: "XXX SD x264/x265"}
|
||||
- {id: 151, cat: Books/Mags, desc: "Zeitschriften"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: pin
|
||||
type: text
|
||||
label: Pin
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter FreeLeech only
|
||||
default: false
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Filter OnlyUpload only
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About Freeleech and OnlyUpload at Fantastic Heaven
|
||||
default: "<ul><li>FreeLeech are torrents where neither the download or upload is counted. (On the Jackett dashboard search results these are tagged as NoUpload).</li><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech).</li></ul>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents pro Seite:</b> setting to <b>100</b> on your Control Panel. The default is <i>15</i>.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="../takelogin.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
secure_pin: "{{ .Config.pin }}"
|
||||
error:
|
||||
- selector: table.tableinborder:contains("Anmeldung Gescheitert!") > tbody > tr > td.tablea
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
showsearch: 1
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 dead
|
||||
incldead: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "table.tableinborder[cellspacing=\"1\"][cellpadding=\"0\"] > tbody > tr:has(a[href^=\"download.php\"]){{ if .Config.freeleech }}:has(img[src=\"pic/freeleech.gif\"]){{ else }}{{ end }}{{ if .Config.onlyupload }}:has(img[src=\"pic/oupic.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="] > b
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(1)
|
||||
files:
|
||||
selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(2)
|
||||
seeders:
|
||||
selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(2) b:nth-child(1)
|
||||
leechers:
|
||||
selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(2) > b:nth-of-type(2)
|
||||
grabs:
|
||||
selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(3) b:nth-child(1)
|
||||
date:
|
||||
selector: td.content_wrap table tbody tr:nth-child(2) td:nth-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/oupic.gif"]: 0 # only upload is counted
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freeleech.gif"]: 0 # nothing is counted
|
||||
"*": 1
|
||||
# engine n/a
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://filelisting.com/
|
||||
- https://filelisting.mrunblock.bond/
|
||||
- https://filelisting.nocensor.click/
|
||||
- https://filelisting.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://filelisting.nocensor.biz/
|
||||
- https://filelisting.nocensor.sbs/
|
||||
@@ -17,6 +17,7 @@ legacylinks:
|
||||
- https://filelisting.nocensor.art/
|
||||
- https://filelisting.mrunblock.guru/
|
||||
- https://filelisting.mrunblock.life/
|
||||
- https://filelisting.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -204,4 +204,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-18
|
||||
# NexusPHP v1.8.6 2023-08-18
|
||||
|
181
src/Jackett.Common/Definitions/futuretorrent.yml
Normal file
181
src/Jackett.Common/Definitions/futuretorrent.yml
Normal file
@@ -0,0 +1,181 @@
|
||||
---
|
||||
id: futuretorrent
|
||||
name: FutureTorrent
|
||||
description: "FutureTorrent is an ITALIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: it-IT
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://futuretorrent.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 3, cat: PC/Mobile-Android, desc: "Android"}
|
||||
- {id: 4, cat: PC/Mobile-Android, desc: " |-- Smartphone"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Bluray"}
|
||||
- {id: 17, cat: Movies/HD, desc: " |-- 1080p"}
|
||||
- {id: 18, cat: Movies/3D, desc: " |-- 3D"}
|
||||
- {id: 19, cat: Movies/HD, desc: " |-- 720p"}
|
||||
- {id: 20, cat: Movies/HD, desc: " |-- H.265 1080p"}
|
||||
- {id: 21, cat: Movies/HD, desc: " |-- H.265 720p"}
|
||||
- {id: 53, cat: Movies/BluRay, desc: " |-- Untouched"}
|
||||
- {id: 30, cat: Movies/Other, desc: "Cartoons"}
|
||||
- {id: 56, cat: Movies/Other, desc: " |-- Anime"}
|
||||
- {id: 31, cat: Movies/Other, desc: " |-- Disney"}
|
||||
- {id: 32, cat: Books/Comics, desc: " |-- Manga"}
|
||||
- {id: 5, cat: Movies/WEB-DL, desc: "Cinema-News"}
|
||||
- {id: 58, cat: Movies/SD, desc: " |-- Cinema News"}
|
||||
- {id: 59, cat: Movies/WEB-DL, desc: " |-- WEBDL"}
|
||||
- {id: 60, cat: Movies/WEB-DL, desc: " |-- WEBDL 1080p"}
|
||||
- {id: 62, cat: Movies/WEB-DL, desc: " |-- WEBDL 2160p"}
|
||||
- {id: 61, cat: Movies/WEB-DL, desc: " |-- WEBDL 720p"}
|
||||
- {id: 22, cat: TV/Documentary, desc: "Documentari"}
|
||||
- {id: 33, cat: Movies/DVD, desc: "DvD"}
|
||||
- {id: 35, cat: Movies/DVD, desc: " |-- DvD5"}
|
||||
- {id: 34, cat: Movies/DVD, desc: " |-- DvD9"}
|
||||
- {id: 6, cat: Movies/SD, desc: "DvDRip"}
|
||||
- {id: 8, cat: Movies/SD, desc: " |-- BDRip"}
|
||||
- {id: 9, cat: Movies/SD, desc: " |-- Cult"}
|
||||
- {id: 7, cat: Movies/SD, desc: " |-- DvDRip"}
|
||||
- {id: 10, cat: Movies/SD, desc: " |-- DvDRip_Old"}
|
||||
- {id: 11, cat: Movies/SD, desc: " |-- Film_mp4"}
|
||||
- {id: 12, cat: Movies/Foreign, desc: " |-- Subbed"}
|
||||
- {id: 52, cat: Movies/WEB-DL, desc: " |-- WebRip"}
|
||||
- {id: 23, cat: Books, desc: "Edicola"}
|
||||
- {id: 66, cat: Audio/Audiobook, desc: " |-- Audiobook"}
|
||||
- {id: 25, cat: Books/EBook, desc: " |-- Ebook"}
|
||||
- {id: 24, cat: Books/Mags, desc: " |-- Edicola"}
|
||||
- {id: 54, cat: Audio/Lossless, desc: "Flac"}
|
||||
- {id: 55, cat: Other/Misc, desc: "FutureCrew"}
|
||||
- {id: 36, cat: Console, desc: "Games"}
|
||||
- {id: 39, cat: Console/Other, desc: " |-- N.Switch"}
|
||||
- {id: 40, cat: Console/NDS, desc: " |-- Nds"}
|
||||
- {id: 41, cat: PC/Games, desc: " |-- Pc"}
|
||||
- {id: 42, cat: Console/PS3, desc: " |-- Ps3"}
|
||||
- {id: 43, cat: Console/PS4, desc: " |-- Ps4"}
|
||||
- {id: 44, cat: Console/Wii, desc: " |-- Wii"}
|
||||
- {id: 45, cat: Console/WiiU, desc: " |-- Wii-U"}
|
||||
- {id: 46, cat: Console/XBox, desc: " |-- Xbox"}
|
||||
- {id: 13, cat: Audio, desc: "Musica"}
|
||||
- {id: 14, cat: Audio/Other, desc: " |-- Compilation"}
|
||||
- {id: 15, cat: Audio/MP3, desc: " |-- Mp3"}
|
||||
- {id: 65, cat: Audio/Video, desc: " |-- Video Concerti"}
|
||||
- {id: 26, cat: PC, desc: "Programmi Pc"}
|
||||
- {id: 27, cat: PC/Mac, desc: " |-- Mac"}
|
||||
- {id: 28, cat: PC/0day, desc: " |-- Windows"}
|
||||
- {id: 47, cat: TV, desc: "Serie TV"}
|
||||
- {id: 57, cat: TV/SD, desc: " |-- S.TV Complete"}
|
||||
- {id: 48, cat: TV/HD, desc: " |-- Serie TV 1080p"}
|
||||
- {id: 49, cat: TV/SD, desc: " |-- Serie TV 264p"}
|
||||
- {id: 50, cat: TV/HD, desc: " |-- Serie TV 720p"}
|
||||
- {id: 29, cat: Movies/UHD, desc: "UHD 4K"}
|
||||
- {id: 51, cat: Other, desc: "Varie"}
|
||||
- {id: 64, cat: Other, desc: " |-- Torrent Free"}
|
||||
- {id: 63, cat: Other, desc: " |-- Video Corsi"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 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>40</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ .Keywords }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre (not used)
|
||||
search_type: t_name
|
||||
category: 0 # multi cat search not supported
|
||||
# yes, no
|
||||
include_dead_torrents: yes
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# does not return imdb link in results
|
||||
|
||||
rows:
|
||||
selector: table.sortable tbody tr:has(a[href*="/details.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/browse.php?category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title_default:
|
||||
selector: a[href*="/details.php?id="]
|
||||
title:
|
||||
selector: div.tooltip-content > div
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.tooltip-content > img
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2) > div:last-child
|
||||
remove: span
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm zzz"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# TS Special Edition v.8.0
|
@@ -1,25 +1,32 @@
|
||||
---
|
||||
id: gainbound
|
||||
name: GainBound
|
||||
description: "GainBound is a CHINESE Private Tracker for MOVIES especially from Hong Kong."
|
||||
id: gamera
|
||||
name: Gamera
|
||||
description: "Gamera (駕瞑羅) is a CHINESE Private Torrent Tracker for Japanese Monster and Superhero MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://gainbound.net/
|
||||
- https://gamerapt.link/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies(电影)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries(纪录片)"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos(演唱会/MV)"}
|
||||
- {id: 410, cat: TV, desc: "TV Series(港台剧)"}
|
||||
- {id: 410, cat: Movies, desc: "Monster怪兽"}
|
||||
- {id: 410, cat: TV, desc: "Monster怪兽"}
|
||||
- {id: 411, cat: Movies, desc: "Kamen Rider假面骑士"}
|
||||
- {id: 411, cat: TV, desc: "Kamen Rider假面骑士"}
|
||||
- {id: 412, cat: Movies, desc: "Ultraman奥特曼"}
|
||||
- {id: 412, cat: TV, desc: "Ultraman奥特曼"}
|
||||
- {id: 413, cat: Movies, desc: "Team战队"}
|
||||
- {id: 413, cat: TV, desc: "Team战队"}
|
||||
- {id: 414, cat: Movies, desc: "Other其他特摄"}
|
||||
- {id: 414, cat: TV, desc: "Other其他特摄"}
|
||||
- {id: 415, cat: Movies, desc: "Musical特摄音乐"}
|
||||
- {id: 415, cat: TV, desc: "Musical特摄音乐"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
@@ -67,21 +74,21 @@ search:
|
||||
- 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 }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
# 0 title, 1 descr, 3 uploader
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -90,32 +97,43 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
remove: span.__cf_email__
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
selector: td.rowfollow:nth-last-of-type(5) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
args: " +08:00"
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
selector: td.rowfollow:nth-last-of-type(5):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -125,13 +143,13 @@ search:
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
selector: td.rowfollow:nth-last-of-type(4)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: td.rowfollow:nth-last-of-type(3)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: td.rowfollow:nth-last-of-type(2)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
selector: td.rowfollow:nth-last-of-type(1)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -146,9 +164,9 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.0 2023-01-26
|
||||
minimumratio:
|
||||
text: 0.2
|
||||
# NexusPHP KEMURIKUSA 2019-01-09
|
@@ -104,7 +104,7 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.browsetable:not(:has(td.gp_sub_nav):contains("Top 20")) tbody tr:has(a[href^="download.php"])
|
||||
selector: table.browsetable:not(:has(td.gp_sub_nav):contains("Top 25")) tbody tr:has(a[href^="download.php"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
@@ -8,8 +8,8 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
# to fetch current domain use https://www.protege-torrent.com/Gktorrent
|
||||
links:
|
||||
- https://www.gktorrents.cc/
|
||||
- https://gktorrent.nocensor.click/
|
||||
- https://www.gktorrent.ac/
|
||||
- https://gktorrent.nocensor.cloud/
|
||||
- https://gktorrent.mrunblock.bond/
|
||||
legacylinks:
|
||||
- https://www.gktorrent.org/
|
||||
@@ -35,6 +35,8 @@ legacylinks:
|
||||
- https://gktorrent.nocensor.lol/
|
||||
- https://gktorrent.mrunblock.guru/
|
||||
- https://gktorrent.mrunblock.life/ # cloudflare 403
|
||||
- https://gktorrent.nocensor.click/
|
||||
- https://www.gktorrents.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -8,17 +8,15 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://glodls.to/
|
||||
- https://gtdb.cc/
|
||||
- https://www.gtdb.to/
|
||||
- https://glotorrents.unblockit.rsvp/
|
||||
- https://glotorrents.unblockit.vegas/
|
||||
- https://glotorrents.mrunblock.bond/
|
||||
- https://glodls.unblockninja.com/
|
||||
- https://glotorrents.nocensor.click/
|
||||
- https://glotorrents.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://glodls.rocks/
|
||||
- https://gtdb.to/
|
||||
- https://glotorrents.nocensor.biz/
|
||||
- https://glotorrents.unblockit.llc/
|
||||
- https://glotorrents.unblockit.blue/
|
||||
- https://glotorrents.unblockit.name/
|
||||
- https://glotorrents.nocensor.sbs/
|
||||
@@ -39,6 +37,9 @@ legacylinks:
|
||||
- https://glotorrents.unblockit.asia/
|
||||
- https://glotorrents.unblockit.mov/
|
||||
- https://glotorrents.mrunblock.life/
|
||||
- https://glotorrents.unblockit.rsvp/
|
||||
- https://glotorrents.nocensor.click/
|
||||
- https://gtdb.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -169,6 +169,8 @@ search:
|
||||
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td
|
||||
leechers:
|
||||
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td ~ td
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/free.png"]: 0
|
||||
|
@@ -175,4 +175,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP v1.8.5 2023-07-29
|
||||
|
@@ -25,11 +25,18 @@ caps:
|
||||
- {id: 127, cat: Movies/HD, desc: "H-265"}
|
||||
- {id: 128, cat: TV/Documentary, desc: "Dokument"}
|
||||
- {id: 129, cat: TV/Sport, desc: "Sportovní Filmy"}
|
||||
- {id: 130, cat: TV/WEB-DL, desc: "TV - WEB- DL"}
|
||||
- {id: 130, cat: TV/WEB-DL, desc: "TV - WEB- DL HBO Max"}
|
||||
- {id: 131, cat: Movies, desc: "RLS For HDCZT"}
|
||||
- {id: 132, cat: Movies, desc: "Film na přání"}
|
||||
- {id: 133, cat: Movies/WEB-DL, desc: "TV - WEB- DL Disney"}
|
||||
- {id: 134, cat: Movies/WEB-DL, desc: "TV -WEB- DL NETLIFIX"}
|
||||
- {id: 135, cat: Movies/WEB-DL, desc: "TV - WEB- DL Prime"}
|
||||
- {id: 136, cat: Movies/WEB-DL, desc: "TV -WEB- DL Skyshow"}
|
||||
- {id: 91, cat: TV, desc: "Serial titulky"}
|
||||
- {id: 45, cat: TV, desc: "SERIALY CZ"}
|
||||
- {id: 81, cat: Movies, desc: "ORIGINAL JAZYK"}
|
||||
# Hudba Video
|
||||
- {id: 39, cat: Audio/Video, desc: "Hudba Video"}
|
||||
# Animované
|
||||
- {id: 47, cat: TV/Other, desc: "Animované"}
|
||||
# HUDBA
|
||||
|
195
src/Jackett.Common/Definitions/hellashut.yml
Normal file
195
src/Jackett.Common/Definitions/hellashut.yml
Normal file
@@ -0,0 +1,195 @@
|
||||
---
|
||||
id: hellashut
|
||||
name: HellasHut
|
||||
description: "HellasHut is a GREEK Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: el-GR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
testlinktorrent: false
|
||||
links:
|
||||
- https://hellashut.net/
|
||||
legacylinks:
|
||||
- https://hellashut.de/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 28, cat: TV/Anime, desc: "Anime/Cartoon HD"}
|
||||
- {id: 47, cat: TV/Anime, desc: "Anime/Cartoon HDTV"}
|
||||
- {id: 48, cat: TV/Anime, desc: "Anime/Cartoon SD"}
|
||||
- {id: 50, cat: TV/Anime, desc: "Anime/Cartoon SD Emb"}
|
||||
- {id: 51, cat: TV/Anime, desc: "Anime/Cartoon TV"}
|
||||
- {id: 77, cat: PC, desc: "Applications DOS"}
|
||||
- {id: 20, cat: PC, desc: "Applications Linux"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Applications MAC"}
|
||||
- {id: 68, cat: PC, desc: "Applications OS2 WARP"}
|
||||
- {id: 21, cat: PC, desc: "Applications Other"}
|
||||
- {id: 18, cat: PC/0day, desc: "Applications Windows"}
|
||||
- {id: 52, cat: Books, desc: "Books/Magazines All"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "Documentaries All"}
|
||||
- {id: 53, cat: TV/Documentary, desc: "Documentaries Greek"}
|
||||
- {id: 54, cat: TV/Documentary, desc: "Documentaries HD"}
|
||||
- {id: 55, cat: Movies/DVD, desc: "DVD-R All"}
|
||||
- {id: 17, cat: Console/Other, desc: "Games Other"}
|
||||
- {id: 11, cat: Console/PS4, desc: "Games PSX"}
|
||||
- {id: 10, cat: PC/Games, desc: "Games Windows"}
|
||||
- {id: 13, cat: Console/XBox, desc: "Games Xbox"}
|
||||
- {id: 56, cat: Other, desc: "Miscellaneous All"}
|
||||
- {id: 57, cat: PC/Mobile-Other, desc: "Mobile All"}
|
||||
- {id: 1, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 2, cat: Movies/UHD, desc: "Movies 4K"}
|
||||
- {id: 42, cat: Movies/BluRay, desc: "Movies BluRay"}
|
||||
- {id: 58, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: 4, cat: Movies/HD, desc: "Movies HD"}
|
||||
- {id: 69, cat: Movies/HD, desc: "Movies HD Packs"}
|
||||
- {id: 3, cat: Movies/SD, desc: "Movies SD"}
|
||||
- {id: 67, cat: Movies/SD, desc: "Movies SD Packs"}
|
||||
- {id: 71, cat: Audio, desc: "Music CDA"}
|
||||
- {id: 59, cat: Audio, desc: "Music Discographies"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Music FLAC"}
|
||||
- {id: 22, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 25, cat: Audio/Video, desc: "Music Video"}
|
||||
- {id: 75, cat: Movies/HD, desc: "NO IN SUBS Movies HD"}
|
||||
- {id: 76, cat: Movies/UHD, desc: "NO SUBS IN Movies 4K"}
|
||||
- {id: 35, cat: TV/Sport, desc: "Sports HD"}
|
||||
- {id: 34, cat: TV/Sport, desc: "Sports SD"}
|
||||
- {id: 5, cat: TV, desc: "TV Greek Movies"}
|
||||
- {id: 6, cat: TV, desc: "TV Greek Series"}
|
||||
- {id: 7, cat: TV, desc: "TV Greek Series Packs"}
|
||||
- {id: 60, cat: TV, desc: "TV Greek Shows"}
|
||||
- {id: 41, cat: TV/HD, desc: "TV HD"}
|
||||
- {id: 61, cat: TV, desc: "TV Series"}
|
||||
- {id: 62, cat: TV, desc: "TV Series Emb"}
|
||||
- {id: 63, cat: TV, desc: "TV Series Emb Packs"}
|
||||
- {id: 64, cat: TV/HD, desc: "TV Series HD"}
|
||||
- {id: 65, cat: TV/HD, desc: "TV Series HD Packs"}
|
||||
- {id: 66, cat: TV, desc: "TV Series Packs"}
|
||||
- {id: 73, cat: Movies/BluRay, desc: "UNTOUCHED BluRay"}
|
||||
- {id: 72, cat: Movies/DVD, desc: "UNTOUCHED DVD"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: id
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
returnto: /
|
||||
error:
|
||||
- selector: td.embedded:contains("Access Denied")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download.php?id="], a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hellashut.de/torrents-search.php?c52=1&search=&cat=0&incldead=1&advanced=1&lang=0&blah=0&freeleech=0&sort=id&order=desc
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
# 0 all, 1 notfree, 2 onlyfree
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 all, 1 English, 2 French, 3 German, 4 Italian, 5 Japanese, 6 Spanish, 7 Russian, 8 Greek
|
||||
lang: 0
|
||||
# 0 name, 1 descr, 2 uploader
|
||||
blah: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
|
||||
# 0 all
|
||||
team: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# does not return imdb link in results
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner tr.t-row
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="cat="]
|
||||
attribute: href
|
||||
optional: true
|
||||
default: 56
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&hit=1", ""] # avoid redirect
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&hit=1", ""] # avoid redirect
|
||||
size:
|
||||
selector: td:nth-last-child(7)
|
||||
date:
|
||||
selector: td:nth-last-child(6)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm:ss"
|
||||
grabs:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 10 day (as seconds = 10 x 24 x 60 x 60)
|
||||
text: 864000
|
||||
# TorrentTrader v2-svn
|
@@ -10,15 +10,15 @@ links:
|
||||
|
||||
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/MV"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 409, cat: Other, desc: "Misc/其他"}
|
||||
- {id: 408, cat: Audio, desc: "Music/音乐"}
|
||||
- {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: "动漫"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片"}
|
||||
- {id: 401, cat: Movies, desc: "电影"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -27,13 +27,19 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the HHanClub Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -60,18 +66,31 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
secret: <?php echo $secret ?>
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="usercp.php"]
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
$raw: "{{ range .Categories }}cat[]{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
@@ -86,42 +105,30 @@ search:
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
selector: div.w-full:has(a[href^="details.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="]
|
||||
args: cat[]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
selector: div.torrent-info-text:nth-child(2) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -131,7 +138,7 @@ search:
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
selector: div.torrent-info-text:nth-child(2):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -141,26 +148,26 @@ search:
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
selector: div.torrent-info-text:nth-child(1)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: div.torrent-info-text:nth-child(3)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: div.torrent-info-text:nth-child(4)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
selector: div.torrent-info-text:nth-child(5)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
span.promotion-tag-free: 0
|
||||
span.promotion-tag-free2up: 0
|
||||
span.promotion-tag-50pctdown: 0.5
|
||||
span.promotion-tag-50pctdown2up: 0.5
|
||||
span.promotion-tag-30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
span.promotion-tag-50pctdown2up: 2
|
||||
span.promotion-tag-free2up: 2
|
||||
span.promotion-tag-2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
@@ -168,6 +175,5 @@ search:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.39 2023-05-15
|
||||
selector: div.torrent-title > div > div
|
||||
# NexusPHP v1.8.6 2023-08-15 (customised)
|
||||
|
@@ -79,7 +79,7 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info
|
||||
- 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.
|
||||
|
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: idope
|
||||
name: Idope
|
||||
name: iDope
|
||||
description: "iDope is a Public torrent search engine presenting direct magnet links"
|
||||
language: en-US
|
||||
type: public
|
||||
|
@@ -11,7 +11,7 @@ links:
|
||||
- https://ilcorsaronero.link/
|
||||
- https://ilcorsaronero.torrentbay.net/
|
||||
- https://ilcorsaronero.mrunblock.bond/
|
||||
- https://ilcorsaronero.nocensor.click/
|
||||
- https://ilcorsaronero.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://ilcorsaronero.live/
|
||||
- https://ilcorsaronero.vip/
|
||||
@@ -37,6 +37,7 @@ legacylinks:
|
||||
- https://ilcorsaronero.pro/
|
||||
- https://ilcorsaronero.mrunblock.guru/
|
||||
- https://ilcorsaronero.mrunblock.life/
|
||||
- https://ilcorsaronero.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -27,6 +27,7 @@ caps:
|
||||
- {id: 74, cat: Movies/UHD, desc: "Filmi UHD Remux"}
|
||||
- {id: 77, cat: Movies/HD, desc: "Filmi DrSi"}
|
||||
- {id: 97, cat: Movies/UHD, desc: "Filmi BluRay 2160p"}
|
||||
- {id: 99, cat: Movies/HD, desc: "Filmi BRRip 720p"}
|
||||
# TV
|
||||
- {id: 23, cat: TV, desc: "TV"}
|
||||
- {id: 24, cat: TV/HD, desc: "TV HDTV 720p"}
|
||||
@@ -37,6 +38,7 @@ caps:
|
||||
- {id: 80, cat: TV/WEB-DL, desc: "TV WEB-DL 2160p"}
|
||||
- {id: 81, cat: TV/HD, desc: "TV BluRay 720p"}
|
||||
- {id: 82, cat: TV/HD, desc: "TV BluRay 1080p"}
|
||||
- {id: 98, cat: TV/UHD, desc: "TV BluRay 2160p"}
|
||||
# Risanke
|
||||
- {id: 26, cat: Movies/Other, desc: "Animirano"}
|
||||
- {id: 56, cat: TV/Anime, desc: "Anime"}
|
||||
|
@@ -31,19 +31,13 @@ caps:
|
||||
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
|
||||
label: Cookie
|
||||
- name: info
|
||||
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 KamePT Web Site. Otherwise just leave it empty."
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -70,19 +64,9 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
method: cookie
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="usercp.php"]
|
||||
@@ -179,4 +163,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP KEMURIKUSA 2019-01-09
|
||||
|
@@ -196,4 +196,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.5 2023-07-22
|
||||
# NexusPHP v1.8.6 2023-07-30
|
||||
|
@@ -9,10 +9,10 @@ followredirect: true
|
||||
# changes to this indexer should also be made to limetorrentsclone
|
||||
links:
|
||||
- https://www.limetorrents.lol/
|
||||
- https://limetorrents.unblockit.rsvp/
|
||||
- https://limetorrents.unblockit.vegas/
|
||||
- https://limetorrents.unblockninja.com/
|
||||
- https://limetorrents.mrunblock.bond/
|
||||
- https://limetorrents.nocensor.click/
|
||||
- https://limetorrents.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://www.limetorrents.io/
|
||||
- https://www.limetorrents.cc/
|
||||
@@ -41,6 +41,8 @@ legacylinks:
|
||||
- https://limetorrents.unblockit.asia/
|
||||
- https://limetorrents.unblockit.mov/
|
||||
- https://limetorrents.mrunblock.life/
|
||||
- https://limetorrents.unblockit.rsvp/
|
||||
- https://limetorrents.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -10,33 +10,20 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/SD, desc: "Movie/Xvid"}
|
||||
- {id: 14, cat: Movies/WEB-DL, desc: "Movie/WeBRip"}
|
||||
- {id: 2, cat: Movies/3D, desc: "Movie/3D"}
|
||||
- {id: 3, cat: Movies/SD, desc: "Movie/480p"}
|
||||
- {id: 5, cat: Movies/UHD, desc: "Movie/4k"}
|
||||
- {id: 6, cat: Movies/BluRay, desc: "Movie/BD-R"}
|
||||
- {id: 4, cat: Movies/BluRay, desc: "Movie/BD-Rip"}
|
||||
- {id: 7, cat: Movies/BluRay, desc: "Movie/HD/Bluray"}
|
||||
- {id: 8, cat: Movies, desc: "Movie/Kids"}
|
||||
- {id: 9, cat: Movies/HD, desc: "Movie/MP4"}
|
||||
- {id: 12, cat: Movies/Foreign, desc: "Movie/Non-English"}
|
||||
- {id: 14, cat: Movies/WEB-DL, desc: "Movie/WEB"}
|
||||
- {id: 36, cat: Movies/UHD, desc: "Movie/4K Disc"}
|
||||
- {id: 5, cat: Movies/UHD, desc: "Movie/4K Rip"}
|
||||
- {id: 6, cat: Movies/BluRay, desc: "Movie/BluRay Disc"}
|
||||
- {id: 7, cat: Movies/BluRay, desc: "Movie/BluRay Rip"}
|
||||
- {id: 34, cat: Movies, desc: "Movie/Rest"}
|
||||
- {id: 15, cat: Movies, desc: "Movie/Packs"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Movie/x265"}
|
||||
- {id: 17, cat: XXX, desc: "Movie/XXX/Packs"}
|
||||
- {id: 18, cat: Movies, desc: "Movie/Freeleech"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "Movie/DVD-R"}
|
||||
- {id: 20, cat: Movies/SD, desc: "Movie/Cam"}
|
||||
- {id: 20, cat: Movies/SD, desc: "Movie/CAM"}
|
||||
- {id: 21, cat: XXX, desc: "Movie/XXX"}
|
||||
- {id: 23, cat: Movies/DVD, desc: "Movie/DvdRip"}
|
||||
- {id: 25, cat: Movies, desc: "V.I.P."}
|
||||
- {id: 32, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 33, cat: Audio/Video, desc: "Music/Misc"}
|
||||
- {id: 33, cat: Audio/Video, desc: "Music"}
|
||||
- {id: 28, cat: TV, desc: "Tv Packs"}
|
||||
- {id: 31, cat: TV, desc: "Tv Mini Packs"}
|
||||
- {id: 29, cat: TV/SD, desc: "Tv Episodes SD"}
|
||||
- {id: 30, cat: TV/HD, desc: "Tv Episodes HD"}
|
||||
- {id: 26, cat: TV/Sport, desc: "Tv Sport SD/HD"}
|
||||
- {id: 31, cat: TV, desc: "Tv Mini Series"}
|
||||
- {id: 30, cat: TV/HD, desc: "Tv Episodes"}
|
||||
- {id: 26, cat: TV/Sport, desc: "Tv Sport"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
@@ -7,6 +7,8 @@ type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://nordichd.org/
|
||||
legacylinks:
|
||||
- http://nordichd.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -11,7 +11,7 @@ links:
|
||||
- https://nyaa.iss.ink/
|
||||
- https://nyaa.mrunblock.bond/ # for magnets only
|
||||
- https://nyaa.unblockninja.com/ # for magnets only
|
||||
- https://nyaa.nocensor.click/
|
||||
- https://nyaa.nocensor.cloud/
|
||||
- https://nyaa.land/
|
||||
legacylinks:
|
||||
- https://nyaa.black-mirror.xyz/
|
||||
@@ -29,6 +29,7 @@ legacylinks:
|
||||
- https://nyaa.nocensor.art/
|
||||
- https://nyaa.mrunblock.guru/
|
||||
- https://nyaa.mrunblock.life/
|
||||
- https://nyaa.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
164
src/Jackett.Common/Definitions/onlyencodes-api.yml
Normal file
164
src/Jackett.Common/Definitions/onlyencodes-api.yml
Normal file
@@ -0,0 +1,164 @@
|
||||
---
|
||||
id: onlyencodes-api
|
||||
name: OnlyEncodes (API)
|
||||
description: "OnlyEncodes is a Private Tracker for MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://onlyencodes.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 2, cat: TV, desc: "TV Show"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://onlyencodes.cc/\" target=\"_blank\">OnlyEncodes</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 2 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 6.5.0
|
@@ -188,4 +188,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-13
|
||||
# NexusPHP v1.8.6 2023-08-04
|
||||
|
168
src/Jackett.Common/Definitions/ostwiki.yml
Normal file
168
src/Jackett.Common/Definitions/ostwiki.yml
Normal file
@@ -0,0 +1,168 @@
|
||||
---
|
||||
id: ostwiki
|
||||
name: Ostwiki
|
||||
description: "Ostwiki is a Private Torrent Tracker for Soundtracks releases."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.ostwiki.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 12, cat: Audio, desc: "Anime Soundtracks"}
|
||||
- {id: 19, cat: Audio, desc: "Discography"}
|
||||
- {id: 13, cat: Audio, desc: "Game Soundtracks"}
|
||||
- {id: 14, cat: Audio, desc: "Movie Soundtracks"}
|
||||
- {id: 18, cat: Audio/MP3, desc: "MP3 Musical"}
|
||||
- {id: 15, cat: Audio, desc: "Musical Soundtracks"}
|
||||
- {id: 17, cat: Audio, desc: "Other Music"}
|
||||
- {id: 20, cat: Audio/Lossless, desc: "Soundtrack .FLAC"}
|
||||
- {id: 16, cat: Audio, desc: "Television Soundtracks"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 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>40</b> on your account profile. The Default is <i>15</i>.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img#regimage
|
||||
input: imagestring
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
error:
|
||||
- selector: table:contains("error has occured")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php?logouthash="]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: takethanks.php
|
||||
method: post
|
||||
inputs:
|
||||
torrentid: "{{ .DownloadUri.Query.id }}"
|
||||
selectors:
|
||||
- selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[\\s]+", "%"]
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ .Keywords }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: t_name
|
||||
# does not support multi category searching so defaulting to all.
|
||||
category: 0
|
||||
# yes, no
|
||||
include_dead_torrents: yes
|
||||
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
|
||||
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/browse.php?category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title_default:
|
||||
# is usually abbreaviated
|
||||
selector: a[href*="/details.php?id="]
|
||||
title:
|
||||
# while still abbreviated, is usually longer than the default
|
||||
selector: div.tooltip-content div
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src*="/torrents/images/"]
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})"
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
description:
|
||||
# Wait: 4 h
|
||||
selector: div.tooltip-content > div:last-child
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
img[src$="/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="/x2.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.1
|
||||
minimumseedtime:
|
||||
# 60 hours (as seconds = 60 x 60 x 60)
|
||||
text: 216000
|
||||
# TS Special Edition v.8.0
|
@@ -192,4 +192,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-13
|
||||
# NexusPHP v1.8.6 2023-08-04
|
||||
|
@@ -40,6 +40,13 @@ settings:
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: useragent
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info
|
||||
label: How to get the User-Agent
|
||||
default: "<ol><li>From the same place you fetched the cookie,</li><li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -98,6 +105,9 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
|
@@ -176,4 +176,4 @@ search:
|
||||
description:
|
||||
selector: td:has(table.torrentname)
|
||||
remove: a, img
|
||||
# NexusPHP custom v2019.12
|
||||
# NexusPHP prod#60d2fdc724a 2023-05-10
|
||||
|
@@ -39,10 +39,6 @@ settings:
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- 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: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
|
@@ -27,6 +27,7 @@ caps:
|
||||
- {id: 40, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 22, cat: Audio/Lossless, desc: "Music/Flac"}
|
||||
- {id: 51, cat: PC/Games, desc: "PC GAMES"}
|
||||
- {id: 53, cat: Audio, desc: "Promo Music"}
|
||||
- {id: 23, cat: TV, desc: "Tv/Packs"}
|
||||
- {id: 16, cat: TV/HD, desc: "Tv/x264"}
|
||||
- {id: 49, cat: TV/HD, desc: "Tv/X265"}
|
||||
@@ -41,6 +42,38 @@ caps:
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: 2
|
||||
options:
|
||||
2: desc
|
||||
1: asc
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
@@ -65,11 +98,13 @@ search:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# title descr genre all
|
||||
searchin: "title"
|
||||
searchin: title
|
||||
# 0 active 1 incldead 2 onlydead
|
||||
incldead: 1
|
||||
# 1 yes 0 no
|
||||
"only_free": 0
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table[cellpadding="3"] > tbody > tr:has(a[href^="download.php?torrent="])
|
||||
@@ -122,11 +157,11 @@ search:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
a.info:contains("Free"): 0
|
||||
a.info:contains("Freeleech"): 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="./pic/doubleseed.gif"]: 0
|
||||
img[src$="pic/doubleseed.gif"]: 0
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
|
@@ -211,4 +211,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-18
|
||||
# NexusPHP v1.8.6 2023-08-15
|
||||
|
@@ -10,7 +10,7 @@ links:
|
||||
- http://rutor.is/ # site does not support https ERR_CONNECTION_REFUSED
|
||||
- http://new-rutor.org/ # site does not support https ERR_CONNECTION_REFUSED
|
||||
- https://rutor.mrunblock.bond/ # for magnet only
|
||||
- https://rutor.nocensor.click/
|
||||
- https://rutor.nocensor.cloud/
|
||||
legacylinks:
|
||||
- http://live-rutor.org/ # domain expired 9 Feb 2020
|
||||
- https://rutor.black-mirror.xyz/
|
||||
@@ -32,6 +32,7 @@ legacylinks:
|
||||
- https://rutor.nocensor.art/
|
||||
- https://rutor.mrunblock.guru/
|
||||
- https://rutor.mrunblock.life/
|
||||
- https://rutor.nocensor.click/
|
||||
|
||||
caps:
|
||||
# unfortunately RuTor does not display categories anywhere in its search results page :-(
|
||||
|
@@ -58,6 +58,7 @@ caps:
|
||||
- {id: 1328, cat: Movies/HD, desc: " |- Российские фильмы в 720p (2017)"}
|
||||
- {id: 1329, cat: Movies/HD, desc: " |- Зарубежные фильмы в 1080p (2017)"}
|
||||
- {id: 1330, cat: Movies/HD, desc: " |- Российские фильмы в 1080р (2017)"}
|
||||
- {id: 1715, cat: Movies, desc: "Зарубежные фильмы до 1990 г."}
|
||||
- {id: 820, cat: Movies/HD, desc: "Зарубежные фильмы"}
|
||||
- {id: 1346, cat: Movies/UHD, desc: " |- [4K | ULTRA HD | 2160p]"}
|
||||
- {id: 843, cat: Movies/HD, desc: " |- Blu-Ray , BDRip 1080p , HDTV 1080 , WEB-DL 1080р"}
|
||||
@@ -77,7 +78,6 @@ caps:
|
||||
- {id: 832, cat: Movies, desc: " |- Классика зарубежного кино"}
|
||||
- {id: 1608, cat: Movies, desc: " |- Классика зарубежного кино (720p, 1080p)"}
|
||||
- {id: 1317, cat: Movies, desc: " |- Детские фильмы, сказки, сериалы"}
|
||||
- {id: 837, cat: Movies, desc: " |- Сборники фильмов , Фильмографии"}
|
||||
- {id: 838, cat: Movies, desc: " |- Короткометражные фильмы"}
|
||||
- {id: 845, cat: Movies, desc: " |- В оригинале"}
|
||||
- {id: 1560, cat: Movies, desc: " |- | - фильмы с переводом UKR"}
|
||||
@@ -94,8 +94,6 @@ caps:
|
||||
- {id: 807, cat: Movies, desc: " |- Мистика , Фэнтези"}
|
||||
- {id: 806, cat: Movies, desc: " |- Ужасы , Триллер"}
|
||||
- {id: 805, cat: Movies, desc: " |- Фантастика"}
|
||||
- {id: 810, cat: Movies, desc: "| - Кино СССР"}
|
||||
- {id: 1609, cat: Movies, desc: " |- Кино СССР (720p, 1080p)"}
|
||||
- {id: 1318, cat: Movies, desc: " |- Детские фильмы, сказки, сериалы"}
|
||||
- {id: 804, cat: Movies, desc: " |- Сборники фильмов / Фильмографии"}
|
||||
# Сериалы TV
|
||||
@@ -166,8 +164,6 @@ caps:
|
||||
- {id: 1636, cat: Audio/MP3, desc: " |- Сборники поп музыки (50/50 общие mp3)"}
|
||||
- {id: 1643, cat: Audio/MP3, desc: " |- Зарубежная поп музыка (альбомы, синглы mp3)"}
|
||||
- {id: 1637, cat: Audio/MP3, desc: " |- Зарубежная поп-музыка (сборники mp3)"}
|
||||
- {id: 1654, cat: Audio/MP3, desc: " |- Eurodance, Disco, Hi-NRG, Technopop (mp3)"}
|
||||
- {id: 1638, cat: Audio/MP3, desc: " |- Eurodance, Disco, Hi-NRG, Technopop (Сборники mp3)"}
|
||||
- {id: 1639, cat: Audio/MP3, desc: " |- Club, Dance, Hands Up (Сборники mp3)"}
|
||||
- {id: 1640, cat: Audio/Lossless, desc: " |- Зарубежный шансон (mp3, Lossless)"}
|
||||
- {id: 1177, cat: Audio/MP3, desc: "Отечественная поп музыка, шансон и авторская песня"}
|
||||
@@ -175,7 +171,10 @@ caps:
|
||||
- {id: 1427, cat: Audio/MP3, desc: " |- Сборники Российской поп музыки"}
|
||||
- {id: 1641, cat: Audio/MP3, desc: " |- Шансон и авторская песня (mp3)"}
|
||||
- {id: 1561, cat: Audio/MP3, desc: " |- Сборники Русского шансона"}
|
||||
- {id: 1168, cat: Audio/MP3, desc: "Зарубежный ROCK"}
|
||||
- {id: 1598, cat: Audio/MP3, desc: "Отечественный Rock, Metal"}
|
||||
- {id: 1599, cat: Audio/MP3, desc: " |- Отечественный Rock (mp3)"}
|
||||
- {id: 1600, cat: Audio/MP3, desc: " |- Отечественный Metal (mp3 )"}
|
||||
- {id: 1601, cat: Audio/MP3, desc: " |- Сборники Rock, Metal (mp3)"}
|
||||
- {id: 1200, cat: Audio/MP3, desc: " |- Classic Rock&Hard Rock"}
|
||||
- {id: 1552, cat: Audio/MP3, desc: " |- Progressive&Art-Rock"}
|
||||
- {id: 1565, cat: Audio/MP3, desc: " |- Folk-Rock, Folk-Punk, Songwriter"}
|
||||
@@ -195,7 +194,6 @@ caps:
|
||||
- {id: 1586, cat: Audio/MP3, desc: " |- Sludge, Stoner, Post-Metal"}
|
||||
- {id: 1587, cat: Audio/MP3, desc: " |- Thrash, Speed"}
|
||||
- {id: 1602, cat: Audio/MP3, desc: " |- Сборники Metal"}
|
||||
- {id: 1589, cat: Audio/MP3, desc: "Зарубежные Alternative, Punk, Independent"}
|
||||
- {id: 1590, cat: Audio/MP3, desc: " |- Alternative&Nu-metal"}
|
||||
- {id: 1591, cat: Audio/MP3, desc: " |- Punk"}
|
||||
- {id: 1592, cat: Audio/MP3, desc: " |- Hardcore"}
|
||||
@@ -204,6 +202,9 @@ caps:
|
||||
- {id: 1595, cat: Audio/MP3, desc: " |- Emocore, Post-hardcore, Metalcore, Deathcore"}
|
||||
- {id: 1596, cat: Audio/MP3, desc: " |- Gothic Rock&Dark Folk"}
|
||||
- {id: 1597, cat: Audio/MP3, desc: " |- Avant-garde, Experimental Rock"}
|
||||
- {id: 1626, cat: Audio/MP3, desc: " |- Зарубежный джаз (mp3)"}
|
||||
- {id: 1627, cat: Audio/MP3, desc: " |- Зарубежный блюз (mp3)"}
|
||||
- {id: 1628, cat: Audio/MP3, desc: " |- Отечественный джаз и блюз (mp3)"}
|
||||
- {id: 1610, cat: Audio/MP3, desc: " |- Goa Trance, Psy-Trance"}
|
||||
- {id: 1611, cat: Audio/MP3, desc: " |- PsyChill, Ambient, Dub"}
|
||||
- {id: 1457, cat: Audio/MP3, desc: " |- Trance"}
|
||||
|
@@ -102,8 +102,8 @@ search:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
selector: td.numele_tor span[data-original-title]
|
||||
attribute: data-original-title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src='(.+?)'"
|
||||
@@ -115,15 +115,17 @@ search:
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: td:nth-last-child(7)
|
||||
selector: td:nth-last-child(8)
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
selector: td:nth-last-child(6)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "HH:mm:ssyyyy-MM-dd zzz"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
|
@@ -8,9 +8,10 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://solidtorrents.to/
|
||||
- https://solidtorrents.nocensor.click/
|
||||
- https://solidtorrents.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://solidtorrents.net/
|
||||
- https://solidtorrents.nocensor.click/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -1,261 +0,0 @@
|
||||
---
|
||||
id: spidertk
|
||||
name: SpiderTK
|
||||
description: "SpiderTK is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://spidertk.top/
|
||||
legacylinks:
|
||||
- https://spidertk.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies/BluRay, desc: "Films / 2160p / BluRay Full"}
|
||||
- {id: 410, cat: Movies/UHD, desc: "Films / 2160p / REMUX"}
|
||||
- {id: 411, cat: Movies/UHD, desc: "Films / 2160p / AV1"}
|
||||
- {id: 412, cat: Movies/UHD, desc: "Films / 2160p / x265"}
|
||||
- {id: 413, cat: Movies/BluRay, desc: "Films / 1080p / BluRay Full"}
|
||||
- {id: 414, cat: Movies/HD, desc: "Films / 1080p / REMUX"}
|
||||
- {id: 415, cat: Movies/HD, desc: "Films / 1080p / AV1"}
|
||||
- {id: 416, cat: Movies/HD, desc: "Films / 1080p / x265"}
|
||||
- {id: 417, cat: Movies/HD, desc: "Films / 1080p / x264"}
|
||||
- {id: 418, cat: Movies/HD, desc: "Films / 720p / x264"}
|
||||
- {id: 419, cat: Movies/SD, desc: "Films / SD / x264"}
|
||||
- {id: 420, cat: Movies/3D, desc: "Films / 3D"}
|
||||
- {id: 421, cat: Movies/SD, desc: "Films / XviD"}
|
||||
- {id: 422, cat: Movies/HD, desc: "Films / HDTV / 1080p"}
|
||||
- {id: 423, cat: Movies/WEB-DL, desc: "Films / WEB / 1080p"}
|
||||
- {id: 424, cat: TV/Documentary, desc: "Films / Documentaire"}
|
||||
- {id: 425, cat: TV/Sport, desc: "Films / Sport"}
|
||||
- {id: 426, cat: Movies, desc: "Films / Animation"}
|
||||
- {id: 427, cat: Movies/Other, desc: "Films / Spectacle"}
|
||||
- {id: 428, cat: Audio/Video, desc: "Films / Concerts, Clips"}
|
||||
- {id: 430, cat: TV, desc: "Séries / BluRay"}
|
||||
- {id: 431, cat: TV, desc: "Séries / Pack VF"}
|
||||
- {id: 432, cat: TV/HD, desc: "Séries / HD VF"}
|
||||
- {id: 433, cat: TV/SD, desc: "Séries / SD VF"}
|
||||
- {id: 434, cat: TV, desc: "Séries / Pack VOSTFR"}
|
||||
- {id: 435, cat: TV/HD, desc: "Séries / HD VOSTFR"}
|
||||
- {id: 436, cat: TV/SD, desc: "Séries / SD VOSTFR"}
|
||||
- {id: 437, cat: TV/Anime, desc: "Séries / Pack Animé"}
|
||||
- {id: 438, cat: TV/Anime, desc: "Séries / Animé VF"}
|
||||
- {id: 439, cat: TV/Anime, desc: "Séries / Animé VOSTFR"}
|
||||
- {id: 440, cat: Movies/HD, desc: "Films / HDTV / 720p"}
|
||||
- {id: 441, cat: TV/Documentary, desc: "Séries / Documentaire"}
|
||||
- {id: 442, cat: TV/Sport, desc: "Séries / Sport"}
|
||||
- {id: 443, cat: TV, desc: "Séries / Émission TV"}
|
||||
- {id: 444, cat: Books/EBook, desc: "Livres / Roman"}
|
||||
- {id: 445, cat: Audio/Audiobook, desc: "Livres / Audio"}
|
||||
- {id: 446, cat: Books/Mags, desc: "Livres / Magazine"}
|
||||
- {id: 447, cat: Books/Comics, desc: "Livres / Bande Dessinée"}
|
||||
- {id: 448, cat: Books/Comics, desc: "Livres / Comic"}
|
||||
- {id: 449, cat: Books/Comics, desc: "Livres / Manga"}
|
||||
- {id: 450, cat: PC/Games, desc: "Logiciels / Jeu PC"}
|
||||
- {id: 451, cat: PC/Games, desc: "Logiciels / Jeu Mac"}
|
||||
- {id: 452, cat: PC/Games, desc: "Logiciels / Jeu Linux"}
|
||||
- {id: 453, cat: PC/0day, desc: "Logiciels / Appli Windows"}
|
||||
- {id: 454, cat: PC/Mac, desc: "Logiciels / Appli Mac"}
|
||||
- {id: 455, cat: PC, desc: "Logiciels / Appli Linux"}
|
||||
- {id: 456, cat: Console, desc: "Logiciels / Console"}
|
||||
- {id: 457, cat: PC/Mobile-iOS, desc: "Logiciels / iOS"}
|
||||
- {id: 458, cat: Movies/WEB-DL, desc: "Films / WEB / 720p"}
|
||||
- {id: 459, cat: PC/Mobile-Android, desc: "Logiciels / Android"}
|
||||
- {id: 460, cat: Movies, desc: "Films / VO"}
|
||||
- {id: 461, cat: TV, desc: "Séries / VO"}
|
||||
- {id: 462, cat: Movies/WEB-DL, desc: "Films / WEB / SD"}
|
||||
- {id: 463, cat: Movies/WEB-DL, desc: "Films / WEB / 2160p"}
|
||||
- {id: 468, cat: Books/Other, desc: "Livres / Divers"}
|
||||
- {id: 469, cat: Books/Other, desc: "Livres / Bricolage"}
|
||||
- {id: 470, cat: Books/Other, desc: "Livres / RPG"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the SpiderTK Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTi by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
MULTi FRENCH: MULTi FRENCH
|
||||
ENGLISH: ENGLISH
|
||||
MULTi ENGLISH: MULTi ENGLISH
|
||||
VOSTFR: VOSTFR
|
||||
MULTi VOSTFR: MULTi VOSTFR
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||
default: false
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("Echoué")) # invalid captcha
|
||||
- selector: td.embedded:has(h2:contains("Échec")) # invalid uid or pwd
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}"
|
||||
inclbookmarked: 0
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ 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_phase1:
|
||||
selector: a[href^="details.php?id="]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
|
||||
title_phase2:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
|
||||
title:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freeleech.png"]: 0
|
||||
img[src="pic/2xupfree.png"]: 0
|
||||
img[src="pic/50pc.png"]: 0.5
|
||||
img[src="pic/2x50pc.png"]: 0.5
|
||||
img[src="pic/30pc.png"]: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="pic/2x.png"]: 2
|
||||
img[src="pic/2xupfree.png"]: 2
|
||||
img[src="pic/2x50pc.png"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.81
|
||||
# NexusPHP v1.7.33 2022-12-19 (custom)
|
@@ -207,6 +207,9 @@ search:
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.6 but torrents must be seeded for 2 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.6
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
|
@@ -74,14 +74,17 @@ caps:
|
||||
# Video
|
||||
- {id: 200, cat: Movies, desc: "Video"}
|
||||
- {id: 201, cat: Movies, desc: "Movies"}
|
||||
- {id: 202, cat: Movies, desc: "Movies"}
|
||||
- {id: 202, cat: Movies, desc: "Movies DVDR"}
|
||||
- {id: 203, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 204, cat: Movies/Other, desc: "Movie Clips"}
|
||||
- {id: 205, cat: TV, desc: "TV"}
|
||||
- {id: 205, cat: TV, desc: "TV Shows"}
|
||||
- {id: 206, cat: TV/Other, desc: "Handheld"}
|
||||
- {id: 207, cat: Movies/HD, desc: "HD - Movies"}
|
||||
- {id: 208, cat: TV/HD, desc: "HD - TV shows"}
|
||||
- {id: 209, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 210, cat: Movies/SD, desc: "CAM/TS"}
|
||||
- {id: 211, cat: Movies/UHD, desc: "UHD/4k - Movies"}
|
||||
- {id: 212, cat: TV/UHD, desc: "UHD/4k - TV shows"}
|
||||
- {id: 299, cat: Movies/Other, desc: "Video Other"}
|
||||
# Applications
|
||||
- {id: 300, cat: PC, desc: "Applications"}
|
||||
@@ -109,12 +112,13 @@ caps:
|
||||
- {id: 502, cat: XXX/DVD, desc: "Movies DVDR"}
|
||||
- {id: 503, cat: XXX/ImageSet, desc: "Pictures"}
|
||||
- {id: 504, cat: XXX, desc: "Games"}
|
||||
- {id: 505, cat: XXX, desc: "HD - Movies"}
|
||||
- {id: 505, cat: XXX/x264, desc: "HD - Movies"}
|
||||
- {id: 506, cat: XXX, desc: "Movie Clips"}
|
||||
- {id: 507, cat: XXX/UHD, desc: "UHD/4k - Movies"}
|
||||
- {id: 599, cat: XXX/Other, desc: "Porn other"}
|
||||
# Other
|
||||
- {id: 600, cat: Other, desc: "Other"}
|
||||
- {id: 601, cat: Books, desc: "E-books"}
|
||||
- {id: 601, cat: Books/EBook, desc: "E-books"}
|
||||
- {id: 602, cat: Books/Comics, desc: "Comics"}
|
||||
- {id: 603, cat: Books, desc: "Pictures"}
|
||||
- {id: 604, cat: Books, desc: "Covers"}
|
||||
|
@@ -16,20 +16,30 @@ caps:
|
||||
- {id: 67, cat: PC/Mac, desc: "iOS"}
|
||||
# AUTRES
|
||||
- {id: 104, cat: Other, desc: "AUTRES"}
|
||||
# DOCUMENTAIRES
|
||||
# DOCUMENTAIRES FILM
|
||||
- {id: 72, cat: TV/Documentary, desc: "4K UHD"}
|
||||
- {id: 70, cat: TV/Documentary, desc: "HD 1080p"}
|
||||
- {id: 71, cat: TV/Documentary, desc: "HD 720p"}
|
||||
- {id: 81, cat: TV/Documentary, desc: "PACK 4K"}
|
||||
- {id: 80, cat: TV/Documentary, desc: "PACK HD"}
|
||||
- {id: 79, cat: TV/Documentary, desc: "PACK SD"}
|
||||
- {id: 119, cat: TV/Documentary, desc: "Québec HD"}
|
||||
- {id: 118, cat: TV/Documentary, desc: "Québec SD"}
|
||||
- {id: 69, cat: TV/Documentary, desc: "SD"}
|
||||
- {id: 75, cat: TV/Documentary, desc: "SÉRIES 4K"}
|
||||
- {id: 74, cat: TV/Documentary, desc: "SÉRIES HD"}
|
||||
- {id: 73, cat: TV/Documentary, desc: "SÉRIES SD"}
|
||||
- {id: 78, cat: TV/Documentary, desc: "V.O.S.T. 4K"}
|
||||
- {id: 77, cat: TV/Documentary, desc: "V.O.S.T. HD"}
|
||||
- {id: 76, cat: TV/Documentary, desc: "V.O.S.T. SD"}
|
||||
# DOCUMENTAIRES SERIES
|
||||
- {id: 81, cat: TV/Documentary, desc: "PACK 4K"}
|
||||
- {id: 80, cat: TV/Documentary, desc: "PACK HD"}
|
||||
- {id: 121, cat: TV/Documentary, desc: "PACK HD QC"}
|
||||
- {id: 79, cat: TV/Documentary, desc: "PACK SD"}
|
||||
- {id: 121, cat: TV/Documentary, desc: "PACK SD QC"}
|
||||
- {id: 117, cat: TV/Documentary, desc: "Québec HD"}
|
||||
- {id: 116, cat: TV/Documentary, desc: "Québec SD"}
|
||||
- {id: 75, cat: TV/Documentary, desc: "SÉRIES 4K"}
|
||||
- {id: 74, cat: TV/Documentary, desc: "SÉRIES HD"}
|
||||
- {id: 73, cat: TV/Documentary, desc: "SÉRIES SD"}
|
||||
- {id: 115, cat: TV/Documentary, desc: "V.O.S.T. 4K"}
|
||||
- {id: 114, cat: TV/Documentary, desc: "V.O.S.T. HD"}
|
||||
- {id: 113, cat: TV/Documentary, desc: "V.O.S.T. SD"}
|
||||
# FILMS
|
||||
- {id: 11, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 12, cat: Movies/UHD, desc: "4K UHD"}
|
||||
@@ -207,7 +217,7 @@ download:
|
||||
to: give
|
||||
torrent: "{{ .DownloadUri.Query.id }}"
|
||||
selectors:
|
||||
- selector: a[href^="download?id="]
|
||||
- selector: a[href^="download?id="], a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
@@ -262,9 +272,6 @@ search:
|
||||
download:
|
||||
selector: a[href^="/torrents-details?id="]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src^="uploads/images/"]
|
||||
attribute: src
|
||||
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://www.tokyotosho.info/
|
||||
- https://tokyotosho.mrunblock.bond/
|
||||
- https://tokyotosho.nocensor.click/
|
||||
- https://tokyotosho.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://tokyotosho.black-mirror.xyz/
|
||||
- https://tokyotosho.unblocked.casa/
|
||||
@@ -29,6 +29,7 @@ legacylinks:
|
||||
- https://tokyotosho.nocensor.art/
|
||||
- https://tokyotosho.mrunblock.guru/
|
||||
- https://tokyotosho.mrunblock.life/
|
||||
- https://tokyotosho.nocensor.click/
|
||||
|
||||
settings:
|
||||
- name: cat
|
||||
|
@@ -10,13 +10,12 @@ requestDelay: 2
|
||||
links:
|
||||
- https://www.torlock2.com/
|
||||
- https://www.torlock.com/
|
||||
- https://torlock.unblockit.rsvp/
|
||||
- https://torlock.nocensor.click/
|
||||
- https://torlock.unblockit.vegas/
|
||||
- https://torlock.nocensor.cloud/
|
||||
- https://torlock.mrunblock.bond/
|
||||
legacylinks:
|
||||
- https://torlock.com/
|
||||
- https://torlock.nocensor.biz/
|
||||
- https://torlock.unblockit.llc/
|
||||
- https://torlock.unblockit.blue/
|
||||
- https://www.torlock.icu/
|
||||
- https://torlock.unblockit.name/
|
||||
@@ -37,6 +36,8 @@ legacylinks:
|
||||
- https://torlock.unblockit.asia/
|
||||
- https://torlock.mrunblock.life/ # This web property is not accessible via this address
|
||||
- https://torlock.unblockit.mov/
|
||||
- https://torlock.unblockit.rsvp/
|
||||
- https://torlock.nocensor.click/
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
|
@@ -8,27 +8,12 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
# to fetch current domain use https://www.protege-torrent.com/Torrent9
|
||||
links:
|
||||
- https://www.torrent9.fi/
|
||||
- https://torrent9.nocensor.click/
|
||||
- https://www.torrent9.gs/
|
||||
- https://torrent9.nocensor.cloud/
|
||||
- https://torrent9.mrunblock.bond/
|
||||
legacylinks:
|
||||
- https://wwv.torrent9.one/
|
||||
- https://vww.torrent9.one/
|
||||
- https://www.torrent9.srl/
|
||||
- https://www.torrent9.la/
|
||||
- https://www.torrent9.ninja/
|
||||
- https://torrent9.nocensor.space/
|
||||
- https://torrent9.nocensor.work/
|
||||
- https://www.torrent9.pw/
|
||||
- https://www.torrent9.si/
|
||||
- https://torrent9.nocensor.biz/
|
||||
- https://www.torrent9.nl/
|
||||
- https://www.torrent9.re/
|
||||
- https://torrent9.nocensor.sbs/
|
||||
- https://ww1.torrent9.re/
|
||||
- http://ww2.torrent9.re/
|
||||
- https://torrent9.nocensor.world/
|
||||
- https://torrent9.nocensor.lol/
|
||||
- https://ww2.torrent9.re/
|
||||
- http://ww5.torrent9.re/
|
||||
- https://ww5.torrent9.re/
|
||||
@@ -38,6 +23,14 @@ legacylinks:
|
||||
- https://www.torrent9.cm/
|
||||
- https://torrent9.nocensor.art/
|
||||
- https://torrent9.mrunblock.life/
|
||||
- https://www.torrent9.fi/
|
||||
- https://www.torrent9.wtf/
|
||||
- https://www.torrent9.sc/
|
||||
- https://torrent9.nocensor.click/
|
||||
- https://www.torrent9.moe/
|
||||
- https://ww2.torrent9.moe/
|
||||
- https://wwv.torrent9.moe/
|
||||
- https://www.torrent9.pro/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -8,14 +8,13 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.torrentdownload.info/
|
||||
- https://torrentdownload.unblockit.rsvp/
|
||||
- https://torrentdownload.unblockit.vegas/
|
||||
- https://torrentdownload.mrunblock.bond/
|
||||
- https://torrentdownload.nocensor.click/
|
||||
- https://torrentdownload.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://torrentdownload.nocensor.space/
|
||||
- https://torrentdownload.nocensor.work/
|
||||
- https://torrentdownload.nocensor.biz/
|
||||
- https://torrentdownload.unblockit.llc/
|
||||
- https://torrentdownload.unblockit.blue/
|
||||
- https://torrentdownload.unblockit.name/
|
||||
- https://torrentdownload.nocensor.sbs/
|
||||
@@ -35,6 +34,8 @@ legacylinks:
|
||||
- https://torrentdownload.unblockit.asia/
|
||||
- https://torrentdownload.unblockit.mov/
|
||||
- https://torrentdownload.mrunblock.life/
|
||||
- https://torrentdownload.unblockit.rsvp/
|
||||
- https://torrentdownload.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -8,15 +8,14 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.torrentdownloads.pro/
|
||||
- https://torrentdownloads.unblockit.rsvp/
|
||||
- https://torrentdownloads.unblockit.vegas/
|
||||
- https://torrentdownloads.mrunblock.bond/
|
||||
- https://torrentdownloads.unblockninja.com/
|
||||
- https://torrentdownloads.nocensor.click/
|
||||
- https://torrentdownloads.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://www.torrentdownloads.me/
|
||||
- https://torrentdownloads.nocensor.work/
|
||||
- https://torrentdownloads.nocensor.biz/
|
||||
- https://torrentdownloads.unblockit.llc/
|
||||
- https://torrentdownloads.unblockit.blue/
|
||||
- https://torrentdownloads.unblockit.name/
|
||||
- https://torrentdownloads.nocensor.sbs/
|
||||
@@ -37,6 +36,8 @@ legacylinks:
|
||||
- https://torrentdownloads.unblockit.asia/
|
||||
- https://torrentdownloads.unblockit.mov/
|
||||
- https://torrentdownloads.mrunblock.life/
|
||||
- https://torrentdownloads.unblockit.rsvp/
|
||||
- https://torrentdownloads.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,14 +9,13 @@ followredirect: true
|
||||
links:
|
||||
- https://www.torrentfunk.com/
|
||||
- https://www.torrentfunk2.com/
|
||||
- https://torrentfunk.unblockit.rsvp/
|
||||
- https://torrentfunk.nocensor.click/
|
||||
- https://torrentfunk.unblockit.vegas/
|
||||
- https://torrentfunk.nocensor.cloud/
|
||||
- https://torrentfunk.mrunblock.bond/
|
||||
legacylinks:
|
||||
- https://torrentfunk.nocensor.space/
|
||||
- https://torrentfunk.nocensor.work/
|
||||
- https://torrentfunk.nocensor.biz/
|
||||
- https://torrentfunk.unblockit.llc/
|
||||
- https://torrentfunk.unblockit.blue/
|
||||
- https://torrentfunk.unblockit.name/
|
||||
- https://torrentfunk.nocensor.sbs/
|
||||
@@ -36,6 +35,8 @@ legacylinks:
|
||||
- https://torrentfunk.unblockit.asia/
|
||||
- https://torrentfunk.mrunblock.life/ # This web property is not accessible via this address
|
||||
- https://torrentfunk.unblockit.mov/
|
||||
- https://torrentfunk.unblockit.rsvp/
|
||||
- https://torrentfunk.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -11,7 +11,7 @@ links:
|
||||
- https://torrentgalaxy.mx/
|
||||
- https://tgx.rs/
|
||||
- https://tgx.sb/
|
||||
- https://torrentgalaxy.unblockit.rsvp/
|
||||
- https://torrentgalaxy.unblockit.vegas/
|
||||
- https://torrentgalaxy.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://torrentgalaxy.org/ # redirects to *.to
|
||||
@@ -20,7 +20,6 @@ legacylinks:
|
||||
- https://torrentgalaxy.nocensor.space/
|
||||
- https://torrentgalaxy.nocensor.work/
|
||||
- https://torrentgalaxy.nocensor.biz/
|
||||
- https://torrentgalaxy.unblockit.llc/
|
||||
- https://torrentgalaxy.unblockit.blue/
|
||||
- https://torrentgalaxy.unblockit.name/
|
||||
- https://torrentgalaxy.nocensor.sbs/
|
||||
@@ -37,6 +36,7 @@ legacylinks:
|
||||
- https://torrentgalaxy.unblockit.click/
|
||||
- https://torrentgalaxy.unblockit.asia/
|
||||
- https://torrentgalaxy.unblockit.mov/
|
||||
- https://torrentgalaxy.unblockit.rsvp/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,11 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq267.com/
|
||||
- https://torrentqq270.com/
|
||||
legacylinks:
|
||||
- https://torrentqq252.com/
|
||||
- https://torrentqq253.com/
|
||||
- https://torrentqq254.com/
|
||||
- https://torrentqq255.com/
|
||||
- https://torrentqq256.com/
|
||||
- https://torrentqq257.com/
|
||||
@@ -24,6 +21,9 @@ legacylinks:
|
||||
- https://torrentqq264.com/
|
||||
- https://torrentqq265.com/
|
||||
- https://torrentqq266.com/
|
||||
- https://torrentqq267.com/
|
||||
- https://torrentqq268.com/
|
||||
- https://torrentqq269.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,14 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir113.com/
|
||||
- https://torrentsir116.com
|
||||
legacylinks:
|
||||
- http://torrentsir94.com/
|
||||
- https://torrentsir94.com/
|
||||
- http://torrentsir95.com/
|
||||
- https://torrentsir95.com/
|
||||
- http://torrentsir96.com/
|
||||
- https://torrentsir96.com/
|
||||
- http://torrentsir100.com/
|
||||
- https://torrentsir100.com/
|
||||
- http://torrentsir101.com/
|
||||
@@ -40,6 +34,12 @@ legacylinks:
|
||||
- http://torrentsir112.com/
|
||||
- https://torrentsir112.com/
|
||||
- http://torrentsir113.com/
|
||||
- https://torrentsir113.com/
|
||||
- http://torrentsir114.com/
|
||||
- https://torrentsir114.com/
|
||||
- http://torrentsir115.com/
|
||||
- https://torrentsir115.com/
|
||||
- http://torrentsir116.com
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://viewtorrent12.com/
|
||||
- https://viewtorrent13.com/
|
||||
legacylinks:
|
||||
- https://torrentview.net/
|
||||
- https://torrentview.co/
|
||||
@@ -25,6 +25,7 @@ legacylinks:
|
||||
- https://viewtorrent8.com/
|
||||
- https://viewtorrent10.com/
|
||||
- https://viewtorrent11.com/
|
||||
- https://viewtorrent12.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentwiz60.com/
|
||||
- https://torrentwiz61.com/
|
||||
legacylinks:
|
||||
- https://torrentwiz42.com/
|
||||
- https://torrentwiz43.com/
|
||||
@@ -25,6 +25,7 @@ legacylinks:
|
||||
- https://torrentwiz57.com/
|
||||
- https://torrentwiz58.com/
|
||||
- https://torrentwiz59.com/
|
||||
- https://torrentwiz60.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -8,13 +8,14 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://torrentz2.nz/
|
||||
- https://torrentz2.mrunblock.bond/
|
||||
- https://torrentz2.nocensor.click/
|
||||
- https://torrentz2.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://torrentz2.nocensor.world/
|
||||
- https://torrentz2.nocensor.lol/
|
||||
- https://torrentz2.nocensor.art/
|
||||
- https://torrentz2.mrunblock.guru/
|
||||
- https://torrentz2.mrunblock.life/
|
||||
- https://torrentz2.nocensor.click/
|
||||
|
||||
caps:
|
||||
# unfortunately torrentz2nz does not display categories anywhere in its search results page :-(
|
||||
|
155
src/Jackett.Common/Definitions/trackermk.yml
Normal file
155
src/Jackett.Common/Definitions/trackermk.yml
Normal file
@@ -0,0 +1,155 @@
|
||||
---
|
||||
id: trackermk
|
||||
name: TrackerMK
|
||||
description: "TrackerMK is a MACEDONIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: mk-MK
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://trackermk.com/ # does not support https, CA expired December 2017
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 49, cat: Movies/DVD, desc: "Movies DVD-R"}
|
||||
- {id: 68, cat: PC/Mobile-Android, desc: "Андроид (Android)"}
|
||||
- {id: 72, cat: PC/Mobile-Android, desc: "Андроид - Апликации (Android)"}
|
||||
- {id: 47, cat: PC, desc: "Апликации (Software)"}
|
||||
- {id: 71, cat: PC/Mac, desc: "Апликации - Mac OS"}
|
||||
- {id: 70, cat: PC/0day, desc: "Апликации - Window 7/8.1/10/11"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Аудио (Audiobooks)"}
|
||||
- {id: 60, cat: TV/Documentary, desc: "Документарци (Documentaries)"}
|
||||
- {id: 61, cat: TV, desc: "Домашни серии (TV Local)"}
|
||||
- {id: 69, cat: TV, desc: "Домашни серии - Српски / Хрватски / Босански (TV Local)"}
|
||||
- {id: 57, cat: Books/EBook, desc: "Е-Книги (EBooks)"}
|
||||
- {id: 53, cat: Console, desc: "Игри (Games)"}
|
||||
- {id: 54, cat: Audio/Video, desc: "Концерти (Concerts)"}
|
||||
- {id: 52, cat: Audio/Video, desc: "Музички Спотови (Music Videos)"}
|
||||
- {id: 67, cat: Other, desc: "Од се по нешто (VIP)"}
|
||||
- {id: 73, cat: Audio, desc: "Рип од Плоча (Music Rips)"}
|
||||
- {id: 65, cat: Other, desc: "Слики (pictures)"}
|
||||
- {id: 55, cat: TV/Sport, desc: "Спорт (sport)"}
|
||||
- {id: 48, cat: TV/Anime, desc: "Цртани (Animations)"}
|
||||
- {id: 64, cat: Audio/Lossless, desc: "FLAC"}
|
||||
- {id: 62, cat: Movies/HD, desc: "Movies HDTV"}
|
||||
- {id: 50, cat: Audio/MP3, desc: "Mp3"}
|
||||
- {id: 56, cat: Movies/SD, desc: "Movies Xvid"}
|
||||
- {id: 59, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 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
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
error:
|
||||
- selector: table:contains("Грешка!")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php?logouthash="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[\\s]+", "%"]
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ .Keywords }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: t_name
|
||||
# does not support multi category searching so defaulting to all.
|
||||
category: 0
|
||||
include_dead_torrents: yes
|
||||
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
|
||||
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
|
||||
# does not return imdb link in results and t_genre does not return imdbid search results
|
||||
|
||||
rows:
|
||||
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/browse.php?category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: a[href*="/details.php?id="]
|
||||
details:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src*="/torrents/images/"]
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})"
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
img[src$="/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="/x2.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 24 hours (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
# TS Special Edition v.7.2
|
@@ -181,4 +181,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
# NexusPHP v1.8.6 2023-08-18
|
||||
|
@@ -163,4 +163,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.5 2023-07-10
|
||||
# NexusPHP v1.8.6 2023-07-29
|
||||
|
207
src/Jackett.Common/Definitions/wintersakura.yml
Normal file
207
src/Jackett.Common/Definitions/wintersakura.yml
Normal file
@@ -0,0 +1,207 @@
|
||||
---
|
||||
id: wintersakura
|
||||
name: WinterSakura
|
||||
description: "WinterSakura is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://wintersakura.net/
|
||||
|
||||
caps:
|
||||
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}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio无损音乐", default: true}
|
||||
- {id: 418, cat: TV, desc: "TV Shows综艺(分集)", default: true}
|
||||
- {id: 403, cat: TV, desc: "TV Shows综艺(Packs合集)", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series剧集(分集)", default: true}
|
||||
- {id: 414, cat: TV, desc: "TV Series剧集(Packs合集)", default: true}
|
||||
- {id: 413, cat: TV/Anime, desc: "Animation series动漫剧集(分集)", default: true}
|
||||
- {id: 423, cat: TV/Anime, desc: "Animation series动漫剧集(Packs合集)", default: true}
|
||||
- {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}
|
||||
- {id: 425, cat: Other, desc: "Database数据/数据库", default: false}
|
||||
- {id: 424, cat: Other, desc: "Course课程", 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
|
||||
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 WinterSakura Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [409, 407, 406, 408, 418, 403, 402, 414, 413, 423, 422, 410, 401]
|
||||
- path: special.php
|
||||
categories: [427, 426, 428, 425, 424]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.4
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP f99d919 2023-05-08
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: wukong
|
||||
name: Wukong
|
||||
description: "Wukong (悟空问道) is a Chinese Private Torrent Tracker for E-LEARNING"
|
||||
description: "Wukong (悟空问道) is a CHINESE Private Torrent Tracker for E-LEARNING"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
@@ -10,7 +10,12 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: XXX, cat: XXX, desc: XXX}
|
||||
- {id: 0, cat: XXX/SD, desc: "XXX 480p/SD"}
|
||||
- {id: 1, cat: XXX/x264, desc: "XXX 720p/HD"}
|
||||
- {id: 2, cat: XXX/x264, desc: "XXX 1080p/FullHD"}
|
||||
- {id: 4, cat: XXX/UHD, desc: "XXX 2160p/UHD/4K"}
|
||||
- {id: 3, cat: XXX/WEB-DL, desc: "XXX Movies/DVD/WEB"}
|
||||
- {id: 5, cat: XXX/ImageSet, desc: "XXX IMAGESET"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -23,6 +28,7 @@ settings:
|
||||
options:
|
||||
uploaded: created
|
||||
size: size
|
||||
seeders: seeders
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
@@ -38,15 +44,19 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://xxxclub.to/torrents/browse/all/tushyraw%20grays?sort=size&order=asc
|
||||
- path: "torrents/browse/all/{{ .Keywords }}?sort={{ .Config.sort }}&order={{ .Config.type }}"
|
||||
# https://xxxclub.to/torrents/browse/2,4/metartx?sort=size&order=asc
|
||||
- path: "torrents/browse/{{ if .Categories }}{{ join .Categories \",\" }}{{ else }}all{{ end }}/{{ .Keywords }}?sort={{ .Config.sort }}&order={{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr
|
||||
selector: div.browsetableinside > ul > li:not(:first-child)
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: XXX
|
||||
selector: a.catah
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d)
|
||||
title:
|
||||
selector: a[href^="/torrents/details/"]
|
||||
details:
|
||||
@@ -56,22 +66,19 @@ search:
|
||||
selector: a[href^="/torrents/details/"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="/torrents/details/"]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src='(.+?)'
|
||||
selector: img
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(3)
|
||||
selector: span.adde
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "dd MMM yyyy HH:mm:ss"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
selector: span.siz
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
selector: span.see
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
selector: span.lee
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
@@ -145,6 +145,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Normalize release names by moving year after the title
|
||||
default: false
|
||||
- name: strip_season
|
||||
type: checkbox
|
||||
label: Strip season only (e.g. S01) from searches, as tracker does not support partial matches
|
||||
default: true
|
||||
- name: enhancedAnime
|
||||
type: checkbox
|
||||
label: Enhance Sonarr compatibility with anime by renaming episodes (xxx > Exxx). Can disturb movies search (e.g. Back To The Future 3 > Back To The Future E3).
|
||||
@@ -353,7 +357,7 @@ search:
|
||||
args: ["[\\\\\\-\\.\\/!\\s]+", " "]
|
||||
# strip season as site does not support partial matches
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS\\d{1,3}\\b", ""]
|
||||
args: ["(?i)\\b(S\\d{1,3})\\b", "{{ if .Config.strip_season }}{{ else }}$1{{ end }}"]
|
||||
- name: trim
|
||||
# put each word in quotations to prevent exact phrase search
|
||||
- name: re_replace
|
||||
@@ -431,34 +435,12 @@ search:
|
||||
selector: td:nth-child(2) > a
|
||||
attribute: href
|
||||
category:
|
||||
selector: ":nth-child(1) > div.hidden"
|
||||
selector: td:nth-child(1) > div.hidden
|
||||
download:
|
||||
text: "{{ .Config.sitelink }}engine/download_torrent?id={{ .Result._id }}"
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["il y a ", ""]
|
||||
- name: replace
|
||||
args: [" jours", " days"]
|
||||
- name: replace
|
||||
args: [" jour", " day"]
|
||||
- name: replace
|
||||
args: [" heures", " hours"]
|
||||
- name: replace
|
||||
args: [" heure", " hour"]
|
||||
- name: replace
|
||||
args: [" semaines", " weeks"]
|
||||
- name: replace
|
||||
args: [" semaine", " week"]
|
||||
- name: replace
|
||||
args: [" mois", " month"]
|
||||
- name: replace
|
||||
args: [" ans", " years"]
|
||||
- name: replace
|
||||
args: [" an", " year"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
# unix
|
||||
selector: td:nth-child(5) > div.hidden
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
@@ -468,12 +450,8 @@ search:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
@@ -137,6 +137,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Normalize release names by moving year after the title
|
||||
default: false
|
||||
- name: strip_season
|
||||
type: checkbox
|
||||
label: Strip season only (e.g. S01) from searches, as tracker does not support partial matches
|
||||
default: true
|
||||
- name: enhancedAnime
|
||||
type: checkbox
|
||||
label: Enhance Sonarr compatibility with anime by renaming episodes (xxx > Exxx). Can disturb movies search (e.g. Back To The Future 3 > Back To The Future E3).
|
||||
@@ -357,7 +361,7 @@ search:
|
||||
args: ["[\\\\\\-\\.\\/!\\s]+", " "]
|
||||
# strip season as site does not support partial matches
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS\\d{1,3}\\b", ""]
|
||||
args: ["(?i)\\b(S\\d{1,3})\\b", "{{ if .Config.strip_season }}{{ else }}$1{{ end }}"]
|
||||
- name: trim
|
||||
# put each word in quotations to prevent exact phrase search
|
||||
- name: re_replace
|
||||
@@ -435,34 +439,12 @@ search:
|
||||
selector: td:nth-child(2) > a
|
||||
attribute: href
|
||||
category:
|
||||
selector: ":nth-child(1) > div.hidden"
|
||||
selector: td:nth-child(1) > div.hidden
|
||||
download:
|
||||
text: "{{ .Config.sitelink }}engine/download_torrent?id={{ .Result._id }}"
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["il y a ", ""]
|
||||
- name: replace
|
||||
args: [" jours", " days"]
|
||||
- name: replace
|
||||
args: [" jour", " day"]
|
||||
- name: replace
|
||||
args: [" heures", " hours"]
|
||||
- name: replace
|
||||
args: [" heure", " hour"]
|
||||
- name: replace
|
||||
args: [" semaines", " weeks"]
|
||||
- name: replace
|
||||
args: [" semaine", " week"]
|
||||
- name: replace
|
||||
args: [" mois", " month"]
|
||||
- name: replace
|
||||
args: [" ans", " years"]
|
||||
- name: replace
|
||||
args: [" an", " year"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
# unix
|
||||
selector: td:nth-child(5) > div.hidden
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
@@ -472,12 +454,8 @@ search:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://yourbittorrent.com/
|
||||
- https://yourbittorrent2.com/
|
||||
- https://yourbittorrent.nocensor.click/
|
||||
- https://yourbittorrent.nocensor.cloud/
|
||||
- https://yourbittorrent.mrunblock.bond/
|
||||
legacylinks:
|
||||
- https://yourbittorrent.host/
|
||||
@@ -20,6 +20,7 @@ legacylinks:
|
||||
- https://yourbittorrent.nocensor.lol/
|
||||
- https://yourbittorrent.mrunblock.guru/
|
||||
- https://yourbittorrent.mrunblock.life/ # This web property is not accessible via this address
|
||||
- https://yourbittorrent.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,16 +9,15 @@ requestDelay: 2.5 # 2.5 requests per second (2 causes problems)
|
||||
links:
|
||||
# dont forget to update the details, download and poster replace args
|
||||
- https://yts.mx/
|
||||
- https://yts.unblockit.rsvp/
|
||||
- https://yts.unblockit.vegas/
|
||||
- https://yts.unblockninja.com/
|
||||
- https://yts.mrunblock.bond/
|
||||
- https://yts.nocensor.click/
|
||||
- https://yts.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://yts.ag/
|
||||
- https://yts.am/
|
||||
- https://yts.lt/
|
||||
- https://yts.nocensor.biz/
|
||||
- https://yts.unblockit.llc/
|
||||
- https://yts.unblockit.blue/
|
||||
- https://yts.unblockit.name/
|
||||
- https://yts.nocensor.sbs/
|
||||
@@ -39,6 +38,8 @@ legacylinks:
|
||||
- https://yts.unblockit.asia/
|
||||
- https://yts.unblockit.mov/
|
||||
- https://yts.mrunblock.life/
|
||||
- https://yts.unblockit.rsvp/
|
||||
- https://yts.nocensor.click/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,7 +9,7 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://www.zetorrents.pw/
|
||||
- https://zetorrents.mrunblock.bond/
|
||||
- https://zetorrents.nocensor.click/
|
||||
- https://zetorrents.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://www.zetorrents.co/
|
||||
- https://www.zetorrents.io/
|
||||
@@ -30,6 +30,7 @@ legacylinks:
|
||||
- https://www.zetorrents.ch/
|
||||
- https://zetorrents.mrunblock.guru/
|
||||
- https://zetorrents.mrunblock.life/
|
||||
- https://zetorrents.nocensor.click/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -193,4 +193,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
# NexusPHP v1.8.6 2023-08-04
|
||||
|
@@ -545,7 +545,7 @@ namespace Jackett.Common.Indexers
|
||||
return true; // no error
|
||||
}
|
||||
|
||||
protected async Task<bool> DoLogin()
|
||||
protected async Task<bool> DoLogin(string cookies = null)
|
||||
{
|
||||
var Login = Definition.Login;
|
||||
|
||||
@@ -590,7 +590,7 @@ namespace Jackett.Common.Indexers
|
||||
// landingResultDocument might not be initiated if the login is caused by a re-login during a query
|
||||
if (landingResultDocument == null)
|
||||
{
|
||||
var ConfigurationResult = await GetConfigurationForSetup(true);
|
||||
var ConfigurationResult = await GetConfigurationForSetup(true, cookies);
|
||||
if (ConfigurationResult == null) // got captcha
|
||||
{
|
||||
return false;
|
||||
@@ -949,7 +949,7 @@ namespace Jackett.Common.Indexers
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ConfigurationData> GetConfigurationForSetup(bool automaticlogin)
|
||||
public async Task<ConfigurationData> GetConfigurationForSetup(bool automaticlogin, string cookies = null)
|
||||
{
|
||||
var Login = Definition.Login;
|
||||
|
||||
@@ -963,7 +963,7 @@ namespace Jackett.Common.Indexers
|
||||
if (Login.Cookies != null)
|
||||
configData.CookieHeader.Value = string.Join("; ", Login.Cookies);
|
||||
|
||||
landingResult = await RequestWithCookiesAsync(LoginUrl.AbsoluteUri, referer: SiteLink, headers: headers);
|
||||
landingResult = await RequestWithCookiesAsync(LoginUrl.AbsoluteUri, cookies, referer: SiteLink, headers: headers);
|
||||
|
||||
// Some sites have a temporary redirect before the login page, we need to process it.
|
||||
if (Definition.Followredirect)
|
||||
@@ -1521,7 +1521,7 @@ namespace Jackett.Common.Indexers
|
||||
{
|
||||
logger.Info("CardigannIndexer({0}): Relogin required", Id);
|
||||
|
||||
var loginResult = await DoLogin();
|
||||
var loginResult = await DoLogin(response.Cookies);
|
||||
|
||||
if (!loginResult)
|
||||
{
|
||||
@@ -1712,7 +1712,7 @@ namespace Jackett.Common.Indexers
|
||||
{
|
||||
logger.Info("CardigannIndexer({0}): Relogin required", Id);
|
||||
|
||||
var loginResult = await DoLogin();
|
||||
var loginResult = await DoLogin(response.Cookies);
|
||||
|
||||
if (!loginResult)
|
||||
{
|
||||
|
@@ -24,16 +24,9 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "cinecalidad";
|
||||
public override string Name => "Cinecalidad";
|
||||
public override string Description => "Películas Full HD en Latino Dual.";
|
||||
public override string SiteLink { get; protected set; } = "https://www.cinecalidad.tf/";
|
||||
public override string SiteLink { get; protected set; } = "https://www.cinecalidad.foo/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://cinecalidad.website/",
|
||||
"https://www.cinecalidad.to/",
|
||||
"https://www.cinecalidad.im/", // working but outdated, maybe copycat
|
||||
"https://www.cinecalidad.is/",
|
||||
"https://www.cinecalidad.li/",
|
||||
"https://www.cinecalidad.eu/",
|
||||
"https://cinecalidad.unbl0ck.xyz/",
|
||||
"https://cinecalidad.u4m.club/",
|
||||
"https://cinecalidad.mrunblock.icu/",
|
||||
"https://cinecalidad3.com/",
|
||||
@@ -45,7 +38,11 @@ namespace Jackett.Common.Indexers
|
||||
"https://cinecalidad.ms/",
|
||||
"https://www3.cinecalidad.ms/",
|
||||
"https://ww1.cinecalidad.ms/",
|
||||
"https://www.cinecalidad.gs/"
|
||||
"https://www.cinecalidad.gs/",
|
||||
"https://www.cinecalidad.tf/",
|
||||
"https://wvw.cinecalidad.tf/",
|
||||
"https://vww.cinecalidad.tf/",
|
||||
"https://wwv.cinecalidad.tf/",
|
||||
};
|
||||
public override string Language => "es-419";
|
||||
public override string Type => "public";
|
||||
|
@@ -28,10 +28,9 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "divxtotal";
|
||||
public override string Name => "DivxTotal";
|
||||
public override string Description => "DivxTotal is a SPANISH site for Movies, TV series and Software";
|
||||
public override string SiteLink { get; protected set; } = "https://www.divxtotal.win/";
|
||||
public override string SiteLink { get; protected set; } = "https://www1.divxtotal.zip/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www.divxtotal.ch/",
|
||||
"https://www.divxtotal.nz/",
|
||||
"https://www.divxtotal.li/",
|
||||
"https://www.divxtotal.nu/",
|
||||
@@ -45,7 +44,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://www.divxtotal.fi/",
|
||||
"https://www.divxtotal.cat/",
|
||||
"https://www.divxtotal.pl/",
|
||||
"https://www.divxtotal.wf/"
|
||||
"https://www.divxtotal.wf/",
|
||||
"https://www.divxtotal.win/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
@@ -26,10 +26,10 @@ namespace Jackett.Common.Indexers
|
||||
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.rsvp/";
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.quest/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.rsvp/",
|
||||
"https://dontorrent.quest/",
|
||||
"https://todotorrents.org/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/",
|
||||
@@ -38,7 +38,6 @@ namespace Jackett.Common.Indexers
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.pictures/",
|
||||
"https://dontorrent.ms/",
|
||||
"https://dontorrent.care/",
|
||||
"https://dontorrent.cash/",
|
||||
@@ -53,6 +52,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://dontorrent.boo/",
|
||||
"https://dontorrent.foo/",
|
||||
"https://dontorrent.hair/",
|
||||
"https://dontorrent.rsvp/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
@@ -26,12 +26,11 @@ namespace Jackett.Common.Indexers
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://www.epublibre.org/",
|
||||
"https://epublibre.unblockit.rsvp/"
|
||||
"https://epublibre.unblockit.vegas/"
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://epublibre.org/",
|
||||
"https://epublibre.unblockit.llc/",
|
||||
"https://epublibre.unblockit.blue/",
|
||||
"https://epublibre.unblockit.name/",
|
||||
"https://epublibre.unblockit.ist/",
|
||||
@@ -46,6 +45,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://epublibre.unblockit.click/",
|
||||
"https://epublibre.unblockit.asia/",
|
||||
"https://epublibre.unblockit.mov/",
|
||||
"https://epublibre.unblockit.rsvp/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
@@ -25,7 +25,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://www.erai-raws.info/",
|
||||
"https://beta.erai-raws.info/",
|
||||
"https://erairaws.mrunblock.bond/",
|
||||
"https://erairaws.nocensor.click/"
|
||||
"https://erairaws.nocensor.cloud/"
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
@@ -38,6 +38,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://erairaws.nocensor.art/",
|
||||
"https://erairaws.mrunblock.guru/",
|
||||
"https://erairaws.mrunblock.life/",
|
||||
"https://erairaws.nocensor.click/",
|
||||
};
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "semi-private";
|
||||
|
@@ -717,89 +717,104 @@ namespace Jackett.Common.Indexers
|
||||
var document = parser.ParseDocument(results.ContentString);
|
||||
var rows = document.QuerySelectorAll("div.inner-box--item");
|
||||
|
||||
logger.Debug("> Parsing " + rows.Count().ToString() + " releases");
|
||||
|
||||
var serieTitle = document.QuerySelector("div.inner-box--subtitle").TextContent;
|
||||
serieTitle = serieTitle.Substring(0, serieTitle.LastIndexOf(','));
|
||||
|
||||
var episodeInfo = document.QuerySelector("div.inner-box--text").TextContent;
|
||||
var episodeName = TrimString(episodeInfo, '(', ')');
|
||||
|
||||
foreach (var row in rows)
|
||||
if (rows.Count() > 0)
|
||||
{
|
||||
try
|
||||
logger.Debug("> Parsing " + rows.Count().ToString() + " releases");
|
||||
|
||||
var serieTitle = document.QuerySelector("div.inner-box--subtitle").TextContent;
|
||||
serieTitle = serieTitle.Substring(0, serieTitle.LastIndexOf(','));
|
||||
|
||||
var episodeInfo = document.QuerySelector("div.inner-box--text").TextContent;
|
||||
var episodeName = TrimString(episodeInfo, '(', ')');
|
||||
|
||||
foreach (var row in rows)
|
||||
{
|
||||
|
||||
var detailsInfo = row.QuerySelector("div.inner-box--desc").TextContent;
|
||||
var releaseDetails = parseReleaseDetailsRegex.Match(detailsInfo);
|
||||
|
||||
// ReSharper states "Expression is always false"
|
||||
// TODO Refactor to get the intended operation
|
||||
if (releaseDetails == null)
|
||||
try
|
||||
{
|
||||
throw new FormatException("Failed to map release details string: " + detailsInfo);
|
||||
}
|
||||
|
||||
/*
|
||||
* For supported qualities see:
|
||||
* - TvCategoryParser.cs
|
||||
* - https://github.com/SickRage/SickRage/wiki/Quality-Settings#quality-names-to-recognize-the-quality-of-a-file
|
||||
*/
|
||||
var quality = releaseDetails.Groups["quality"].Value.Trim();
|
||||
// Adapt shitty quality format for common algorythms
|
||||
quality = Regex.Replace(quality, "-Rip", "Rip", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "WEB-DLRip", "WEBDL", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "WEB-DL", "WEBDL", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "HDTVRip", "HDTV", RegexOptions.IgnoreCase);
|
||||
// Fix forgotten p-Progressive suffix in resolution index
|
||||
quality = Regex.Replace(quality, "1080 ", "1080p ", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "720 ", "720p ", RegexOptions.IgnoreCase);
|
||||
var detailsInfo = row.QuerySelector("div.inner-box--desc").TextContent;
|
||||
var releaseDetails = parseReleaseDetailsRegex.Match(detailsInfo);
|
||||
|
||||
var techComponents = new[]
|
||||
{
|
||||
// ReSharper states "Expression is always false"
|
||||
// TODO Refactor to get the intended operation
|
||||
if (releaseDetails == null)
|
||||
{
|
||||
throw new FormatException("Failed to map release details string: " + detailsInfo);
|
||||
}
|
||||
|
||||
/*
|
||||
* For supported qualities see:
|
||||
* - TvCategoryParser.cs
|
||||
* - https://github.com/SickRage/SickRage/wiki/Quality-Settings#quality-names-to-recognize-the-quality-of-a-file
|
||||
*/
|
||||
var quality = releaseDetails.Groups["quality"].Value.Trim();
|
||||
// Adapt shitty quality format for common algorythms
|
||||
quality = Regex.Replace(quality, "-Rip", "Rip", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "WEB-DLRip", "WEBDL", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "WEB-DL", "WEBDL", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "HDTVRip", "HDTV", RegexOptions.IgnoreCase);
|
||||
// Fix forgotten p-Progressive suffix in resolution index
|
||||
quality = Regex.Replace(quality, "1080 ", "1080p ", RegexOptions.IgnoreCase);
|
||||
quality = Regex.Replace(quality, "720 ", "720p ", RegexOptions.IgnoreCase);
|
||||
|
||||
var techComponents = new[]
|
||||
{
|
||||
"rus",
|
||||
quality,
|
||||
"(LostFilm)"
|
||||
};
|
||||
var techInfo = string.Join(" ", techComponents.Where(s => !string.IsNullOrEmpty(s)));
|
||||
var techInfo = string.Join(" ", techComponents.Where(s => !string.IsNullOrEmpty(s)));
|
||||
|
||||
// Ru title: downloadLink.TextContent.Replace("\n", "");
|
||||
// En title should be manually constructed.
|
||||
var titleComponents = new[] {
|
||||
// Ru title: downloadLink.TextContent.Replace("\n", "");
|
||||
// En title should be manually constructed.
|
||||
var titleComponents = new[] {
|
||||
serieTitle, details.GetEpisodeString(), episodeName, techInfo
|
||||
};
|
||||
var downloadLink = row.QuerySelector("div.inner-box--link > a");
|
||||
var sizeString = releaseDetails.Groups["size"].Value.ToUpper();
|
||||
sizeString = sizeString.Replace("ТБ", "TB"); // untested
|
||||
sizeString = sizeString.Replace("ГБ", "GB");
|
||||
sizeString = sizeString.Replace("МБ", "MB");
|
||||
sizeString = sizeString.Replace("КБ", "KB"); // untested
|
||||
var link = new Uri(downloadLink.GetAttribute("href"));
|
||||
var downloadLink = row.QuerySelector("div.inner-box--link > a");
|
||||
var sizeString = releaseDetails.Groups["size"].Value.ToUpper();
|
||||
sizeString = sizeString.Replace("ТБ", "TB"); // untested
|
||||
sizeString = sizeString.Replace("ГБ", "GB");
|
||||
sizeString = sizeString.Replace("МБ", "MB");
|
||||
sizeString = sizeString.Replace("КБ", "KB"); // untested
|
||||
var link = new Uri(downloadLink.GetAttribute("href"));
|
||||
|
||||
// TODO this feels sparse compared to other trackers. Expand later
|
||||
var release = new ReleaseInfo
|
||||
// TODO this feels sparse compared to other trackers. Expand later
|
||||
var release = new ReleaseInfo
|
||||
{
|
||||
Category = new[] { TorznabCatType.TV.ID },
|
||||
Title = string.Join(" - ", titleComponents.Where(s => !string.IsNullOrEmpty(s))),
|
||||
Link = link,
|
||||
Guid = link,
|
||||
Size = ParseUtil.GetBytes(sizeString),
|
||||
// add missing torznab fields not available from results
|
||||
Seeders = 1,
|
||||
Peers = 2,
|
||||
DownloadVolumeFactor = 0,
|
||||
UploadVolumeFactor = 1,
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 172800 // 48 hours
|
||||
};
|
||||
|
||||
// TODO Other trackers don't have this log line. Remove or add to other trackers?
|
||||
logger.Debug("> Add: " + release.Title);
|
||||
releases.Add(release);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Category = new[] { TorznabCatType.TV.ID },
|
||||
Title = string.Join(" - ", titleComponents.Where(s => !string.IsNullOrEmpty(s))),
|
||||
Link = link,
|
||||
Guid = link,
|
||||
Size = ParseUtil.GetBytes(sizeString),
|
||||
// add missing torznab fields not available from results
|
||||
Seeders = 1,
|
||||
Peers = 2,
|
||||
DownloadVolumeFactor = 0,
|
||||
UploadVolumeFactor = 1,
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 172800 // 48 hours
|
||||
};
|
||||
|
||||
// TODO Other trackers don't have this log line. Remove or add to other trackers?
|
||||
logger.Debug("> Add: " + release.Title);
|
||||
releases.Add(release);
|
||||
logger.Error(string.Format("{0}: Error while parsing row '{1}':\n\n{2}", Id, row.OuterHtml, ex));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (results.ContentString.Contains("Контент недоступен на территории Российской Федерации"))
|
||||
{
|
||||
logger.Error(string.Format("{0}: Error while parsing row '{1}':\n\n{2}", Id, row.OuterHtml, ex));
|
||||
logger.Debug($"> Content is not available in the Russian Federation");
|
||||
}
|
||||
else
|
||||
{
|
||||
var message = document.QuerySelector("p").TextContent;
|
||||
logger.Debug($"> {message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -807,7 +822,6 @@ namespace Jackett.Common.Indexers
|
||||
{
|
||||
OnParseError(results.ContentString, ex);
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
|
||||
|
@@ -26,11 +26,11 @@ namespace Jackett.Common.Indexers
|
||||
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://www4.mejortorrent.rip/";
|
||||
public override string SiteLink { get; protected set; } = "https://www5.mejortorrent.rip/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://www4.mejortorrent.rip/",
|
||||
"https://mejortorrent.unblockit.rsvp/"
|
||||
"https://www5.mejortorrent.rip/",
|
||||
"https://mejortorrent.unblockit.vegas/"
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
@@ -47,7 +47,6 @@ namespace Jackett.Common.Indexers
|
||||
"https://mejortorrent.nocensor.work/",
|
||||
"https://www.mejortorrentes.net/",
|
||||
"https://mejortorrent.nocensor.biz/",
|
||||
"https://mejortorrent.unblockit.llc/",
|
||||
"https://www.mejortorrentes.org/",
|
||||
"https://mejortorrent.unblockit.blue/",
|
||||
"https://mejortorrent.nocensor.sbs/",
|
||||
@@ -61,6 +60,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://www2.mejortorrent.rip/",
|
||||
"https://mejortorrent.unblockit.mov/",
|
||||
"https://www3.mejortorrent.rip/",
|
||||
"https://www4.mejortorrent.rip/",
|
||||
"https://mejortorrent.unblockit.rsvp/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
@@ -1,277 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Common.Indexers
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
public class PassThePopcorn : IndexerBase
|
||||
{
|
||||
public override string Id => "passthepopcorn";
|
||||
public override string Name => "PassThePopcorn";
|
||||
public override string Description => "PassThePopcorn is a Private site for MOVIES / TV";
|
||||
public override string SiteLink { get; protected set; } = "https://passthepopcorn.me/";
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
public override TorznabCapabilities TorznabCaps => SetCapabilities();
|
||||
|
||||
private static string SearchUrl => "https://passthepopcorn.me/torrents.php";
|
||||
private string AuthKey { get; set; }
|
||||
private string PassKey { get; set; }
|
||||
|
||||
// TODO: merge ConfigurationDataAPILoginWithUserAndPasskeyAndFilter class with with ConfigurationDataUserPasskey
|
||||
private new ConfigurationDataAPILoginWithUserAndPasskeyAndFilter configData
|
||||
{
|
||||
get => (ConfigurationDataAPILoginWithUserAndPasskeyAndFilter)base.configData;
|
||||
set => base.configData = value;
|
||||
}
|
||||
|
||||
public PassThePopcorn(IIndexerConfigurationService configService, Utils.Clients.WebClient c, Logger l,
|
||||
IProtectionService ps, ICacheService cs)
|
||||
: base(configService: configService,
|
||||
client: c,
|
||||
logger: l,
|
||||
p: ps,
|
||||
cacheService: cs,
|
||||
configData: new ConfigurationDataAPILoginWithUserAndPasskeyAndFilter(@"Enter filter options below to restrict search results.
|
||||
Separate options with a space if using more than one option.<br>Filter options available:
|
||||
<br><code>GoldenPopcorn</code><br><code>Scene</code><br><code>Checked</code><br><code>Free</code>"))
|
||||
{
|
||||
webclient.requestDelay = 2; // 0.5 requests per second
|
||||
}
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
{
|
||||
var caps = new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
|
||||
},
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId
|
||||
}
|
||||
};
|
||||
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Feature Film");
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesForeign);
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesOther);
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD);
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD);
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies3D);
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesBluRay);
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesDVD);
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesWEBDL);
|
||||
caps.Categories.AddCategoryMapping(2, TorznabCatType.Movies, "Short Film");
|
||||
caps.Categories.AddCategoryMapping(3, TorznabCatType.TV, "Miniseries");
|
||||
caps.Categories.AddCategoryMapping(4, TorznabCatType.TV, "Stand-up Comedy");
|
||||
caps.Categories.AddCategoryMapping(5, TorznabCatType.TV, "Live Performance");
|
||||
|
||||
return caps;
|
||||
}
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
{
|
||||
LoadValuesFromJson(configJson);
|
||||
|
||||
IsConfigured = false;
|
||||
try
|
||||
{
|
||||
var results = await PerformQuery(new TorznabQuery());
|
||||
if (!results.Any())
|
||||
throw new Exception("Testing returned no results!");
|
||||
IsConfigured = true;
|
||||
SaveConfig();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new ExceptionWithConfigData(e.Message, configData);
|
||||
}
|
||||
|
||||
return IndexerConfigurationStatus.Completed;
|
||||
}
|
||||
|
||||
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 { { "json", "noredirect" } };
|
||||
|
||||
if (!string.IsNullOrEmpty(query.ImdbID))
|
||||
queryCollection.Add("searchstr", query.ImdbID);
|
||||
else if (!string.IsNullOrEmpty(query.GetQueryString()))
|
||||
queryCollection.Add("searchstr", query.GetQueryString());
|
||||
if (configFreeOnly)
|
||||
queryCollection.Add("freetorrent", "1");
|
||||
|
||||
movieListSearchUrl += "?" + queryCollection.GetQueryString();
|
||||
|
||||
var authHeaders = new Dictionary<string, string>
|
||||
{
|
||||
{ "ApiUser", configData.User.Value },
|
||||
{ "ApiKey", configData.Key.Value }
|
||||
};
|
||||
|
||||
var results = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders);
|
||||
if (results.IsRedirect) // untested
|
||||
results = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders);
|
||||
try
|
||||
{
|
||||
//Iterate over the releases for each movie
|
||||
var jsResults = JObject.Parse(results.ContentString);
|
||||
|
||||
AuthKey = (string)jsResults["AuthKey"];
|
||||
PassKey = (string)jsResults["PassKey"];
|
||||
|
||||
foreach (var movie in jsResults["Movies"])
|
||||
{
|
||||
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"])
|
||||
{
|
||||
var releaseName = (string)torrent["ReleaseName"];
|
||||
var torrentId = (string)torrent["Id"];
|
||||
|
||||
var releaseLinkQuery = new NameValueCollection
|
||||
{
|
||||
{"action", "download"},
|
||||
{"id", torrentId},
|
||||
{"authkey", AuthKey},
|
||||
{"torrent_pass", PassKey}
|
||||
};
|
||||
var free = !(torrent["FreeleechType"] is null);
|
||||
|
||||
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 && !free)
|
||||
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 release = new ReleaseInfo
|
||||
{
|
||||
Title = releaseName,
|
||||
Description = $"Title: {movieTitle}",
|
||||
Poster = poster,
|
||||
Imdb = movieImdbId,
|
||||
Details = details,
|
||||
Size = size,
|
||||
Grabs = grabs,
|
||||
Seeders = seeders,
|
||||
Peers = seeders + leechers,
|
||||
PublishDate = publishDate,
|
||||
Link = link,
|
||||
Guid = link,
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 345600,
|
||||
DownloadVolumeFactor = free ? 0 : 1,
|
||||
UploadVolumeFactor = 1,
|
||||
Category = new List<int> { TorznabCatType.Movies.ID }
|
||||
};
|
||||
|
||||
|
||||
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)
|
||||
release.Description += $"<br>\nYear: {year}";
|
||||
if (quality != null)
|
||||
release.Description += $"<br>\nQuality: {quality}";
|
||||
if (resolution != null)
|
||||
{
|
||||
titleTags.Add(resolution);
|
||||
release.Description += $"<br>\nResolution: {resolution}";
|
||||
}
|
||||
if (source != null)
|
||||
{
|
||||
titleTags.Add(source);
|
||||
release.Description += $"<br>\nSource: {source}";
|
||||
}
|
||||
if (codec != null)
|
||||
{
|
||||
titleTags.Add(codec);
|
||||
release.Description += $"<br>\nCodec: {codec}";
|
||||
}
|
||||
if (container != null)
|
||||
{
|
||||
titleTags.Add(container);
|
||||
release.Description += $"<br>\nContainer: {container}";
|
||||
}
|
||||
if (scene)
|
||||
{
|
||||
titleTags.Add("Scene");
|
||||
release.Description += "<br>\nScene";
|
||||
}
|
||||
if (check)
|
||||
{
|
||||
titleTags.Add("Checked");
|
||||
release.Description += "<br>\nChecked";
|
||||
}
|
||||
if (golden)
|
||||
{
|
||||
titleTags.Add("Golden Popcorn");
|
||||
release.Description += "<br>\nGolden Popcorn";
|
||||
}
|
||||
|
||||
if (otherTags != null)
|
||||
titleTags.Add(otherTags);
|
||||
|
||||
if (titleTags.Any())
|
||||
release.Title += " [" + string.Join(" / ", titleTags) + "]";
|
||||
|
||||
releases.Add(release);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnParseError(results.ContentString, ex);
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
}
|
||||
}
|
@@ -83,7 +83,7 @@ namespace Jackett.Common.Indexers
|
||||
{
|
||||
base.LoadValuesFromJson(jsonConfig, useProtectionService);
|
||||
|
||||
webclient?.AddTrustedCertificate(new Uri(SiteLink).Host, "3A4090096DD95D31306B14BFDD8F8C98F52A8EA8");
|
||||
webclient?.AddTrustedCertificate(new Uri(SiteLink).Host, "245621438BD9E2E4D99D753CA1F5088072FCB707");
|
||||
}
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
|
@@ -27,7 +27,7 @@ namespace Jackett.Common.Indexers
|
||||
{
|
||||
"https://subsplease.org/",
|
||||
"https://subsplease.mrunblock.bond/",
|
||||
"https://subsplease.nocensor.click/"
|
||||
"https://subsplease.nocensor.cloud/"
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
@@ -40,6 +40,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://subsplease.nocensor.art/",
|
||||
"https://subsplease.mrunblock.guru/",
|
||||
"https://subsplease.mrunblock.life/",
|
||||
"https://subsplease.nocensor.click/",
|
||||
};
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "public";
|
||||
|
@@ -9,7 +9,7 @@ using NLog.Targets;
|
||||
namespace Jackett.Common.Services
|
||||
{
|
||||
[Target("LogService")]
|
||||
public class LogCacheService : TargetWithLayout, ILogCacheService
|
||||
public sealed class LogCacheService : TargetWithLayout, ILogCacheService
|
||||
{
|
||||
private static List<CachedLog> _Logs = new List<CachedLog>();
|
||||
|
||||
@@ -24,16 +24,16 @@ namespace Jackett.Common.Services
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Write(LogEventInfo logEvent) => AddLog(logEvent);
|
||||
protected override void Write(LogEventInfo logEvent) => AddLog(logEvent, Layout.Render(logEvent));
|
||||
|
||||
private static void AddLog(LogEventInfo logEvent)
|
||||
private static void AddLog(LogEventInfo logEvent, string logMessage)
|
||||
{
|
||||
lock (_Logs)
|
||||
{
|
||||
_Logs.Insert(0, new CachedLog
|
||||
{
|
||||
Level = logEvent.Level.Name,
|
||||
Message = CleanseLogMessage.Cleanse(logEvent.FormattedMessage),
|
||||
Message = CleanseLogMessage.Cleanse(logMessage),
|
||||
When = logEvent.TimeStamp
|
||||
});
|
||||
|
||||
|
@@ -17,14 +17,12 @@ namespace Jackett.Common.Utils
|
||||
{
|
||||
var logFileName = settings.CustomLogFileName ?? "log.txt";
|
||||
var logLevel = settings.TracingEnabled ? NLog.LogLevel.Debug : NLog.LogLevel.Info;
|
||||
// Add custom date time format renderer as the default is too long
|
||||
ConfigurationItemFactory.Default.LayoutRenderers.RegisterDefinition("simpledatetime", typeof(SimpleDateTimeRenderer));
|
||||
|
||||
var logConfig = new LoggingConfiguration();
|
||||
|
||||
var logFile = new CleanseFileTarget
|
||||
{
|
||||
Layout = "${longdate} ${level} ${message} ${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}${exception:format=Data}${newline}}",
|
||||
Layout = "${longdate} ${level} ${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}",
|
||||
FileName = Path.Combine(settings.DataFolder, logFileName),
|
||||
ArchiveFileName = Path.Combine(settings.DataFolder, logFileName + ".{#####}.txt"),
|
||||
ArchiveAboveSize = 2097152, // 2 MB
|
||||
@@ -61,14 +59,17 @@ namespace Jackett.Common.Utils
|
||||
{
|
||||
var logConsole = new ColoredConsoleTarget
|
||||
{
|
||||
Layout = "${simpledatetime} ${level} ${message} ${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}${exception:format=Data}${newline}}"
|
||||
Layout = "${date:format=MM-dd HH\\:mm\\:ss} ${level} ${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}"
|
||||
};
|
||||
logConfig.AddTarget("console", logConsole);
|
||||
|
||||
var logConsoleRule = new LoggingRule("*", logLevel, logConsole);
|
||||
logConfig.LoggingRules.Add(logConsoleRule);
|
||||
|
||||
var logService = new LogCacheService();
|
||||
var logService = new LogCacheService
|
||||
{
|
||||
Layout = "${message}${onexception:inner=${newline}${newline}[v${assembly-version}] ${exception:format=ToString}${newline}}"
|
||||
};
|
||||
logConfig.AddTarget("service", logService);
|
||||
|
||||
var serviceRule = new LoggingRule("*", logLevel, logService);
|
||||
@@ -88,12 +89,5 @@ namespace Jackett.Common.Utils
|
||||
|
||||
return logConfig;
|
||||
}
|
||||
|
||||
[LayoutRenderer("simpledatetime")]
|
||||
public class SimpleDateTimeRenderer : LayoutRenderer
|
||||
{
|
||||
protected override void Append(StringBuilder builder, LogEventInfo logEvent) =>
|
||||
builder.Append(DateTime.Now.ToString("MM-dd HH:mm:ss"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -365,6 +365,8 @@ namespace Jackett.Updater
|
||||
"Definitions/extratorrent-cd.yml",
|
||||
"Definitions/extratorrent-it.yml",
|
||||
"Definitions/extratorrentclone.yml",
|
||||
"Definitions/extremebits.yml",
|
||||
"Definitions/fantasticheaven.yml",
|
||||
"Definitions/feedurneed.yml", // merged with devilsplayground #6872
|
||||
"Definitions/fenyarnyek-tracker.yml",
|
||||
"Definitions/filebase.yml",
|
||||
@@ -380,6 +382,7 @@ namespace Jackett.Updater
|
||||
"Definitions/freshmeat.yml",
|
||||
"Definitions/fullmixmusic.yml",
|
||||
"Definitions/funreleases.yml",
|
||||
"Definitions/gainbound.yml",
|
||||
"Definitions/galeriens.yml",
|
||||
"Definitions/gdf76.yml",
|
||||
"Definitions/generationfree.yml", // switch to unit3d api #12982
|
||||
@@ -408,7 +411,6 @@ namespace Jackett.Updater
|
||||
"Definitions/hdspain.yml",
|
||||
"Definitions/hdstreet.yml",
|
||||
"Definitions/hdtorrentsit.yml",
|
||||
"Definitions/hellashut.yml",
|
||||
"Definitions/hellastz.yml",
|
||||
"Definitions/hidden-palace.yml",
|
||||
"Definitions/hon3yhd-net.yml",
|
||||
@@ -558,6 +560,7 @@ namespace Jackett.Updater
|
||||
"Definitions/soundpark.yml",
|
||||
"Definitions/spacetorrent.yml",
|
||||
"Definitions/speed-share.yml",
|
||||
"Definitions/spidertk.yml",
|
||||
"Definitions/sukebei-pantsu.yml",
|
||||
"Definitions/swarmazon.yml", // switched to *-API #13725
|
||||
"Definitions/t411.yml",
|
||||
|
Reference in New Issue
Block a user