mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-18 20:45:29 +01:00
Compare commits
53 Commits
v0.20.2260
...
v0.20.2319
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fd0fa83c0f | ||
|
|
acc6d5d370 | ||
|
|
8078c273df | ||
|
|
3ca1a08e30 | ||
|
|
9b826fa898 | ||
|
|
7f5114cbb3 | ||
|
|
52af9cc1ef | ||
|
|
b662db552b | ||
|
|
ad515c6c25 | ||
|
|
4a11ebe695 | ||
|
|
94337b88bc | ||
|
|
f9de21f65b | ||
|
|
1401676fb5 | ||
|
|
b28b1d689d | ||
|
|
3becb28f26 | ||
|
|
0d50097b80 | ||
|
|
66c8c62ffe | ||
|
|
af9fecdb16 | ||
|
|
e593689172 | ||
|
|
784a631405 | ||
|
|
bc1cf8fd8e | ||
|
|
668c07c8c1 | ||
|
|
6a3ee05cb3 | ||
|
|
abdc199efa | ||
|
|
e4342cea91 | ||
|
|
465adbfe47 | ||
|
|
e494cd0bc3 | ||
|
|
32fbdd7961 | ||
|
|
5022611d7a | ||
|
|
5cd2d07f41 | ||
|
|
bbb98bed79 | ||
|
|
e2376213a1 | ||
|
|
488dfb2851 | ||
|
|
1de7bdf028 | ||
|
|
0809b2f2ff | ||
|
|
58125a832d | ||
|
|
45ef8e0581 | ||
|
|
5ca5372ae0 | ||
|
|
a9349b62ce | ||
|
|
04000bea5d | ||
|
|
c723adf044 | ||
|
|
0bd82dda0c | ||
|
|
1fb92b204c | ||
|
|
9ced3c4fd5 | ||
|
|
4312d41a44 | ||
|
|
22647296cb | ||
|
|
8a062aa99f | ||
|
|
573aba97cb | ||
|
|
c299f26755 | ||
|
|
5a92e22640 | ||
|
|
068ea8ebc7 | ||
|
|
7b4f02b67b | ||
|
|
6444617554 |
@@ -115,7 +115,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* PornoTorrent
|
||||
* Portugas
|
||||
* ProPorn
|
||||
* ProStyleX
|
||||
* Rapidzona
|
||||
* RARBG
|
||||
* RinTor
|
||||
@@ -179,6 +178,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Anime-Free
|
||||
* AnimeLayer
|
||||
* ArenaBG
|
||||
* BitNova
|
||||
* BookTracker
|
||||
* BootyTape
|
||||
* Catorrent
|
||||
@@ -198,7 +198,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HD-CzTorrent
|
||||
* HDGalaKtik
|
||||
* HunTorrent
|
||||
* KinoNaVse100
|
||||
* Kinorun
|
||||
* Kinozal
|
||||
* LostFilm.tv
|
||||
@@ -227,7 +226,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Toloka.to
|
||||
* Torrent-Explosiv
|
||||
* Torrents-Local
|
||||
* Torrents-Town (T-T)
|
||||
* TribalMixes
|
||||
* Union Fansub
|
||||
* YggTorrent (YGG)
|
||||
@@ -432,6 +430,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* MIRcrew
|
||||
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
|
||||
* MNV (Max-New-Vision)
|
||||
* MOJBLiNK
|
||||
* Mononoké-BT [![(invite needed)][inviteneeded]](#)
|
||||
* MoreThanTV (MTV)
|
||||
* MouseBits
|
||||
@@ -496,6 +495,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* SceneTime
|
||||
* SDBits [![(invite needed)][inviteneeded]](#)
|
||||
* Secret Cinema
|
||||
* SeedFile
|
||||
* Shareisland
|
||||
* Shazbat [![(invite needed)][inviteneeded]](#)
|
||||
* SiamBIT
|
||||
|
||||
@@ -1,147 +0,0 @@
|
||||
---
|
||||
id: 3evils-api
|
||||
name: 3Evils (API)
|
||||
description: "3Evils is a Private site for MOVIES / TV / MUSIC "
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://3evils.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: PC/Games, desc: "Game"}
|
||||
- {id: 5, cat: PC/0day, desc: "Application"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-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://3evils.net/\" target =_blank>3Evils</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 }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
selector: created_at
|
||||
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
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
# minimumseedtime:
|
||||
# # 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
# text: 172800
|
||||
# json UNIT3D 6.3.0
|
||||
184
src/Jackett.Common/Definitions/3evils.yml
Normal file
184
src/Jackett.Common/Definitions/3evils.yml
Normal file
@@ -0,0 +1,184 @@
|
||||
---
|
||||
id: 3evils
|
||||
name: 3Evils
|
||||
description: "3Evils is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://3evils.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: PC, desc: "Apps"}
|
||||
- {id: 24, cat: Books, desc: "Books/Magazines"}
|
||||
- {id: 12, cat: TV/Anime, desc: "Movies/Anime"}
|
||||
- {id: 31, cat: Movies, desc: "Movies/FooKaS RG"}
|
||||
- {id: 84, cat: Movies, desc: "Movies/Kids"}
|
||||
- {id: 55, cat: Movies/WEB-DL, desc: "Movies/WEB-DL"}
|
||||
- {id: 70, cat: Movies/WEB-DL, desc: "Movies/WEBRip"}
|
||||
- {id: 71, cat: Movies/HD, desc: "Movies/x265"}
|
||||
- {id: 64, cat: Movies/SD, desc: "Movies/XViD"}
|
||||
- {id: 26, cat: Audio/Lossless, desc: "Music/FLAC"}
|
||||
- {id: 10, cat: Audio/MP3, desc: "Music/MP3"}
|
||||
- {id: 63, cat: Audio/Video, desc: "Music/Videos"}
|
||||
- {id: 29, cat: Movies, desc: "Movies/Packs"}
|
||||
- {id: 19, cat: Audio, desc: "Music/Packs"}
|
||||
- {id: 61, cat: TV/Anime, desc: "TV/Anime"}
|
||||
- {id: 85, cat: TV, desc: "TV/Kids"}
|
||||
- {id: 86, cat: TV, desc: "TV/Packs"}
|
||||
- {id: 82, cat: TV/Sport, desc: "TV/Sports"}
|
||||
- {id: 36, cat: TV/HD, desc: "TV/x265"}
|
||||
- {id: 45, cat: TV/SD, desc: "TV/XViD"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile. The default is <i>15</i>.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
use_ssl: 1
|
||||
perm_ssl: ""
|
||||
error:
|
||||
- selector: td.embedded:contains("Login failed!")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href*="/logout.php?hash_please="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.3evils.net/browse.php?c16=1&c17=1&c3=1&c4=1&search=&searchin=title&incldead=0&only_free=1
|
||||
- path: browse.php
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# title, descr, genre, all
|
||||
searchin: title
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.table-bordered tbody tr:has(a[href^="download.php?torrent="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Tip\\('<b>(.*?)</b>"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
# onmouseover="Tip('<b>blahblah /><img src=\'img.php/tvmaze/80.jpg\' blahblah />');"
|
||||
# <img src=\'./pic/noposter.png\'
|
||||
- name: regexp
|
||||
args: "src=\\\\'(.+?)\\\\'"
|
||||
- name: replace
|
||||
args: ["./pic/noposter.png", ""]
|
||||
files:
|
||||
selector: td:nth-last-child(9)
|
||||
# 2 flavours of dates
|
||||
date_day:
|
||||
# Today<br> 10:20 AM
|
||||
# Yesterday<br> 08:03 PM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date_year:
|
||||
# Feb 14 2019<br> 10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):not(:contains("day"))
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
grabs:
|
||||
selector: td:nth-last-child(5)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"a.info:contains(\"[FREE]\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# U-232 V5 (customised)
|
||||
@@ -120,14 +120,16 @@ search:
|
||||
# with just 7 results per page, try to grab up to 35 results
|
||||
# http://audiobookbay.nl/?s=teeth
|
||||
# http://audiobookbay.nl/page/2/?s=teeth
|
||||
- path: "{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/2/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/3/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/4/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/5/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
|
||||
- path: "page/2/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
|
||||
- path: "page/3/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
|
||||
- path: "page/4/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
|
||||
- path: "page/5/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: div.post:has(div[class="postTitle"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -135,8 +137,27 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Category: (.+?)\\s"
|
||||
_format:
|
||||
optional: true
|
||||
selector: div.postContent
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Format: (.+?) /"
|
||||
- name: replace
|
||||
args: ["?", ""]
|
||||
_bitrate:
|
||||
optional: true
|
||||
selector: div.postContent
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Bitrate: (.+?)File"
|
||||
- name: replace
|
||||
args: ["?", ""]
|
||||
title:
|
||||
selector: div.postTitle
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result._format }} [{{ .Result._format }}]{{ else }}{{ end }}{{ if .Result._bitrate }} [{{ .Result._bitrate }}]{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: div.postTitle h2 a
|
||||
attribute: href
|
||||
@@ -163,11 +184,7 @@ search:
|
||||
- name: regexp
|
||||
args: "File Size: (.+?)$"
|
||||
- name: replace
|
||||
args: ["MBs", "MB"]
|
||||
- name: replace
|
||||
args: ["GBs", "GB"]
|
||||
- name: replace
|
||||
args: ["KBs", "KB"]
|
||||
args: ["s", ""]
|
||||
size:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
|
||||
seeders:
|
||||
|
||||
119
src/Jackett.Common/Definitions/bitnova.yml
Normal file
119
src/Jackett.Common/Definitions/bitnova.yml
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
id: bitnova
|
||||
name: BitNova
|
||||
description: "BitNova is a POLISH Semi-Private Torrent Tracker for 0DAY / GENERAL"
|
||||
language: pl-PL
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitnova.info/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: PC, desc: "Programy"}
|
||||
- {id: 2, cat: PC/0day, desc: "Programy dla Windows"}
|
||||
- {id: 3, cat: PC, desc: "Programy dla Linux"}
|
||||
- {id: 4, cat: PC/Mac, desc: "Programy dla Mac"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 6, cat: Books, desc: "eBooki"}
|
||||
- {id: 8, cat: Movies, desc: "Dla dzieci"}
|
||||
- {id: 9, cat: Movies, desc: "Filmy"}
|
||||
- {id: 10, cat: Movies/SD, desc: "Filmy (S)VCD"}
|
||||
- {id: 11, cat: Movies/SD, desc: "DivX/XviD"}
|
||||
- {id: 12, cat: Movies/DVD, desc: "Filmy DVD"}
|
||||
- {id: 13, cat: Movies/BluRay, desc: "Filmy HDDVD/BluRay"}
|
||||
- {id: 14, cat: Movies/SD, desc: "Filmy RMVB"}
|
||||
- {id: 15, cat: Movies/HD, desc: "Filmy x264"}
|
||||
- {id: 342, cat: Movies/3D, desc: "Filmy 3D"}
|
||||
- {id: 16, cat: Console, desc: "Gry"}
|
||||
- {id: 17, cat: Console, desc: "Gry na konsole"}
|
||||
- {id: 18, cat: PC/Games, desc: "Gry komputerowe"}
|
||||
- {id: 19, cat: PC/Mobile-Other, desc: "GSM/PDA"}
|
||||
- {id: 20, cat: PC/Mobile-Other, desc: "GSM/PDA Dodatki"}
|
||||
- {id: 21, cat: PC/Mobile-Other, desc: "GSM/PDA Filmy"}
|
||||
- {id: 22, cat: PC/Mobile-Other, desc: "GSM/PDA Gry"}
|
||||
- {id: 23, cat: PC/Mobile-Other, desc: "GSM/PDA Programy"}
|
||||
- {id: 24, cat: Audio, desc: "Muzyka"}
|
||||
- {id: 25, cat: Audio/MP3, desc: "Muzyka Albumy"}
|
||||
- {id: 26, cat: Audio/Video, desc: "Muzyka Teledyski/Koncerty"}
|
||||
- {id: 27, cat: Other, desc: "Różne"}
|
||||
- {id: 28, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 29, cat: TV, desc: "TV"}
|
||||
- {id: 30, cat: XXX, desc: "Erotyka"}
|
||||
|
||||
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
|
||||
|
||||
login:
|
||||
path: login.php?act=login
|
||||
method: post
|
||||
inputs:
|
||||
login: "{{ .Config.username }}"
|
||||
pass: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
error:
|
||||
- selector: div#errmsg
|
||||
test:
|
||||
path: /
|
||||
selector: a[href^="/login.php?act=logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: search
|
||||
inputs:
|
||||
q: "{{ if .Query.Keywords }}{{ .Query.Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
cid: 0
|
||||
|
||||
rows:
|
||||
selector: table#searchRes > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="/torrenty/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)-
|
||||
title:
|
||||
selector: a[href^="/torrent/"]
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/torrent/", "/torrent/download/"]
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
date:
|
||||
selector: td:nth-last-child(1)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine v2.0
|
||||
@@ -121,7 +121,7 @@ search:
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: div.torrentrow:has(a[href^="download.php?torrent="])
|
||||
|
||||
@@ -27,6 +27,7 @@ caps:
|
||||
- {id: 90, cat: TV, desc: "Disney+"}
|
||||
- {id: 91, cat: TV, desc: "Prime Video"}
|
||||
- {id: 93, cat: TV, desc: "Gain"}
|
||||
- {id: 94, cat: TV, desc: "ATVP"}
|
||||
- {id: 58, cat: Movies, desc: "Film"}
|
||||
- {id: 72, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||
@@ -59,7 +60,6 @@ caps:
|
||||
- {id: 2, cat: Console, desc: "Oyun"}
|
||||
- {id: 74, cat: PC/Games, desc: "Oyun PC"}
|
||||
- {id: 84, cat: Console/PS3, desc: "Oyun Playstation"}
|
||||
- {id: 85, cat: Console/PS3, desc: "Oyun Playstation 2"}
|
||||
- {id: 82, cat: Console/PSP, desc: " Oyun PSP"}
|
||||
- {id: 83, cat: Console/Other, desc: "Oyun Gameboy"}
|
||||
- {id: 87, cat: Console/XBox, desc: "Oyun XBOX"}
|
||||
|
||||
@@ -71,7 +71,7 @@ search:
|
||||
# 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 }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
@@ -155,4 +155,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 6.4.0b
|
||||
# json UNIT3D 6.5.0b
|
||||
|
||||
@@ -7,12 +7,13 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btdig.com/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ws/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.pet/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ly/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.tor2web.to/
|
||||
legacylinks:
|
||||
- http://btdiggwzoyrwwbiv.onion.ly/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ly/
|
||||
- https://btdiggwzoyrwwbiv.onion.ly/
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ws/ # redirects to spam
|
||||
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.pet/ # not found
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -7,9 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
# use https://tellme.pw/btsow to find the new domain
|
||||
links:
|
||||
- https://btsow.autos/
|
||||
- https://btsow.beauty/
|
||||
legacylinks:
|
||||
- https://btsow.work/
|
||||
- https://btsow.store/
|
||||
- https://btsow.surf/
|
||||
- https://btsow.com/
|
||||
@@ -24,6 +23,7 @@ legacylinks:
|
||||
- https://btsow.cfd/
|
||||
- https://btsow.sbs/
|
||||
- https://btsow.quest/
|
||||
- https://btsow.autos/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -107,7 +107,7 @@ search:
|
||||
- name: re_replace # Seasons X-Y --> SX-SY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
|
||||
- name: re_replace # Season X --> S0X
|
||||
args: ["(?i)season\\s*(\\d+)", "S$"]
|
||||
args: ["(?i)season\\s*(\\d+)", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)Complete\\s+Series", ""]
|
||||
details:
|
||||
|
||||
@@ -284,4 +284,7 @@ search:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 day (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# TT3.1
|
||||
|
||||
@@ -97,7 +97,7 @@ search:
|
||||
- name: re_replace # Seasons X-Y --> SX-SY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
|
||||
- name: re_replace # Season X --> S0X
|
||||
args: ["(?i)season\\s*(\\d+)", "S$"]
|
||||
args: ["(?i)season\\s*(\\d+)", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)Complete\\s+Series", ""]
|
||||
details:
|
||||
|
||||
@@ -18,6 +18,11 @@ caps:
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"}
|
||||
- {id: 138, cat: Movies, desc: "Filme Pack`s"}
|
||||
# Kids
|
||||
- {id: 143, cat: Movies, desc: "Kids Filme"}
|
||||
- {id: 144, cat: TV, desc: "Kids Serien"}
|
||||
- {id: 145, cat: Audio, desc: "Kids Music"}
|
||||
- {id: 146, cat: Audio, desc: "Kids Audio"}
|
||||
# Serien
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
|
||||
@@ -10,14 +10,12 @@ links:
|
||||
- https://www.demonoid.is/
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ws/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.pet/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.tor2web.to/
|
||||
- https://demonoid.unblockit.page/
|
||||
- https://demonoid.torrentbay.to/
|
||||
- https://demonoid.nocensor.lol/
|
||||
legacylinks:
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoid.nocensor.space/
|
||||
- https://demonoid.unblockit.ws/
|
||||
- https://demonoid.nocensor.work/
|
||||
- https://demonoid.unblockit.kim/
|
||||
@@ -36,6 +34,8 @@ legacylinks:
|
||||
- https://demonoid.unblockit.cat/
|
||||
- https://demonoid.unblockit.nz/
|
||||
- https://demonoid.nocensor.world/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ws/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.pet/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -116,7 +116,7 @@ search:
|
||||
searchscope: 1
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
# does not support multi category filtering
|
||||
# does not support imdbid searches, does not return imdb link in results
|
||||
# does not support sorting
|
||||
|
||||
@@ -21,6 +21,7 @@ caps:
|
||||
- {id: 17, cat: Movies/Other, desc: "Cartoon Sub. Embed."}
|
||||
- {id: 31, cat: Movies/Other, desc: "Cartoon in Greek "}
|
||||
- {id: 107, cat: Movies/Other, desc: "Kids in Greek"}
|
||||
- {id: 120, cat: Movies/Other, desc: "Cartoon Series"}
|
||||
- {id: 88, cat: Audio/Other, desc: "Music Kids"}
|
||||
# Movies Subs No Embed.
|
||||
- {id: 38, cat: Movies, desc: "Movies Subs No Embed."}
|
||||
@@ -76,6 +77,7 @@ caps:
|
||||
- {id: 83, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 110, cat: Books/Mags, desc: "EMagazines"}
|
||||
- {id: 82, cat: Other, desc: "Pics & Images"}
|
||||
- {id: 119, cat: Audio/Audiobook, desc: "Audio Books"}
|
||||
# Games
|
||||
- {id: 2, cat: PC/Games, desc: "Games"}
|
||||
- {id: 27, cat: PC/Games, desc: "PC"}
|
||||
@@ -89,6 +91,7 @@ caps:
|
||||
- {id: 94, cat: Audio/Lossless, desc: "Foreign Flac"}
|
||||
- {id: 117, cat: Audio, desc: "Compact Disc Club"}
|
||||
- {id: 20, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 118, cat: Audio, desc: "Dream Radio Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -108,7 +108,7 @@ search:
|
||||
- name: diacritics
|
||||
args: replace
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
- name: re_replace # S01 to сезон 1
|
||||
args: ["(?i)S0*(\\d+)", "сезон $1"]
|
||||
- name: re_replace # S01E01 to сезон 1 серии 1
|
||||
|
||||
@@ -114,7 +114,7 @@ search:
|
||||
order: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.xtrz > tbody > tr[class^="ttable_col"]
|
||||
|
||||
@@ -13,7 +13,7 @@ legacylinks:
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movies
|
||||
- {id: 73, cat: Movies, desc: "סרטים"}
|
||||
- {id: 73, cat: Movies, desc: "FuzePacks -סרטים"}
|
||||
- {id: 7, cat: Movies/SD, desc: "סרטים"}
|
||||
- {id: 60, cat: Movies/SD, desc: "סרטים ישראליים"}
|
||||
- {id: 9, cat: Movies/HD, desc: "סרטים HD"}
|
||||
@@ -24,7 +24,7 @@ caps:
|
||||
- {id: 58, cat: Movies/DVD, desc: "סרטים DVD-R"}
|
||||
- {id: 83, cat: Movies/Other, desc: "סרטים מדובבים"}
|
||||
# TV
|
||||
- {id: 76, cat: TV, desc: "סדרות"}
|
||||
- {id: 76, cat: TV, desc: "FuzePacks - סדרות"}
|
||||
- {id: 8, cat: TV/SD, desc: "סדרות"}
|
||||
- {id: 62, cat: TV/SD, desc: "סדרות ישראליות"}
|
||||
- {id: 10, cat: TV/HD, desc: "Tסדרות HD"}
|
||||
@@ -34,7 +34,7 @@ caps:
|
||||
- {id: 65, cat: TV/Anime, desc: "אנימה"}
|
||||
- {id: 64, cat: TV/Sport, desc: "ספורט"}
|
||||
# PC
|
||||
- {id: 74, cat: PC, desc: "תוכנות"}
|
||||
- {id: 74, cat: PC, desc: "FuzePacks - תוכנות"}
|
||||
- {id: 15, cat: PC/0day, desc: "תוכנות PC"}
|
||||
- {id: 11, cat: PC/Games, desc: "משחקים PC"}
|
||||
- {id: 13, cat: PC/Mobile-Android, desc: "אפליקציות לאנדרואיד"}
|
||||
@@ -43,13 +43,13 @@ caps:
|
||||
# XXX
|
||||
- {id: 16, cat: XXX, desc: "למבוגרים בלבד"}
|
||||
# Games
|
||||
- {id: 72, cat: Console, desc: "משחקים"}
|
||||
- {id: 72, cat: Console, desc: "FuzePacks - משחקים"}
|
||||
- {id: 55, cat: Console/XBox, desc: "משחקים XBOX"}
|
||||
- {id: 12, cat: Console/PSP, desc: "משחקים PS"}
|
||||
- {id: 56, cat: Console/Wii, desc: "משחקים WII"}
|
||||
- {id: 57, cat: PC/Mobile-Other, desc: "משחקי קונסולות ניידות"}
|
||||
# Music
|
||||
- {id: 75, cat: Audio, desc: "שירים"}
|
||||
- {id: 75, cat: Audio, desc: "FuzePacks - שירים"}
|
||||
- {id: 14, cat: Audio, desc: "מוזיקה עולמית"}
|
||||
- {id: 66, cat: Audio, desc: "מוזיקה ישראלית"}
|
||||
- {id: 68, cat: Audio, desc: "פסקולים"}
|
||||
@@ -116,17 +116,19 @@ search:
|
||||
$raw: "{{ range .Categories }}c[]={{.}}&{{end}}"
|
||||
|
||||
rows:
|
||||
selector: .box_torrent
|
||||
# Others, Classic
|
||||
selector: .box_torrent, table.tborder[align="center"][border="0"][cellpadding="0"][cellspacing="1"][class="tborder"][width="100%"] > tbody > tr:has(a[href^="/attachment.php?"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="/browse.php?cat="]
|
||||
# Others, Classic
|
||||
selector: a[href^="/browse.php?cat="], a[href^="/browse.php?r3=1&cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: .main_title
|
||||
selector: a[href^="/showthread.php?t="]
|
||||
details:
|
||||
selector: a[href^="/showthread.php?t="]
|
||||
attribute: href
|
||||
@@ -134,30 +136,30 @@ search:
|
||||
selector: a[href^="/attachment.php?attachmentid="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: span.imdb-inline > a
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[imgsrc]
|
||||
attribute: imgsrc
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
selector: td.inline_info:nth-last-child(4)
|
||||
grabs:
|
||||
selector: td:nth-child(5)
|
||||
selector: td.inline_info:nth-last-child(3)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
selector: td.inline_info:nth-last-child(2)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
selector: td.inline_info:nth-last-child(1)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
date:
|
||||
selector: .up_info2
|
||||
selector: div[class^="up_info"]
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # IST
|
||||
|
||||
@@ -131,37 +131,40 @@ search:
|
||||
freeleech: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: ul.TorrentList
|
||||
selector: ul.TorrentList, ul.Torrent-List
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: .TorrentList1 > a
|
||||
selector: a[href^="torrentslist.php?type="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: type
|
||||
title:
|
||||
selector: .TorrentList2 > a
|
||||
selector: a[href^="torrentdetails.php?torrentid="]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["[FFL] ", ""] # remove freeleech flag from title
|
||||
download:
|
||||
selector: .TorrentList2 > a
|
||||
selector: a[href^="torrentdetails.php?torrentid="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: append
|
||||
args: "&do=download"
|
||||
details:
|
||||
selector: .TorrentList2 > a
|
||||
selector: a[href^="torrentdetails.php?torrentid="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: .TorrentList3
|
||||
selector: .TorrentList3, .Torrent-List-Size
|
||||
seeders:
|
||||
selector: .TorrentList6
|
||||
selector: .TorrentList6, .Torrent-List-Seeds
|
||||
leechers:
|
||||
selector: .TorrentList7
|
||||
selector: .TorrentList7, .Torrent-List-Peers
|
||||
date:
|
||||
selector: li.TorrentList8
|
||||
selector: .TorrentList8, .Torrent-List-Date
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
@@ -169,7 +172,7 @@ search:
|
||||
args: "15:04 02-Jan-2006 -07:00"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
".TorrentList2 > a:contains(\"[FFL]\")": 0
|
||||
"a:contains(\"[FFL]\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
|
||||
@@ -140,15 +140,18 @@ search:
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner tr.t-row
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 56
|
||||
category|noappend:
|
||||
selector: a[href*="cat="]
|
||||
attribute: href
|
||||
optional: true
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
|
||||
@@ -1,228 +0,0 @@
|
||||
---
|
||||
id: kinonavse100
|
||||
name: KinoNaVse100
|
||||
description: "Кино на все 100 is a RUSSIAN Semi-Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
language: ru-RU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://kinonavse100.com/ # https is not supported self signed ca is untrusted
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "Трекер"}
|
||||
- {id: 113, cat: Other, desc: "Трекер Сбор средств на перевод фильмов"}
|
||||
- {id: 123, cat: Other, desc: "Трекер Фильмы в работе"}
|
||||
- {id: 109, cat: Movies, desc: "Трекер Эксклюзивы Кино на все 100"}
|
||||
- {id: 61, cat: Movies, desc: "Трекер Зарубежное кино"}
|
||||
- {id: 62, cat: Movies, desc: "Трекер Зарубежное кино Новинки кино 2014-2016"}
|
||||
- {id: 63, cat: Movies, desc: "Трекер Зарубежное кино Боевики"}
|
||||
- {id: 70, cat: Movies, desc: "Трекер Зарубежное кино Триллеры"}
|
||||
- {id: 71, cat: Movies, desc: "Трекер Зарубежное кино Ужасы"}
|
||||
- {id: 72, cat: Movies, desc: "Трекер Зарубежное кино Катастрофы"}
|
||||
- {id: 73, cat: Movies, desc: "Трекер Зарубежное кино Приключения"}
|
||||
- {id: 74, cat: Movies, desc: "Трекер Зарубежное кино Фантастика, Фэнтези"}
|
||||
- {id: 75, cat: Movies, desc: "Трекер Зарубежное кино Комедии"}
|
||||
- {id: 76, cat: Movies, desc: "Трекер Зарубежное кино Драмы, Мелодрамы"}
|
||||
- {id: 77, cat: Movies, desc: "Трекер Зарубежное кино Криминал"}
|
||||
- {id: 78, cat: Movies, desc: "Трекер Зарубежное кино Детективы"}
|
||||
- {id: 85, cat: Movies, desc: "Трекер Зарубежное кино Военные"}
|
||||
- {id: 86, cat: Movies, desc: "Трекер Зарубежное кино Вестерн"}
|
||||
- {id: 87, cat: Movies, desc: "Трекер Зарубежное кино Арт-хаус и авторское кино"}
|
||||
- {id: 95, cat: Movies, desc: "Трекер Зарубежное кино Короткий метр"}
|
||||
- {id: 88, cat: Movies, desc: "Трекер Зарубежное кино Классика мирового кино"}
|
||||
- {id: 108, cat: Movies, desc: "Трекер Зарубежное кино Мультфильмы"}
|
||||
- {id: 111, cat: TV, desc: "Трекер Зарубежное кино Сериалы"}
|
||||
- {id: 110, cat: Movies, desc: "Трекер Российское кино"}
|
||||
- {id: 112, cat: TV, desc: "Tрекер Российское кино Сериалы"}
|
||||
- {id: 21, cat: TV, desc: "Tрекер HDvideo"}
|
||||
- {id: 64, cat: TV, desc: "Tрекер HDvideo Blu-ray"}
|
||||
- {id: 65, cat: TV, desc: "Tрекер HDvideo BD-Remux"}
|
||||
- {id: 69, cat: TV, desc: "Tрекер HDvideo HD-Video в 3D"}
|
||||
- {id: 89, cat: TV, desc: "Tрекер Зомби"}
|
||||
- {id: 96, cat: TV, desc: "Tрекер Зомби Зомби каталог"}
|
||||
- {id: 106, cat: TV, desc: "Tрекер Зомби Сериалы"}
|
||||
- {id: 122, cat: TV/Anime, desc: "Tрекер Аниме"}
|
||||
- {id: 115, cat: Audio, desc: "Музыка"}
|
||||
- {id: 116, cat: Audio, desc: "Музыка Популярная музыка"}
|
||||
- {id: 117, cat: Audio, desc: "Музыка Рок-музыка"}
|
||||
- {id: 118, cat: Audio, desc: "Музыка Электронная музыка"}
|
||||
- {id: 119, cat: Audio, desc: "Музыка Джазовая и Блюзовая музыка"}
|
||||
- {id: 98, cat: Other, desc: "Фильмографии"}
|
||||
- {id: 91, cat: Other, desc: "Кино Новости"}
|
||||
- {id: 92, cat: Other, desc: "Кино Новости Новости мира кино"}
|
||||
- {id: 93, cat: Other, desc: "Кино Новости КиноПлощадка"}
|
||||
- {id: 94, cat: Other, desc: "Кино Новости КиноТрейлеры"}
|
||||
- {id: 79, cat: Other, desc: "Форум и общение"}
|
||||
- {id: 97, cat: Other, desc: "Форум и общение Рецензии фильмов"}
|
||||
- {id: 80, cat: Other, desc: "Форум и общение Общение на разные темы"}
|
||||
- {id: 81, cat: Other, desc: "Форум и общение Компьютеры, железо и софт"}
|
||||
- {id: 82, cat: Other, desc: "Форум и общение Советы и помощь"}
|
||||
- {id: 83, cat: Other, desc: "Технический раздел"}
|
||||
- {id: 84, 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: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: t
|
||||
options:
|
||||
t: created
|
||||
ts: seeders
|
||||
sz: size
|
||||
i: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: d
|
||||
options:
|
||||
d: desc
|
||||
a: asc
|
||||
|
||||
login:
|
||||
path: ucp.php?mode=login
|
||||
method: form
|
||||
form: form[action="./ucp.php?mode=login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
autologin: on
|
||||
viewonline: on
|
||||
error:
|
||||
- selector: span.error
|
||||
test:
|
||||
path: search.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://kinonavse100.com/search.php?tracker_search=torrent&keywords=2020&terms=all&author=&sc=1&sf=titleonly&sk=t&sd=d&sr=topics&st=0&ch=300&t=0&submit=Search
|
||||
- path: search.php
|
||||
inputs:
|
||||
# Search On: tracker, torrent, comment, forum, all
|
||||
tracker_search: "{{ if .Keywords }}torrent{{ else }}tracker{{ end }}"
|
||||
keywords: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
# all, any
|
||||
terms: all
|
||||
# Search by Author
|
||||
author: ""
|
||||
# Search in subforums: yes 1, no 0
|
||||
sc: 1
|
||||
# Search For: all, msgonly, titleonly, firstpost
|
||||
sf: titleonly
|
||||
# Show Results as: posts, topics
|
||||
sr: topics
|
||||
sk: "{{ .Config.sort }}"
|
||||
sd: "{{ .Config.type }}"
|
||||
# Seach Posts For: all 0, 1day 1, week 7, fortnight 14, month 30, 3months 90, 6 months 180, year 365
|
||||
st: 0
|
||||
# Show first: all -1, 0, 25, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000
|
||||
ch: 300
|
||||
# hidden
|
||||
t: 0
|
||||
# hidden
|
||||
submit: Search
|
||||
$raw: "{{ range .Categories }}&fid[]={{.}}{{end}}"
|
||||
|
||||
rows:
|
||||
selector: table.tablebg > tbody > tr:has(a[href^="./download/file.php?id="])
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a.topictitle
|
||||
details:
|
||||
selector: a.topictitle
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="./viewforum.php?f="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
download:
|
||||
selector: a[href^="./download/file.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: a[href^="./viewforum.php?f="] + b
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["ТБ", "TB"]
|
||||
- name: replace
|
||||
args: ["ГБ", "GB"]
|
||||
- name: replace
|
||||
args: ["МБ", "MB"]
|
||||
- name: replace
|
||||
args: ["КБ", "KB"]
|
||||
seeders:
|
||||
selector: span.seed
|
||||
leechers:
|
||||
selector: span.leech
|
||||
grabs:
|
||||
selector: span.complet
|
||||
date_day:
|
||||
# Сегодня, 12:35
|
||||
selector: td:last-of-type p:first-of-type:contains("Сегодня"), td:last-of-type p:first-of-type:contains("Вчера")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Сегодня", "Today"]
|
||||
- name: replace
|
||||
args: ["Вчера", "Yesterday"]
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# 12 янв 2019, 11:26
|
||||
selector: td:last-of-type p:first-of-type:not(:contains("Сегодня")):not(:contains("Вчера"))
|
||||
optional: true
|
||||
filters:
|
||||
# replace month abbreviations
|
||||
- name: replace
|
||||
args: ["янв", "Jan"]
|
||||
- name: replace
|
||||
args: ["фев", "Feb"]
|
||||
- name: replace
|
||||
args: ["мар", "Mar"]
|
||||
- name: replace
|
||||
args: ["апр", "Apr"]
|
||||
- name: replace
|
||||
args: ["май", "May"]
|
||||
- name: replace
|
||||
args: ["июн", "Jun"]
|
||||
- name: replace
|
||||
args: ["июл", "Jul"]
|
||||
- name: replace
|
||||
args: ["авг", "Aug"]
|
||||
- name: replace
|
||||
args: ["сен", "Sep"]
|
||||
- name: replace
|
||||
args: ["окт", "Oct"]
|
||||
- name: replace
|
||||
args: ["ноя", "Nov"]
|
||||
- name: replace
|
||||
args: ["дек", "Dec"]
|
||||
- name: append
|
||||
args: " +03:00" # MSK
|
||||
- name: dateparse
|
||||
args: "02 Jan 2006, 15:04 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="./images/tracker/3_bookmark.gif"]: 0 # gold 100% free
|
||||
img[src="./images/tracker/2_bookmark.gif"]: 0.25 # silver 75% free
|
||||
img[src="./images/tracker/1_bookmark.gif"]: 0.76 # bronze 24% free
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# phpBB
|
||||
@@ -127,7 +127,7 @@ search:
|
||||
order: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr:has(a[href^="download.php?id="])
|
||||
|
||||
@@ -118,7 +118,7 @@ search:
|
||||
# but adding + to words causes 0 results, so we will add an andmatch since the default seems to be a keywords OR search.
|
||||
# keywordsfilters:
|
||||
# - name: re_replace
|
||||
# args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
# args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner tr.t-row:has(a[href^="download.php?id="])
|
||||
|
||||
@@ -166,7 +166,7 @@ search:
|
||||
allw: 1
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]:has(a[href^="./dl.php?id="])
|
||||
|
||||
@@ -72,7 +72,7 @@ search:
|
||||
- name: re_replace # E01 to [1 сери]
|
||||
args: ["(?i)E0*(\\d+)", "[$1 сери]"]
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " %$1"] # prepend % to each word - allow 1 character keywords
|
||||
args: ["(\\w+)", "%$1"] # prepend % to each word - allow 1 character keywords
|
||||
inputs:
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}%%{{ end }}"
|
||||
# does not support multi category searches
|
||||
|
||||
@@ -120,7 +120,7 @@ search:
|
||||
- name: re_replace
|
||||
args: ["(?i)S0?(\\d{1,2})", "stagione $1"]
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
inputs:
|
||||
keywords: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
# all, any
|
||||
|
||||
227
src/Jackett.Common/Definitions/mojblink.yml
Normal file
227
src/Jackett.Common/Definitions/mojblink.yml
Normal file
@@ -0,0 +1,227 @@
|
||||
---
|
||||
id: mojblink
|
||||
name: MOJBLiNK
|
||||
description: "MOJBLiNK is a Private SLOVENIAN Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: sl-SI
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.mojblink.si/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 50, cat: Movies, desc: "BLiNK"}
|
||||
- {id: 20, cat: Books/EBook, desc: "eBook eBOOK"}
|
||||
- {id: 52, cat: Books/Other, desc: "eBook Education"}
|
||||
- {id: 53, cat: Books/Mags, desc: "eBook Magazine"}
|
||||
- {id: 62, cat: PC/Mobile-Android, desc: "GAMES Android"}
|
||||
- {id: 12, cat: Console/NDS, desc: "GAMES Nintendo DS"}
|
||||
- {id: 8, cat: PC/Games, desc: "GAMES PC"}
|
||||
- {id: 7, cat: PC/Games, desc: "GAMES PCRip"}
|
||||
- {id: 13, cat: Console/PS3, desc: "GAMES Playstation"}
|
||||
- {id: 124, cat: Console/PS4, desc: "GAMES PS4"}
|
||||
- {id: 16, cat: Console/PSP, desc: "GAMES PSP"}
|
||||
- {id: 65, cat: Console/Wii, desc: "GAMES Wii"}
|
||||
- {id: 15, cat: Console/XBox, desc: "GAMES Xbox"}
|
||||
- {id: 21, cat: Other, desc: "IMAGES Pics"}
|
||||
- {id: 68, cat: Other, desc: "IMAGES Wallpaper"}
|
||||
- {id: 70, cat: Movies/SD, desc: "Impatient CAM"}
|
||||
- {id: 71, cat: Movies/SD, desc: "Impatient DVDSCR"}
|
||||
- {id: 72, cat: Movies/SD, desc: "Impatient TC"}
|
||||
- {id: 73, cat: Movies/SD, desc: "Impatient TS"}
|
||||
- {id: 75, cat: Movies/SD, desc: "Impatient WEBRip"}
|
||||
- {id: 121, cat: Movies/UHD, desc: "MOVIES 4K"}
|
||||
- {id: 6, cat: Movies, desc: "MOVIES Animation"}
|
||||
- {id: 37, cat: TV/Anime, desc: "MOVIES Anime"}
|
||||
- {id: 40, cat: Movies/BluRay, desc: "MOVIES BD25"}
|
||||
- {id: 39, cat: Movies/BluRay, desc: "MOVIES BD50"}
|
||||
- {id: 41, cat: Movies/BluRay, desc: "MOVIES BDRip"}
|
||||
- {id: 4, cat: Movies/BluRay, desc: "MOVIES BluRay 1080p"}
|
||||
- {id: 3, cat: Movies/BluRay, desc: "MOVIES BluRay 720p"}
|
||||
- {id: 43, cat: Movies/BluRay, desc: "MOVIES BRRip x264"}
|
||||
- {id: 44, cat: Movies/BluRay, desc: "MOVIES BRRip XviD"}
|
||||
- {id: 25, cat: TV/Documentary, desc: "MOVIES Documentary"}
|
||||
- {id: 46, cat: Movies/DVD, desc: "MOVIES DVD"}
|
||||
- {id: 47, cat: Movies/DVD, desc: "MOVIES DVDRip x264"}
|
||||
- {id: 115, cat: Movies/DVD, desc: "MOVIES DVDRip x265"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "MOVIES DVDRip XviD"}
|
||||
- {id: 48, cat: Movies/DVD, desc: "MOVIES HD2DVD"}
|
||||
- {id: 123, cat: Movies/HD, desc: "MOVIES HDRip"}
|
||||
- {id: 74, cat: Movies/WEB-DL, desc: "MOVIES Web-DL"}
|
||||
- {id: 120, cat: Movies/HD, desc: "MOVIES x265"}
|
||||
- {id: 55, cat: Audio/Video, desc: "MUSIC BD"}
|
||||
- {id: 23, cat: Audio/Video, desc: "MUSIC DVD"}
|
||||
- {id: 56, cat: Audio/Lossless, desc: "MUSIC FLAC"}
|
||||
- {id: 11, cat: Audio/MP3, desc: "MUSIC MP3"}
|
||||
- {id: 57, cat: Audio/Video, desc: "MUSIC MP4"}
|
||||
- {id: 58, cat: Audio/Video, desc: "MUSIC Video"}
|
||||
- {id: 26, cat: PC/Mobile-Android, desc: "PROGRAM Android"}
|
||||
- {id: 27, cat: PC/Mobile-iOS, desc: "PROGRAM iOS"}
|
||||
- {id: 78, cat: PC, desc: "PROGRAM Linux"}
|
||||
- {id: 79, cat: PC/Mac, desc: "PROGRAM Mac"}
|
||||
- {id: 9, cat: PC/ISO, desc: "PROGRAM PC ISO"}
|
||||
- {id: 80, cat: PC/0day, desc: "PROGRAM PC Win"}
|
||||
- {id: 5, cat: TV/HD, desc: "TV HDTV"}
|
||||
- {id: 82, cat: TV/HD, desc: "TV HDTVRip"}
|
||||
- {id: 2, cat: TV/SD, desc: "TV TVRip"}
|
||||
- {id: 125, cat: TV/WEB-DL, desc: "TV Web-DL"}
|
||||
- {id: 85, cat: Movies/HD, desc: "UpLINK HEVC"}
|
||||
- {id: 86, cat: Movies/HD, desc: "UpLINK MPEG4"}
|
||||
- {id: 122, cat: XXX/Other, desc: "XXX Games"}
|
||||
- {id: 88, cat: XXX/Other, desc: "XXX Magazine"}
|
||||
- {id: 10, cat: XXX/x264, desc: "XXX Movies"}
|
||||
- {id: 89, cat: XXX/Pack, desc: "XXX Packs"}
|
||||
- {id: 90, cat: XXX/ImageSet, desc: "XXX Pics"}
|
||||
|
||||
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
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>50</b> on your account Personal Settings.</br>The Default is <i>30</i>
|
||||
- name: info_xxx
|
||||
type: info
|
||||
label: XXX Results
|
||||
default: To include XXX in results, tick the <b>View XXX Torrents</b> checkbox on your account Personal Settings.
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.content-wrapper:has(i.ico-not_warn)
|
||||
test:
|
||||
path: /
|
||||
selector: a[href*="/odjava?hash_insert="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.mojblink.si/brskanje?cat=0&search=justice+league&searchin=title&incldead=1&only_free=1&redir=no
|
||||
- path: brskanje
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# title, titledescr, descr
|
||||
searchin: "{{ if .Query.IMDBID }}descr{{ else }}title{{ end }}"
|
||||
# 0 active, 1 all, 2 dead
|
||||
incldead: 1
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
st: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
redir: no
|
||||
|
||||
rows:
|
||||
selector: div.bgPreview
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="/brskanje/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
title:
|
||||
selector: a[href^="/podrobnosti/"]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="/podrobnosti/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/download/"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.bgPreview
|
||||
attribute: style
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\\((.+?)\\)"
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: div.release-info__meta span
|
||||
date_day:
|
||||
# Naložen: Danes, 06:46:17
|
||||
# Uploaded: Danes, 06:46:17
|
||||
selector: div.release-info__meta:contains("Naložen:"):contains("Včeraj"), div.release-info__meta:contains("Naložen:"):contains("Danes"), div.release-info__meta:contains("Uploaded:"):contains("Včeraj"), div.release-info__meta:contains("Uploaded:"):contains("Danes")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Uploaded: ", ""]
|
||||
- name: replace
|
||||
args: ["Naložen: ", ""]
|
||||
- name: replace
|
||||
args: ["Včeraj,", "Yesterday"]
|
||||
- name: replace
|
||||
args: ["Danes,", "Today"]
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# Uploaded: 15.11.2022 07:24:18
|
||||
# Naložen: 15.11.2022 07:24:18
|
||||
selector: div.release-info__meta:contains("Naložen:"):contains("."), div.release-info__meta:contains("Uploaded:"):contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Uploaded: ", ""]
|
||||
- name: replace
|
||||
args: ["Naložen: ", ""]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: a[href^="/download/"]
|
||||
seeders:
|
||||
selector: span[title="Sejalci"], span[title="Seeders"]
|
||||
leechers:
|
||||
selector: span[title="Odjemalci"], span[title="Leechers"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.torrent-FL: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# engine n/a
|
||||
@@ -96,7 +96,7 @@ search:
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table tbody tr:has(a[href*="download.php?id="]:has(img[src="../pic/yes.png"]))
|
||||
|
||||
@@ -131,6 +131,9 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img.nexus-lazy-load
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
@@ -183,7 +186,9 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 day (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
genre:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, img
|
||||
remove: a, img, span
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
# NexusPHP 1.7.29 2022-10-13
|
||||
|
||||
@@ -35,6 +35,7 @@ caps:
|
||||
- {id: 21, cat: Movies/WEB-DL, desc: "Movies Greek DVD/BD/BR-rip"}
|
||||
- {id: 22, cat: Movies/Other, desc: "Movies Greek Other"}
|
||||
- {id: 10, cat: Movies/HD, desc: "Movies HD Packs"}
|
||||
- {id: 64, cat: Movies/UHD, desc: "Movies 4K"}
|
||||
- {id: 13, cat: Movies/Other, desc: "Movies Other"}
|
||||
- {id: 14, cat: Movies, desc: "Movies Packs"}
|
||||
- {id: 23, cat: Audio, desc: "Music DJs Stuff"}
|
||||
@@ -58,6 +59,8 @@ caps:
|
||||
- {id: 34, cat: TV, desc: "TV Series Greek"}
|
||||
- {id: 35, cat: TV, desc: "TV Series Greek Packs"}
|
||||
- {id: 30, cat: TV/Sport, desc: "TV Sports"}
|
||||
- {id: 65, cat: TV/UHD, desc: "TV Series 4K"}
|
||||
- {id: 66, cat: TV/UHD, desc: "TV Series Pack 4K"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -151,14 +151,27 @@ search:
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
date_elapsed:
|
||||
# <td class="nobr"><span class="time" alt="1 month ago" title="1 month ago">Oct 01 2022, 18:41</span></td>
|
||||
selector: td:nth-child(5) > span:not(:contains("ago"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
date_added:
|
||||
# <td class="nobr"><span class="time" alt="Nov 17 2022, 01:44" title="Nov 17 2022, 01:44">13 hours ago</span></td>
|
||||
selector: td:nth-child(5) > span:contains("ago")
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
||||
@@ -146,14 +146,27 @@ search:
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
date_elapsed:
|
||||
# <td class="nobr"><span class="time" alt="1 month ago" title="1 month ago">Oct 01 2022, 18:41</span></td>
|
||||
selector: td:nth-child(5) > span:not(:contains("ago"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
date_added:
|
||||
# <td class="nobr"><span class="time" alt="Nov 17 2022, 01:44" title="Nov 17 2022, 01:44">13 hours ago</span></td>
|
||||
selector: td:nth-child(5) > span:contains("ago")
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
||||
@@ -1,182 +0,0 @@
|
||||
---
|
||||
id: prostylex
|
||||
name: ProStyleX
|
||||
description: "ProStyleX is a Semi-Private torrent site for 0Day and General"
|
||||
language: en-US
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://prostylex.org/
|
||||
legacylinks:
|
||||
- http://prostylex.com/
|
||||
- https://prostylex.black-mirror.xyz/
|
||||
- https://prostylex.unblocked.casa/
|
||||
- https://prostylex.proxyportal.fun/
|
||||
- https://prostylex.uk-unblock.xyz/
|
||||
- https://prostylex.ind-unblock.xyz/
|
||||
- https://prostylex.unblocked.bar/
|
||||
- https://prostylex.proxyportal.pw/
|
||||
- https://prostylex.uk-unblock.pro/
|
||||
- https://prostylex.unblocked.rest/ # Cloudflare - This web property is not accessible via this address.
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/SD, desc: "Movies - Divx/Xvid"}
|
||||
- {id: 2, cat: Movies/WEB-DL, desc: "Movies - h.264/x264"}
|
||||
- {id: 3, cat: Movies/HD, desc: "Movies - HD"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "Movies - DVD"}
|
||||
- {id: 5, cat: Movies/Other, desc: "Movies - Cam/TS"}
|
||||
- {id: 6, cat: Movies/Foreign, desc: "Movies - Non-English"}
|
||||
- {id: 7, cat: Movies/3D, desc: "Movies - 3D"}
|
||||
- {id: 8, cat: Movies/UHD, desc: "Movies - 4K"}
|
||||
- {id: 9, cat: Movies/Other, desc: "Movies - Dubs/Dual Audio"}
|
||||
- {id: 10, cat: Movies/HD, desc: "Movies - HEVC/x265"}
|
||||
- {id: 12, cat: TV/WEB-DL, desc: "TV - x264"}
|
||||
- {id: 13, cat: TV/SD, desc: "TV - Xvid"}
|
||||
- {id: 14, cat: TV/HD, desc: "TV - HD"}
|
||||
- {id: 15, cat: TV/Other, desc: "TV - Packs"}
|
||||
- {id: 16, cat: TV/Sport, desc: "TV - Sports"}
|
||||
- {id: 17, cat: TV/HD, desc: "TV - HEVC/x265"}
|
||||
- {id: 20, cat: Audio/MP3, desc: "Music - Audio"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Music - Video"}
|
||||
- {id: 22, cat: Audio/Other, desc: "Music - Other"}
|
||||
- {id: 40, cat: XXX, desc: "XXX - Video"}
|
||||
- {id: 42, cat: XXX, desc: "XXX - HD Video"}
|
||||
- {id: 43, cat: XXX, desc: "XXX - Movie"}
|
||||
- {id: 44, cat: XXX, desc: "XXX - Anime/Hentai"}
|
||||
- {id: 45, cat: XXX, desc: "XXX - Pics/Comix/Book"}
|
||||
- {id: 46, cat: XXX, desc: "XXX - Games"}
|
||||
- {id: 53, cat: Audio/Audiobook, desc: "Books - Audio books"}
|
||||
- {id: 54, cat: Books/Comics, desc: "Books - Comics"}
|
||||
- {id: 55, cat: Books/EBook, desc: "Books - Ebooks"}
|
||||
- {id: 56, cat: Books/Mags, desc: "Books - Magazines"}
|
||||
- {id: 57, cat: Books/Other, desc: "Books - Other"}
|
||||
- {id: 58, cat: Other, desc: "Pictures - Other"}
|
||||
- {id: 59, cat: Other, desc: "Pictures - Wallpapers"}
|
||||
- {id: 65, cat: TV/Anime, desc: "Anime - All"}
|
||||
- {id: 68, cat: TV/Anime, desc: "Anime - HEVC/x265"}
|
||||
- {id: 90, cat: PC/ISO, desc: "Games - PC-ISO"}
|
||||
- {id: 91, cat: Console, desc: "Games - PS2"}
|
||||
- {id: 92, cat: Console/PSP, desc: "Games - PSP"}
|
||||
- {id: 93, cat: Console/PS3, desc: "Games - PS3"}
|
||||
- {id: 94, cat: PC/Games, desc: "Games - PC-RIP"}
|
||||
- {id: 95, cat: Console/XBox 360, desc: "Games - Xbox360"}
|
||||
- {id: 96, cat: Console/Other, desc: "Games - Other"}
|
||||
- {id: 97, cat: Console/Wii, desc: "Games - Wii"}
|
||||
- {id: 98, cat: Console/NDS, desc: "Games - Nintendo DS"}
|
||||
- {id: 99, cat: PC/Mobile-Android, desc: "Games - Android"}
|
||||
- {id: 103, cat: Console, desc: "Games - Switch"}
|
||||
- {id: 120, cat: PC/0day, desc: "Apps - Windows"}
|
||||
- {id: 121, cat: PC, desc: "Apps - Linux"}
|
||||
- {id: 122, cat: PC/Mobile-Android, desc: "Apps - Android"}
|
||||
- {id: 123, cat: PC/Mac, desc: "Apps - Mac"}
|
||||
- {id: 124, cat: PC, desc: "Apps - Other"}
|
||||
- {id: 130, cat: Other, desc: "Other - Other"}
|
||||
- {id: 132, cat: Other, desc: "Other - Nulled Script"}
|
||||
- {id: 134, cat: Other, desc: "Other - Tutorials"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- name: useragent
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info
|
||||
label: How to get the User-Agent
|
||||
default: "<ol><li>From the same place you fetched the cookie,<li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- 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
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolverr</a> to access it.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: search.php
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://prostylex.org/search.php?search=
|
||||
# http://prostylex.org/search.php?c1=1&c2=1&c3=1&search=expanse&lang=0&cat=0
|
||||
- path: search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
cat: 0
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
rows:
|
||||
selector: tr.t-row
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href^="torrents-details.php?id="]
|
||||
category:
|
||||
selector: td a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: td a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: td a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: th:nth-child(5)
|
||||
filters:
|
||||
- name: timeago
|
||||
size:
|
||||
selector: th:nth-child(4)
|
||||
seeders:
|
||||
selector: th:nth-child(6)
|
||||
leechers:
|
||||
selector: th:nth-child(7)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# minimumratio: the site appears to be ratioless
|
||||
# TorrentTrader
|
||||
@@ -6,9 +6,9 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://pwtorrents.net/
|
||||
- https://pwtorrents.net/
|
||||
legacylinks:
|
||||
- https://pwtorrents.net/ # site is forcing to http
|
||||
- http://pwtorrents.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -144,7 +144,7 @@ search:
|
||||
$raw: "{{ if .Categories }}{{ range .Categories }}&f[]={{.}}{{end}}{{ else }}&f[]=-1{{ end }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]:has(span.tor-approved) # only approved tors have .torrent and magnets.
|
||||
|
||||
142
src/Jackett.Common/Definitions/seedfile.yml
Normal file
142
src/Jackett.Common/Definitions/seedfile.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
id: seedfile
|
||||
name: SeedFile
|
||||
description: "SeedFile (SF) is a ROMANIAN Private Torrent Tracker for 0DAY / GENERAL"
|
||||
language: ro-RO
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.seedfile.io/
|
||||
legacylinks:
|
||||
- https://www.seedfile.ro/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Books/Mags, desc: "Cărți/Reviste"}
|
||||
- {id: 2, cat: Other, desc: "Desene SD"}
|
||||
- {id: 3, cat: Other, desc: "Diverse n/a"}
|
||||
- {id: 5, cat: Movies/BluRay, desc: "Filme Blu-Ray"}
|
||||
- {id: 6, cat: Movies/DVD, desc: "Filme DVD"}
|
||||
- {id: 7, cat: Movies/DVD, desc: "Filme DVD-RO"}
|
||||
- {id: 8, cat: Movies/HD, desc: "Filme HD"}
|
||||
- {id: 9, cat: Movies/HD, desc: "Filme HD-RO"}
|
||||
- {id: 10, cat: Movies/SD, desc: "Filme SD"}
|
||||
- {id: 11, cat: Movies/SD, desc: "Filme SD-RO"}
|
||||
- {id: 12, cat: Other, desc: "Imagini"}
|
||||
- {id: 13, cat: Console, desc: "Jocuri Console"}
|
||||
- {id: 14, cat: PC/Games, desc: "Jocuri PC"}
|
||||
- {id: 15, cat: Audio, desc: "Muzică"}
|
||||
- {id: 16, cat: PC/Mobile-Other, desc: "Mobile"}
|
||||
- {id: 17, cat: PC, desc: "Programe"}
|
||||
- {id: 18, cat: TV/HD, desc: "Seriale HD"}
|
||||
- {id: 19, cat: TV/HD, desc: "Seriale HD-RO"}
|
||||
- {id: 20, cat: TV/SD, desc: "Seriale TV"}
|
||||
- {id: 21, cat: TV/SD, desc: "Seriale TV-RO"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 23, cat: Audio/Video, desc: "Video Clip"}
|
||||
- {id: 24, cat: XXX, desc: "Adult 18+"}
|
||||
- {id: 36, cat: Movies/3D, desc: "Video 3D"}
|
||||
- {id: 37, cat: Movies/HD, desc: "Animație HD"}
|
||||
|
||||
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
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.recover-error2
|
||||
test:
|
||||
path: profile.php
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: download-torrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 freeleech
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: tr.browse
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.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^="details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src='(.+?)'"
|
||||
genre:
|
||||
selector: td.numele_tor small
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Genre:\xA0", ""]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: td:nth-last-child(7)
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "15:04:052006-01-02 -07:00"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src=\"./pic/freeleech.png\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# engine n/a
|
||||
@@ -115,7 +115,7 @@ search:
|
||||
order: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: tr.t-row
|
||||
|
||||
111
src/Jackett.Common/Definitions/swarmazon-api.yml
Normal file
111
src/Jackett.Common/Definitions/swarmazon-api.yml
Normal file
@@ -0,0 +1,111 @@
|
||||
---
|
||||
id: swarmazon-api
|
||||
name: Swarmazon (API)
|
||||
description: "Swarmazon is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://swarmazon.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "Television"}
|
||||
- {id: 3, cat: Other, desc: "Video Courses"}
|
||||
- {id: 4, cat: Audio, desc: "Music"}
|
||||
- {id: 5, cat: PC/Games, desc: "Games"}
|
||||
- {id: 6, cat: PC, desc: "Software"}
|
||||
- {id: 7, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 8, cat: Books/EBook, desc: "E-Books"}
|
||||
- {id: 9, cat: Audio/Audiobook, desc: "Audio Books"}
|
||||
- {id: 10, cat: Books/Comics, desc: "Comics"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
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 the <a href=\"https://swarmazon.club/en/view/settings.php?section=token\" target =_blank>Token Setting</a> page."
|
||||
|
||||
login:
|
||||
path: api/search.php
|
||||
method: get
|
||||
inputs:
|
||||
api_key: "{{ .Config.apikey }}"
|
||||
limit: 1
|
||||
error:
|
||||
- selector: ":root:contains(\"Invalid API key\")"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: api/search.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
api_key: "{{ .Config.apikey }}"
|
||||
filter: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.IMDBID }}&media_ref={{ .Query.IMDBID }}{{ else }}{{ end }}"
|
||||
limit: 100
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: categoryid
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
selector: torrent
|
||||
download:
|
||||
selector: download
|
||||
poster:
|
||||
selector: media_poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["N\/A", ""]
|
||||
genre:
|
||||
selector: media_genre
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
infohash:
|
||||
selector: hash
|
||||
imdbid:
|
||||
selector: ref_id:contains(tt)
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: completed
|
||||
date:
|
||||
# 2022-11-16 22:49:25
|
||||
selector: upload_timestamp
|
||||
filters:
|
||||
- name: append
|
||||
args: " -07:00" # PDT
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
selector: freeleech
|
||||
case:
|
||||
no: 1 # not free
|
||||
"*": 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.1
|
||||
# json v1.22.0620
|
||||
@@ -85,6 +85,14 @@ search:
|
||||
download:
|
||||
selector: a[href^="/api/download.php?hash="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) "
|
||||
- name: replace
|
||||
args: ["/images/no_poster.jpg", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
date:
|
||||
@@ -108,4 +116,4 @@ search:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.1
|
||||
# Engine n/a
|
||||
# v1.22.0620
|
||||
|
||||
@@ -90,7 +90,7 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: tr.highlight, tr.browse_color, tr.freeleech_color, tr[id^="kdescr"]
|
||||
|
||||
@@ -108,7 +108,7 @@ search:
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.table-bordered tr:has(a[href^="download.php?torrent="])
|
||||
|
||||
@@ -18,10 +18,11 @@ caps:
|
||||
- {id: 140, cat: TV/Documentary, desc: "Doku - SD"}
|
||||
- {id: 142, cat: TV/Documentary, desc: "Doku - Sonstige"}
|
||||
- {id: 120, cat: Books, desc: "Ebook"}
|
||||
- {id: 135, cat: Movies/UHD, desc: "Filme - 2160p"}
|
||||
- {id: 131, cat: TV/Anime, desc: "Filme - Animie"}
|
||||
- {id: 101, cat: Movies/BluRay, desc: "Filme - Blue Ray"}
|
||||
- {id: 102, cat: Movies/Other, desc: "Filme - Bollywood"}
|
||||
- {id: 103, cat: Movies/DVD, desc: "Filme - DVD"}
|
||||
- {id: 149, cat: Movies/DVD, desc: "Filme - DVD"}
|
||||
- {id: 104, cat: Movies/DVD, desc: "Filme - DVD-R"}
|
||||
- {id: 135, cat: Movies/HD, desc: "Filme - HD"}
|
||||
- {id: 130, cat: Movies, desc: "Filme - Klassiker"}
|
||||
|
||||
@@ -7,8 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://thepiratebay.org/
|
||||
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.ws/
|
||||
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.pet/
|
||||
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.ly/
|
||||
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.tor2web.to/
|
||||
- https://tpb24.ukpass.co/
|
||||
- https://thepiratebay.host/
|
||||
- https://thepiratebay.d4.re/
|
||||
@@ -37,8 +37,6 @@ links:
|
||||
- https://piratebay.party/
|
||||
- https://thepiratebay.party/
|
||||
legacylinks:
|
||||
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.ly/
|
||||
- https://pirateproxy.dev/
|
||||
- https://tpb19.ukpass.co/
|
||||
- https://pirateproxy.tube/
|
||||
- https://www.tpbay.win/
|
||||
@@ -57,6 +55,8 @@ legacylinks:
|
||||
- https://gigatorrent.xyz/
|
||||
- https://thepirateb.xyz/
|
||||
- https://ezrasstuff.com/
|
||||
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.ws/
|
||||
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.pet/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -47,7 +47,7 @@ caps:
|
||||
- {id: 176, cat: Console/Wii, desc: "Game Wii - Switch"}
|
||||
- {id: 222, cat: Console/NDS, desc: "Game NDS-3DS"}
|
||||
- {id: 177, cat: Console, desc: "Game Wimmelbild"}
|
||||
- {id: 178, cat: Console/Other, desc: "Game Sonstieges"}
|
||||
- {id: 178, cat: Console/Other, desc: "Game Sonstiges"}
|
||||
# Musik
|
||||
- {id: 187, cat: Audio, desc: "Musik Alben"}
|
||||
- {id: 188, cat: Audio, desc: "Musik Sampler"}
|
||||
|
||||
@@ -1,197 +0,0 @@
|
||||
---
|
||||
id: torrent-town
|
||||
name: Torrent-Town
|
||||
description: "Torrent-Town (T-T) is a German Private site for TV / MOVIES / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://torrent-town.hopto.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Software
|
||||
- {id: 39, cat: PC, desc: "Appz - Linux"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Appz - Mac"}
|
||||
- {id: 45, cat: PC, desc: "Appz - Other"}
|
||||
- {id: 49, cat: PC/0day, desc: "Appz - Windows"}
|
||||
# Doku
|
||||
- {id: 40, cat: TV/Documentary, desc: "Doku - HD"}
|
||||
- {id: 41, cat: TV/Documentary, desc: "Doku - SD"}
|
||||
# Game
|
||||
- {id: 83, cat: Console, desc: "Game - Konsolen"}
|
||||
- {id: 51, cat: PC/Games, desc: "Game - Mac"}
|
||||
- {id: 52, cat: PC/Games, desc: "Game - PC"}
|
||||
- {id: 98, cat: Console, desc: "Game - Wimmelbild"}
|
||||
- {id: 50, cat: PC/Games, desc: "Game - Linux"}
|
||||
# Movie
|
||||
- {id: 30, cat: Movies/HD, desc: "Movie - 1080p"}
|
||||
- {id: 64, cat: Movies/3D, desc: "Movie - 3D"}
|
||||
- {id: 28, cat: Movies/HD, desc: "Movie - 720p"}
|
||||
- {id: 63, cat: Movies/BluRay, desc: "Movie - Bluray"}
|
||||
- {id: 32, cat: Movies/DVD, desc: "Movie - DVD / HD2DVD"}
|
||||
- {id: 85, cat: Movies, desc: "Movie - Int."}
|
||||
- {id: 99, cat: Movies/HD, desc: "Movie - Packs"}
|
||||
- {id: 33, cat: Movies/SD, desc: "Movie - SD x264"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Movie - SD XviD"}
|
||||
- {id: 31, cat: Movies/UHD, desc: "Movie - U-HD"}
|
||||
- {id: 86, cat: Movies/HD, desc: "Movie - x265"}
|
||||
# Musik
|
||||
- {id: 57, cat: Audio, desc: "Musik - Alben"}
|
||||
- {id: 81, cat: Audio, desc: "Musik - Charts"}
|
||||
- {id: 53, cat: Audio/Lossless, desc: "Musik - Flac"}
|
||||
- {id: 88, cat: Audio/Other, desc: "Musik - Misc"}
|
||||
- {id: 54, cat: Audio/Video, desc: "Musik - MusikVideo"}
|
||||
- {id: 100, cat: Audio/Other, desc: "Musik - Ost"}
|
||||
- {id: 84, cat: Audio, desc: "Musik - Packs"}
|
||||
- {id: 87, cat: Audio/Other, desc: "Musik - Sampler"}
|
||||
# Serien
|
||||
- {id: 67, cat: TV/HD, desc: "Serien - Folgen HD"}
|
||||
- {id: 70, cat: TV/SD, desc: "Serien - Folgen SD"}
|
||||
- {id: 68, cat: TV/HD, desc: "Serien - Pack HD"}
|
||||
- {id: 69, cat: TV/SD, desc: "Serien - Pack SD"}
|
||||
# Sport
|
||||
- {id: 76, cat: TV/Sport, desc: "Sport - HD"}
|
||||
- {id: 74, cat: TV/Sport, desc: "Sport - SD"}
|
||||
# Other
|
||||
- {id: 91, cat: Audio/Audiobook, desc: "Unsorted - A-Book"}
|
||||
- {id: 90, cat: TV/Anime, desc: "Unsorted - Anime"}
|
||||
- {id: 92, cat: Books/EBook, desc: "Unsorted - E-Book DE."}
|
||||
- {id: 93, cat: Books/EBook, desc: "Unsorted - E-Book INT."}
|
||||
- {id: 94, cat: Books/Comics, desc: "Unsorted - E-Paper"}
|
||||
- {id: 95, cat: Other, desc: "Unsorted - Kids"}
|
||||
- {id: 96, cat: PC/Mobile-Other, desc: "Unsorted - Mobile"}
|
||||
- {id: 97, cat: Other, desc: "Unsorted - Other"}
|
||||
# XXX
|
||||
- {id: 78, cat: XXX/x264, desc: "XXX - HD"}
|
||||
- {id: 89, cat: XXX/Other, desc: "XXX - Other"}
|
||||
- {id: 79, cat: XXX/Pack, desc: "XXX - Packs"}
|
||||
- {id: 77, cat: XXX/SD, desc: "XXX - SD"}
|
||||
|
||||
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: onlyupload
|
||||
type: checkbox
|
||||
label: Filter OnlyUpload only
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About Freeleech and OnlyUpload at Torrent-Town
|
||||
default: <li>FreeLeech are torrents where neither the download or upload is counted. (On the Jackett dashboard search results these are tagged as NoUpload).</li><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech).</li>
|
||||
- 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: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: .tablea:contains("Fehler")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="downloads.php?torrent="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
showsearch: 1
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 dead
|
||||
incldead: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
# site does not support imdbid search from the browse.php page or return imdb links in results
|
||||
|
||||
rows:
|
||||
selector: "table.tableinborder[cellspacing=\"1\"][cellpadding=\"0\"]:not(:has(a[href=\"index.php\"])) > tbody > tr{{ if .Config.onlyupload }}:has(img[src=\"pic/oupic.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php"]
|
||||
details:
|
||||
selector: a[href^="details.php"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[id="img-1"]
|
||||
attribute: src
|
||||
size:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(1)
|
||||
files:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(2)
|
||||
seeders:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(2) b:nth-child(1)
|
||||
leechers:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(2) > b:nth-of-type(2)
|
||||
grabs:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(3) b:nth-child(1)
|
||||
date:
|
||||
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/oupic.gif"]: 0 # only upload is counted
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freeleech.gif"]: 0 # nothing is counted
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.7
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# engine n/a
|
||||
@@ -8,16 +8,11 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
# to fetch current domain use https://www.protege-liens.com/t911 and https://www.protege-liens.com/torrent911
|
||||
links:
|
||||
- https://www.torrent911.cc/
|
||||
- https://www.t911.me/
|
||||
- https://www.torrent911.tv/
|
||||
- https://www.t911.tv/
|
||||
- https://oxtorrent.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://www.oxtorrent.bz/
|
||||
- https://www.oxtorrent.ws/
|
||||
- https://www.oxtorrent.tv/
|
||||
- https://www.oxtorrent.ph/
|
||||
- https://www.oxtorrent.pe/
|
||||
- https://www.oxtorrent.co/
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.oxtorrent.io/
|
||||
- https://www.oxtorrent.cx/
|
||||
- https://www.oxtorrent.nz/
|
||||
@@ -41,6 +36,8 @@ legacylinks:
|
||||
- https://oxtorrent.nocensor.sbs/ # proxy for *.co, a clone without derniers
|
||||
- https://www.torrent911.net/
|
||||
- https://www.torrent911.org/
|
||||
- https://www.torrent911.cc/
|
||||
- https://www.t911.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -137,8 +137,11 @@ search:
|
||||
fields:
|
||||
category:
|
||||
selector: categoryID
|
||||
title:
|
||||
title_test: # title can be null #13736
|
||||
selector: name
|
||||
optional: true
|
||||
title:
|
||||
text: "{{ if .Result.title_test }}{{ .Result.title_test }}{{ else }}TorrentLeech did not provide a title{{ end }}"
|
||||
_id:
|
||||
selector: fid
|
||||
_filename:
|
||||
|
||||
@@ -7,11 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq230.com/
|
||||
- https://torrentqq233.com/
|
||||
legacylinks:
|
||||
- https://torrentqq215.com/
|
||||
- https://torrentqq216.com/
|
||||
- https://torrentqq217.com/
|
||||
- https://torrentqq218.com/
|
||||
- https://torrentqq219.com/
|
||||
- https://torrentqq220.com/
|
||||
@@ -24,6 +21,9 @@ legacylinks:
|
||||
- https://torrentqq227.com/
|
||||
- https://torrentqq228.com/
|
||||
- https://torrentqq229.com/
|
||||
- https://torrentqq230.com/
|
||||
- https://torrentqq231.com/
|
||||
- https://torrentqq232.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -7,17 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir80.com/
|
||||
- https://torrentsir83.com/
|
||||
legacylinks:
|
||||
- http://torrentsir63.com/
|
||||
- https://torrentsir63.com/
|
||||
- http://torrentsir64.com/
|
||||
- https://torrentsir64.com/
|
||||
- http://torrentsir65.com/
|
||||
- https://torrentsir65.com/
|
||||
- http://torrentsir72.com/
|
||||
- https://torrentsir72.com/
|
||||
- http://torrentsir73.com/
|
||||
- https://torrentsir73.com/
|
||||
- http://torrentsir74.com/
|
||||
- https://torrentsir74.com/
|
||||
@@ -32,6 +23,12 @@ legacylinks:
|
||||
- http://torrentsir79.com/
|
||||
- https://torrentsir79.com/
|
||||
- http://torrentsir80.com/
|
||||
- https://torrentsir80.com/
|
||||
- http://torrentsir81.com/
|
||||
- https://torrentsir81.com/
|
||||
- http://torrentsir82.com/
|
||||
- https://torrentsir82.com/
|
||||
- http://torrentsir83.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -380,7 +380,7 @@ search:
|
||||
allw: 1
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]
|
||||
|
||||
@@ -7,11 +7,10 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://viewtorrent1.com/
|
||||
- https://viewtorrent2.com/
|
||||
legacylinks:
|
||||
- https://torrentview.net/
|
||||
- https://torrentview.co/
|
||||
- https://torrentview46.com/
|
||||
- https://torrentview47.com/
|
||||
- https://torrentview49.com/
|
||||
- https://torrentview50.com/
|
||||
@@ -25,6 +24,7 @@ legacylinks:
|
||||
- https://torrentview66.com/
|
||||
- https://torrentview67.com/
|
||||
- https://torrentview68.com/
|
||||
- https://viewtorrent1.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -7,10 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentwiz50.com/
|
||||
- https://torrentwiz51.com/
|
||||
legacylinks:
|
||||
- https://torrentwiz29.me/
|
||||
- https://torrentwiz34.com/
|
||||
- https://torrentwiz35.com/
|
||||
- https://torrentwiz36.com/
|
||||
- https://torrentwiz37.com/
|
||||
@@ -25,6 +23,7 @@ legacylinks:
|
||||
- https://torrentwiz48.com/.
|
||||
- https://torrentwiz48.com/
|
||||
- https://torrentwiz49.com/
|
||||
- https://torrentwiz50.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -35,37 +35,51 @@ settings:
|
||||
label: About Torrentz2eu Categories
|
||||
default: Torrentz2eu does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: data.php
|
||||
# - path: kick.php
|
||||
# https://torrentz2.pics/beta2/search.php?torrent-query=2022
|
||||
- path: beta2/search.php
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
torrent-query: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-bordered > tbody > tr:has(a[href^="magnet"])
|
||||
|
||||
selector: table#torrent-table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
text: 3
|
||||
title:
|
||||
selector: td:nth-child(1)
|
||||
details:
|
||||
# no details page, default to sitelink
|
||||
text: "{{ .Config.sitelink }}"
|
||||
magnet:
|
||||
selector: td:nth-child(6) a
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(2)
|
||||
# https://torrentz2.pics/beta2/page.php?url=9999999%2FThe-Torrent-file-name-goes-here%2F
|
||||
selector: td:nth-child(6) button
|
||||
attribute: onclick
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "'(.+?)'"
|
||||
- name: prepend
|
||||
args: "{{ .Config.sitelink }}beta2/page.php?url="
|
||||
download:
|
||||
text: "{{ .Result.details }}"
|
||||
seeders:
|
||||
selector: td:nth-child(3)
|
||||
selector: td:nth-child(2)
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
selector: td:nth-child(3)
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(st|nd|rd|th|')", ""]
|
||||
- name: dateparse
|
||||
args: "Jan. 02 06"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
# beta2
|
||||
|
||||
@@ -125,7 +125,7 @@ search:
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.table-bordered tr:has(a[href^="download.php?torrent="])
|
||||
|
||||
@@ -5,9 +5,9 @@ description: "zetorrents is a FRENCH Public site for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.protege-liens.com/zetorrents
|
||||
# to fetch current domain use https://www.protege-liens.com/Zetorrents
|
||||
links:
|
||||
- https://www.zetorrents.biz/
|
||||
- https://www.zetorrents.ch/
|
||||
- https://zetorrents.nocensor.lol/
|
||||
legacylinks:
|
||||
- https://www.zetorrents.co/
|
||||
@@ -23,6 +23,7 @@ legacylinks:
|
||||
- https://www.zetorrents.bz/
|
||||
- https://www.zetorrents.nl/
|
||||
- https://zetorrents.nocensor.world/
|
||||
- https://www.zetorrents.biz/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -21,6 +21,8 @@ namespace Jackett.Common.Indexers.Abstract
|
||||
public abstract class SpeedAppTracker : BaseWebIndexer
|
||||
{
|
||||
protected virtual bool UseP2PReleaseName => false;
|
||||
protected virtual int minimumSeedTime => 172800; // 48h
|
||||
|
||||
private readonly Dictionary<string, string> _apiHeaders = new Dictionary<string, string>
|
||||
{
|
||||
{"Accept", "application/json"},
|
||||
@@ -166,7 +168,7 @@ namespace Jackett.Common.Indexers.Abstract
|
||||
DownloadVolumeFactor = dlVolumeFactor,
|
||||
UploadVolumeFactor = ulVolumeFactor,
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 172800 // 48 hours
|
||||
MinimumSeedTime = minimumSeedTime
|
||||
};
|
||||
if (release.Genres == null)
|
||||
release.Genres = new List<string>();
|
||||
|
||||
@@ -1,196 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Html.Parser;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils;
|
||||
using Jackett.Common.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Common.Indexers
|
||||
{
|
||||
// This tracker is based on GazelleTracker but we can't use the API/abstract because there are some
|
||||
// missing features. https://github.com/Jackett/Jackett/issues/7923
|
||||
[ExcludeFromCodeCoverage]
|
||||
public class Anthelion : BaseWebIndexer
|
||||
{
|
||||
private string LoginUrl => SiteLink + "login.php";
|
||||
private string BrowseUrl => SiteLink + "torrents.php";
|
||||
|
||||
private new ConfigurationDataBasicLoginWith2FA configData => (ConfigurationDataBasicLoginWith2FA)base.configData;
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://tehconnection.me/"
|
||||
};
|
||||
|
||||
public Anthelion(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
ICacheService cs)
|
||||
: base(id: "anthelion",
|
||||
name: "Anthelion", // old name: TehConnection.me
|
||||
description: "A movies tracker",
|
||||
link: "https://anthelion.me/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.TmdbId
|
||||
},
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId
|
||||
}
|
||||
},
|
||||
configService: configService,
|
||||
client: wc,
|
||||
logger: l,
|
||||
p: ps,
|
||||
cacheService: cs,
|
||||
configData: new ConfigurationDataBasicLoginWith2FA(@"If 2FA is disabled, let the field empty.
|
||||
We recommend to disable 2FA because re-login will require manual actions."))
|
||||
{
|
||||
Encoding = Encoding.UTF8;
|
||||
Language = "en-US";
|
||||
Type = "private";
|
||||
|
||||
AddCategoryMapping("1", TorznabCatType.Movies, "Film/Feature");
|
||||
AddCategoryMapping("2", TorznabCatType.Movies, "Film/Short");
|
||||
AddCategoryMapping("3", TorznabCatType.TV, "TV/Miniseries");
|
||||
AddCategoryMapping("4", TorznabCatType.Other, "Other");
|
||||
}
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
{
|
||||
LoadValuesFromJson(configJson);
|
||||
|
||||
var pairs = new Dictionary<string, string>
|
||||
{
|
||||
{ "username", configData.Username.Value },
|
||||
{ "password", configData.Password.Value },
|
||||
{ "twofa", configData.TwoFactorAuth.Value },
|
||||
{ "keeplogged", "1" },
|
||||
{ "login", "Log in" }
|
||||
};
|
||||
|
||||
var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true);
|
||||
await ConfigureIfOK(result.Cookies, result.ContentString?.Contains("logout.php") == true, () =>
|
||||
{
|
||||
var parser = new HtmlParser();
|
||||
var dom = parser.ParseDocument(result.ContentString);
|
||||
var errorMessage = dom.QuerySelector("form#loginform").TextContent.Trim();
|
||||
throw new ExceptionWithConfigData(errorMessage, configData);
|
||||
});
|
||||
return IndexerConfigurationStatus.RequiresTesting;
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
|
||||
var qc = new NameValueCollection
|
||||
{
|
||||
{ "order_by", "time" },
|
||||
{ "order_way", "desc" },
|
||||
{ "action", "basic" },
|
||||
{ "searchsubmit", "1" }
|
||||
};
|
||||
|
||||
if (query.IsImdbQuery)
|
||||
qc.Add("imdb", query.ImdbID);
|
||||
else if (query.IsTmdbQuery)
|
||||
qc.Add("tmdb", query.TmdbID.ToString());
|
||||
else
|
||||
qc.Add("searchstr", query.GetQueryString());
|
||||
|
||||
var catList = MapTorznabCapsToTrackers(query);
|
||||
foreach (var cat in catList)
|
||||
qc.Add($"filter_cat[{cat}]", "1");
|
||||
|
||||
// remove . as not used in titles
|
||||
var searchUrl = BrowseUrl + "?" + qc.GetQueryString().Replace(".", " ");
|
||||
var results = await RequestWithCookiesAsync(searchUrl);
|
||||
try
|
||||
{
|
||||
var parser = new HtmlParser();
|
||||
var doc = parser.ParseDocument(results.ContentString);
|
||||
var rows = doc.QuerySelectorAll("table.torrent_table > tbody > tr.torrent");
|
||||
foreach (var row in rows)
|
||||
{
|
||||
var qDetailsLink = row.QuerySelector("a.torrent_name");
|
||||
var year = qDetailsLink.NextSibling.TextContent.Replace("[", "").Replace("]", "").Trim();
|
||||
var tags = row.QuerySelector("div.torrent_info").FirstChild.TextContent.Replace(" / ", " ").Trim();
|
||||
var title = $"{qDetailsLink.TextContent} {year} {tags}";
|
||||
var description = row.QuerySelector("div.tags").TextContent.Trim();
|
||||
var details = new Uri(SiteLink + qDetailsLink.GetAttribute("href"));
|
||||
var torrentId = qDetailsLink.GetAttribute("href").Split('=').Last();
|
||||
var link = new Uri(SiteLink + "torrents.php?action=download&id=" + torrentId);
|
||||
var posterStr = qDetailsLink.GetAttribute("data-cover");
|
||||
var poster = !string.IsNullOrWhiteSpace(posterStr) ? new Uri(qDetailsLink.GetAttribute("data-cover")) : null;
|
||||
|
||||
var files = ParseUtil.CoerceLong(row.QuerySelector("td:nth-child(3)").TextContent);
|
||||
var publishDate = DateTimeUtil.FromTimeAgo(row.QuerySelector("td:nth-child(4)").TextContent);
|
||||
var size = ReleaseInfo.GetBytes(row.QuerySelector("td:nth-child(5)").FirstChild.TextContent);
|
||||
var grabs = ParseUtil.CoerceLong(row.QuerySelector("td:nth-child(6)").TextContent);
|
||||
var seeders = ParseUtil.CoerceInt(row.QuerySelector("td:nth-child(7)").TextContent);
|
||||
var leechers = ParseUtil.CoerceInt(row.QuerySelector("td:nth-child(8)").TextContent);
|
||||
|
||||
var dlVolumeFactor = row.QuerySelector("strong.tl_free") != null ? 0 : 1;
|
||||
|
||||
var cat = row.QuerySelector("td.cats_col > div").GetAttribute("class").Replace("tooltip cats_", "");
|
||||
var category = new List<int> {
|
||||
cat switch
|
||||
{
|
||||
"featurefilm" => TorznabCatType.Movies.ID,
|
||||
"shortfilm" => TorznabCatType.Movies.ID,
|
||||
"miniseries" => TorznabCatType.TV.ID,
|
||||
"other" => TorznabCatType.Other.ID,
|
||||
_ => throw new Exception($"Unknown category: {cat}")
|
||||
}
|
||||
};
|
||||
|
||||
var qImdb = row.QuerySelector("a[href^=\"https://www.imdb.com\"]");
|
||||
var imdb = qImdb != null ? ParseUtil.GetImdbID(qImdb.GetAttribute("href").Split('/').Last()) : null;
|
||||
|
||||
qImdb = row.QuerySelector("a[href^=\"https://www.themoviedb.org\"]");
|
||||
var tmdb = qImdb != null ? ParseUtil.GetLongFromString(qImdb.GetAttribute("href").Split('/').Last()) : null;
|
||||
|
||||
var release = new ReleaseInfo
|
||||
{
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 259200,
|
||||
Description = description,
|
||||
Title = title,
|
||||
PublishDate = publishDate,
|
||||
Category = category,
|
||||
Link = link,
|
||||
Details = details,
|
||||
Guid = link,
|
||||
Imdb = imdb,
|
||||
TMDb = tmdb,
|
||||
Poster = poster,
|
||||
Seeders = seeders,
|
||||
Peers = leechers + seeders,
|
||||
Size = size,
|
||||
Grabs = grabs,
|
||||
Files = files,
|
||||
DownloadVolumeFactor = dlVolumeFactor,
|
||||
UploadVolumeFactor = 1
|
||||
};
|
||||
releases.Add(release);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnParseError(results.ContentString, ex);
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,7 +39,7 @@ namespace Jackett.Common.Indexers
|
||||
private const string SearchUrl = "buscar/";
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://dontorrent.click/",
|
||||
"https://dontorrent.fail/",
|
||||
"https://todotorrents.net/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/",
|
||||
@@ -48,7 +48,6 @@ namespace Jackett.Common.Indexers
|
||||
};
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://dontorrent.dev/",
|
||||
"https://dontorrent.bid/",
|
||||
"https://dontorrent.pet/",
|
||||
"https://dontorrent.soy/",
|
||||
@@ -62,7 +61,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://dontorrent.ltd/",
|
||||
"https://dontorrent.me/",
|
||||
"https://dontorrent.gs/",
|
||||
"https://dontorrent.gy/"
|
||||
"https://dontorrent.gy/",
|
||||
"https://dontorrent.click/"
|
||||
};
|
||||
|
||||
private static Dictionary<string, string> CategoriesMap => new Dictionary<string, string>
|
||||
@@ -80,7 +80,7 @@ namespace Jackett.Common.Indexers
|
||||
: base(id: "dontorrent",
|
||||
name: "DonTorrent",
|
||||
description: "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL",
|
||||
link: "https://dontorrent.click/",
|
||||
link: "https://dontorrent.fail/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
@@ -146,7 +146,7 @@ namespace Jackett.Common.Indexers
|
||||
public override async Task<byte[]> Download(Uri link)
|
||||
{
|
||||
var downloadUrl = link.ToString();
|
||||
if (downloadUrl.Contains("cdn.pizza") || downloadUrl.Contains("blazing.network") || downloadUrl.Contains("tor.cat") || downloadUrl.Contains("cdndelta.com"))
|
||||
if (downloadUrl.Contains("cdn.pizza") || downloadUrl.Contains("blazing.network") || downloadUrl.Contains("tor.cat") || downloadUrl.Contains("cdndelta.com") || downloadUrl.Contains("cdnbeta.in"))
|
||||
{
|
||||
return await base.Download(link);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace Jackett.Common.Indexers
|
||||
public class RetroFlix : SpeedAppTracker
|
||||
{
|
||||
protected override bool UseP2PReleaseName => true;
|
||||
protected override int minimumSeedTime => 432000; // 120h
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://retroflix.net/"
|
||||
|
||||
@@ -257,7 +257,7 @@ namespace Jackett.Updater
|
||||
"Definitions/01torrent.yml",
|
||||
"Definitions/24rolika.yml",
|
||||
"Definitions/32pages.yml",
|
||||
"Definitions/3evils.yml",
|
||||
"Definitions/3evils-api.yml",
|
||||
"Definitions/420files.yml",
|
||||
"Definitions/7torrents.yml",
|
||||
"Definitions/DasUnerwartete.yml",
|
||||
@@ -412,6 +412,7 @@ namespace Jackett.Updater
|
||||
"Definitions/kickasstorrent-kathow.yml", // renamed to kickasstorrents-ws
|
||||
"Definitions/kickasstorrent.yml",
|
||||
"Definitions/kikibt.yml",
|
||||
"Definitions/kinonavse100.yml",
|
||||
"Definitions/kisssub.yml",
|
||||
"Definitions/lapausetorrents.yml",
|
||||
"Definitions/lat-team.yml", // switch to *-API #8682
|
||||
@@ -470,6 +471,7 @@ namespace Jackett.Updater
|
||||
"Definitions/pornolive.yml",
|
||||
"Definitions/pornorip.yml",
|
||||
"Definitions/portugas.yml", // switch to *-API #13542
|
||||
"Definitions/prostylex.yml",
|
||||
"Definitions/ps4-torrent.yml",
|
||||
"Definitions/pt99.yml",
|
||||
"Definitions/puurhollands.yml",
|
||||
@@ -495,7 +497,6 @@ namespace Jackett.Updater
|
||||
"Definitions/scenexpress.yml",
|
||||
"Definitions/sdkino.yml",
|
||||
"Definitions/secretcinema.yml", // migrated to C# gazelle base tracker
|
||||
"Definitions/seedfile.yml",
|
||||
"Definitions/seedpeer.yml",
|
||||
"Definitions/sexxi.yml",
|
||||
"Definitions/sharefiles.yml",
|
||||
@@ -557,6 +558,7 @@ namespace Jackett.Updater
|
||||
"Definitions/torrentseed.yml", // renamed to latinop2p #9065
|
||||
"Definitions/torrentseeds.yml", // migrated to c#
|
||||
"Definitions/torrentsmd.yml",
|
||||
"Definitions/torrent-town.yml",
|
||||
"Definitions/torrentsurf.yml", // renamed xtremebytes #9951
|
||||
"Definitions/torrentvault.yml",
|
||||
"Definitions/torrentwal.yml",
|
||||
|
||||
Reference in New Issue
Block a user