mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-24 23:04:33 +01:00
Compare commits
42 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0965317bb3 | ||
|
|
7d1ad64d17 | ||
|
|
59a5df1f11 | ||
|
|
7638d325bc | ||
|
|
893656bc08 | ||
|
|
c8810f219d | ||
|
|
7ba47e257d | ||
|
|
4a243724a4 | ||
|
|
4d3e5880c4 | ||
|
|
c570b43167 | ||
|
|
4c35952a75 | ||
|
|
b7c77f7a07 | ||
|
|
bbc2128de2 | ||
|
|
dd7aad9912 | ||
|
|
9703f20edc | ||
|
|
2c011a1014 | ||
|
|
f90a7eab4d | ||
|
|
a569ce0499 | ||
|
|
8b7ca78525 | ||
|
|
5498ff2690 | ||
|
|
906d1374a4 | ||
|
|
8ea70695b3 | ||
|
|
b272dc1df8 | ||
|
|
7cc234498b | ||
|
|
4dd29e72ff | ||
|
|
a25adf8829 | ||
|
|
39e080ded3 | ||
|
|
f218144b5f | ||
|
|
2da2923356 | ||
|
|
5ae6f96f7e | ||
|
|
b4ab5172bb | ||
|
|
ac27e1d7aa | ||
|
|
51b310b16f | ||
|
|
d63b02eb87 | ||
|
|
b42d73a48f | ||
|
|
07dc412bbe | ||
|
|
b6ceab2c86 | ||
|
|
8716293647 | ||
|
|
bc3c088235 | ||
|
|
da4749874f | ||
|
|
2387f4824f | ||
|
|
a8c1cc6bd0 |
@@ -418,6 +418,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* LearnFlakes
|
||||
* Leech24
|
||||
* LemonHD [![(invite needed)][inviteneeded]](#)
|
||||
* LemonHD.net
|
||||
* Lesbians4u
|
||||
* LetSeed
|
||||
* Libble
|
||||
|
||||
@@ -124,6 +124,20 @@ search:
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
# does not support imdbid search or provide imdb link in results
|
||||
keywordsfilters:
|
||||
# Keep SxxEyy format for tv-search (Sonarr/Radarr). ArabP2P search does not reliably match
|
||||
# when we convert to the Arabic bracket format unless the Arabic title is also present.
|
||||
- name: re_replace # normalize "1x09" => "S1E09" (then pad below)
|
||||
args: ["(?i)\\b(\\d{1,2})x(\\d{1,3})\\b", "S$1E$2"]
|
||||
- name: re_replace # normalize "S01 E09" => "S01E09"
|
||||
args: ["(?i)\\bS(\\d{1,2})\\s+E(\\d{1,3})\\b", "S$1E$2"]
|
||||
- name: re_replace # pad season: S1E09 => S01E09
|
||||
args: ["(?i)\\bS(\\d)(?=E)", "S0$1"]
|
||||
- name: re_replace # pad episode: S01E9 => S01E09
|
||||
args: ["(?i)E(\\d)\\b", "E0$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s{2,}", " "]
|
||||
- name: trim
|
||||
|
||||
rows:
|
||||
selector: table#torrents_list_p > tbody > tr:has(a[href^="download.php?id="]), table#torrents_list_p > tbody > tr:has(a[href^="magnet:?xt="])
|
||||
@@ -139,6 +153,28 @@ search:
|
||||
args: category
|
||||
title:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?<=\\d)\\s+(?=\\d)", " "]
|
||||
- name: re_replace
|
||||
args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[(\\d{4})\\]\\s*\\[م(\\d+)\\]", "S$3E$1 [$2]"]
|
||||
- name: re_replace
|
||||
args: ["\\[(\\d+(?:[\\s-]+\\d+)*)\\]\\s*\\[م(\\d+)\\]", "S$2E$1"]
|
||||
- name: re_replace
|
||||
args: ["^\\[(\\d+(?:[\\s-]+\\d+)*)\\](?!\\s*\\[م)", "S01E$1"]
|
||||
- name: re_replace
|
||||
args: ["E(\\d+)[\\s-]+(\\d+)", "E$1-E$2"]
|
||||
- name: re_replace
|
||||
args: ["\\[\\s*\\]", ""]
|
||||
- name: re_replace
|
||||
args: ["(?<=\\S)(\\[)", " $1"]
|
||||
- name: re_replace
|
||||
args: ["S(\\d)(?=E)", "S0$1"]
|
||||
- name: re_replace
|
||||
args: ["E(\\d)(?=\\D)", "E0$1"]
|
||||
- name: re_replace
|
||||
args: ["\\s{2,}", " "]
|
||||
- name: trim
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
|
||||
@@ -5,8 +5,6 @@ description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GEN
|
||||
language: bg-BG
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- c25aba843f815e92d0da0bbe3191326d16a81a32 # expired 15th Oct 2025
|
||||
links:
|
||||
- https://arenabg.com/
|
||||
legacylinks:
|
||||
|
||||
@@ -191,4 +191,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 48 hours (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
# json UNIT3D 9.2.0 (custom)
|
||||
|
||||
@@ -109,24 +109,27 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
selector: a[href*="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href*="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
selector: a[title][href*="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
|
||||
@@ -5,8 +5,6 @@ description: "ExtremeBits is a Private Torrent Tracker for EXTREME SPORTS"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 0e7f0e9c468938a43058d72c69ffdb9a98e24eab # Expired 26th Nov 2025
|
||||
links:
|
||||
- https://extremebits.net/
|
||||
|
||||
|
||||
@@ -49,19 +49,11 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Free Farm Web Site. Otherwise just leave it empty."
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -94,24 +86,10 @@ settings:
|
||||
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if parked (at User CP).</li><li>Parked accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
method: cookie
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
@@ -6,8 +6,6 @@ language: es-ES
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
certificates:
|
||||
- 4a2229e8450d4cd573b4c6b2354c6e86fb038295 # Expired 29 June 2025
|
||||
links:
|
||||
- https://www.frozen-layer.com/
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 15, cat: XXX, desc: "AI"}
|
||||
- {id: 11, cat: XXX, desc: "Asian"}
|
||||
- {id: 6, cat: XXX, desc: "Fansite"}
|
||||
- {id: 13, cat: XXX, desc: "Games"}
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 15, cat: XXX, desc: "AI"}
|
||||
- {id: 11, cat: XXX, desc: "Asian"}
|
||||
- {id: 6, cat: XXX, desc: "Fansite"}
|
||||
- {id: 13, cat: XXX, desc: "Games"}
|
||||
|
||||
@@ -12,34 +12,23 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 506, cat: Movies/BluRay, desc: "Movies 8K UHD BD"}
|
||||
- {id: 499, cat: Movies/BluRay, desc: "Movies UHD Blu-ray"}
|
||||
- {id: 518, cat: Movies/UHD, desc: "Movies UHD REMUX"}
|
||||
- {id: 450, cat: Movies/BluRay, desc: "Movies Bluray"}
|
||||
- {id: 415, cat: Movies/HD, desc: "Movies REMUX"}
|
||||
- {id: 505, cat: Movies/UHD, desc: "Movies 8K/4320p"}
|
||||
- {id: 416, cat: Movies/UHD, desc: "Movies 2160p"}
|
||||
- {id: 414, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 413, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 411, cat: Movies/SD, desc: "Movies SD"}
|
||||
- {id: 412, cat: Movies/SD, desc: "Movies IPad"}
|
||||
- {id: 413, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 414, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 415, cat: Movies/HD, desc: "Movies REMUX"}
|
||||
- {id: 450, cat: Movies/BluRay, desc: "Movies Bluray"}
|
||||
- {id: 499, cat: Movies/BluRay, desc: "Movies UHD Blu-ray"}
|
||||
- {id: 416, cat: Movies/UHD, desc: "Movies 2160p"}
|
||||
- {id: 417, cat: TV/Documentary, desc: "Doc SD"}
|
||||
- {id: 418, cat: TV/Documentary, desc: "Doc IPad"}
|
||||
- {id: 419, cat: TV/Documentary, desc: "Doc 720p"}
|
||||
- {id: 420, cat: TV/Documentary, desc: "Doc 1080p"}
|
||||
- {id: 421, cat: TV/Documentary, desc: "Doc REMUX"}
|
||||
- {id: 523, cat: TV/UHD, desc: "TVSeries 8KUHD"}
|
||||
- {id: 502, cat: TV/UHD, desc: "TVSeries 4K Bluray"}
|
||||
- {id: 451, cat: TV/Documentary, desc: "Doc Bluray"}
|
||||
- {id: 500, cat: TV/Documentary, desc: "Doc UHD Blu-ray"}
|
||||
- {id: 422, cat: TV/Documentary, desc: "Doc 2160p"}
|
||||
- {id: 423, cat: TV/HD, desc: "TVMusic 720p"}
|
||||
- {id: 424, cat: TV/HD, desc: "TVMusic 1080i"}
|
||||
- {id: 425, cat: TV/SD, desc: "TVShow SD"}
|
||||
- {id: 426, cat: TV/SD, desc: "TVShow IPad"}
|
||||
- {id: 471, cat: TV/SD, desc: "TVShow IPad"}
|
||||
- {id: 427, cat: TV/HD, desc: "TVShow 720p"}
|
||||
- {id: 428, cat: TV/HD, desc: "TVShow 1080i"}
|
||||
- {id: 429, cat: TV/HD, desc: "TVShow 1080p"}
|
||||
- {id: 430, cat: TV/HD, desc: "TVShow REMUX"}
|
||||
- {id: 452, cat: TV/HD, desc: "TVShows Bluray"}
|
||||
- {id: 421, cat: TV/Documentary, desc: "Doc REMUX"}
|
||||
- {id: 526, cat: TV/UHD, desc: "TVSeries 4320p"}
|
||||
- {id: 431, cat: TV/HD, desc: "TVShow 2160p"}
|
||||
- {id: 432, cat: TV/SD, desc: "TVSeries SD"}
|
||||
- {id: 433, cat: TV/SD, desc: "TVSeries IPad"}
|
||||
- {id: 434, cat: TV/HD, desc: "TVSeries 720p"}
|
||||
- {id: 435, cat: TV/HD, desc: "TVSeries 1080i"}
|
||||
@@ -47,11 +36,13 @@ caps:
|
||||
- {id: 437, cat: TV/HD, desc: "TVSeries REMUX"}
|
||||
- {id: 453, cat: TV/HD, desc: "TVSereis Bluray"}
|
||||
- {id: 438, cat: TV/UHD, desc: "TVSeries 2160p"}
|
||||
- {id: 502, cat: TV/UHD, desc: "TVSeries 4K Bluray"}
|
||||
- {id: 439, cat: Audio/Other, desc: "Musics APE"}
|
||||
- {id: 432, cat: TV/SD, desc: "TVSeries SD"}
|
||||
- {id: 440, cat: Audio/Lossless, desc: "Musics FLAC"}
|
||||
- {id: 441, cat: Audio/Video, desc: "Musics MV"}
|
||||
- {id: 503, cat: Audio/Video, desc: "Musics Bluray"}
|
||||
- {id: 442, cat: TV/Sport, desc: "Sports 720p"}
|
||||
- {id: 510, cat: TV/Anime, desc: "Anime 8K UHD BD"}
|
||||
- {id: 443, cat: TV/Sport, desc: "Sports 1080i"}
|
||||
- {id: 444, cat: TV/Anime, desc: "Anime SD"}
|
||||
- {id: 445, cat: TV/Anime, desc: "Anime IPad"}
|
||||
@@ -59,9 +50,31 @@ caps:
|
||||
- {id: 447, cat: TV/Anime, desc: "Anime 1080p"}
|
||||
- {id: 448, cat: TV/Anime, desc: "Anime REMUX"}
|
||||
- {id: 454, cat: TV/Anime, desc: "Anime Bluray"}
|
||||
- {id: 531, cat: TV/Anime, desc: "Anime UHD REMUX"}
|
||||
- {id: 409, cat: Other, desc: "Misc"}
|
||||
- {id: 449, cat: TV/Anime, desc: "Anime 2160p"}
|
||||
- {id: 509, cat: TV/Anime, desc: "Anime 8K/4320p"}
|
||||
- {id: 501, cat: TV/Anime, desc: "Anime UHD Blu-ray"}
|
||||
- {id: 504, cat: TV/Sport, desc: "Sports 2160p"}
|
||||
- {id: 511, cat: TV/Sport, desc: "Sport 8K/4320p"}
|
||||
- {id: 508, cat: TV/Documentary, desc: "Doc 8K UHD BD"}
|
||||
- {id: 529, cat: TV/Documentary, desc: "Doc 8K UHD BD REMUX"}
|
||||
- {id: 500, cat: TV/Documentary, desc: "Doc UHD Blu-ray"}
|
||||
- {id: 507, cat: TV/Documentary, desc: "Doc 8K/4320p"}
|
||||
- {id: 422, cat: TV/Documentary, desc: "Doc 2160p"}
|
||||
- {id: 420, cat: TV/Documentary, desc: "Doc 1080p"}
|
||||
- {id: 419, cat: TV/Documentary, desc: "Doc 720p"}
|
||||
- {id: 417, cat: TV/Documentary, desc: "Doc SD"}
|
||||
- {id: 418, cat: TV/Documentary, desc: "Doc IPad"}
|
||||
- {id: 424, cat: TV/HD, desc: "TVMusic 1080i"}
|
||||
- {id: 423, cat: TV/HD, desc: "TVMusic 720p"}
|
||||
- {id: 452, cat: TV/HD, desc: "TVShows Bluray"}
|
||||
- {id: 430, cat: TV/HD, desc: "TVShow REMUX"}
|
||||
- {id: 429, cat: TV/HD, desc: "TVShow 1080p"}
|
||||
- {id: 428, cat: TV/HD, desc: "TVShow 1080i"}
|
||||
- {id: 427, cat: TV/HD, desc: "TVShow 720p"}
|
||||
- {id: 425, cat: TV/SD, desc: "TVShow SD"}
|
||||
- {id: 426, cat: TV/SD, desc: "TVShow IPad"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -83,6 +96,22 @@ settings:
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
# using cookie method due to #6460
|
||||
@@ -99,30 +128,40 @@ search:
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
incldead: 1
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
selector: a[href*="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: table.torrentname td a[href*="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href*="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
selector: a[title][href*="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
|
||||
@@ -87,6 +87,7 @@ caps:
|
||||
- {id: MoviesHighresMovies, cat: Movies/HD, desc: "Movies Highres"}
|
||||
- {id: MoviesMP4, cat: Movies/HD, desc: "Movies MP4"}
|
||||
- {id: MoviesMusicvideos, cat: Audio/Video, desc: "Movies Music videos"}
|
||||
- {id: MoviesMovieclips, cat: Other, desc: "Movies Movie clips"}
|
||||
- {id: MoviesOtherMovies, cat: Movies/Other, desc: "Movies Other"}
|
||||
- {id: MoviesUltraHD, cat: Movies/UHD, desc: "Movies UltraHD"}
|
||||
- {id: Music, cat: Audio, desc: Music}
|
||||
|
||||
@@ -16,8 +16,8 @@ caps:
|
||||
- {id: 80, cat: Audio, desc: "DMC: DMC"}
|
||||
- {id: 49, cat: Audio/MP3, desc: "KZN MP3 Weekly: Ex-Vip"}
|
||||
- {id: 76, cat: Audio, desc: "KZN-Exclusive: Exclusive "}
|
||||
- {id: 77, cat: Audio, desc: "KZN: Out Of VIP"}
|
||||
- {id: 98, cat: Audio/MP3, desc: "Other Mp3 Weeky: Mp3"}
|
||||
- {id: 77, cat: Audio, desc: "KZN: Out Of VIP"}
|
||||
- {id: 99, cat: Audio/MP3, desc: "KZ Internal: KZ Internal"}
|
||||
- {id: 74, cat: Audio, desc: "Discography: Collection"}
|
||||
- {id: 82, cat: Audio/Lossless, desc: "Flac: Flac-Flac Packs"}
|
||||
@@ -29,16 +29,17 @@ caps:
|
||||
- {id: 24, cat: Audio, desc: "Karaoke: All Karaoke"}
|
||||
- {id: 47, cat: Movies/BluRay, desc: "Movies: Bluray-HD"}
|
||||
- {id: 52, cat: Movies, desc: "Pre 90s Movies: Pre90s"}
|
||||
- {id: 28, cat: Movies, desc: "Movies: 2025"}
|
||||
- {id: 25, cat: Movies/WEB-DL, desc: "Movies: Web-DL"}
|
||||
- {id: 28, cat: Movies, desc: "Movies: 2026"}
|
||||
- {id: 102, cat: Movies/HD, desc: "Movies MP4: Movie MP4"}
|
||||
- {id: 25, cat: Movies/WEB-DL, desc: "Movies: Web-DL"}
|
||||
- {id: 105, cat: Movies, desc: "Pre 2000 MP4 Movies: Pre 2000 Mp4"}
|
||||
- {id: 48, cat: Movies/SD, desc: "Movies: Xvid-Dvd-Webrip"}
|
||||
- {id: 23, cat: Movies/Other, desc: "Movie: Kids-Anime-Family"}
|
||||
- {id: 41, cat: Movies/3D, desc: "Remux-3D: Remux-3D"}
|
||||
- {id: 86, cat: Movies/HD, desc: "1440P QHD: 1440P QHD"}
|
||||
- {id: 9, cat: Movies/DVD, desc: "Movies: Ntsc Dvdr-ISO"}
|
||||
- {id: 22, cat: Movies/Foreign, desc: "Movies: Foreign"}
|
||||
- {id: 27, cat: Movies/UHD, desc: "Movies: 4K"}
|
||||
- {id: 22, cat: Movies/Foreign, desc: "Movies: Foreign"}
|
||||
- {id: 53, cat: Movies, desc: "Movie Packs: Movie Pks"}
|
||||
- {id: 54, cat: Movies, desc: "Movie Pack: Pre-90s"}
|
||||
- {id: 6, cat: Movies/Other, desc: "Kids Movie Pk: Movie Pks"}
|
||||
|
||||
183
src/Jackett.Common/Definitions/lemonhd-net.yml
Normal file
183
src/Jackett.Common/Definitions/lemonhd-net.yml
Normal file
@@ -0,0 +1,183 @@
|
||||
---
|
||||
id: lemonhd-net
|
||||
name: LemonHD.net
|
||||
description: "LemonHD.net is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://lemonhd.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies"}
|
||||
- {id: 402, cat: Audio, desc: "Misc"}
|
||||
- {id: 403, cat: TV/Anime, desc: "Animations"}
|
||||
- {id: 404, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 405, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 406, cat: TV, desc: "TV Series"}
|
||||
- {id: 407, cat: TV, desc: "TV Shows"}
|
||||
- {id: 408, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 409, cat: Other, desc: "Other"}
|
||||
|
||||
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.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if parked (at User CP).</li><li>Parked accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
|
||||
|
||||
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
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
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.0
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
@@ -5,8 +5,6 @@ description: "LetSeed is a TURKISH Private Torrent Tracker for MOVIES / TV / GEN
|
||||
language: tr-TR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 5a61cc89a0417dcfe03ef685f7423b6b0bd4dc6b # expired 28 Aug 2025
|
||||
links:
|
||||
- https://letseed.org/
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://ww1-nortorrent.town/
|
||||
- https://www.nortorrent8.com/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
@@ -26,8 +26,6 @@ legacylinks:
|
||||
- https://www.site-torrent.com/
|
||||
- https://www.rantop.my/
|
||||
# actual legacylinks
|
||||
- https://www.torrent9.men/
|
||||
- https://www.torrent9.icu/
|
||||
- https://www-torrent9.com/
|
||||
- https://www.nortorrent.com/
|
||||
- https://www.nortorrent1.com/
|
||||
@@ -41,6 +39,8 @@ legacylinks:
|
||||
- https://nortorrent-proxy.site/
|
||||
- https://ww1-nortorrent.me/
|
||||
- https://www.nortorrent.rent/
|
||||
- https://ww1-nortorrent.town/
|
||||
- https://www.nortorrent7.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
211
src/Jackett.Common/Definitions/parabellumhd-api.yml
Normal file
211
src/Jackett.Common/Definitions/parabellumhd-api.yml
Normal file
@@ -0,0 +1,211 @@
|
||||
---
|
||||
id: parabellumhd-api
|
||||
name: ParabellumHD (API)
|
||||
description: "ParabellumHD is a SPANISH Private Torrent Tracker for HEVC & AV1-encoded MOVIES / TV"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://parabellumhd.cx/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 2, cat: TV, desc: "Series"}
|
||||
- {id: 7, cat: Movies/Other, desc: "Películas Animación"}
|
||||
- {id: 8, cat: TV/Other, desc: "Series Animación"}
|
||||
- {id: 9, cat: Movies/Other, desc: "Películas Anime"}
|
||||
- {id: 10, cat: TV/Anime, desc: "Series Anime"}
|
||||
- {id: 6, cat: Other, desc: "Varios"}
|
||||
- {id: 11, cat: Movies/UHD, desc: "Películas 4K"}
|
||||
|
||||
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://parabellumhd.cx/\" target=\"_blank\">ParabellumHD</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
|
||||
|
||||
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://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- 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
|
||||
_resolution:
|
||||
selector: resolution
|
||||
_type:
|
||||
selector: type
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Encode", "BluRay"]
|
||||
- name: replace
|
||||
args: ["Full Disc", "BR-DISK"]
|
||||
title_optional:
|
||||
selector: name
|
||||
filters:
|
||||
- name: append
|
||||
args: " {{ .Result._resolution }} {{ .Result._type }}"
|
||||
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 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bTemporada (\\d+)\\b", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bEpisodio (\\d+)\\b", "E$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(\\d+)x(\\d+)", "S$1E$2"]
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
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: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .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 1.0 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.2.0 (custom)
|
||||
@@ -167,8 +167,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -243,4 +241,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 9.1.5 (custom)
|
||||
# json UNIT3D 9.2.0 (custom)
|
||||
|
||||
@@ -91,33 +91,33 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
selector: a[href*="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: table.torrentname td a[href^="details.php?id="]
|
||||
selector: table.torrentname td a[href*="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
selector: a[title][href*="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img.tooltip
|
||||
attribute: src
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["pic/imdb_pic/nophoto.gif", ""]
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(5) > span[title]
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -127,7 +127,7 @@ search:
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(5):not(:has(span))
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -137,13 +137,13 @@ search:
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(9)
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -158,4 +158,4 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
# NexusPHP custom 22082802
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
@@ -115,8 +115,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -186,4 +184,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.5
|
||||
# json UNIT3D 9.2.0
|
||||
|
||||
@@ -10,22 +10,8 @@ encoding: windows-1251
|
||||
followredirect: true
|
||||
# alternate TLDs are: buzz, homes, mom, online, shop, top and xyz
|
||||
links:
|
||||
- https://dec17.rudub.bet/
|
||||
- https://dec24.rudub.bet/
|
||||
legacylinks:
|
||||
- http://dec03.rudub.world/
|
||||
- https://dec03.rudub.world/
|
||||
- http://dec04.rudub.world/
|
||||
- https://dec04.rudub.world/
|
||||
- http://dec05.rudub.world/
|
||||
- https://dec05.rudub.world/
|
||||
- http://dec06.rudub.world/
|
||||
- https://dec06.rudub.world/
|
||||
- http://dec07.rudub.world/
|
||||
- https://dec07.rudub.world/
|
||||
- http://dec08.rudub.world/
|
||||
- https://dec08.rudub.world/
|
||||
- https://dec08.rudub.bet/
|
||||
- http://dec09.rudub.bet/
|
||||
- https://dec09.rudub.bet/
|
||||
- http://dec10.rudub.bet/
|
||||
- https://dec10.rudub.bet/
|
||||
@@ -42,6 +28,20 @@ legacylinks:
|
||||
- http://dec16.rudub.bet/
|
||||
- https://dec16.rudub.bet/
|
||||
- http://dec17.rudub.bet/
|
||||
- https://dec17.rudub.bet/
|
||||
- http://dec18.rudub.bet/
|
||||
- https://dec18.rudub.bet/
|
||||
- http://dec19.rudub.bet/
|
||||
- https://dec19.rudub.bet/
|
||||
- http://dec20.rudub.bet/
|
||||
- https://dec20.rudub.bet/
|
||||
- http://dec21.rudub.bet/
|
||||
- https://dec21.rudub.bet/
|
||||
- http://dec22.rudub.bet/
|
||||
- https://dec22.rudub.bet/
|
||||
- http://dec23.rudub.bet/
|
||||
- https://dec23.rudub.bet/
|
||||
- http://dec24.rudub.bet/
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
@@ -5,8 +5,6 @@ description: "The Geeks is a Private Torrent Tracker for Technology E-LEARNING"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- edf52a95960cbd7ca3c992e634cc087fa47df8c5 # Expired 23rd OCt 2025
|
||||
links:
|
||||
- https://thegeeks.click/
|
||||
|
||||
|
||||
@@ -5,8 +5,6 @@ description: "TheShow (TSBZ) is a Private Torrent Tracker for ENTERTAINMENT-INDU
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- e207e50c00d33374e13dd9da761a8baea4702b2d # Expired 23rd Oct 2025
|
||||
links:
|
||||
- https://theshow.click/
|
||||
legacylinks:
|
||||
|
||||
@@ -7,13 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq398.com/
|
||||
- https://torrentqq399.com/
|
||||
- https://torrentegg86.com/
|
||||
legacylinks:
|
||||
- https://torrentegg71.com/
|
||||
- https://torrentegg72.com/
|
||||
- https://torrentegg73.com/
|
||||
- https://torrentqq383.com/
|
||||
- https://torrentqq384.com/
|
||||
- https://torrentegg74.com/
|
||||
- https://torrentqq385.com/
|
||||
@@ -40,6 +39,7 @@ legacylinks:
|
||||
- https://torrentegg84.com/
|
||||
- https://torrentqq397.com/
|
||||
- https://torrentegg85.com/
|
||||
- https://torrentqq398.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,9 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrentsome225.com/
|
||||
- https://torrentsome226.com/
|
||||
legacylinks:
|
||||
- https://torrentsome210.com/
|
||||
- https://torrentsome211.com/
|
||||
- https://torrentsome212.com/
|
||||
- https://torrentsome213.com/
|
||||
@@ -26,6 +25,7 @@ legacylinks:
|
||||
- https://torrentsome222.com/
|
||||
- https://torrentsome223.com/
|
||||
- https://torrentsome224.com/
|
||||
- https://torrentsome225.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,9 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrenttip206.top/
|
||||
- https://torrenttip207.top/
|
||||
legacylinks:
|
||||
- https://torrenttip191.top/
|
||||
- https://torrenttip192.top/
|
||||
- https://torrenttip193.top/
|
||||
- https://torrenttip194.top/
|
||||
@@ -26,6 +25,7 @@ legacylinks:
|
||||
- https://torrenttip203.top/
|
||||
- https://torrenttip204.top/
|
||||
- https://torrenttip205.top/
|
||||
- https://torrenttip206.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -1,448 +0,0 @@
|
||||
---
|
||||
id: yggcookie
|
||||
name: YGG cookie
|
||||
description: "YggTorrent (YGG) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL. This indexer uses cookie login."
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
requestDelay: 4
|
||||
# status https://www.yggtorrent.org/engine/domains
|
||||
links:
|
||||
- https://www.yggtorrent.org/
|
||||
legacylinks:
|
||||
- https://www.yggtorrent.li/
|
||||
- https://www4.yggtorrent.li/
|
||||
- https://www3.yggtorrent.nz/
|
||||
- https://www3.yggtorrent.re/
|
||||
- https://www3.yggtorrent.la/
|
||||
- https://www5.yggtorrent.la/
|
||||
- https://www5.yggtorrent.fi/
|
||||
- https://yggtorrent.lol/
|
||||
- https://www6.yggtorrent.lol/
|
||||
- https://www3.yggtorrent.do/
|
||||
- https://www3.yggtorrent.wtf/
|
||||
- https://www3.yggtorrent.qa/
|
||||
- https://www3.yggtorrent.cool/
|
||||
- https://www.ygg.re/
|
||||
- https://www.yggtorrent.top/
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
categorymappings:
|
||||
- {id: 2145, cat: TV, desc: "Film/Vidéo"}
|
||||
- {id: 2178, cat: Movies/Other, desc: "Film/Vidéo : Animation"} # changed to movies, see #3553
|
||||
- {id: 2179, cat: TV/Anime, desc: "Film/Vidéo : Animation Série"}
|
||||
- {id: 2180, cat: Audio/Video, desc: "Film/Vidéo : Concert"}
|
||||
- {id: 2181, cat: TV/Documentary, desc: "Film/Vidéo : Documentaire"}
|
||||
- {id: 2182, cat: TV, desc: "Film/Vidéo : Emission TV"}
|
||||
- {id: 2183, cat: Movies, desc: "Film/Vidéo : Film"}
|
||||
- {id: 2184, cat: TV, desc: "Film/Vidéo : Série TV"}
|
||||
- {id: 2185, cat: TV, desc: "Film/Vidéo : Spectacle"}
|
||||
- {id: 2186, cat: TV/Sport, desc: "Film/Vidéo : Sport"}
|
||||
- {id: 2187, cat: TV/Other, desc: "Film/Vidéo : Vidéo-clips"}
|
||||
- {id: 2139, cat: Audio, desc: "Audio"}
|
||||
- {id: 2147, cat: Audio, desc: "Audio : Karaoké"}
|
||||
- {id: 2148, cat: Audio, desc: "Audio : Musique"}
|
||||
- {id: 2150, cat: Audio, desc: "Audio : Podcast Radio"}
|
||||
- {id: 2149, cat: Audio/Other, desc: "Audio : Samples"}
|
||||
- {id: 2144, cat: PC, desc: "Application"}
|
||||
- {id: 2177, cat: PC/0day, desc: "Application : Autre"}
|
||||
- {id: 2176, cat: PC, desc: "Application : Formation"}
|
||||
- {id: 2171, cat: PC/ISO, desc: "Application : Linux"}
|
||||
- {id: 2172, cat: PC/Mac, desc: "Application : MacOS"}
|
||||
- {id: 2174, cat: PC/Mobile-Android, desc: "Application : Smartphone"}
|
||||
- {id: 2175, cat: PC/Mobile-Android, desc: "Application : Tablette"}
|
||||
- {id: 2173, cat: PC/0day, desc: "Application : Windows"}
|
||||
- {id: 2142, cat: PC/Games, desc: "Jeu vidéo"}
|
||||
- {id: 2167, cat: Console/Other, desc: "Jeu vidéo : Autre"}
|
||||
- {id: 2159, cat: PC/Games, desc: "Jeu vidéo : Linux"}
|
||||
- {id: 2160, cat: PC/Games, desc: "Jeu vidéo : MacOS"}
|
||||
- {id: 2162, cat: Console/XBox One, desc: "Jeu vidéo : Microsoft"}
|
||||
- {id: 2163, cat: Console/Wii, desc: "Jeu vidéo : Nintendo"}
|
||||
- {id: 2165, cat: PC/Mobile-Android, desc: "Jeu vidéo : Smartphone"}
|
||||
- {id: 2164, cat: Console/PS4, desc: "Jeu vidéo : Sony"}
|
||||
- {id: 2166, cat: PC/Mobile-Android, desc: "Jeu vidéo : Tablette"}
|
||||
- {id: 2161, cat: PC/Games, desc: "Jeu vidéo : Windows"}
|
||||
- {id: 2140, cat: Books, desc: "eBook"}
|
||||
- {id: 2151, cat: Audio/Audiobook, desc: "eBook : Audio"}
|
||||
- {id: 2152, cat: Books/EBook, desc: "eBook : Bds"}
|
||||
- {id: 2153, cat: Books/Comics, desc: "eBook : Comics"}
|
||||
- {id: 2154, cat: Books/EBook, desc: "eBook : Livres"}
|
||||
- {id: 2155, cat: Books/Comics, desc: "eBook : Mangas"}
|
||||
- {id: 2156, cat: Books/Mags, desc: "eBook : Presse"}
|
||||
- {id: 2300, cat: Other, desc: "Nulled"}
|
||||
- {id: 2301, cat: Other, desc: "Nulled : Wordpress"}
|
||||
- {id: 2302, cat: Other, desc: "Nulled : Scripts PHP & CMS"}
|
||||
- {id: 2303, cat: Other, desc: "Nulled : Mobile"}
|
||||
- {id: 2304, cat: Other, desc: "Nulled : Divers"}
|
||||
- {id: 2200, cat: Other, desc: "Imprimante 3D"}
|
||||
- {id: 2201, cat: Other, desc: "Imprimante 3D : Objets"}
|
||||
- {id: 2202, cat: Other, desc: "Imprimante 3D : Personnages"}
|
||||
- {id: 2141, cat: Other, desc: "Emulation"}
|
||||
- {id: 2157, cat: Other, desc: "Emulation : Emulateurs"}
|
||||
- {id: 2158, cat: Other, desc: "Emulation : Roms"}
|
||||
- {id: 2143, cat: Other, desc: "GPS"}
|
||||
- {id: 2168, cat: Other, desc: "GPS : Applications"}
|
||||
- {id: 2169, cat: Other, desc: "GPS : Cartes"}
|
||||
- {id: 2170, cat: Other, desc: "GPS : Divers"}
|
||||
- {id: 2188, cat: XXX, desc: "XXX"}
|
||||
- {id: 2401, cat: XXX/Other, desc: "XXX : Ebooks"}
|
||||
- {id: 2189, cat: XXX, desc: "XXX : Films"}
|
||||
- {id: 2190, cat: XXX, desc: "XXX : Hentai"}
|
||||
- {id: 2191, cat: XXX/ImageSet, desc: "XXX : Images"}
|
||||
- {id: 2402, cat: XXX/Other, desc: "XXX : Jeux"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: useragent
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info_useragent
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTi by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
MULTi.FRENCH: MULTi.FRENCH
|
||||
ENGLISH: ENGLISH
|
||||
MULTi.ENGLISH: MULTi.ENGLISH
|
||||
VOSTFR: VOSTFR
|
||||
MULTi.VOSTFR: MULTi.VOSTFR
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||
default: false
|
||||
- name: filter_title
|
||||
type: checkbox
|
||||
label: Normalize release names by moving year after the title
|
||||
default: false
|
||||
- name: strip_season
|
||||
type: checkbox
|
||||
label: Strip season only (e.g. S01) from searches, as tracker does not support partial matches
|
||||
default: true
|
||||
- name: enhancedAnime
|
||||
type: checkbox
|
||||
label: Enhance Sonarr compatibility with anime by renaming episodes (xxx > Exxx). Can disturb movies search (e.g. Back To The Future 3 > Back To The Future E3).
|
||||
default: false
|
||||
- name: enhancedAnime4
|
||||
type: checkbox
|
||||
label: Extend the Sonarr compatibility with anime up to 4 digits. This WILL break all searches and result titles which contain years.
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: publish_date
|
||||
options:
|
||||
publish_date: created
|
||||
seed: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: categories
|
||||
type: info
|
||||
label: Categories
|
||||
default: To avoid unnecessary additional requests, it's recommended to only use indexer-specific categories (>=100000) when configuring this indexer in Sonarr, Radarr, and Lidarr, or when manually searching in TV, Movies, and Audio categories.
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
login:
|
||||
# using cookie method as an alternative when regular login for some users does not work
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/user/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# Tous
|
||||
- path: engine/search
|
||||
categories: ["!", 2145, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2139, 2147, 2148, 2150, 2149, 2144, 2177, 2176, 2171, 2172, 2174, 2175, 2173, 2142, 2167, 2159, 2160, 2162, 2163, 2165, 2164, 2166, 2161, 2140, 2151, 2152, 2153, 2154, 2155, 2156, 2300, 2301, 2302, 2303, 2304, 2200, 2201, 2202, 2141, 2157, 2158, 2143, 2168, 2169, 2170, 2188, 2401, 2189, 2190, 2191, 2402]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: all
|
||||
followredirect: true
|
||||
# Tous p2
|
||||
- path: engine/search
|
||||
categories: ["!", 2145, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2139, 2147, 2148, 2150, 2149, 2144, 2177, 2176, 2171, 2172, 2174, 2175, 2173, 2142, 2167, 2159, 2160, 2162, 2163, 2165, 2164, 2166, 2161, 2140, 2151, 2152, 2153, 2154, 2155, 2156, 2300, 2301, 2302, 2303, 2304, 2200, 2201, 2202, 2141, 2157, 2158, 2143, 2168, 2169, 2170, 2188, 2401, 2189, 2190, 2191, 2402]
|
||||
inputs:
|
||||
$raw: "{{ if .Keywords }}name={{ re_replace .Keywords \"(?i)S0?(\\d{1,2})\" \"Saison $1\" }}{{ else }}&page=50{{ end }}"
|
||||
category: all
|
||||
followredirect: true
|
||||
# Film/Vidéo p1
|
||||
- path: engine/search
|
||||
categories: [2145, 2180, 2181, 2182, 2184, 2185, 2186, 2187]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2145
|
||||
followredirect: true
|
||||
# Film/Vidéo (TV which use Saison) p2
|
||||
- path: engine/search
|
||||
categories: [2145, 2181, 2182, 2184]
|
||||
inputs:
|
||||
$raw: "{{ if .Keywords }}name={{ re_replace .Keywords \"(?i)S0?(\\d{1,2})\" \"Saison $1\" }}{{ else }}&page=50{{ end }}"
|
||||
category: 2145
|
||||
followredirect: true
|
||||
# Film/Vidéo (TV which don't use Saison) p2
|
||||
- path: engine/search
|
||||
categories: [2180, 2185, 2186, 2187]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
page: 50
|
||||
category: 2145
|
||||
followredirect: true
|
||||
# Film/Vidéo (TV/Anime) p1
|
||||
- path: engine/search
|
||||
categories: [2179]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2145
|
||||
sub_category: 2179
|
||||
followredirect: true
|
||||
# Film/Vidéo (TV/Anime) p2
|
||||
- path: engine/search
|
||||
categories: [2179]
|
||||
inputs:
|
||||
$raw: "{{ if .Keywords }}name={{ re_replace .Keywords \"(?i)S0?(\\d{1,2})\" \"Saison $1\" }}{{ else }}&page=50{{ end }}"
|
||||
category: 2145
|
||||
sub_category: 2179
|
||||
followredirect: true
|
||||
# Film/Vidéo (Movies/Other)
|
||||
- path: engine/search
|
||||
categories: [2178]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2145
|
||||
sub_category: 2178
|
||||
followredirect: true
|
||||
# Film/Vidéo (Movies)
|
||||
- path: engine/search
|
||||
categories: [2183]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2145
|
||||
sub_category: 2183
|
||||
followredirect: true
|
||||
# Audio p1
|
||||
- path: engine/search
|
||||
categories: [2139, 2147, 2148, 2150, 2149]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2139
|
||||
followredirect: true
|
||||
# Audio p2
|
||||
- path: engine/search
|
||||
categories: [2139, 2147, 2148, 2150, 2149]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
page: 50
|
||||
category: 2139
|
||||
followredirect: true
|
||||
# Application
|
||||
- path: engine/search
|
||||
categories: [2144, 2177, 2176, 2171, 2172, 2174, 2175, 2173]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2144
|
||||
followredirect: true
|
||||
# Jeu vidéo
|
||||
- path: engine/search
|
||||
categories: [2142, 2167, 2159, 2160, 2162, 2163, 2165, 2164, 2166, 2161]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2142
|
||||
followredirect: true
|
||||
# eBook p1
|
||||
- path: engine/search
|
||||
categories: [2140, 2151, 2152, 2153, 2154, 2155, 2156]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2140
|
||||
followredirect: true
|
||||
# eBook p2
|
||||
- path: engine/search
|
||||
categories: [2140, 2151, 2152, 2153, 2154, 2155, 2156]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
page: 50
|
||||
category: 2140
|
||||
followredirect: true
|
||||
# Nulled
|
||||
- path: engine/search
|
||||
categories: [2300, 2301, 2302, 2303, 2304]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2300
|
||||
followredirect: true
|
||||
# Imprimante 3D
|
||||
- path: engine/search
|
||||
categories: [2200, 2201, 2202]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2200
|
||||
followredirect: true
|
||||
# Emulation
|
||||
- path: engine/search
|
||||
categories: [2141, 2157, 2158]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2141
|
||||
followredirect: true
|
||||
# GPS
|
||||
- path: engine/search
|
||||
categories: [2143, 2168, 2169, 2170]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2143
|
||||
followredirect: true
|
||||
# XXX
|
||||
- path: engine/search
|
||||
categories: [2188, 2401, 2189, 2190, 2191, 2402]
|
||||
inputs:
|
||||
name: "{{ .Keywords }}"
|
||||
category: 2188
|
||||
followredirect: true
|
||||
inputs:
|
||||
do: search
|
||||
order: "{{ .Config.type }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace # 1234 > E1234
|
||||
args: ["\\b(\\d{4})\\b", "{{ if .Config.enhancedAnime4 }}E$1{{ else }}$1{{ end }}"]
|
||||
- name: re_replace # 123 > E123
|
||||
args: ["\\b(\\d{2,3})\\b", "{{ if .Config.enhancedAnime }}E$1{{ else }}$1{{ end }}"]
|
||||
# fix date search and workaround for internal YGG issues
|
||||
- name: re_replace
|
||||
args: ["[\\\\\\-\\.\\/!\\s]+", " "]
|
||||
# strip season as site does not support partial matches
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(S\\d{1,3})\\b", "{{ if .Config.strip_season }}{{ else }}$1{{ end }}"]
|
||||
- name: trim
|
||||
# put each word in quotations to prevent exact phrase search
|
||||
- name: re_replace
|
||||
args: ["([^\\s]+)", "\"$1\""]
|
||||
|
||||
rows:
|
||||
selector: table.table > tbody > tr
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: td:nth-child(2) > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/(\\d+)-"
|
||||
title_normal:
|
||||
selector: td:nth-child(2) > a
|
||||
filters:
|
||||
# Saison 1 Episode 2 > S01E02
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(Saisons?[\\s\\.]*)(\\d{4}(?:[\\s\\.\\-aà]+\\d{4})?)([\\s\\.]*[EÉ]pisodes?[\\s\\.]*)(\\d{1,3}(?:[\\s\\.\\-aà]+\\d{1,3})?)\\b", "{{ if .Config.enhancedAnime4 }}S$2E$4{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bSaisons?[\\s\\.]*(\\d{1,3}(?:[\\s\\.\\-aà]+\\d{1,3})?)[\\s\\.]*[EÉ]pisodes?[\\s\\.]*(\\d{1,3}(?:[\\s\\.\\-aà]+\\d{1,3})?)\\b", "S$1E$2"]
|
||||
# Saison 1 > S01
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(Saisons?[\\s\\.]*)(\\d{4}(?:[\\s\\.\\-aà]+\\d{4})?)\\b", "{{ if .Config.enhancedAnime4 }}S$2{{ else }}$1$2{{ end }}"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bSaisons?[\\s\\.]*(\\d{1,3}(?:[\\s\\.\\-aà]+\\d{1,3})?)\\b", "S$1"]
|
||||
# Episode 1 > E01
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b([EÉ]pisodes?[\\s\\.]*)(\\d{4}(?:[\\s\\.\\-aà]+\\d{4})?)\\b", "{{ if .Config.enhancedAnime4 }}S$2{{ else }}$1$2{{ end }}"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b[EÉ]pisodes?[\\s\\.]*(\\d{1,3}(?:[\\s\\.\\-aà]+\\d{1,3})?)\\b", "S$1"]
|
||||
# S1 à 2 > S1-2
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(S?\\d*[SE])(\\d{4})([\\s\\.\\-aà]+)(\\d{4})\\b", "{{ if .Config.enhancedAnime4 }}$1$2-$4{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(S?\\d*[SE])(\\d{1,3})[\\s\\.\\-aà]+(\\d{1,3})\\b", "$1$2-$3"]
|
||||
# Replace French date dd-mm-yyyy to yyyy.mm.dd
|
||||
- name: re_replace
|
||||
args: ["\\b(\\d{2})[\\-_\\.](\\d{2})[\\-_\\.](\\d{4})\\b", "$3.$2.$1"]
|
||||
title_filtered:
|
||||
text: "{{ .Result.title_normal }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)^(?:(.+?)((?:[\\.\\-\\s_\\[]+(?:imax|(?:dvd|bd|tv)(?:rip|scr)|bluray(?:\\-?rip)?|720\\s*p?|1080\\s*p?|vof?|vost(?:fr)?|multi|vf(?:f|q)?[1-3]?|(?:true)?french|eng?)[\\.\\-\\s_\\]]*)*)([\\(\\[]?(?:20|1[7-9])\\d{2}[\\)\\]]?)(.*)$|(.*))$", "$1 $3 $2 $4 $5"]
|
||||
- name: trim
|
||||
- name: re_replace
|
||||
args: ["(?i)(.\\b(mkv|avi|divx|xvid|mp4)\\b)$", ""]
|
||||
- name: re_replace
|
||||
args: ["(\\s+)", " "]
|
||||
- name: trim
|
||||
title_phase1:
|
||||
text: "{{ if .Config.filter_title }}{{ .Result.title_filtered }}{{ else }}{{ .Result.title_normal }}{{ end }}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
|
||||
title_phase2:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
|
||||
title:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\b(\\d{4})\\b", "{{ if .Config.enhancedAnime4 }}E$1{{ else }}$1{{ end }}"]
|
||||
- name: re_replace
|
||||
args: ["\\b(\\d{2,3})\\b", "{{ if .Config.enhancedAnime }}E$1{{ else }}$1{{ end }}"]
|
||||
details:
|
||||
selector: td:nth-child(2) > a
|
||||
attribute: href
|
||||
category:
|
||||
selector: td:nth-child(1) > div.hidden
|
||||
download:
|
||||
text: "/engine/download_torrent?id={{ .Result._id }}"
|
||||
date:
|
||||
# unix
|
||||
selector: td:nth-child(5) > div.hidden
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["o", "B"]
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: yggtorrent
|
||||
name: YggTorrent
|
||||
description: "YggTorrent (YGG) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
id: yggtorrent-turbo
|
||||
name: YggTorrent (Turbo)
|
||||
description: "YggTorrent (YGG) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL. This indexer is only for users with Turbo Mode access (Uploaders and donors)."
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -108,6 +108,10 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_turbo
|
||||
type: info
|
||||
label: Turbo Mode
|
||||
default: This indexer is only for users with Turbo Mode access (Uploaders and donors). This indexer does not bypass site requirements.
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
@@ -5,8 +5,6 @@ description: "Zelka (Zamunda) is a BULGARIAN Private Torrent Tracker for 0DAY /
|
||||
language: bg-BG
|
||||
type: private
|
||||
encoding: windows-1251
|
||||
certificates:
|
||||
- 996dbb1ef245699bdd5ea796b704c220c684b626 # Expired 29th Nov 2025
|
||||
links:
|
||||
- https://zelka.org/
|
||||
- https://zamunda.se/
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://ww1-zetorrents.town/
|
||||
- https://www.world-torrent.com/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.org/
|
||||
@@ -22,7 +22,6 @@ legacylinks:
|
||||
- https://www.site-torrent.com/
|
||||
- https://www.rantop.my/
|
||||
# actual legacylinks
|
||||
- https://www.zetorrents.tw/
|
||||
- https://www.zetorrents.in/
|
||||
- https://www.zetorrents.vg/
|
||||
- https://www.zetorrents.vc/
|
||||
@@ -37,6 +36,7 @@ legacylinks:
|
||||
- https://zetorrents-proxy.site/
|
||||
- https://ww1-zetorrents.me/
|
||||
- https://www.zetorrents.rent/
|
||||
- https://ww1-zetorrents.town/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -78,7 +78,7 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}home{{ end }}"
|
||||
keywordsfilters:
|
||||
# if searching for season packs swith S01 to saison 1 #9712
|
||||
- name: re_replace
|
||||
|
||||
@@ -27,10 +27,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "mejortorrent";
|
||||
public override string Name => "MejorTorrent";
|
||||
public override string Description => "MejorTorrent is a Public site - Hay veces que un torrent viene mejor! :)";
|
||||
public override string SiteLink { get; protected set; } = "https://www38.mejortorrent.eu/";
|
||||
public override string SiteLink { get; protected set; } = "https://www39.mejortorrent.eu/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www21.mejortorrent.zip/",
|
||||
"https://www22.mejortorrent.zip/",
|
||||
"https://www23.mejortorrent.zip/",
|
||||
"https://www24.mejortorrent.zip/",
|
||||
@@ -46,6 +45,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://www35.mejortorrent.eu/",
|
||||
"https://www36.mejortorrent.eu/",
|
||||
"https://www37.mejortorrent.eu/",
|
||||
"https://www38.mejortorrent.eu/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Dom;
|
||||
using AngleSharp.Html.Parser;
|
||||
using Jackett.Common.Extensions;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig.Bespoke;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
@@ -79,12 +80,13 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{ "referer", "" },
|
||||
{ "query", "" },
|
||||
{ "tv_timezone", "0" },
|
||||
{ "tv_login", configData.Username.Value },
|
||||
{ "tv_password", configData.Password.Value }
|
||||
{ "username", configData.Username.Value },
|
||||
{ "password", configData.Password.Value }
|
||||
};
|
||||
|
||||
// Get cookie
|
||||
var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl);
|
||||
var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, string.Empty, true, null, LoginUrl);
|
||||
|
||||
await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("glyphicon-log-out") == true, () =>
|
||||
{
|
||||
throw new ExceptionWithConfigData("The username and password entered do not match.", configData);
|
||||
@@ -196,6 +198,8 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
var publishDate = DateTime.Now;
|
||||
|
||||
var infoRegex = new Regex(@"\((?<size>\d+)\)\s*:(?<seeders>\d+) \/ :(?<leechers>\d+)$", RegexOptions.Compiled);
|
||||
|
||||
var rows = dom.QuerySelectorAll("#torrent-table tr.eprow, table tr.eprow");
|
||||
foreach (var row in rows)
|
||||
{
|
||||
@@ -208,14 +212,15 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
var details = new Uri(SiteLink + row.QuerySelector("td:nth-of-type(5) [href^=\"torrent_info?\"]")?.GetAttribute("href"));
|
||||
|
||||
var infoString = row.QuerySelector("td:nth-of-type(4)")?.TextContent.Trim() ?? string.Empty;
|
||||
var infoRegex = new Regex(@"\((?<size>\d+)\):(?<seeders>\d+) \/ :(?<leechers>\d+)$", RegexOptions.Compiled);
|
||||
var matchInfo = infoRegex.Match(infoString);
|
||||
var size = matchInfo.Groups["size"].Success && long.TryParse(matchInfo.Groups["size"].Value, out var outSize) ? outSize : 0;
|
||||
var seeders = matchInfo.Groups["seeders"].Success && int.TryParse(matchInfo.Groups["seeders"].Value, out var outSeeders) ? outSeeders : 0;
|
||||
var leechers = matchInfo.Groups["leechers"].Success && int.TryParse(matchInfo.Groups["leechers"].Value, out var outLeechers) ? outLeechers : 0;
|
||||
|
||||
var dateTimestamp = row.QuerySelector(".datetime[data-timestamp]")?.GetAttribute("data-timestamp");
|
||||
publishDate = dateTimestamp != null && ParseUtil.TryCoerceDouble(dateTimestamp, out var timestamp) ? DateTimeUtil.UnixTimestampToDateTime(timestamp) : publishDate.AddMinutes(-1);
|
||||
publishDate = dateTimestamp != null && ParseUtil.TryCoerceLong(dateTimestamp, out var timestamp)
|
||||
? DateTimeUtil.UnixTimestampToDateTime(timestamp)
|
||||
: publishDate.AddMinutes(-1);
|
||||
|
||||
var release = new ReleaseInfo
|
||||
{
|
||||
@@ -268,10 +273,12 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
private async Task<WebResult> ReloginIfNecessaryAsync(WebResult response)
|
||||
{
|
||||
if (response.ContentString.IndexOf("sign in now", StringComparison.InvariantCultureIgnoreCase) == -1)
|
||||
if (!(response.IsRedirect && response.RedirectingTo.Contains("login")) && !response.ContentString.ContainsIgnoreCase("sign in now"))
|
||||
{
|
||||
return response;
|
||||
}
|
||||
|
||||
logger.Debug("Session expired. Relogin.");
|
||||
logger.Debug("Shazbat session expired. Relogin.");
|
||||
|
||||
await ApplyConfiguration(null);
|
||||
response.Request.Cookies = CookieHeader;
|
||||
|
||||
@@ -21,12 +21,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
public override string Id => "torrentdosfilmes";
|
||||
public override string Name => "TorrentDosFilmes";
|
||||
public override string SiteLink { get; protected set; } = "https://torrentdosfilmes1.net/";
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://torrentdosfilmes1.net/",
|
||||
"https://comando4kfilmes-v1.xyz/",
|
||||
};
|
||||
public override string SiteLink { get; protected set; } = "https://comando4kfilmes-v1.xyz/";
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://torrentdosfilmes.site/",
|
||||
@@ -34,6 +29,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://ComandoFilmes.xyz/",
|
||||
"https://torrentdosfilmes.net/",
|
||||
"https://comando4kfilmes.xyz/",
|
||||
"https://torrentdosfilmes1.net/",
|
||||
};
|
||||
|
||||
public TorrentDosFilmes(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<PackageReference Include="MimeMapping" Version="1.0.1.50" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="Polly" Version="8.6.4" />
|
||||
<PackageReference Include="Polly" Version="8.6.5" />
|
||||
<PackageReference Include="SharpZipLib" Version="1.4.2" />
|
||||
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="9.0.11" />
|
||||
|
||||
@@ -859,6 +859,8 @@ namespace Jackett.Updater
|
||||
"Definitions/xxxtorrents.yml",
|
||||
"Definitions/ydypt.yml",
|
||||
"Definitions/yingk.yml",
|
||||
"Definitions/yggcookie.yml",
|
||||
"Definitions/yggtorrent.yml",
|
||||
"Definitions/yourbittorrent.yml",
|
||||
"Definitions/yourexotic.yml", // renamed to exoticaz
|
||||
"Definitions/zomb.yml",
|
||||
|
||||
Reference in New Issue
Block a user