Compare commits

..

61 Commits

Author SHA1 Message Date
Bogdan
a012c9d686 cardigann: ignore disabled or unchecked inputs in login (#14338) 2023-05-20 02:50:55 +03:00
ilike2burnthing
7e33461c7f assorted: update login inputs. #14338 (#14348) 2023-05-20 00:41:52 +01:00
Garfield69
4000c46be1 add masters-tb a Bulgarian semi-private site. resolves #14346 2023-05-20 11:00:02 +12:00
ilike2burnthing
f018aa252c ztracker: update login inputs, again
follow up to https://github.com/Jackett/Jackett/pull/14347
2023-05-19 23:51:27 +01:00
ilike2burnthing
5f1445d59b metalguru: typo fix 2023-05-19 23:15:09 +01:00
ilike2burnthing
25cdf412c1 learnbits & ztracker: update login inputs (#14347)
* Update learnbits.yml

* Update ztracker.yml
2023-05-19 22:53:33 +01:00
Garfield69
02a818f71f mdan: update seeders/leechers selector 2023-05-20 08:07:48 +12:00
Garfield69
ca35c57d78 mazepa: new cats 2023-05-20 08:07:21 +12:00
Garfield69
76343fd56a dreamtracker: new cat 2023-05-20 08:07:09 +12:00
Garfield69
dd9feca37b arenabg: new cat 2023-05-20 08:06:56 +12:00
ilike2burnthing
6ab273651d learnbits: removed logintype & filter date 2023-05-19 18:59:29 +01:00
Garfield69
d3599c9c3a infire: new cat 2023-05-19 15:15:17 +12:00
Garfield69
f701bba1ef torrentqq: bump domain 2023-05-19 15:02:01 +12:00
Garfield69
7907e2b620 xspeeds: update cats. resolves #14341 2023-05-19 13:00:50 +12:00
Garfield69
78d673f491 add mdan a Brazilian private Anime site. resolves #14339 2023-05-19 11:09:06 +12:00
Bogdan
b7756508e1 learnbits: disable automatic logout and secure login 2023-05-18 13:50:12 +03:00
Garfield69
0210b7dc5b partis: update engine tag 2023-05-18 21:43:41 +12:00
Garfield69
efb8de4d4c add infire a Slovenian private site. resolves #14337 2023-05-18 21:43:26 +12:00
Garfield69
dee88f618a add PT分享站 (itzmx) a Chinese private site. resolves #14335 2023-05-18 20:04:32 +12:00
Garfield69
4e0c5814f4 add metalguru a private music site. resolves #14326 2023-05-18 16:31:41 +12:00
Bogdan
df48a6ed41 greatposterwall: fetch latest 50 releases with grouped torrents (#14333) 2023-05-18 04:07:43 +03:00
Bogdan
aed390f7ba ui: show hours ago with one decimal (#14332) 2023-05-18 03:34:46 +03:00
Bogdan
b0adee0047 greatposterwall: fix timezone in publish dates 2023-05-18 03:13:11 +03:00
Bogdan
d634670ad8 gazelle: don't use usetoken=0 when useTokens is not enabled
See Prowlarr/Prowlarr#1668
2023-05-18 02:34:55 +03:00
Garfield69
8f260f7f97 restore cinefilhd. resolves #490 2023-05-18 11:27:28 +12:00
Garfield69
9e5973af5c hellashut: removed. resolves #13706 2023-05-17 08:21:55 +12:00
Garfield69
e28e93ce08 dontorrent: new domain 2023-05-17 08:21:18 +12:00
ilike2burnthing
927ffdff39 gimmepeers: update imdb search
https://github.com/Prowlarr/Indexers/pull/338
2023-05-16 05:32:41 +01:00
Garfield69
88d5142cd7 torrentsir: bump domain 2023-05-16 08:51:50 +12:00
ilike2burnthing
5f754847b9 hdcztorrent: remove recommended results, add magnet 2023-05-15 16:35:04 +01:00
Garfield69
6e69f3611d hd-cztorrent: new layout 2023-05-15 09:30:38 +12:00
Garfield69
a25dad6d09 subsplease: update mrunblock 2023-05-15 09:03:06 +12:00
Garfield69
9c641e624a erairaws: add nocensor and update mrunblock 2023-05-15 09:02:39 +12:00
Garfield69
e2c25d78c9 assorted: add working nocensor domain 2023-05-15 08:43:27 +12:00
ilike2burnthing
4b5c36f056 fantastiko: change to https 2023-05-14 06:39:43 +01:00
Bogdan
5ff2071094 oldtoonsworld: add error selector for when maximum no. of failed login attempts is reached 2023-05-13 16:59:46 +03:00
Garfield69
5aa616a6ee oshenpt: bump engine tag 2023-05-13 12:37:13 +12:00
Garfield69
6932b9afbc mejortorrent: new domain 2023-05-13 09:21:00 +12:00
Garfield69
8eca7c2f14 divxtotal: new domain 2023-05-13 09:20:35 +12:00
Garfield69
214a0a6960 add itatorrents an Italian private site. resolves #14321 2023-05-12 16:02:27 +12:00
Garfield69
816ff9aa5d Update brsociety-api.yml 2023-05-12 15:11:01 +12:00
ilike2burnthing
d0bfbbfc81 brsociety: update indexer. #12233 (#14320) 2023-05-12 03:42:39 +01:00
Bogdan
b68373b4f0 assorted: fix regex to replace multiple matches with one space 2023-05-12 01:40:54 +03:00
Garfield69
d8c988c976 dontorrent: new domain 2023-05-12 07:20:49 +12:00
Garfield69
922c27f1ac torrentqq: bump domain 2023-05-12 07:20:35 +12:00
Bogdan
f84cb6e334 animetorrents: add current time of day if date added is today 2023-05-11 16:48:47 +03:00
Garfield69
c1fe13a3a6 krazyzone: update freeleech selector 2023-05-11 08:25:50 +12:00
Garfield69
7aae16f4d3 file-tracker: update cats 2023-05-11 07:54:09 +12:00
Garfield69
db1785f49c soulvoice: bump engine tag 2023-05-11 07:40:04 +12:00
ilike2burnthing
d38a3f0210 krazyzone: remove VIP results if not VIP 2023-05-10 11:49:47 +01:00
Garfield69
11bdb939b1 hdolimpo: fix freeleech detection 2023-05-10 11:47:59 +12:00
Garfield69
8851fc00e6 hdmayi: new cat 2023-05-10 08:49:08 +12:00
Garfield69
6a9de0ce34 krazyzone: selector updates 2023-05-10 08:26:24 +12:00
Garfield69
069e9d180a torrentsir: bump domain 2023-05-10 07:57:31 +12:00
ilike2burnthing
e6d9417f86 nyaasi: add radarr compatibility setting 2023-05-09 22:18:23 +03:00
ilike2burnthing
f86b239469 hdtime: update version. resolves #7015 2023-05-09 09:48:45 +01:00
Garfield69
5b433c412d torrent-explosiv: cat amendment 2023-05-09 14:27:24 +12:00
ilike2burnthing
bb933fd553 amigosshare: replace 4k with 2160p in title. resolves #14316 2023-05-09 03:03:13 +01:00
bakerboy448
60d674d24e torrentleech: replace 2FA with alt2FAToken (#14314) 2023-05-08 20:15:27 +01:00
Garfield69
44af214b09 assorted nuxes: update version stamp 2023-05-09 07:01:00 +12:00
Garfield69
79347c3d7b restore dark-shadow a German private site. resolves #7892 2023-05-08 21:09:14 +12:00
67 changed files with 1627 additions and 382 deletions

View File

@@ -192,6 +192,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* LostFilm.tv
* Magnetico (Local DHT) [[site](https://github.com/boramalper/magnetico)]
* Marine Tracker
* Masters-TB
* Mazepa
* Metal Tracker
* Moviesite
@@ -291,7 +292,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* BroadcasTheNet (BTN)
* BroadCity
* BrokenStones [![(invite needed)][inviteneeded]](#)
* BrSociety [![(invite needed)][inviteneeded]](#)
* BrSociety
* BTNext (BTNT) [![(invite needed)][inviteneeded]](#)
* BTSCHOOL
* BWTorrents
@@ -306,6 +307,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CGPeers [![(invite needed)][inviteneeded]](#)
* CHDBits [![(invite needed)][inviteneeded]](#)
* ChileBT
* CiNEFiLHD
* Cinemageddon [![(invite needed)][inviteneeded]](#)
* CinemaMovieS_ZT
* Cinematik [![(invite needed)][inviteneeded]](#)
@@ -317,6 +319,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CrazySpirits
* CrnaBerza
* DANISH BYTES
* Dark-Shadow
* DataScene (DS)
* DataTalli
* DesiTorrents
@@ -387,7 +390,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* HDVIDEO
* HDZone
* Hebits
* HellasHut
* HHanClub
* House of Devil
* HQMusic
@@ -396,8 +398,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* ImmortalSeed (iS)
* Immortuos
* Indietorrents [![(invite needed)][inviteneeded]](#)
* Infire
* Insane Tracker
* IPTorrents (IPT)
* ItaTorrents
* JME-REUNIT3D
* JoyHD [![(invite needed)][inviteneeded]](#)
* JPopsuki
@@ -427,8 +431,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* magic-heaven
* Magico (Trellas) [![(invite needed)][inviteneeded]](#)
* Majomparádé (TurkDepo)
* Mansão dos Animes (MDAN)
* MegamixTracker
* MeseVilág (Fairytale World)
* MetalGuru
* Milkie
* MIRcrew
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
@@ -473,6 +479,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* PTerClub
* PTFiles (PTF)
* PThome [![(invite needed)][inviteneeded]](#)
* PT分享站 (itzmx)
* PTSBAO
* PTtime
* Punk's Horror Tracker

View File

@@ -20,7 +20,7 @@ Handlebars.registerHelper('jacketTimespan', function (context, block) {
var hours = timeSpan.asHours();
if (hours < 48) {
return Math.round(hours) + 'h ago';
return parseFloat(hours).toFixed(1) + 'h ago';
}
var days = timeSpan.asDays();

View File

@@ -189,4 +189,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-04-09
# NexusPHP v1.8.2 2023-05-08

View File

@@ -213,4 +213,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-01-26
# NexusPHP v1.8.2 2023-05-08

View File

@@ -178,6 +178,9 @@ search:
_quality:
selector: div.list-group-item-content p.m-0 span.badge-primary:contains("1080p"), div.list-group-item-content p.m-0 span.badge-primary:contains("720p"), div.list-group-item-content p.m-0 span.badge-primary:contains("4k")
optional: true
filters:
- name: replace
args: ["4k", "2160p"]
_year:
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#246AB6;"]
optional: true

View File

@@ -28,6 +28,7 @@ caps:
- {id: 20, cat: Movies/HD, desc: "Movies / Movies HD"}
- {id: 21, cat: Movies/HD, desc: "Movies / x265"}
- {id: 22, cat: Movies/UHD, desc: "Movies / 4K"}
- {id: 59, cat: Movies/HD, desc: "Movies / AV1"}
- {id: 2, cat: TV, desc: "Series"}
- {id: 23, cat: TV/HD, desc: "Series / TV Episodes HD"}
- {id: 24, cat: TV, desc: "Series / TV Episodes"}

View File

@@ -9,6 +9,7 @@ requestDelay: 2
links:
- https://bitsearch.to/
- https://bitsearch.mrunblock.life/
- https://bitsearch.nocensor.click/
legacylinks:
- https://bitsearch.nocensor.biz/
- https://bitsearch.nocensor.sbs/

View File

@@ -10,7 +10,7 @@ links:
caps:
categorymappings:
- {id: 1, cat: TV, desc: "Cursos"}
- {id: 1, cat: Other, desc: "Cursos"}
- {id: 2, cat: Books/EBook, desc: "eBooks"}
- {id: 5, cat: Books/Mags, desc: "Revistas"}
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
@@ -71,15 +71,9 @@ search:
type: json
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
api_token: "{{ .Config.apikey }}"
$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 }}"
@@ -110,28 +104,6 @@ search:
optional: true
infohash:
selector: info_hash
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
@@ -169,6 +141,6 @@ search:
minimumratio:
text: 1.0
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 6.5.0
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
# json UNIT3D 6.5.0 (custom)

View File

@@ -189,4 +189,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.31 2022-11-14
# NexusPHP v1.7.37 2023-05-08

View File

@@ -163,7 +163,7 @@ search:
optional: true
filters:
- name: re_replace
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
args: ["[ ]at|[//\xa0\\s,]+", " "]
date_year:
# February 09, 2019, 06:35:08 AM
selector: td:nth-child(5):not(:contains("day"))
@@ -171,7 +171,7 @@ search:
optional: true
filters:
- name: re_replace
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
args: ["[//\xa0\\s,]+", " "]
- name: dateparse
args: "MMMM dd yyyy hh:mm:ss tt"
date:

View File

@@ -0,0 +1,172 @@
---
id: cinefilhd
name: CiNEFiLHD
description: "CiNEFiLHD is a Private Torrent Tracker for MOVIES / TV / MUSIC"
language: en-US
type: private
encoding: UTF-8
links:
- http://cinefilhd.sytes.net/
legacylinks:
- http://www.cinefilhd.org/
caps:
categorymappings:
- {id: 37, cat: Movies/HD, desc: "Internal/HD-1080p"}
- {id: 17, cat: Movies/HD, desc: "Internal/HD-720p"}
- {id: 30, cat: TV/HD, desc: "Internal/HDTV"}
- {id: 15, cat: Movies/HD, desc: "Internal/mHD"}
- {id: 40, cat: Movies, desc: "Internal/Mp4"}
- {id: 26, cat: Movies, desc: "Internal/Remux"}
- {id: 45, cat: Movies/WEB-DL, desc: "Internal/WEB-DL"}
- {id: 5, cat: Movies/BluRay, desc: "Movies/BluRay"}
- {id: 38, cat: Movies/HD, desc: "Movies/HD-1080p"}
- {id: 10, cat: Movies/HD, desc: "Movies/HD-720p"}
- {id: 29, cat: Movies/HD, desc: "Movies/mHD"}
- {id: 41, cat: Movies, desc: "Movies/Mp4"}
- {id: 39, cat: Movies, desc: "Movies/Remux"}
- {id: 44, cat: Movies/WEB-DL, desc: "Movies/WEB-DL"}
- {id: 23, cat: Audio/Lossless, desc: "Lossless"}
- {id: 14, cat: Audio/MP3, desc: "MP3-Packs"}
- {id: 22, cat: Audio/MP3, desc: "Music-MP3"}
- {id: 43, cat: Audio/Video, desc: "Music/1080p"}
- {id: 42, cat: Audio/Video, desc: "Music/720p"}
- {id: 12, cat: TV/HD, desc: "HDTV-Packs"}
- {id: 21, cat: TV/HD, desc: "Movies/HDTV"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, genre]
movie-search: [q, imdbid, genre]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submitme: LOGIN
error:
- selector: h2:contains("failed")
message:
selector: td.colhead2
test:
path: index.php
selector: a[href^="logout.php?hash_please="]
search:
paths:
- path: browse.php
inputs:
# note: site uses the catsX[]=nn method which cardigann does not support.
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.Genre }}{{ .Query.Genre }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.Genre }}{{ else }}{{ .Keywords }}{{ end }}"
# title, descr, genre, all
searchin: "{{ if .Query.IMDBID }}descr{{else}}{{end}}{{ if .Query.Genre }}genre{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.Genre }}{{ else }}title{{ end }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 no, 1 yes
only_free: "{{ if .Config.freeleech }}1{{else}}0{{end}}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table.mainouter table > tbody > tr:has(a[href^="details.php?id="]), table.mainouter table > tbody > tr[id^="kdescr"]
after: 1
filters:
- name: andmatch
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
# onmouseover="Tip('<img class=\'pup\' src=\'https://image.tmdb.org/t/p/original/x96AdPlpl4MjUP2DeUhRJifhCMd.jpg\' width=
- name: regexp
args: src=\\'(.*?)\\'
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
files:
selector: td:nth-child(4)
date_day:
# Today<br/>10:20 AM
# Yesterday<br/>08:03 PM
selector: td:nth-child(6):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
# Feb 14 2019<br/>10:20 AM
selector: td:nth-child(6):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "MMM d yyyy hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
genre:
selector: td:nth-child(2)
remove: a, font
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
tr.freeleech_color: 0
tr.highlight: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# U-232 v3

View File

@@ -0,0 +1,202 @@
---
id: dark-shadow
name: Dark-Shadow
description: "Dark-Shadow is a GERMAN Private site for TV / MOVIES / GENERAL"
language: de-DE
type: private
encoding: UTF-8
links:
- https://projekt.dark-shadow.me/
legacylinks:
- https://dark-shadow.ml/
- https://dark-shadow.me/
caps:
categorymappings:
# Movie
- {id: 28, cat: Movies/SD, desc: "Filme SD"}
- {id: 32, cat: Movies/HD, desc: "Filme HD"}
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"}
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"}
- {id: 138, cat: Movies, desc: "Filme Pack`s"}
# Serien
- {id: 60, cat: TV/SD, desc: "Serien SD"}
- {id: 57, cat: TV/HD, desc: "Serien HD"}
- {id: 139, cat: TV/UHD, desc: "Serien UHD"}
- {id: 59, cat: TV, desc: "Serien Pack`s"}
# Audio
- {id: 110, cat: Audio/MP3, desc: "Audio MP3"}
- {id: 48, cat: Audio/Lossless, desc: "Audio Flac"}
- {id: 52, cat: Audio, desc: "Audio Pack"}
- {id: 63, cat: Audio/Audiobook, desc: "Audio Hörbuch"}
- {id: 120, cat: Audio/Video, desc: "Audio Videos"}
# Apps
- {id: 12, cat: PC/0day, desc: "Apps Windows"}
- {id: 125, cat: PC/Mac, desc: "Apps Mac-OSX"}
- {id: 11, cat: PC/Mobile-Other, desc: "Apps Mobil"}
- {id: 141, cat: PC/ISO, desc: "Apps Other"}
# Doku
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
- {id: 123, cat: TV/Documentary, desc: "Doku Reihe"}
# Spiel
- {id: 126, cat: Console/Other, desc: "Spiel Mobil"}
- {id: 17, cat: PC/Games, desc: "Spiel PC"}
- {id: 24, cat: Console, desc: "Spiel Konsole"}
- {id: 121, cat: Console, desc: "Spiel Wimmelbild"}
# Sport
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
# ePaper
- {id: 96, cat: Books/Mags, desc: "ePaper Zeitungen"}
- {id: 136, cat: Books/EBook, desc: "ePaper E-Book"}
- {id: 137, cat: Books/Comics, desc: "ePaper Comics"}
# XXX
- {id: 76, cat: XXX/XviD, desc: "XXX SD"}
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
- {id: 142, cat: XXX/ImageSet, desc: "XXX Pic´s"}
# Internal
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
- {id: 131, cat: TV/SD, desc: "Internal Serie SD"}
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeds: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login.php
method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div#login_error
test:
path: selection.php
search:
paths:
- path: selection.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 name, 1 descr, 2 both
blah: 0
orderby: "{{ .Config.sort }}"
sort: "{{ .Config.type }}"
keywordsfilters:
# prefix and postfix percent wildcard as well as replacing spaces between words
- name: re_replace
args: ["\\W+", "%"]
- name: re_replace
args: ["^(.+)$", "%$1%"]
rows:
selector: "div.selection_wrap{{ if .Config.freeleech }}:root:has(div.onlyup){{ else }}{{ end }}"
fields:
category_p1:
selector: div.kat_cat_pic_name
category_p2:
selector: div.kat_cat_pic_name_b
categorydesc:
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
title:
selector: a.selection_a
filters:
# remove [REQ] and anything else in [] that prefixes titles
- name: re_replace
args: ["^(\\[.*\\])(.*)", "$2"]
details:
selector: a.selection_a
attribute: href
download:
selector: a[href^="download_ssl.php?torrent="]
attribute: href
poster:
selector: div[id^="details"] img
attribute: src
size:
selector: div.selection_unter_ad
grabs:
selector: div.selection_unter_ae
date_day:
# Heute 13:30:04
# Gestern 09:10:10
selector: div.selection_unter_ab:not(:contains("."))
optional: true
filters:
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
- name: append
args: " +01:00" # CET
date_year:
# 30.02.2018 um 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace
args: [" um", ""]
- name: append
args: " +01:00" # CET
- name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
description:
selector: selection_unter_af
seeders:
selector: div.selection_unter_aa
leechers:
selector: div.selection_unter_aaa
downloadvolumefactor:
case:
":root:has(div.onlyup)": 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 36 hours (as seconds = 36 x 60 x 60)
text: 129600
# 3xT

View File

@@ -92,6 +92,7 @@ caps:
- {id: 117, cat: Audio, desc: "Compact Disc Club"}
- {id: 20, cat: Audio/Video, desc: "Music Videos"}
- {id: 118, cat: Audio, desc: "Dream Radio Music"}
- {id: 124, cat: Movies, desc: "VIP Movies"}
modes:
search: [q]

View File

@@ -6,7 +6,9 @@ language: el-GR
type: private
encoding: UTF-8
links:
- http://fantastiko.space/ # https is not supported
- https://fantastiko.space/
legacylinks:
- http://fantastiko.space/
caps:
categorymappings:

View File

@@ -20,14 +20,13 @@ caps:
- {id: 601, cat: TV/Anime, desc: " |- Мультсериалы DVD Master's"}
# Кино, видео, мультипликация и ТВ
# Film, video, animation and TV
- {id: 995, cat: Movies, desc: " |- Экранки с рекламой (фильмы, мультфильмы)"}
- {id: 994, cat: Movies, desc: " |- Новинки с рекламой (фильмы, мультфильмы)"}
- {id: 385, cat: Movies, desc: " |- Экранки (фильмы , мультфильмы)"}
- {id: 987, cat: Movies, desc: " |- Зарубежное кино"}
- {id: 988, cat: Movies, desc: " |- Кино России и СНГ"}
- {id: 337, cat: Movies, desc: " |- Мультфильмы"}
- {id: 72, cat: Movies, desc: " |- DVD, HD Видео (фильмы , мультфильмы)"}
- {id: 1001, cat: Movies, desc: " |- UHD Видео (фильмы , мультфильмы)"}
- {id: 1002, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы [HD/UHD]"}
- {id: 987, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы [SD]"}
- {id: 1003, cat: Movies, desc: " |- Отечественные фильмы , мультфильмы [HD/UHD]"}
- {id: 988, cat: Movies, desc: " |- Отечественные фильмы , мультфильмы [SD]"}
- {id: 337, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы на других языках [SD/HD/UHD]"}
- {id: 994, cat: Movies, desc: " |- Новинки с рекламой (фильмы, мультфильмы) [SD/HD/UHD]"}
- {id: 385, cat: Movies, desc: " |- Экранки (фильмы , мультфильмы) [SD/HD/UHD]"}
- {id: 999, cat: Movies, desc: " |- Фильмы (2021-2022)"}
- {id: 996, cat: Movies, desc: " |- Фильмы (2019-2020)"}
- {id: 921, cat: Movies, desc: " |- Фильмы (2016-2018)"}
@@ -51,7 +50,6 @@ caps:
- {id: 62, cat: Movies, desc: " |- Кино для детей"}
- {id: 962, cat: Movies, desc: " |- Антология отечественного кино"}
- {id: 990, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы и сериалы на языках ближнего.."}
- {id: 993, cat: Movies, desc: " |- Фильмы , мультфильмы и сериалы ближнего зарубежья и СНГ в ор.."}
- {id: 991, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы и сериалы в оригинале"}
- {id: 74, cat: Movies, desc: " |- Зарубежные мультфильмы"}
- {id: 73, cat: Movies, desc: " |- Отечественные мультфильмы"}

View File

@@ -96,8 +96,8 @@ search:
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.Genre }} genre:{{ .Query.Genre }}{{ else }}{{ end }}"
# 0 title, 1 nfo, 2 filelist, 3 title+nfo
blah: "{{ if or .Query.IMDBID .Query.Genre }}3{{ else }}0{{ end }}"
# 0 title, 1 nfo, 2 filelist, 3 title+nfo, 4 imdb
blah: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.Genre }}3{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.Genre }}{{ else }}0{{ end }}"
# 0 active only, 1 dead only
incldead: 0
sort: "{{ .Config.sort }}"

View File

@@ -9,6 +9,7 @@ followredirect: true
# to fetch current domain use https://www.protege-liens.com/Gktorrent
links:
- https://www.gktorrents.cc/
- https://gktorrent.nocensor.click/
legacylinks:
- https://www.gktorrent.org/
- https://www.gktorrent.me/

View File

@@ -175,4 +175,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-04-16
# NexusPHP v1.8.2 2023-05-08

View File

@@ -122,7 +122,7 @@ search:
by: "{{ .Config.type }}"
rows:
selector: td#mcol table.lista > tbody > tr:has(a[href*=bookmark])
selector: td#mcol table.lista > tbody > tr:has(a[href^="magnet:?xt="])
fields:
category:
@@ -132,13 +132,16 @@ search:
- name: querystring
args: category
title:
selector: td:nth-child(2) > a
selector: a[href^="index.php?page=torrent-details"]
details:
selector: a[href^="index.php?page=torrent-details"]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
poster:
selector: a[href^="index.php?page=torrent-details"]
attribute: onmouseover
@@ -146,17 +149,19 @@ search:
- name: regexp
args: "src=(.+?) "
date:
selector: td:nth-child(6)
selector: td:nth-child(7)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy"
size:
selector: td:nth-child(11)
selector: td:nth-child(12)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
grabs:
selector: td:nth-child(11)
downloadvolumefactor:
case:
img[src$="freeleech.gif"]: 0

View File

@@ -19,6 +19,7 @@ caps:
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 409, cat: Other, desc: "Misc/其他"}
- {id: 408, cat: Audio, desc: "Music/音乐"}
- {id: 410, cat: PC, desc: "Softs/软件"}
modes:
search: [q]

View File

@@ -60,6 +60,8 @@ login:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
search:
paths:
@@ -70,9 +72,12 @@ search:
type: json
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
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
@@ -182,11 +187,15 @@ search:
size:
selector: size
downloadvolumefactor:
# api returns 0=false, 1=true
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0: 1 # not free
1: 0 # freeleech
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
@@ -196,4 +205,4 @@ search:
minimumseedtime:
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
# json UNIT3D ???
# json UNIT3D 6.0.4

View File

@@ -98,8 +98,8 @@ search:
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 (not working)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
@@ -188,4 +188,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.33 2023-01-04
# NexusPHP v1.7.37 2023-05-08

View File

@@ -1,193 +0,0 @@
---
id: hellashut
name: HellasHut
description: "HellasHut is a GREEK Private Torrent Tracker for MOVIES / TV / GENERAL"
language: el-GR
type: private
encoding: UTF-8
testlinktorrent: false
links:
- https://hellashut.de/
caps:
categorymappings:
- {id: 28, cat: TV/Anime, desc: "Anime/Cartoon HD"}
- {id: 47, cat: TV/Anime, desc: "Anime/Cartoon HDTV"}
- {id: 48, cat: TV/Anime, desc: "Anime/Cartoon SD"}
- {id: 50, cat: TV/Anime, desc: "Anime/Cartoon SD Emb"}
- {id: 51, cat: TV/Anime, desc: "Anime/Cartoon TV"}
- {id: 77, cat: PC, desc: "Applications DOS"}
- {id: 20, cat: PC, desc: "Applications Linux"}
- {id: 19, cat: PC/Mac, desc: "Applications MAC"}
- {id: 68, cat: PC, desc: "Applications OS2 WARP"}
- {id: 21, cat: PC, desc: "Applications Other"}
- {id: 18, cat: PC/0day, desc: "Applications Windows"}
- {id: 52, cat: Books, desc: "Books/Magazines All"}
- {id: 9, cat: TV/Documentary, desc: "Documentaries All"}
- {id: 53, cat: TV/Documentary, desc: "Documentaries Greek"}
- {id: 54, cat: TV/Documentary, desc: "Documentaries HD"}
- {id: 55, cat: Movies/DVD, desc: "DVD-R All"}
- {id: 17, cat: Console/Other, desc: "Games Other"}
- {id: 11, cat: Console/PS4, desc: "Games PSX"}
- {id: 10, cat: PC/Games, desc: "Games Windows"}
- {id: 13, cat: Console/XBox, desc: "Games Xbox"}
- {id: 56, cat: Other, desc: "Miscellaneous All"}
- {id: 57, cat: PC/Mobile-Other, desc: "Mobile All"}
- {id: 1, cat: Movies/3D, desc: "Movies 3D"}
- {id: 2, cat: Movies/UHD, desc: "Movies 4K"}
- {id: 42, cat: Movies/BluRay, desc: "Movies BluRay"}
- {id: 58, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 4, cat: Movies/HD, desc: "Movies HD"}
- {id: 69, cat: Movies/HD, desc: "Movies HD Packs"}
- {id: 3, cat: Movies/SD, desc: "Movies SD"}
- {id: 67, cat: Movies/SD, desc: "Movies SD Packs"}
- {id: 71, cat: Audio, desc: "Music CDA"}
- {id: 59, cat: Audio, desc: "Music Discographies"}
- {id: 23, cat: Audio/Lossless, desc: "Music FLAC"}
- {id: 22, cat: Audio/MP3, desc: "Music MP3"}
- {id: 25, cat: Audio/Video, desc: "Music Video"}
- {id: 75, cat: Movies/HD, desc: "NO IN SUBS Movies HD"}
- {id: 76, cat: Movies/UHD, desc: "NO SUBS IN Movies 4K"}
- {id: 35, cat: TV/Sport, desc: "Sports HD"}
- {id: 34, cat: TV/Sport, desc: "Sports SD"}
- {id: 5, cat: TV, desc: "TV Greek Movies"}
- {id: 6, cat: TV, desc: "TV Greek Series"}
- {id: 7, cat: TV, desc: "TV Greek Series Packs"}
- {id: 60, cat: TV, desc: "TV Greek Shows"}
- {id: 41, cat: TV/HD, desc: "TV HD"}
- {id: 61, cat: TV, desc: "TV Series"}
- {id: 62, cat: TV, desc: "TV Series Emb"}
- {id: 63, cat: TV, desc: "TV Series Emb Packs"}
- {id: 64, cat: TV/HD, desc: "TV Series HD"}
- {id: 65, cat: TV/HD, desc: "TV Series HD Packs"}
- {id: 66, cat: TV, desc: "TV Series Packs"}
- {id: 73, cat: Movies/BluRay, desc: "UNTOUCHED BluRay"}
- {id: 72, cat: Movies/DVD, desc: "UNTOUCHED DVD"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: /
error:
- selector: td.embedded:contains("Access Denied")
test:
path: /
selector: a[href="account-logout.php"]
download:
selectors:
- selector: a[href^="download.php?id="], a[href^="magnet:?xt="]
attribute: href
search:
paths:
# https://hellashut.de/torrents-search.php?c52=1&search=&cat=0&incldead=1&advanced=1&lang=0&blah=0&freeleech=0&sort=id&order=desc
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 all, 1 notfree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 all, 1 English, 2 French, 3 German, 4 Italian, 5 Japanese, 6 Spanish, 7 Russian, 8 Greek
lang: 0
# 0 name, 1 descr, 2 uploader
blah: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
# 0 all
team: 0
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# does not return imdb link in results
rows:
selector: table.ttable_headinner tr.t-row
fields:
category:
selector: a[href*="cat="]
attribute: href
optional: true
default: 56
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["&hit=1", ""] # avoid redirect
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["&hit=1", ""] # avoid redirect
size:
selector: td:nth-last-child(7)
date:
selector: td:nth-last-child(6)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd-MM-yyyy HH:mm:ss"
grabs:
selector: td:nth-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
downloadvolumefactor:
case:
img[src="pic/freedownload.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 10 day (as seconds = 10 x 24 x 60 x 60)
text: 864000
# TorrentTrader v2-svn

View File

@@ -189,4 +189,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.1 2023-04-21
# NexusPHP v1.8.2 2023-05-08

View File

@@ -0,0 +1,158 @@
---
id: infire
name: Infire
description: "Infire is a SLOVENIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: sl-SI
type: private
encoding: UTF-8
links:
- https://infire.si/
caps:
categorymappings:
- {id: 15, cat: Movies/HD, desc: "HD 720p"}
- {id: 16, cat: Movies/HD, desc: "HD 1080p"}
- {id: 17, cat: Movies/DVD, desc: "DVD"}
- {id: 18, cat: TV/Documentary, desc: "Dokumentarci"}
- {id: 19, cat: Movies/DVD, desc: "DVD/R5"}
- {id: 20, cat: Movies/WEB-DL, desc: "WEB/Rip"}
- {id: 21, cat: Movies/WEB-DL, desc: "WEB/Download"}
- {id: 14, cat: Movies/SD, desc: "XviD"}
- {id: 32, cat: XXX, desc: "XXX"}
- {id: 50, cat: Movies/BluRay, desc: "BluRay 1080p"}
- {id: 49, cat: Movies/UHD, desc: "HD 2160p"}
- {id: 23, cat: TV, desc: "TV"}
- {id: 24, cat: TV/HD, desc: "HD TV"}
- {id: 26, cat: TV/Anime, desc: "Animirano"}
- {id: 28, cat: PC/Games, desc: "PC"}
- {id: 29, cat: PC/ISO, desc: "PC ISO"}
- {id: 30, cat: Console/Other, desc: "GBA"}
- {id: 31, cat: Console/PS3, desc: "PS2"}
- {id: 33, cat: Audio, desc: "Glasba"}
- {id: 34, cat: Console/PS3, desc: "PS3"}
- {id: 35, cat: Console/XBox, desc: "Xbox"}
- {id: 36, cat: Console/PSP, desc: "PSP"}
- {id: 37, cat: TV/Sport, desc: "Sport"}
- {id: 38, cat: PC, desc: "Programi"}
- {id: 39, cat: Books/EBook, desc: "eKnjige"}
- {id: 40, cat: Other, desc: "Slike"}
- {id: 41, cat: Audio/Audiobook, desc: "AudioBook"}
- {id: 42, cat: Audio/Video, desc: "Music DVD"}
- {id: 43, cat: TV/Other, desc: "Videospoti"}
- {id: 44, cat: PC/Mobile-Android, desc: "Android"}
- {id: 45, cat: PC/Mobile-iOS, desc: "iOS"}
- {id: 46, cat: PC/Mac, desc: "Mac"}
- {id: 47, cat: PC, desc: "Linux"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: data
options:
data: created
seeds: seeders
size: size
filename: title
- name: type
type: select
label: Order requested from site
default: DESC
options:
DESC: desc
ASC: asc
login:
method: post
path: login.php
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: font[color="#FF0000"]
test:
path: index.php
selector: a[href^="logout.php"]
search:
paths:
- path: torrents.php
inputs:
# does not support multi categories, defaulting to all.
search: "{{ .Keywords }}"
# 0 all, 1 active, 2 dead
active: 0
# 0 all, 1 classic, 2 silver, 3 gold, 4 gold & silver
gold: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}"
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
rows:
selector: table.lista > tbody > tr.a
fields:
category:
selector: a[href^="torrents.php?category="]
attribute: href
filters:
- name: querystring
args: category
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img
attribute: src
size:
selector: td:nth-child(7)
date:
selector: td:nth-child(6)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy HH:mm:ss"
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
grabs:
selector: td:nth-child(11)
genre:
selector: td:nth-child(2) span
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
img[src="images/gold.png"]: 0
img[src="images/silver.png"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 30 hours (as seconds = 30 x 60 x 60)
text: 108000
# BtiTracker 1.5.8

View File

@@ -0,0 +1,180 @@
---
id: itatorrents
name: ItaTorrents
description: "ItaTorrents is an ITALIAN Private tracker for MOVIES / TV / GENERAL"
language: it-IT
type: private
encoding: UTF-8
links:
- https://itatorrents.xyz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Film"}
- {id: 2, cat: TV, desc: "Serie TV"}
- {id: 3, cat: Audio, desc: "Musica"}
- {id: 4, cat: Console, desc: "Giochi"}
- {id: 5, cat: PC, desc: "Applicazioni"}
- {id: 6, cat: Books/Mags, desc: "Edicola"}
- {id: 7, cat: Books/EBook, desc: "E-Book"}
- {id: 8, cat: Audio/Audiobook, desc: "AudioLibri"}
- {id: 12, cat: Other, desc: "Corsi"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
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://itatorrents.xyz/\" target=\"_blank\">ItaTorrents</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: created_at
options:
created_at: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
- path: "/api/torrents/filter"
response:
type: json
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
api_token: "{{ .Config.apikey }}"
$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
page: 1
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
- name: re_replace # S01 to Stagione 1
args: ["(?i)\\bS0*(\\d+)\\b", "Stagione $1"]
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:
selector: category_id
title:
selector: name
filters:
- name: re_replace
args: ["\\.", " "]
- name: re_replace # Stagione X --> S0X
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
- name: re_replace # Stagione XX --> SXX
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
details:
selector: details_link
download:
selector: download_link
infohash:
selector: info_hash
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(televisione film)", "televisione_film"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
date:
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
selector: created_at
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
case:
0: 1 # normal
1: 2 # double
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 6.5.0

View File

@@ -9,8 +9,6 @@ links:
- https://krazyzone.net/
legacylinks:
- http://krazyzone.net/
certificates:
- 867fcd460bed7ded541674414267a54cc13f6d02 # selfsigned
caps:
categorymappings:
@@ -112,11 +110,6 @@ login:
path: index.php
selector: a[href="account-logout.php"]
download:
selectors:
- selector: td a[href^="download.php?id="]
attribute: href
search:
paths:
# https://krazyzone.net/torrents-search.php?incldead=1&freeleech=0&inclrosub=0&sort=id&order=desc
@@ -135,7 +128,7 @@ search:
order: "{{ .Config.type }}"
rows:
selector: table.ttable_headinner > tbody > tr
selector: table.ttable_headinner > tbody > tr:has(a[href^="download.php?id="])
filters:
- name: andmatch
@@ -156,7 +149,7 @@ search:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="torrents-details.php?id="]
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="torrents-details.php?id="]
@@ -185,23 +178,23 @@ search:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td:nth-child(3)
selector: td:nth-child(4)
date:
# 24.Jul<br>2022<br>07:47
selector: td:nth-child(4)
selector: td:nth-child(5)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "d.MMMyyyyHH:mm"
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
downloadvolumefactor:
case:
img[src="images/free.png"]: 0
img[src="images/free.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1

View File

@@ -207,6 +207,8 @@ search:
optional: true
remove: a, b, img, span
filters:
- name: replace
args: ["|", ""]
- name: dateparse
args: "yyyy-MM-dd hh:mm tt"
date:

View File

@@ -0,0 +1,159 @@
---
id: masters-tb
name: Masters-TB
description: "Masters-TB is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GENERAL"
language: bg-BG
type: semi-private
encoding: windows-1251
links:
- https://masters-tb.com/
caps:
categorymappings:
- {id: 23, cat: TV/Anime, desc: "Анимации"}
- {id: 56, cat: PC/Mobile-Android, desc: "Android"}
- {id: 53, cat: Books/EBook, desc: "e-Books"}
- {id: 17, cat: Console, desc: "Игри/конзоли"}
- {id: 4, cat: PC/Games, desc: "Игри/PC ISO"}
- {id: 21, cat: PC/Games, desc: "Игри/PC Rip"}
- {id: 1, cat: PC/ISO, desc: "Програми/PC ISO"}
- {id: 22, cat: PC, desc: "Програми/други"}
- {id: 57, cat: TV, desc: "Препоръчано MastersTB"}
- {id: 57, cat: Movies, desc: "Препоръчано MastersTB"}
- {id: 6, cat: Audio, desc: "Музика"}
- {id: 12, cat: Audio/Video, desc: "Музика/Видео"}
- {id: 33, cat: Audio/Video, desc: "Музика/DVD-R"}
- {id: 52, cat: Audio/Lossless, desc: "Музика/Lossless"}
- {id: 35, cat: TV, desc: "Сериали/BoxSet"}
- {id: 7, cat: TV, desc: "Сериали/TV"}
- {id: 32, cat: Movies, desc: "Филми/БГ"}
- {id: 55, cat: Movies, desc: "Филми/Asian"}
- {id: 36, cat: Movies, desc: "Филми/BoxSet"}
- {id: 28, cat: Movies, desc: "Филми/Руски"}
- {id: 34, cat: Movies/DVD, desc: "Филми/Руски DVD-R"}
- {id: 20, cat: Movies/DVD, desc: "Филми/DVD-R"}
- {id: 37, cat: Movies/HD, desc: "Филми/HD"}
- {id: 30, cat: TV/Sport, desc: "Филми/Спорт"}
- {id: 19, cat: Movies/SD, desc: "Филми/XviD"}
- {id: 29, cat: TV/Documentary, desc: "Филми/Документални"}
- {id: 54, cat: TV, desc: "TV Show"}
- {id: 2, cat: Other, desc: "Други"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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>Tоренти на страница:</b> setting to <b>100</b> on your account profile. The default is <i>20</i>.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: my.php
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 all, 2 dead
incldead: 1
# 0 name, 1 descr
searchrs: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: "table[width=\"65%\"] > tbody > tr[onmouseover]{{ if .Config.freeleech }}:has(img[src=\"pic/freeleech.png\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
optional: true
attribute: href
poster:
selector: a[href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
files:
selector: td:nth-last-child(8)
date:
# 2023-05-19<br/>14:10:17
selector: td:nth-last-child(6)
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
size:
selector: td:nth-last-child(4)
grabs:
selector: td:nth-last-child(3)
seeders:
selector: td:nth-last-child(2)
leechers:
selector: td:nth-last-child(1)
downloadvolumefactor:
case:
img[src="pic/freeleech.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# engine tbd

View File

@@ -77,6 +77,11 @@ caps:
- {id: 96, cat: Books, desc: " |- Українська художня література"}
- {id: 95, cat: Books, desc: " |- Зарубіжна художня література"}
- {id: 94, cat: Books, desc: " |- Історія, біографістика, спогади"}
- {id: 168, cat: PC, desc: "Програмне забезпечення Операційні системи"}
- {id: 169, cat: PC, desc: "Програмне забезпечення Системні програми"}
- {id: 170, cat: PC, desc: "Програмне забезпечення Офіс, текстові редактори"}
- {id: 171, cat: PC, desc: "Програмне забезпечення Аудіо, відео обробка"}
- {id: 173, cat: PC, desc: "Програмне забезпечення Операційні системи Інше"}
- {id: 23, cat: Movies, desc: "Архів"} # Archive - unlisted
modes:

View File

@@ -0,0 +1,159 @@
---
id: mdan
name: MDAN
description: "Mansão dos Animes (MDAN) is a BRAZILIAN Private Torrent Tracker for ANIME"
language: pt-BR
type: private
encoding: UTF-8
links:
- https://bt.mdan.org/
caps:
categorymappings:
- {id: 5, cat: TV/Anime, desc: "Animes Completo"}
- {id: 1, cat: TV/Anime, desc: "Animes Episódios"}
- {id: 2, cat: TV/Anime, desc: "Animes OVAs"}
- {id: 3, cat: Movies, desc: "Filmes"}
- {id: 6, cat: Movies/Other, desc: "Live"}
- {id: 7, cat: Books/Comics, desc: "Mangá"}
- {id: 4, cat: Audio, desc: "OST"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents por página (Torrents per Page):</b> setting to <b>100</b> on your Perfil (Profile). The default is <i>30</i>.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: :contains("incorret")
test:
path: index.php
selector: a[href^="logout.php?hash_please="]
search:
paths:
- path: browse.php
inputs:
# note: site uses the catsX[]=nn method which cardigann does not support.
search: "{{ .Keywords }}"
# title, descr, genre, all
searchin: title
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 no, 1 yes
only_free: "{{ if .Config.freeleech }}1{{else}}{{end}}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table[style^="width"] > tbody > tr:has(a[href^="details.php?id="]), table[style^="width"] > tbody > tr[id^="kdescr"]
after: 1
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
# titles are abbreviated :-(
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
_id:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: querystring
args: id
download:
text: "download.php?torrent={{ .Result._id }}&ssl=1"
poster:
selector: td:nth-child(9) img
attribute: src
date_day:
# 10:50<br/>Hoje
# 13:15<br/>Ontem
selector: td:nth-child(7):contains("e")
# auto adjusted by site account profile
optional: true
filters:
- name: replace
args: ["Hoje", "Today"]
- name: replace
args: ["Ontem", "Yesterday"]
date_year:
# 18:55<br/>03-05-2023
selector: td:nth-child(7):not(:contains("e"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "HH:mm dd-MM-yyyy"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(6)
files:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(4)
seeders:
selector: a[href$="seeders"]
optional: true
default: 0
leechers:
selector: a[href$="leechers"]
optional: true
default: 0
downloadvolumefactor:
case:
img[src="./pic/free.gif"]: 0
img[src="./pic/silver2.gif"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.4
# U-232

View File

@@ -0,0 +1,169 @@
---
id: metalguru
name: MetalGuru
description: "MetalGuru is a Private Torrent Tracker for General with focus on Music"
language: en-US
type: private
encoding: UTF-8
links:
- https://metalguru.me/
caps:
categorymappings:
- {id: 51, cat: Audio/Lossless, desc: "24bit"}
- {id: 58, cat: TV/Anime, desc: "Anime"}
- {id: 39, cat: PC/Mobile-Other, desc: "Anything Mobile"}
- {id: 1, cat: PC, desc: "Applications"}
- {id: 2, cat: Books, desc: "Books Ebooks & mags"}
- {id: 59, cat: Movies/SD, desc: "Cams"}
- {id: 46, cat: Books, desc: "Documents"}
- {id: 47, cat: Audio/Lossless, desc: "Flac/HD Audio"}
- {id: 61, cat: Console, desc: "Games"}
- {id: 62, cat: Audio, desc: "Karaoke"}
- {id: 45, cat: Other, desc: "Misc"}
- {id: 57, cat: Movies, desc: "Movie Packs"}
- {id: 10, cat: Movies, desc: "Movies"}
- {id: 50, cat: Audio, desc: "MQA"}
- {id: 29, cat: Audio, desc: "Music"}
- {id: 31, cat: Audio/Video, desc: "Music| Movie/Videos"}
- {id: 32, cat: Audio, desc: "Music| Packs"}
- {id: 60, cat: TV, desc: "Toons"}
- {id: 54, cat: TV, desc: "TV"}
- {id: 63, cat: TV, desc: "TV Packs"}
- {id: 56, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
use_ssl: 1
submitme: X
error:
- selector: h2:contains("failed")
message:
selector: td.colhead2
test:
path: browse.php
selector: a[href*="logout.php?hash_please="]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
# title, descr, genre, all
searchin: "{{ if .Query.IMDBID }}descr{{else}}title{{ end }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 no, 1 yes
only_free: "{{ if .Config.freeleech }}1{{else}}0{{end}}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
# no imdbid in results
rows:
selector: table.table-bordered > tbody > tr:has(a[href^="details.php?id="])
# filters:
# - name: andmatch
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
# onmouseover="Tip('<img src=\'https://metalguru.me/bucket/2023/05/75ad78_theofficialtop40singleschart12-05-2023.jpg\' width=
- name: regexp
args: src=\\'(.*?)\\'
files:
selector: td:nth-child(5)
date_day:
# Today<br/>10:20 AM
# Yesterday<br/>08:03 PM
selector: td:nth-child(7):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
# Feb 14 2019<br/>10:20 AM
selector: td:nth-child(7):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "MMM d yyyy hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
seeders:
selector: td:nth-child(10)
leechers:
selector: td:nth-child(11)
downloadvolumefactor:
case:
a.infofree: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 48h freeleech (as seconds = 48 x 60 x 60)
# 36h notfree (as seconds = 36 x 60 x 60)
case:
a.infofree: 172800
"*": 129600
# U-232 v5

View File

@@ -75,8 +75,6 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
logintype: yes
error:
- selector: table:contains("Hiba történt!")
test:

View File

@@ -29,6 +29,51 @@ legacylinks:
- https://nyaa.nocensor.art/
- https://nyaa.mrunblock.guru/
caps:
categorymappings:
# Anime
- {id: 1_0, cat: TV/Anime, desc: "Anime"}
- {id: 1_1, cat: TV/Anime, desc: "Anime music videos"}
- {id: 1_2, cat: TV/Anime, desc: "English subtitled animes"}
- {id: 1_3, cat: TV/Anime, desc: "Non-english subtitled animes"}
- {id: 1_4, cat: TV/Anime, desc: "Raw animes"}
# Anime as Movies (Radarr uses t=movie):
- {id: 1_0, cat: Movies/Other, desc: "Anime"}
- {id: 1_1, cat: Movies/Other, desc: "Anime music videos"}
- {id: 1_2, cat: Movies/Other, desc: "English subtitled animes"}
- {id: 1_3, cat: Movies/Other, desc: "Non-english subtitled animes"}
- {id: 1_4, cat: Movies/Other, desc: "Raw animes"}
# Audio
- {id: 2_0, cat: Audio, desc: "Audio"}
- {id: 2_1, cat: Audio, desc: "Lossless audio"}
- {id: 2_2, cat: Audio, desc: "Lossy audio"}
# Literature
- {id: 3_0, cat: Books, desc: "Literature"}
- {id: 3_1, cat: Books, desc: "Literature english translated"}
- {id: 3_2, cat: Books, desc: "Literature non-english translated"}
- {id: 3_3, cat: Books, desc: "Raw literature"}
# Live
- {id: 4_0, cat: TV, desc: "Live Action"}
- {id: 4_1, cat: TV, desc: "Live Action - English"}
- {id: 4_2, cat: TV, desc: "Live Action - Idol/PV"}
- {id: 4_3, cat: TV, desc: "Live Action - Non-English"}
- {id: 4_4, cat: TV, desc: "Live Action - Raw"}
# Pics
- {id: 5_0, cat: Other, desc: "Pictures"}
- {id: 5_1, cat: Other, desc: "Pictures - Graphics"}
- {id: 5_2, cat: Other, desc: "Pictures - Photos"}
# Software
- {id: 6_0, cat: PC, desc: "Software"}
- {id: 6_1, cat: PC/ISO, desc: "Applications"}
- {id: 6_2, cat: PC/Games, desc: "Games"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: prefer_magnet_links
type: checkbox
@@ -38,6 +83,10 @@ settings:
type: checkbox
label: Improve Sonarr compatibility by trying to add Season information into Release Titles
default: false
- name: radarr_compatibility
type: checkbox
label: Improve Radarr compatibility by removing year information from keywords and adding it to Release Titles
default: false
- name: filter-id
type: select
label: Filter
@@ -91,55 +140,15 @@ settings:
desc: desc
asc: asc
caps:
categorymappings:
# Anime
- {id: 1_0, cat: TV/Anime, desc: "Anime"}
- {id: 1_1, cat: TV/Anime, desc: "Anime music videos"}
- {id: 1_2, cat: TV/Anime, desc: "English subtitled animes"}
- {id: 1_3, cat: TV/Anime, desc: "Non-english subtitled animes"}
- {id: 1_4, cat: TV/Anime, desc: "Raw animes"}
# Anime as Movies (Radarr uses t=movie):
- {id: 1_0, cat: Movies/Other, desc: "Anime"}
- {id: 1_1, cat: Movies/Other, desc: "Anime music videos"}
- {id: 1_2, cat: Movies/Other, desc: "English subtitled animes"}
- {id: 1_3, cat: Movies/Other, desc: "Non-english subtitled animes"}
- {id: 1_4, cat: Movies/Other, desc: "Raw animes"}
# Audio
- {id: 2_0, cat: Audio, desc: "Audio"}
- {id: 2_1, cat: Audio, desc: "Lossless audio"}
- {id: 2_2, cat: Audio, desc: "Lossy audio"}
# Literature
- {id: 3_0, cat: Books, desc: "Literature"}
- {id: 3_1, cat: Books, desc: "Literature english translated"}
- {id: 3_2, cat: Books, desc: "Literature non-english translated"}
- {id: 3_3, cat: Books, desc: "Raw literature"}
# Live
- {id: 4_0, cat: TV, desc: "Live Action"}
- {id: 4_1, cat: TV, desc: "Live Action - English"}
- {id: 4_2, cat: TV, desc: "Live Action - Idol/PV"}
- {id: 4_3, cat: TV, desc: "Live Action - Non-English"}
- {id: 4_4, cat: TV, desc: "Live Action - Raw"}
# Pics
- {id: 5_0, cat: Other, desc: "Pictures"}
- {id: 5_1, cat: Other, desc: "Pictures - Graphics"}
- {id: 5_2, cat: Other, desc: "Pictures - Photos"}
# Software
- {id: 6_0, cat: PC, desc: "Software"}
- {id: 6_1, cat: PC/ISO, desc: "Applications"}
- {id: 6_2, cat: PC/Games, desc: "Games"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
book-search: [q]
allowrawsearch: true
search:
paths:
- path: "?q={{ .Keywords }}&f={{ .Config.filter-id }}&c={{ .Config.cat-id }}&s={{ .Config.sort }}&o={{ .Config.type }}"
# strip 0 from start of episode number - #11019
- path: "?q={{ if .Keywords }}{{ re_replace .Keywords \" 0(\\d{1})\" \" $1\" }}{{ else }}&p=2{{ end }}&f={{ .Config.filter-id }}&c={{ .Config.cat-id }}&s={{ .Config.sort }}&o={{ .Config.type }}"
- path: "?q={{ if .Keywords }}{{ re_replace .Keywords \"\\b0(\\d{1})\\b\" \"$1\" }}{{ else }}&p=2{{ end }}&f={{ .Config.filter-id }}&c={{ .Config.cat-id }}&s={{ .Config.sort }}&o={{ .Config.type }}"
keywordsfilters:
- name: re_replace
args: [" *\\b((?:19|20)\\d{2})\\b", "{{ if .Config.radarr_compatibility }}{{ else }} $1{{ end }}"]
rows:
selector: tr.default,tr.danger,tr.success
@@ -167,8 +176,16 @@ search:
filters:
- name: append
args: " Spanish"
title_keyword_year:
text: "{{ .Query.Keywords }}"
filters:
- name: regexp
args: "\\b((19|20)\\d{2})\\b"
title_phase2:
text: "{{ or (.Result.title_phase1) (.Result.title_default) }}"
filters:
- name: re_replace
args: ["^(\\[.+?\\] ?)?(\\[.+?\\] ?)?(.+?)(\\[)", "$1$2$3{{ if .Config.radarr_compatibility }} {{ .Result.title_keyword_year }} $4{{ else }}$4{{ end }}"]
title_phase3:
text: "{{ .Result.title_phase2 }}"
filters:

View File

@@ -86,6 +86,7 @@ login:
error:
- selector: td.embedded:has(h2:contains("Login failed!"))
- selector: td.embedded:has(h2:contains("Failed"))
- selector: td.embedded:has(h2:contains("Login Locked!"))
test:
path: index.php
selector: a[href="logout.php"]

View File

@@ -188,4 +188,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-01-11
# NexusPHP v1.8.2 2023-05-08

View File

@@ -162,4 +162,4 @@ search:
text: 1.0
description:
selector: short_description
# engine n/a
# engine BtiTracker

View File

@@ -167,4 +167,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-01-16
# NexusPHP v1.8.0 2023-04-16

View File

@@ -0,0 +1,167 @@
---
id: ptitzmx
name: PT分享站
description: "PT分享站 (itzmx) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.itzmx.com/
caps:
categorymappings:
- {id: 405, cat: TV/Anime, desc: "Anime.动画"}
- {id: 404, cat: Books/Comics, desc: "Comics.漫画"}
- {id: 408, cat: Audio, desc: "Music.音乐"}
- {id: 401, cat: Movies, desc: "Movies.电影"}
- {id: 402, cat: TV, desc: "TV.电视剧"}
- {id: 414, cat: Movies/BluRay, desc: "MoviesBluray.蓝光"}
- {id: 410, cat: PC, desc: "Appz.软件"}
- {id: 411, cat: Console, desc: "Games.游戏"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }} {{ else }}{{ end }}{{ .Keywords }}"
# 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 (does not work)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
attribute: title
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
date_elapsed:
# time type: time elapsed (default)
selector: td: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: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 }}"
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, img
# NexusPHP v1.5 2014-04-14

View File

@@ -150,4 +150,4 @@ search:
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
text: 604800
# NexusPHP v1.8.0 2023-02-08
# NexusPHP Standard v1.5 Beta 4 2010-09-19

View File

@@ -8,6 +8,7 @@ encoding: UTF-8
requestDelay: 2
links:
- https://solidtorrents.to/
- https://solidtorrents.nocensor.click/
legacylinks:
- https://solidtorrents.net/

View File

@@ -192,4 +192,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-02-21
# NexusPHP v1.8.2 2023-05-08

View File

@@ -12,6 +12,7 @@ links:
- https://www.torlock.com/
- https://torlock.unblockit.asia/
- https://torlock.mrunblock.life/
- https://torlock.nocensor.click/
legacylinks:
- https://torlock.com/
- https://torlock.unblockit.cam/

View File

@@ -38,7 +38,7 @@ caps:
- {id: 153, cat: Audio/Lossless, desc: "Audio FLAC"}
- {id: 52, cat: Audio/MP3, desc: "Audio Pack mp3"}
- {id: 154, cat: Audio/Lossless, desc: "Audio Pack FLAC"}
- {id: 120, cat: Audio/Video, desc: "Audio Video"}
- {id: 120, cat: Audio/Video, desc: "Audio Videos"}
- {id: 162, cat: Audio/Audiobook, desc: "Audio ABooks"}
# Software
- {id: 12, cat: PC/0day, desc: "Software Windows"}

View File

@@ -10,6 +10,7 @@ links:
- https://www.torrentdownload.info/
- https://torrentdownload.unblockit.asia/
- https://torrentdownload.mrunblock.life/
- https://torrentdownload.nocensor.click/
legacylinks:
- https://torrentdownload.nocensor.space/
- https://torrentdownload.nocensor.work/

View File

@@ -11,6 +11,7 @@ links:
- https://www.torrentfunk2.com/
- https://torrentfunk.unblockit.asia/
- https://torrentfunk.mrunblock.life/
- https://torrentfunk.nocensor.click/
legacylinks:
- https://torrentfunk.nocensor.space/
- https://torrentfunk.nocensor.work/

View File

@@ -84,13 +84,13 @@ settings:
- name: password
type: password
label: Password
- name: 2facode
- name: alt2fatoken
type: text
label: 2FA code
- name: info_2fa
label: Alt 2FA Token
- name: info_alt2fatoken
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 TorrentLeech Web Site. Otherwise just leave it empty."
label: "About Alt 2FA Token"
default: "(Site Profile => Alt 2FA Token) Only fill in the <b>Alt 2FA Token</b> if you have enabled <b>2FA</b> on the TorrentLeech Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -126,7 +126,7 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
otpkey: "{{ .Config.2facode }}"
alt2FAToken: "{{ .Config.alt2fatoken }}"
error:
- selector: p.text-danger
- selector: .login-container h2:contains("One Time Password")

View File

@@ -7,10 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq255.com/
- https://torrentqq257.com/
legacylinks:
- https://torrentqq240.com/
- https://torrentqq241.com/
- https://torrentqq242.com/
- https://torrentqq243.com/
- https://torrentqq244.com/
@@ -25,6 +23,8 @@ legacylinks:
- https://torrentqq252.com/
- https://torrentqq253.com/
- https://torrentqq254.com/
- https://torrentqq255.com/
- https://torrentqq256.com/
caps:
categorymappings:

View File

@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentsir103.com/
- https://torrentsir105.com/
legacylinks:
- https://torrentsir90.com/
- http://torrentsir91.com/
@@ -29,6 +29,10 @@ legacylinks:
- http://torrentsir102.com/
- https://torrentsir102.com/
- http://torrentsir103.com/
- https://torrentsir103.com/
- http://torrentsir104.com/
- https://torrentsir104.com/
- http://torrentsir105.com/
caps:
categorymappings:

View File

@@ -126,7 +126,7 @@ search:
optional: true
filters:
- name: re_replace
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
args: ["[ ]at|[//\xa0\\s,]+", " "]
date_year:
# February 09, 2019, 06:35:08 AM
selector: td:nth-child(5):not(:contains("day"))
@@ -134,7 +134,7 @@ search:
optional: true
filters:
- name: re_replace
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
args: ["[//\xa0\\s,]+", " "]
- name: dateparse
args: "MMMM dd yyyy hh:mm:ss tt"
date:

View File

@@ -181,4 +181,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.1 2023-04-21
# NexusPHP v1.8.2 2023-05-08

View File

@@ -9,6 +9,7 @@ links:
- https://yourbittorrent.com/
- https://yourbittorrent2.com/
- https://yourbittorrent.mrunblock.life/
- https://yourbittorrent.nocensor.click/
legacylinks:
- https://yourbittorrent.host/
- https://yourbittorrent.nocensor.space/

View File

@@ -186,4 +186,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.1 2023-04-21
# NexusPHP v1.8.2 2023-05-08

View File

@@ -27,13 +27,13 @@ namespace Jackett.Common.Indexers.Abstract
protected virtual string LoginUrl => SiteLink + "login.php";
protected virtual string APIUrl => SiteLink + "ajax.php";
protected virtual string DownloadUrl => SiteLink + "torrents.php?action=download&usetoken=" + (useTokens ? "1" : "0") + (usePassKey ? "&torrent_pass=" + configData.PassKey.Value : "") + (useAuthKey ? "&authkey=" + configData.AuthKey.Value : "") + "&id=";
protected virtual string DownloadUrl => SiteLink + "torrents.php?action=download" + (useTokens ? "&usetoken=1" : "") + (usePassKey ? "&torrent_pass=" + configData.PassKey.Value : "") + (useAuthKey ? "&authkey=" + configData.AuthKey.Value : "") + "&id=";
protected virtual string DetailsUrl => SiteLink + "torrents.php?torrentid=";
protected virtual string PosterUrl => SiteLink;
protected virtual string AuthorizationName => "Authorization";
protected virtual string AuthorizationFormat => "{0}";
protected virtual int ApiKeyLength => 41;
protected virtual string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "usetoken=0");
protected virtual string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
protected bool useTokens;
protected string cookie = "";
@@ -294,7 +294,7 @@ namespace Jackett.Common.Indexers.Abstract
OnParseError(response.ContentString, ex);
}
return releases;
return releases.OrderByDescending(o => o.PublishDate).ToArray();
}
// hook to add/modify the parsed information, return false to exclude the torrent from the results
@@ -418,7 +418,7 @@ namespace Jackett.Common.Indexers.Abstract
|| html.Contains("This torrent is too large.")
|| html.Contains("You cannot use tokens here"))
{
// download again with usetoken=0
// download again without usetoken=1
var requestLinkNew = FlipOptionalTokenString(requestLink);
content = await base.Download(new Uri(requestLinkNew), RequestType.GET, headers: headers);
}

View File

@@ -134,7 +134,9 @@ namespace Jackett.Common.Indexers
};
if (configData.DownloadableOnly.Value)
{
queryCollection.Set("dlable", "1");
}
searchUrl += "?" + queryCollection.GetQueryString();
@@ -153,7 +155,7 @@ namespace Jackett.Common.Indexers
var dom = parser.ParseDocument(results);
var rows = dom.QuerySelectorAll("table tr");
foreach (var row in rows.Skip(1))
foreach (var (row, index) in rows.Skip(1).Select((v, i) => (v, i)))
{
var downloadVolumeFactor = row.QuerySelector("img[alt=\"Gold Torrent\"]") != null ? 0 : row.QuerySelector("img[alt=\"Silver Torrent\"]") != null ? 0.5 : 1;
@@ -185,6 +187,13 @@ namespace Jackett.Common.Indexers
var categoryLink = row.QuerySelector("td:nth-of-type(1) a")?.GetAttribute("href") ?? string.Empty;
var categoryId = ParseUtil.GetArgumentFromQueryString(categoryLink, "cat");
var publishedDate = DateTime.ParseExact(row.QuerySelector("td:nth-of-type(5)").TextContent, "dd MMM yy", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
if (publishedDate.Date == DateTime.Today)
{
publishedDate = publishedDate.Date + DateTime.Now.TimeOfDay - TimeSpan.FromMinutes(index);
}
var release = new ReleaseInfo
{
Guid = new Uri(infoUrl),
@@ -192,7 +201,7 @@ namespace Jackett.Common.Indexers
Link = new Uri(downloadUrl),
Title = title,
Category = MapTrackerCatToNewznab(categoryId),
PublishDate = DateTime.ParseExact(row.QuerySelector("td:nth-of-type(5)").TextContent, "dd MMM yy", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal),
PublishDate = publishedDate,
Size = ParseUtil.GetBytes(row.QuerySelector("td:nth-of-type(6)").TextContent.Trim()),
Seeders = seeders,
Peers = ParseUtil.CoerceInt(connections[1]) + seeders,

View File

@@ -9,8 +9,10 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Dom;
using AngleSharp.Html;
using AngleSharp.Html.Dom;
using AngleSharp.Html.Parser;
using AngleSharp.Text;
using AngleSharp.Xml.Parser;
using Jackett.Common.Helpers;
using Jackett.Common.Models;
@@ -608,8 +610,18 @@ namespace Jackett.Common.Indexers
foreach (var input in inputs)
{
var name = input.GetAttribute("name");
if (name == null)
if (name == null || input.IsDisabled())
{
continue;
}
if (input is IHtmlInputElement element &&
element.Type.IsOneOf(InputTypeNames.Checkbox, InputTypeNames.Radio) &&
!input.IsChecked())
{
continue;
}
var value = input.GetAttribute("value") ?? "";

View File

@@ -28,10 +28,9 @@ namespace Jackett.Common.Indexers
public override string Id => "divxtotal";
public override string Name => "DivxTotal";
public override string Description => "DivxTotal is a SPANISH site for Movies, TV series and Software";
public override string SiteLink { get; protected set; } = "https://www.divxtotal.wf/";
public override string SiteLink { get; protected set; } = "https://www.divxtotal.win/";
public override string[] LegacySiteLinks => new[]
{
"https://www.divxtotal.one/",
"https://www.divxtotal.ch/",
"https://www.divxtotal.nz/",
"https://www.divxtotal.li/",
@@ -45,7 +44,8 @@ namespace Jackett.Common.Indexers
"https://www.divxtotal.ms/",
"https://www.divxtotal.fi/",
"https://www.divxtotal.cat/",
"https://www.divxtotal.pl/"
"https://www.divxtotal.pl/",
"https://www.divxtotal.wf/"
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -25,10 +25,10 @@ namespace Jackett.Common.Indexers
public override string Id => "dontorrent";
public override string Name => "DonTorrent";
public override string Description => "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL";
public override string SiteLink { get; protected set; } = "https://dontorrent.observer/";
public override string SiteLink { get; protected set; } = "https://dontorrent.discount/";
public override string[] AlternativeSiteLinks => new[]
{
"https://dontorrent.observer/",
"https://dontorrent.discount/",
"https://todotorrents.net/",
"https://tomadivx.net/",
"https://seriesblanco.one/",
@@ -37,15 +37,6 @@ namespace Jackett.Common.Indexers
};
public override string[] LegacySiteLinks => new[]
{
"https://dontorrent.gs/",
"https://dontorrent.gy/",
"https://dontorrent.click/",
"https://dontorrent.fail/",
"https://dontorrent.futbol/",
"https://dontorrent.mba/",
"https://dontorrent.army/",
"https://dontorrent.blue/",
"https://dontorrent.beer/",
"https://dontorrent.surf/",
"https://dontorrent.how/",
"https://dontorrent.casa/",
@@ -58,7 +49,9 @@ namespace Jackett.Common.Indexers
"https://dontorrent.pictures/",
"https://dontorrent.ms/",
"https://dontorrent.care/",
"https://dontorrent.cash/"
"https://dontorrent.cash/",
"https://dontorrent.observer/",
"https://dontorrent.company/"
};
public override string Language => "es-ES";

View File

@@ -24,7 +24,8 @@ namespace Jackett.Common.Indexers
{
"https://www.erai-raws.info/",
"https://beta.erai-raws.info/",
"https://erairaws.mrunblock.guru/"
"https://erairaws.mrunblock.life/",
"https://erairaws.nocensor.click/"
};
public override string[] LegacySiteLinks => new[]
{
@@ -34,7 +35,8 @@ namespace Jackett.Common.Indexers
"https://erairaws.nocensor.sbs/",
"https://erairaws.nocensor.world/",
"https://erairaws.nocensor.lol/",
"https://erairaws.nocensor.art/"
"https://erairaws.nocensor.art/",
"https://erairaws.mrunblock.guru/"
};
public override string Language => "en-US";
public override string Type => "semi-private";

View File

@@ -33,7 +33,7 @@ namespace Jackett.Common.Indexers
protected override string APIUrl => SiteLink + "api.php";
protected override string AuthorizationName => "X-API-Key";
protected override int ApiKeyLength => 64;
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "");
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
public GazelleGamesApi(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(configService: configService,

View File

@@ -1,8 +1,12 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Extensions;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
@@ -67,7 +71,14 @@ namespace Jackett.Common.Indexers
query.ImdbID = null;
}
return await base.PerformQuery(query);
var releases = await base.PerformQuery(query);
if (query.SearchTerm.IsNullOrWhiteSpace())
{
releases = releases.Take(50).ToList();
}
return releases;
}
protected override bool ReleaseInfoPostParse(ReleaseInfo release, JObject torrent, JObject result)
@@ -152,6 +163,15 @@ namespace Jackett.Common.Indexers
release.Category = new List<int> { TorznabCatType.Movies.ID };
if (!string.IsNullOrEmpty(groupSubName))
release.Description = groupSubName;
var time = torrent.Value<string>("time");
if (time.IsNotNullOrWhiteSpace())
{
// Time is Chinese Time, add 8 hours difference from UTC
release.PublishDate = DateTime.ParseExact($"{time} +08:00", "yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
}
return true;
}
}

View File

@@ -26,10 +26,10 @@ namespace Jackett.Common.Indexers
public override string Id => "mejortorrent";
public override string Name => "MejorTorrent";
public override string Description => "MejorTorrent - Hay veces que un torrent viene mejor! :)";
public override string SiteLink { get; protected set; } = "https://www1.mejortorrent.rip/";
public override string SiteLink { get; protected set; } = "https://www2.mejortorrent.rip/";
public override string[] AlternativeSiteLinks => new[]
{
"https://www1.mejortorrent.rip/",
"https://www2.mejortorrent.rip/",
"https://mejortorrent.unblockit.asia/"
};
public override string[] LegacySiteLinks => new[]
@@ -63,7 +63,8 @@ namespace Jackett.Common.Indexers
"https://mejortorrent.unblockit.bio/",
"https://mejortorrent.wtf/",
"https://mejortorrent.unblockit.boo/",
"https://mejortorrent.unblockit.click/"
"https://mejortorrent.unblockit.click/",
"https://www1.mejortorrent.rip/"
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -24,7 +24,7 @@ namespace Jackett.Common.Indexers
protected override string DownloadUrl => SiteLink + "ajax.php?action=download" + (useTokens ? "&usetoken=1" : "") + "&id=";
protected override string AuthorizationFormat => "token {0}";
protected override int ApiKeyLength => 118;
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "");
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
public Orpheus(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(configService: configService,

View File

@@ -22,7 +22,7 @@ namespace Jackett.Common.Indexers
public override TorznabCapabilities TorznabCaps => SetCapabilities();
protected override string DownloadUrl => SiteLink + "ajax.php?action=download&usetoken=" + (useTokens ? "1" : "0") + "&id=";
protected override string DownloadUrl => SiteLink + "ajax.php?action=download" + (useTokens ? "&usetoken=1" : "") + "&id=";
public Redacted(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,

View File

@@ -26,7 +26,8 @@ namespace Jackett.Common.Indexers
public override string[] AlternativeSiteLinks => new[]
{
"https://subsplease.org/",
"https://subsplease.mrunblock.guru/"
"https://subsplease.mrunblock.life/",
"https://subsplease.nocensor.click/"
};
public override string[] LegacySiteLinks => new[]
{
@@ -36,7 +37,8 @@ namespace Jackett.Common.Indexers
"https://subsplease.nocensor.sbs/",
"https://subsplease.nocensor.world/",
"https://subsplease.nocensor.lol/",
"https://subsplease.nocensor.art/"
"https://subsplease.nocensor.art/",
"https://subsplease.mrunblock.guru/"
};
public override string Language => "en-US";
public override string Type => "public";

View File

@@ -117,10 +117,14 @@ namespace Jackett.Common.Indexers
caps.Categories.AddCategoryMapping(107, TorznabCatType.PCMac, "Games PC/Mac");
caps.Categories.AddCategoryMapping(11, TorznabCatType.Movies, "Movie Boxsets");
caps.Categories.AddCategoryMapping(118, TorznabCatType.MoviesUHD, "Movie Boxsets/Boxset 4K");
caps.Categories.AddCategoryMapping(143, TorznabCatType.MoviesHD, "Movie Boxsets/Boxset HD");
caps.Categories.AddCategoryMapping(119, TorznabCatType.MoviesHD, "Movie Boxsets/Boxset HEVC");
caps.Categories.AddCategoryMapping(144, TorznabCatType.MoviesSD, "Movie Boxsets/Boxset SD");
caps.Categories.AddCategoryMapping(12, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(117, TorznabCatType.MoviesUHD, "Movies 4K");
caps.Categories.AddCategoryMapping(145, TorznabCatType.MoviesHD, "Movies HD");
caps.Categories.AddCategoryMapping(100, TorznabCatType.MoviesHD, "Movies HEVC");
caps.Categories.AddCategoryMapping(146, TorznabCatType.MoviesSD, "Movies SD");
caps.Categories.AddCategoryMapping(13, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(135, TorznabCatType.AudioLossless, "Music/FLAC");
caps.Categories.AddCategoryMapping(136, TorznabCatType.Audio, "Music Boxset");
@@ -128,21 +132,25 @@ namespace Jackett.Common.Indexers
caps.Categories.AddCategoryMapping(9, TorznabCatType.Other, "Other");
caps.Categories.AddCategoryMapping(125, TorznabCatType.Other, "Other/Pictures");
caps.Categories.AddCategoryMapping(54, TorznabCatType.TVOther, "Soaps");
caps.Categories.AddCategoryMapping(83, TorznabCatType.TVOther, "Specials");
caps.Categories.AddCategoryMapping(139, TorznabCatType.TV, "TOTM (Freeleech)");
caps.Categories.AddCategoryMapping(138, TorznabCatType.TV, "TOTW (x2 upload)");
caps.Categories.AddCategoryMapping(139, TorznabCatType.Movies, "TOTM (Freeleech)");
caps.Categories.AddCategoryMapping(138, TorznabCatType.Movies, "TOTW (x2 upload)");
caps.Categories.AddCategoryMapping(20, TorznabCatType.TVSport, "Sports");
caps.Categories.AddCategoryMapping(88, TorznabCatType.TVSport, "Sports/Football");
caps.Categories.AddCategoryMapping(86, TorznabCatType.TVSport, "Sports/MotorSports");
caps.Categories.AddCategoryMapping(89, TorznabCatType.TVSport, "Sports/Olympics");
caps.Categories.AddCategoryMapping(83, TorznabCatType.Movies, "TOTM");
caps.Categories.AddCategoryMapping(137, TorznabCatType.Movies, "TOTW");
caps.Categories.AddCategoryMapping(126, TorznabCatType.TV, "TV");
caps.Categories.AddCategoryMapping(127, TorznabCatType.TVUHD, "TV 4K");
caps.Categories.AddCategoryMapping(129, TorznabCatType.TVHD, "TV HD");
caps.Categories.AddCategoryMapping(130, TorznabCatType.TVHD, "TV HEVC");
caps.Categories.AddCategoryMapping(128, TorznabCatType.TVSD, "TV SD");
caps.Categories.AddCategoryMapping(21, TorznabCatType.TVSD, "TV Boxsets");
caps.Categories.AddCategoryMapping(120, TorznabCatType.TVUHD, "Boxset TV-4K");
caps.Categories.AddCategoryMapping(76, TorznabCatType.TVHD, "Boxset TV-HD");
caps.Categories.AddCategoryMapping(97, TorznabCatType.TVHD, "Boxset TV-HEVC");
caps.Categories.AddCategoryMapping(120, TorznabCatType.TVUHD, "Boxset TV 4K");
caps.Categories.AddCategoryMapping(76, TorznabCatType.TVHD, "Boxset TV HD");
caps.Categories.AddCategoryMapping(97, TorznabCatType.TVHD, "Boxset TV HEVC");
caps.Categories.AddCategoryMapping(147, TorznabCatType.TVSD, "Boxset TV SD");
return caps;
}

View File

@@ -316,7 +316,6 @@ namespace Jackett.Updater
"Definitions/channelx.yml",
"Definitions/cili180.yml", // renamed to liaorencili
"Definitions/cilipro.yml",
"Definitions/cinefilhd.yml",
"Definitions/cloudtorrents.yml",
"Definitions/cooltorrent.yml",
"Definitions/cpasbiensi.yml",
@@ -326,7 +325,6 @@ namespace Jackett.Updater
"Definitions/cztorrent.yml",
"Definitions/danishbytes.yml", // migrated to C#
"Definitions/dariustracker.yml",
"Definitions/dark-shadow.yml",
"Definitions/darktracker.yml",
"Definitions/darmowetorenty.yml", // migrated to C#
"Definitions/datascene.yml", // switch to *-API #8682
@@ -402,6 +400,7 @@ namespace Jackett.Updater
"Definitions/hdreactor.yml", // renamed to hdhouse
"Definitions/hdspain.yml",
"Definitions/hdstreet.yml",
"Definitions/hellashut.yml",
"Definitions/hellastz.yml",
"Definitions/hidden-palace.yml",
"Definitions/hon3yhd-net.yml",