mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Compare commits
59 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
46bb025e34 | ||
![]() |
03b8857eb4 | ||
![]() |
2c089b243a | ||
![]() |
3286b3ce43 | ||
![]() |
c6b1f92d0b | ||
![]() |
97296ac021 | ||
![]() |
d2ca3ef8c5 | ||
![]() |
c2dc9d54f2 | ||
![]() |
030a278b59 | ||
![]() |
edd9f13e00 | ||
![]() |
710059f6f5 | ||
![]() |
09034727fc | ||
![]() |
268a334643 | ||
![]() |
49a0c2d7e0 | ||
![]() |
b4ceb291b6 | ||
![]() |
93b72e8496 | ||
![]() |
e9e3ca71a0 | ||
![]() |
dc2cea6dfd | ||
![]() |
546cd23c33 | ||
![]() |
9b48e056c0 | ||
![]() |
e4605f82b9 | ||
![]() |
1076bb3a89 | ||
![]() |
6093491bd8 | ||
![]() |
c636d75e77 | ||
![]() |
30c308b099 | ||
![]() |
3effff5f34 | ||
![]() |
6f28661efd | ||
![]() |
560eb60812 | ||
![]() |
290beb8fbd | ||
![]() |
1c6a2da52a | ||
![]() |
6824e05f36 | ||
![]() |
f05228fec4 | ||
![]() |
4c8acbe9a4 | ||
![]() |
bafb695a59 | ||
![]() |
50c9df8e57 | ||
![]() |
198a6d1f8c | ||
![]() |
7a7144bd9d | ||
![]() |
701b37b789 | ||
![]() |
7d8a250406 | ||
![]() |
98ab671934 | ||
![]() |
dcfc1207bf | ||
![]() |
b1c80f380c | ||
![]() |
b1c7c279cc | ||
![]() |
231efdfa0a | ||
![]() |
1a75973566 | ||
![]() |
a881d327c0 | ||
![]() |
1eb4ba4290 | ||
![]() |
9432bf8071 | ||
![]() |
d354dc6bf5 | ||
![]() |
1892371ea2 | ||
![]() |
3060a211a6 | ||
![]() |
417e3e2a77 | ||
![]() |
f944acc115 | ||
![]() |
0f6778d46b | ||
![]() |
33b8f69720 | ||
![]() |
7642e3bf89 | ||
![]() |
43f85ad63c | ||
![]() |
73e22c54e2 | ||
![]() |
a7b20f678f |
@@ -28,7 +28,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ØMagnet
|
||||
* 1337x
|
||||
* 24rolika
|
||||
* 7torrents
|
||||
* ACG.RIP
|
||||
* ACGsou (36DM)
|
||||
* Anidex
|
||||
@@ -61,7 +60,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* elitetorrent
|
||||
* EpubLibre
|
||||
* Erai-Raws
|
||||
* ETTV
|
||||
* EXT Torrents
|
||||
* ExtraTorrent.st
|
||||
* EZTV
|
||||
@@ -111,7 +109,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ParnuXi
|
||||
* PC-torrent
|
||||
* PiratBit
|
||||
* Pirateiro
|
||||
* Pornforall
|
||||
* PornLeech
|
||||
* PornoLive
|
||||
@@ -168,6 +165,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* UnionDHT
|
||||
* VSTHouse
|
||||
* VST Torrents
|
||||
* xBiT
|
||||
* xxxAdultTorrent
|
||||
* xxxtor
|
||||
* xxxtorrents
|
||||
@@ -451,7 +449,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* NorBits
|
||||
* oMg[WtF]trackr
|
||||
* OpenCD [![(invite needed)][inviteneeded]](#)
|
||||
* Oppaitime [![(invite needed)][inviteneeded]](#)
|
||||
* Oppaitime
|
||||
* Orpheus
|
||||
* OshenPT
|
||||
* Ourbits (HDPter) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -573,6 +571,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Trezzor [![(invite needed)][inviteneeded]](#)
|
||||
* TurkSeed
|
||||
* TurkTorrent (TT)
|
||||
* turktracker
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TvRoad
|
||||
* TVstore
|
||||
@@ -580,7 +579,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Twilights Zoom
|
||||
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
|
||||
* UHDBits
|
||||
* UHD-HEAVEN
|
||||
* UHD-HEAVEN [![(invite needed)][inviteneeded]](#)
|
||||
* UnionGang [![(invite needed)][inviteneeded]](#)
|
||||
* UnlimitZ
|
||||
* Vizuk
|
||||
|
@@ -13,7 +13,7 @@ links:
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblockit.how/
|
||||
- https://1337x.unblockit.cam/
|
||||
- https://1337x.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://1337x.unblockit.app/
|
||||
@@ -36,6 +36,7 @@ legacylinks:
|
||||
- https://1337x.unblockit.kim/
|
||||
- https://1337x.unblockit.bz/
|
||||
- https://1337x.unblockit.tv/
|
||||
- https://1337x.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -1,85 +0,0 @@
|
||||
---
|
||||
id: 7torrents
|
||||
name: 7torrents
|
||||
description: "7torrents is a Public BitTorrent DHT search engine."
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.7torrents.cc/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Other: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created
|
||||
options:
|
||||
created: created
|
||||
length: size
|
||||
seeders: seeders
|
||||
- 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">FlareSolver</a> to access it.
|
||||
- name: info_8000
|
||||
type: info
|
||||
label: About 7torrents Categories
|
||||
default: 7torrents does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
|
||||
|
||||
search:
|
||||
# https://www.7torrents.cc/search?query=2020&sort=created
|
||||
paths:
|
||||
- path: search
|
||||
inputs:
|
||||
query: "{{ if .Keywords }}{{ .Keywords }}{{ else }} {{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: div.media
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
title:
|
||||
selector: div.media
|
||||
attribute: data-name
|
||||
details:
|
||||
selector: div.media h5 a
|
||||
attribute: href
|
||||
# #7966
|
||||
# download:
|
||||
# selector: div.media-right a[href*="/torrent/"]
|
||||
# attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: div.media
|
||||
attribute: data-added
|
||||
filters:
|
||||
- name: timeago
|
||||
size:
|
||||
selector: div.media
|
||||
attribute: data-size
|
||||
seeders:
|
||||
selector: div.media
|
||||
attribute: data-seeders
|
||||
leechers:
|
||||
selector: div.media
|
||||
attribute: data-leechers
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -74,10 +74,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -24,8 +24,6 @@ search:
|
||||
- path: "https://api.anilibria.tv/v2/{{ if .Keywords }}searchTitles?filter=names,poster.url,code,torrents.list,season.year&limit=100&search={{ .Keywords }}{{ else }}getUpdates?filter=names,poster.url,code,torrents.list,season.year&limit=100{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: torrents.list
|
||||
multiple: true
|
||||
|
||||
keywordsfilters:
|
||||
# strip season and ep
|
||||
@@ -34,6 +32,8 @@ search:
|
||||
|
||||
rows:
|
||||
selector: $
|
||||
attribute: torrents.list
|
||||
multiple: true
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
@@ -79,10 +79,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -6,10 +6,10 @@ language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://audiobookbay.nl/ # site forces http, does not support https
|
||||
- http://audiobookbay.ws/
|
||||
- http://audiobookbay.fi/ # site forces http, does not support https
|
||||
- http://audiobookbay.se/
|
||||
- http://audiobookbayabb.com/
|
||||
- https://audiobookbay.unblockit.how/
|
||||
- https://audiobookbay.unblockit.cam/
|
||||
legacylinks:
|
||||
- https://audiobookbay.la/
|
||||
- https://audiobookbay.unblockit.lat/
|
||||
@@ -28,6 +28,9 @@ legacylinks:
|
||||
- https://audiobookbay.unblockit.kim/
|
||||
- https://audiobookbay.unblockit.bz/
|
||||
- https://audiobookbay.unblockit.tv/
|
||||
- http://audiobookbay.nl/
|
||||
- http://audiobookbay.ws/
|
||||
- https://audiobookbay.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -11,40 +11,43 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 85, cat: Movies/SD, desc: "Film/Cam/Hun"}
|
||||
- {id: 86, cat: Movies/SD, desc: "Film/Cam/Eng"}
|
||||
- {id: 15, cat: Movies/SD, desc: "Film/XviD/Hun"}
|
||||
- {id: 34, cat: Movies/HD, desc: "Film/x264/Hun"}
|
||||
- {id: 83, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||
- {id: 64, cat: Movies, desc: "Film/Pack"}
|
||||
- {id: 16, cat: Movies/SD, desc: "Film/XviD/Eng"}
|
||||
- {id: 17, cat: Movies/DVD, desc: "Film/DVD-R/Hun"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "Film/DVD-R/Eng"}
|
||||
- {id: 34, cat: Movies/HD, desc: "Film/x264/Hun"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Film/x264/Eng"}
|
||||
- {id: 83, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||
- {id: 82, cat: Movies/HD, desc: "Film/HD/Eng"}
|
||||
- {id: 85, cat: Movies/SD, desc: "Film/Cam/XviD/Hun"}
|
||||
- {id: 86, cat: Movies/SD, desc: "Film/Cam/XviD/Eng"}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Film/UHD/Hun"}
|
||||
- {id: 93, cat: Movies/UHD, desc: "Film/UHD/Eng"}
|
||||
- {id: 64, cat: Movies, desc: "Film/Pack"}
|
||||
- {id: 22, cat: TV, desc: "Sorozat/Hun"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese/XviD"}
|
||||
- {id: 58, cat: TV, desc: "Sorozat/Eng"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese/SD"}
|
||||
- {id: 68, cat: TV/Anime, desc: "Mese/DVD"}
|
||||
- {id: 91, cat: TV/Anime, desc: "Mese/HD"}
|
||||
- {id: 25, cat: Audio/MP3, desc: "Mp3/Hun"}
|
||||
- {id: 26, cat: Audio/MP3, desc: "Mp3/Eng"}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng"}
|
||||
- {id: 84, cat: Audio/Lossless, desc: "Lossless/Hun"}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng"}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék/PC"}
|
||||
- {id: 81, cat: PC/0day, desc: "Program/PC"}
|
||||
- {id: 14, cat: PC, desc: "Program/Egyéb"}
|
||||
- {id: 49, cat: PC/0day, desc: "Program/Rip"}
|
||||
- {id: 54, cat: Console, desc: "Játék/Konzol"}
|
||||
- {id: 81, cat: PC/0day, desc: "Program/PC"}
|
||||
- {id: 49, cat: PC/0day, desc: "Program/Rip"}
|
||||
- {id: 14, cat: PC, desc: "Program/Egyéb"}
|
||||
- {id: 67, cat: PC/Mobile-Android, desc: "Program/Android"}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv/Hun"}
|
||||
- {id: 50, cat: Books/EBook, desc: "Könyv/Eng"}
|
||||
- {id: 65, cat: Other, desc: "Egyéb"}
|
||||
# the following are no longer in the cat list in the search page, but are still in the profile cat list
|
||||
- {id: 17, cat: Movies/DVD, desc: "Film/DVD/Hun"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "Film/DVD/Eng"}
|
||||
- {id: 24, cat: Audio/Video, desc: "Videóklipp"}
|
||||
- {id: 33, cat: XXX/SD, desc: "Film/SD/XXX"}
|
||||
- {id: 89, cat: XXX/x264, desc: "Film/HD/XXX"}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "Képek/XXX"}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv/Hun"}
|
||||
- {id: 50, cat: Books/EBook, desc: "Könyv/Eng"}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 24, cat: Audio/Video, desc: "Videóklipp"}
|
||||
- {id: 65, cat: Other, desc: "Egyéb"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -102,7 +105,7 @@ search:
|
||||
# site does not support imdbid searching or appear to have freeleech
|
||||
|
||||
rows:
|
||||
selector: table[width="900px"]:last-child tbody tr:has(a[href^="userdetails.php?id="])
|
||||
selector: table[width="100%"]:last-child tbody tr:has(a[href^="userdetails.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -112,7 +115,8 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: div.tooltip
|
||||
remove: span
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
@@ -120,41 +124,44 @@ search:
|
||||
selector: a.preview
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
size:
|
||||
selector: td:nth-last-child(2)
|
||||
selector: td:nth-child(6)
|
||||
date:
|
||||
# 2021-11-09 16:51:24
|
||||
selector: td:last-child
|
||||
selector: td:nth-child(7)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
args: "06/01/02 -07:00"
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "D:(\\d+)"
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
selector: td:nth-child(3)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "S:(\\d+)"
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "L:(\\d+)"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
case:
|
||||
"i:contains(\"(Free)\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
case:
|
||||
"i:contains(\"(2x)\")": 2
|
||||
"i:contains(\"(3x)\")": 3
|
||||
"i:contains(\"(4x)\")": 4
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# engine n/a
|
||||
|
@@ -18,9 +18,11 @@ caps:
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentários"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Esportes"}
|
||||
- {id: 401, cat: Movies, desc: "Filmes"}
|
||||
- {id: 416, cat: Books/Comics, desc: "HQ/Mangá"}
|
||||
- {id: 408, cat: PC/Games, desc: "Jogos"}
|
||||
- {id: 417, cat: Audio, desc: "Músicas"}
|
||||
- {id: 412, cat: Other, desc: "Scripts Android/iOS"}
|
||||
- {id: 412, cat: Other, desc: "Scripts PHP"}
|
||||
- {id: 411, cat: Other, desc: "Scripts PHP"}
|
||||
- {id: 402, cat: TV, desc: "Séries"}
|
||||
- {id: 406, cat: PC, desc: "Softwares"}
|
||||
- {id: 415, cat: PC/0day, desc: "istema Operacional"}
|
||||
|
@@ -66,7 +66,7 @@ search:
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
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 }}"
|
||||
@@ -83,6 +83,7 @@ search:
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -67,10 +67,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -49,6 +49,10 @@ settings:
|
||||
0: Active
|
||||
1: "Active and Inactive"
|
||||
2: Inactive
|
||||
- name: dropbumped
|
||||
type: checkbox
|
||||
label: Ignore Bumped Torrents
|
||||
default: false
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Results Per Page
|
||||
@@ -77,7 +81,7 @@ search:
|
||||
srchdtls: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table[border="1"] tr:not(:first-child)
|
||||
selector: "table[border=\"1\"] tr:not(:first-child){{ if .Config.dropbumped }}:not(:has(span.bumped)){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
@@ -75,10 +75,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -11,7 +11,7 @@ links:
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoid.unblockit.how/
|
||||
- https://demonoid.unblockit.cam/
|
||||
- https://demonoid.torrentbay.to/
|
||||
- https://demonoid.nocensor.biz/
|
||||
legacylinks:
|
||||
@@ -35,6 +35,7 @@ legacylinks:
|
||||
- https://demonoid.unblockit.kim/
|
||||
- https://demonoid.unblockit.bz/
|
||||
- https://demonoid.unblockit.tv/
|
||||
- https://demonoid.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -67,7 +67,6 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -75,6 +74,7 @@ search:
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -50,6 +50,10 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use DDoS-Guard Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
|
@@ -1,181 +0,0 @@
|
||||
---
|
||||
id: ettv
|
||||
name: ETTV
|
||||
description: "ETTV is a Public torrent site for TV / MOVIES, home of the ETTV, ETHD and DTOne groups."
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.ettvcentral.com/
|
||||
- https://ettv.unblockninja.com/
|
||||
- https://ettv.unblockit.how/
|
||||
- https://ettv.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://www.ettv.tv/
|
||||
- https://www.ettv.to/
|
||||
- https://www.ettvdl.com/
|
||||
- https://www.ettv.be/
|
||||
- https://ettv.unblockit.dev/
|
||||
- https://ettv.unblockit.ltd/
|
||||
- https://ettv.unblockit.link/
|
||||
- https://ettv.unblockit.buzz/
|
||||
- https://ettv.unblocked.monster/
|
||||
- https://ettv.unblockit.club/
|
||||
- https://ettv.unblockit.onl/
|
||||
- https://ettv.unblockit.li/
|
||||
- https://ettv.unblockit.uno/
|
||||
- https://ettv.unblockit.ch/
|
||||
- https://ettv.nocensor.space/
|
||||
- https://ettv.unblockit.ws/
|
||||
- https://ettv.nocensor.work/
|
||||
- https://ettv.unblockit.kim/
|
||||
- https://ettv.unblockit.bz/
|
||||
- https://ettv.unblockit.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 88, cat: XXX, desc: "Adult - Books"}
|
||||
- {id: 84, cat: XXX, desc: "Adult - Games"}
|
||||
- {id: 82, cat: XXX, desc: "Adult - HD-Movies"}
|
||||
- {id: 83, cat: XXX, desc: "Adult - Hentai"}
|
||||
- {id: 86, cat: XXX, desc: "Adult - Magazines"}
|
||||
- {id: 81, cat: XXX, desc: "Adult - Movies"}
|
||||
- {id: 87, cat: XXX, desc: "Adult - Other"}
|
||||
- {id: 85, cat: XXX, desc: "Adult - Pictures"}
|
||||
- {id: 74, cat: TV/Anime, desc: "Anime - Dubbed/Subbed"}
|
||||
- {id: 73, cat: TV/Anime, desc: "Anime - Movies"}
|
||||
- {id: 75, cat: TV/Anime, desc: "Anime - Others"}
|
||||
- {id: 56, cat: Audio/Audiobook, desc: "Books - Audio"}
|
||||
- {id: 55, cat: Books/Comics, desc: "Books - Comics"}
|
||||
- {id: 53, cat: Books/EBook, desc: "Books - Ebooks"}
|
||||
- {id: 54, cat: Books/Mags, desc: "Books - Magazines"}
|
||||
- {id: 68, cat: Books/Other, desc: "Books - Others"}
|
||||
- {id: 90, cat: Books/Other, desc: "Books - Others"}
|
||||
- {id: 58, cat: PC/Games, desc: "Games - Android"}
|
||||
- {id: 71, cat: PC/Games, desc: "Games - Others"}
|
||||
- {id: 57, cat: PC/Games, desc: "Games - Windows"}
|
||||
- {id: 49, cat: Movies/3D, desc: "Movies - 3D"}
|
||||
- {id: 66, cat: Movies/BluRay, desc: "Movies - BluRay Disc/Remux"}
|
||||
- {id: 91, cat: Movies, desc: "Movies - Bollywood"}
|
||||
- {id: 65, cat: Movies/SD, desc: "Movies - CAM/TS"}
|
||||
- {id: 80, cat: TV/Documentary, desc: "Documentary"}
|
||||
- {id: 51, cat: Movies, desc: "Movies - Dubs/Dual Audio"}
|
||||
- {id: 67, cat: Movies/DVD, desc: "Movies - DVDR"}
|
||||
- {id: 1, cat: Movies/HD, desc: "Movies - HD 1080p"}
|
||||
- {id: 2, cat: Movies/HD, desc: "Movies - HD 720p"}
|
||||
- {id: 76, cat: Movies/HD, desc: "Movies - HEVC/x265"}
|
||||
- {id: 47, cat: Movies/HD, desc: "Movies - X264/H264"}
|
||||
- {id: 3, cat: Movies/UHD, desc: "Movies - UltraHD/4K"}
|
||||
- {id: 42, cat: Movies/SD, desc: "Movies - XviD"}
|
||||
- {id: 60, cat: Audio/Lossless, desc: "Music - FLAC"}
|
||||
- {id: 59, cat: Audio/MP3, desc: "Music - MP3"}
|
||||
- {id: 61, cat: Audio/Video, desc: "Music - Music Videos"}
|
||||
- {id: 69, cat: Audio/Other, desc: "Music - Others"}
|
||||
- {id: 95, cat: Other/Misc, desc: "Others - Misc"}
|
||||
- {id: 78, cat: Other, desc: "Others - Unsorted"}
|
||||
- {id: 63, cat: PC/Mobile-Android, desc: "Software - Android"}
|
||||
- {id: 64, cat: PC/Mac, desc: "Software - Mac"}
|
||||
- {id: 70, cat: PC, desc: "Software - Others"}
|
||||
- {id: 62, cat: PC/0day, desc: "Software - Windows"}
|
||||
- {id: 94, cat: Books, desc: "Tutorials - Tutorials"}
|
||||
- {id: 79, cat: TV/Documentary, desc: "Documentary"}
|
||||
- {id: 41, cat: TV/HD, desc: "TV - HD/X264/H264"}
|
||||
- {id: 77, cat: TV/HD, desc: "TV - HEVC/x265"}
|
||||
- {id: 5, cat: TV/SD, desc: "TV - SD/X264/H264"}
|
||||
- {id: 50, cat: TV/SD, desc: "TV - SD/XVID"}
|
||||
- {id: 72, cat: TV/Sport, desc: "TV - Sport"}
|
||||
- {id: 7, cat: TV, desc: "TV - TV Packs"}
|
||||
- {id: 89, cat: TV/UHD, desc: "TV - UltraHD/4K"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- 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
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
path: "{{ if .Keywords }}torrents-search.php{{ else }}torrents.php{{ end }}"
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
incldead: 1
|
||||
keywordsfilters:
|
||||
- name: replace
|
||||
args: ["-", " "] # remove special search character (negative search)
|
||||
- name: replace
|
||||
args: ["+", " "] # remove special search character (positive search)
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
- name: re_replace
|
||||
args: ["\\s+", " "] # clean up whitespaces (multiple consecutive spaces confuses the search engine)
|
||||
|
||||
rows:
|
||||
selector: div.myFrame-content > div > table > tbody > tr[class]
|
||||
filters:
|
||||
- name: andmatch # they ignore keywords <= characters, so we still andmatch it, see https://www.ettv.tv/forum/view/topic/and-search-operator-broken--70
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="/torrent/"][title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["( torrent)$", ""]
|
||||
category:
|
||||
text: 78 # issue #7110
|
||||
category|noappend:
|
||||
optional: true
|
||||
selector: a[href^="/torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(3)
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["N/A", "0 B"]
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -7,13 +7,14 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://extratorrent.st/
|
||||
- https://extratorrent.unblockit.how/
|
||||
- https://extratorrent.unblockit.cam/
|
||||
- https://extratorrent.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://extratorrent.nocensor.work/
|
||||
- https://extratorrent.unblockit.kim/
|
||||
- https://extratorrent.unblockit.bz/
|
||||
- https://extratorrent.unblockit.tv/
|
||||
- https://extratorrent.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -12,7 +12,7 @@ links:
|
||||
- https://eztv.tf/
|
||||
- https://eztv.yt/
|
||||
- https://eztv.unblockninja.com/
|
||||
- https://eztv.unblockit.how/
|
||||
- https://eztv.unblockit.cam/
|
||||
- https://eztv.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://eztv.ag/ # redirects to .re
|
||||
@@ -35,6 +35,7 @@ legacylinks:
|
||||
- https://eztv.unblockit.kim/
|
||||
- https://eztv.unblockit.bz/
|
||||
- https://eztv.unblockit.tv/
|
||||
- https://eztv.unblockit.how/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -48,6 +48,10 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use DDoS-Guard Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
- name: thankyou
|
||||
type: text
|
||||
label: Thank You Comment
|
||||
|
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.gktorrents.net/
|
||||
- https://www.gktorrents.org/
|
||||
- https://gktorrent.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://www.gktorrent.com/
|
||||
@@ -36,6 +36,7 @@ legacylinks:
|
||||
- https://gktorrent.nocensor.space/
|
||||
- https://www.gktorrents.com/
|
||||
- https://gktorrent.nocensor.work/
|
||||
- https://www.gktorrents.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://glodls.to/
|
||||
- https://www.gtdb.to/
|
||||
- https://glotorrents.unblockit.how/
|
||||
- https://glotorrents.unblockit.cam/
|
||||
- https://glotorrents.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://glodls.rocks/
|
||||
@@ -32,6 +32,7 @@ legacylinks:
|
||||
- https://glotorrents.unblockit.kim/
|
||||
- https://glotorrents.unblockit.bz/
|
||||
- https://glotorrents.unblockit.tv/
|
||||
- https://glotorrents.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -64,10 +64,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -5,6 +5,8 @@ description: "HDME is a Private Torrent Tracker for HD MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: windows-1252
|
||||
certificates:
|
||||
- 07872b2e93e50d8abeea094e5621b4c637c61652 # self signed
|
||||
links:
|
||||
- https://hdme.eu/
|
||||
|
||||
|
@@ -68,10 +68,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -60,6 +60,7 @@ search:
|
||||
- path: advancedsearch.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
q: "{{ if and .Config.titleOnly .Keywords }}title:({{ else }}{{ end }}{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}{{ if and .Config.titleOnly .Keywords }}){{ else }}{{ end }}{{ if .Keywords }} AND {{ else }}{{ end }}format:(\"Archive BitTorrent\"){{ if .Categories }} AND mediatype:({{ join .Categories \" OR \" }}){{ else }}{{ end }}"
|
||||
fl[]: "identifier,title,mediatype,item_size,downloads,btih,publicdate"
|
||||
|
@@ -64,16 +64,17 @@ caps:
|
||||
- {id: 50, cat: PC/Mobile-Android, desc: "Applications Android"}
|
||||
- {id: 51, cat: PC/Mac, desc: "Applications Misc , Linux , Mac "}
|
||||
- {id: 52, cat: PC/0day, desc: "Applications Windows"}
|
||||
- {id: 22, cat: Books, desc: "Ebooks/Mags"}
|
||||
- {id: 22, cat: Books, desc: "Ebooks/Mags/Comics"}
|
||||
- {id: 48, cat: Audio/Audiobook, desc: "Ebooks Audiobooks"}
|
||||
- {id: 49, cat: Books/EBook, desc: "Ebooks Ebooks / Mags"}
|
||||
- {id: 117, cat: Books/Comics, desc: "Ebooks Comics"}
|
||||
- {id: 49, cat: Books/EBook, desc: "Ebooks Mags"}
|
||||
- {id: 23, cat: PC/Games, desc: "Games"}
|
||||
- {id: 45, cat: PC/Games, desc: "Games PC / ISO"}
|
||||
- {id: 105, cat: Console/PS4, desc: "Games PS2 / PS3 / PS4 "}
|
||||
- {id: 46, cat: Console/NDS, desc: "Games Wii+ Nds"}
|
||||
- {id: 47, cat: Console/XBox 360, desc: "Games Xbox360"}
|
||||
- {id: 20, cat: Movies, desc: "Movies"}
|
||||
- {id: 113, cat: Movies, desc: "Movies 2021 Movies"}
|
||||
- {id: 113, cat: Movies, desc: "Movies 2022 Movies"}
|
||||
- {id: 116, cat: Movies/UHD, desc: "Movies 4K Movies"}
|
||||
- {id: 53, cat: Movies, desc: "Movies Anime / Kids"}
|
||||
- {id: 54, cat: Movies/BluRay, desc: "Movies Bluray,HDRip,BDRip,Webrip,HEVC"}
|
||||
@@ -82,6 +83,7 @@ caps:
|
||||
- {id: 57, cat: Movies/DVD, desc: "Movies DVDR ,NTSCPAL ,ISO"}
|
||||
- {id: 58, cat: Movies/WEB-DL, desc: "Movies DVDRip,AVI,XVID,BRRip"}
|
||||
- {id: 59, cat: Movies/Foreign, desc: "Movies Foreign"}
|
||||
- {id: 118, cat: Movies, desc: "Movies iPad"}
|
||||
- {id: 107, cat: Movies/HD, desc: "Movies Mp4 Movies"}
|
||||
- {id: 60, cat: Movies, desc: "Movies Netflix"}
|
||||
- {id: 61, cat: Movies/3D, desc: "Movies Remux , 3D"}
|
||||
@@ -91,8 +93,8 @@ caps:
|
||||
- {id: 42, cat: TV/Anime, desc: "TV Kids / Anime"}
|
||||
- {id: 43, cat: TV/Sport, desc: "TV Sport"}
|
||||
- {id: 44, cat: TV/Sport, desc: "TV Sport Packs"}
|
||||
- {id: 26, cat: Books/Comics, desc: "Comics"}
|
||||
- {id: 37, cat: Books/Comics, desc: "Comics Comics"}
|
||||
- {id: 26, cat: Audio, desc: "Request Seed DMC/Mastermix"}
|
||||
- {id: 37, cat: Audio, desc: "Request Seed DMC/Mastermix"}
|
||||
- {id: 25, cat: TV, desc: "TV Packs/Full Seasons"}
|
||||
- {id: 38, cat: TV, desc: "TV Packs Full Seasons"}
|
||||
- {id: 40, cat: TV, desc: "TV Packs Kids / Anime Full Seasons"}
|
||||
@@ -102,9 +104,9 @@ caps:
|
||||
- {id: 1, cat: Other/Misc, desc: "Unsorted"}
|
||||
- {id: 2, cat: Other/Misc, desc: "Unsorted To Be Edited"}
|
||||
- {id: 30, cat: Other, desc: "Exclusive VIP"}
|
||||
- {id: 33, cat: Other, desc: "Exclusive VIP Exclusive VIP Not To Be Uploaded Anywhere"}
|
||||
- {id: 33, cat: Other, desc: "Exclusive VIP Not To Be Uploaded Anywhere"}
|
||||
- {id: 31, cat: Other, desc: "VIP"}
|
||||
- {id: 32, cat: Other, desc: "VIP VIP Not To Be Uploaded Anywhere"}
|
||||
- {id: 32, cat: Other, desc: "VIP Not To Be Uploaded Anywhere"}
|
||||
- {id: 99, cat: Other, desc: "Christmas Albums"}
|
||||
- {id: 101, cat: Other, desc: "Christmas Albums Packs"}
|
||||
- {id: 103, cat: Other, desc: "All Christmas Movies and Packs"}
|
||||
|
158
src/Jackett.Common/Definitions/lat-team-api.yml
Normal file
158
src/Jackett.Common/Definitions/lat-team-api.yml
Normal file
@@ -0,0 +1,158 @@
|
||||
---
|
||||
id: lat-team-api
|
||||
name: Lat-Team (API)
|
||||
description: "Lat-Team is a SPANISH Private Torrent Tracker for MOVIES / TV"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://lat-team.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 6, cat: Movies/Other, desc: "Retro Pelicula"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 2, cat: TV, desc: "TV Series"}
|
||||
- {id: 7, cat: TV/Other, desc: "Retro Serie TV"}
|
||||
- {id: 8, cat: TV/Foreign, desc: "Telenovelas y Teleseries"}
|
||||
- {id: 3, cat: Audio, desc: "Musica"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://lat-team.com/\" target =_blank>Lat-Team</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?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS(\\d+)", "T$1"]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: category
|
||||
title_vose:
|
||||
selector: name:contains(VOSE)
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^ *\\[[^\\]]*\\] *", ""] # Remove prefix tags
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bT(\\d+)", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["UHDRip", "BDRip"] # Fix for Radarr
|
||||
- name: append
|
||||
args: " ENGLiSH"
|
||||
title_notvose:
|
||||
selector: name:not(:contains(VOSE))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^ *\\[[^\\]]*\\] *", ""] # Remove prefix tags
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bT(\\d+)", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["UHDRip", "BDRip"] # Fix for Radarr
|
||||
- name: append
|
||||
args: " SPANiSH"
|
||||
title:
|
||||
text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}"
|
||||
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=false, 1=true
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# json UNIT3D 5.3.0
|
@@ -1,219 +0,0 @@
|
||||
---
|
||||
id: lat-team
|
||||
name: Lat-Team
|
||||
description: "Lat-Team is a SPANISH Private Torrent Tracker for MOVIES / TV"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://lat-team.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 6, cat: Movies/Other, desc: "Retro Pelicula"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 2, cat: TV, desc: "TV Series"}
|
||||
- {id: 7, cat: TV/Other, desc: "Retro Serie TV"}
|
||||
- {id: 8, cat: TV/Foreign, desc: "Telenovelas y Teleseries"}
|
||||
- {id: 3, cat: Audio, desc: "Musica"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
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: 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: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: div#ERROR_COPY
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
name: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
description: ""
|
||||
mediainfo: ""
|
||||
keywords: ""
|
||||
uploader: ""
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
malId: ""
|
||||
startYear: ""
|
||||
endYear: ""
|
||||
playlistId: ""
|
||||
collectionId: ""
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS(\\d+)", "T$1"]
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/(\\d+)"
|
||||
title_vose:
|
||||
selector: a.view-torrent:contains("VOSE")
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^ *\\[[^\\]]*\\] *", ""] # Remove prefix tags
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bT(\\d+)", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["UHDRip", "BDRip"] # Fix for Radarr
|
||||
- name: append
|
||||
args: " ENGLiSH"
|
||||
title_notvose:
|
||||
selector: a.view-torrent:not(:contains("VOSE"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^ *\\[[^\\]]*\\] *", ""] # Remove prefix tags
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bT(\\d+)", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["UHDRip", "BDRip"] # Fix for Radarr
|
||||
- name: append
|
||||
args: " SPANiSH"
|
||||
title:
|
||||
text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}"
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/400x600", ""]
|
||||
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:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# UNIT3D 5.3.0
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
# changes to this indexer should also be made to limetorrentsclone
|
||||
links:
|
||||
- https://www.limetorrents.pro/
|
||||
- https://limetorrents.unblockit.how/
|
||||
- https://limetorrents.unblockit.cam/
|
||||
- https://limetorrents.unblockninja.com/
|
||||
- https://limetorrents.nocensor.biz/
|
||||
legacylinks:
|
||||
@@ -33,6 +33,7 @@ legacylinks:
|
||||
- https://limetorrents.unblockit.kim/
|
||||
- https://limetorrents.unblockit.bz/
|
||||
- https://limetorrents.unblockit.tv/
|
||||
- https://limetorrents.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -10,24 +10,24 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 29, cat: Movies/SD, desc: "movies"}
|
||||
- {id: 52, cat: Movies/HD, desc: "movies HD"}
|
||||
- {id: 29, cat: Movies/SD, desc: "Movies"}
|
||||
- {id: 52, cat: Movies/HD, desc: "Movies HD"}
|
||||
- {id: 30, cat: TV/SD, desc: "TV"}
|
||||
- {id: 60, cat: TV/HD, desc: "HD TV"}
|
||||
- {id: 60, cat: TV/HD, desc: "TV HD"}
|
||||
- {id: 45, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: 37, cat: Audio, desc: "Music"}
|
||||
- {id: 56, cat: Books, desc: "Books"}
|
||||
- {id: 40, cat: Other/Misc, desc: "misc"}
|
||||
- {id: 53, cat: Movies/SD, desc: "movies E"}
|
||||
- {id: 61, cat: Movies/HD, desc: "E HD Movies"}
|
||||
- {id: 28, cat: TV/SD, desc: "TV E"}
|
||||
- {id: 62, cat: TV/HD, desc: "E HD TV"}
|
||||
- {id: 40, cat: Other/Misc, desc: "Misc"}
|
||||
- {id: 53, cat: Movies/SD, desc: "Movies LT"}
|
||||
- {id: 61, cat: Movies/HD, desc: "Movies LT HD"}
|
||||
- {id: 28, cat: TV/SD, desc: "TV LT"}
|
||||
- {id: 62, cat: TV/HD, desc: "TV LT HD"}
|
||||
- {id: 63, cat: PC/Games, desc: "PC Games Misc"}
|
||||
- {id: 33, cat: Audio, desc: "Music E"}
|
||||
- {id: 57, cat: Books, desc: "Books E"}
|
||||
- {id: 43, cat: Other/Misc, desc: "misc E"}
|
||||
- {id: 51, cat: Movies/SD, desc: "movies RU"}
|
||||
- {id: 64, cat: Movies/HD, desc: "RU Movies HD"}
|
||||
- {id: 33, cat: Audio, desc: "Music LT"}
|
||||
- {id: 57, cat: Books, desc: "Books LT"}
|
||||
- {id: 43, cat: Other/Misc, desc: "Misc LT"}
|
||||
- {id: 51, cat: Movies/SD, desc: "Movies RU"}
|
||||
- {id: 64, cat: Movies/HD, desc: "Movies RU HD"}
|
||||
- {id: 65, cat: TV, desc: "TV RU"}
|
||||
- {id: 25, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 42, cat: Console/XBox, desc: "XBOX"}
|
||||
@@ -37,7 +37,7 @@ caps:
|
||||
- {id: 46, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 58, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 38, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 26, cat: Movies/DVD, desc: "DVD E"}
|
||||
- {id: 26, cat: Movies/DVD, desc: "DVD LT"}
|
||||
- {id: 44, cat: Console/Other, desc: "Consoles"}
|
||||
- {id: 31, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 32, cat: PC/0day, desc: "Appz"}
|
||||
@@ -49,6 +49,25 @@ caps:
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
# - name: andmatch
|
||||
# type: checkbox
|
||||
# label: Accept non english characters in torrent names (get more results)
|
||||
# default: true
|
||||
|
||||
- name: searchindesc
|
||||
type: checkbox
|
||||
label: Search in torrent description (get more results)
|
||||
default: true
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
@@ -67,11 +86,12 @@ search:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
searchindesc: "{{ .Config.searchindesc }}"
|
||||
|
||||
rows:
|
||||
selector: table> tbody > tr:has(a[href^="details?"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
# filters:
|
||||
# - name: "{{ if .Config.andmatch }}andmatch{{ else }}{{ end }}" Currently, -name must be simple string, not a variable
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
@@ -41,7 +41,7 @@ caps:
|
||||
- {id: 36, cat: Books, desc: "Deckofficer's Library-Technical equipment of navigation"}
|
||||
- {id: 95, cat: Books, desc: "Deckofficer's Library-Hydrometeorology"}
|
||||
- {id: 100, cat: Books, desc: "Deckofficer's Library-Ship Theory"}
|
||||
- {id: 110, cat: Books, desc: "Deckofficer's Library-Astronomy"}
|
||||
- {id: 110, cat: Books, desc: "Deckofficer's Library-Nautical Astronomy"}
|
||||
- {id: 94, cat: Books, desc: "Deckofficer's Library-Nautical charts, tables, sailing directions"}
|
||||
- {id: 116, cat: Books, desc: "Deckofficer's Library-Global Maritime Distress and Safety System (GMDSS)"}
|
||||
- {id: 192, cat: Books, desc: "Deckofficer's Library-Navigation in the ice"}
|
||||
@@ -122,7 +122,7 @@ caps:
|
||||
- {id: 253, cat: Books, desc: "Yachting, sailing, boating-Seamanship practice"}
|
||||
- {id: 254, cat: Books, desc: "Yachting, sailing, boating-Repair and Restoration"}
|
||||
- {id: 255, cat: Books, desc: "Yachting, sailing, boating-Sailing Alone"}
|
||||
- {id: 256, cat: Books, desc: "Yachting, sailing, boating-Rigging, knots"}
|
||||
- {id: 256, cat: Books, desc: "Yachting, sailing, boating-Rigging, sails, knots"}
|
||||
- {id: 252, cat: Books, desc: "Yachting, sailing, boating-Projects, design, construction"}
|
||||
- {id: 251, cat: Books, desc: "Diving"}
|
||||
- {id: 177, cat: Books, desc: "Shipmodeling"}
|
||||
@@ -162,9 +162,10 @@ caps:
|
||||
- {id: 247, cat: Books, desc: "Rarity-1600 - 1700"}
|
||||
- {id: 187, cat: Books, desc: "Others (not maritime)"}
|
||||
- {id: 162, cat: Books, desc: "Archive"}
|
||||
- {id: 315, cat: Books, desc: "Archive-Unformed"}
|
||||
- {id: 322, cat: Books, desc: "Archive-No seeds"}
|
||||
- {id: 321, cat: Books, desc: "Archive-Outdated software"}
|
||||
- {id: 38, cat: Books, desc: "Archive-Uncategorized"}
|
||||
- {id: 295, cat: Books, desc: "Archive-Unregistered releases"}
|
||||
- {id: 295, cat: Books, desc: "Archive-Unregistered"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
@@ -183,6 +183,6 @@ search:
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 14 days (as seconds = 14 x 24 x 60 x 60)
|
||||
text: 1209600
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# TBDEV custom v2.0
|
||||
|
@@ -46,6 +46,10 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use DDoS-Guard Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.oxtorrent.be/
|
||||
- https://oxtorrent.unblockit.how/
|
||||
- https://oxtorrent.unblockit.cam/
|
||||
- https://oxtorrent.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://www.oxtorrent.bz/
|
||||
@@ -31,6 +31,7 @@ legacylinks:
|
||||
- https://oxtorrent.unblockit.bz/
|
||||
- https://www.oxtorrent.vc/
|
||||
- https://oxtorrent.unblockit.tv/
|
||||
- https://oxtorrent.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -5,6 +5,8 @@ description: "P2PElite is a Private Torrent Tracker for EBOOKS / AUDIOBOOKS"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 62c2e785a370398cf1397ffa05423044f654c057 # expired 3 Feb 2022
|
||||
links:
|
||||
- https://p2pelite.com/
|
||||
|
||||
|
@@ -692,7 +692,7 @@ search:
|
||||
submit: "Поиск"
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]
|
||||
selector: tr[id^="tor_"]:has(a[href^="/dl.php?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
|
@@ -706,7 +706,7 @@ search:
|
||||
submit: "Поиск"
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]
|
||||
selector: tr[id^="tor_"]:has(a[href^="/dl.php?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
|
@@ -1,121 +0,0 @@
|
||||
---
|
||||
id: pirateiro
|
||||
name: Pirateiro
|
||||
description: "Pirateiro is a Public site for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://pirateiro.com/
|
||||
- https://pirateiro.eu/
|
||||
- https://pirateiro.unblockit.how/
|
||||
legacylinks:
|
||||
- http://pirateiro.com/
|
||||
- https://pirateiro.unblockit.pw/
|
||||
- https://pirateiro.unblockit.id/
|
||||
- https://pirateiro.unblockit.win/
|
||||
- https://pirateiro.unblockit.top/
|
||||
- https://pirateiro.unblockit.lat/
|
||||
- https://pirateiro.unblockit.app/
|
||||
- https://pirateiro.unblockit.dev/
|
||||
- https://pirateiro.unblockit.ltd/
|
||||
- https://pirateiro.unblockit.link/
|
||||
- https://pirateiro.unblockit.buzz/
|
||||
- https://pirateiro.unblockit.club/
|
||||
- https://pirateiro.unblockit.onl/
|
||||
- https://pirateiro.unblockit.li/
|
||||
- https://pirateiro.unblockit.uno/
|
||||
- https://pirateiro.unblockit.ch/
|
||||
- https://pirateiro.unblockit.ws/
|
||||
- https://pirateiro.unblockit.kim/
|
||||
- https://pirateiro.unblockit.bz/
|
||||
- https://pirateiro.unblockit.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: cat100, cat: TV/Anime, desc: Anime}
|
||||
- {id: cat200, cat: PC, desc: Software}
|
||||
- {id: cat300, cat: Movies, desc: Movies}
|
||||
- {id: cat400, cat: Console, desc: Games}
|
||||
- {id: cat500, cat: Audio, desc: Music}
|
||||
- {id: cat600, cat: Other, desc: Other}
|
||||
- {id: cat700, cat: TV, desc: TV}
|
||||
- {id: cat800, cat: XXX, desc: Adult}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: enviado
|
||||
options:
|
||||
enviado: created
|
||||
seeders: seeders
|
||||
tamanho: size
|
||||
- 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">FlareSolver</a> to access it.
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
orderby: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: table.torrenttable tbody tr:has(a[href^="magnet:?xt="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-child(1) a
|
||||
attribute: class
|
||||
filters:
|
||||
# extract the first class
|
||||
- name: split
|
||||
args: [" ", 0]
|
||||
title:
|
||||
selector: td:nth-child(1) a:nth-child(2)
|
||||
details:
|
||||
selector: td:nth-child(1) a:nth-child(2)
|
||||
attribute: href
|
||||
download:
|
||||
# .torrent urls can be missing
|
||||
optional: true
|
||||
selector: a[href$="/download"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(3) span
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "02/01/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" ", ""]
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" ", ""]
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -29,6 +29,10 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use DDoS-Guard Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolver</a> to access it.
|
||||
- name: thankyou
|
||||
type: text
|
||||
label: Thank You Comment
|
||||
|
172
src/Jackett.Common/Definitions/redbits-api.yml
Normal file
172
src/Jackett.Common/Definitions/redbits-api.yml
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
id: redbits-api
|
||||
name: RedBits (API)
|
||||
description: "RedBits is a SPANISH site for classic content"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://red-bits.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 2, cat: TV, desc: "Series"}
|
||||
- {id: 6, cat: TV/Documentary, desc: "Documentales"}
|
||||
- {id: 7, cat: TV/Sport, desc: "Deportes"}
|
||||
- {id: 8, cat: Movies, desc: "Hagbard"}
|
||||
- {id: 9, cat: Movies, desc: "Studio Ghibli"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://red-bits.com/\" target =_blank>RedBits</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
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: category
|
||||
title_vose:
|
||||
selector: name:contains(VOSE)
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)bdfull", "BluRay"] # BDfull -> BluRay
|
||||
- name: re_replace
|
||||
args: ["(?i)RedBits", ""] # Delete RedBits
|
||||
- name: append
|
||||
args: " English" # Add english to fix Sonarr/Radarr language
|
||||
- name: re_replace
|
||||
args: ["\\[|\\]", " "]
|
||||
- name: re_replace
|
||||
args: [" ", " "]
|
||||
- name: re_replace
|
||||
args: ["(?i)T(\\d{1,2})\\b", "S$1"]
|
||||
title_notvose:
|
||||
selector: name:not(:contains(VOSE))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)bdfull", "BluRay"] # BDfull -> BluRay
|
||||
- name: re_replace
|
||||
args: ["(?i)RedBits", ""] # Delete RedBits
|
||||
- name: append
|
||||
args: " Spanish" # Add spanish to fix Sonarr/Radarr language
|
||||
- name: re_replace
|
||||
args: ["\\[|\\]", " "]
|
||||
- name: re_replace
|
||||
args: [" ", " "]
|
||||
- name: re_replace
|
||||
args: ["(?i)T(\\d{1,2})\\b", "S$1"]
|
||||
title:
|
||||
text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}"
|
||||
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
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# json UNIT3D 6.0.0
|
@@ -1,227 +0,0 @@
|
||||
---
|
||||
id: redbits
|
||||
name: RedBits
|
||||
description: "RedBits is a SPANISH site for classic content"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://red-bits.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 2, cat: TV, desc: "Series"}
|
||||
- {id: 6, cat: TV/Documentary, desc: "Documentales"}
|
||||
- {id: 7, cat: TV/Sport, desc: "Deportes"}
|
||||
- {id: 8, cat: Movies, desc: "Hagbard"}
|
||||
- {id: 9, cat: Movies, desc: "Studio Ghibli"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
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: 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: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: div#ERROR_COPY
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/filter
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS0*(\\d+)\\b", "T$1"]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
description: ""
|
||||
keywords: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: "{{ .Query.TVDBID }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
mal: ""
|
||||
igdb: ""
|
||||
start_year: ""
|
||||
end_year: ""
|
||||
sorting: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
page: 0
|
||||
view: list
|
||||
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/(\\d+)"
|
||||
title_vose:
|
||||
selector: a.view-torrent:contains("VOSE")
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)bdfull", "BluRay"] # BDfull -> BluRay
|
||||
- name: re_replace
|
||||
args: ["(?i)RedBits", ""] # Delete RedBits
|
||||
- name: append
|
||||
args: " English" # Add english to fix Sonarr/Radarr language
|
||||
- name: re_replace
|
||||
args: ["\\[|\\]", " "]
|
||||
- name: re_replace
|
||||
args: [" ", " "]
|
||||
- name: re_replace
|
||||
args: ["(?i)T(\\d{1,2})\\b", "S$1"]
|
||||
title_notvose:
|
||||
selector: a.view-torrent:not(:contains("VOSE"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)bdfull", "BluRay"] # BDfull -> BluRay
|
||||
- name: re_replace
|
||||
args: ["(?i)RedBits", ""] # Delete RedBits
|
||||
- name: append
|
||||
args: " Spanish" # Add spanish to fix Sonarr/Radarr language
|
||||
- name: re_replace
|
||||
args: ["\\[|\\]", " "]
|
||||
- name: re_replace
|
||||
args: [" ", " "]
|
||||
- name: re_replace
|
||||
args: ["(?i)T(\\d{1,2})\\b", "S$1"]
|
||||
title:
|
||||
text: "{{ if .Result.title_vose }}{{ .Result.title_vose }}{{ else }}{{ .Result.title_notvose }}{{ end }}"
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&w=52&h=80", "&w=180&h=270"] # for display on dashboard
|
||||
- name: replace
|
||||
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/52x80&w=180&h=270", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# UNIT3D 5.1.0
|
@@ -67,10 +67,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -72,10 +72,19 @@ 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?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
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: diacritics
|
||||
@@ -87,6 +96,7 @@ search:
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
@@ -148,11 +158,15 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
@@ -165,4 +179,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 5.3.0
|
||||
# json UNIT3D 6.0.0
|
||||
|
@@ -60,10 +60,19 @@ 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?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
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
|
||||
@@ -71,6 +80,7 @@ search:
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
@@ -108,15 +118,19 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# json UNIT3D 5.3.0
|
||||
# json UNIT3D 6.0.0
|
||||
|
@@ -72,13 +72,23 @@ 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?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
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
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
@@ -116,11 +126,15 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
@@ -133,4 +147,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 5.3.0
|
||||
# json UNIT3D 6.0.0
|
||||
|
@@ -4,7 +4,7 @@ name: teracod
|
||||
description: "teracod (Movie Zone) is a HUNGARIAN Private Torrent Tracker for 0DAY / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: iso-8859-2
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://teracod.net/
|
||||
legacylinks:
|
||||
|
@@ -127,6 +127,7 @@ search:
|
||||
- path: "https://apibay.org/{{ if .Keywords }}q.php?q={{ .Keywords }}&cat={{ join .Categories \",\" }}{{ else }}precompiled/data_top100_recent.json{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
|
||||
keywordsfilters:
|
||||
# remove it's #8829
|
||||
- name: re_replace
|
||||
|
@@ -10,7 +10,7 @@ links:
|
||||
- https://www.torlock.com/
|
||||
- https://www.torlock2.com/
|
||||
- https://www.torlock.icu/
|
||||
- https://torlock.unblockit.how/
|
||||
- https://torlock.unblockit.cam/
|
||||
- https://torlock.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://torlock.com/
|
||||
@@ -33,6 +33,7 @@ legacylinks:
|
||||
- https://torlock.unblockit.kim/
|
||||
- https://torlock.unblockit.bz/
|
||||
- https://torlock.unblockit.tv/
|
||||
- https://torlock.unblockit.how/
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
|
@@ -70,13 +70,16 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Config.sitelink }}"
|
||||
date:
|
||||
selector: span.date
|
||||
date_year:
|
||||
selector: span.date:contains("-")
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +03:00" # MSK
|
||||
- name: dateparse
|
||||
args: "2006-01-02 -07:00"
|
||||
date:
|
||||
text: "{{ if .Result.date_year }}{{ .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: span.size
|
||||
seeders:
|
||||
|
@@ -6,75 +6,81 @@ language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://torrent-explosiv.hopto.org/
|
||||
legacylinks:
|
||||
- https://torrent-explosiv.eu/
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
categorymappings:
|
||||
# App
|
||||
- {id: 12, cat: PC/0day, desc: "App Win"}
|
||||
- {id: 10, cat: PC/Mac, desc: "App Mac"}
|
||||
- {id: 127, cat: PC/Mobile-Android, desc: "App Android"}
|
||||
# Doku
|
||||
- {id: 177, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 178, cat: TV/Documentary, desc: "Doku SD"}
|
||||
# Game
|
||||
- {id: 17, cat: PC/Games, desc: "Game PC"}
|
||||
- {id: 263, cat: Console/Other, desc: "Game Sonstiege"}
|
||||
- {id: 299, cat: Console, desc: "Game Wimmelbild"}
|
||||
- {id: 264, cat: Console, desc: "Game PDA / Handy"}
|
||||
- {id: 265, cat: Console/PSP, desc: "Game PlayStation"}
|
||||
# Movie
|
||||
- {id: 277, cat: Movies, desc: "Movie Pack"}
|
||||
- {id: 300, cat: Movies/3D, desc: "Movie 3D"}
|
||||
- {id: 258, cat: Movies/UHD, desc: "Movie UHD"}
|
||||
- {id: 262, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||
- {id: 301, cat: Movies/BluRay, desc: "Movie Bluray"}
|
||||
- {id: 312, cat: Movies, desc: "Movie Kids"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Movie HD"}
|
||||
# Music
|
||||
- {id: 48, cat: Audio, desc: "Music Album"}
|
||||
- {id: 53, cat: Audio, desc: "Music Sampler"}
|
||||
- {id: 124, cat: Audio, desc: "Music Mixe"}
|
||||
- {id: 49, cat: Audio, desc: "Music Charts/Single"}
|
||||
- {id: 52, cat: Audio, desc: "Music Pack"}
|
||||
- {id: 288, cat: Audio, desc: "Music Discographie"}
|
||||
- {id: 201, cat: Audio/Lossless, desc: "Music FLAC"}
|
||||
- {id: 121, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 55, cat: Audio/Video, desc: "Music Video SD"}
|
||||
- {id: 303, cat: Audio, desc: "Music Soundtrack"}
|
||||
# Tv Serien
|
||||
- {id: 226, cat: TV/SD, desc: "Tv Serien SD"}
|
||||
- {id: 209, cat: TV/HD, desc: "Tv Serien HD"}
|
||||
- {id: 305, cat: TV/UHD, desc: "Tv Serien UHD"}
|
||||
- {id: 273, cat: TV, desc: "Tv Serien Pack"}
|
||||
- {id: 287, cat: TV/Anime, desc: "Tv Serien Anime SD"}
|
||||
- {id: 286, cat: TV/Anime, desc: "Tv Serien Anime HD"}
|
||||
- {id: 179, cat: Movies/SD, desc: "Movie SD"}
|
||||
- {id: 180, cat: Movies/HD, desc: "Movie HD"}
|
||||
- {id: 181, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||
- {id: 184, cat: Movies/BluRay, desc: "Movie BluRay"}
|
||||
- {id: 185, cat: Movies/UHD, desc: "Movie UHD"}
|
||||
- {id: 183, cat: Movies/3D, desc: "Movie 3D"}
|
||||
- {id: 221, cat: Movies, desc: "Movie Kids"}
|
||||
- {id: 186, cat: Movies/Foreign, desc: "Movie Englisch"}
|
||||
- {id: 182, cat: Movies/SD, desc: "Movie Packs SD"}
|
||||
- {id: 228, cat: Movies/HD, desc: "Movie Packs HD"}
|
||||
# Serien
|
||||
- {id: 198, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 199, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 200, cat: TV/UHD, desc: "Serien UHD"}
|
||||
- {id: 202, cat: TV/Anime, desc: "Serien Anime"}
|
||||
- {id: 223, cat: TV/SD, desc: "Serien Pack SD"}
|
||||
- {id: 201, cat: TV/HD, desc: "Serien Packs HD"}
|
||||
- {id: 224, cat: TV/UHD, desc: "Serien Pack UHD"}
|
||||
# Game
|
||||
- {id: 173, cat: PC/Games, desc: "Game PC"}
|
||||
- {id: 174, cat: Console/PSP, desc: "Game PlayStation"}
|
||||
- {id: 175, cat: Console/XBox, desc: "Game XBOX"}
|
||||
- {id: 176, cat: Console/NDS, desc: "Game Nintendo"}
|
||||
- {id: 177, cat: Console, desc: "Game Wimmelbild"}
|
||||
- {id: 178, cat: Console/Other, desc: "Game Sonstiege"}
|
||||
# Musik
|
||||
- {id: 187, cat: Audio, desc: "Musik Alben"}
|
||||
- {id: 188, cat: Audio, desc: "Musik Sampler"}
|
||||
- {id: 190, cat: Audio, desc: "Musik Charts"}
|
||||
- {id: 189, cat: Audio, desc: "Musik Mixe"}
|
||||
- {id: 193, cat: Audio/Lossless, desc: "Musik FLAC"}
|
||||
- {id: 191, cat: Audio/MP3, desc: "Musik Single"}
|
||||
- {id: 194, cat: Audio/Video, desc: "Musik Video"}
|
||||
- {id: 225, cat: Audio, desc: "Musik Kids"}
|
||||
- {id: 219, cat: Audio, desc: "Musik Hörspiele"}
|
||||
- {id: 195, cat: Audio, desc: "Musik Soundtrack"}
|
||||
- {id: 192, cat: Audio, desc: "Musik Discographie"}
|
||||
- {id: 227, cat: Audio/Audiobook, desc: "Musik A-Book"}
|
||||
- {id: 196, cat: Audio, desc: "Musik Pack"}
|
||||
# App
|
||||
- {id: 168, cat: PC/0day, desc: "App Windows"}
|
||||
- {id: 166, cat: PC/Mac, desc: "App Mac"}
|
||||
- {id: 165, cat: PC, desc: "App Linux"}
|
||||
- {id: 169, cat: PC/Mobile-Android, desc: "App Android"}
|
||||
# Doku
|
||||
- {id: 170, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 171, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 229, cat: TV/Documentary, desc: "Doku 4K UHD"}
|
||||
- {id: 172, cat: TV/Documentary, desc: "Doku Packs"}
|
||||
# Ebooks
|
||||
- {id: 212, cat: Books/Other, desc: "Ebooks Zeitungen"}
|
||||
- {id: 211, cat: Books/Mags, desc: "Ebooks Magazine"}
|
||||
- {id: 213, cat: Books/EBook, desc: "Ebooks Bücher"}
|
||||
- {id: 214, cat: Books/Comics, desc: "Ebooks Comics"}
|
||||
- {id: 215, cat: XXX/Other, desc: "Ebooks XXX"}
|
||||
# Sport
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport Formel 1"}
|
||||
- {id: 282, cat: TV/Sport, desc: "Sport Sonstiges"}
|
||||
- {id: 313, cat: TV/Sport, desc: "Sport Wrestling"}
|
||||
# Internat.
|
||||
- {id: 307, cat: Movies/SD, desc: "Filme SD"}
|
||||
- {id: 308, cat: Movies/HD, desc: "Filme HD"}
|
||||
- {id: 309, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 310, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 311, cat: TV/HD, desc: "Sonstiges"}
|
||||
# Sonstiges
|
||||
- {id: 216, cat: Books/EBook, desc: "Sonstiges Pdf"}
|
||||
- {id: 202, cat: Books/Mags, desc: "Sonstiges Magazine"}
|
||||
- {id: 217, cat: Books, desc: "Sonstiges EPaper"}
|
||||
- {id: 269, cat: Audio/Other, desc: "Sonstiges Hörspiel"}
|
||||
- {id: 304, cat: Books/Comics, desc: "Sonstiges Comic"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Sonstiges A-Book"}
|
||||
- {id: 96, cat: Books/EBook, desc: "Sonstiges E-Book"}
|
||||
- {id: 203, cat: TV/Sport, desc: "Sport Fussball"}
|
||||
- {id: 230, cat: TV/Sport, desc: "Sport Formel 1"}
|
||||
- {id: 204, cat: TV/Sport, desc: "Sport Wrestling"}
|
||||
- {id: 231, cat: TV/Sport, desc: "Sport Sonstiges"}
|
||||
# XXX
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
|
||||
- {id: 76, cat: XXX/SD, desc: "XXX SD"}
|
||||
- {id: 147, cat: XXX, desc: "XXX Bilder//Clips"}
|
||||
- {id: 302, cat: XXX/Other, desc: "XXX Diverses"}
|
||||
- {id: 205, cat: XXX/SD, desc: "XXX SD"}
|
||||
- {id: 206, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 208, cat: XXX, desc: "XXX Clips"}
|
||||
- {id: 209, cat: XXX/ImageSet, desc: "XXX Bilder"}
|
||||
- {id: 207, cat: XXX/Pack, desc: "XXX Packs"}
|
||||
- {id: 210, cat: XXX/Other, desc: "XXX Sonstiges"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -157,76 +163,78 @@ search:
|
||||
selector: div.kat_cat_pic
|
||||
case:
|
||||
# Movies
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 277
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": 300
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"UHD\"))": 258
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": 262
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Bluray\"))": 301
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Kids\"))": 312
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 28
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 32
|
||||
# Tv Serien
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Anime HD\"))": 286
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Anime SD\"))": 287
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 226
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 209
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"UHD\"))": 305
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 273
|
||||
# Music
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Album\"))": 48
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Discographie\"))": 288
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"FLAC\"))": 201
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"MP3\"))": 121
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Mixe\"))": 124
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Video\"))": 55
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Sampler\"))": 53
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 52
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Charts\"))": 49
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Soundtrack\"))": 303
|
||||
# Doku
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 177
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 178
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Packs SD\"))": 182
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Packs HD\"))": 228
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": 183
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"UHD\"))": 185
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": 181
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"BluRay\"))": 184
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Kids\"))": 221
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"Englisch\"))": 186
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 182
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 180
|
||||
# Serien
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack SD\"))": 223
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack UHD\"))": 224
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Packs HD\"))": 201
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Anime\"))": 202
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 198
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"UHD\"))": 200
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 199
|
||||
# Games
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiege\"))": 263
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PDA\"))": 264
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PlayStation\"))": 265
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": 299
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": 17
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": 173
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PlayStation\"))": 174
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"XBOX\"))": 175
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Nintendo\"))": 176
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": 177
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiege\"))": 178
|
||||
# Music
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Alben\"))": 187
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Sampler\"))": 188
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Charts\"))": 190
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Mixe\"))": 189
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"FLAC\"))": 193
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Single\"))": 191
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Video\"))": 194
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Kids\"))": 225
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Hörspiele\"))": 219
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Soundtrack\"))": 195
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Discographie\"))": 192
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"A-Book\"))": 227
|
||||
":has(div.kat_cat_pic_name:contains(\"Musik\")):has(div.kat_cat_pic_name_b:contains(\"Packs\"))": 196
|
||||
# App
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Win\"))": 12
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mac\"))": 10
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Android\"))": 127
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Windows\"))": 168
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mac\"))": 166
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Linux\"))": 165
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Android\"))": 169
|
||||
# Doku
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 170
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"UHD\"))": 229
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 171
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"Packs\"))": 172
|
||||
# EBooks
|
||||
":has(div.kat_cat_pic_name:contains(\"Ebooks\")):has(div.kat_cat_pic_name_b:contains(\"Zeitungen\"))": 212
|
||||
":has(div.kat_cat_pic_name:contains(\"Ebooks\")):has(div.kat_cat_pic_name_b:contains(\"Magazine\"))": 211
|
||||
":has(div.kat_cat_pic_name:contains(\"Ebooks\")):has(div.kat_cat_pic_name_b:contains(\"Bücher\"))": 213
|
||||
":has(div.kat_cat_pic_name:contains(\"Ebooks\")):has(div.kat_cat_pic_name_b:contains(\"Comics\"))": 214
|
||||
":has(div.kat_cat_pic_name:contains(\"Ebooks\")):has(div.kat_cat_pic_name_b:contains(\"XXX\"))": 215
|
||||
# Sport
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Formel\"))": 62
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": 282
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Wrestling\"))": 313
|
||||
# Internat
|
||||
":has(div.kat_cat_pic_name:contains(\"Internat\")):has(div.kat_cat_pic_name_b:contains(\"Filme SD\"))": 307
|
||||
":has(div.kat_cat_pic_name:contains(\"Internat\")):has(div.kat_cat_pic_name_b:contains(\"Filme HD\"))": 308
|
||||
":has(div.kat_cat_pic_name:contains(\"Internat\")):has(div.kat_cat_pic_name_b:contains(\"Serien SD\"))": 309
|
||||
":has(div.kat_cat_pic_name:contains(\"Internat\")):has(div.kat_cat_pic_name_b:contains(\"Serien HD\"))": 310
|
||||
":has(div.kat_cat_pic_name:contains(\"Internat\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": 311
|
||||
# Sonstiges
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Pdf\"))": 216
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Magazine\"))": 202
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"EPaper\"))": 217
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Hörspiel\"))": 269
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Comic\"))": 304
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"A-Book\"))": 63
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": 96
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Fussball\"))": 203
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Formel\"))": 230
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Wrestling\"))": 204
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": 231
|
||||
# XXX
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 73
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": 75
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 76
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Clips\"))": 147
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Diverses\"))": 302
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": 205
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": 206
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Clips\"))": 208
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Bilder\"))": 209
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Packs\"))": 207
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": 210
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
selector: div.selection_unter_ag
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
@@ -250,8 +258,6 @@ search:
|
||||
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 }}"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
leechers:
|
||||
@@ -263,7 +269,7 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 0.7
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
|
@@ -113,7 +113,7 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td[onclick^="getSpCatTorrents"]
|
||||
selector: td[onclick^="mtt.getSpCatTorrents"]
|
||||
attribute: onclick
|
||||
filters:
|
||||
- name: regexp
|
||||
|
@@ -8,7 +8,7 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.torrentdownload.info/
|
||||
- https://torrentdownload.unblockit.how/
|
||||
- https://torrentdownload.unblockit.cam/
|
||||
- https://torrentdownload.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://torrentdownload.unblockit.top/
|
||||
@@ -31,6 +31,7 @@ legacylinks:
|
||||
- https://torrentdownload.unblockit.kim/
|
||||
- https://torrentdownload.unblockit.bz/
|
||||
- https://torrentdownload.unblockit.tv/
|
||||
- https://torrentdownload.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://www.torrentdownloads.info/
|
||||
- https://www.torrentdownloads.pro/
|
||||
- https://torrentdownloads.unblockit.how/
|
||||
- https://torrentdownloads.unblockit.cam/
|
||||
- https://torrentdownloads.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://torrentdownloads.unblockit.lat/
|
||||
@@ -32,6 +32,7 @@ legacylinks:
|
||||
- https://torrentdownloads.unblockit.kim/
|
||||
- https://torrentdownloads.unblockit.bz/
|
||||
- https://torrentdownloads.unblockit.tv/
|
||||
- https://torrentdownloads.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://www.torrentfunk.com/
|
||||
- https://www.torrentfunk2.com/
|
||||
- https://torrentfunk.unblockit.how/
|
||||
- https://torrentfunk.unblockit.cam/
|
||||
- https://torrentfunk.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://torrentfunk.unblockit.id/
|
||||
@@ -32,6 +32,7 @@ legacylinks:
|
||||
- https://torrentfunk.unblockit.kim/
|
||||
- https://torrentfunk.unblockit.bz/
|
||||
- https://torrentfunk.unblockit.tv/
|
||||
- https://torrentfunk.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -11,7 +11,7 @@ links:
|
||||
- https://torrentgalaxy.mx/
|
||||
- https://torrentgalaxy.su/
|
||||
- https://torrentgalaxy.unblockninja.com/
|
||||
- https://torrentgalaxy.unblockit.how/
|
||||
- https://torrentgalaxy.unblockit.cam/
|
||||
- https://torrentgalaxy.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://torrentgalaxy.org/ # redirects to *.to
|
||||
@@ -34,6 +34,7 @@ legacylinks:
|
||||
- https://torrentgalaxy.unblockit.kim/
|
||||
- https://torrentgalaxy.unblockit.bz/
|
||||
- https://torrentgalaxy.unblockit.tv/
|
||||
- https://torrentgalaxy.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,15 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq128.com/
|
||||
- https://torrentqq130.com/
|
||||
legacylinks:
|
||||
- https://torrentqq106.com/
|
||||
- https://torrentqq107.com/
|
||||
- https://torrentqq108.com/
|
||||
- https://torrentqq109.com/
|
||||
- https://torrentqq110.com/
|
||||
- https://torrentqq111.com/
|
||||
- https://torrentqq112.com/
|
||||
- https://torrentqq113.com/
|
||||
- https://torrentqq114.com/
|
||||
- https://torrentqq115.com/
|
||||
@@ -29,6 +22,8 @@ legacylinks:
|
||||
- https://torrentqq125.com/
|
||||
- https://torrentqq126.com/
|
||||
- https://torrentqq127.com/
|
||||
- https://torrentqq128.com/
|
||||
- https://torrentqq129.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -76,10 +76,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
@@ -7,9 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir48.com/
|
||||
- https://torrentsir49.com/
|
||||
legacylinks:
|
||||
- https://torrentsir33.com/
|
||||
- https://torrentsir34.com/
|
||||
- https://torrentsir35.com/
|
||||
- https://torrentsir36.com/
|
||||
@@ -24,6 +23,7 @@ legacylinks:
|
||||
- https://torrentsir45.com/
|
||||
- https://torrentsir46.com/
|
||||
- https://torrentsir47.com/
|
||||
- https://torrentsir48.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,15 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentview50.com/
|
||||
- https://torrentview.co/
|
||||
legacylinks:
|
||||
- https://torrentview.net/
|
||||
- https://torrentview28.com/
|
||||
- https://torrentview29.com/
|
||||
- https://torrentview30.com/
|
||||
- https://torrentview31.com/
|
||||
- https://torrentview32.com/
|
||||
- https://torrentview33.com/
|
||||
- https://torrentview34.com/
|
||||
- https://torrentview35.com/
|
||||
- https://torrentview36.com/
|
||||
@@ -30,6 +24,7 @@ legacylinks:
|
||||
- https://torrentview46.com/
|
||||
- https://torrentview47.com/
|
||||
- https://torrentview49.com/
|
||||
- https://torrentview50.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,9 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentwiz37.com/
|
||||
- https://torrentwiz38.com/
|
||||
legacylinks:
|
||||
- https://torrentwiz22.me/
|
||||
- https://torrentwiz23.me/
|
||||
- https://torrentwiz24.me/
|
||||
- https://torrentwiz25.me/
|
||||
@@ -24,6 +23,7 @@ legacylinks:
|
||||
- https://torrentwiz34.com/
|
||||
- https://torrentwiz35.com/
|
||||
- https://torrentwiz36.com/
|
||||
- https://torrentwiz37.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,12 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentz2.org.in/
|
||||
- https://torrentzeu.org/
|
||||
- https://torrentz2.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://torrentz2.club/
|
||||
- https://torrentz2eu.me/
|
||||
- https://torrentzeu.org/
|
||||
- https://torrentz2.org.in/
|
||||
|
||||
caps:
|
||||
# unfortunately torrentz2eu does not display categories anywhere in its search results page :-(
|
||||
|
@@ -70,10 +70,10 @@ search:
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
|
177
src/Jackett.Common/Definitions/turktracker.yml
Normal file
177
src/Jackett.Common/Definitions/turktracker.yml
Normal file
@@ -0,0 +1,177 @@
|
||||
---
|
||||
id: turktracker
|
||||
name: turktracker
|
||||
description: "turktracker is a TURKISH Private Torrent Tracker for MOVIES / TV"
|
||||
language: tr-TR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
testlinktorrent: false
|
||||
links:
|
||||
- https://turktracker.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 8, cat: TV, desc: "Altyazılı Diziler (Subtitled Series)"}
|
||||
- {id: 7, cat: Movies, desc: "Altyazılı Filmler (Subtitled Movies)"}
|
||||
- {id: 5, cat: TV/Documentary, desc: "Belgesel (Documentary)"}
|
||||
- {id: 9, cat: TV, desc: "BluTV"}
|
||||
- {id: 3, cat: Movies, desc: "Boxset"}
|
||||
- {id: 11, cat: TV, desc: "Dublaj Dizi(Dubbing Series)"}
|
||||
- {id: 10, cat: Movies, desc: "Dublaj Film (Dubbing Movie)"}
|
||||
- {id: 12, cat: Books, desc: "E-Kitap (E-Book)"}
|
||||
- {id: 6, cat: TV, desc: "Eğitim (education)"}
|
||||
- {id: 13, cat: TV, desc: "EXXEN"}
|
||||
- {id: 26, cat: TV, desc: "Gain"}
|
||||
- {id: 14, cat: Audio, desc: "Müzik (Music)"}
|
||||
- {id: 21, cat: TV, desc: "Netflix"}
|
||||
- {id: 15, cat: Console, desc: "Oyunlar (Games)"}
|
||||
- {id: 16, cat: PC, desc: "Program"}
|
||||
- {id: 19, cat: XXX, desc: "XXX"}
|
||||
- {id: 18, cat: TV, desc: "Yerli Diziler (Domestic TV Series)"}
|
||||
- {id: 17, cat: Movies, desc: "Yerli Filmler (Domestic Movies)"}
|
||||
|
||||
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: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
default: added
|
||||
options:
|
||||
added: 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: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img#regimage
|
||||
input: imagestring
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
error:
|
||||
- selector: table:has(td.thead:contains("An error has occured!"))
|
||||
- selector: table:has(td.thead:contains("Bir hata oluştu!"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="logout.php?logouthash="]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: takethanks.php
|
||||
method: post
|
||||
inputs:
|
||||
torrentid: "{{ .DownloadUri.Query.id }}"
|
||||
selectors:
|
||||
- selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
do: search
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||
# yes incldead, no activeonly
|
||||
include_dead_torrents: yes
|
||||
keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# does not return imdb link in results
|
||||
keywordsfilters:
|
||||
- name: re_replace # replace special characters with "%" (wildcard)
|
||||
args: ["[^a-zA-Z0-9]+", "%"]
|
||||
|
||||
rows:
|
||||
selector: "table#sortabletable tbody tr:has(a[href*=\"download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="browse.php?category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title_default:
|
||||
# is often abbreviated
|
||||
selector: a[href*="details.php?id="]
|
||||
title_optional:
|
||||
# usually longer than details title
|
||||
selector: div[id^="port-content-"] div:nth-child(2)
|
||||
optional: true
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[id^="port-content-"] div img
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2) > div:last-child
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d{2}-\d{2}-\d{4} \d{2}:\d{2})
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/external.gif"]: 0
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
img[src$="/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="/x2.gif"]: 2
|
||||
"*": 1
|
||||
# TBD, Rules and FAQ do not cover this yet
|
||||
# minimumratio:
|
||||
# text: 1.0
|
||||
# minimumseedtime:
|
||||
# # 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
# text: 172800
|
||||
# TS Special Edition v.7.5 - v.8.0 hybrid
|
@@ -61,13 +61,23 @@ 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?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
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
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
@@ -105,11 +115,15 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
@@ -122,4 +136,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 5.3.0
|
||||
# json UNIT3D 6.0.0
|
||||
|
72
src/Jackett.Common/Definitions/xbit.yml
Normal file
72
src/Jackett.Common/Definitions/xbit.yml
Normal file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
id: xbit
|
||||
name: xBiT
|
||||
description: "xBiT is a Public torrent index"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://xbit.pw/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Other: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_8000
|
||||
type: info
|
||||
label: About xBiT Categories
|
||||
default: xBiT does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: api
|
||||
response:
|
||||
type: json
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
limit: "{{ if .Keywords }}100{{ else }}49{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: dht_results:has(MAGNET)
|
||||
|
||||
fields:
|
||||
id:
|
||||
selector: ID
|
||||
category:
|
||||
text: Other
|
||||
title:
|
||||
selector: NAME
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}{{ if .Result.id }}?id={{ .Result.id }}{{ else }}{{ end }}"
|
||||
download:
|
||||
selector: TORRENT
|
||||
optional: true
|
||||
magnet:
|
||||
selector: MAGNET
|
||||
date:
|
||||
# 2021-10-19 10:27:01
|
||||
selector: DISCOVERED
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
size:
|
||||
selector: SIZE
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# json engine n/a
|
@@ -9,7 +9,7 @@ requestDelay: 2.5 # 2.5 requests per second (2 causes problems)
|
||||
links:
|
||||
# dont forget to update the details, download and poster replace args
|
||||
- https://yts.mx/
|
||||
- https://yts.unblockit.how/
|
||||
- https://yts.unblockit.cam/
|
||||
- https://yts.unblockninja.com/
|
||||
- https://yts.nocensor.biz/
|
||||
legacylinks:
|
||||
@@ -32,6 +32,7 @@ legacylinks:
|
||||
- https://yts.unblockit.kim/
|
||||
- https://yts.unblockit.bz/
|
||||
- https://yts.unblockit.tv/
|
||||
- https://yts.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -53,8 +54,7 @@ search:
|
||||
- path: api/v2/list_movies.json
|
||||
response:
|
||||
type: json
|
||||
attribute: torrents
|
||||
multiple: true
|
||||
|
||||
inputs:
|
||||
# ignore ' (e.g. search for america's Next Top Model)
|
||||
query_term: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ re_replace .Keywords \"[']\" \"\" }}{{ end }}"
|
||||
@@ -64,6 +64,8 @@ search:
|
||||
|
||||
rows:
|
||||
selector: data.movies
|
||||
attribute: torrents
|
||||
multiple: true
|
||||
count:
|
||||
selector: data.movie_count
|
||||
|
||||
|
@@ -9,7 +9,7 @@ followredirect: true
|
||||
links:
|
||||
- https://zooqle.com/
|
||||
- https://zooqle.unblockninja.com/
|
||||
- https://zooqle.unblockit.how/
|
||||
- https://zooqle.unblockit.cam/
|
||||
- https://zooqle.nocensor.biz/
|
||||
legacylinks:
|
||||
- https://zooqle.unblockit.top/
|
||||
@@ -32,6 +32,7 @@ legacylinks:
|
||||
- https://zooqle.unblockit.kim/
|
||||
- https://zooqle.unblockit.bz/
|
||||
- https://zooqle.unblockit.tv/
|
||||
- https://zooqle.unblockit.how/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -58,6 +58,9 @@ namespace Jackett.Common.Indexers
|
||||
private static readonly Regex _LogicFunctionRegex = new Regex(
|
||||
@$"\b({string.Join("|", _SupportedLogicFunctions.Select(Regex.Escape))})(?:\s+(\(?\.[^\)\s]+\)?|""[^""]+"")){{2,}}");
|
||||
|
||||
// Matches CSS selectors for the JSON parser
|
||||
private static readonly Regex _JsonSelectorRegex = new Regex(@"\:(?<filter>.+?)\((?<key>.+?)\)(?=:|\z)", RegexOptions.Compiled);
|
||||
|
||||
public CardigannIndexer(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
|
||||
IProtectionService ps, ICacheService cs, IndexerDefinition Definition)
|
||||
: base(configService: configService,
|
||||
@@ -1212,12 +1215,17 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (Selector.Selector != null)
|
||||
{
|
||||
var selector_Selector = applyGoTemplateText(Selector.Selector.TrimStart('.'), variables);
|
||||
var selection = parentObj.SelectToken(selector_Selector);
|
||||
var selectorSelector = applyGoTemplateText(Selector.Selector.TrimStart('.'), variables);
|
||||
selectorSelector = JsonParseFieldSelector(parentObj, selectorSelector);
|
||||
|
||||
JToken selection = null;
|
||||
if (selectorSelector != null)
|
||||
selection = parentObj.SelectToken(selectorSelector);
|
||||
|
||||
if (selection == null)
|
||||
{
|
||||
if (required)
|
||||
throw new Exception(string.Format("Selector \"{0}\" didn't match {1}", selector_Selector, parentObj.ToString()));
|
||||
throw new Exception(string.Format("Selector \"{0}\" didn't match {1}", selectorSelector, parentObj.ToString()));
|
||||
return null;
|
||||
}
|
||||
value = selection.Value<string>();
|
||||
@@ -1398,14 +1406,14 @@ namespace Jackett.Common.Indexers
|
||||
continue;
|
||||
}
|
||||
|
||||
var rowsObj = parsedJson.SelectToken(Search.Rows.Selector);
|
||||
if (rowsObj == null)
|
||||
throw new Exception("Error Parsing Rows Selector");
|
||||
var rowsArray = JsonParseRowsSelector(parsedJson, Search.Rows.Selector);
|
||||
if (rowsArray == null)
|
||||
throw new Exception("Error Parsing Rows Selector. There are 0 rows.");
|
||||
|
||||
foreach (var Row in rowsObj.Value<JArray>())
|
||||
foreach (var Row in rowsArray)
|
||||
{
|
||||
var selObj = SearchPath.Response.Attribute != null ? Row.SelectToken(SearchPath.Response.Attribute).Value<JToken>() : Row;
|
||||
var mulRows = SearchPath.Response.Multiple == true ? selObj.Values<JObject>() : new List<JObject> { selObj.Value<JObject>() };
|
||||
var selObj = Search.Rows.Attribute != null ? Row.SelectToken(Search.Rows.Attribute).Value<JToken>() : Row;
|
||||
var mulRows = Search.Rows.Multiple ? selObj.Values<JObject>() : new List<JObject> { selObj.Value<JObject>() };
|
||||
|
||||
foreach (var mulRow in mulRows)
|
||||
{
|
||||
@@ -2088,6 +2096,71 @@ namespace Jackett.Common.Indexers
|
||||
}
|
||||
return SkipRelease;
|
||||
}
|
||||
|
||||
private JArray JsonParseRowsSelector(JToken parsedJson, string rowSelector)
|
||||
{
|
||||
var selector = rowSelector.Split(':')[0];
|
||||
var rowsObj = parsedJson.SelectToken(selector).Value<JArray>();
|
||||
return new JArray(rowsObj.Where(t =>
|
||||
JsonParseFieldSelector(t.Value<JObject>(), rowSelector.Remove(0, selector.Length)) != null
|
||||
));
|
||||
}
|
||||
|
||||
private string JsonParseFieldSelector(JToken parsedJson, string rowSelector)
|
||||
{
|
||||
var selector = rowSelector.Split(':')[0];
|
||||
JToken parsedObject;
|
||||
if (string.IsNullOrWhiteSpace(selector))
|
||||
parsedObject = parsedJson;
|
||||
else if (parsedJson.SelectToken(selector) != null)
|
||||
parsedObject = parsedJson.SelectToken(selector);
|
||||
else
|
||||
return null;
|
||||
|
||||
foreach (Match match in _JsonSelectorRegex.Matches(rowSelector))
|
||||
{
|
||||
var filter = match.Result("${filter}");
|
||||
var key = match.Result("${key}");
|
||||
Match innerMatch;
|
||||
switch (filter)
|
||||
{
|
||||
case "has":
|
||||
innerMatch = _JsonSelectorRegex.Match(key);
|
||||
if (innerMatch.Success)
|
||||
{
|
||||
if (JsonParseFieldSelector(parsedObject, key) == null)
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (parsedObject.SelectToken(key) == null)
|
||||
return null;
|
||||
}
|
||||
break;
|
||||
case "not":
|
||||
innerMatch = _JsonSelectorRegex.Match(key);
|
||||
if (innerMatch.Success)
|
||||
{
|
||||
if (JsonParseFieldSelector(parsedObject, key) != null)
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (parsedObject.SelectToken(key) != null)
|
||||
return null;
|
||||
}
|
||||
break;
|
||||
case "contains":
|
||||
if (!parsedObject.ToString().Contains(key))
|
||||
return null;
|
||||
break;
|
||||
default:
|
||||
logger.Error(string.Format("CardigannIndexer ({0}): Unsupported selector: {1}", Id, rowSelector));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return selector;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -39,7 +39,7 @@ namespace Jackett.Common.Indexers
|
||||
private const string SearchUrl = "buscar/";
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://dontorrent.red/",
|
||||
"https://dontorrent.si/",
|
||||
"https://todotorrents.net/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/"
|
||||
@@ -47,6 +47,8 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://dontorrent.it/",
|
||||
"https://dontorrent.red/",
|
||||
"https://dontorrent.nu/",
|
||||
"https://dontorrent.li/"
|
||||
};
|
||||
|
||||
@@ -65,7 +67,7 @@ namespace Jackett.Common.Indexers
|
||||
: base(id: "dontorrent",
|
||||
name: "DonTorrent",
|
||||
description: "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL",
|
||||
link: "https://dontorrent.red/",
|
||||
link: "https://dontorrent.si/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
|
@@ -45,7 +45,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://www.epublibre.org/",
|
||||
"https://epublibre.unblockit.how/"
|
||||
"https://epublibre.unblockit.cam/"
|
||||
};
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
@@ -64,6 +64,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://epublibre.unblockit.li/",
|
||||
"https://epublibre.unblockit.kim/",
|
||||
"https://epublibre.unblockit.bz/",
|
||||
"https://epublibre.unblockit.how/",
|
||||
"https://epublibre.unblockit.tv/"
|
||||
};
|
||||
|
||||
|
@@ -53,6 +53,10 @@ namespace Jackett.Common.Indexers
|
||||
Language = "en-US";
|
||||
Type = "public";
|
||||
|
||||
configData.AddDynamic(
|
||||
"DDoS-Guard",
|
||||
new DisplayInfoConfigurationItem("", "This site may use DDoS-Guard Protection, therefore Jackett requires <a href='https://github.com/Jackett/Jackett#configuring-flaresolverr' target='_blank'>FlareSolver</a> to access it.")
|
||||
);
|
||||
// Add note that download stats are not available
|
||||
configData.AddDynamic(
|
||||
"download-stats-unavailable",
|
||||
|
@@ -49,7 +49,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://iptorrents.eu/"
|
||||
};
|
||||
|
||||
private new ConfigurationDataCookie configData => (ConfigurationDataCookie)base.configData;
|
||||
private new ConfigurationDataCookieUA configData => (ConfigurationDataCookieUA)base.configData;
|
||||
|
||||
public IPTorrents(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
ICacheService cs)
|
||||
@@ -81,7 +81,7 @@ namespace Jackett.Common.Indexers
|
||||
logger: l,
|
||||
p: ps,
|
||||
cacheService: cs,
|
||||
configData: new ConfigurationDataCookie("For best results, change the 'Torrents per page' option to 100 and check the 'Torrents - Show files count' option in the website Settings."))
|
||||
configData: new ConfigurationDataCookieUA("For best results, change the 'Torrents per page' option to 100 and check the 'Torrents - Show files count' option in the website Settings."))
|
||||
{
|
||||
Encoding = Encoding.UTF8;
|
||||
Language = "en-US";
|
||||
@@ -177,6 +177,7 @@ namespace Jackett.Common.Indexers
|
||||
LoadValuesFromJson(configJson);
|
||||
|
||||
CookieHeader = configData.Cookie.Value;
|
||||
|
||||
try
|
||||
{
|
||||
var results = await PerformQuery(new TorznabQuery());
|
||||
@@ -190,7 +191,7 @@ namespace Jackett.Common.Indexers
|
||||
catch (Exception e)
|
||||
{
|
||||
IsConfigured = false;
|
||||
throw new Exception("Your cookie did not work: " + e.Message);
|
||||
throw new Exception("Your cookie did not work, make sure the user agent matches your computer: " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,6 +201,15 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
var qc = new NameValueCollection();
|
||||
|
||||
|
||||
Dictionary<string, string> headers = null;
|
||||
|
||||
if (!string.IsNullOrEmpty(configData.UserAgent.Value))
|
||||
{
|
||||
headers = new Dictionary<string, string>();
|
||||
headers.Add("User-Agent", configData.UserAgent.Value);
|
||||
}
|
||||
|
||||
if (query.IsImdbQuery)
|
||||
qc.Add("q", query.ImdbID);
|
||||
else if (!string.IsNullOrWhiteSpace(query.GetQueryString()))
|
||||
@@ -214,7 +224,7 @@ namespace Jackett.Common.Indexers
|
||||
qc.Add("o", ((SingleSelectConfigurationItem)configData.GetDynamic("sort")).Value);
|
||||
|
||||
var searchUrl = SearchUrl + "?" + qc.GetQueryString();
|
||||
var response = await RequestWithCookiesAndRetryAsync(searchUrl, referer: SearchUrl);
|
||||
var response = await RequestWithCookiesAndRetryAsync(searchUrl, referer: SearchUrl, headers: headers);
|
||||
var results = response.ContentString;
|
||||
|
||||
if (results == null || !results.Contains("/lout.php"))
|
||||
|
@@ -38,7 +38,7 @@ namespace Jackett.Common.Indexers
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://www.mejortorrentes.org/",
|
||||
"https://mejortorrent.nocensor.biz/",
|
||||
"https://mejortorrent.unblockit.how/"
|
||||
"https://mejortorrent.unblockit.cam/"
|
||||
};
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
@@ -60,6 +60,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://www.mejortorrento.info/",
|
||||
"https://mejortorrent.nocensor.work/",
|
||||
"https://www.mejortorrentes.net/",
|
||||
"https://mejortorrent.unblockit.how/",
|
||||
"https://mejortorrent.unblockit.tv/"
|
||||
};
|
||||
|
||||
|
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
@@ -14,6 +15,7 @@ using Jackett.Common.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;
|
||||
using WebClient = Jackett.Common.Utils.Clients.WebClient;
|
||||
|
||||
namespace Jackett.Common.Indexers
|
||||
{
|
||||
@@ -53,12 +55,6 @@ namespace Jackett.Common.Indexers
|
||||
public override object Clone() => new NewpctRelease(this);
|
||||
}
|
||||
|
||||
private class DownloadMatcher
|
||||
{
|
||||
public Regex MatchRegex;
|
||||
public MatchEvaluator MatchEvaluator;
|
||||
}
|
||||
|
||||
private readonly char[] _wordSeparators = { ' ', '.', ',', ';', '(', ')', '[', ']', '-', '_' };
|
||||
private readonly int _wordNotFoundScore = 100000;
|
||||
private readonly Regex _searchStringRegex = new Regex(@"(.+?)S(\d{2})(E(\d{2}))?$", RegexOptions.IgnoreCase);
|
||||
@@ -67,18 +63,6 @@ namespace Jackett.Common.Indexers
|
||||
// Love 101 - Temp. 1 Capitulos 1 al 8
|
||||
private readonly Regex _seriesChaptersTitleRegex = new Regex(@"(.+)Temp. (\d+) Capitulos (\d+) al (\d+)", RegexOptions.IgnoreCase);
|
||||
private readonly Regex _titleYearRegex = new Regex(@" *[\[\(]? *((19|20)\d{2}) *[\]\)]? *$");
|
||||
private readonly DownloadMatcher[] _downloadMatchers =
|
||||
{
|
||||
new DownloadMatcher
|
||||
{
|
||||
MatchRegex = new Regex("(/descargar-torrent/[^\"]+)\"")
|
||||
},
|
||||
new DownloadMatcher
|
||||
{
|
||||
MatchRegex = new Regex(@"window\.location\.href\s*=\s*""([^""]+)"""),
|
||||
MatchEvaluator = m => $"https:{m.Groups[1]}"
|
||||
}
|
||||
};
|
||||
|
||||
private readonly int _maxMoviesPages = 6;
|
||||
private readonly int[] _allTvCategories = (new[] { TorznabCatType.TV }).Concat(TorznabCatType.TV.SubCategories).Select(c => c.ID).ToArray();
|
||||
@@ -98,8 +82,8 @@ namespace Jackett.Common.Indexers
|
||||
private readonly string[] _voUrls = { "serie-vo", "serievo" };
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://atomixhq.top/",
|
||||
"https://pctmix1.unblockit.how/"
|
||||
"https://atomixhq.art/",
|
||||
"https://pctmix1.unblockit.cam/"
|
||||
};
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
@@ -123,6 +107,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://pctmix1.unblockit.bz/",
|
||||
"https://atomixhq.one/",
|
||||
"https://pctmix1.unblockit.tv/",
|
||||
"https://atomixhq.top/",
|
||||
"https://pctmix1.unblockit.how/",
|
||||
"https://atomixhq.net/"
|
||||
};
|
||||
|
||||
@@ -131,7 +117,7 @@ namespace Jackett.Common.Indexers
|
||||
: base(id: "newpct",
|
||||
name: "NewPCT",
|
||||
description: "NewPCT - Descargar peliculas, series y estrenos torrent gratis",
|
||||
link: "https://atomixhq.top/",
|
||||
link: "https://atomixhq.art/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
@@ -187,46 +173,33 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
public override async Task<byte[]> Download(Uri linkParam)
|
||||
{
|
||||
Uri uriLink = null;
|
||||
var downloadLink = linkParam.AbsoluteUri.Replace("/descargar/", "/descargar/torrent/");
|
||||
var result = await RequestWithCookiesAndRetryAsync(downloadLink, referer: linkParam.AbsoluteUri);
|
||||
|
||||
var downloadRegex = new Regex("/t_download/([0-9]+)/");
|
||||
var match = downloadRegex.Match(result.ContentString);
|
||||
if (match.Success)
|
||||
{
|
||||
const string downloadUrl = "https://atomtt.com/to.php";
|
||||
var headers = new Dictionary<string, string>
|
||||
{
|
||||
{"X-Requested-With", "XMLHttpRequest"},
|
||||
{"Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"}
|
||||
};
|
||||
var body = "t=" + match.Groups[1].Value;
|
||||
result = await RequestWithCookiesAsync(downloadUrl, method: RequestType.POST, rawbody: body,
|
||||
headers: headers, referer: downloadLink);
|
||||
if (result.Status == HttpStatusCode.OK)
|
||||
uriLink = new Uri(SiteLink + "t_download/" + result.ContentString + ".torrent");
|
||||
}
|
||||
|
||||
var results = await RequestWithCookiesAndRetryAsync(downloadLink);
|
||||
var uriLink = ExtractDownloadUri(results.ContentString, downloadLink);
|
||||
if (uriLink == null)
|
||||
throw new Exception("Download link not found!");
|
||||
|
||||
return await base.Download(uriLink);
|
||||
}
|
||||
|
||||
private Uri ExtractDownloadUri(string content, string baseLink)
|
||||
{
|
||||
foreach (var matcher in _downloadMatchers)
|
||||
{
|
||||
var match = matcher.MatchRegex.Match(content);
|
||||
if (match.Success)
|
||||
{
|
||||
string linkText;
|
||||
|
||||
if (matcher.MatchEvaluator != null)
|
||||
linkText = (string)matcher.MatchEvaluator.DynamicInvoke(match);
|
||||
else
|
||||
linkText = match.Groups[1].Value;
|
||||
|
||||
// take the details page link and the download page link and build a Torrent link
|
||||
// Details page: https://atomixhq.com/descargar/torrent/peliculas-x264-mkv/el-viaje-i-onde-dager--2021-/bluray-microhd/
|
||||
// Download page: https://atomtt.com/download/159843_-1634325135-El-viaje--I-onde-dager---2021---BluRay-MicroHD/
|
||||
// Torrent link: https://atomixhq.com/download/159843_-1634325135-El-viaje--I-onde-dager---2021---BluRay-MicroHD.torrent
|
||||
linkText = linkText.Remove(linkText.Length - 1, 1) + ".torrent";
|
||||
var linkHost = new Uri(linkText).Host;
|
||||
var linkBase = new Uri(baseLink).Host;
|
||||
var downloadLink = linkText.Replace(linkHost.ToString(), linkBase.ToString());
|
||||
|
||||
return new Uri(downloadLink);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
@@ -241,7 +214,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (rssMode)
|
||||
{
|
||||
var results = await RequestWithCookiesAndRetryAsync(SiteLink + _dailyUrl);
|
||||
var results = await RequestWithCookiesAndRetryAsync(SiteLink + _dailyUrl, referer: SiteLink);
|
||||
var items = ParseDailyContent(results.ContentString);
|
||||
releases.AddRange(items);
|
||||
}
|
||||
@@ -326,13 +299,13 @@ namespace Jackett.Common.Indexers
|
||||
var releases = new List<ReleaseInfo>();
|
||||
|
||||
// Episodes list
|
||||
var results = await RequestWithCookiesAndRetryAsync(uri.AbsoluteUri);
|
||||
var results = await RequestWithCookiesAndRetryAsync(uri.AbsoluteUri, referer: uri.AbsoluteUri);
|
||||
var seriesEpisodesUrl = ParseSeriesListContent(results.ContentString, seriesName);
|
||||
|
||||
// TV serie list
|
||||
if (!string.IsNullOrEmpty(seriesEpisodesUrl))
|
||||
{
|
||||
results = await RequestWithCookiesAndRetryAsync(seriesEpisodesUrl);
|
||||
results = await RequestWithCookiesAndRetryAsync(seriesEpisodesUrl, referer: seriesEpisodesUrl);
|
||||
var items = ParseEpisodesListContent(results.ContentString);
|
||||
if (items != null && items.Any())
|
||||
releases.AddRange(items);
|
||||
|
@@ -78,6 +78,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(941, TorznabCatType.Movies, "|- Кино СССР");
|
||||
AddCategoryMapping(1666, TorznabCatType.Movies, "|- Детские отечественные фильмы");
|
||||
AddCategoryMapping(376, TorznabCatType.Movies, "|- Авторские дебюты");
|
||||
AddCategoryMapping(106, TorznabCatType.Movies, "|- Фильмы России и СССР на национальных языках [без перевода]");
|
||||
AddCategoryMapping(7, TorznabCatType.MoviesForeign, "Зарубежное кино");
|
||||
AddCategoryMapping(187, TorznabCatType.MoviesForeign, "|- Классика мирового кинематографа");
|
||||
AddCategoryMapping(2090, TorznabCatType.MoviesForeign, "|- Фильмы до 1990 года");
|
||||
@@ -85,14 +86,15 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2091, TorznabCatType.MoviesForeign, "|- Фильмы 2001-2005");
|
||||
AddCategoryMapping(2092, TorznabCatType.MoviesForeign, "|- Фильмы 2006-2010");
|
||||
AddCategoryMapping(2093, TorznabCatType.MoviesForeign, "|- Фильмы 2011-2015");
|
||||
AddCategoryMapping(2200, TorznabCatType.MoviesForeign, "|- Фильмы 2016-2019");
|
||||
AddCategoryMapping(1950, TorznabCatType.MoviesForeign, "|- Фильмы 2020");
|
||||
AddCategoryMapping(2200, TorznabCatType.MoviesForeign, "|- Фильмы 2016-2020");
|
||||
AddCategoryMapping(1950, TorznabCatType.MoviesForeign, "|- Фильмы 2021-2022");
|
||||
AddCategoryMapping(2540, TorznabCatType.MoviesForeign, "|- Фильмы Ближнего Зарубежья");
|
||||
AddCategoryMapping(934, TorznabCatType.MoviesForeign, "|- Азиатские фильмы");
|
||||
AddCategoryMapping(505, TorznabCatType.MoviesForeign, "|- Индийское кино");
|
||||
AddCategoryMapping(212, TorznabCatType.MoviesForeign, "|- Сборники фильмов");
|
||||
AddCategoryMapping(2459, TorznabCatType.MoviesForeign, "|- Короткий метр");
|
||||
AddCategoryMapping(1235, TorznabCatType.MoviesForeign, "|- Грайндхаус");
|
||||
AddCategoryMapping(166, TorznabCatType.MoviesForeign, "|- Зарубежные фильмы без перевода");
|
||||
AddCategoryMapping(185, TorznabCatType.Audio, "|- Звуковые дорожки и Переводы");
|
||||
AddCategoryMapping(124, TorznabCatType.MoviesOther, "Арт-хаус и авторское кино");
|
||||
AddCategoryMapping(1543, TorznabCatType.MoviesOther, "|- Короткий метр (Арт-хаус и авторское кино)");
|
||||
@@ -125,37 +127,41 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(514, TorznabCatType.Movies3D, "|- 3D Спорт");
|
||||
AddCategoryMapping(2097, TorznabCatType.Movies3D, "|- 3D Ролики, Музыкальное видео, Трейлеры к фильмам");
|
||||
AddCategoryMapping(4, TorznabCatType.Movies, "Мультфильмы");
|
||||
AddCategoryMapping(84, TorznabCatType.MoviesUHD, "|- Мультфильмы (UHD Video)");
|
||||
AddCategoryMapping(2343, TorznabCatType.MoviesHD, "|- Отечественные мультфильмы (HD Video)");
|
||||
AddCategoryMapping(930, TorznabCatType.MoviesHD, "|- Иностранные мультфильмы (HD Video)");
|
||||
AddCategoryMapping(2365, TorznabCatType.MoviesHD, "|- Иностранные короткометражные мультфильмы (HD Video)");
|
||||
AddCategoryMapping(1900, TorznabCatType.MoviesDVD, "|- Отечественные мультфильмы (DVD)");
|
||||
AddCategoryMapping(521, TorznabCatType.MoviesDVD, "|- Иностранные мультфильмы (DVD)");
|
||||
AddCategoryMapping(2258, TorznabCatType.MoviesDVD, "|- Иностранные короткометражные мультфильмы (DVD)");
|
||||
AddCategoryMapping(521, TorznabCatType.MoviesDVD, "|- Иностранные мультфильмы (DVD)");
|
||||
AddCategoryMapping(208, TorznabCatType.Movies, "|- Отечественные мультфильмы");
|
||||
AddCategoryMapping(539, TorznabCatType.Movies, "|- Отечественные полнометражные мультфильмы");
|
||||
AddCategoryMapping(209, TorznabCatType.MoviesForeign, "|- Иностранные мультфильмы");
|
||||
AddCategoryMapping(484, TorznabCatType.MoviesForeign, "|- Иностранные короткометражные мультфильмы");
|
||||
AddCategoryMapping(822, TorznabCatType.Movies, "|- Сборники мультфильмов");
|
||||
AddCategoryMapping(181, TorznabCatType.Movies, "|- Мультфильмы без перевода");
|
||||
AddCategoryMapping(921, TorznabCatType.TV, "Мультсериалы");
|
||||
AddCategoryMapping(815, TorznabCatType.TVSD, "|- Мультсериалы (SD Video)");
|
||||
AddCategoryMapping(816, TorznabCatType.TVHD, "|- Мультсериалы (DVD Video)");
|
||||
AddCategoryMapping(1460, TorznabCatType.TVHD, "|- Мультсериалы (HD Video)");
|
||||
AddCategoryMapping(33, TorznabCatType.TVAnime, "Аниме");
|
||||
AddCategoryMapping(2484, TorznabCatType.TVAnime, "|- Артбуки и журналы (Аниме)");
|
||||
AddCategoryMapping(1386, TorznabCatType.TVAnime, "|- Обои, сканы, аватары, арт");
|
||||
AddCategoryMapping(1387, TorznabCatType.TVAnime, "|- AMV и другие ролики");
|
||||
AddCategoryMapping(599, TorznabCatType.TVAnime, "|- Аниме (DVD)");
|
||||
AddCategoryMapping(1105, TorznabCatType.TVAnime, "|- Аниме (HD Video)");
|
||||
AddCategoryMapping(599, TorznabCatType.TVAnime, "|- Аниме (DVD)");
|
||||
AddCategoryMapping(1389, TorznabCatType.TVAnime, "|- Аниме (основной подраздел)");
|
||||
AddCategoryMapping(1391, TorznabCatType.TVAnime, "|- Аниме (плеерный подраздел)");
|
||||
AddCategoryMapping(2491, TorznabCatType.TVAnime, "|- Аниме (QC подраздел)");
|
||||
AddCategoryMapping(404, TorznabCatType.TVAnime, "|- Покемоны");
|
||||
AddCategoryMapping(1390, TorznabCatType.TVAnime, "|- Наруто");
|
||||
AddCategoryMapping(2544, TorznabCatType.TVAnime, "|- Ван-Пис");
|
||||
AddCategoryMapping(1642, TorznabCatType.TVAnime, "|- Гандам");
|
||||
AddCategoryMapping(1390, TorznabCatType.TVAnime, "|- Наруто");
|
||||
AddCategoryMapping(404, TorznabCatType.TVAnime, "|- Покемоны");
|
||||
AddCategoryMapping(893, TorznabCatType.TVAnime, "|- Японские мультфильмы");
|
||||
AddCategoryMapping(809, TorznabCatType.Audio, "|- Звуковые дорожки (Аниме)");
|
||||
AddCategoryMapping(2484, TorznabCatType.TVAnime, "|- Артбуки и журналы (Аниме)");
|
||||
AddCategoryMapping(1386, TorznabCatType.TVAnime, "|- Обои, сканы, аватары, арт");
|
||||
AddCategoryMapping(1387, TorznabCatType.TVAnime, "|- AMV и другие ролики");
|
||||
AddCategoryMapping(9, TorznabCatType.TV, "Русские сериалы");
|
||||
AddCategoryMapping(81, TorznabCatType.TVHD, "|- Русские сериалы (HD Video)");
|
||||
AddCategoryMapping(920, TorznabCatType.TVSD, "|- Русские сериалы (DVD Video)");
|
||||
AddCategoryMapping(80, TorznabCatType.TV, "|- Возвращение Мухтара");
|
||||
AddCategoryMapping(1535, TorznabCatType.TV, "|- Воронины");
|
||||
AddCategoryMapping(188, TorznabCatType.TV, "|- Чернобыль: Зона отчуждения");
|
||||
@@ -264,7 +270,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(876, TorznabCatType.TVDocumentary, "|- [Док] Путешествия и туризм");
|
||||
AddCategoryMapping(2139, TorznabCatType.TVDocumentary, "|- [Док] Медицина");
|
||||
AddCategoryMapping(2380, TorznabCatType.TVDocumentary, "|- [Док] Социальные ток-шоу");
|
||||
AddCategoryMapping(1467, TorznabCatType.TVDocumentary, "|- [Док] Информационно-аналитические и общественно-политические перед..");
|
||||
AddCategoryMapping(1467, TorznabCatType.TVDocumentary, "|- [Док] Информационно-аналитические и общественно-политические передачи");
|
||||
AddCategoryMapping(1469, TorznabCatType.TVDocumentary, "|- [Док] Архитектура и строительство");
|
||||
AddCategoryMapping(672, TorznabCatType.TVDocumentary, "|- [Док] Всё о доме, быте и дизайне");
|
||||
AddCategoryMapping(249, TorznabCatType.TVDocumentary, "|- [Док] BBC");
|
||||
@@ -273,7 +279,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2112, TorznabCatType.TVDocumentary, "|- [Док] История: Древний мир / Античность / Средневековье");
|
||||
AddCategoryMapping(1327, TorznabCatType.TVDocumentary, "|- [Док] История: Новое и Новейшее время");
|
||||
AddCategoryMapping(1468, TorznabCatType.TVDocumentary, "|- [Док] Эпоха СССР");
|
||||
AddCategoryMapping(1280, TorznabCatType.TVDocumentary, "|- [Док] Битва экстрасенсов / Теория невероятности / Искатели / Галил..");
|
||||
AddCategoryMapping(1280, TorznabCatType.TVDocumentary, "|- [Док] Битва экстрасенсов / Теория невероятности / Искатели / Галилео");
|
||||
AddCategoryMapping(752, TorznabCatType.TVDocumentary, "|- [Док] Русские сенсации / Программа Максимум / Профессия репортёр");
|
||||
AddCategoryMapping(1114, TorznabCatType.TVDocumentary, "|- [Док] Паранормальные явления");
|
||||
AddCategoryMapping(2168, TorznabCatType.TVDocumentary, "|- [Док] Альтернативная история и наука");
|
||||
@@ -287,8 +293,9 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(979, TorznabCatType.TVDocumentary, "|- Путешествия и туризм (HD Video)");
|
||||
AddCategoryMapping(2169, TorznabCatType.TVDocumentary, "|- Флора и фауна (HD Video)");
|
||||
AddCategoryMapping(2166, TorznabCatType.TVDocumentary, "|- История (HD Video)");
|
||||
AddCategoryMapping(2164, TorznabCatType.TVDocumentary, "|- BBC, Discovery, National Geographic (HD Video)");
|
||||
AddCategoryMapping(2164, TorznabCatType.TVDocumentary, "|- BBC, Discovery, National Geographic, History Channel (HD Video)");
|
||||
AddCategoryMapping(2163, TorznabCatType.TVDocumentary, "|- Криминальная документалистика (HD Video)");
|
||||
AddCategoryMapping(85, TorznabCatType.TVDocumentary, "|- Некондиционное видео - Документальные (HD Video)");
|
||||
AddCategoryMapping(24, TorznabCatType.TVDocumentary, "Развлекательные телепередачи и шоу, приколы и юмор");
|
||||
AddCategoryMapping(1959, TorznabCatType.TVOther, "|- [Видео Юмор] Интеллектуальные игры и викторины");
|
||||
AddCategoryMapping(939, TorznabCatType.TVOther, "|- [Видео Юмор] Реалити и ток-шоу / номинации / показы");
|
||||
@@ -310,7 +317,20 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(114, TorznabCatType.TVOther, "|- [Видео Юмор] Сатирики и юмористы");
|
||||
AddCategoryMapping(1332, TorznabCatType.TVOther, "|- Юмористические аудиопередачи");
|
||||
AddCategoryMapping(1495, TorznabCatType.TVOther, "|- Аудио и видео ролики (Приколы и юмор)");
|
||||
AddCategoryMapping(1315, TorznabCatType.TVSport, "Зимние Олимпийские игры 2018");
|
||||
AddCategoryMapping(1392, TorznabCatType.TVSport, "XXXII Летние Олимпийские игры 2020");
|
||||
AddCategoryMapping(2475, TorznabCatType.TVSport, "|- Легкая атлетика");
|
||||
AddCategoryMapping(2493, TorznabCatType.TVSport, "|- Плавание. Прыжки в воду. Синхронное плавание");
|
||||
AddCategoryMapping(2113, TorznabCatType.TVSport, "|- Спортивная гимнастика. Художественная гимнастика. Прыжки на батуте");
|
||||
AddCategoryMapping(2482, TorznabCatType.TVSport, "|- Велоспорт");
|
||||
AddCategoryMapping(2103, TorznabCatType.TVSport, "|- Академическая гребля. Гребля на байдарках и каноэ");
|
||||
AddCategoryMapping(2522, TorznabCatType.TVSport, "|- Бокс. Борьба Вольная и Греко-римская. Дзюдо. Карате. Тхэквондо");
|
||||
AddCategoryMapping(2485, TorznabCatType.TVSport, "|- Футбол");
|
||||
AddCategoryMapping(2486, TorznabCatType.TVSport, "|- Баскетбол. Волейбол. Гандбол. Водное поло. Регби. Хоккей на траве");
|
||||
AddCategoryMapping(2479, TorznabCatType.TVSport, "|- Теннис. Настольный теннис. Бадминтон");
|
||||
AddCategoryMapping(2089, TorznabCatType.TVSport, "|- Фехтование. Стрельба. Стрельба из лука. Современное пятиборье");
|
||||
AddCategoryMapping(1794, TorznabCatType.TVSport, "|- Другие виды спорта");
|
||||
AddCategoryMapping(2338, TorznabCatType.TVSport, "|- Обзорные и аналитические программы");
|
||||
AddCategoryMapping(1315, TorznabCatType.TVSport, "XXIV Зимние Олимпийские игры 2022");
|
||||
AddCategoryMapping(1336, TorznabCatType.TVSport, "|- Биатлон");
|
||||
AddCategoryMapping(2171, TorznabCatType.TVSport, "|- Лыжные гонки");
|
||||
AddCategoryMapping(1339, TorznabCatType.TVSport, "|- Прыжки на лыжах с трамплина / Лыжное двоеборье");
|
||||
@@ -324,8 +344,8 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(255, TorznabCatType.TVSport, "Спортивные турниры, фильмы и передачи");
|
||||
AddCategoryMapping(256, TorznabCatType.TVSport, "|- Автоспорт");
|
||||
AddCategoryMapping(1986, TorznabCatType.TVSport, "|- Мотоспорт");
|
||||
AddCategoryMapping(660, TorznabCatType.TVSport, "|- Формула-1 (2020)");
|
||||
AddCategoryMapping(1551, TorznabCatType.TVSport, "|- Формула-1 (2012-2019)");
|
||||
AddCategoryMapping(660, TorznabCatType.TVSport, "|- Формула-1 (2021)");
|
||||
AddCategoryMapping(1551, TorznabCatType.TVSport, "|- Формула-1 (2012-2020)");
|
||||
AddCategoryMapping(626, TorznabCatType.TVSport, "|- Формула 1 (до 2011 вкл.)");
|
||||
AddCategoryMapping(262, TorznabCatType.TVSport, "|- Велоспорт");
|
||||
AddCategoryMapping(1326, TorznabCatType.TVSport, "|- Волейбол/Гандбол");
|
||||
@@ -348,15 +368,16 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(260, TorznabCatType.TVSport, "|- Экстрим");
|
||||
AddCategoryMapping(1319, TorznabCatType.TVSport, "|- Спорт (видео)");
|
||||
AddCategoryMapping(1608, TorznabCatType.TVSport, "⚽ Футбол");
|
||||
AddCategoryMapping(2294, TorznabCatType.TVSport, "|- UHDTV. Футбол в формате высокой четкости");
|
||||
AddCategoryMapping(136, TorznabCatType.TVSport, "|- Чемпионат Европы 2020 (квалификация)");
|
||||
AddCategoryMapping(2294, TorznabCatType.TVSport, "|- UHDTV");
|
||||
AddCategoryMapping(2532, TorznabCatType.TVSport, "|- Чемпионат Европы 2020 [2021] (финальный турнир)");
|
||||
AddCategoryMapping(136, TorznabCatType.TVSport, "|- Чемпионат Европы 2020 [2021] (отбор)");
|
||||
AddCategoryMapping(592, TorznabCatType.TVSport, "|- Лига Наций");
|
||||
AddCategoryMapping(1693, TorznabCatType.TVSport, "|- Чемпионат Мира 2022 (отбор)");
|
||||
AddCategoryMapping(2533, TorznabCatType.TVSport, "|- Чемпионат Мира 2018 (игры)");
|
||||
AddCategoryMapping(1952, TorznabCatType.TVSport, "|- Чемпионат Мира 2018 (обзорные передачи, документалистика)");
|
||||
AddCategoryMapping(1621, TorznabCatType.TVSport, "|- Чемпионаты Мира");
|
||||
AddCategoryMapping(2075, TorznabCatType.TVSport, "|- Россия 2018-2019");
|
||||
AddCategoryMapping(1668, TorznabCatType.TVSport, "|- Россия 2019-2020");
|
||||
AddCategoryMapping(1668, TorznabCatType.TVSport, "|- Россия 2021-2022");
|
||||
AddCategoryMapping(2075, TorznabCatType.TVSport, "|- Россия 2020-2021");
|
||||
AddCategoryMapping(1613, TorznabCatType.TVSport, "|- Россия/СССР");
|
||||
AddCategoryMapping(1614, TorznabCatType.TVSport, "|- Англия");
|
||||
AddCategoryMapping(1623, TorznabCatType.TVSport, "|- Испания");
|
||||
@@ -366,13 +387,13 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2514, TorznabCatType.TVSport, "|- Украина");
|
||||
AddCategoryMapping(1616, TorznabCatType.TVSport, "|- Другие национальные чемпионаты и кубки");
|
||||
AddCategoryMapping(2014, TorznabCatType.TVSport, "|- Международные турниры");
|
||||
AddCategoryMapping(1491, TorznabCatType.TVSport, "|- Еврокубки 2021-2022");
|
||||
AddCategoryMapping(1442, TorznabCatType.TVSport, "|- Еврокубки 2020-2021");
|
||||
AddCategoryMapping(1491, TorznabCatType.TVSport, "|- Еврокубки 2019-2020");
|
||||
AddCategoryMapping(1987, TorznabCatType.TVSport, "|- Еврокубки 2011-2018");
|
||||
AddCategoryMapping(1987, TorznabCatType.TVSport, "|- Еврокубки 2011-2020");
|
||||
AddCategoryMapping(1617, TorznabCatType.TVSport, "|- Еврокубки");
|
||||
AddCategoryMapping(1620, TorznabCatType.TVSport, "|- Чемпионаты Европы");
|
||||
AddCategoryMapping(1998, TorznabCatType.TVSport, "|- Товарищеские турниры и матчи");
|
||||
AddCategoryMapping(1343, TorznabCatType.TVSport, "|- Обзорные и аналитические передачи 2018-2020");
|
||||
AddCategoryMapping(1343, TorznabCatType.TVSport, "|- Обзорные и аналитические передачи 2018-2021");
|
||||
AddCategoryMapping(751, TorznabCatType.TVSport, "|- Обзорные и аналитические передачи");
|
||||
AddCategoryMapping(497, TorznabCatType.TVSport, "|- Документальные фильмы (футбол)");
|
||||
AddCategoryMapping(1697, TorznabCatType.TVSport, "|- Мини-футбол/Пляжный футбол");
|
||||
@@ -380,11 +401,11 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2001, TorznabCatType.TVSport, "|- Международные соревнования");
|
||||
AddCategoryMapping(2002, TorznabCatType.TVSport, "|- NBA / NCAA (до 2000 г.)");
|
||||
AddCategoryMapping(283, TorznabCatType.TVSport, "|- NBA / NCAA (2000-2010 гг.)");
|
||||
AddCategoryMapping(1997, TorznabCatType.TVSport, "|- NBA / NCAA (2010-2020 гг.)");
|
||||
AddCategoryMapping(1997, TorznabCatType.TVSport, "|- NBA / NCAA (2010-2022 гг.)");
|
||||
AddCategoryMapping(2003, TorznabCatType.TVSport, "|- Европейский клубный баскетбол");
|
||||
AddCategoryMapping(2009, TorznabCatType.TVSport, "🏒 Хоккей");
|
||||
AddCategoryMapping(2010, TorznabCatType.TVSport, "|- Хоккей с мячом / Бенди");
|
||||
AddCategoryMapping(1229, TorznabCatType.TVSport, "|- Чемпионат Мира по хоккею 2019");
|
||||
AddCategoryMapping(1229, TorznabCatType.TVSport, "|- Чемпионат Мира по хоккею 2021");
|
||||
AddCategoryMapping(2006, TorznabCatType.TVSport, "|- Международные турниры");
|
||||
AddCategoryMapping(2007, TorznabCatType.TVSport, "|- КХЛ");
|
||||
AddCategoryMapping(2005, TorznabCatType.TVSport, "|- НХЛ (до 2011/12)");
|
||||
@@ -397,6 +418,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1527, TorznabCatType.TVSport, "|- International Wrestling");
|
||||
AddCategoryMapping(2069, TorznabCatType.TVSport, "|- Oldschool Wrestling");
|
||||
AddCategoryMapping(1323, TorznabCatType.TVSport, "|- Documentary Wrestling");
|
||||
AddCategoryMapping(1346, TorznabCatType.TVSport, "Для дооформления раздач");
|
||||
AddCategoryMapping(1411, TorznabCatType.TVSport, "|- Сканирование, обработка сканов");
|
||||
AddCategoryMapping(21, TorznabCatType.Books, "Книги и журналы (общий раздел)");
|
||||
AddCategoryMapping(2157, TorznabCatType.Books, "|- Кино, театр, ТВ, мультипликация, цирк");
|
||||
@@ -410,9 +432,9 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2223, TorznabCatType.Books, "|- Путешествия и туризм");
|
||||
AddCategoryMapping(2447, TorznabCatType.Books, "|- Знаменитости и кумиры");
|
||||
AddCategoryMapping(39, TorznabCatType.Books, "|- Разное (книги)");
|
||||
AddCategoryMapping(2086, TorznabCatType.Books, "- Самиздат, статьи из журналов, фрагменты книг");
|
||||
AddCategoryMapping(2086, TorznabCatType.Books, "|- Самиздат, статьи из журналов, фрагменты книг");
|
||||
AddCategoryMapping(1101, TorznabCatType.Books, "Для детей, родителей и учителей");
|
||||
AddCategoryMapping(745, TorznabCatType.Books, "|- Учебная литература для детского сада и начальной школы (до 4 класс..");
|
||||
AddCategoryMapping(745, TorznabCatType.Books, "|- Учебная литература для детского сада и начальной школы (до 4 класса)");
|
||||
AddCategoryMapping(1689, TorznabCatType.Books, "|- Учебная литература для старших классов (5-11 класс)");
|
||||
AddCategoryMapping(2336, TorznabCatType.Books, "|- Учителям и педагогам");
|
||||
AddCategoryMapping(2337, TorznabCatType.Books, "|- Научно-популярная и познавательная литература (для детей)");
|
||||
@@ -613,7 +635,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2358, TorznabCatType.BooksEBook, "|- Английский язык (для детей)");
|
||||
AddCategoryMapping(2359, TorznabCatType.BooksEBook, "|- Другие европейские языки (для детей)");
|
||||
AddCategoryMapping(2360, TorznabCatType.BooksEBook, "|- Восточные языки (для детей)");
|
||||
AddCategoryMapping(2361, TorznabCatType.BooksEBook, "|- Школьные учебники, ЕГЭ");
|
||||
AddCategoryMapping(2361, TorznabCatType.BooksEBook, "|- Школьные учебники, ЕГЭ, ОГЭ");
|
||||
AddCategoryMapping(2057, TorznabCatType.BooksEBook, "Художественная литература (ин.языки)");
|
||||
AddCategoryMapping(2355, TorznabCatType.BooksEBook, "|- Художественная литература на английском языке");
|
||||
AddCategoryMapping(2474, TorznabCatType.BooksEBook, "|- Художественная литература на французском языке");
|
||||
@@ -699,13 +721,13 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1567, TorznabCatType.BooksTechnical, "|- Разное (Компьютерные видеоуроки)");
|
||||
AddCategoryMapping(2326, TorznabCatType.AudioAudiobook, "Радиоспектакли, история, мемуары");
|
||||
AddCategoryMapping(574, TorznabCatType.AudioAudiobook, "|- [Аудио] Радиоспектакли и литературные чтения");
|
||||
AddCategoryMapping(1036, TorznabCatType.AudioAudiobook, "|- [Аудио] Жизнь замечательных людей");
|
||||
AddCategoryMapping(1036, TorznabCatType.AudioAudiobook, "|- [Аудио] Биографии и мемуары");
|
||||
AddCategoryMapping(400, TorznabCatType.AudioAudiobook, "|- [Аудио] История, культурология, философия");
|
||||
AddCategoryMapping(2389, TorznabCatType.AudioAudiobook, "Фантастика, фэнтези, мистика, ужасы, фанфики");
|
||||
AddCategoryMapping(2388, TorznabCatType.AudioAudiobook, "|- [Аудио] Зарубежная фантастика, фэнтези, мистика, ужасы, фанфики");
|
||||
AddCategoryMapping(2387, TorznabCatType.AudioAudiobook, "|- [Аудио] Российская фантастика, фэнтези, мистика, ужасы, фанфики");
|
||||
AddCategoryMapping(661, TorznabCatType.AudioAudiobook, "|- [Аудио] Любовно-фантастический роман");
|
||||
AddCategoryMapping(2348, TorznabCatType.AudioAudiobook, "|- [Аудио] Сборники/разное Фантастика, фэнтези, мистика, ужасы, фанфи..");
|
||||
AddCategoryMapping(2348, TorznabCatType.AudioAudiobook, "|- [Аудио] Сборники/разное Фантастика, фэнтези, мистика, ужасы, фанфики");
|
||||
AddCategoryMapping(2327, TorznabCatType.AudioAudiobook, "Художественная литература");
|
||||
AddCategoryMapping(695, TorznabCatType.AudioAudiobook, "|- [Аудио] Поэзия");
|
||||
AddCategoryMapping(399, TorznabCatType.AudioAudiobook, "|- [Аудио] Зарубежная литература");
|
||||
@@ -761,7 +783,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2309, TorznabCatType.AudioMP3, "|- Вокальная и хоровая музыка (lossy)");
|
||||
AddCategoryMapping(2310, TorznabCatType.AudioMP3, "|- Оркестровая музыка (lossy)");
|
||||
AddCategoryMapping(2311, TorznabCatType.AudioMP3, "|- Камерная и сольная инструментальная музыка (lossy)");
|
||||
AddCategoryMapping(969, TorznabCatType.Audio, "|- Классика в современной обработке, Classical Crossover (lossy и los..");
|
||||
AddCategoryMapping(969, TorznabCatType.Audio, "|- Классика в современной обработке, Classical Crossover (lossy и lossless)");
|
||||
AddCategoryMapping(1125, TorznabCatType.Audio, "Фольклор, Народная и Этническая музыка");
|
||||
AddCategoryMapping(1130, TorznabCatType.AudioMP3, "|- Восточноевропейский фолк (lossy)");
|
||||
AddCategoryMapping(1131, TorznabCatType.AudioLossless, "|- Восточноевропейский фолк (lossless)");
|
||||
@@ -774,10 +796,10 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2430, TorznabCatType.AudioLossless, "|- Этническая музыка Индии (lossless)");
|
||||
AddCategoryMapping(1283, TorznabCatType.AudioMP3, "|- Этническая музыка Африки и Ближнего Востока (lossy)");
|
||||
AddCategoryMapping(2085, TorznabCatType.AudioLossless, "|- Этническая музыка Африки и Ближнего Востока (lossless)");
|
||||
AddCategoryMapping(1282, TorznabCatType.Audio, "|- Фольклорная, Народная, Эстрадная музыка Кавказа и Закавказья (loss..");
|
||||
AddCategoryMapping(1282, TorznabCatType.Audio, "|- Фольклорная, Народная, Эстрадная музыка Кавказа и Закавказья (lossless)");
|
||||
AddCategoryMapping(1284, TorznabCatType.AudioMP3, "|- Этническая музыка Северной и Южной Америки (lossy)");
|
||||
AddCategoryMapping(1285, TorznabCatType.AudioLossless, "|- Этническая музыка Северной и Южной Америки (lossless)");
|
||||
AddCategoryMapping(1138, TorznabCatType.Audio, "|- Этническая музыка Австралии, Тихого и Индийского океанов (lossy и ..");
|
||||
AddCategoryMapping(1138, TorznabCatType.Audio, "|- Этническая музыка Австралии, Тихого и Индийского океанов (lossy и lossless)");
|
||||
AddCategoryMapping(1136, TorznabCatType.AudioMP3, "|- Country, Bluegrass (lossy)");
|
||||
AddCategoryMapping(1137, TorznabCatType.AudioLossless, "|- Country, Bluegrass (lossless)");
|
||||
AddCategoryMapping(1849, TorznabCatType.Audio, "New Age, Relax, Meditative & Flamenco");
|
||||
@@ -808,7 +830,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1773, TorznabCatType.Audio, "|- Отечественная Ska музыка (lossy и lossless)");
|
||||
AddCategoryMapping(2233, TorznabCatType.Audio, "|- Reggae, Ska, Dub (компиляции) (lossy и lossless)");
|
||||
AddCategoryMapping(416, TorznabCatType.Audio, "Саундтреки, караоке и мюзиклы");
|
||||
AddCategoryMapping(2377, TorznabCatType.AudioVideo, "|- Караоке (видео)");
|
||||
AddCategoryMapping(2377, TorznabCatType.AudioVideo, "|- Караоке");
|
||||
AddCategoryMapping(468, TorznabCatType.Audio, "|- Минусовки (lossy и lossless)");
|
||||
AddCategoryMapping(691, TorznabCatType.AudioLossless, "|- Саундтреки к отечественным фильмам (lossless)");
|
||||
AddCategoryMapping(469, TorznabCatType.AudioMP3, "|- Саундтреки к отечественным фильмам (lossy)");
|
||||
@@ -837,9 +859,9 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1842, TorznabCatType.AudioLossless, "Label Packs (lossless)");
|
||||
AddCategoryMapping(1648, TorznabCatType.AudioMP3, "Label packs, Scene packs (lossy)");
|
||||
AddCategoryMapping(2495, TorznabCatType.Audio, "Отечественная поп-музыка");
|
||||
AddCategoryMapping(424, TorznabCatType.AudioMP3, "|- Отечественная поп-музыка (lossy)");
|
||||
AddCategoryMapping(1361, TorznabCatType.AudioMP3, "|- Отечественная поп-музыка (сборники) (lossy)");
|
||||
AddCategoryMapping(425, TorznabCatType.AudioLossless, "|- Отечественная поп-музыка (lossless)");
|
||||
AddCategoryMapping(424, TorznabCatType.AudioMP3, "|- Популярная музыка России и стран бывшего СССР (lossy)");
|
||||
AddCategoryMapping(1361, TorznabCatType.AudioMP3, "|- Популярная музыка России и стран бывшего СССР (сборники) (lossy)");
|
||||
AddCategoryMapping(425, TorznabCatType.AudioLossless, "|- Популярная музыка России и стран бывшего СССР (lossless)");
|
||||
AddCategoryMapping(1635, TorznabCatType.AudioMP3, "|- Советская эстрада, ретро, романсы (lossy)");
|
||||
AddCategoryMapping(1634, TorznabCatType.AudioLossless, "|- Советская эстрада, ретро, романсы (lossless)");
|
||||
AddCategoryMapping(2497, TorznabCatType.Audio, "Зарубежная поп-музыка");
|
||||
@@ -959,7 +981,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1822, TorznabCatType.AudioMP3, "|- Goa Trance, Psy-Trance (lossy)");
|
||||
AddCategoryMapping(1894, TorznabCatType.AudioLossless, "|- PsyChill, Ambient, Dub (lossless)");
|
||||
AddCategoryMapping(1895, TorznabCatType.AudioMP3, "|- PsyChill, Ambient, Dub (lossy)");
|
||||
AddCategoryMapping(460, TorznabCatType.AudioMP3, "|- Goa Trance, Psy-Trance, PsyChill, Ambient, Dub (Live Sets, Mixes) ..");
|
||||
AddCategoryMapping(460, TorznabCatType.AudioMP3, "|- Goa Trance, Psy-Trance, PsyChill, Ambient, Dub (Live Sets, Mixes) (lossy)");
|
||||
AddCategoryMapping(1818, TorznabCatType.AudioLossless, "|- Trance (lossless)");
|
||||
AddCategoryMapping(1819, TorznabCatType.AudioMP3, "|- Trance (lossy)");
|
||||
AddCategoryMapping(1847, TorznabCatType.AudioMP3, "|- Trance (Singles, EPs) (lossy)");
|
||||
@@ -998,19 +1020,19 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1946, TorznabCatType.AudioMP3, "|- Nu Jazz, Acid Jazz, Future Jazz (lossy)");
|
||||
AddCategoryMapping(1945, TorznabCatType.AudioLossless, "|- Trip Hop, Abstract Hip-Hop (lossless)");
|
||||
AddCategoryMapping(1944, TorznabCatType.AudioMP3, "|- Trip Hop, Abstract Hip-Hop (lossy)");
|
||||
AddCategoryMapping(1810, TorznabCatType.Audio, "Traditional Electronic, Ambient, Modern Classical, Electroacoustic, Ex..");
|
||||
AddCategoryMapping(1810, TorznabCatType.Audio, "Traditional Electronic, Ambient, Modern Classical, Electroacoustic, Experimental");
|
||||
AddCategoryMapping(1864, TorznabCatType.AudioLossless, "|- Traditional Electronic, Ambient (lossless)");
|
||||
AddCategoryMapping(1865, TorznabCatType.AudioMP3, "|- Traditional Electronic, Ambient (lossy)");
|
||||
AddCategoryMapping(1871, TorznabCatType.AudioLossless, "|- Modern Classical, Electroacoustic (lossless)");
|
||||
AddCategoryMapping(1867, TorznabCatType.AudioMP3, "|- Modern Classical, Electroacoustic (lossy)");
|
||||
AddCategoryMapping(1869, TorznabCatType.AudioLossless, "|- Experimental (lossless)");
|
||||
AddCategoryMapping(1873, TorznabCatType.AudioMP3, "|- Experimental (lossy)");
|
||||
AddCategoryMapping(1907, TorznabCatType.Audio, "|- 8-bit, Chiptune (lossy & lossless)");
|
||||
AddCategoryMapping(1811, TorznabCatType.Audio, "Industrial, Noise, EBM, Dark Electro, Aggrotech, Synthpop, New Wave");
|
||||
AddCategoryMapping(1811, TorznabCatType.Audio, "Industrial, Noise, EBM, Dark Electro, Aggrotech, Cyberpunk, Synthpop, New Wave");
|
||||
AddCategoryMapping(1868, TorznabCatType.AudioLossless, "|- EBM, Dark Electro, Aggrotech (lossless)");
|
||||
AddCategoryMapping(1875, TorznabCatType.AudioMP3, "|- EBM, Dark Electro, Aggrotech (lossy)");
|
||||
AddCategoryMapping(1877, TorznabCatType.AudioLossless, "|- Industrial, Noise (lossless)");
|
||||
AddCategoryMapping(1878, TorznabCatType.AudioMP3, "|- Industrial, Noise (lossy)");
|
||||
AddCategoryMapping(1907, TorznabCatType.Audio, "|- Cyberpunk, 8-bit, Chiptune (lossy & lossless)");
|
||||
AddCategoryMapping(1880, TorznabCatType.AudioLossless, "|- Synthpop, Futurepop, New Wave, Electropop (lossless)");
|
||||
AddCategoryMapping(1881, TorznabCatType.AudioMP3, "|- Synthpop, Futurepop, New Wave, Electropop (lossy)");
|
||||
AddCategoryMapping(466, TorznabCatType.AudioLossless, "|- Synthwave, Spacesynth, Dreamwave, Retrowave, Outrun (lossless)");
|
||||
@@ -1019,8 +1041,8 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(406, TorznabCatType.AudioMP3, "|- Darkwave, Neoclassical, Ethereal, Dungeon Synth (lossy)");
|
||||
AddCategoryMapping(1299, TorznabCatType.Audio, "Hi-Res stereo и многоканальная музыка");
|
||||
AddCategoryMapping(1884, TorznabCatType.Audio, "|- Классика и классика в современной обработке (Hi-Res stereo)");
|
||||
AddCategoryMapping(1164, TorznabCatType.Audio, "|- Классика и классика в современной обработке (многоканальная музыка..");
|
||||
AddCategoryMapping(2513, TorznabCatType.Audio, "|- New Age, Relax, Meditative & Flamenco (Hi-Res stereo и многоканаль..");
|
||||
AddCategoryMapping(1164, TorznabCatType.Audio, "|- Классика и классика в современной обработке (многоканальная музыка)");
|
||||
AddCategoryMapping(2513, TorznabCatType.Audio, "|- New Age, Relax, Meditative & Flamenco (Hi-Res stereo и многоканальная музыка)");
|
||||
AddCategoryMapping(1397, TorznabCatType.Audio, "|- Саундтреки (Hi-Res stereo и многоканальная музыка)");
|
||||
AddCategoryMapping(2512, TorznabCatType.Audio, "|- Музыка разных жанров (Hi-Res stereo и многоканальная музыка)");
|
||||
AddCategoryMapping(1885, TorznabCatType.Audio, "|- Поп-музыка (Hi-Res stereo)");
|
||||
@@ -1043,9 +1065,10 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(239, TorznabCatType.Audio, "|- Отечественная поп-музыка (оцифровки)");
|
||||
AddCategoryMapping(450, TorznabCatType.Audio, "|- Инструментальная поп-музыка (оцифровки)");
|
||||
AddCategoryMapping(2301, TorznabCatType.Audio, "|- Джаз и блюз (оцифровки)");
|
||||
AddCategoryMapping(123, TorznabCatType.Audio, "|- Alternative, Punk, Independent (оцифровки)");
|
||||
AddCategoryMapping(1756, TorznabCatType.Audio, "|- Зарубежная рок-музыка (оцифровки)");
|
||||
AddCategoryMapping(1758, TorznabCatType.Audio, "|- Отечественная рок-музыка (оцифровки)");
|
||||
AddCategoryMapping(1766, TorznabCatType.Audio, "|- Зарубежный Metal (оцифровки)");
|
||||
AddCategoryMapping(1766, TorznabCatType.Audio, "|- Зарубежный и Отечественный Metal (оцифровки)");
|
||||
AddCategoryMapping(1754, TorznabCatType.Audio, "|- Электронная музыка (оцифровки)");
|
||||
AddCategoryMapping(860, TorznabCatType.Audio, "Неофициальные конверсии цифровых форматов");
|
||||
AddCategoryMapping(453, TorznabCatType.Audio, "|- Конверсии Quadraphonic");
|
||||
@@ -1054,21 +1077,21 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1852, TorznabCatType.Audio, "|- Апмиксы-Upmixes/Даунмиксы-Downmix");
|
||||
AddCategoryMapping(413, TorznabCatType.AudioVideo, "Музыкальное SD видео");
|
||||
AddCategoryMapping(445, TorznabCatType.AudioVideo, "|- Классическая и современная академическая музыка (Видео)");
|
||||
AddCategoryMapping(702, TorznabCatType.AudioVideo, "|- Опера, Оперетта и Мюзикл (Видео) ");
|
||||
AddCategoryMapping(702, TorznabCatType.AudioVideo, "|- Опера, Оперетта и Мюзикл (Видео)");
|
||||
AddCategoryMapping(1990, TorznabCatType.AudioVideo, "|- Балет и современная хореография (Видео)");
|
||||
AddCategoryMapping(1793, TorznabCatType.AudioVideo, "|- Классика в современной обработке, ical Crossover (Видео)");
|
||||
AddCategoryMapping(1793, TorznabCatType.AudioVideo, "|- Классика в современной обработке, Classical Crossover (Видео)");
|
||||
AddCategoryMapping(1141, TorznabCatType.AudioVideo, "|- Фольклор, Народная и Этническая музыка и фламенко (Видео)");
|
||||
AddCategoryMapping(1775, TorznabCatType.AudioVideo, "|- New Age, Relax, Meditative, Рэп, Хип-Хоп, R'n'B, Reggae, Ska, Dub .. ");
|
||||
AddCategoryMapping(1227, TorznabCatType.AudioVideo, "|- Зарубежный и Отечественный Шансон, Авторская и Военная песня (Виде..");
|
||||
AddCategoryMapping(1775, TorznabCatType.AudioVideo, "|- New Age, Relax, Meditative, Рэп, Хип-Хоп, R'n'B, Reggae, Ska, Dub (Видео)");
|
||||
AddCategoryMapping(1227, TorznabCatType.AudioVideo, "|- Зарубежный и Отечественный Шансон, Авторская и Военная песня (Видео)");
|
||||
AddCategoryMapping(475, TorznabCatType.AudioVideo, "|- Музыка других жанров, Советская эстрада, ретро, романсы (Видео)");
|
||||
AddCategoryMapping(1121, TorznabCatType.AudioVideo, "|- Отечественная поп-музыка (Видео)");
|
||||
AddCategoryMapping(431, TorznabCatType.AudioVideo, "|- Зарубежная поп-музыка (Видео)");
|
||||
AddCategoryMapping(431, TorznabCatType.AudioVideo, "|- Зарубежная Поп-музыка, Eurodance, Disco (Видео)");
|
||||
AddCategoryMapping(2378, TorznabCatType.AudioVideo, "|- Восточноазиатская поп-музыка (Видео)");
|
||||
AddCategoryMapping(2383, TorznabCatType.AudioVideo, "|- Зарубежный шансон (Видео)");
|
||||
AddCategoryMapping(2383, TorznabCatType.AudioVideo, "|- Разножанровые сборные концерты и сборники видеоклипов (Видео)");
|
||||
AddCategoryMapping(2305, TorznabCatType.AudioVideo, "|- Джаз и Блюз (Видео)");
|
||||
AddCategoryMapping(1782, TorznabCatType.AudioVideo, "|- Rock (Видео)");
|
||||
AddCategoryMapping(1787, TorznabCatType.AudioVideo, "|- Metal (Видео)");
|
||||
AddCategoryMapping(1789, TorznabCatType.AudioVideo, "|- Alternative, Punk, Independent (Видео)");
|
||||
AddCategoryMapping(1789, TorznabCatType.AudioVideo, "|- Зарубежный Alternative, Punk, Independent (Видео)");
|
||||
AddCategoryMapping(1791, TorznabCatType.AudioVideo, "|- Отечественный Рок, Панк, Альтернатива (Видео)");
|
||||
AddCategoryMapping(1912, TorznabCatType.AudioVideo, "|- Электронная музыка (Видео)");
|
||||
AddCategoryMapping(1189, TorznabCatType.AudioVideo, "|- Документальные фильмы о музыке и музыкантах (Видео)");
|
||||
@@ -1076,11 +1099,11 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(984, TorznabCatType.AudioVideo, "|- Классическая и современная академическая музыка (DVD Video)");
|
||||
AddCategoryMapping(983, TorznabCatType.AudioVideo, "|- Опера, Оперетта и Мюзикл (DVD видео)");
|
||||
AddCategoryMapping(2352, TorznabCatType.AudioVideo, "|- Балет и современная хореография (DVD Video)");
|
||||
AddCategoryMapping(2384, TorznabCatType.AudioVideo, "|- Классика в современной обработке, ical Crossover (DVD Video)");
|
||||
AddCategoryMapping(2384, TorznabCatType.AudioVideo, "|- Классика в современной обработке, Classical Crossover (DVD Video)");
|
||||
AddCategoryMapping(1142, TorznabCatType.AudioVideo, "|- Фольклор, Народная и Этническая музыка и Flamenco (DVD Video)");
|
||||
AddCategoryMapping(1107, TorznabCatType.AudioVideo, "|- New Age, Relax, Meditative, Рэп, Хип-Хоп, R 'n 'B, Reggae, Ska, Dub ..");
|
||||
AddCategoryMapping(1228, TorznabCatType.AudioVideo, "|- Зарубежный и Отечественный Шансон, Авторская и Военная песня (DVD ..");
|
||||
AddCategoryMapping(988, TorznabCatType.AudioVideo, "|- Музыка других жанров, Советская эстрада, ретро, романсы (DVD Video..");
|
||||
AddCategoryMapping(1107, TorznabCatType.AudioVideo, "|- New Age, Relax, Meditative, Рэп, Хип-Хоп, R'n'B, Reggae, Ska, Dub (DVD Video)");
|
||||
AddCategoryMapping(1228, TorznabCatType.AudioVideo, "|- Зарубежный и Отечественный Шансон, Авторская и Военная песня (DVD Video)");
|
||||
AddCategoryMapping(988, TorznabCatType.AudioVideo, "|- Музыка других жанров, Советская эстрада, ретро, романсы (DVD Video)");
|
||||
AddCategoryMapping(1122, TorznabCatType.AudioVideo, "|- Отечественная поп-музыка (DVD Video)");
|
||||
AddCategoryMapping(986, TorznabCatType.AudioVideo, "|- Зарубежная Поп-музыка, Eurodance, Disco (DVD Video)");
|
||||
AddCategoryMapping(2379, TorznabCatType.AudioVideo, "|- Восточноазиатская поп-музыка (DVD Video)");
|
||||
@@ -1092,20 +1115,20 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1792, TorznabCatType.AudioVideo, "|- Отечественный Рок, Метал, Панк, Альтернатива (DVD Video)");
|
||||
AddCategoryMapping(1886, TorznabCatType.AudioVideo, "|- Электронная музыка (DVD Video)");
|
||||
AddCategoryMapping(2509, TorznabCatType.AudioVideo, "|- Документальные фильмы о музыке и музыкантах (DVD Video)");
|
||||
AddCategoryMapping(2507, TorznabCatType.AudioVideo, "Неофициальные DVD видео ");
|
||||
AddCategoryMapping(2507, TorznabCatType.AudioVideo, "Неофициальные DVD видео");
|
||||
AddCategoryMapping(2263, TorznabCatType.AudioVideo, "Классическая музыка, Опера, Балет, Мюзикл (Неофициальные DVD Video)");
|
||||
AddCategoryMapping(2511, TorznabCatType.AudioVideo, "Шансон, Авторская песня, Сборные концерты, МДЖ (Неофициальные DVD Video)");
|
||||
AddCategoryMapping(2264, TorznabCatType.AudioVideo, "|- Зарубежная и Отечественная Поп-музыка (Неофициальные DVD Video)");
|
||||
AddCategoryMapping(2262, TorznabCatType.AudioVideo, "|- Джаз и Блюз (Неофициальные DVD Video)");
|
||||
AddCategoryMapping(2261, TorznabCatType.AudioVideo, "|- Зарубежная и Отечественная Рок-музыка (Неофициальные DVD Video)");
|
||||
AddCategoryMapping(1887, TorznabCatType.AudioVideo, "|- Электронная музыка (Неофициальные, любительские DVD Video)");
|
||||
AddCategoryMapping(1887, TorznabCatType.AudioVideo, "|- Электронная музыка (Неофициальные DVD Video)");
|
||||
AddCategoryMapping(2531, TorznabCatType.AudioVideo, "|- Прочие жанры (Неофициальные DVD видео)");
|
||||
AddCategoryMapping(2400, TorznabCatType.AudioVideo, "Музыкальное HD видео");
|
||||
AddCategoryMapping(1812, TorznabCatType.AudioVideo, "|- Классическая и современная академическая музыка (HD Video)");
|
||||
AddCategoryMapping(655, TorznabCatType.AudioVideo, "|- Опера, Оперетта и Мюзикл (HD Видео)");
|
||||
AddCategoryMapping(1777, TorznabCatType.AudioVideo, "|- Балет и современная хореография (HD Video)");
|
||||
AddCategoryMapping(2530, TorznabCatType.AudioVideo, "|- Фольклор, Народная, Этническая музыка и Flamenco (HD Видео)");
|
||||
AddCategoryMapping(2529, TorznabCatType.AudioVideo, "|- New Age, Relax, Meditative, Рэп, Хип-Хоп, R'n'B, Reggae, Ska, Dub ..");
|
||||
AddCategoryMapping(2529, TorznabCatType.AudioVideo, "|- New Age, Relax, Meditative, Рэп, Хип-Хоп, R'n'B, Reggae, Ska, Dub (HD Видео)");
|
||||
AddCategoryMapping(1781, TorznabCatType.AudioVideo, "|- Музыка других жанров, Разножанровые сборные концерты (HD видео)");
|
||||
AddCategoryMapping(2508, TorznabCatType.AudioVideo, "|- Зарубежная поп-музыка (HD Video)");
|
||||
AddCategoryMapping(2426, TorznabCatType.AudioVideo, "|- Отечественная поп-музыка (HD видео)");
|
||||
@@ -1148,10 +1171,10 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(2012, TorznabCatType.PCGames, "|- Самолёты и вертолёты для X-Plane");
|
||||
AddCategoryMapping(960, TorznabCatType.PCMac, "Игры для Apple Macintosh");
|
||||
AddCategoryMapping(537, TorznabCatType.PCMac, "|- Нативные игры для Mac");
|
||||
AddCategoryMapping(637, TorznabCatType.PCMac, "|- Портированные игры для Mac");
|
||||
AddCategoryMapping(637, TorznabCatType.PCMac, "|- Игры для Mac с Wineskin, DOSBox, Cider и другими");
|
||||
AddCategoryMapping(899, TorznabCatType.PCGames, "Игры для Linux");
|
||||
AddCategoryMapping(1992, TorznabCatType.PCGames, "|- Нативные игры для Linux");
|
||||
AddCategoryMapping(2059, TorznabCatType.PCGames, "|- Портированные игры для Linux");
|
||||
AddCategoryMapping(2059, TorznabCatType.PCGames, "|- Игры для Linux с Wine, DOSBox и другими");
|
||||
AddCategoryMapping(548, TorznabCatType.Console, "Игры для консолей");
|
||||
AddCategoryMapping(908, TorznabCatType.Console, "|- PS");
|
||||
AddCategoryMapping(357, TorznabCatType.ConsoleOther, "|- PS2");
|
||||
@@ -1179,18 +1202,19 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1926, TorznabCatType.ConsoleOther, "|- Видео для PS3 и других консолей");
|
||||
AddCategoryMapping(650, TorznabCatType.PCMobileOther, "Игры для мобильных устройств");
|
||||
AddCategoryMapping(2149, TorznabCatType.PCMobileAndroid, "|- Игры для Android");
|
||||
AddCategoryMapping(1001, TorznabCatType.PCMobileOther, "|- Игры для Java");
|
||||
AddCategoryMapping(2420, TorznabCatType.ConsoleOther, "|- Игры для Oculus Quest");
|
||||
AddCategoryMapping(1001, TorznabCatType.PC, "|- Игры для Java");
|
||||
AddCategoryMapping(1004, TorznabCatType.PCMobileOther, "|- Игры для Symbian");
|
||||
AddCategoryMapping(1002, TorznabCatType.PCMobileOther, "|- Игры для Windows Mobile");
|
||||
AddCategoryMapping(2420, TorznabCatType.PCMobileOther, "|- Игры для Windows Phone");
|
||||
AddCategoryMapping(240, TorznabCatType.OtherMisc, "Игровое видео");
|
||||
AddCategoryMapping(2415, TorznabCatType.OtherMisc, "|- Видеопрохождения игр");
|
||||
AddCategoryMapping(1012, TorznabCatType.PC, "Операционные системы от Microsoft");
|
||||
AddCategoryMapping(2523, TorznabCatType.PC, "|- Настольные ОС от Microsoft - Windows 8 и далее");
|
||||
AddCategoryMapping(2153, TorznabCatType.PC, "|- Настольные ОС от Microsoft - Windows XP - Windows 7");
|
||||
AddCategoryMapping(1019, TorznabCatType.PC, "|- Настольные ОС от Microsoft (выпущенные до Windows XP)");
|
||||
AddCategoryMapping(1021, TorznabCatType.PC, "|- Серверные ОС от Microsoft");
|
||||
AddCategoryMapping(1025, TorznabCatType.PC, "|- Разное (Операционные системы от Microsoft)");
|
||||
AddCategoryMapping(2489, TorznabCatType.PC, "|- Оригинальные образы Windows");
|
||||
AddCategoryMapping(2523, TorznabCatType.PC, "|- Сборки Windows 8 и далее");
|
||||
AddCategoryMapping(2153, TorznabCatType.PC, "|- Сборки Windows XP - Windows 7");
|
||||
AddCategoryMapping(1019, TorznabCatType.PC, "|- Операционные системы выпущенные до Windows XP");
|
||||
AddCategoryMapping(1021, TorznabCatType.PC, "|- Серверные ОС (оригинальные + сборки)");
|
||||
AddCategoryMapping(1025, TorznabCatType.PC, "|- Разное (сборки All-in-One, пакеты обновлений, утилиты, и прочее)");
|
||||
AddCategoryMapping(1376, TorznabCatType.PC, "Linux, Unix и другие ОС");
|
||||
AddCategoryMapping(1379, TorznabCatType.PC, "|- Операционные системы (Linux, Unix)");
|
||||
AddCategoryMapping(1381, TorznabCatType.PC, "|- Программное обеспечение (Linux, Unix)");
|
||||
@@ -1255,7 +1279,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1027, TorznabCatType.PC, "|- Виртуальные инструменты и синтезаторы");
|
||||
AddCategoryMapping(1199, TorznabCatType.PC, "|- Плагины для обработки звука");
|
||||
AddCategoryMapping(1091, TorznabCatType.PC, "|- Разное (Программы для работы со звуком)");
|
||||
AddCategoryMapping(838, TorznabCatType.OtherMisc, "|- Ищу/Предлагаю (Материалы для мультимедиа и дизайна)");
|
||||
AddCategoryMapping(828, TorznabCatType.OtherMisc, "Материалы для мультимедиа и дизайна");
|
||||
AddCategoryMapping(1357, TorznabCatType.OtherMisc, "|- Авторские работы");
|
||||
AddCategoryMapping(890, TorznabCatType.OtherMisc, "|- Официальные сборники векторных клипартов");
|
||||
AddCategoryMapping(830, TorznabCatType.OtherMisc, "|- Прочие векторные клипарты");
|
||||
@@ -1293,7 +1317,6 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(1005, TorznabCatType.PCMobileOther, "|- Приложения для Java");
|
||||
AddCategoryMapping(289, TorznabCatType.PCMobileOther, "|- Приложения для Symbian");
|
||||
AddCategoryMapping(290, TorznabCatType.PCMobileOther, "|- Приложения для Windows Mobile");
|
||||
AddCategoryMapping(2419, TorznabCatType.PCMobileOther, "|- Приложения для Windows Phone");
|
||||
AddCategoryMapping(288, TorznabCatType.PCMobileOther, "|- Софт для работы с телефоном");
|
||||
AddCategoryMapping(292, TorznabCatType.PCMobileOther, "|- Прошивки для телефонов");
|
||||
AddCategoryMapping(291, TorznabCatType.PCMobileOther, "|- Обои и темы");
|
||||
@@ -1348,6 +1371,7 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(147, TorznabCatType.Books, "|- Публикации и учебные материалы (тексты)");
|
||||
AddCategoryMapping(847, TorznabCatType.MoviesOther, "|- Трейлеры и дополнительные материалы к фильмам");
|
||||
AddCategoryMapping(1167, TorznabCatType.TVOther, "|- Любительские видеоклипы");
|
||||
AddCategoryMapping(321, TorznabCatType.Other, "Место встречи изменить - Отчеты о встречах");
|
||||
}
|
||||
|
||||
public override async Task<ConfigurationData> GetConfigurationForSetup()
|
||||
|
@@ -0,0 +1,24 @@
|
||||
namespace Jackett.Common.Models.IndexerConfig
|
||||
{
|
||||
public class ConfigurationDataCookieUA : ConfigurationData
|
||||
{
|
||||
public StringConfigurationItem Cookie { get; private set; }
|
||||
public DisplayInfoConfigurationItem CookieInstructions { get; private set; }
|
||||
public StringConfigurationItem UserAgent { get; private set; }
|
||||
public DisplayInfoConfigurationItem UserAgentInstructions { get; private set; }
|
||||
public DisplayInfoConfigurationItem Instructions { get; private set; }
|
||||
|
||||
public ConfigurationDataCookieUA(string instructionMessageOptional = null)
|
||||
{
|
||||
Cookie = new StringConfigurationItem("Cookie");
|
||||
CookieInstructions = new DisplayInfoConfigurationItem("Cookie Instructions",
|
||||
"Please enter the cookie for the site manually. <a href=\"https://github.com/Jackett/Jackett/wiki/Finding-cookies\" target=\"_blank\">See here</a> on how get the cookies." +
|
||||
"<br>Example cookie header (usually longer than this):<br><code>PHPSESSID=8rk27odm; ipsconnect_63ad9c=1; more_stuff=etc;</code>");
|
||||
UserAgent = new StringConfigurationItem("User-Agent");
|
||||
UserAgentInstructions = new DisplayInfoConfigurationItem("User Agent Instructions",
|
||||
"<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>");
|
||||
Instructions = new DisplayInfoConfigurationItem("", instructionMessageOptional);
|
||||
}
|
||||
}
|
||||
}
|
@@ -151,6 +151,7 @@ namespace Jackett.Common.Models
|
||||
//public string Remove { get; set; } // already inherited
|
||||
public selectorBlock Dateheaders { get; set; }
|
||||
public selectorBlock Count { get; set; }
|
||||
public bool Multiple { get; set; } = false;
|
||||
}
|
||||
|
||||
public class searchPathBlock : requestBlock
|
||||
@@ -200,8 +201,6 @@ namespace Jackett.Common.Models
|
||||
public class responseBlock
|
||||
{
|
||||
public string Type { get; set; }
|
||||
public string Attribute { get; set; }
|
||||
public string NoResultsMessage { get; set; }
|
||||
public bool Multiple { get; set; } = false;
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Common.Indexers;
|
||||
|
@@ -0,0 +1,82 @@
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Common.Indexers;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Test.TestHelpers;
|
||||
using NLog;
|
||||
using NUnit.Framework;
|
||||
using YamlDotNet.Serialization;
|
||||
using YamlDotNet.Serialization.NamingConventions;
|
||||
|
||||
// todo: test download block
|
||||
// todo: test login block
|
||||
// todo: test settings block
|
||||
// todo: test other search modes
|
||||
// todo: review coverage, too many things missing (headers, encoding, ...)
|
||||
namespace Jackett.Test.Common.Indexers
|
||||
{
|
||||
[TestFixture]
|
||||
public class CardigannIndexerJsonTests
|
||||
{
|
||||
private readonly TestWebClient _webClient = new TestWebClient();
|
||||
private readonly Logger _logger = LogManager.GetCurrentClassLogger();
|
||||
private readonly TestCacheService _cacheService = new TestCacheService();
|
||||
|
||||
[Test]
|
||||
public async Task TestCardigannJsonAsync()
|
||||
{
|
||||
_webClient.RegisterRequestCallback("https://jsondefinition1.com/api/torrents/filter?api_token=&name=1080p&sortField=created_at&sortDirection=desc&perPage=100&page=1",
|
||||
"json-response1.json");
|
||||
var definition = LoadTestDefinition("json-definition1.yml");
|
||||
var indexer = new CardigannIndexer(null, _webClient, _logger, null, _cacheService, definition);
|
||||
|
||||
var query = new TorznabQuery
|
||||
{
|
||||
QueryType = "search",
|
||||
SearchTerm = "1080p",
|
||||
};
|
||||
|
||||
var result = await indexer.ResultsForQuery(query, false);
|
||||
Assert.AreEqual(false, result.IsFromCache);
|
||||
|
||||
var releases = result.Releases.ToList();
|
||||
Assert.AreEqual(78, releases.Count);
|
||||
|
||||
var firstRelease = releases.First();
|
||||
Assert.AreEqual(2, firstRelease.Category.Count);
|
||||
Assert.AreEqual(2000, firstRelease.Category.First());
|
||||
Assert.AreEqual(100001, firstRelease.Category.Last());
|
||||
Assert.AreEqual("The Eyes of Tammy Faye (2021) BDRip 1080p AVC ES DD+ 5.1 EN DTSSS 5.1 Subs] HDO", firstRelease.Title);
|
||||
Assert.AreEqual("https://jsondefinition1.com/torrents/24804", firstRelease.Details.ToString());
|
||||
Assert.AreEqual("https://jsondefinition1.com/torrent/download/24804.01c887e14d0845f195bc12b31ea27d38", firstRelease.Link.ToString());
|
||||
Assert.AreEqual("https://jsondefinition1.com/torrent/download/24804.01c887e14d0845f195bc12b31ea27d38", firstRelease.Guid.ToString());
|
||||
Assert.AreEqual(null, firstRelease.MagnetUri);
|
||||
Assert.AreEqual(null, firstRelease.InfoHash);
|
||||
Assert.AreEqual("https://image.tmdb.org/t/p/w92/iBjkm6oxTPrvNkzr63cmnrpsQPR.jpg", firstRelease.Poster.ToString());
|
||||
Assert.AreEqual(2021, firstRelease.PublishDate.Year);
|
||||
Assert.AreEqual(17964744704, firstRelease.Size);
|
||||
Assert.AreEqual(27, firstRelease.Seeders);
|
||||
Assert.AreEqual(30, firstRelease.Peers);
|
||||
Assert.AreEqual(1, firstRelease.Files);
|
||||
Assert.AreEqual(29, firstRelease.Grabs);
|
||||
Assert.AreEqual(1, firstRelease.DownloadVolumeFactor);
|
||||
Assert.AreEqual(1, firstRelease.UploadVolumeFactor);
|
||||
Assert.AreEqual(null, firstRelease.MinimumRatio);
|
||||
Assert.AreEqual(345600, firstRelease.MinimumSeedTime);
|
||||
Assert.AreEqual(451.73625183105469, firstRelease.Gain);
|
||||
Assert.AreEqual(9115530, firstRelease.Imdb);
|
||||
Assert.AreEqual(null, firstRelease.RageID);
|
||||
Assert.AreEqual(601470, firstRelease.TMDb);
|
||||
Assert.AreEqual(0, firstRelease.TVDBId);
|
||||
}
|
||||
|
||||
private static IndexerDefinition LoadTestDefinition(string fileName)
|
||||
{
|
||||
var definitionString = TestUtil.LoadTestFile(fileName);
|
||||
var deserializer = new DeserializerBuilder()
|
||||
.WithNamingConvention(CamelCaseNamingConvention.Instance)
|
||||
.Build();
|
||||
return deserializer.Deserialize<IndexerDefinition>(definitionString);
|
||||
}
|
||||
}
|
||||
}
|
141
src/Jackett.Test/Resources/json-definition1.yml
Normal file
141
src/Jackett.Test/Resources/json-definition1.yml
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
id: jsondefinition1
|
||||
name: jsondefinition1
|
||||
description: "jsondefinition1"
|
||||
language: es-ES
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://jsondefinition1.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Películas"}
|
||||
- {id: 2, cat: TV, desc: "Series"}
|
||||
- {id: 3, cat: Audio, desc: "Música"}
|
||||
- {id: 4, cat: TV/Documentary, desc: "Documentales"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your account <i>My configuration / Mi configuración => Secutiy / Seguridad</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"]
|
||||
|
||||
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?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ 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 }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
|
||||
rows:
|
||||
selector: data:has(attributes.size):has(attributes.name:contains(1080)):has(attributes.poster:contains(.jpg)):not(attributes.fake_att):not(attributes.uploader:contains(DarkSwan2001))
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: category
|
||||
# title:
|
||||
# selector: name
|
||||
# filters:
|
||||
# - name: re_replace
|
||||
# args: ["\\[", " "]
|
||||
title_dts:
|
||||
selector: name:contains(DTS)
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["DTS", "DTSSS"]
|
||||
title_notdts:
|
||||
selector: name:not(:contains(DTS))
|
||||
optional: true
|
||||
title:
|
||||
text: "{{ if .Result.title_dts }}{{ .Result.title_dts }}{{ else }}{{ .Result.title_notdts }}{{ end }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\[", " "]
|
||||
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=false, 1=true
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# json UNIT3D ???
|
2997
src/Jackett.Test/Resources/json-response1.json
Normal file
2997
src/Jackett.Test/Resources/json-response1.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -258,6 +258,7 @@ namespace Jackett.Updater
|
||||
"Definitions/32pages.yml",
|
||||
"Definitions/3evils.yml",
|
||||
"Definitions/420files.yml",
|
||||
"Definitions/7torrents.yml",
|
||||
"Definitions/angietorrents.yml",
|
||||
"Definitions/academictorrents.yml",
|
||||
"Definitions/alein.yml",
|
||||
@@ -292,6 +293,7 @@ namespace Jackett.Updater
|
||||
"Definitions/btgigs.yml",
|
||||
"Definitions/btkitty.yml",
|
||||
"Definitions/btstornet.yml",
|
||||
"Definitions/btworld.yml",
|
||||
"Definitions/btxpress.yml",
|
||||
"Definitions/casstudiotv.yml",
|
||||
"Definitions/channelx.yml",
|
||||
@@ -328,6 +330,7 @@ namespace Jackett.Updater
|
||||
"Definitions/erzsebetpl.yml",
|
||||
"Definitions/estrenosdtl.yml",
|
||||
"Definitions/ethor.yml",
|
||||
"Definitions/ettv.yml",
|
||||
"Definitions/evolutionpalace.yml",
|
||||
"Definitions/exoticaz.yml", // migrated to C#
|
||||
"Definitions/extratorrent-ag.yml",
|
||||
@@ -380,6 +383,7 @@ namespace Jackett.Updater
|
||||
"Definitions/kikibt.yml",
|
||||
"Definitions/korsar.yml",
|
||||
"Definitions/lapausetorrents.yml",
|
||||
"Definitions/lat-team.yml", // switch to *-API #8682
|
||||
"Definitions/latinop2p.yml",
|
||||
"Definitions/leaguehd.yml", // renamed to lemonhd
|
||||
"Definitions/lechaudron.yml",
|
||||
@@ -417,6 +421,7 @@ namespace Jackett.Updater
|
||||
"Definitions/obscure.yml",
|
||||
"Definitions/oncesearch.yml",
|
||||
"Definitions/passionetorrent.yml",
|
||||
"Definitions/pirateiro.yml",
|
||||
"Definitions/pleasuredome.yml",
|
||||
"Definitions/polishtracker.yml",
|
||||
"Definitions/pornorip.yml",
|
||||
@@ -425,6 +430,7 @@ namespace Jackett.Updater
|
||||
"Definitions/qxr.yml",
|
||||
"Definitions/rapidetracker.yml",
|
||||
"Definitions/rarbg.yml", // migrated to C#
|
||||
"Definitions/redbits.yml", // switch to *-API #11540 #8682
|
||||
"Definitions/redtopia.yml",
|
||||
"Definitions/reelflix.yml", // switch to *-API #8682
|
||||
"Definitions/renegade.yml",
|
||||
|
Reference in New Issue
Block a user