mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-16 17:04:08 +02:00
Compare commits
29 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ee279dffac | ||
![]() |
31a7145954 | ||
![]() |
998d991cd6 | ||
![]() |
cc5ad5001a | ||
![]() |
fd35241d15 | ||
![]() |
b28def09d6 | ||
![]() |
0b4a1f8f71 | ||
![]() |
d616ab5717 | ||
![]() |
3a0f670845 | ||
![]() |
010b0d8c1b | ||
![]() |
9a2ab09f16 | ||
![]() |
e9c4d15bff | ||
![]() |
f15b45d6bd | ||
![]() |
86cdecf418 | ||
![]() |
20cb8d1d5e | ||
![]() |
f5c23e77f9 | ||
![]() |
9674ddd4cc | ||
![]() |
d605cc87a4 | ||
![]() |
64fb434d0f | ||
![]() |
fb9d2fc77c | ||
![]() |
c9feefd087 | ||
![]() |
341d761758 | ||
![]() |
13a8aea9bd | ||
![]() |
13c94b4b45 | ||
![]() |
663aa93d72 | ||
![]() |
234e9cc246 | ||
![]() |
f72468463c | ||
![]() |
eb538ce6ef | ||
![]() |
8a51a26df5 |
@@ -220,7 +220,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* 2 Fast 4 You
|
||||
* 3ChangTrai (3CT) [![(invite needed)][inviteneeded]](#)
|
||||
* 3D Torrents (3DT) [![(invite needed)][inviteneeded]](#)
|
||||
* 3evils
|
||||
* 4thD (4th Dimension)
|
||||
* 52PT
|
||||
* 720pier
|
||||
@@ -291,6 +290,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CrazyHD
|
||||
* CrazySpirits
|
||||
* CrnaBerza
|
||||
* DANISH BYTES
|
||||
* Darius Tracker
|
||||
* Dark-Shadow
|
||||
* Dark Tracker
|
||||
@@ -414,12 +414,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* NetCosmo
|
||||
* NetLab
|
||||
* New Real World [![(invite needed)][inviteneeded]](#)
|
||||
* NorBits
|
||||
* notwhat.cd
|
||||
* oMg[WtF]trackr
|
||||
* OnlineSelfEducation
|
||||
* ONLYscene
|
||||
* Orpheus
|
||||
* OshenPT
|
||||
* Ourbits (HDPter)
|
||||
@@ -440,7 +438,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Pretome
|
||||
* PrivateHD (PHD)
|
||||
* ProAudioTorrents (PAT)
|
||||
* Psytorrents [![(invite needed)][inviteneeded]](#)
|
||||
* PTerClub
|
||||
* PTFiles (PTF)
|
||||
* PThome
|
||||
|
@@ -14,7 +14,7 @@ links:
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblockit.dev/
|
||||
- https://1337x.unblockit.ltd/
|
||||
- https://1337x.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://1337x.unblocked.earth/
|
||||
@@ -36,8 +36,9 @@ legacylinks:
|
||||
- https://1337x.unblockit.top/
|
||||
- https://1337x.unblockit.lat/
|
||||
- https://1337x.unblockit.app/
|
||||
- https://1337x.unblocked.rest/
|
||||
- https://1337.root.yt/
|
||||
- https://1337x.unblocked.rest/
|
||||
- https://1337x.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -1,188 +0,0 @@
|
||||
---
|
||||
id: 3evils
|
||||
name: 3evils
|
||||
description: "3evils is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.3evils.net/
|
||||
legacylinks:
|
||||
- https://www.3evils.com/
|
||||
- https://the-unknown.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 73, cat: PC, desc: "Appz/Linux"}
|
||||
- {id: 42, cat: PC/Mac, desc: "Appz/Mac"}
|
||||
- {id: 43, cat: PC/0day, desc: "Appz/Windows"}
|
||||
- {id: 65, cat: Books/EBook, desc: "Books"}
|
||||
- {id: 80, cat: Console/NDS, desc: "Games/Nintendo"}
|
||||
- {id: 78, cat: Console/PS4, desc: "Games/PS4"}
|
||||
- {id: 77, cat: PC/Games, desc: "Games/Windows"}
|
||||
- {id: 79, cat: Console/XBox, desc: "Games/XBOX"}
|
||||
- {id: 13, cat: Movies/3D, desc: "Movies/3D"}
|
||||
- {id: 71, cat: Movies/UHD, desc: "Movies/4K"}
|
||||
- {id: 72, cat: Movies/BluRay, desc: "Movies/Blu-Ray"}
|
||||
- {id: 12, cat: Movies/DVD, desc: "Movies/DVD-R"}
|
||||
- {id: 14, cat: Movies, desc: "Movies/Packs"}
|
||||
- {id: 70, cat: Movies/SD, desc: "Movies/Screeners & Cams"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Movies/x264"}
|
||||
- {id: 17, cat: Movies/HD, desc: "Movies/X265"}
|
||||
- {id: 11, cat: Movies/SD, desc: "Movies/XVID"}
|
||||
- {id: 74, cat: Audio/Lossless, desc: "Music/FLAC"}
|
||||
- {id: 33, cat: Audio/MP3, desc: "Music/MP3"}
|
||||
- {id: 32, cat: Audio, desc: "Music/Packs"}
|
||||
- {id: 75, cat: Audio/Video, desc: "Music/Videos"}
|
||||
- {id: 6, cat: TV, desc: "TV/Packs"}
|
||||
- {id: 3, cat: TV/HD, desc: "TV/x264"}
|
||||
- {id: 4, cat: TV/HD, desc: "TV/x265"}
|
||||
- {id: 8, cat: TV/SD, desc: "TV/Xvid"}
|
||||
|
||||
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: 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. The default is <i>15</i>.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
use_ssl: 1
|
||||
perm_ssl: ""
|
||||
error:
|
||||
- selector: div.callout:contains("Login failed!")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href*="/logout.php?hash_please="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.3evils.net/browse.php?c16=1&c17=1&c3=1&c4=1&search=&searchin=title&incldead=0&only_free=1
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# title, descr, genre, all
|
||||
searchin: title
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.unstriped tbody tr:has(a[href^="download.php?torrent="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Tip\\('<b>(.*?)</b>"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
# onmouseover="Tip('<b>blahblah /><img src=\'img.php/tvmaze/80.jpg\' blahblah />');"
|
||||
# <img src=\'./pic/noposter.png\'
|
||||
- name: regexp
|
||||
args: "src=\\\\'(.+?)\\\\'"
|
||||
- name: replace
|
||||
args: ["./pic/noposter.png", ""]
|
||||
files:
|
||||
selector: td[data-label="Files"]
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Today<br> 10:20 AM
|
||||
# Yesterday<br> 08:03 PM
|
||||
optional: true
|
||||
selector: td[data-label="Added"]:contains("day")
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date:
|
||||
# Feb 14 2019<br> 10:20 AM
|
||||
optional: true
|
||||
selector: td[data-label="Added"]:not(:contains("day"))
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
size:
|
||||
selector: td[data-label="Size"]
|
||||
grabs:
|
||||
selector: td[data-label="Snatched"]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
seeders:
|
||||
selector: td[data-label="Seeders"]
|
||||
leechers:
|
||||
selector: td[data-label="Leechers"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"a.info:contains(\"[FREE]\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# U-232 V5 (customised)
|
@@ -61,6 +61,9 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: pin
|
||||
type: text
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -69,8 +72,9 @@ login:
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
pin: "{{ .Config.pin }}"
|
||||
error:
|
||||
- selector: .tablea:contains("Benutzername oder Passwort ungültig")
|
||||
- selector: .tablea:contains("Benutzername, Passwort oder Pin ungültig")
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
|
@@ -7,11 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://audiobookbay.nl/ # site forces http, does not support https
|
||||
- https://audiobookbay.unblockit.dev/
|
||||
- https://audiobookbay.unblockit.ltd/
|
||||
legacylinks:
|
||||
- https://audiobookbay.la/
|
||||
- https://audiobookbay.unblockit.lat/
|
||||
- https://audiobookbay.unblockit.app/
|
||||
- https://audiobookbay.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -6,9 +6,9 @@ language: tr-TR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://broadcity.in/ # site is forcing to http
|
||||
- https://broadcity.in/ # site is forcing to https
|
||||
legacylinks:
|
||||
- https://broadcity.in/
|
||||
- http://broadcity.in/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://btdb.eu/
|
||||
- https://btdb.unblockit.dev/
|
||||
- https://btdb.unblockit.ltd/
|
||||
legacylinks:
|
||||
- https://btdb.to/
|
||||
- https://btdb.unblocked.app/
|
||||
@@ -30,6 +30,7 @@ legacylinks:
|
||||
- https://btdb.unblockit.top/
|
||||
- https://btdb.unblockit.lat/
|
||||
- https://btdb.unblockit.app/
|
||||
- https://btdb.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -43,6 +44,10 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
- name: info_8000
|
||||
type: info
|
||||
label: About BTDB Categories
|
||||
|
@@ -1,30 +1,29 @@
|
||||
---
|
||||
id: onlyscene
|
||||
name: ONLYscene
|
||||
description: "ONLYscene is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-fr
|
||||
id: danishbytes
|
||||
name: DANISH BYTES
|
||||
description: "DANISH BYTES is a Private Danish Tracker"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.onlyscene.org/
|
||||
- https://danishbytes.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 9, cat: TV/Anime, desc: "TV Anime"}
|
||||
- {id: 10, cat: TV/Documentary, desc: "DOC"}
|
||||
- {id: 12, cat: Other, desc: "Attente-Classement"}
|
||||
- {id: 13, cat: PC/Games, desc: "jeux"}
|
||||
- {id: 14, cat: Other, desc: "Dox"}
|
||||
- {id: 15, cat: PC/0day, desc: "APPS"}
|
||||
- {id: 16, cat: Books/Mags, desc: "Journaux-Mags"}
|
||||
- {id: 17, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 18, cat: TV, desc: "Spectacles"}
|
||||
- {id: 19, cat: TV, desc: "TV Spectacles"}
|
||||
- {id: 20, cat: TV/Documentary, desc: "TV DOC"}
|
||||
- {id: 7, cat: TV, desc: "Dansk / TV & Serier"}
|
||||
- {id: 6, cat: Movies, desc: "Dansk / Film"}
|
||||
- {id: 2, cat: TV, desc: "TV & Serier"}
|
||||
- {id: 1, cat: Movies, desc: "Film"}
|
||||
- {id: 10, cat: Movies, desc: "Film Boxset"}
|
||||
- {id: 13, cat: TV/Anime, desc: "Cartoon & Anime / TV & Serier"}
|
||||
- {id: 12, cat: TV/Anime, desc: "Cartoon & Anime / Film"}
|
||||
- {id: 5, cat: PC/0day, desc: "Applikationer"}
|
||||
- {id: 4, cat: PC/Games, desc: "Spil"}
|
||||
- {id: 3, cat: Audio, desc: "Musik"}
|
||||
- {id: 14, cat: Audio/Video, desc: "Musik / Videoer"}
|
||||
- {id: 9, cat: Audio/Audiobook, desc: "Lydbøger"}
|
||||
- {id: 8, cat: Books, desc: "E -Books, Magasiner, osv."}
|
||||
- {id: 11, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -44,29 +43,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTI by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTI by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
MULTI.FRENCH: MULTI.FRENCH
|
||||
ENGLISH: ENGLISH
|
||||
MULTI.ENGLISH: MULTI.ENGLISH
|
||||
VOSTFR: VOSTFR
|
||||
MULTI.VOSTFR: MULTI.VOSTFR
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR with ENGLISH
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
default: "created_at"
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
@@ -130,43 +110,17 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/(\\d+)"
|
||||
title_phase1:
|
||||
selector: a.view-torrent
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["([\\.]+)", " "]
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
|
||||
title_phase2:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
|
||||
title:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "https://images.weserv.nl/?url=" # for display on dashboard
|
||||
- name: append
|
||||
args: "&w=180&h=270" # for display on dashboard
|
||||
- name: replace
|
||||
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
@@ -178,12 +132,6 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
imdb:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
@@ -225,7 +173,7 @@ search:
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From PARA Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
@@ -242,6 +190,6 @@ search:
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# UNIT3D 2.3.0
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# UNIT3D 3.1.0 DB-edition
|
@@ -64,8 +64,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
@@ -136,9 +136,9 @@ search:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 name, 1 descr, 2 both, 4 imdb
|
||||
blah: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
search: "{{ .Keywords }}}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: "0"
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
|
@@ -10,7 +10,7 @@ links:
|
||||
- https://www.demonoid.is/
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoid.unblockit.dev/
|
||||
- https://demonoid.unblockit.ltd/
|
||||
- https://demonoid.torrentbay.to/
|
||||
legacylinks:
|
||||
- https://demonoid.unblockit.pro/
|
||||
@@ -27,6 +27,7 @@ legacylinks:
|
||||
- https://demonoid.unblockit.top/
|
||||
- https://demonoid.unblockit.lat/
|
||||
- https://demonoid.unblockit.app/
|
||||
- https://demonoid.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -12,18 +12,18 @@ caps:
|
||||
categorymappings:
|
||||
- {id: 60, cat: Movies/HD, desc: "MicroHD 720p"}
|
||||
- {id: 77, cat: Movies/HD, desc: "MicroHD 1080p"}
|
||||
- {id: 78, cat: Movies/HD, desc: "MicroHD 4K"}
|
||||
- {id: 78, cat: Movies/UHD, desc: "MicroHD 4K"}
|
||||
- {id: 64, cat: TV/HD, desc: "Pack Series"}
|
||||
- {id: 65, cat: TV/HD, desc: "Pack Series VOSE"}
|
||||
- {id: 80, cat: Movies/BluRay, desc: "BDRip X265 1080p"}
|
||||
- {id: 80, cat: Movies/HD, desc: "BDRip X265 1080p"}
|
||||
- {id: 81, cat: Movies/UHD, desc: "UHDRip x265 4K"}
|
||||
- {id: 82, cat: Movies/WEB-DL, desc: "Pelis Web-DL 1080"}
|
||||
- {id: 83, cat: Movies/WEB-DL, desc: "Pelis Web-DL 720"}
|
||||
- {id: 84, cat: Movies/UHD, desc: "UHD Remux x265"}
|
||||
- {id: 91, cat: Movies/HD, desc: "BDRip x264"}
|
||||
- {id: 89, cat: Movies/HD, desc: "BDRemux"}
|
||||
- {id: 88, cat: Movies/HD, desc: "Full HD"}
|
||||
- {id: 90, cat: Movies/UHD, desc: "UHD Full"}
|
||||
- {id: 88, cat: Movies/BluRay, desc: "Full HD"}
|
||||
- {id: 90, cat: Movies/BluRay, desc: "UHD Full"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Deportes"}
|
||||
- {id: 20, cat: TV/HD, desc: "Series"}
|
||||
- {id: 31, cat: TV/HD, desc: "Series VOSE"}
|
||||
@@ -38,11 +38,11 @@ caps:
|
||||
- {id: 76, cat: Movies, desc: "x-men saga"}
|
||||
- {id: 85, cat: Movies, desc: "Sean Connery"}
|
||||
- {id: 6, cat: Books/EBook, desc: "EBooks"}
|
||||
- {id: 58, cat: Books/EBook, desc: "Kiosko"}
|
||||
- {id: 58, cat: Books/Mags, desc: "Kiosko"}
|
||||
- {id: 24, cat: TV/Documentary, desc: "Documentales"}
|
||||
- {id: 32, cat: TV/Documentary, desc: "Documentales VOSE"}
|
||||
- {id: 49, cat: Books/EBook, desc: "eLearning"}
|
||||
- {id: 68, cat: Books/EBook, desc: "eLearning Multimedia"}
|
||||
- {id: 49, cat: Books/Technical, desc: "eLearning"}
|
||||
- {id: 68, cat: Books/Technical, desc: "eLearning Multimedia"}
|
||||
- {id: 87, cat: Audio/Audiobook, desc: "Audiolibros"}
|
||||
|
||||
modes:
|
||||
@@ -125,16 +125,16 @@ search:
|
||||
selector: a[href^="index.php?page=torrent-details"][onmouseover]:not(:contains("VOSE"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\W", "."] # Spaces and other characters -> .
|
||||
- name: append
|
||||
args: ".Spanish-DivTeam"
|
||||
args: " MULTi/SPANiSH" # DivTeam doesn't bring languages. Usually Original + Spanish.
|
||||
- name: re_replace
|
||||
args: ["\\.+", "."] # More than 1 dot -> .
|
||||
- name: re_replace
|
||||
args: ["^\\.", ""] # Delete first dot
|
||||
- name: re_replace
|
||||
args: ["UHDRip", "BDRip"] # Fix for Radarr
|
||||
- name: replace
|
||||
args: ["UHDRip", "Bluray-2160p"] # Fix for Radarr
|
||||
- name: replace
|
||||
args: ["2160p BDRip", "Bluray-2160p"] # Fix for Radarr
|
||||
poster:
|
||||
selector: a[onmouseover][href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://www.ettvcentral.com/
|
||||
- https://ettv.unblockninja.com/
|
||||
- https://ettv.unblockit.dev/
|
||||
- https://ettv.unblockit.ltd/
|
||||
- https://ettv.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://www.ettv.tv/
|
||||
@@ -35,6 +35,7 @@ legacylinks:
|
||||
- https://ettv.unblockit.lat/
|
||||
- https://ettv.unblockit.app/
|
||||
- https://ettv.unblocked.rest/
|
||||
- https://ettv.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,11 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://extratorrents.it/
|
||||
- https://extratorrent.unblockit.dev/
|
||||
- https://extratorrent.unblockit.ltd/
|
||||
- https://extratorrent2.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://extratorrent.ag/
|
||||
- https://extratorrent.unblockit.app/
|
||||
- https://extratorrent.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -12,7 +12,7 @@ links:
|
||||
- https://eztv.tf/
|
||||
- https://eztv.yt/
|
||||
- https://eztv.unblockninja.com/
|
||||
- https://eztv.unblockit.dev/
|
||||
- https://eztv.unblockit.ltd/
|
||||
- https://eztv.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://eztv.ag/ # redirects to .re
|
||||
@@ -38,6 +38,7 @@ legacylinks:
|
||||
- https://eztv.unblockit.app/
|
||||
- https://eztv.root.yt/
|
||||
- https://eztv.unblocked.rest/
|
||||
- https://eztv.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://www.gtdb.to/
|
||||
- https://glodls.to/
|
||||
- https://glotorrents.unblockit.dev/
|
||||
- https://glotorrents.unblockit.ltd/
|
||||
- https://glodls.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://glodls.rocks/
|
||||
@@ -32,6 +32,7 @@ legacylinks:
|
||||
- https://glotorrents.unblockit.lat/
|
||||
- https://glotorrents.unblockit.app/
|
||||
- https://glodls.unblocked.rest/
|
||||
- https://glotorrents.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -104,19 +104,51 @@ search:
|
||||
selector: a.view-torrent
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)full", "BRDISK."] # FULL(BR/UHD) -> BRDISK
|
||||
args: ["\\[", " "]
|
||||
- name: re_replace
|
||||
args: ["\\]", " "]
|
||||
- name: re_replace
|
||||
args: ["(?i)(full(bluray)?)", "BRDISK"] # FULL(BR/UHD) -> BRDISK
|
||||
- name: replace
|
||||
args: ["HDOlimpo", ""] # Delete HDOlimpo
|
||||
- name: re_replace
|
||||
- name: replace
|
||||
args: ["HD-Olimpo", ""] # Delete HD-Olimpo
|
||||
- name: re_replace
|
||||
args: ["\\W", "."] # Spaces and other characters -> .
|
||||
- name: append
|
||||
args: ".Spanish-HDOlimpo"
|
||||
args: ["[ -](?i)español[ -]", " SPANiSH "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)castellano[ -]", " SPANiSH "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)spa[ -]", " SPANiSH "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)esp[ -]", " SPANiSH "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)ingl[eé]s[ -]", " English "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)[ei]ng[ -]", " English "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)cat[ -]", " Catalan "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)vas[ -]", " Basque "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)fr[ae][ -]", " French "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)jap[ -]", " Japanese "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)ita[ -]", " Italian "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)rus[ -]", " Russian "]
|
||||
- name: re_replace
|
||||
args: ["[ -](?i)ger[ -]", " German "]
|
||||
- name: re_replace
|
||||
args: ["(?i)(triaudio)", "MULTi/SPANiSH/English"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dual)", " MULTi/SPANiSH "]
|
||||
- name: re_replace
|
||||
args: ["\\.+", "."] # More than 1 dot -> .
|
||||
- name: re_replace
|
||||
args: ["^\\.", ""] # Delete first dot
|
||||
- name: re_replace
|
||||
args: ["\\s+", " "] # More than 1 space to 1 space
|
||||
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
|
@@ -6,11 +6,11 @@ language: ru-ru
|
||||
type: public
|
||||
encoding: windows-1251
|
||||
links:
|
||||
- https://hdreactor.net/
|
||||
- https://hdreactor.club/
|
||||
- https://hdreactor.su/
|
||||
legacylinks:
|
||||
- https://hdreactor.guru/
|
||||
- https://hdreactor.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -59,6 +59,10 @@ settings:
|
||||
3: "created asc"
|
||||
1: "seeders asc"
|
||||
2: "size asc"
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
@@ -26,13 +26,12 @@ caps:
|
||||
- {id: 414, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: 402, cat: TV, desc: "TV Series(电视剧)"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows(综艺)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries(纪录片)"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations(动画片)"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos(MV)"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(体育)"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio(音乐)"}
|
||||
- {id: 421, cat: Books, desc: "Book(学习资料)"}
|
||||
- {id: 422, cat: Console, desc: "Game(游戏)"}
|
||||
- {id: 409, cat: Other, desc: "Misc(其他)"}
|
||||
- {id: 500, cat: Audio, desc: "Music(无损)"}
|
||||
- {id: 409, cat: Other, desc: "Video Portray(写真视频)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -42,13 +41,12 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -75,9 +73,18 @@ 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"]
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src^="image.php?"]
|
||||
input: imagestring
|
||||
error:
|
||||
- selector: table:has(a[href="login.php"])
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
@@ -85,7 +92,6 @@ 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
|
||||
@@ -103,19 +109,19 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
selector: a[href*="?cat_"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
- name: regexp
|
||||
args: "cat_(\\d{3})"
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href^="details_"] > b
|
||||
title:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
selector: a[title][href^="details_"] > b
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href^="details_"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?"]
|
||||
|
@@ -12,7 +12,7 @@ links:
|
||||
- https://www.limetorrents.co/
|
||||
- https://limetor.com/
|
||||
- https://www.limetor.pro/
|
||||
- https://limetorrents.unblockit.dev/
|
||||
- https://limetorrents.unblockit.ltd/
|
||||
- https://limetorrents.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://www.limetorrents.io/
|
||||
@@ -36,6 +36,7 @@ legacylinks:
|
||||
- https://limetorrents.unblockit.top/
|
||||
- https://limetorrents.unblockit.lat/
|
||||
- https://limetorrents.unblockit.app/
|
||||
- https://limetorrents.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -16,6 +16,18 @@ caps:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Add VOSTFR to titles
|
||||
default: false
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
@@ -40,8 +52,12 @@ search:
|
||||
fields:
|
||||
category:
|
||||
text: 1
|
||||
title:
|
||||
title_normal:
|
||||
selector: a[href^="details.php?id="]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_normal }} VOSTFR"
|
||||
title:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_normal }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://monova.org/
|
||||
- https://monova.to/
|
||||
- https://monova.unblockit.dev/
|
||||
- https://monova.unblockit.ltd/
|
||||
- https://monova.unblocked.monster/
|
||||
- https://monova.unblockninja.com/
|
||||
legacylinks:
|
||||
@@ -29,6 +29,7 @@ legacylinks:
|
||||
- https://monova.unblockit.lat/
|
||||
- https://monova.unblockit.app/
|
||||
- https://monova.unblocked.rest/
|
||||
- https://monova.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://pirateiro.com/
|
||||
- https://pirateiro.eu/
|
||||
- https://pirateiro.unblockit.dev/
|
||||
- https://pirateiro.unblockit.ltd/
|
||||
legacylinks:
|
||||
- http://pirateiro.com/
|
||||
- https://pirateiro.unblockit.pro/
|
||||
@@ -21,6 +21,7 @@ legacylinks:
|
||||
- https://pirateiro.unblockit.top/
|
||||
- https://pirateiro.unblockit.lat/
|
||||
- https://pirateiro.unblockit.app/
|
||||
- https://pirateiro.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -17,6 +17,7 @@ caps:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 4, cat: Audio, desc: "Music"}
|
||||
- {id: 5, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 7, cat: TV/Other, desc: "Stand-up Comedy"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
@@ -41,7 +42,6 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
@@ -93,20 +93,98 @@ search:
|
||||
selector: a[href^="details.php?name="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [".*? / ", ""]
|
||||
args: ["^VA\\s*\\|", "VA -"]
|
||||
- name: re_replace
|
||||
args: ["^.*? \\/\\s*|^.*? \\|\\s*", ""]
|
||||
- name: diacritics
|
||||
args: replace
|
||||
- name: re_replace
|
||||
args: ["( = CSFD \\d+\\%)", ""]
|
||||
args: ["\\|\\s*\\d+\\% CSFD\\.cz\\/|\\s*=*\\s*CSFD\\s*\\d+\\%|\\s*CSFD\\s*=*\\s*\\d+\\%|\\s*CSFD", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)serie", ""]
|
||||
args: ["(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{2,})\\s*\\.*\\s(?i)serie\\.*", "S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(\\d{2})\\.", "S$1"]
|
||||
args: ["(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{1})\\s*\\.*\\s(?i)serie\\.*", "S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(\\d{1})\\.", "S0$1"]
|
||||
args: ["(?i)serie\\s*(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{2,})\\s*\\.*", "S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)serie\\s*(\\d{1})\\s*\\.*\\s*az*\\s*(\\d{1})\\s*\\.*", "S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)season\\,*\\s*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{2,})", "S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)season\\,*\\s*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{1})", "S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)season\\s*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\s*\\.*", "S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)season\\s*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\s*\\.*", "S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["^GRID\\:*\\s(?i)season", "GRID Seasson"]
|
||||
- name: re_replace
|
||||
args: ["(?i)season\\s*(\\d{2,})\\.*", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)season\\s*(\\d{1})\\.*", "S0$1"]
|
||||
- name: re_replace
|
||||
args: ["GRID Seasson", "GRID Season"]
|
||||
- name: re_replace
|
||||
args: ["\\sPES\\s(\\d{4})\\s(?i)season", " PES $1 Seasson"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{2,})\\.*\\s*(?i)season\\)*", " S$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\.*\\s(?i)season\\)*", " S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\.*\\s(?i)season\\)*", " S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\.*\\s*(?i)season\\)*", " S0$1"]
|
||||
- name: re_replace
|
||||
args: [" PES (\\d{4}) Seasson", " PES $1 Season"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{2,})\\,*\\s*(?i)serie\\)*", " S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{1})\\,*\\s*(?i)serie\\)*", " S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{2,})\\.*\\s*(?i)serie\\)*", " S$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\.*\\s(?i)serie\\)*", " S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\.*\\s(?i)serie\\)*", " S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\.*\\s*(?i)serie\\)*", " S0$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{2,})\\,*\\s*(?i)seria\\)*", " S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\,\\s*\\d{1}\\,\\s*(\\d{1})\\,*\\s*(?i)seria\\)*", " S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\d{2,}\\.*\\s*(?i)seria\\s\\((?i)s(\\d{2,})", " (S$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{2,})\\.*\\s(?i)seria\\)*", " S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\s*\\.*\\-*\\,*\\+*\\s*(\\d{1})\\.*\\s(?i)seria\\)*", " S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{2,})\\.*\\s*(?i)seria\\)*", " S$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\(*(\\d{1})\\.*\\s*(?i)seria\\)*", " S0$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s\\d{1}\\.*\\s*(?i)seria\\s*\\((?i)s(\\d{1})", " (S0$1"]
|
||||
- name: re_replace
|
||||
args: ["(\\d{2,})\\.*\\s*(?i)serii\\)*", "S01-S$1"]
|
||||
- name: re_replace
|
||||
args: ["(\\d{1})\\.*\\s*(?i)serii\\)*", "S01-S0$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)pouze (\\d{1})\\-(\\d{2,})", "pouze S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)pouze (\\d{1})\\-(\\d{1})", "pouze S0$1-S0$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)komplet (\\d{1})\\-(\\d{2,})", "komplet S0$1-S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)komplet (\\d{1})\\-(\\d{1})", "komplet S0$1-S0$2"]
|
||||
details:
|
||||
selector: a[href^="details.php?name="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[class="lozad"]
|
||||
attribute: data-src
|
||||
poster:
|
||||
selector: img[src="//cdn.sktorrent.eu/obrazky/xXx.jpg"]
|
||||
attribute: src
|
||||
download:
|
||||
selector: a[href^="details.php?name="]
|
||||
attribute: href
|
||||
|
@@ -50,6 +50,10 @@ settings:
|
||||
options:
|
||||
created: created
|
||||
seeders: seeders
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
|
||||
search:
|
||||
# https://skytorrents.to/?search=mr+mercedes+s02e05&sort=created
|
||||
|
@@ -71,8 +71,8 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
@@ -129,9 +129,9 @@ search:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBIDShort }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 name, 1 descr, 2 both, 3 imdb
|
||||
blah: "{{ if .Query.IMDBID }}3{{ else }}0{{ end }}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: "0"
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
|
@@ -10,7 +10,7 @@ links:
|
||||
- https://www.torlock.com/
|
||||
- https://www.torlock2.com/
|
||||
- https://www.torlock.icu/
|
||||
- https://torlock.unblockit.dev/
|
||||
- https://torlock.unblockit.ltd/
|
||||
legacylinks:
|
||||
- https://torlock.com/
|
||||
- https://torlock.unblockit.pro/
|
||||
@@ -22,6 +22,7 @@ legacylinks:
|
||||
- https://torlock.unblockit.top/
|
||||
- https://torlock.unblockit.lat/
|
||||
- https://torlock.unblockit.app/
|
||||
- https://torlock.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.torrentdownload.info/
|
||||
- https://torrentdownload.unblockit.dev/
|
||||
- https://torrentdownload.unblockit.ltd/
|
||||
- https://torrentdownload.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://torrentdownload.unblockit.pro/
|
||||
@@ -29,6 +29,7 @@ legacylinks:
|
||||
- https://torrentdownload.unblockit.lat/
|
||||
- https://torrentdownload.unblockit.app/
|
||||
- https://torrentdownload.unblocked.rest/
|
||||
- https://torrentdownload.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://www.torrentdownloads.info/
|
||||
- https://www.torrentdownloads.me/
|
||||
- https://torrentdownloads.unblockit.dev/
|
||||
- https://torrentdownloads.unblockit.ltd/
|
||||
- https://torrentdownloads.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://torrentdownloads.unblockit.pro/
|
||||
@@ -30,6 +30,7 @@ legacylinks:
|
||||
- https://torrentdownloads.unblockit.lat/
|
||||
- https://torrentdownloads.unblockit.app/
|
||||
- https://torrentdownloads.unblocked.rest/
|
||||
- https://torrentdownloads.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://www.torrentfunk.com/
|
||||
- https://www.torrentfunk2.com/
|
||||
- https://torrentfunk.unblockit.dev/
|
||||
- https://torrentfunk.unblockit.ltd/
|
||||
legacylinks:
|
||||
- https://torrentfunk.unblockit.pro/
|
||||
- https://torrentfunk.unblockit.one/
|
||||
@@ -20,6 +20,7 @@ legacylinks:
|
||||
- https://torrentfunk.unblockit.top/
|
||||
- https://torrentfunk.unblockit.lat/
|
||||
- https://torrentfunk.unblockit.app/
|
||||
- https://torrentfunk.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -11,7 +11,7 @@ links:
|
||||
- https://torrentgalaxy.mx/
|
||||
- https://torrentgalaxy.su/
|
||||
- https://torrentgalaxy.unblockninja.com/
|
||||
- https://torrentgalaxy.unblockit.dev/
|
||||
- https://torrentgalaxy.unblockit.ltd/
|
||||
- https://tgx.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://torrentgalaxy.org/ # redirects to *.to
|
||||
@@ -35,6 +35,7 @@ legacylinks:
|
||||
- https://torrentgalaxy.unblockit.app/
|
||||
- https://torrentgalaxy.root.yt/
|
||||
- https://tgx.unblocked.rest/
|
||||
- https://torrentgalaxy.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -8,7 +8,8 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentzwealmisr.onion.ly/
|
||||
- https://torrentz.unblockit.dev/
|
||||
- https://torrentz.unblockit.ltd/
|
||||
- https://torrentz2.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://torrentz.unblockit.pro/
|
||||
- https://torrentz.unblockit.one/
|
||||
@@ -30,9 +31,9 @@ legacylinks:
|
||||
- https://torrentz2.is/ # Error: 503 Service Unavailable
|
||||
- https://torrentsmirror.com/ # Error: 503 Service Unavailable
|
||||
- https://torrentz.pl/ # Error: 503 Service Unavailable
|
||||
- https://torrentz2.unblockninja.com/ # Error: 503 Service Unavailable
|
||||
- https://torrentz.unblockit.app/ # -> *.dev
|
||||
- https://torrentz2.unblocked.rest/ # Error: 503 Service Unavailable
|
||||
- https://torrentz.unblockit.app/
|
||||
- https://torrentz2.unblocked.rest/
|
||||
- https://torrentz.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -6,15 +6,15 @@ language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://torrentz2k.xyz/
|
||||
legacylinks:
|
||||
- https://torrentz2k.pw/
|
||||
legacylinks:
|
||||
- https://torrentz2k.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: book, cat: Books, desc: Books}
|
||||
- {id: film, cat: Movies, desc: Movies}
|
||||
- {id: gamepad, cat: Console, desc: Games}
|
||||
- {id: gamepad, cat: PC/Games, desc: Games}
|
||||
- {id: list, cat: Other, desc: Other}
|
||||
- {id: male, cat: XXX, desc: XXX}
|
||||
- {id: music, cat: Audio, desc: "Music MP3"}
|
||||
@@ -22,7 +22,7 @@ caps:
|
||||
- {id: play-circle, cat: TV, desc: WEBTV}
|
||||
- {id: smile-o, cat: TV/Anime, desc: Anime}
|
||||
- {id: television, cat: TV, desc: TV}
|
||||
- {id: wrench, cat: PC, desc: Software}
|
||||
- {id: wrench, cat: PC, desc: Apps}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -38,7 +38,7 @@ settings:
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
|
||||
search:
|
||||
# https://torrentz2k.xyz/search/
|
||||
# https://torrentz2k.pw/search/
|
||||
paths:
|
||||
- path: search/
|
||||
method: post
|
||||
@@ -49,8 +49,6 @@ search:
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}:latest:{{ end }}"
|
||||
category: all
|
||||
x: 0
|
||||
y: 0
|
||||
keywordsfilters:
|
||||
# the site uses % for wildcard
|
||||
- name: re_replace
|
||||
@@ -78,11 +76,14 @@ search:
|
||||
selector: span.btntitle
|
||||
attribute: title
|
||||
details:
|
||||
# details page is only accessible via form and post which Cardigann does not support.
|
||||
text: "{{ .Config.sitelink }}"
|
||||
download:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
selector: a
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: trim
|
||||
args: "/"
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
|
@@ -139,12 +139,14 @@ search:
|
||||
- name: re_replace # eg Supergirl 2018 S04E01 ...
|
||||
args: ["20[0-2][0-9] (S[0-9][0-9])", "$1"]
|
||||
- name: replace
|
||||
args: ["ESP", "Spanish"]
|
||||
args: ["SPA", "SPANiSH"]
|
||||
- name: replace
|
||||
args: ["ESP", "SPANiSH"]
|
||||
- name: re_replace
|
||||
args: ["[EI]NG", "English"]
|
||||
- name: replace
|
||||
args: ["CAT", "Catalan"]
|
||||
- name: replace
|
||||
- name: re_replace
|
||||
args: ["FR[AE]", "French"]
|
||||
- name: replace
|
||||
args: ["JAP", "Japanese"]
|
||||
@@ -153,15 +155,17 @@ search:
|
||||
- name: replace
|
||||
args: ["RUS", "Russian"]
|
||||
- name: replace
|
||||
args: ["DUAL", "Spanish English"]
|
||||
args: ["DUAL", "MULTi/SPANiSH"]
|
||||
- name: replace
|
||||
args: ["BDRIP 2160P", "Bluray-2160P"] # Fix for Radarr
|
||||
- name: re_replace
|
||||
args: ["MHD", "MHD.BDRip"] # Fix for Radarr
|
||||
args: ["MHD", "MHD BDRIP"] # Fix for Radarr
|
||||
- name: re_replace
|
||||
args: ["WEB.DL", "WEBDL"] # Fix for Radarr
|
||||
args: ["WEB DL", "WEBDL"] # Fix for Radarr
|
||||
- name: re_replace
|
||||
args: ["WEBDL.MHD.BDRip", "WEBDL"] # Fix for Radarr
|
||||
args: ["WEBDL MHD BDRIP", "WEBDL"] # Fix for Radarr
|
||||
- name: re_replace
|
||||
args: ["WEBRIP.MHD.BDRip", "WEBRIP"] # Fix for Radarr
|
||||
args: ["WEBRIP MHD BDRIP", "WEBRIP"] # Fix for Radarr
|
||||
details:
|
||||
selector: td[valign="middle"] a
|
||||
attribute: href
|
||||
@@ -196,6 +200,7 @@ search:
|
||||
case:
|
||||
img[src$="gold.png"]: 0
|
||||
img[src$="silver.png"]: 0.5
|
||||
img[src$="bronze.png"]: 0.25
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://zooqle.com/
|
||||
- https://zooqle.unblockninja.com/
|
||||
- https://zooqle.unblockit.dev/
|
||||
- https://zooqle.unblockit.ltd/
|
||||
- https://zooqle.unblocked.monster/
|
||||
legacylinks:
|
||||
- https://zooqle.unblockit.pro/
|
||||
@@ -30,6 +30,7 @@ legacylinks:
|
||||
- https://zooqle.unblockit.lat/
|
||||
- https://zooqle.unblockit.app/
|
||||
- https://zooqle.unblocked.rest/
|
||||
- https://zooqle.unblockit.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -45,12 +45,13 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://epublibre.org/",
|
||||
"https://epublibre.unblockit.dev/"
|
||||
"https://epublibre.unblockit.ltd/"
|
||||
};
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://epublibre.unblockit.lat/",
|
||||
"https://epublibre.unblockit.app/"
|
||||
"https://epublibre.unblockit.app/",
|
||||
"https://epublibre.unblockit.dev/"
|
||||
};
|
||||
|
||||
public EpubLibre(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
|
@@ -24,7 +24,7 @@ namespace Jackett.Common.Indexers
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://iptorrents.com/",
|
||||
"https://www.iptorrents.com/",
|
||||
"https://iptorrents.eu/",
|
||||
"https://iptorrents.me/",
|
||||
"https://nemo.iptorrents.com/",
|
||||
"https://ipt.getcrazy.me/",
|
||||
"https://ipt.findnemo.net/",
|
||||
@@ -44,7 +44,8 @@ namespace Jackett.Common.Indexers
|
||||
"http://ghost.cable-modem.org/",
|
||||
"http://logan.unusualperson.com/",
|
||||
"https://ipt.rocks/",
|
||||
"http://baywatch.workisboring.com/"
|
||||
"http://baywatch.workisboring.com/",
|
||||
"https://iptorrents.eu/"
|
||||
};
|
||||
|
||||
private new ConfigurationDataCookie configData => (ConfigurationDataCookie)base.configData;
|
||||
|
@@ -41,7 +41,8 @@ namespace Jackett.Common.Indexers
|
||||
"http://www.mejortorrent.tv/",
|
||||
"http://www.mejortorrentt.com/",
|
||||
"https://www.mejortorrentt.org/",
|
||||
"http://www.mejortorrentt.org/"
|
||||
"http://www.mejortorrentt.org/",
|
||||
"https://www.mejortorrents.net/"
|
||||
};
|
||||
|
||||
public MejorTorrent(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
|
||||
@@ -49,7 +50,7 @@ namespace Jackett.Common.Indexers
|
||||
: base(id: "mejortorrent",
|
||||
name: "MejorTorrent",
|
||||
description: "MejorTorrent - Hay veces que un torrent viene mejor! :)",
|
||||
link: "https://www.mejortorrents.net/",
|
||||
link: "https://www.mejortorrents1.com/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
|
@@ -1,248 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Dom;
|
||||
using AngleSharp.Html.Parser;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils;
|
||||
using Jackett.Common.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Common.Indexers
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
public class NewRealWorld : BaseWebIndexer
|
||||
{
|
||||
private string LoginUrl => SiteLink + "login.php";
|
||||
private string BrowseUrl => SiteLink + "browse.php";
|
||||
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get => (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData;
|
||||
set => base.configData = value;
|
||||
}
|
||||
|
||||
public NewRealWorld(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
ICacheService cs)
|
||||
: base(id: "newrealworld",
|
||||
name: "New Real World",
|
||||
description: "A German general tracker.",
|
||||
link: "https://nrw-tracker.eu/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
|
||||
},
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q
|
||||
},
|
||||
MusicSearchParams = new List<MusicSearchParam>
|
||||
{
|
||||
MusicSearchParam.Q
|
||||
},
|
||||
BookSearchParams = new List<BookSearchParam>
|
||||
{
|
||||
BookSearchParam.Q
|
||||
}
|
||||
},
|
||||
configService: configService,
|
||||
client: wc,
|
||||
logger: l,
|
||||
p: ps,
|
||||
cacheService: cs,
|
||||
configData: new ConfigurationDataBasicLoginWithRSSAndDisplay())
|
||||
{
|
||||
Encoding = Encoding.GetEncoding("iso-8859-1");
|
||||
Language = "de-de";
|
||||
Type = "private";
|
||||
|
||||
AddCategoryMapping(39, TorznabCatType.TVAnime, "Anime: HD|1080p");
|
||||
AddCategoryMapping(38, TorznabCatType.TVAnime, "Anime: HD|720p");
|
||||
AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime: SD");
|
||||
AddCategoryMapping(7, TorznabCatType.PCMobileOther, "Appz: Handy-PDA");
|
||||
AddCategoryMapping(36, TorznabCatType.PCMac, "Appz: Mac");
|
||||
AddCategoryMapping(18, TorznabCatType.PC, "Appz: Sonstiges");
|
||||
AddCategoryMapping(17, TorznabCatType.PC, "Appz: Win");
|
||||
AddCategoryMapping(15, TorznabCatType.Audio, "Audio: DVD-R");
|
||||
AddCategoryMapping(49, TorznabCatType.AudioLossless, "Audio: Flac");
|
||||
AddCategoryMapping(30, TorznabCatType.AudioAudiobook, "Audio: Hörspiele");
|
||||
AddCategoryMapping(14, TorznabCatType.AudioMP3, "Audio: MP3");
|
||||
AddCategoryMapping(22, TorznabCatType.AudioVideo, "Audio: Videoclip");
|
||||
AddCategoryMapping(19, TorznabCatType.Other, "Diverses: Sonstiges");
|
||||
AddCategoryMapping(43, TorznabCatType.TVDocumentary, "Dokus: HD");
|
||||
AddCategoryMapping(2, TorznabCatType.TVDocumentary, "Dokus: SD");
|
||||
AddCategoryMapping(3, TorznabCatType.Books, "Ebooks: Bücher");
|
||||
AddCategoryMapping(52, TorznabCatType.BooksComics, "Ebooks: Comics");
|
||||
AddCategoryMapping(53, TorznabCatType.BooksMags, "Ebooks: Magazine");
|
||||
AddCategoryMapping(55, TorznabCatType.BooksOther, "Ebooks: XXX");
|
||||
AddCategoryMapping(54, TorznabCatType.BooksOther, "Ebooks: Zeitungen");
|
||||
AddCategoryMapping(47, TorznabCatType.PCMobileOther, "Games: Andere");
|
||||
AddCategoryMapping(32, TorznabCatType.PCMac, "Games: Mac");
|
||||
AddCategoryMapping(41, TorznabCatType.ConsoleNDS, "Games: NDS/3DS");
|
||||
AddCategoryMapping(4, TorznabCatType.PCGames, "Games: PC");
|
||||
AddCategoryMapping(5, TorznabCatType.ConsolePS3, "Games: PS2");
|
||||
AddCategoryMapping(9, TorznabCatType.ConsolePS3, "Games: PS3");
|
||||
AddCategoryMapping(6, TorznabCatType.ConsolePSP, "Games: PSP");
|
||||
AddCategoryMapping(28, TorznabCatType.ConsoleWii, "Games: Wii");
|
||||
AddCategoryMapping(31, TorznabCatType.ConsoleXBox, "Games: XboX");
|
||||
AddCategoryMapping(51, TorznabCatType.Movies3D, "Movies: 3D");
|
||||
AddCategoryMapping(37, TorznabCatType.MoviesBluRay, "Movies: BluRay");
|
||||
AddCategoryMapping(25, TorznabCatType.MoviesHD, "Movies: HD|1080p");
|
||||
AddCategoryMapping(29, TorznabCatType.MoviesHD, "Movies: HD|720p");
|
||||
AddCategoryMapping(11, TorznabCatType.MoviesDVD, "Movies: SD|DVD-R");
|
||||
AddCategoryMapping(8, TorznabCatType.MoviesSD, "Movies: SD|x264");
|
||||
AddCategoryMapping(13, TorznabCatType.MoviesSD, "Movies: SD|XviD");
|
||||
AddCategoryMapping(40, TorznabCatType.MoviesForeign, "Movies: US Movies");
|
||||
AddCategoryMapping(33, TorznabCatType.TV, "Serien: DVD-R");
|
||||
AddCategoryMapping(34, TorznabCatType.TVHD, "Serien: HD");
|
||||
AddCategoryMapping(56, TorznabCatType.TVHD, "Serien: Packs|HD");
|
||||
AddCategoryMapping(44, TorznabCatType.TVSD, "Serien: Packs|SD");
|
||||
AddCategoryMapping(16, TorznabCatType.TVSD, "Serien: SD");
|
||||
AddCategoryMapping(10, TorznabCatType.TVOther, "Serien: TV/Shows");
|
||||
AddCategoryMapping(21, TorznabCatType.TVForeign, "Serien: US TV");
|
||||
AddCategoryMapping(24, TorznabCatType.TVSport, "Sport: Diverses");
|
||||
AddCategoryMapping(23, TorznabCatType.TVSport, "Sport: Wrestling");
|
||||
AddCategoryMapping(57, TorznabCatType.Movies, "Tracker - Crew: pmHD");
|
||||
AddCategoryMapping(58, TorznabCatType.MoviesHD, "Ultra-HD: 4K");
|
||||
AddCategoryMapping(46, TorznabCatType.XXXOther, "XXX: Diverses");
|
||||
AddCategoryMapping(50, TorznabCatType.XXX, "XXX: HD");
|
||||
AddCategoryMapping(45, TorznabCatType.XXXPack, "XXX: Packs");
|
||||
AddCategoryMapping(27, TorznabCatType.XXX, "XXX: SD");
|
||||
}
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
{
|
||||
LoadValuesFromJson(configJson);
|
||||
|
||||
var pairs = new Dictionary<string, string>
|
||||
{
|
||||
{ "username", configData.Username.Value },
|
||||
{ "password", configData.Password.Value },
|
||||
{ "submit", "Log+in!" }
|
||||
};
|
||||
|
||||
var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true);
|
||||
await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("logout.php"), () =>
|
||||
{
|
||||
var parser = new HtmlParser();
|
||||
var dom = parser.ParseDocument(result.ContentString);
|
||||
var errorMessage = dom.QuerySelector("table.tableinborder").InnerHtml;
|
||||
throw new ExceptionWithConfigData(errorMessage, configData);
|
||||
});
|
||||
return IndexerConfigurationStatus.RequiresTesting;
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
var startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 3, 0, 0), 3, 5, DayOfWeek.Sunday);
|
||||
var endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 4, 0, 0), 10, 5, DayOfWeek.Sunday);
|
||||
var delta = new TimeSpan(1, 0, 0);
|
||||
var adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition);
|
||||
TimeZoneInfo.AdjustmentRule[] adjustments = { adjustment };
|
||||
var germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "(GMT+01:00) W. Europe Standard Time", "W. Europe Standard Time", "W. Europe DST Time", adjustments);
|
||||
|
||||
var releases = new List<ReleaseInfo>();
|
||||
|
||||
var searchString = query.GetQueryString();
|
||||
var searchUrl = BrowseUrl;
|
||||
var queryCollection = new NameValueCollection
|
||||
{
|
||||
{"showsearch", "1"},
|
||||
{"incldead", "1"},
|
||||
{"orderby", "added"},
|
||||
{"sort", "desc"},
|
||||
{"cat", MapTorznabCapsToTrackers(query).FirstIfSingleOrDefault("0")}
|
||||
};
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(searchString))
|
||||
{
|
||||
queryCollection.Add("search", searchString);
|
||||
}
|
||||
|
||||
searchUrl += "?" + queryCollection.GetQueryString();
|
||||
|
||||
var response = await RequestWithCookiesAsync(searchUrl);
|
||||
if (response.IsRedirect)
|
||||
{
|
||||
// re-login
|
||||
await ApplyConfiguration(null);
|
||||
response = await RequestWithCookiesAsync(searchUrl);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var parser = new HtmlParser();
|
||||
var dom = parser.ParseDocument(response.ContentString);
|
||||
var rows = dom.QuerySelectorAll("table.testtable> tbody > tr:has(td.tableb)");
|
||||
|
||||
foreach (var row in rows)
|
||||
{
|
||||
|
||||
var qDetailsLink = row.QuerySelector("a[href^=\"details.php?id=\"]");
|
||||
var title = qDetailsLink.TextContent;
|
||||
if (!query.MatchQueryStringAND(title))
|
||||
continue;
|
||||
|
||||
var qCatLink = row.QuerySelector("a[href^=\"browse.php?cat=\"]");
|
||||
var qSeeders = row.QuerySelector("td > table.testtable2 > tbody > tr > td:nth-of-type(2) > strong:nth-of-type(1)");
|
||||
var qLeechers = row.QuerySelector("td > table.testtable2 > tbody > tr > td:nth-of-type(2) > strong:nth-of-type(2)");
|
||||
var qDateStr = row.QuerySelector("td > table.testtable2 > tbody > tr > td:nth-of-type(5)");
|
||||
var qSize = row.QuerySelector("td > table.testtable2 > tbody > tr > td:nth-of-type(1) > strong:nth-of-type(1)");
|
||||
var qDownloadLink = row.QuerySelector("a[href*=\"download\"]");
|
||||
|
||||
var catStr = qCatLink.GetAttribute("href").Split('=')[1];
|
||||
|
||||
var dlLink = qDownloadLink.GetAttribute("href");
|
||||
if (dlLink.Contains("javascript")) // depending on the user agent the DL link is a javascript call
|
||||
{
|
||||
var dlLinkParts = dlLink.Split(new[] { '\'', ',' });
|
||||
dlLink = SiteLink + "download/" + dlLinkParts[3] + "/" + dlLinkParts[5];
|
||||
}
|
||||
var link = new Uri(dlLink);
|
||||
var seeders = ParseUtil.CoerceInt(qSeeders.Text());
|
||||
var dateStr = qDateStr.TextContent.Replace('\xA0', ' ');
|
||||
var dateGerman = DateTime.SpecifyKind(DateTime.ParseExact(dateStr, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture), DateTimeKind.Unspecified);
|
||||
var pubDateUtc = TimeZoneInfo.ConvertTimeToUtc(dateGerman, germanyTz);
|
||||
var files = ParseUtil.CoerceInt(row.QuerySelector("td:contains(Datei) > strong ~ strong").TextContent);
|
||||
var details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
|
||||
var leechers = ParseUtil.CoerceInt(qLeechers.Text());
|
||||
var size = ReleaseInfo.GetBytes(qSize.TextContent.Replace(".", "").Replace(",", "."));
|
||||
var downloadVolumeFactor = row.QuerySelector("img[title=\"OnlyUpload\"]") != null ? 0 : 1;
|
||||
var release = new ReleaseInfo
|
||||
{
|
||||
MinimumRatio = 0.75,
|
||||
MinimumSeedTime = 0,
|
||||
Title = title,
|
||||
Category = MapTrackerCatToNewznab(catStr),
|
||||
Link = link,
|
||||
Details = details,
|
||||
Guid = link,
|
||||
Size = size,
|
||||
Seeders = seeders,
|
||||
Peers = leechers + seeders,
|
||||
PublishDate = pubDateUtc,
|
||||
Files = files,
|
||||
DownloadVolumeFactor = downloadVolumeFactor,
|
||||
UploadVolumeFactor = 1
|
||||
};
|
||||
releases.Add(release);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnParseError(response.ContentString, ex);
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,50 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Jackett.Common.Indexers.Abstract;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils.Clients;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Common.Indexers
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
public class PsyTorrents : GazelleTracker
|
||||
{
|
||||
public PsyTorrents(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
ICacheService cs)
|
||||
: base(id: "psytorrents",
|
||||
name: "Psytorrents",
|
||||
description: "Psytorrents (PSY) is a Private Torrent Tracker for ELECTRONIC MUSIC",
|
||||
link: "https://psytorrents.info/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q
|
||||
},
|
||||
MusicSearchParams = new List<MusicSearchParam>
|
||||
{
|
||||
MusicSearchParam.Q
|
||||
}
|
||||
},
|
||||
configService: configService,
|
||||
client: wc,
|
||||
logger: l,
|
||||
p: ps,
|
||||
cs: cs,
|
||||
supportsFreeleechTokens: true)
|
||||
{
|
||||
Language = "en-us";
|
||||
Type = "private";
|
||||
|
||||
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "B52C043ABDE7AFB2231E162B1DD468758AEEE307");
|
||||
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "AAA3E062739F3733FE659BA4A89E55E4EB48063B");
|
||||
|
||||
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
|
||||
AddCategoryMapping(2, TorznabCatType.Movies, "Movies");
|
||||
AddCategoryMapping(3, TorznabCatType.PC0day, "App");
|
||||
}
|
||||
}
|
||||
}
|
@@ -22,7 +22,6 @@ namespace Jackett.Common.Indexers
|
||||
private string SearchUrl => SiteLink + "t.json";
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://tday.love/",
|
||||
"https://torrentday.cool/",
|
||||
"https://secure.torrentday.com/",
|
||||
"https://classic.torrentday.com/",
|
||||
@@ -41,7 +40,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://td-update.com/", // redirect to https://www.torrentday.com/
|
||||
"https://www.torrentday.me/",
|
||||
"https://www.torrentday.ru/",
|
||||
"https://www.td.af/"
|
||||
"https://www.td.af/",
|
||||
"https://tday.love/"
|
||||
};
|
||||
|
||||
private new ConfigurationDataCookie configData => (ConfigurationDataCookie)base.configData;
|
||||
@@ -51,7 +51,7 @@ namespace Jackett.Common.Indexers
|
||||
: base(id: "torrentday",
|
||||
name: "TorrentDay",
|
||||
description: "TorrentDay (TD) is a Private site for TV / MOVIES / GENERAL",
|
||||
link: "https://tday.love/",
|
||||
link: "https://torrentday.cool/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
|
@@ -22,7 +22,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://yts.mx/",
|
||||
"https://yts.unblockit.dev/",
|
||||
"https://yts.unblockit.ltd/",
|
||||
"https://yts.unblockninja.com/"
|
||||
};
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://yts.ag/",
|
||||
"https://yts.am/",
|
||||
"https://yts.lt/",
|
||||
"https://yts.unblockit.dev/",
|
||||
"https://yts.root.yt/"
|
||||
};
|
||||
|
||||
|
@@ -255,6 +255,7 @@ namespace Jackett.Updater
|
||||
"CurlSharp.dll",
|
||||
"CurlSharp.pdb",
|
||||
"Definitions/32pages.yml",
|
||||
"Definitions/3evils.yml",
|
||||
"Definitions/420files.yml",
|
||||
"Definitions/academictorrents.yml",
|
||||
"Definitions/alein.yml",
|
||||
@@ -358,6 +359,7 @@ namespace Jackett.Updater
|
||||
"Definitions/nostalgic.yml", // renamed to vhstapes
|
||||
"Definitions/nyaa.yml",
|
||||
"Definitions/nyoo.yml",
|
||||
"Definitions/onlyscene.yml",
|
||||
"Definitions/passionetorrent.yml",
|
||||
"Definitions/polishtracker.yml",
|
||||
"Definitions/pt99.yml",
|
||||
|
Reference in New Issue
Block a user