Compare commits

..

23 Commits

Author SHA1 Message Date
Garfield69
abbcee767c nortorrent: replaced by world-torrent resolves #15217 2025-12-31 07:51:10 +13:00
Bogdan
33b568aff8 rutor: add info 8000 category 2025-12-30 20:00:44 +02:00
Garfield69
6988deb0ba zetorrents -> world-torrent #7574 2025-12-31 06:19:45 +13:00
Garfield69
35a03870a7 magnetcat: bump alt domains 2025-12-31 04:49:15 +13:00
Garfield69
c4aea7d2a2 52bt: bump alt domains 2025-12-31 04:49:00 +13:00
ilike2burnthing
1a1942424a thefallingangels: add new cat 2025-12-30 04:18:42 +00:00
ilike2burnthing
cae5fbb939 sportscult: change broken/missing cat 0 to uncategorised 2025-12-30 04:13:17 +00:00
ilike2burnthing
1b017297ab trezzor: add new cat (#16393) 2025-12-29 17:53:55 +00:00
ilike2burnthing
c0854165b4 bitporn: add new cat 2025-12-29 17:37:12 +00:00
Garfield69
b883e9863f remove torrentdosfilmes resolves #16391 2025-12-30 05:48:41 +13:00
Garfield69
8c1572d6f1 Update bigbbs.yml 2025-12-29 20:36:14 +13:00
Garfield69
d32376fdbb Update bigbbs.yml 2025-12-29 20:30:18 +13:00
Garfield69
5732bfaae4 bigbbs; add config info about English Classic account settings 2025-12-29 20:20:49 +13:00
Garfield69
4b082f1d2b add bigbbs a Polish private site. resolves #16279 2025-12-29 18:29:10 +13:00
ilike2burnthing
a958305436 polskie-torrenty: revert to credentials login
charset fixed on login page as well
2025-12-29 04:58:48 +00:00
ilike2burnthing
6706bfcf45 Rename yggcookie.yml to yggcookie-turbo.yml 2025-12-29 04:07:54 +00:00
gaby49100
672c964e09 yggcookie-turbo: add cookie login indexer (#16392) 2025-12-29 03:27:21 +00:00
Garfield69
0459906514 rutor: add .torrent resolves #16390 2025-12-29 12:19:13 +13:00
Garfield69
ee1f183510 cleanup updater delete list 2025-12-29 06:54:53 +13:00
Garfield69
fb9c99222a matrix: new cat 2025-12-29 05:33:30 +13:00
Garfield69
44d092e6bd zetorrents: bump domain 2025-12-29 05:14:16 +13:00
Garfield69
6a2d56a799 extratorrent-st: new cat 2025-12-29 05:13:59 +13:00
ilike2burnthing
a79be6414d hdclone: update TLD 2025-12-28 08:05:07 +00:00
19 changed files with 790 additions and 364 deletions

View File

@@ -94,7 +94,6 @@ Prior versions of Jackett are no longer supported.
* NewStudio
* Nipponsei
* NoNaMe Club (NNM-Club)
* NorTorrent
* Nyaa.si
* OneJAV
* OxTorrent
@@ -125,7 +124,6 @@ Prior versions of Jackett are no longer supported.
* torrent.by
* torrent-pirat
* Torrent9
* TorrentDosFilmes
* TorrentDownload
* TorrentGalaxyClone
* TorrentKitty
@@ -142,10 +140,10 @@ Prior versions of Jackett are no longer supported.
* VST Torrentz
* VSTorrent
* Wolfmax4K
* World-torrent
* XXXClub
* xxxtor
* YTS.ag
* zetorrents
* ZkTorrent
</details>
@@ -264,6 +262,7 @@ Prior versions of Jackett are no longer supported.
* Best-Core
* BeyondHD (BHD)
* Bibliotik [![(invite needed)][inviteneeded]](#)
* BigBBS
* BigCore
* Bit-Bázis
* BIT-HDTV

View File

@@ -8,11 +8,9 @@ encoding: UTF-8
requestDelay: 2
links:
# Send any content to 52btbtbt@gmail.com to get the latest address. or visit https://52btbt.icu/
- https://www.529070.xyz/
- https://www.529071.xyz/
- https://www.529072.xyz/
- https://www.529073.xyz/
legacylinks:
- https://www.529055.xyz/
- https://www.529057.xyz/
- https://www.529056.xyz/
- https://www.529058.xyz/
- https://www.52bt059.buzz/
@@ -27,6 +25,8 @@ legacylinks:
- https://www.529068.xyz/
- https://www.529069.xyz/
- https://www.529067.xyz/
- https://www.529070.xyz/
- https://www.529071.xyz/
caps:
categorymappings:

View File

@@ -0,0 +1,258 @@
---
id: bigbbs
name: BigBBS
description: "BigBBS is a POLISH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: pl-PL
type: private
encoding: UTF-8
links:
- https://bigbbs.eu/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Filmi"}
- {id: 14, cat: Movies/SD, desc: "Filmi DivX / XviD"}
- {id: 41, cat: Movies/HD, desc: "Filmi x264"}
- {id: 40, cat: Movies, desc: "Filmi Al / Lektor Amatorski"}
- {id: 39, cat: Movies/BluRay, desc: "Filmi BluRay"}
- {id: 147, cat: Movies, desc: "Filmi Xmas"}
- {id: 37, cat: Movies/DVD, desc: "Filmi DVD 5 / 9"}
- {id: 52, cat: Movies/3D, desc: "Filmi 3D"}
- {id: 17, cat: Movies/HD, desc: "Filmi HD 1080p , 720p"}
- {id: 99, cat: Movies/HD, desc: "Filmi x265"}
- {id: 62, cat: XXX, desc: "Filmi XXX"}
- {id: 16, cat: Movies/SD, desc: "Filmi CAM / TS"}
- {id: 65, cat: Movies/HD, desc: "Filmi Rmvb"}
- {id: 66, cat: Movies, desc: "Filmi TV RIP"}
- {id: 84, cat: TV/Documentary, desc: "Filmi Dokumentalne"}
- {id: 100, cat: Movies, desc: "Filmi Seriale"}
- {id: 103, cat: Movies, desc: "Filmi FILMY GSM / PDA"}
- {id: 107, cat: Movies/UHD, desc: "Filmi 4K-UHD"}
- {id: 109, cat: Movies, desc: "Filmi Biblijny"}
- {id: 113, cat: Movies, desc: "Filmi Prawniczy"}
- {id: 61, cat: Movies, desc: "Bajki"}
- {id: 106, cat: Books/Comics, desc: "Manga"}
- {id: 53, cat: TV/Anime, desc: "Anime"}
- {id: 56, cat: TV, desc: "TV"}
- {id: 57, cat: TV, desc: "TV BOXSETS"}
- {id: 58, cat: TV, desc: "TV EPIZODY"}
- {id: 6, cat: PC, desc: "Aplikacje"}
- {id: 18, cat: PC/0day, desc: "Aplikacje Windows"}
- {id: 64, cat: PC/Mobile-Other, desc: "Aplikacje GSM/PDA"}
- {id: 19, cat: PC/Mac, desc: "Aplikacje Macintosh"}
- {id: 42, cat: PC, desc: "Aplikacje Linux"}
- {id: 63, cat: TV/Sport, desc: "Sport"}
- {id: 7, cat: Audio, desc: "Muzyka"}
- {id: 20, cat: Audio/Video, desc: "Koncert"}
- {id: 144, cat: Audio, desc: "BiGBBS RMG (Rellase Music Group)"}
- {id: 21, cat: Audio/MP3, desc: "MP3"}
- {id: 38, cat: Audio/Lossless, desc: "FLAC"}
- {id: 135, cat: Audio, desc: "RetroRemix,ClubDance"}
- {id: 43, cat: Audio, desc: "Soundtrack"}
- {id: 136, cat: Audio, desc: "Rock"}
- {id: 80, cat: Audio/Lossless, desc: "lossless"}
- {id: 81, cat: Audio, desc: "MusicVid"}
- {id: 82, cat: Audio, desc: "Radio"}
- {id: 138, cat: Audio, desc: "Dyskografie Płytowe"}
- {id: 117, cat: Audio, desc: "Metal Rock"}
- {id: 139, cat: Audio, desc: "Kolekcje Muzyczne"}
- {id: 118, cat: Audio, desc: "Disco Polo"}
- {id: 119, cat: Audio, desc: "Clubbing"}
- {id: 120, cat: Audio, desc: "House"}
- {id: 125, cat: Audio, desc: "Tranc"}
- {id: 127, cat: Audio, desc: "Dance"}
- {id: 128, cat: Audio, desc: "Opus"}
- {id: 130, cat: Audio, desc: "Pop"}
- {id: 129, cat: Audio, desc: "Italo"}
- {id: 131, cat: Audio, desc: "ClubDance"}
- {id: 133, cat: Audio, desc: "Retro Remixes"}
- {id: 134, cat: Audio, desc: "Techno"}
- {id: 132, cat: Audio, desc: "eurodance"}
- {id: 145, cat: Audio, desc: "Chillout"}
- {id: 83, cat: Audio, desc: "BLUES / REGGAE/ ROCK / METAL/CLASSIC/"}
- {id: 2, cat: Console, desc: "Gry"}
- {id: 3, cat: Console/PS3, desc: "Sony PS"}
- {id: 4, cat: Console/Wii, desc: "Wii"}
- {id: 26, cat: Console/XBox, desc: "XboX"}
- {id: 28, cat: PC/Games, desc: "Gry PC"}
- {id: 28, cat: Console/NDS, desc: "Nintendo"}
- {id: 47, cat: Books/EBook, desc: "EEbooki"}
- {id: 48, cat: Audio/Audiobook, desc: "Audio Book"}
- {id: 50, cat: Books/EBook, desc: "Ebook Pdf"}
- {id: 67, cat: Books/Comics, desc: "Komiksy"}
- {id: 59, cat: Other, desc: "BBRG"}
- {id: 39, cat: Movies/BluRay, desc: "Filmy BluRay 50/25/9"}
- {id: 88, cat: Movies/3D, desc: "Filmi 3D"}
- {id: 108, cat: Movies/BluRay, desc: "Filmi BluRay"}
- {id: 89, cat: Movies/HD, desc: "Filmi HD x264"}
- {id: 90, cat: Movies/HD, desc: "Filmi HD DivX / XviD"}
- {id: 91, cat: Movies/DVD, desc: "Filmi DVD 5 / DVD 9"}
- {id: 92, cat: Movies/SD, desc: "Filmi SD DivX / XviD"}
- {id: 93, cat: Movies/SD, desc: "Filmi SD x264"}
- {id: 96, cat: Movies, desc: "Filmi TVRip"}
- {id: 101, cat: Movies, desc: "Filmi Boxset"}
- {id: 98, cat: Movies, desc: "Filmi Seriale"}
- {id: 95, cat: Movies, desc: "Bajki"}
- {id: 97, cat: Audio/Video, desc: "Kabarety"}
- {id: 102, cat: Movies/HD, desc: "Filmi x265"}
- {id: 104, cat: Movies, desc: "Filmi FILMY GSM / PDA"}
- {id: 86, cat: Audio, desc: "Muzyka BBRG"}
- {id: 110, cat: Movies, desc: "Filmi Biblijny"}
- {id: 114, cat: Movies/UHD, desc: "Filmi 4K-UHD"}
- {id: 115, cat: Movies, desc: "Filmi Fan BBRG"}
- {id: 112, cat: Movies, desc: "Filmi ENG"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: info_profile
type: info
label: Layout
default: "<ul><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Lista torrentów)</b> option in your profile to <b>Classic (Klasyczny)</b></li><li>And set the <b>Language (Dil)</b> to <b>English</b></li><li>Using the <i>Modern</i> theme will prevent results, and using <i>Polski</i> will prevent upload dates.</li></ul>"
- 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_activity
type: info
label: Account Inactivity
default: "Account retention rules: Inactive accounts over 30 days will be warned by email about their inactivity. If within 24h a person does not log in to their account, they will lose them without the possibility of returning."
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
- selector: :contains("-ERROR-")
test:
path: ?p=home&pid=1
selector: div#member_info_bar
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 }}"
# does not support imdbid search but has imdbid links in results.
error:
- selector: div.error:not(:contains("There are no results found."))
rows:
selector: "table#torrents_table_classic > tbody > tr:has(a[href*=\"?p=torrents&pid=10&action=download&tid=\"]){{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="?p=torrents&pid=10&cid="]
attribute: href
filters:
- name: querystring
args: cid
title:
selector: a[href*="?p=torrents&pid=10&action=details&tid="]
details:
selector: a[href*="?p=torrents&pid=10&action=details&tid="]
attribute: href
download:
selector: a[href*="?p=torrents&pid=10&action=download&tid="]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
optional: true
poster:
selector: a[href*="data/torrents/torrent_images/"]
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: a[rel="torrent_size"]
grabs:
selector: a[rel="times_completed"]
seeders:
selector: a[rel="torrent_seeders"]
leechers:
selector: a[rel="torrent_leechers"]
date_day:
# Uploaded Today at 04:01:07 by
# Uploaded Yesterday at 06:37:21 by
selector: td.torrent_name:contains("day at ")
# auto adjusted by site account profile
optional: true
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: fuzzytime
date_year:
# Uploaded 17-04-2017 06:07:06 by
selector: td.torrent_name:not(:contains("day at "))
# auto adjusted by site account profile
optional: true
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: dateparse
args: "dd-MM-yyyy HH:mm:ss"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
downloadvolumefactor:
case:
img[src$="/torrent_free.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 2 day (as seconds = 2 x 24 x 60 x 60)
text: 172800
# TSUE 2.2

View File

@@ -10,6 +10,7 @@ links:
caps:
categorymappings:
- {id: 54, cat: XXX, desc: Ai Generated"}
- {id: 4, cat: XXX, desc: Amateur"}
- {id: 5, cat: XXX, desc: Anal"}
- {id: 6, cat: XXX, desc: Asian"}

View File

@@ -31,6 +31,7 @@ caps:
- {id: Ebooks, cat: Books/EBook, desc: Books Ebook}
- {id: English-translated, cat: TV/Anime, desc: Anime English-translated}
- {id: Episodes HD, cat: TV/HD, desc: Episodes HD}
- {id: Episodes 4K UHD, cat: TV/UHD, desc: Episodes 4K UHD}
- {id: Games, cat: XXX/Other, desc: Adult Games}
- {id: Hentai, cat: XXX/Other, desc: Adult Hentai}
- {id: Highres Movies, cat: Movies/HD, desc: Movies HD}

View File

@@ -6,6 +6,8 @@ language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.hdclone.top/
legacylinks:
- https://pt.hdclone.org/
caps:

View File

@@ -9,16 +9,12 @@ encoding: UTF-8
links:
- https://magnetcatcat.com/
- https://clmclm.com/
- https://www.8800525.xyz/
- https://www.8800528.xyz/
- https://www.8800527.xyz/
- https://www.8800529.xyz/
- https://www.8800531.xyz/
- https://www.8800532.xyz/
- https://www.8800533.xyz/
- https://www.8800534.xyz/
legacylinks:
- https://www.clm472.sbs/
- https://www.8800507.xyz/
- https://www.8800508.xyz/
- https://www.8800509.xyz/
- https://www.8800510.xyz/
- https://www.8800511.xyz/
- https://www.8800514.xyz/
- https://www.8800515.xyz/
@@ -32,6 +28,10 @@ legacylinks:
- https://www.8800523.xyz/
- https://www.8800526.xyz/
- https://www.8800524.xyz/
- https://www.8800525.xyz/
- https://www.8800528.xyz/
- https://www.8800527.xyz/
- https://www.8800529.xyz/
caps:
categorymappings:

View File

@@ -17,7 +17,7 @@ caps:
- {id: 60, cat: Movies/Other, desc: "Cam/HU"}
- {id: 45, cat: Books/EBook, desc: "eBook/EN"}
- {id: 40, cat: Books/EBook, desc: "eBook/HU"}
# - {id: 20, cat: Movies/DVD, desc: "Film/DVD9"}
- {id: 20, cat: Movies/DVD, desc: "Film/DVD9"}
- {id: 48, cat: Movies/HD, desc: "Film/EN/1080p"}
- {id: 32, cat: Movies/HD, desc: "Film/EN/720p"}
- {id: 38, cat: Movies/BluRay, desc: "Film/EN/Blu-ray"}
@@ -127,7 +127,7 @@ search:
img[src="/pic/categories/061.png"]: 60
img[src="/pic/categories/017.png"]: 45
img[src="/pic/categories/016.png"]: 40
# img[]: 20
img[src="/pic/categories/cat_movies.gif"]: 20
img[src="/pic/categories/010.png"]: 48
img[src="/pic/categories/9.png"]: 32
img[src="/pic/categories/011.png"]: 38

View File

@@ -1,170 +0,0 @@
---
id: nortorrent
replaces:
- torrent9clone
- torrent9-tel
name: NorTorrent
description: "NorTorrent is a FRENCH Public tracker for MOVIES / TV / GENERAL"
language: fr-FR
type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.org/
links:
- https://www.nortorrent8.com/
legacylinks:
# latest domains list
- https://www.rantop.org/
- https://www.site-torrent.cc/
- https://www.torrent-site.com/
# domain lists no longer working
- https://www.protege-torrent.com/
- https://www.torrent.ws/
- https://www.protege-liens.com/
- https://www.protege-liens.net/
- https://www.torrent.onl/
- https://torrent9.news/
- https://www.site-torrent.com/
- https://www.rantop.my/
# actual legacylinks
- https://www-torrent9.com/
- https://www.nortorrent.com/
- https://www.nortorrent1.com/
- https://www.nortorrent2.com/
- https://www.nortorrent3.com/
- https://www.nortorrent4.com/
- https://www.nortorrent5.com/
- https://www.nortorrent6.com/
- https://www.nortorrent.net/
- https://www.nortorrent.town/
- https://nortorrent-proxy.site/
- https://ww1-nortorrent.me/
- https://www.nortorrent.rent/
- https://ww1-nortorrent.town/
- https://www.nortorrent7.com/
caps:
categorymappings:
- {id: Films, cat: Movies, desc: "Movies"}
- {id: Animes, cat: TV/Anime, desc: "Anime"}
- {id: Documentaires, cat: TV/Documentary, desc: "Documentaires"}
- {id: Séries, cat: TV, desc: "TV"}
- {id: Musiques, cat: Audio, desc: "Music"}
- {id: Ebooks, cat: Books, desc: "Books"}
- {id: Livres, cat: Books, desc: "Livres"}
- {id: Logiciels, cat: PC, desc: "Software"}
- {id: Applications, cat: PC, desc: "Applications"}
- {id: Jeux-PC, cat: PC/Games, desc: "PC Games"}
- {id: Jeux-Consoles, cat: Console/XBox 360, desc: "Console Games"}
- {id: Porno, cat: XXX, desc: "Porno"}
- {id: Spectacles, cat: TV/Other, desc: "Spectacles"}
- {id: Sports, cat: TV/Sport, desc: "Sports"}
- {id: Formations, cat: Other, desc: "Formations"}
- {id: Vidéos, cat: TV, desc: "Vidéos"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: info_flaresolverr
type: info_flaresolverr
- 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
download:
selectors:
- selector: a[href^="/get_torrents/"]
attribute: href
search:
paths:
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}derniers{{ end }}"
keywordsfilters:
# if searching for season packs swith S01 to saison 1 #9712
- name: re_replace
args: ["(?i)(S0)(\\d{1,2})$", "saison $2"]
- name: re_replace
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
rows:
selector: table.table-striped > tbody > tr
fields:
category:
selector: td:nth-child(1) i
attribute: class
title_phase1:
selector: td:nth-child(1) a
filters:
- name: re_replace
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details_href:
selector: td:nth-child(1) a[href]
attribute: href
optional: true
filters:
- name: regexp
args: (/?detail/\d+)
details_onclick:
selector: td:nth-child(1) a[onclick]
attribute: onclick
optional: true
filters:
- name: regexp
args: (/?detail/\d+)
details:
text: "{{ or .Result.details_href .Result.details_onclick }}"
download:
text: "{{ .Result.details }}"
date:
text: now
size:
selector: td:nth-child(2)
seeders:
selector: td:nth-child(3)
optional: true
default: 0
leechers:
selector: td:nth-child(4)
optional: true
default: 0
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -107,11 +107,12 @@ caps:
book-search: [q]
settings:
- name: cookie
- name: username
type: text
label: Cookie
- name: info_cookie
type: info_cookie
label: Username
- name: password
type: password
label: Password
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
@@ -125,10 +126,15 @@ settings:
MULTi POLISH: MULTi POLISH
login:
# using cookie to prevent FlareSolverrSharp invalid-charset-exception after picking up `charset=utf8mb4` #15835
method: cookie
path: login.php
method: form
form: form[name="login"]
inputs:
cookie: "{{ .Config.cookie }}"
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
keeplogged: 1
error:
- selector: font[color="#FF0000"]
test:
path: index.php
selector: a[href="logout.php"]

View File

@@ -48,10 +48,6 @@ settings:
type: checkbox
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
default: false
- name: info
type: info
label: A note about RuTor
default: RuTor does not display categories in its search results page. This definition is probably only suitable for Jackett Dashboard Manual searches.
- name: sort
type: select
label: Sort requested from site (Applies only to Search with Keywords)
@@ -65,6 +61,8 @@ settings:
7: "size asc"
8: "title desc"
9: "title asc"
- name: info_category_8000
type: info_category_8000
search:
paths:
@@ -146,6 +144,9 @@ search:
details:
selector: td:nth-of-type(2) a[href^="/torrent/"]
attribute: href
download:
selector: a.downgif
attribute: href
infohash:
selector: a[href^="magnet:?xt="]
attribute: href

View File

@@ -183,6 +183,9 @@ search:
filters:
- name: querystring
args: category
# change broken/missing cat 0 to Uncategorised
- name: re_replace
args: ["\\b0\\b", "48"]
title:
selector: a[href^="index.php?page=torrent-details&id="]
filters:

View File

@@ -62,6 +62,7 @@ caps:
- {id: 160, cat: Movies/Other, desc: "Anime Movies SD"}
- {id: 168, cat: TV/Anime, desc: "Anime Serien HD"}
- {id: 169, cat: TV/Anime, desc: "Anime Serien SD"}
- {id: 170, cat: TV/Anime, desc: "Anime Serien Pack"}
- {id: 129, cat: TV/Anime, desc: "Anime Sonstiges"}
- {id: 118, cat: Other, desc: "Other Mobile"}
- {id: 119, cat: Other, desc: "Other Hörbücher"}

View File

@@ -32,6 +32,7 @@ caps:
- {id: 16, cat: Other, desc: "Foto,obrázky"}
- {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"}
- {id: 20, cat: Console, desc: "Konzole"}
- {id: 43, cat: Other, desc: "Online tvorba"}
- {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"}
- {id: 23, cat: Other, desc: "Na prani non CZ/SK"}

View File

@@ -32,6 +32,7 @@ caps:
- {id: 16, cat: Other, desc: "Foto,obrázky"}
- {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"}
- {id: 20, cat: Console, desc: "Konzole"}
- {id: 43, cat: Other, desc: "Online tvorba"}
- {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"}
- {id: 23, cat: Other, desc: "Na prani non CZ/SK"}

View File

@@ -1,13 +1,25 @@
---
id: zetorrents
name: zetorrents
description: "zetorrents is a FRENCH Public site for MOVIES / TV / GENERAL"
id: world-torrent
replaces:
- torrent9clone
- torrent9-tel
- zetorrents
- nortorrent
name: World-torrent
description: "World-torrent is a FRENCH Public site for MOVIES / TV / GENERAL"
language: fr-FR
type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.org/
links:
- https://www.world-torrent.com/
- https://www.world-torrent1.com/
- https://www.nortorrent8.com/
- https://www.frenchtorrent1.com/
- https://www.mania-torrent.com/
- https://www.magnet-torrent1.com/
- https://www.mega-torrent9.com/
- https://www.zone-torrent6.com/
- https://www.warez-torrent1.com/
legacylinks:
# latest domains list
- https://www.rantop.org/
@@ -22,7 +34,21 @@ legacylinks:
- https://www.site-torrent.com/
- https://www.rantop.my/
# actual legacylinks
- https://www.zetorrents.in/
- https://www-torrent9.com/
- https://www.nortorrent.com/
- https://www.nortorrent1.com/
- https://www.nortorrent2.com/
- https://www.nortorrent3.com/
- https://www.nortorrent4.com/
- https://www.nortorrent5.com/
- https://www.nortorrent6.com/
- https://www.nortorrent.net/
- https://www.nortorrent.town/
- https://nortorrent-proxy.site/
- https://ww1-nortorrent.me/
- https://www.nortorrent.rent/
- https://ww1-nortorrent.town/
- https://www.nortorrent7.com/
- https://www.zetorrents.vg/
- https://www.zetorrents.vc/
- https://www.zetorrents.sk/
@@ -37,6 +63,7 @@ legacylinks:
- https://ww1-zetorrents.me/
- https://www.zetorrents.rent/
- https://ww1-zetorrents.town/
- https://www.world-torrent.com/
caps:
categories:
@@ -78,7 +105,7 @@ download:
search:
paths:
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}home{{ end }}"
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}derniers{{ end }}"
keywordsfilters:
# if searching for season packs swith S01 to saison 1 #9712
- name: re_replace

View File

@@ -0,0 +1,452 @@
---
id: yggcookie-turbo
name: YGG cookie (Turbo)
description: "YggTorrent (YGG) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL. This indexer uses cookie login. This indexer is only for users with Turbo Mode access (Uploaders and donors)."
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: 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
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

View File

@@ -1,139 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;
using Jackett.Common.Extensions;
using Jackett.Common.Indexers.Definitions.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using NLog;
using WebClient = Jackett.Common.Utils.Clients.WebClient;
using WebRequest = Jackett.Common.Utils.Clients.WebRequest;
namespace Jackett.Common.Indexers.Definitions
{
[ExcludeFromCodeCoverage]
public class TorrentDosFilmes : PublicBrazilianIndexerBase
{
public override string Id => "torrentdosfilmes";
public override string Name => "TorrentDosFilmes";
public override string SiteLink { get; protected set; } = "https://comando4kfilmes-v1.xyz/";
public override string[] LegacySiteLinks { get; protected set; } = {
"https://torrentdosfilmes.site/",
"https://torrentsdosfilmes.to/",
"https://ComandoFilmes.xyz/",
"https://torrentdosfilmes.net/",
"https://comando4kfilmes.xyz/",
"https://torrentdosfilmes1.net/",
};
public TorrentDosFilmes(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs) : base(configService, wc, l, ps, cs)
{
configData.AddDynamic(
"flaresolverr",
new ConfigurationData.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."));
}
public override IParseIndexerResponse GetParser() => new TorrentDosFilmesParser(webclient);
}
public class TorrentDosFilmesParser : PublicBrazilianParser
{
private readonly WebClient _webclient;
public TorrentDosFilmesParser(WebClient webclient)
{
_webclient = webclient;
}
private Dictionary<string, string> ExtractFileInfo(IDocument detailsDom)
{
var fileInfo = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
var infoSpans = detailsDom.QuerySelectorAll("span[style*='color: black']");
foreach (var span in infoSpans)
{
var text = span.TextContent.Trim();
var parts = text.Split(new[] { ':' }, 2);
if (parts.Length == 2)
{
var key = parts[0].Replace("<em>", "").Replace("</em>", "").Replace("<strong>", "").Replace("</strong>", "").Trim();
var value = parts[1].Trim();
fileInfo[key] = value;
}
}
return fileInfo;
}
public override IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
{
var releases = new List<ReleaseInfo>();
var parser = new HtmlParser();
var dom = parser.ParseDocument(indexerResponse.Content);
var rows = dom.QuerySelectorAll("div.post");
foreach (var row in rows)
{
var detailsParser = new HtmlParser();
var detailAnchor = row.QuerySelector("div.title a[title]");
var detailUrl = new Uri(detailAnchor?.GetAttribute("href") ?? string.Empty);
var title = detailAnchor?.TextContent.Trim() ?? string.Empty;
var releaseCommonInfo = new ReleaseInfo
{
Title = CleanTitle(title),
Details = detailUrl,
Guid = detailUrl,
PublishDate = row.ExtractReleaseDate(),
Seeders = 1
};
var detailsPage = _webclient.GetResultAsync(new WebRequest(detailUrl.ToString())).Result;
var detailsDom = detailsParser.ParseDocument(detailsPage.ContentString);
var fileInfoDict = ExtractFileInfo(detailsDom);
var fileInfo = PublicBrazilianIndexerBase.FileInfo.FromDictionary(fileInfoDict);
foreach (var downloadButton in detailsDom.QuerySelectorAll("a.customButton[href^=\"magnet:\"]"))
{
var magnet = downloadButton.ExtractMagnet();
var release = releaseCommonInfo.Clone() as ReleaseInfo;
release.Title = ExtractTitleOrDefault(downloadButton, release.Title);
release.Category = downloadButton.ExtractCategory(release.Title);
release.Languages = fileInfo.Audio?.ToList() ?? release.Languages;
release.Genres = fileInfo.Genres?.ToList() ?? release.Genres;
release.Subs = string.IsNullOrEmpty(fileInfo.Subtitle) ? release.Subs : new[] { fileInfo.Subtitle };
var size = RowParsingExtensions.GetBytes(fileInfo.Size ?? string.Empty);
release.Size = size > 0 ? size : ExtractSizeByResolution(release.Title);
release.Guid = release.MagnetUri = magnet;
release.DownloadVolumeFactor = 0;
release.UploadVolumeFactor = 1;
if (release.Title.IsNotNullOrWhiteSpace())
releases.Add(release);
}
}
return releases;
}
protected override INode GetTitleElementOrNull(IElement downloadButton)
{
var description = downloadButton.PreviousSibling;
while (description != null && NotSpanTag(description))
{
description = description.PreviousSibling;
}
return description;
}
}
}

View File

@@ -240,15 +240,6 @@ namespace Jackett.Updater
// delete old files
var oldFiles = new string[] {
"appsettings.Development.json",
"Autofac.Integration.WebApi.dll",
"Content/congruent_outline.png",
"Content/crissXcross.png",
"Content/css/jquery.dataTables.css",
"Content/css/jquery.dataTables_themeroller.css",
"CsQuery.dll",
"CurlSharp.dll",
"CurlSharp.pdb",
"Definitions/01torrent.yml",
"Definitions/2fast4you.yml",
"Definitions/2xfree.yml",
@@ -593,6 +584,7 @@ namespace Jackett.Updater
"Definitions/nnm-club.yml", // renamed to noname-club
"Definitions/nntt.yml",
"Definitions/nordicplus.yml",
"Definitions/nortorrent.yml", // migrated to world-torrent #7574
"Definitions/nostalgic.yml", // renamed to vhstapes
"Definitions/ntelogo.yml",
"Definitions/nusantarare.yml",
@@ -862,19 +854,9 @@ namespace Jackett.Updater
"Definitions/yggtorrent.yml",
"Definitions/yourbittorrent.yml",
"Definitions/yourexotic.yml", // renamed to exoticaz
"Definitions/zetorrents.yml", // renamed to world-torrent #7574
"Definitions/zomb.yml",
"Definitions/zooqle.yml",
"Microsoft.Owin.dll",
"Microsoft.Owin.FileSystems.dll",
"Microsoft.Owin.Host.HttpListener.dll",
"Microsoft.Owin.Hosting.dll",
"Microsoft.Owin.StaticFiles.dll",
"Owin.dll",
"System.ServiceModel.dll",
"System.Web.Http.dll",
"System.Web.Http.Owin.dll",
"System.Web.Http.Tracing.dll",
"System.Xml.XPath.XmlDocument.dll"
"Definitions/zooqle.yml"
};
foreach (var oldFile in oldFiles)