mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-12 06:57:05 +02:00
Compare commits
22 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
08a7641fb9 | ||
![]() |
77e3db2f88 | ||
![]() |
18ed7c88fb | ||
![]() |
f2c7de0845 | ||
![]() |
ee0d092c2f | ||
![]() |
5ec8045fe0 | ||
![]() |
924a8e9f96 | ||
![]() |
5389995b6d | ||
![]() |
609a222d98 | ||
![]() |
9f913d73f4 | ||
![]() |
0c39616c12 | ||
![]() |
e1e2441b91 | ||
![]() |
1085c753d7 | ||
![]() |
2ea46b5c9f | ||
![]() |
90607d561c | ||
![]() |
266568e4ce | ||
![]() |
3378895b4c | ||
![]() |
d847b93418 | ||
![]() |
e32f02a003 | ||
![]() |
8b0cede8ee | ||
![]() |
9f77de381b | ||
![]() |
e060c82cd3 |
@@ -77,7 +77,6 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Torrent9
|
||||
* Torernt9 clone (torrents9.ch)
|
||||
* Torrentz2
|
||||
* Torrof (Torrentoff)
|
||||
* World Wide Torrents
|
||||
* YTS.ag
|
||||
* Zooqle
|
||||
@@ -118,6 +117,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* 720pier
|
||||
* Abnormal
|
||||
* Acid Lounge (A-L)
|
||||
* Aftershock
|
||||
* AlphaRatio (AR)
|
||||
* AmigosShareClub
|
||||
* AnimeBytes (AB)
|
||||
@@ -171,6 +171,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Classix
|
||||
* CrnaBerza
|
||||
* DanishBits (DB)
|
||||
* Dark-Shadow
|
||||
* DataScene (DS)
|
||||
* DesiTorrents
|
||||
* Diablo Torrent
|
||||
@@ -221,6 +222,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* HDCity
|
||||
* HDHome (HDBigger)
|
||||
* HDME
|
||||
* HDplus
|
||||
* HDSky
|
||||
* HDTorrents.it
|
||||
* Hebits
|
||||
|
142
src/Jackett.Common/Definitions/aftershock.yml
Normal file
142
src/Jackett.Common/Definitions/aftershock.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
site: aftershock
|
||||
name: Aftershock
|
||||
description: "Aftershock is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: hu-hu
|
||||
type: private
|
||||
encoding: iso-8859-1
|
||||
links:
|
||||
- https://aftershock-tracker.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 7, cat: Movies/SD, desc: "XvidEng"}
|
||||
- {id: 2, cat: Movies, desc: "AfterShock Release"}
|
||||
- {id: 190, cat: Movies/DVD, desc: "DVD-9Eng"}
|
||||
- {id: 191, cat: Movies/DVD, desc: "DVD-9Hun"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "DVDEng"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "DVDHun"}
|
||||
- {id: 23, cat: Books/Ebook, desc: "E-Book"}
|
||||
- {id: 3, cat: Movies, desc: "Film Pack"}
|
||||
- {id: 185, cat: Audio/Lossless, desc: "FLACeng"}
|
||||
- {id: 188, cat: Audio/Lossless, desc: "FLAChu"}
|
||||
- {id: 173, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 34, cat: Movies/HD, desc: "HDEng"}
|
||||
- {id: 33, cat: Movies/HD, desc: "HDHun"}
|
||||
- {id: 182, cat: XXX/x264, desc: "HDXXX"}
|
||||
- {id: 12, cat: PC/Games, desc: "JátékIso"}
|
||||
- {id: 130, cat: Console, desc: "JátékKonzol"}
|
||||
- {id: 38, cat: Console/PSP, desc: "JátékPS2"}
|
||||
- {id: 44, cat: Console, desc: "Jatekrip"}
|
||||
- {id: 131, cat: Console/Xbox, desc: "JátékX-box"}
|
||||
- {id: 140, cat: Other, desc: "Képek"}
|
||||
- {id: 141, cat: Other, desc: "Klipek"}
|
||||
- {id: 154, cat: Other, desc: "MeseEng"}
|
||||
- {id: 155, cat: Other, desc: "MeseHun"}
|
||||
- {id: 176, cat: Other, desc: "Mikro HDEng"}
|
||||
- {id: 174, cat: Other, desc: "Mikro HDHun"}
|
||||
- {id: 37, cat: PC/Phone-Other, desc: "MobilPDA"}
|
||||
- {id: 35, cat: PC, desc: "ProgramEgyéb"}
|
||||
- {id: 170, cat: PC/ISO, desc: "ProgramIso"}
|
||||
- {id: 24, cat: TV, desc: "Sorozat Eng"}
|
||||
- {id: 25, cat: TV, desc: "Sorozat Hun"}
|
||||
- {id: 167, cat: Movies/SD, desc: "Xvid CamEng"}
|
||||
- {id: 166, cat: Movies/SD, desc: "Xvid CamHun"}
|
||||
- {id: 9, cat: Movies/SD, desc: "XvidHun"}
|
||||
- {id: 169, cat: XXX/Imageset, desc: "XXX Képek"}
|
||||
- {id: 39, cat: XXX, desc: "XXXFilm"}
|
||||
- {id: 28, cat: Audio, desc: "ZeneEng"}
|
||||
- {id: 29, cat: Audio, desc: "ZeneHun"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.text:contains("Hiba")
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout.php"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: p.sajatadatok font
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table tbody#torrent_background tr:has(a.index)
|
||||
fields:
|
||||
title:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: name
|
||||
- name: urldecode
|
||||
category:
|
||||
selector: td a[href^="/browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: urldecode
|
||||
banner:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width="
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="https://www.imdb.com/title"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-last-child(6)
|
||||
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 font
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\s", " "]
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icon_gift: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon_upload: "2"
|
||||
"*": "1"
|
@@ -72,6 +72,10 @@
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="https://www.imdb.com/title/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
@@ -102,6 +106,7 @@
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
|
@@ -9,13 +9,12 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filmy"}
|
||||
- {id: 25, cat: TV, desc: "Seriály"}
|
||||
- {id: 23, cat: TV/Documentary, desc: "Filmy - dokument"}
|
||||
- {id: 22, cat: PC, desc: "Aplikace"}
|
||||
- {id: 1, cat: Movies, desc: "Filmy"}
|
||||
- {id: 36, cat: Movies/3D, desc: "Filmy - 3D"}
|
||||
- {id: 35, cat: Movies/Other, desc: "Filmy - anime"}
|
||||
- {id: 37, cat: Movies/BluRay, desc: "Filmy - Blu-ray"}
|
||||
- {id: 33, cat: TV/Documentary, desc: "Filmy - dokument"}
|
||||
- {id: 11, cat: Movies/DVD, desc: "Filmy - DVD"}
|
||||
- {id: 30, cat: Movies/DVD, desc: "Filmy - DVD full"}
|
||||
- {id: 5, cat: Movies, desc: "Filmy - kreslené"}
|
||||
@@ -29,6 +28,7 @@
|
||||
- {id: 32, cat: Audio, desc: "Mluvené slovo"}
|
||||
- {id: 16, cat: PC/Phone-Other, desc: "Mobil, PDA"}
|
||||
- {id: 4, cat: Other, desc: "Ostatní"}
|
||||
- {id: 25, cat: TV, desc: "Seriály"}
|
||||
- {id: 29, cat: Audio, desc: "Soundtrack"}
|
||||
- {id: 19, cat: Audio/Video, desc: "Videoklipy"}
|
||||
- {id: 24, cat: XXX, desc: "xXx"}
|
||||
@@ -88,11 +88,11 @@
|
||||
- name: re_replace
|
||||
args: ["(\\d{1})\\.", "S0$1"]
|
||||
category:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.categorie
|
||||
case:
|
||||
":contains(\"Filmy\")": 1
|
||||
":contains(\"Seriály\")": 25
|
||||
":contains(\"Filmy - dokument\")": 23
|
||||
":contains(\"Filmy - dokument\")": 33
|
||||
":contains(\"Aplikace\")": 22
|
||||
":contains(\"Filmy - 3D\")": 36
|
||||
":contains(\"Filmy - anime\")": 35
|
||||
@@ -123,20 +123,16 @@
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 0 ]
|
||||
- name: regexp
|
||||
args: "Velikost: (.+?) ?$"
|
||||
args: [ "|", 1 ]
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 1 ]
|
||||
- name: regexp
|
||||
args: "Přidán: (.+?) ?$"
|
||||
args: [ "|", 2 ]
|
||||
- name: append
|
||||
args: " +02:00"
|
||||
- name: dateparse
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
seeders:
|
||||
selector: td:nth-child(7) span
|
||||
leechers:
|
||||
|
237
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
237
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
@@ -0,0 +1,237 @@
|
||||
---
|
||||
site: dark-shadow
|
||||
name: Dark-Shadow
|
||||
description: "Dark-Shadow is a German Private site for TV / MOVIES / GENERAL"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dark-shadow.ml/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Film
|
||||
- {id: 32, cat: Movies/HD, desc: "Film HD"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Film SD"}
|
||||
- {id: 119, cat: Movies/DVD, desc: "Film DVD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Film 4K/2160p"}
|
||||
- {id: 26, cat: Movies/3D, desc: "Film 3D"}
|
||||
# Serien
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack"}
|
||||
- {id: 122, cat: TV, desc: "Serien Show"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Serien Doku"}
|
||||
# Doku
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
# Spiele
|
||||
- {id: 17, cat: PC/Games, desc: "Spiele PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiele Konsole"}
|
||||
- {id: 121, cat: Console, desc: "Spiele Wimmelbild"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiele Mobil"}
|
||||
# Musik
|
||||
- {id: 110, cat: Audio/MP3, desc: "Musik MP3"}
|
||||
- {id: 52, cat: Audio, desc: "Musik Pack"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Musik Flac"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Musik Video"}
|
||||
# App
|
||||
- {id: 12, cat: PC/0day, desc: "App PC"}
|
||||
- {id: 125, cat: PC/Mac, desc: "App MacOS"}
|
||||
- {id: 11, cat: PC/Phone-Other, desc: "App Mobil"}
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
# Internal
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal Serien SD"}
|
||||
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
|
||||
# Sonstiges
|
||||
- {id: 64, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 96, cat: Books/Ebook, desc: "e-Book"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Hörbuch"}
|
||||
- {id: 71, cat: Other, desc: "Anderes"}
|
||||
# XXX
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 75, cat: XXX/Packs, desc: "XXX Pack"}
|
||||
- {id: 76, cat: XXX/XviD, desc: "XXX SD"}
|
||||
- {id: 124, cat: XXX/Other, desc: "XXX Clips"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: pin
|
||||
type: text
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
pin: "{{ .Config.pin }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: selection.php
|
||||
|
||||
download:
|
||||
before:
|
||||
path: ajax_det_poll.php
|
||||
method: "post"
|
||||
inputs:
|
||||
set_thanks: "thanks"
|
||||
det_id: "{{ .DownloadUri.Query.torrent }}"
|
||||
ajax: "yes"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
blah: "0"
|
||||
orderby: "added"
|
||||
sort: "desc"
|
||||
rows:
|
||||
selector: div.selection_wrap
|
||||
fields:
|
||||
download:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
title:
|
||||
selector: a.selection_a
|
||||
details:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
category:
|
||||
selector: div.kat_cat_pic
|
||||
case:
|
||||
# Movies
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"4K/2160p\"))": "114"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": "119"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "32"
|
||||
":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(\"3D\"))": "26"
|
||||
# Serien
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "60"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "57"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "59"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Show\"))": "122"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Doku\"))": "123"
|
||||
# Musik
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": "48"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"MP3\"))": "110"
|
||||
":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(\"Videos\"))": "120"
|
||||
# Doku
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "15"
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "14"
|
||||
# Games
|
||||
":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(\"Wimmelbild\"))": "121"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Konsole\"))": "24"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "126"
|
||||
# App
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "12"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"MacOS\"))": "125"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "11"
|
||||
# Sport
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "62"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "61"
|
||||
# Sonstiges
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Anime\"))": "64"
|
||||
":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(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": "63"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": "71"
|
||||
# XXX
|
||||
":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(\"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(\"Clips\"))": "124"
|
||||
# Internal
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film HD\"))": "128"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film SD\"))": "129"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien HD\"))": "130"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien SD\"))": "131"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": "132"
|
||||
banner:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
filters:
|
||||
- name: trim
|
||||
args: "x"
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
optional: true
|
@@ -236,13 +236,22 @@
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
selector: div.selection_unter_ab
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: dateparse
|
||||
|
@@ -13,7 +13,7 @@
|
||||
# Movie
|
||||
- {id: 132, cat: Movies/BluRay, desc: "BluRay"}
|
||||
- {id: 146, cat: Movies/HD, desc: "Remux"}
|
||||
- {id: 186, cat: Movies/HD, desc: "UHD"}
|
||||
- {id: 186, cat: Movies/UHD, desc: "UHD"}
|
||||
- {id: 189, cat: Movies/HD, desc: "HD"}
|
||||
- {id: 190, cat: Movies/SD, desc: "SD"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVD"}
|
||||
@@ -21,10 +21,10 @@
|
||||
- {id: 16, cat: Movies, desc: "Packs"}
|
||||
|
||||
# Serien
|
||||
- {id: 187, cat: TV/HD, desc: "Staffeln UHD"}
|
||||
- {id: 187, cat: TV/UHD, desc: "Staffeln UHD"}
|
||||
- {id: 173, cat: TV/HD, desc: "Staffeln HD"}
|
||||
- {id: 133, cat: TV/SD, desc: "Staffeln SD"}
|
||||
- {id: 188, cat: TV/HD, desc: "Folgen UHD"}
|
||||
- {id: 188, cat: TV/UHD, desc: "Folgen UHD"}
|
||||
- {id: 174, cat: TV/HD, desc: "Folgen HD"}
|
||||
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: pin
|
||||
|
122
src/Jackett.Common/Definitions/hdplus.yml
Normal file
122
src/Jackett.Common/Definitions/hdplus.yml
Normal file
@@ -0,0 +1,122 @@
|
||||
---
|
||||
site: hdplus
|
||||
name: HDplus
|
||||
description: "HDplus is Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdplus.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: meta[name="csrf-token"]
|
||||
attribute: content
|
||||
error:
|
||||
- selector: form[action$="/login"] .text-red
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: span:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
@@ -118,13 +118,19 @@
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
text: 1
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$1"]
|
||||
leechers:
|
||||
text: 1
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$2"]
|
||||
|
@@ -154,6 +154,21 @@
|
||||
fields:
|
||||
title:
|
||||
selector: td.nam a[href^="/details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\b(\\d)\\b", "0$1"]
|
||||
- name: replace
|
||||
args: ["Кураж-Бамбей", "kurazh"]
|
||||
- name: re_replace
|
||||
args: ["(\\([Сс]езон\\s+(\\d+).+[Сс]ери[ия]\\s+(?:(\\d+-*\\d*).*\\d+)*\\))", "(S$2E$3) RUS"]
|
||||
- name: re_replace
|
||||
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: replace
|
||||
args: ["WEBDLRip", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEB-DLRip", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["HDTVRip", "HDTV"]
|
||||
details:
|
||||
selector: td.nam a[href^="/details.php?id="]
|
||||
attribute: href
|
||||
|
@@ -6,6 +6,8 @@
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://en.metal-tracker.com/
|
||||
legacylinks:
|
||||
- http://en.metal-tracker.com/
|
||||
|
||||
caps:
|
||||
@@ -20,7 +22,7 @@
|
||||
|
||||
login:
|
||||
path: user/login.html
|
||||
method: form
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
|
@@ -87,10 +87,7 @@
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +0700"
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -0700"
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"span.label:contains(\"Free\")": "0"
|
||||
|
@@ -4,7 +4,7 @@
|
||||
description: "Torrent Sector Crew (TSC) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: windows-1252
|
||||
encoding: ISO-8859-1
|
||||
links:
|
||||
- https://tsctracker.org/
|
||||
legacylinks:
|
||||
@@ -13,70 +13,64 @@
|
||||
caps:
|
||||
categorymappings:
|
||||
# Apps
|
||||
- {id: 65, cat: PC/Phone-Android, desc: "Android"}
|
||||
- {id: 83, cat: PC/Phone-IOS, desc: "iOS"}
|
||||
- {id: 107, cat: PC/0day, desc: "Linux"}
|
||||
- {id: 48, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 109, cat: PC, desc: "Sonstige"}
|
||||
- {id: 22, cat: PC/0day, desc: "Win"}
|
||||
|
||||
- {id: 65, cat: PC/Phone-Android, desc: "Apps Android"}
|
||||
- {id: 83, cat: PC/Phone-IOS, desc: "Apps iOS"}
|
||||
- {id: 107, cat: PC/0day, desc: "Apps Linux"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Apps MAC"}
|
||||
- {id: 109, cat: PC, desc: "Apps Sonstige"}
|
||||
- {id: 22, cat: PC/0day, desc: "Apps Win"}
|
||||
# Audio
|
||||
- {id: 24, cat: Audio/Audiobook, desc: "aBooks"}
|
||||
- {id: 104, cat: Audio, desc: "Disco's"}
|
||||
- {id: 38, cat: Audio/Audiobook, desc: "Hörspiel"}
|
||||
- {id: 6, cat: Audio, desc: "Musik"}
|
||||
- {id: 82, cat: Audio, desc: "Tracks"}
|
||||
- {id: 29, cat: Audio/Video, desc: "Videos"}
|
||||
|
||||
- {id: 24, cat: Audio/Audiobook, desc: "Audio aBooks"}
|
||||
- {id: 104, cat: Audio, desc: "Audio Disco's"}
|
||||
- {id: 38, cat: Audio/Audiobook, desc: "Audio Hörspiel"}
|
||||
- {id: 6, cat: Audio, desc: "Audio Musik"}
|
||||
- {id: 82, cat: Audio, desc: "Audio Tracks"}
|
||||
- {id: 29, cat: Audio/Video, desc: "Audio Videos"}
|
||||
# Doku
|
||||
- {id: 113, cat: TV/Documentary, desc: "3D"}
|
||||
- {id: 76, cat: TV/Documentary, desc: "HD"}
|
||||
- {id: 78, cat: TV/Documentary, desc: "Packs"}
|
||||
- {id: 75, cat: TV/Documentary, desc: "SD"}
|
||||
- {id: 114, cat: TV/Documentary, desc: "Sonstige"}
|
||||
- {id: 77, cat: TV/Documentary, desc: "Untouched"}
|
||||
|
||||
- {id: 113, cat: TV/Documentary, desc: "Doku 3D"}
|
||||
- {id: 76, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 78, cat: TV/Documentary, desc: "Doku Packs"}
|
||||
- {id: 75, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 114, cat: TV/Documentary, desc: "Doku Sonstige"}
|
||||
- {id: 77, cat: TV/Documentary, desc: "Doku Untouched"}
|
||||
# Filme
|
||||
- {id: 54, cat: Movies/HD, desc: "1080p"}
|
||||
- {id: 5, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 55, cat: Movies/HD, desc: "720p"}
|
||||
- {id: 111, cat: Movies, desc: "Anime"}
|
||||
- {id: 43, cat: Movies/BluRay, desc: "BluRay"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVDR"}
|
||||
- {id: 120, cat: Movies/Foreign, desc: "Int."}
|
||||
- {id: 119, cat: Movies, desc: "Remux"}
|
||||
- {id: 121, cat: Movies/HD, desc: "UHD"}
|
||||
- {id: 36, cat: Movies/HD, desc: "x264"}
|
||||
- {id: 19, cat: Movies/SD, desc: "XviD"}
|
||||
|
||||
- {id: 54, cat: Movies/HD, desc: "Filme 1080p"}
|
||||
- {id: 5, cat: Movies/3D, desc: "Filme 3D"}
|
||||
- {id: 55, cat: Movies/HD, desc: "Filme 720p"}
|
||||
- {id: 111, cat: Movies, desc: "Filme Anime"}
|
||||
- {id: 43, cat: Movies/BluRay, desc: "Filme BluRay"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Filme DVDR"}
|
||||
- {id: 120, cat: Movies/Foreign, desc: "Filme Int."}
|
||||
- {id: 119, cat: Movies, desc: "Filme Remux"}
|
||||
- {id: 121, cat: Movies/HD, desc: "Filme UHD"}
|
||||
- {id: 124, cat: Movies/HD, desc: "Filme UHD Remux"}
|
||||
- {id: 36, cat: Movies/HD, desc: "Filme SD"}
|
||||
# Serien
|
||||
- {id: 112, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 69, cat: TV/HD, desc: "HD"}
|
||||
- {id: 72, cat: TV/Foreign, desc: "Int."}
|
||||
- {id: 68, cat: TV, desc: "Packs"}
|
||||
- {id: 66, cat: TV/SD, desc: "SD"}
|
||||
- {id: 108, cat: TV, desc: "TV-Shows"}
|
||||
|
||||
- {id: 112, cat: TV/Anime, desc: "Serien Anime"}
|
||||
- {id: 69, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 72, cat: TV/Foreign, desc: "Serien Int."}
|
||||
- {id: 68, cat: TV, desc: "Serien Packs"}
|
||||
- {id: 66, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 108, cat: TV, desc: "Serien TV-Shows"}
|
||||
# Sonstige
|
||||
- {id: 117, cat: Other, desc: "Diverses"}
|
||||
- {id: 28, cat: Books, desc: "eBooks"}
|
||||
- {id: 42, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 103, cat: Other, desc: "Tutorials"}
|
||||
- {id: 9, cat: Other, desc: "Wallpaper"}
|
||||
- {id: 64, cat: XXX, desc: "XXX"}
|
||||
|
||||
- {id: 117, cat: Other, desc: "Sonstige Diverses"}
|
||||
- {id: 28, cat: Books, desc: "Sonstige eBooks"}
|
||||
- {id: 42, cat: TV/Sport, desc: "Sonstige Sport"}
|
||||
- {id: 103, cat: Other, desc: "Sonstige Tutorials"}
|
||||
- {id: 9, cat: Other, desc: "Sonstige Wallpaper"}
|
||||
- {id: 64, cat: XXX, desc: "Sonstige XXX"}
|
||||
# Spiele
|
||||
- {id: 115, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 37, cat: Console/NDS, desc: "Nintendo"}
|
||||
- {id: 4, cat: PC/Games, desc: "PC"}
|
||||
- {id: 58, cat: Console/PS4, desc: "PSX"}
|
||||
- {id: 116, cat: Other, desc: "Sonstige"}
|
||||
- {id: 50, cat: Console/Xbox, desc: "XBOX"}
|
||||
|
||||
- {id: 115, cat: PC/Mac, desc: "Spiele MAC"}
|
||||
- {id: 37, cat: Console/NDS, desc: "Spiele Nintendo"}
|
||||
- {id: 4, cat: PC/Games, desc: "Spiele PC"}
|
||||
- {id: 58, cat: Console/PS4, desc: "Spiele PSX"}
|
||||
- {id: 116, cat: Other, desc: "Spiele Sonstige"}
|
||||
- {id: 50, cat: Console/Xbox, desc: "Spiele XBOX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: pin
|
||||
@@ -118,62 +112,103 @@
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: "1"
|
||||
orderby: "added"
|
||||
sort: desc
|
||||
sort: "desc"
|
||||
rows:
|
||||
selector: "h2 +p + br + table.tablebrowse > tbody > tr[style=\"height: 45px;\"], tr:contains(\"Weiter\") > td > table.tablebrowse > tbody > tr[style=\"height: 45px;\"]"
|
||||
selector: table.tableinborder:has(a[href^="download_ssl.php"])
|
||||
fields:
|
||||
title:
|
||||
selector: a[title][href^="details.php"]
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href*="cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
selector: td[style][colspan]
|
||||
case:
|
||||
td[style$="#000033;"]:contains("Android"): 65
|
||||
td[style$="#000033;"]:contains("iOS"): 83
|
||||
td[style$="#000033;"]:contains("Linux"): 107
|
||||
td[style$="#000033;"]:contains("MAC"): 48
|
||||
td[style$="#000033;"]:contains("Sonstige"): 109
|
||||
td[style$="#000033;"]:contains("Win"): 22
|
||||
td[style$="#1d2f8c;"]:contains("aBooks"): 24
|
||||
td[style$="#1d2f8c;"]:contains("Disco's"): 104
|
||||
td[style$="#1d2f8c;"]:contains("Hörspiel"): 38
|
||||
td[style$="#1d2f8c;"]:contains("Musik"): 6
|
||||
td[style$="#1d2f8c;"]:contains("Tracks"): 82
|
||||
td[style$="#1d2f8c;"]:contains("Videos"): 29
|
||||
td[style$="#000000;"]:contains("3D"): 113
|
||||
td[style$="#000000;"]:contains("HD"): 76
|
||||
td[style$="#000000;"]:contains("Packs"): 78
|
||||
td[style$="#000000;"]:contains("SD"): 75
|
||||
td[style$="#000000;"]:contains("Sonstige"): 114
|
||||
td[style$="#000000;"]:contains("Untouched"): 77
|
||||
td[style$="#55316e;"]:contains("1080p"): 54
|
||||
td[style$="#55316e;"]:contains("3D"): 5
|
||||
td[style$="#55316e;"]:contains("720p"): 55
|
||||
td[style$="#55316e;"]:contains("Anime"): 111
|
||||
td[style$="#55316e;"]:contains("BluRay"): 43
|
||||
td[style$="#55316e;"]:contains("DVDR"): 20
|
||||
td[style$="#55316e;"]:contains("Int"): 120
|
||||
td[style$="#55316e;"]:contains("Remux"): 119
|
||||
td[style$="#55316e;"]:contains("UHD"): 121
|
||||
td[style$="#55316e;"]:contains("UHD Remux"): 124
|
||||
td[style$="#55316e;"]:contains("SD"): 36
|
||||
td[style$="#620000;"]:contains("Anime"): 112
|
||||
td[style$="#620000;"]:contains("HD"): 69
|
||||
td[style$="#620000;"]:contains("Int"): 72
|
||||
td[style$="#620000;"]:contains("Packs"): 68
|
||||
td[style$="#620000;"]:contains("SD"): 66
|
||||
td[style$="#620000;"]:contains("TV-Shows"): 108
|
||||
td[style$="#003300;"]:contains("Diverses"): 117
|
||||
td[style$="#003300;"]:contains("eBooks"): 28
|
||||
td[style$="#003300;"]:contains("Sport"): 42
|
||||
td[style$="#003300;"]:contains("Tutorials"): 103
|
||||
td[style$="#003300;"]:contains("Wallpaper"): 9
|
||||
td[style$="#FF00FF;"]:contains("XXX"): 64
|
||||
td[style$="#FF3300;"]:contains("MAC"): 115
|
||||
td[style$="#FF3300;"]:contains("Nintendo"): 37
|
||||
td[style$="#FF3300;"]:contains("PC"): 4
|
||||
td[style$="#FF3300;"]:contains("PSX"): 58
|
||||
td[style$="#FF3300;"]:contains("Sonstige"): 116
|
||||
td[style$="#FF3300;"]:contains("XBOX"): 50
|
||||
comments:
|
||||
selector: a[href*="&tocomm="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download_ssl.php"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
selector: td:has(a[href*="&tosnatchers="])
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["-mal", ""]
|
||||
- name: regexp
|
||||
args: "(\\d+) x"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
selector: td:has(a[href*="&filelist="])
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.*?) in"
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
files:
|
||||
selector: td:has(a[href*="&filelist="]) > b
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)"
|
||||
selector: td:has(a[href*="&toseeders="]) > font
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)"
|
||||
selector: td:has(a[href*="&todlers="]) > font
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
remove: br
|
||||
selector: td:has(a[href*="&tocomm="]) ~ td
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\s", " "]
|
||||
- name: dateparse
|
||||
args: "02.01.200615:04:05"
|
||||
args: "02.01.2006 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"font:contains(\"[OnlyUpload]\")": "0"
|
||||
"font:contains(\"[-40 Download]\")": "0.6"
|
||||
img[src="pic/oupic.gif"]: "0"
|
||||
img[src="pic/-40.gif"]: "0.6"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
|
@@ -15,19 +15,22 @@
|
||||
- {id: 9, cat: TV/Anime, desc: "Anime/SD"}
|
||||
- {id: 1, cat: PC/0day, desc: "Apps"}
|
||||
- {id: 27, cat: Books, desc: "Bookware"}
|
||||
- {id: 32, cat: Books/EBook, desc: "EBOOK"}
|
||||
- {id: 32, cat: Books/Ebook, desc: "EBOOK"}
|
||||
- {id: 47, cat: Console/Other, desc: "GAMES/NSW"}
|
||||
- {id: 60, cat: Console/Other, desc: "GAMES/ATARI"}
|
||||
- {id: 63, cat: Console/Other, desc: "GAMES/UPDATES"}
|
||||
- {id: 2, cat: PC/Games, desc: "Games/PC"}
|
||||
- {id: 8, cat: Console/PS3, desc: "Games/PS3"}
|
||||
- {id: 30, cat: Console/PS4, desc: "GAMES/PS4"}
|
||||
- {id: 7, cat: Console/PSP, desc: "Games/PSP"}
|
||||
- {id: 16, cat: Console/Wii, desc: "GAMES/WII"}
|
||||
- {id: 29, cat: Console/WiiU, desc: "GAMES/WIIU"}
|
||||
- {id: 17, cat: Console/XBox360, desc: "GAMES/XBOX360"}
|
||||
- {id: 17, cat: Console/XBox 360, desc: "GAMES/XBOX360"}
|
||||
- {id: 50, cat: Movies/BluRay, desc: "Movies/Bluray-UHD"}
|
||||
- {id: 31, cat: Movies/BluRay, desc: "MOVIES/COMPLETE-BLURAY"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "MOVIES/DVDR"}
|
||||
- {id: 39, cat: Movies/Foreign, desc: "MOVIES/HD-Foreign"}
|
||||
- {id: 62, cat: Movies/Foreign, desc: "MOVIES/SD-Foreign"}
|
||||
- {id: 19, cat: Movies/HD, desc: "MOVIES/X264"}
|
||||
- {id: 49, cat: Movies/HD, desc: "Movies/X265"}
|
||||
- {id: 25, cat: Movies/SD, desc: "MOVIES/XVID"}
|
||||
@@ -56,6 +59,8 @@
|
||||
- {id: 24, cat: TV/SD, desc: "TV/DVDRIP"}
|
||||
- {id: 18, cat: TV/SD, desc: "TV/SD"}
|
||||
- {id: 26, cat: TV/HD, desc: "TV/X264"}
|
||||
- {id: 61, cat: TV/UHD, desc: "TV/2160P"}
|
||||
- {id: 64, cat: TV/FOREIGN, desc: "TV/X264-FOREIGN"}
|
||||
|
||||
|
||||
modes:
|
||||
@@ -85,7 +90,7 @@
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the 'Torrents per page' setting to 100 on your 'Personal Options' from the 'Personal' menu on the Mega-Blitz webpage.
|
||||
default: For best results, change the 'Torrents per page' setting to 100 on your 'Torrent Options' from the 'Pers Tools > UserCP' menu on the TorrentSeeds webpage.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -94,7 +99,6 @@
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
submitme: "X"
|
||||
error:
|
||||
- selector: h2:contains("Login failed!")
|
||||
message:
|
||||
@@ -148,11 +152,19 @@
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-of-type(5)
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
selector: td:nth-of-type(7)
|
||||
# Today<br /> 10:20 AM
|
||||
# Yesterday<br /> 08:03 PM
|
||||
optional: true
|
||||
selector: td:nth-child(7):contains("day")
|
||||
date:
|
||||
# Feb 14 2019<br /> 10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-child(7):not(:contains("day"))
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006 03:04 PM"
|
||||
args: "Jan 2 2006 03:04 pm"
|
||||
size:
|
||||
selector: td:nth-of-type(8)
|
||||
grabs:
|
||||
|
@@ -1,117 +0,0 @@
|
||||
---
|
||||
site: torrof
|
||||
name: Torrof
|
||||
description: "Torrof (Torrentoff) is meta-search engine for torrents"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.torrof.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"Software": PC
|
||||
"Book": Books
|
||||
"Video": Movies
|
||||
"Music": Audio
|
||||
"Other": Other
|
||||
"Picture": Other/Misc
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: category
|
||||
type: select
|
||||
label: Category
|
||||
default: "_"
|
||||
options:
|
||||
"_": "All"
|
||||
"Book": "Book"
|
||||
"Music": "Music"
|
||||
"Other": "Other"
|
||||
"Picture": "Picture"
|
||||
"Software": "Software"
|
||||
"Video": "Video"
|
||||
- name: verified
|
||||
type: select
|
||||
label: Verified
|
||||
default: "_"
|
||||
options:
|
||||
"_": "Any"
|
||||
"1": "Verified Only"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort
|
||||
default: "_"
|
||||
options:
|
||||
"_": "Default"
|
||||
"creation_date desc": "Age desc"
|
||||
"creation_date asc": "Age asc"
|
||||
"total_size desc": "Size desc"
|
||||
"total_size asc": "Size asc"
|
||||
|
||||
download:
|
||||
selector: section.file-info a:nth-child(2)
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
|
||||
method: post
|
||||
inputs:
|
||||
# torrof does not support trending/latest/new pages
|
||||
text: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
|
||||
size: "0:inf"
|
||||
date: "0:inf"
|
||||
verified_only: "{{ re_replace .Config.verified \"_\" \"\" }}"
|
||||
category: "{{ re_replace .Config.category \"_\" \"\" }}"
|
||||
tags: ""
|
||||
mode: "titles"
|
||||
sort: "{{ re_replace .Config.sort \"_\" \"\" }}"
|
||||
page: "0"
|
||||
|
||||
rows:
|
||||
# ignore adverts
|
||||
selector: tr:has(a[href^="/view/"])
|
||||
filters:
|
||||
# torrof uses fuzzy search logic
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
category:
|
||||
selector: td:nth-child(1) span
|
||||
attribute: title
|
||||
filters:
|
||||
# grab first word
|
||||
- name: split
|
||||
args: [" ", 0]
|
||||
details:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2006"
|
||||
size:
|
||||
selector: td:nth-child(3) span:nth-child(1)
|
||||
files:
|
||||
selector: td:nth-child(3) span:nth-last-child(1)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" Files", ""]
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
text: "1"
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -198,18 +198,21 @@ namespace Jackett.Common.Indexers
|
||||
var catStr = qCatLink.GetAttribute("href").Split('=')[1];
|
||||
release.Title = FixAbsoluteNumbering(release.Title);
|
||||
|
||||
var quality = qQuality.TextContent;
|
||||
switch (quality)
|
||||
if (qQuality != null)
|
||||
{
|
||||
case "Full HD":
|
||||
release.Title += " 1080p";
|
||||
break;
|
||||
case "HD":
|
||||
release.Title += " 720p";
|
||||
break;
|
||||
default:
|
||||
release.Title += " 480p";
|
||||
break;
|
||||
var quality = qQuality.TextContent;
|
||||
switch (quality)
|
||||
{
|
||||
case "Full HD":
|
||||
release.Title += " 1080p";
|
||||
break;
|
||||
case "HD":
|
||||
release.Title += " 720p";
|
||||
break;
|
||||
default:
|
||||
release.Title += " 480p";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
release.Category = MapTrackerCatToNewznab(catStr);
|
||||
|
@@ -43,6 +43,8 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
configData.DisplayText.Value = "Go to the general tab of your BeyondHD user profile and create/copy the Login Link.";
|
||||
|
||||
TorznabCaps.SupportsImdbSearch = true;
|
||||
|
||||
AddCategoryMapping(37, TorznabCatType.MoviesBluRay, "Movie / Blu-ray");
|
||||
AddCategoryMapping(71, TorznabCatType.Movies3D, "Movie / 3D");
|
||||
AddCategoryMapping(83, TorznabCatType.Movies3D, "FraMeSToR 3D");
|
||||
@@ -101,12 +103,22 @@ namespace Jackett.Common.Indexers
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
List<ReleaseInfo> releases = new List<ReleaseInfo>();
|
||||
Regex IMDBRegEx = new Regex(@"tt(\d+)", RegexOptions.Compiled);
|
||||
|
||||
var searchString = query.GetQueryString();
|
||||
var searchUrl = SearchUrl;
|
||||
var queryCollection = new NameValueCollection();
|
||||
var searchStringIsImdbQuery = (ParseUtil.GetImdbID(searchString) != null);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(searchString))
|
||||
if (query.IsImdbQuery)
|
||||
{
|
||||
queryCollection.Add("search", query.ImdbID);
|
||||
}
|
||||
else if (searchStringIsImdbQuery)
|
||||
{
|
||||
queryCollection.Add("search", searchString);
|
||||
}
|
||||
else if (!string.IsNullOrWhiteSpace(searchString))
|
||||
{
|
||||
Regex ReplaceRegex = new Regex("[^a-zA-Z0-9]+");
|
||||
searchString = "%" + ReplaceRegex.Replace(searchString, "%") + "%";
|
||||
@@ -139,15 +151,15 @@ namespace Jackett.Common.Indexers
|
||||
release.Category = MapTrackerCatToNewznab(catStr);
|
||||
|
||||
var qLink = row.ChildElements.ElementAt(2).FirstChild.Cq();
|
||||
release.Link = new Uri(SiteLink + "/" + qLink.Attr("href"));
|
||||
release.Link = new Uri(SiteLink + qLink.Attr("href"));
|
||||
var torrentId = qLink.Attr("href").Split('=').Last();
|
||||
|
||||
var descCol = row.ChildElements.ElementAt(3);
|
||||
var qCommentLink = descCol.FirstChild.Cq();
|
||||
release.Title = qCommentLink.Text();
|
||||
if ((query.ImdbID == null || !TorznabCaps.SupportsImdbSearch) && !query.MatchQueryStringAND(release.Title))
|
||||
if (!query.IsImdbQuery && !query.MatchQueryStringAND(release.Title))
|
||||
continue;
|
||||
release.Comments = new Uri(SiteLink + "/" + qCommentLink.Attr("href"));
|
||||
release.Comments = new Uri(SiteLink + qCommentLink.Attr("href"));
|
||||
release.Guid = release.Comments;
|
||||
release.Link = new Uri($"{SiteLink}download.php?torrent={torrentId}");
|
||||
|
||||
@@ -166,6 +178,13 @@ namespace Jackett.Common.Indexers
|
||||
var grabs = qRow.Find("td:nth-child(9) > a").Get(0).FirstChild.ToString();
|
||||
release.Grabs = ParseUtil.CoerceInt(grabs);
|
||||
|
||||
var imdbLink = qRow.Find("a[href*=\"imdb.com/title/\"]").Attr("href");
|
||||
if (imdbLink != null)
|
||||
{
|
||||
var IMDBMatch = IMDBRegEx.Match(imdbLink);
|
||||
release.Imdb = ParseUtil.CoerceLong(IMDBMatch.Groups[1].Value);
|
||||
}
|
||||
|
||||
release.DownloadVolumeFactor = 0;
|
||||
release.UploadVolumeFactor = 1;
|
||||
|
||||
|
@@ -216,6 +216,9 @@ namespace Jackett.Common.Indexers
|
||||
else
|
||||
release.DownloadVolumeFactor = 1;
|
||||
|
||||
var imdblink = qRow.Find("a[href^=\"https://www.imdb.com/title/\"]").Attr("href");
|
||||
release.Imdb = ParseUtil.GetLongFromString(imdblink);
|
||||
|
||||
releases.Add(release);
|
||||
}
|
||||
}
|
||||
|
@@ -53,6 +53,8 @@ namespace Jackett.Common.Indexers
|
||||
configData.DisplayText.Value = "Expect an initial delay (often around 10 seconds) due to XSpeeds CloudFlare DDoS protection";
|
||||
configData.DisplayText.Name = "Notice";
|
||||
|
||||
TorznabCaps.SupportsImdbSearch = true;
|
||||
|
||||
AddCategoryMapping(92, TorznabCatType.MoviesUHD, "4K Movies");
|
||||
AddCategoryMapping(91, TorznabCatType.TVUHD, "4K TV");
|
||||
AddCategoryMapping(94, TorznabCatType.TVUHD, "4K TV Boxsets");
|
||||
@@ -214,6 +216,8 @@ namespace Jackett.Common.Indexers
|
||||
var releases = new List<ReleaseInfo>();
|
||||
var searchString = query.GetQueryString();
|
||||
var prevCook = CookieHeader + "";
|
||||
Regex IMDBRegEx = new Regex(@"tt(\d+)", RegexOptions.Compiled);
|
||||
var searchStringIsImdbQuery = (ParseUtil.GetImdbID(searchString) != null);
|
||||
|
||||
// If we have no query use the RSS Page as their server is slow enough at times!
|
||||
// ~15.01.2019 they removed the description tag making the RSS feed almost useless, we don't use it for now. See #4458
|
||||
@@ -286,11 +290,26 @@ namespace Jackett.Common.Indexers
|
||||
*/
|
||||
var searchParams = new Dictionary<string, string> {
|
||||
{ "do", "search" },
|
||||
{ "keywords", searchString },
|
||||
{ "search_type", "t_name" },
|
||||
{ "category", "0" },
|
||||
{ "include_dead_torrents", "no" }
|
||||
};
|
||||
|
||||
if (query.IsImdbQuery)
|
||||
{
|
||||
searchParams.Add("keywords", query.ImdbID);
|
||||
searchParams.Add("search_type", "t_both");
|
||||
}
|
||||
else if (searchStringIsImdbQuery)
|
||||
{
|
||||
searchParams.Add("keywords", searchString);
|
||||
searchParams.Add("search_type", "t_both");
|
||||
}
|
||||
else
|
||||
{
|
||||
searchParams.Add("keywords", searchString);
|
||||
searchParams.Add("search_type", "t_name");
|
||||
}
|
||||
|
||||
var pairs = new Dictionary<string, string> {
|
||||
{ "username", configData.Username.Value },
|
||||
{ "password", configData.Password.Value }
|
||||
|
@@ -137,6 +137,7 @@ namespace Jackett.Common.Models
|
||||
TorznabCatType.MoviesBluRay.ID,
|
||||
TorznabCatType.MoviesDVD.ID,
|
||||
TorznabCatType.MoviesWEBDL.ID,
|
||||
TorznabCatType.MoviesUHD.ID,
|
||||
};
|
||||
}
|
||||
ret.SearchTerm = search;
|
||||
@@ -175,6 +176,8 @@ namespace Jackett.Common.Models
|
||||
ret.QueryStringParts = new string[QueryStringParts.Length];
|
||||
Array.Copy(QueryStringParts, ret.QueryStringParts, QueryStringParts.Length);
|
||||
}
|
||||
ret.RageID = RageID;
|
||||
ret.ImdbID = ImdbID;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@@ -290,6 +290,7 @@ namespace Jackett.Updater
|
||||
"Definitions/btdb.yml",
|
||||
"Definitions/torrentcouch.yml",
|
||||
"Definitions/idopeclone.yml",
|
||||
"Definitions/torrof.yml",
|
||||
};
|
||||
|
||||
foreach (var oldFile in oldFiles)
|
||||
|
Reference in New Issue
Block a user