mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-09 21:24:42 +02:00
Compare commits
75 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3e68e45c14 | ||
![]() |
b90bf95fdd | ||
![]() |
12d952d0f5 | ||
![]() |
409407f38b | ||
![]() |
cc9c89241b | ||
![]() |
9271095b61 | ||
![]() |
31847f6e81 | ||
![]() |
cd2b96cfb0 | ||
![]() |
ddfe681685 | ||
![]() |
a128b517d5 | ||
![]() |
bc82ecfebe | ||
![]() |
75d6b08713 | ||
![]() |
063f9ab3b1 | ||
![]() |
61c03e82d9 | ||
![]() |
bbe6a9ed41 | ||
![]() |
835dc2cb15 | ||
![]() |
7b78cacc9d | ||
![]() |
5537a53d30 | ||
![]() |
95384a92ee | ||
![]() |
197b66ea64 | ||
![]() |
f8024be5cf | ||
![]() |
9d0e2adcca | ||
![]() |
6084287e4c | ||
![]() |
76d3eaa4ec | ||
![]() |
90bde6d62f | ||
![]() |
a7cfedbe82 | ||
![]() |
6d5c486011 | ||
![]() |
d24704a6c0 | ||
![]() |
86da01df19 | ||
![]() |
6fa840a70a | ||
![]() |
baa19b3067 | ||
![]() |
a4555501e2 | ||
![]() |
b347bed4f1 | ||
![]() |
248a3d2fb8 | ||
![]() |
25a8b26403 | ||
![]() |
a3ebd0e2ac | ||
![]() |
9cf2cb5ced | ||
![]() |
06d8682583 | ||
![]() |
e784e38355 | ||
![]() |
be939745a6 | ||
![]() |
7d58649c40 | ||
![]() |
d057bcfeeb | ||
![]() |
ff2683c911 | ||
![]() |
07c1d9d61d | ||
![]() |
e7f8b5af3c | ||
![]() |
f9db68ca8b | ||
![]() |
038ec05a64 | ||
![]() |
c705778ec3 | ||
![]() |
07c1efa686 | ||
![]() |
88b51d9895 | ||
![]() |
dc3a1d5626 | ||
![]() |
283f95429c | ||
![]() |
65af1dfead | ||
![]() |
17fef0064d | ||
![]() |
6ac3faa395 | ||
![]() |
d791a5c358 | ||
![]() |
bbf5b7b56e | ||
![]() |
5499e4714a | ||
![]() |
f141e6fad6 | ||
![]() |
d24ebe7781 | ||
![]() |
8139f3ba1f | ||
![]() |
03931906da | ||
![]() |
ebf1e302b3 | ||
![]() |
73d6068cb3 | ||
![]() |
abbbb34c6c | ||
![]() |
b2a8221ab1 | ||
![]() |
46e99d1d50 | ||
![]() |
94b20baabd | ||
![]() |
5b76d876a1 | ||
![]() |
8362bf5767 | ||
![]() |
a9a7cc4752 | ||
![]() |
6a5b6e8a30 | ||
![]() |
2079192f0b | ||
![]() |
885b92137e | ||
![]() |
24de1f95cc |
17
README.md
17
README.md
@@ -275,13 +275,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Bitpalace
|
||||
* BitPorn
|
||||
* Bitspyder
|
||||
* BitStream
|
||||
* BitTorrentFiles
|
||||
* BiTTuRK
|
||||
* BJ-Share (BJ) [![(invite needed)][inviteneeded]](#)
|
||||
* BlueBird
|
||||
* BlurayTracker
|
||||
* Blutopia (BLU)
|
||||
* Borgzelle [![(invite needed)][inviteneeded]](#)
|
||||
* Boxing Torrents
|
||||
* Brasil Tracker
|
||||
@@ -295,7 +293,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CapybaraBR
|
||||
* Carp-Hunter
|
||||
* Carpathians
|
||||
* CarPT
|
||||
* CarPT [![(invite needed)][inviteneeded]](#)
|
||||
* Cathode-Ray.Tube (CRT)
|
||||
* CD File
|
||||
* CeskeForum
|
||||
@@ -321,7 +319,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Das Unerwartete (D-U)
|
||||
* DataScene (DS)
|
||||
* DenOfSimps (DoS)
|
||||
* DesiTorrents
|
||||
* DesiTorrents [![(invite needed)][inviteneeded]](#)
|
||||
* Diablo Torrent
|
||||
* DICMusic [![(invite needed)][inviteneeded]](#)
|
||||
* DigitalCore
|
||||
@@ -358,7 +356,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Gay-Torrents.org
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn)
|
||||
* Generation-Free
|
||||
* Generation-Free [![(invite needed)][inviteneeded]](#)
|
||||
* GigaTorrents
|
||||
* GimmePeers (formerly ILT)
|
||||
* GiroTorrent
|
||||
@@ -375,13 +373,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HD-Olimpo [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Only (HDO)
|
||||
* HD-Space (HDS)
|
||||
* HD-Torrents (HDT) [![(invite needed)][inviteneeded]](#)
|
||||
* HD-Torrents (HDT)
|
||||
* HD-UNiT3D
|
||||
* HD4FANS [![(invite needed)][inviteneeded]](#)
|
||||
* HDArea (HDA)
|
||||
* HDAtmos
|
||||
* HDBits [![(invite needed)][inviteneeded]](#)
|
||||
* HDCiTY (HDC) [![(invite needed)][inviteneeded]](#)
|
||||
* HDClone
|
||||
* HDFans
|
||||
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
|
||||
* HDKylin (麒麟)
|
||||
@@ -434,6 +433,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* LearnBits
|
||||
* LearnFlakes
|
||||
* Leech24
|
||||
* LemonHD [![(invite needed)][inviteneeded]](#)
|
||||
* Lesbians4u
|
||||
* Libble
|
||||
* LibraNet (LN)
|
||||
@@ -521,6 +521,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Resurrect The Net [![(invite needed)][inviteneeded]](#)
|
||||
* RetroFlix
|
||||
* RevolutionTT [![(invite needed)][inviteneeded]](#)
|
||||
* RocketHD
|
||||
* Romanian Metal Torrents (RMT)
|
||||
* RoTorrent
|
||||
* Rousi
|
||||
@@ -601,7 +602,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TranceTraffic
|
||||
* Trellas (Magico) [![(invite needed)][inviteneeded]](#)
|
||||
* TreZzoR
|
||||
* TurkNova
|
||||
* TurkSeed
|
||||
* TurkTorrent (TT)
|
||||
* TV Chaos UK (TVCUK)
|
||||
@@ -624,10 +624,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Wukong (悟空问道)
|
||||
* x-ite.me (XM)
|
||||
* Xider-Torrent
|
||||
* XperienceBytes (XPB)
|
||||
* XSpeeds (XS)
|
||||
* Xthor [![(invite needed)][inviteneeded]](#)
|
||||
* xTorrenty
|
||||
* xTorrenty [![(invite needed)][inviteneeded]](#)
|
||||
* XtremeBytes
|
||||
* XWT-Classics
|
||||
* XWTorrents (XWT)
|
||||
|
@@ -47,6 +47,8 @@ login:
|
||||
vb_login_password: "{{ .Config.password }}"
|
||||
cookieuser: 1
|
||||
do: login
|
||||
error:
|
||||
- selector: div.restore:contains("invalid username or password")
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href*="logout.php"]
|
||||
|
@@ -152,7 +152,7 @@ search:
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " -01:00" # EGT
|
||||
args: " +00:00" # UTC
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
@@ -188,4 +188,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 8.3.2 (custom)
|
||||
# json UNIT3D 8.3.3
|
||||
|
@@ -106,6 +106,8 @@ login:
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: :root:contains("Sikertelen bejelentkezés")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?c="]
|
||||
|
@@ -1,191 +0,0 @@
|
||||
---
|
||||
id: blutopia-api
|
||||
name: Blutopia (API)
|
||||
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://blutopia.cc/
|
||||
legacylinks:
|
||||
- https://blutopia.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 2, cat: TV, desc: "TV Show"}
|
||||
- {id: 3, cat: Movies/Other, desc: "FANRES"}
|
||||
- {id: 5, cat: Movies/Other, desc: "Trailer"}
|
||||
|
||||
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://blutopia.cc/\" target=\"_blank\">Blutopia</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: single_file_release_use_filename
|
||||
type: checkbox
|
||||
label: Use filename as title for single file releases
|
||||
default: true
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Your membership requires that you stay active at Blutopia. To not get disabled, you are required to login to the site at least once every 30 days or be actively seeding at least 1 torrent."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.3
|
@@ -72,6 +72,8 @@ login:
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table.main:contains("Sikertelen bejelentkezés")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php"]
|
||||
|
@@ -148,7 +148,7 @@ search:
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -158,7 +158,7 @@ search:
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -168,17 +168,17 @@ search:
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
optional: true
|
||||
default: 1
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
optional: true
|
||||
default: 1
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
optional: true
|
||||
default: 1
|
||||
downloadvolumefactor:
|
||||
@@ -204,7 +204,7 @@ search:
|
||||
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
|
||||
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
filters:
|
||||
- name: prepend
|
||||
|
@@ -62,6 +62,8 @@ login:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: table.main:contains("Login failed")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php"]
|
||||
|
@@ -100,6 +100,8 @@ login:
|
||||
login: 1
|
||||
belepes: 1
|
||||
rhash: 123
|
||||
error:
|
||||
- selector: :root:contains("{\"hiba\":true,")
|
||||
test:
|
||||
path: browse
|
||||
selector: a[href*="logout"]
|
||||
|
@@ -114,6 +114,16 @@ login:
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table:has(a[href*="login.php?error=1"])
|
||||
message:
|
||||
text: "ERROR: Incorrect username!"
|
||||
- selector: table:has(a[href*="login.php?error=4"])
|
||||
message:
|
||||
text: "ERROR: Incorrect password!"
|
||||
- selector: table:has(a[href*="login.php?error="])
|
||||
message:
|
||||
text: "ERROR: Something went wrong during login!"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php"]
|
||||
|
@@ -111,6 +111,8 @@ login:
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.panel:has(h3:contains("Login failed"))
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href$="/logout.php"]
|
||||
|
201
src/Jackett.Common/Definitions/hdclone.yml
Normal file
201
src/Jackett.Common/Definitions/hdclone.yml
Normal file
@@ -0,0 +1,201 @@
|
||||
---
|
||||
id: hdclone
|
||||
name: HDClone
|
||||
description: "HDClone is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pt.hdclone.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫、动画"}
|
||||
- {id: 408, cat: Audio/Video, desc: "Playlet/短剧"}
|
||||
- {id: 410, cat: Audio/Video, desc: "MV/演唱会"}
|
||||
- {id: 406, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 407, cat: Other, desc: "Others/其他(慎选)"}
|
||||
|
||||
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: 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 HDClone Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 80 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 60 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 10 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
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 }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
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: 1
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.11 2024-03-27
|
@@ -188,4 +188,4 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# as a pay site there is no MR or MST
|
||||
# json UNIT3D 8.3.1 (custom)
|
||||
# json UNIT3D 8.3.3 (custom)
|
||||
|
@@ -200,4 +200,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.2 (custom)
|
||||
# json UNIT3D 8.3.3 (custom)
|
||||
|
173
src/Jackett.Common/Definitions/lemonhd.yml
Normal file
173
src/Jackett.Common/Definitions/lemonhd.yml
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
id: lemonhd
|
||||
name: LemonHD
|
||||
description: "LemonHD is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://lemonhd.club/
|
||||
legacylinks:
|
||||
- https://leaguehd.com/
|
||||
- https://lemonhd.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 411, cat: Audio, desc: "Music/无损音乐"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐MV"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/剧集"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 410, cat: Movies/3D, desc: "Movies 3D"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
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
|
||||
- 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 }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href$="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 justdead
|
||||
incldead: 0
|
||||
# promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdb, 5 douban
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}5{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href*="details.php?id="] > b[title]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, img
|
||||
# NexusPHP Standard v1.5 Beta 4
|
@@ -23,9 +23,19 @@ settings:
|
||||
type: info_flaresolverr
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href$=".torrent"]
|
||||
before:
|
||||
pathselector:
|
||||
selector: a[href^="/download?"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/download?", "/download/?"]
|
||||
selectors:
|
||||
- selector: script:contains("downloadLink")
|
||||
usebeforeresponse: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "downloadLink = '(.+?)';"
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
@@ -5,8 +5,15 @@ description: "Magnet Cat is a Public Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# current domain finder https://魔法猫咪.lol/ or https://哆啦a猫.com/
|
||||
links:
|
||||
- https://magnetcatcat.com/
|
||||
- https://clmclm.com/
|
||||
- https://www.clm446.buzz/
|
||||
- https://www.clm447.buzz/
|
||||
- https://www.clm448.buzz/
|
||||
- https://www.clm449.buzz/
|
||||
- https://www.clm450.buzz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -76,14 +83,14 @@ search:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
date:
|
||||
selector: div.sbar > span:contains("Date added:") > b
|
||||
selector: div.sbar > span:contains("Date added:") > b, div.sbar > span:contains("添加时间:") > b
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd zzz"
|
||||
size:
|
||||
selector: div.sbar > span:contains("Size:") > b
|
||||
selector: div.sbar > span:contains("Size:") > b, div.sbar > span:contains("大小:") > b
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
|
@@ -5,6 +5,8 @@ description: "MyPornClub is a Public Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 21debda35c67d63e823d122df5824a3f8465759a # expired 2 Nov 2024
|
||||
links:
|
||||
- https://myporn.club/
|
||||
|
||||
|
@@ -187,4 +187,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.3.2
|
||||
# json UNIT3D 8.3.3
|
||||
|
@@ -74,7 +74,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Note your account will be DISABLED for the reason below:<ol><li>NOT log in your account in 30 days in a row. Except! VIP and VVIP users.</li><li>Park account or NO new download or other activity on the site in 152 days. Except! VIP and VVIP users.</li></ol>"
|
||||
default: "Note your account will be DISABLED for the reason below:<ol><li>NOT log in your account in 365 days in a row. Except! VIP and VVIP users.</li><li>Park account or NO new download or other activity on the site in 365 days. Except! VIP and VVIP users.</li></ol>"
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
|
@@ -184,4 +184,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.3.2
|
||||
# json UNIT3D 8.3.3
|
||||
|
@@ -1,12 +1,12 @@
|
||||
---
|
||||
id: bitstream-api
|
||||
name: BitStream (API)
|
||||
description: "BitStream is a SPANISH Private tracker for H.265 MOVIES / TV"
|
||||
language: es-ES
|
||||
id: rockethd
|
||||
name: RocketHD (API)
|
||||
description: "RocketHD is a GERMAN Private Torrent Tracker for MOVIES / TV"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitstream.click/
|
||||
- https://r0k3t.li/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -25,7 +25,7 @@ settings:
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://bitstream.click/\" target=\"_blank\">BitStream</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://r0k3t.li/\" target=\"_blank\">RocketHD</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -50,10 +50,6 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Not logging in for a month will result in the account being deactivated or banned. If an account does not register downloads in a month, it will be banned for users with the User rank. Other ranks will be given a timeframe determined by staff."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -108,7 +104,7 @@ search:
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }} Spanish"
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
@@ -129,6 +125,8 @@ search:
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
@@ -175,6 +173,6 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumseedtime:
|
||||
# 15 days (as seconds = 15 x 24 x 60 x 60)
|
||||
text: 1296000
|
||||
# json UNIT3D 8.2.0
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.3.3
|
@@ -9,24 +9,8 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://30october.rudub.online/
|
||||
- https://16november.rudub.online/
|
||||
legacylinks:
|
||||
- https://rudub.online/
|
||||
- https://01october.rudub.online/
|
||||
- https://02october.rudub.online/
|
||||
- https://03october.rudub.online/
|
||||
- https://04october.rudub.online/
|
||||
- https://05october.rudub.online/
|
||||
- https://06october.rudub.online/
|
||||
- https://07october.rudub.online/
|
||||
- https://08october.rudub.online/
|
||||
- https://09october.rudub.online/
|
||||
- https://10october.rudub.online/
|
||||
- https://11october.rudub.online/
|
||||
- https://12october.rudub.online/
|
||||
- https://13october.rudub.online/
|
||||
- https://14october.rudub.online/
|
||||
- https://15october.rudub.online/
|
||||
- https://16october.rudub.online/
|
||||
- https://17october.rudub.online/
|
||||
- https://18october.rudub.online/
|
||||
@@ -41,6 +25,23 @@ legacylinks:
|
||||
- https://27october.rudub.online/
|
||||
- https://28october.rudub.online/
|
||||
- https://29october.rudub.online/
|
||||
- https://30october.rudub.online/
|
||||
- https://31october.rudub.online/
|
||||
- https://01november.rudub.online/
|
||||
- https://02november.rudub.online/
|
||||
- https://03november.rudub.online/
|
||||
- https://04november.rudub.online/
|
||||
- https://05november.rudub.online/
|
||||
- https://06november.rudub.online/
|
||||
- https://07november.rudub.online/
|
||||
- https://08november.rudub.online/
|
||||
- https://09november.rudub.online/
|
||||
- https://10november.rudub.online/
|
||||
- https://11november.rudub.online/
|
||||
- https://12november.rudub.online/
|
||||
- https://13november.rudub.online/
|
||||
- https://14november.rudub.online/
|
||||
- https://15november.rudub.online/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -216,6 +216,9 @@ search:
|
||||
- name: re_replace # S01E02 to сезон 1 сери 2
|
||||
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "сезон $1 сери $2"]
|
||||
|
||||
error:
|
||||
- selector: td.lista:contains("Поиск временно не работает")
|
||||
|
||||
rows:
|
||||
selector: table.lista tbody tr:has(a[href^="/torrent/"])
|
||||
|
||||
|
@@ -7,6 +7,7 @@ type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://superbits.org/
|
||||
- https://superbits.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -151,7 +152,7 @@ search:
|
||||
selector: added
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # CEST
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
|
@@ -205,7 +205,7 @@ search:
|
||||
attribute: data-src
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -215,7 +215,7 @@ search:
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -225,13 +225,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:nth-child(5)
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
description:
|
||||
case:
|
||||
span[title="Autorisé"]: "Verified"
|
||||
|
@@ -119,6 +119,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and read any mandatory notices that the site presents. You cannot browse torrents with unread notices outstanding."
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
|
@@ -126,6 +126,11 @@ login:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download_ssl.php?torrent="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
@@ -155,7 +160,7 @@ search:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download_ssl.php?torrent="]
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
|
@@ -9,7 +9,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.protege-torrent.com/Torrent9
|
||||
links:
|
||||
- https://www.torrent9.ing/
|
||||
- https://www.torrent9.run/
|
||||
legacylinks:
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
@@ -21,7 +21,6 @@ legacylinks:
|
||||
- https://www.torrent.onl/
|
||||
- https://torrent9.news/
|
||||
# actual legacylinks
|
||||
- https://www.torrent9.mn/
|
||||
- https://www.torrent9.city/
|
||||
- https://www.torrent9.gy/
|
||||
- https://www.torrent9.sbs/
|
||||
@@ -37,6 +36,7 @@ legacylinks:
|
||||
- https://www.torrent9.gl/
|
||||
- https://www.torrent9.cyou/
|
||||
- https://www.torrent9.gd/
|
||||
- https://www.torrent9.ing/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -103,6 +103,7 @@ login:
|
||||
search:
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
Referer: ["{{ .Config.sitelink }}index.php?initK&all"]
|
||||
|
||||
paths:
|
||||
- path: ajgettorrents.php
|
||||
|
@@ -7,12 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq339.com/
|
||||
- https://torrentegg31.com/
|
||||
- https://torrentqq342.com/
|
||||
- https://torrentegg34.com/
|
||||
legacylinks:
|
||||
- https://torrentqq324.com/
|
||||
- https://torrentqq325.com/
|
||||
- https://torrentqq326.com/
|
||||
- https://torrentqq327.com/
|
||||
- https://torrentqq328.com/
|
||||
- https://torrentqq329.com/
|
||||
@@ -28,6 +25,12 @@ legacylinks:
|
||||
- https://torrentegg29.com/
|
||||
- https://torrentqq338.com/
|
||||
- https://torrentegg30.com/
|
||||
- https://torrentqq339.com/
|
||||
- https://torrentegg31.com/
|
||||
- https://torrentqq340.com/
|
||||
- https://torrentegg32.com/
|
||||
- https://torrentegg33.com/
|
||||
- https://torrentqq341.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,12 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir156.com/
|
||||
- https://torrentsir158.com/
|
||||
legacylinks:
|
||||
- http://torrentsir147.com/
|
||||
- https://torrentsir147.com/
|
||||
- http://torrentsir148.com/
|
||||
- https://torrentsir148.com/
|
||||
- http://torrentsir149.com/
|
||||
- https://torrentsir149.com/
|
||||
- http://torrentsir150.com/
|
||||
@@ -28,6 +24,10 @@ legacylinks:
|
||||
- http://torrentsir155.com/
|
||||
- https://torrentsir155.com/
|
||||
- http://torrentsir156.com/
|
||||
- https://torrentsir156.com/
|
||||
- http://torrentsir157.com/
|
||||
- https://torrentsir157.com/
|
||||
- http://torrentsir158.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -6,7 +6,7 @@ language: ru-RU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- abea2b6915578cf69e6270980e75b518abb5af73 # expired 4th August 2024
|
||||
- 314a854715f68440d92c14d2414065410785cf26 # expired 9th November 2024
|
||||
links:
|
||||
- https://torrents-local.xyz/
|
||||
|
||||
|
@@ -1,196 +0,0 @@
|
||||
---
|
||||
id: turknova
|
||||
name: TurkNova
|
||||
description: "TurkNova is a TURKISH Private Torrent Tracker for MOVIES / TV / GENERAL. This Indexer is for English only."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://turknova.org/
|
||||
legacylinks:
|
||||
- https://www.turknova.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 64, cat: Movies/UHD, desc: "4K - UHD"}
|
||||
- {id: 40, cat: Movies/HD, desc: "1080p - 720p - BDRip - mRip"}
|
||||
- {id: 71, cat: Movies/HD, desc: "H265 - HECV"}
|
||||
- {id: 39, cat: Movies, desc: "BOXSET"}
|
||||
- {id: 43, cat: Movies/HD, desc: "NETFLIX"}
|
||||
- {id: 84, cat: TV, desc: "DISNEY+"}
|
||||
- {id: 85, cat: TV, desc: "AMZN PRIME"}
|
||||
- {id: 92, cat: TV, desc: "DISCOVERY+"}
|
||||
- {id: 88, cat: TV, desc: "BLUTV"}
|
||||
- {id: 74, cat: TV, desc: "EXXEN"}
|
||||
- {id: 77, cat: TV, desc: "GAIN"}
|
||||
- {id: 87, cat: TV, desc: "TOD"}
|
||||
- {id: 91, cat: TV, desc: "TABII"}
|
||||
- {id: 94, cat: TV, desc: "MUBI"}
|
||||
- {id: 59, cat: Movies/WEB-DL, desc: "WEB-DL / WEBRip"}
|
||||
- {id: 34, cat: TV/Documentary, desc: "Belgesel"}
|
||||
- {id: 60, cat: TV/Foreign, desc: "Yabancı Dizi"}
|
||||
- {id: 72, cat: TV/Anime, desc: "Animasyon"}
|
||||
- {id: 48, cat: TV/HD, desc: "HDTV - Rip"}
|
||||
- {id: 55, cat: TV, desc: "Türk Filmi"}
|
||||
- {id: 95, cat: Other, desc: "Yeşilçam"}
|
||||
- {id: 46, cat: Other, desc: "Eğitim"}
|
||||
- {id: 53, cat: Other, desc: "Resim"}
|
||||
- {id: 50, cat: Audio, desc: "Müzik"}
|
||||
- {id: 52, cat: PC, desc: "Program"}
|
||||
- {id: 62, cat: PC, desc: "İşletim Sistemi"}
|
||||
|
||||
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: Filter freeleech only
|
||||
default: false
|
||||
- name: info_layout
|
||||
type: info
|
||||
label: Layout
|
||||
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b><li>And set the <b>Language (Dil)</b> to <b>English</b><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</ol>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are getting the error: <b>An error has occurred!You can't view this page unless you read all your unread messages</b>, then access the site with your browser and <b>mark as read</b> all PMs."
|
||||
|
||||
login:
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#sls_form
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: login
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: 1
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "stKey: \"(.+?)\","
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: ?p=home&pid=1
|
||||
selector: a#logout
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%25"]
|
||||
inputs:
|
||||
p: torrents
|
||||
pid: 32
|
||||
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
|
||||
keywords: "{{ .Keywords }}"
|
||||
# name, description, both, uploader
|
||||
search_type: name
|
||||
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||
error:
|
||||
- selector: div.error:not(:contains("Hiçbir sonuç bulunamadı.")):not(:contains("There are no results found."))
|
||||
# does not support imdbid search and does not return imdb link in results.
|
||||
|
||||
rows:
|
||||
selector: "table#torrents_table_classic > tbody > tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[title=\"FREE!\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: div.category_image > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cid
|
||||
title:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
details:
|
||||
# href="https://turknova.org/?p=torrents&pid=10&action=details&tid=40737"
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
attribute: href
|
||||
download:
|
||||
# from details page href="https://turknova.org/?p=torrents&pid=10&action=download&tid=40774"
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details", "download"]
|
||||
poster:
|
||||
selector: a[rel="fancybox"]
|
||||
attribute: href
|
||||
date_day:
|
||||
optional: true
|
||||
# Uploaded Friday at 05:11 by
|
||||
# Uploaded Today at 00:48 by
|
||||
# Uploaded Yesterday at 23:57 by
|
||||
selector: td.torrent_name:contains(" at ")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: replace
|
||||
args: [" at ", " "]
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at "))
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
selector: a[rel="torrent_seeders"]
|
||||
leechers:
|
||||
selector: a[rel="torrent_leechers"]
|
||||
grabs:
|
||||
selector: a[rel="times_completed"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[title=\"FREE!\"]": 0
|
||||
"img[title=\"Download Multiplier: 0.5\"]": 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"img[title=\"Upload Multiplier: 2\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# TSUE 2.2
|
@@ -29,7 +29,9 @@ caps:
|
||||
- {id: 38, cat: Audio, desc: "Christmas Audio"}
|
||||
- {id: 39, cat: Movies, desc: "Christmas Movie"}
|
||||
- {id: 40, cat: TV, desc: "Christmas TV"}
|
||||
- {id: 29, cat: Console, desc: "Games / All"}
|
||||
- {id: 29, cat: Console, desc: "Games"}
|
||||
- {id: 42, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 43, cat: Console/Wii, desc: "Games Wii"}
|
||||
- {id: 28, cat: Audio, desc: "Karaoke"}
|
||||
- {id: 7, cat: Movies/HD, desc: "Movie 1080p"}
|
||||
- {id: 6, cat: Movies/UHD, desc: "Movie 4K"}
|
||||
|
@@ -1,152 +0,0 @@
|
||||
---
|
||||
id: xperiencebytes-api
|
||||
name: XperienceBytes (API)
|
||||
description: "XperienceBytes (XPB) is a BRAZILIAN Private site for ANIME"
|
||||
language: pt-BR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://xperiencebytes.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 6, cat: Movies, desc: "Tipo Filme"}
|
||||
- {id: 7, cat: TV, desc: "Tipo Série"}
|
||||
|
||||
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://xperiencebytes.me/\" target=\"_blank\">XPB</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
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "After 3 months without any log in or usage of your account, it will be pruned and can only be reactivated by a staff member. Make sure to keep your account active and do not use programs to keep your account active, as your account may still get pruned."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: category
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
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
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# json UNIT3D 6.0.0
|
@@ -28,10 +28,10 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Name => "DonTorrent";
|
||||
public override string Description => "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL";
|
||||
// in the event the redirect is inactive https://t.me/s/dontorrent should have the latest working domain
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.equipment/";
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.gallery/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.equipment/",
|
||||
"https://dontorrent.gallery/",
|
||||
"https://todotorrents.org/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/",
|
||||
@@ -40,8 +40,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.fyi/",
|
||||
"https://dontorrent.sbs/",
|
||||
"https://dontorrent.cc/",
|
||||
"https://dontorrent.esq/",
|
||||
"https://dontorrent.city/",
|
||||
@@ -55,6 +53,8 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://dontorrent.exposed/",
|
||||
"https://dontorrent.faith/",
|
||||
"https://dontorrent.gratis/",
|
||||
"https://dontorrent.equipment/",
|
||||
"https://dontorrent.fashion/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
@@ -35,7 +35,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
public override TorznabCapabilities TorznabCaps => SetCapabilities();
|
||||
|
||||
const string RSS_PATH = "feed/?type=magnet";
|
||||
const string RSS_PATH = "feed/?type=magnet&token=";
|
||||
|
||||
public EraiRaws(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
|
||||
IProtectionService ps, ICacheService cs)
|
||||
@@ -91,7 +91,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
private bool IsTitleDetailParsingEnabled => ((BoolConfigurationItem)configData.GetDynamic("title-detail-parsing")).Value;
|
||||
private bool IsSubsEnabled => ((BoolConfigurationItem)configData.GetDynamic("include-subs")).Value;
|
||||
|
||||
public string RssFeedUri => SiteLink + RSS_PATH + "&" + RSSKey;
|
||||
public string RssFeedUri => SiteLink + RSS_PATH + RSSKey;
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
{
|
||||
@@ -122,7 +122,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
var result = await RequestWithCookiesAndRetryAsync(RssFeedUri);
|
||||
if (result.IsRedirect)
|
||||
result = await FollowIfRedirect(result);
|
||||
if (result.ContentString.Contains("403 Forbidden"))
|
||||
if (result.ContentString.Contains("<status>403</status>"))
|
||||
{
|
||||
logger.Error("[EraiRaws] 403 Forbidden");
|
||||
throw new Exception("The RSSkey may need to be replaced as EraiRaws returned 403 Forbidden.");
|
||||
@@ -265,6 +265,10 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
var description = rssItem.SelectSingleNode("description")?.InnerText;
|
||||
var quality = rssItem.SelectSingleNode("erai:resolution", nsm)?.InnerText;
|
||||
var subs = rssItem.SelectSingleNode("erai:subtitles", nsm)?.InnerText;
|
||||
if (string.IsNullOrEmpty(subs))
|
||||
{
|
||||
subs = "[]";
|
||||
}
|
||||
|
||||
item = new RssFeedItem
|
||||
{
|
||||
|
@@ -187,7 +187,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
Seeders = row.Seeders,
|
||||
Peers = row.Seeders + row.Leechers,
|
||||
Imdb = imdbId,
|
||||
PublishDate = DateTime.Parse(row.UploadDate + " +0300", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
|
||||
PublishDate = DateTime.Parse(row.UploadDate + " +0200", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
|
||||
DownloadVolumeFactor = isFreeleech ? 0 : 1,
|
||||
UploadVolumeFactor = row.DoubleUp ? 2 : 1,
|
||||
MinimumRatio = 1,
|
||||
|
@@ -62,6 +62,8 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
configData: new ConfigurationDataBasicLogin("For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile."))
|
||||
{
|
||||
configData.AddDynamic("freeleech", new BoolConfigurationItem("Search freeleech only") { Value = false });
|
||||
configData.AddDynamic("flaresolverr", new DisplayInfoConfigurationItem("FlareSolverr", "This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href=\"https://github.com/Jackett/Jackett#configuring-flaresolverr\" target=\"_blank\">FlareSolverr</a> to access it."));
|
||||
configData.AddDynamic("accountinactivity", new DisplayInfoConfigurationItem("Account Inactivity", "If you do not log in for 50 days, your account will be disabled for inactivity. If you are VIP you won't be disabled until the VIP period is over."));
|
||||
}
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
@@ -111,6 +113,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
// XXX
|
||||
caps.Categories.AddCategoryMapping("58", TorznabCatType.XXX, "XXX/Blu-ray");
|
||||
caps.Categories.AddCategoryMapping("78", TorznabCatType.XXX, "XXX/Remux");
|
||||
caps.Categories.AddCategoryMapping("74", TorznabCatType.XXX, "XXX/UHD/Blu-ray");
|
||||
caps.Categories.AddCategoryMapping("48", TorznabCatType.XXX, "XXX/1080p/i");
|
||||
caps.Categories.AddCategoryMapping("47", TorznabCatType.XXX, "XXX/720p");
|
||||
|
@@ -291,6 +291,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
if (query.IsImdbQuery)
|
||||
{
|
||||
searchQuery.Add($"+({query.ImdbID})");
|
||||
|
||||
// search in description
|
||||
qc.Set("qf", "all");
|
||||
}
|
||||
else if (query.IsGenreQuery)
|
||||
{
|
||||
|
@@ -27,11 +27,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "mejortorrent";
|
||||
public override string Name => "MejorTorrent";
|
||||
public override string Description => "MejorTorrent - Hay veces que un torrent viene mejor! :)";
|
||||
public override string SiteLink { get; protected set; } = "https://www22.mejortorrent.zip/";
|
||||
public override string SiteLink { get; protected set; } = "https://www24.mejortorrent.zip/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www7.mejortorrent.rip/",
|
||||
"https://www8.mejortorrent.rip/",
|
||||
"https://www9.mejortorrent.rip/",
|
||||
"https://www10.mejortorrent.rip/",
|
||||
"https://www11.mejortorrent.rip/",
|
||||
@@ -45,6 +43,8 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://www19.mejortorrent.zip/",
|
||||
"https://www20.mejortorrent.zip/",
|
||||
"https://www21.mejortorrent.zip/",
|
||||
"https://www22.mejortorrent.zip/",
|
||||
"https://www23.mejortorrent.zip/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
@@ -12,7 +12,7 @@ namespace Jackett.Common.Models.IndexerConfig.Bespoke
|
||||
: base("You have to check 'Enable RSS Feed' in 'My Account', without this configuration the torrent download does not work.<br/>You can find the PID in 'My profile'.")
|
||||
{
|
||||
Freeleech = new BoolConfigurationItem("Search freeleech only") { Value = false };
|
||||
AccountActivity = new DisplayInfoConfigurationItem("Account Inactivity", "To avoid account deletion you must login at least 1 time every 90 days, and you must download at least 1 torrent every 6 months. Simply keeping torrents seeding long term will not protect your account. Do not rely on inactivity emails, admins often do not send them.");
|
||||
AccountActivity = new DisplayInfoConfigurationItem("Account Inactivity", "To avoid account deletion you must login at least 1 time every 60 days, and you must download at least 1 torrent every 90 days. Simply keeping torrents seeding long term will not protect your account. Do not rely on inactivity emails, we often do not send them.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -309,10 +309,12 @@ namespace Jackett.Updater
|
||||
"Definitions/bitnova.yml",
|
||||
"Definitions/bitofvalor.yml",
|
||||
"Definitions/bitsexy.yml",
|
||||
"Definitions/bitstream.yml",
|
||||
"Definitions/bittorrentam.yml",
|
||||
"Definitions/blubits.yml",
|
||||
"Definitions/bluesbrothers.yml",
|
||||
"Definitions/blutopia.yml", // switch to *-API #8682
|
||||
"Definitions/blutopia-api.yml",
|
||||
"Definitions/bolly-api.yml",
|
||||
"Definitions/brasiltracker.yml", // migrated to C#
|
||||
"Definitions/breizhpeers.yml",
|
||||
@@ -497,7 +499,6 @@ namespace Jackett.Updater
|
||||
"Definitions/legacyhd.yml", // renamed to realflix
|
||||
"Definitions/legittorrents.yml",
|
||||
"Definitions/lemencili.yml",
|
||||
"Definitions/lemonhd.yml",
|
||||
"Definitions/leparadisdunet.yml",
|
||||
"Definitions/les-cinephiles.yml",
|
||||
"Definitions/leporno.yml",
|
||||
@@ -601,7 +602,6 @@ namespace Jackett.Updater
|
||||
"Definitions/rgu.yml",
|
||||
"Definitions/rmhd.yml",
|
||||
"Definitions/rns.yml", // site merged with audiobooktorrents
|
||||
"Definitions/rockethd.yml",
|
||||
"Definitions/rockhardlossless.yml",
|
||||
"Definitions/rodvd.yml",
|
||||
"Definitions/rofd.yml",
|
||||
@@ -719,6 +719,7 @@ namespace Jackett.Updater
|
||||
"Definitions/tspate.yml",
|
||||
"Definitions/ttobogo.yml",
|
||||
"Definitions/ttsweb.yml",
|
||||
"Definitions/turknova.yml",
|
||||
"Definitions/turkseed.yml",
|
||||
"Definitions/turktracker.yml",
|
||||
"Definitions/tvroad.yml",
|
||||
@@ -751,6 +752,7 @@ namespace Jackett.Updater
|
||||
"Definitions/xbytes2.yml",
|
||||
"Definitions/xfsub.yml",
|
||||
"Definitions/xktorrent.yml",
|
||||
"Definitions/xperiencebytes-api.yml",
|
||||
"Definitions/xtremefile.yml",
|
||||
"Definitions/xtremezone.yml", // migrated to C# XtremeZone base tracker
|
||||
"Definitions/xxxtorrents.yml",
|
||||
|
Reference in New Issue
Block a user