mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-19 04:57:15 +01:00
Compare commits
21 Commits
v0.21.1424
...
v0.21.1446
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2ffb93350 | ||
|
|
1b2e49f24e | ||
|
|
5f66496544 | ||
|
|
9b9f26e77f | ||
|
|
f563bdbc31 | ||
|
|
65ca7fff81 | ||
|
|
4b4a695389 | ||
|
|
e4de4ba4ab | ||
|
|
6b740e3e42 | ||
|
|
508a897893 | ||
|
|
d64ac01a00 | ||
|
|
b9880e1d11 | ||
|
|
f3ff4244c3 | ||
|
|
7b0e053393 | ||
|
|
1ff1f113fe | ||
|
|
5f9e4139d7 | ||
|
|
bceb1219d9 | ||
|
|
ea4af2ba08 | ||
|
|
6daedaa7b8 | ||
|
|
0232102d37 | ||
|
|
d2c105bc57 |
@@ -531,7 +531,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Speedmaster HD [![(invite needed)][inviteneeded]](#)
|
||||
* SpeedTorrent Reloaded
|
||||
* Spirit of Revolution [![(invite needed)][inviteneeded]](#)
|
||||
* SportHD
|
||||
* SportsCult
|
||||
* SpringSunday [![(invite needed)][inviteneeded]](#)
|
||||
* SugoiMusic
|
||||
@@ -544,6 +543,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TeamOS
|
||||
* TEKNO3D [![(invite needed)][inviteneeded]](#)
|
||||
* teracod (Movie Zone)
|
||||
* The Crazy Ones
|
||||
* The Falling Angels (TFA)
|
||||
* The Geeks
|
||||
* The New Retro
|
||||
@@ -601,7 +601,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* UltraHD
|
||||
* UnionGang
|
||||
* Universal-Torrents
|
||||
* UnleashTheCartoons
|
||||
* UnlimitZ
|
||||
* Upload.cx [![(invite needed)][inviteneeded]](#)
|
||||
* UTOPIA
|
||||
|
||||
@@ -60,7 +60,8 @@ search:
|
||||
q: "{{ .Keywords }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
cat: "{{ join .Categories \",\" }}"
|
||||
# category filtering is disabled since it seems to rely on the AND operator that prevents some releases to show on search.
|
||||
# cat: "{{ join .Categories \",\" }}"
|
||||
limit: 100
|
||||
offset: 0
|
||||
|
||||
|
||||
@@ -501,7 +501,7 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href$=".html"]
|
||||
selector: dt > a[href$=".html"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
|
||||
@@ -45,7 +45,7 @@ search:
|
||||
args: [" ", "_20"]
|
||||
|
||||
rows:
|
||||
selector: ul.threadlist > li:not(:has(a[href="thread-293154.htm"]))
|
||||
selector: ul.threadlist > li:not(:has(a[href="thread-338792.htm"])):not(:has(a[href="thread-342865.htm"])):not(:has(a[href="thread-290995.htm"]))
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -7,12 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://solidtorrents.eu/
|
||||
- https://solidtorrents.to/
|
||||
- https://solidtorrents.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://solidtorrents.net/
|
||||
- https://solidtorrents.nocensor.click/
|
||||
- https://solidtorrents.to/
|
||||
- https://solidtorrents.eu/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -1,243 +0,0 @@
|
||||
---
|
||||
id: sporthd
|
||||
name: SportHD
|
||||
description: "SportHD is a Private Torrent Tracker for HD SPORTS"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://satsporthd.org/ # site does not support https ERR_CONNECTION_REFUSED
|
||||
legacylinks:
|
||||
- http://sporthd.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 97, cat: TV/Sport, desc: "J.League"}
|
||||
- {id: 83, cat: TV/Sport, desc: "AFC Champions League"}
|
||||
- {id: 50, cat: TV/Sport, desc: "Australian Open"}
|
||||
- {id: 32, cat: TV/Sport, desc: "Basketball"}
|
||||
- {id: 85, cat: TV/Sport, desc: "Basketball Champions League"}
|
||||
- {id: 87, cat: TV/Sport, desc: "Basketball Eurocup"}
|
||||
- {id: 88, cat: TV/Sport, desc: "Basketball Pro A"}
|
||||
- {id: 80, cat: TV/Sport, desc: "Belgian ProLeague"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Boxing"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Brasilareo Seria A"}
|
||||
- {id: 54, cat: TV/Sport, desc: "Brazil League"}
|
||||
- {id: 11, cat: TV/Sport, desc: "BundesLiga"}
|
||||
- {id: 90, cat: TV/Sport, desc: "Bundesliga 2"}
|
||||
- {id: 45, cat: TV/Sport, desc: "CAF"}
|
||||
- {id: 78, cat: TV/Sport, desc: "Canadian Football League"}
|
||||
- {id: 37, cat: TV/Sport, desc: "Champions Hockey League"}
|
||||
- {id: 77, cat: TV/Sport, desc: "Chinese Super League"}
|
||||
- {id: 74, cat: TV/Sport, desc: "CONCACAF"}
|
||||
- {id: 70, cat: TV/Sport, desc: "Confederation CUP"}
|
||||
- {id: 76, cat: TV/Sport, desc: "CONMEBOL"}
|
||||
- {id: 46, cat: TV/Sport, desc: "Copa Americana"}
|
||||
- {id: 41, cat: TV/Sport, desc: "Copa Del Rey"}
|
||||
- {id: 42, cat: TV/Sport, desc: "Copa do Brasil"}
|
||||
- {id: 43, cat: TV/Sport, desc: "Copa Libertadores"}
|
||||
- {id: 73, cat: TV/Sport, desc: "Copa MX"}
|
||||
- {id: 40, cat: TV/Sport, desc: "Coppa Italia"}
|
||||
- {id: 51, cat: TV/Sport, desc: "Coupe de France"}
|
||||
- {id: 79, cat: TV/Sport, desc: "cyclisme"}
|
||||
- {id: 94, cat: TV/Sport, desc: "Danish Superliga"}
|
||||
- {id: 39, cat: TV/Sport, desc: "DFB Pokal"}
|
||||
- {id: 72, cat: TV/Sport, desc: "EFL"}
|
||||
- {id: 96, cat: TV/Sport, desc: "Ekstraklasa"}
|
||||
- {id: 49, cat: TV/Sport, desc: "English League Cup"}
|
||||
- {id: 8, cat: TV/Sport, desc: "EPL"}
|
||||
- {id: 13, cat: TV/Sport, desc: "Eredivisie"}
|
||||
- {id: 2, cat: TV/Sport, desc: "EURO Cup"}
|
||||
- {id: 6, cat: TV/Sport, desc: "EURO Cup Qualification"}
|
||||
- {id: 66, cat: TV/Sport, desc: "Eurobasket"}
|
||||
- {id: 53, cat: TV/Sport, desc: "Euroleague ULEB"}
|
||||
- {id: 86, cat: TV/Sport, desc: "Europe Cup FIBA"}
|
||||
- {id: 38, cat: TV/Sport, desc: "FA Cup"}
|
||||
- {id: 103, cat: TV/Sport, desc: "FIBA Euro Basket"}
|
||||
- {id: 59, cat: TV/Sport, desc: "FIFA U-20 World Cup"}
|
||||
- {id: 69, cat: TV/Sport, desc: "FIFA World Clup Cup"}
|
||||
- {id: 19, cat: TV/Sport, desc: "Football League Championship"}
|
||||
- {id: 18, cat: TV/Sport, desc: "Formula 1"}
|
||||
- {id: 81, cat: TV/Sport, desc: "France Ligue 2"}
|
||||
- {id: 7, cat: TV/Sport, desc: "Friendly matches"}
|
||||
- {id: 91, cat: TV/Sport, desc: "Greece Basket"}
|
||||
- {id: 100, cat: TV/Sport, desc: "Greece Super League"}
|
||||
- {id: 30, cat: TV/Sport, desc: "Handball"}
|
||||
- {id: 31, cat: TV/Sport, desc: "IIHF"}
|
||||
- {id: 15, cat: TV/Sport, desc: "IndyCar"}
|
||||
- {id: 95, cat: TV/Sport, desc: "J Liga Japan"}
|
||||
- {id: 20, cat: TV/Sport, desc: "KHL"}
|
||||
- {id: 10, cat: TV/Sport, desc: "La Liga"}
|
||||
- {id: 12, cat: TV/Sport, desc: "League 1"}
|
||||
- {id: 89, cat: TV/Sport, desc: "liga Endesa"}
|
||||
- {id: 98, cat: TV/Sport, desc: "Liga MX"}
|
||||
- {id: 84, cat: TV/Sport, desc: "Liga Sudamericana"}
|
||||
- {id: 21, cat: TV/Sport, desc: "Major League Soccer"}
|
||||
- {id: 67, cat: TV/Sport, desc: "MLB"}
|
||||
- {id: 63, cat: TV/Sport, desc: "MMA"}
|
||||
- {id: 58, cat: TV/Sport, desc: "MotoGP"}
|
||||
- {id: 92, cat: TV/Sport, desc: "Motorsport"}
|
||||
- {id: 16, cat: TV/Sport, desc: "NBA"}
|
||||
- {id: 57, cat: TV/Sport, desc: "NBA Playoffs"}
|
||||
- {id: 14, cat: TV/Sport, desc: "NCAA"}
|
||||
- {id: 34, cat: TV/Sport, desc: "NFL"}
|
||||
- {id: 17, cat: TV/Sport, desc: "NHL"}
|
||||
- {id: 99, cat: TV/Sport, desc: "NordicBet 1st division Danish"}
|
||||
- {id: 36, cat: TV/Sport, desc: "Old classic games"}
|
||||
- {id: 68, cat: TV/Sport, desc: "Olympic Games 2016"}
|
||||
- {id: 106, cat: TV/Sport, desc: "Olympic games in tokyo 2021"}
|
||||
- {id: 28, cat: TV/Sport, desc: "Other domestic leagues"}
|
||||
- {id: 55, cat: TV/Sport, desc: "Paulista A1"}
|
||||
- {id: 26, cat: TV/Sport, desc: "Portuguese League"}
|
||||
- {id: 104, cat: TV/Sport, desc: "Qatar Stars League"}
|
||||
- {id: 65, cat: TV/Sport, desc: "ROH"}
|
||||
- {id: 61, cat: TV/Sport, desc: "Rollan Garros"}
|
||||
- {id: 105, cat: TV/Sport, desc: "RPFL"}
|
||||
- {id: 29, cat: TV/Sport, desc: "Rugby"}
|
||||
- {id: 108, cat: TV/Sport, desc: "Saudi Pro League"}
|
||||
- {id: 82, cat: TV/Sport, desc: "Scotland Premiership"}
|
||||
- {id: 9, cat: TV/Sport, desc: "Serie A"}
|
||||
- {id: 33, cat: TV/Sport, desc: "SHL"}
|
||||
- {id: 47, cat: TV/Sport, desc: "Ski Jumping"}
|
||||
- {id: 71, cat: TV/Sport, desc: "Snooker"}
|
||||
- {id: 25, cat: TV/Sport, desc: "Sport video"}
|
||||
- {id: 44, cat: TV/Sport, desc: "Sudamericana"}
|
||||
- {id: 52, cat: TV/Sport, desc: "Taca Da Liga"}
|
||||
- {id: 24, cat: TV/Sport, desc: "Tennis"}
|
||||
- {id: 64, cat: TV/Sport, desc: "TNA"}
|
||||
- {id: 56, cat: TV/Sport, desc: "Torneo Premiera A"}
|
||||
- {id: 102, cat: TV/Sport, desc: "Turkish Basketball Super Leagu"}
|
||||
- {id: 75, cat: TV/Sport, desc: "Turkish Super Lig"}
|
||||
- {id: 3, cat: TV/Sport, desc: "UCL"}
|
||||
- {id: 107, cat: TV/Sport, desc: "UEFA Conference League"}
|
||||
- {id: 4, cat: TV/Sport, desc: "UEL"}
|
||||
- {id: 60, cat: TV/Sport, desc: "UFC"}
|
||||
- {id: 93, cat: TV/Sport, desc: "UFS"}
|
||||
- {id: 35, cat: TV/Sport, desc: "Volleyball"}
|
||||
- {id: 101, cat: TV/Sport, desc: "VTB United League"}
|
||||
- {id: 5, cat: TV/Sport, desc: "WC Qualification"}
|
||||
- {id: 1, cat: TV/Sport, desc: "World Cup"}
|
||||
- {id: 27, cat: TV/Sport, desc: "World Cup 2014"}
|
||||
- {id: 48, cat: TV/Sport, desc: "WWE"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 2
|
||||
options:
|
||||
2: created
|
||||
4: seeders
|
||||
3: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 1 active, 2 dead, 3 free
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
# 0 match again, 1 match like
|
||||
s: 0
|
||||
# 0 name, 1 description
|
||||
stype: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.embedded > tbody > tr:has(a[href^="browse.php?cat="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
_vip:
|
||||
selector: img[src="/pic/vipbig.gif"]
|
||||
attribute: alt
|
||||
optional: true
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result._vip }} VIP ONLY{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?id="]
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 0]
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
filters:
|
||||
- name: split
|
||||
args: ["|", 0]
|
||||
date:
|
||||
selector: td:nth-last-child(1)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "^(.+?)\\d{4}"
|
||||
- name: timeago
|
||||
description:
|
||||
selector: img[src="/pic/vipbig.gif"]
|
||||
attribute: title
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="/pic/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
213
src/Jackett.Common/Definitions/thecrazyones.yml
Normal file
213
src/Jackett.Common/Definitions/thecrazyones.yml
Normal file
@@ -0,0 +1,213 @@
|
||||
---
|
||||
id: thecrazyones
|
||||
name: The Crazy Ones
|
||||
description: "The Crazy Ones is a Private GERMAN tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://thecrazyones.hopto.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Anime
|
||||
- {id: 123, cat: TV/Anime, desc: "Anime Alles"}
|
||||
# Movie
|
||||
- {id: 122, cat: Movies/UHD, desc: "Movie 4K"}
|
||||
- {id: 114, cat: Movies/DVD, desc: "Movie DVD"}
|
||||
- {id: 118, cat: Movies, desc: "Movie Klassiker"}
|
||||
- {id: 124, cat: Movies, desc: "Movie Pack"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Movie HD"}
|
||||
- {id: 26, cat: Movies/3D, desc: "Movie 3D"}
|
||||
# Serien
|
||||
- {id: 139, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 57, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 60, cat: TV, desc: "Serien Klassiker"}
|
||||
- {id: 152, cat: TV/SD, desc: "Serien DVD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack"}
|
||||
# Doku
|
||||
- {id: 121, cat: TV/Documentary, desc: "Doku Pack"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
# Software
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "App Other"}
|
||||
- {id: 9, cat: PC, desc: "App Linux"}
|
||||
- {id: 12, cat: PC/0day, desc: "App Win"}
|
||||
- {id: 10, cat: PC/Mac, desc: "App Mac"}
|
||||
# Game
|
||||
- {id: 120, cat: Console/PS3, desc: "Game PlayStation"}
|
||||
- {id: 16, cat: Console, desc: "Game Wimmelbild"}
|
||||
- {id: 17, cat: PC/Games, desc: "Game PC"}
|
||||
- {id: 20, cat: Console/PSP, desc: "Game PSP"}
|
||||
- {id: 22, cat: Console/Wii, desc: "Game Wii"}
|
||||
- {id: 24, cat: Console/XBox, desc: "Game XBOX"}
|
||||
# Music
|
||||
- {id: 48, cat: Audio, desc: "Music Album"}
|
||||
- {id: 52, cat: Audio, desc: "Music Pack"}
|
||||
- {id: 55, cat: Audio/Video, desc: "Music Video"}
|
||||
- {id: 125, cat: Audio, desc: "Music Mixe"}
|
||||
- {id: 49, cat: Audio, desc: "Music Charts"}
|
||||
- {id: 54, cat: Audio, desc: "Music Pack"}
|
||||
- {id: 126, cat: Audio, desc: "Music Pack mp"}
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport Other"}
|
||||
# Sonstiges
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Sonstiges A-Book"}
|
||||
- {id: 96, cat: Books/EBook, desc: "Sonstiges E-Book"}
|
||||
- {id: 69, cat: Books, desc: "Sonstiges Tutorial"}
|
||||
- {id: 71, cat: Books/Other, desc: "Sonstiges Other"}
|
||||
# Internt'l
|
||||
- {id: 102, cat: TV/SD, desc: "Internt'l Serie SD"}
|
||||
- {id: 103, cat: Movies/SD, desc: "Internt'l Movie SD"}
|
||||
- {id: 106, cat: Books/EBook, desc: "Internt'l E-Book"}
|
||||
- {id: 115, cat: Movies/DVD, desc: "Internt'l DVD"}
|
||||
- {id: 98, cat: Movies/HD, desc: "Internt'l Movie HD"}
|
||||
- {id: 99, cat: TV/HD, desc: "Internt'l Serie HD"}
|
||||
- {id: 105, cat: TV/Documentary, desc: "Internt'l Doku"}
|
||||
- {id: 104, cat: Other, desc: "Internt'l Misc"}
|
||||
- {id: 107, cat: Audio/Audiobook, desc: "Internt'l A-Book"}
|
||||
# XXX
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
|
||||
- {id: 113, cat: XXX/DVD, desc: "XXX DVD"}
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 76, cat: XXX/SD, desc: "XXX SD"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: pin
|
||||
type: text
|
||||
label: Pin
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Anzahl der Torrents beim Durchsuchen</b> <i>Torrents per page:</i> setting to <b>60</b> on your account profile. The default is <i>15</i>.
|
||||
|
||||
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: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: 0
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "div.selection_wrap{{ if .Config.freeleech }}:has(:root:has(div.onlyup)){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category_p1:
|
||||
selector: div.kat_cat_pic_name
|
||||
category_p2:
|
||||
selector: div.kat_cat_pic_name_b
|
||||
categorydesc:
|
||||
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
|
||||
title:
|
||||
selector: a.selection_a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^\\[[\\w ]*\\]\\s?", ""]
|
||||
details:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download_ssl.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# global MR is 0.7 but torrents must be seeded for 2 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.7
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# 3xT
|
||||
@@ -126,7 +126,7 @@ login:
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: selection.php
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
@@ -172,6 +172,8 @@ search:
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
@@ -182,6 +184,8 @@ search:
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
|
||||
@@ -14,33 +14,36 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# get the cats from https://www.torrentbd.net/feed.php?custom
|
||||
- {id: 28, cat: TV/Anime, desc: "Anime - All"}
|
||||
- {id: 65, cat: PC/Mobile-Android, desc: "Apps - Android"}
|
||||
- {id: 18, cat: PC, desc: "Apps - PC"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Apps - Mac"}
|
||||
- {id: 20, cat: PC, desc: "Apps - Linux"}
|
||||
- {id: 7, cat: Movies, desc: "Bangla - Movies | Natok"}
|
||||
- {id: 49, cat: TV, desc: "Cartoons - All"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "Documentaries - All"}
|
||||
- {id: 36, cat: Books/EBook, desc: "Other - E-Books"}
|
||||
- {id: 77, cat: Books/EBook, desc: "E-Books - Manga"}
|
||||
- {id: 73, cat: Books/Comics, desc: "E-Books - Comics"}
|
||||
- {id: 77, cat: Books/EBook, desc: "E-Books - Manga"}
|
||||
- {id: 10, cat: PC/Games, desc: "Games - PC"}
|
||||
- {id: 60, cat: PC/Games, desc: "Games - Cracks | Patches"}
|
||||
- {id: 52, cat: PC/Games, desc: "Games - Updates | DLC"}
|
||||
- {id: 43, cat: Console/PS3, desc: "Games - PS3"}
|
||||
- {id: 81, cat: PC/Games, desc: "Games - Backup"}
|
||||
- {id: 43, cat: Console/PS3, desc: "Games - PlayStation"}
|
||||
- {id: 14, cat: Console/XBox, desc: "Games - Xbox"}
|
||||
- {id: 17, cat: Console, desc: "Games - Other"}
|
||||
- {id: 80, cat: Movies/UHD, desc: "Movies - 4K BluRay"}
|
||||
- {id: 47, cat: Movies/HD, desc: "Movies - 1080p BluRay"}
|
||||
- {id: 42, cat: Movies/BluRay, desc: "Movies - 720p BluRay"}
|
||||
- {id: 76, cat: Movies/BluRay, desc: "Movies - Lossless BluRay"}
|
||||
- {id: 24, cat: Movies/SD, desc: "Movies - SD BluRay"}
|
||||
- {id: 55, cat: Movies, desc: "Movies - WEB-DL | WEBRip"}
|
||||
- {id: 86, cat: Movies/UHD, desc: "Movies - Blu-Ray Lossless 4K"}
|
||||
- {id: 76, cat: Movies/BluRay, desc: "Movies - Blu-Ray Lossless 1080p"}
|
||||
- {id: 80, cat: Movies/UHD, desc: "Movies - Blu-Ray 4K"}
|
||||
- {id: 47, cat: Movies/HD, desc: "Movies - Blu-Ray 1080p"}
|
||||
- {id: 42, cat: Movies/BluRay, desc: "Movies - Blu-Ray 720p"}
|
||||
- {id: 24, cat: Movies/SD, desc: "Movies - Blu-Ray SD"}
|
||||
- {id: 82, cat: Movies/WEB-DL, desc: "Movies - WEB-DL 4K"}
|
||||
- {id: 55, cat: Movies/WEB-DL, desc: "Movies - WEB-DL"}
|
||||
- {id: 83, cat: Movies/WEB-DL, desc: "Movies - WEBRip"}
|
||||
- {id: 46, cat: Movies/HD, desc: "Movies - HD-Rip"}
|
||||
- {id: 1, cat: Movies/SD, desc: "Movies - DVDRip"}
|
||||
- {id: 56, cat: Movies/SD, desc: "Movies - DVDSCR | R5 | R6"}
|
||||
- {id: 4, cat: Movies/SD, desc: "Movies - CAM | TS | TC"}
|
||||
- {id: 4, cat: Movies/SD, desc: "Movies - CAM | TS | DVDScr | Pre-DVD"}
|
||||
- {id: 67, cat: Movies/3D, desc: "Movies - 3D"}
|
||||
- {id: 3, cat: Movies, desc: "Movies - Unrated"}
|
||||
- {id: 2, cat: Movies, desc: "Movies - Packs"}
|
||||
@@ -50,17 +53,18 @@ caps:
|
||||
- {id: 64, cat: Audio, desc: "Music - Concerts | Live Shows"}
|
||||
- {id: 26, cat: Audio, desc: "Music - Radio"}
|
||||
- {id: 38, cat: PC/Mobile-Other, desc: "Other - Mobile Phone"}
|
||||
- {id: 44, cat: Other, desc: "Religious - Islam"}
|
||||
- {id: 37, cat: Other, desc: "Other - Images"}
|
||||
- {id: 40, cat: Other, desc: "Other - Other | Misc"}
|
||||
- {id: 44, cat: Other, desc: "Other - Religious"}
|
||||
- {id: 40, cat: Other, desc: "Other - Miscellaneous"}
|
||||
- {id: 70, cat: TV/Sport, desc: "Sports - Football"}
|
||||
- {id: 6, cat: TV/Sport, desc: "Sports - Pro Wrestling"}
|
||||
- {id: 48, cat: TV/Sport, desc: "Sports - All"}
|
||||
- {id: 39, cat: Other, desc: "Other - Tutorial"}
|
||||
- {id: 5, cat: TV/SD, desc: "TV - Episodes"}
|
||||
- {id: 61, cat: TV/HD, desc: "TV - Episodes - 720p | 1080p"}
|
||||
- {id: 41, cat: TV/SD, desc: "TV - Packs"}
|
||||
- {id: 62, cat: TV/HD, desc: "TV - Packs - HD | BRRip"}
|
||||
- {id: 39, cat: Other, desc: "Tutorials - All"}
|
||||
- {id: 84, cat: TV/UHD, desc: "TV - Episodes 4K"}
|
||||
- {id: 61, cat: TV/HD, desc: "TV - Episodes 720p | 1080p"}
|
||||
- {id: 5, cat: TV/SD, desc: "TV - Episodes SD"}
|
||||
- {id: 85, cat: TV/UHD, desc: "TV - Packs 4K"}
|
||||
- {id: 62, cat: TV/HD, desc: "TV - Packs - 720p | 1080p"}
|
||||
- {id: 41, cat: TV/SD, desc: "TV - Packs SD"}
|
||||
- {id: 66, cat: TV, desc: "TV - Awards | Ceremonies"}
|
||||
|
||||
modes:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: torrentdownload
|
||||
name: TorrentDownload
|
||||
description: "TorrentDownload is a Public general torrent index"
|
||||
description: "TorrentDownload is a Public torrent meta-search engine"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
@@ -47,6 +47,7 @@ caps:
|
||||
- {id: AnimeAnimeOther, cat: TV/Anime, desc: "Anime Other"}
|
||||
- {id: Applications, cat: PC/0day, desc: Applications}
|
||||
- {id: ApplicationsAndroid, cat: PC/Mobile-Android, desc: "Applications Android"}
|
||||
- {id: ApplicationsWindows, cat: PC/0day, desc: "Applications Windows"}
|
||||
- {id: AudioBooks, cat: Audio/Audiobook, desc: "Books Audiobooks"}
|
||||
- {id: AudioAudiobooks, cat: Audio/Audiobook, desc: "Books Audiobooks"}
|
||||
- {id: AudioLossless, cat: Audio/Lossless, desc: "Audio Lossless"}
|
||||
@@ -58,6 +59,7 @@ caps:
|
||||
- {id: BooksMagazines, cat: Books/Mags, desc: "Books Magazines"}
|
||||
- {id: BooksFiction, cat: Books, desc: "Books Fiction"}
|
||||
- {id: BooksNonfiction, cat: Books, desc: "Books Nonfiction"}
|
||||
- {id: BooksTextbooks, cat: Books, desc: "Books Textbooks"}
|
||||
- {id: Ebooks, cat: Books/EBook, desc: "Books Ebooks"}
|
||||
- {id: Games, cat: Console, desc: Games}
|
||||
- {id: GamesWindows, cat: PC/Games, desc: "Games Windows"}
|
||||
@@ -67,7 +69,9 @@ caps:
|
||||
- {id: MoviesCrime, cat: Movies, desc: "Movies Crime"}
|
||||
- {id: MoviesDocumentary, cat: TV/Documentary, desc: "Movies Documentary"}
|
||||
- {id: MoviesDubbedMovies, cat: Movies, desc: "Movies Dubbed Movies"}
|
||||
- {id: MoviesHighresMovies, cat: Movies, desc: "Movies Highres Movies"}
|
||||
- {id: MoviesMusicvideos, cat: Audio/Video, desc: "Movies Musicvideos"}
|
||||
- {id: MoviesThriller, cat: Movies, desc: "Movies Thriller"}
|
||||
- {id: Music, cat: Audio, desc: Music}
|
||||
- {id: MusicHardrock, cat: Audio, desc: "Music Hardrock"}
|
||||
- {id: MusicMp, cat: Audio/MP3, desc: "Music Mp3"}
|
||||
@@ -91,6 +95,7 @@ caps:
|
||||
- {id: Television, cat: TV, desc: Television}
|
||||
- {id: VideoMobile, cat: Movies, desc: "Movies Video Mobile"}
|
||||
- {id: VideoMovies, cat: Movies, desc: "Video Movies"}
|
||||
- {id: VideoMusic, cat: Audio/Video, desc: "Video Music"}
|
||||
- {id: XXX, cat: XXX, desc: XXX}
|
||||
- {id: XXXVideo, cat: XXX, desc: "XXX Video"}
|
||||
- {id: XXXHDVideo, cat: XXX, desc: "XXX HD Video"}
|
||||
@@ -119,7 +124,7 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}search{{ re_replace .Config.sort \"_\" \"\" }}?q={{ .Keywords }}{{ else }}/{{ end }}"
|
||||
- path: "search{{ re_replace .Config.sort \"_\" \"\" }}?q={{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.table2 > tbody > tr:has(span.smallish)
|
||||
|
||||
@@ -37,7 +37,7 @@ settings:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "search/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}/"
|
||||
- path: "search/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#archiveResult tbody tr:has(a[href^="magnet:?xt="])
|
||||
|
||||
@@ -7,9 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq287.com/
|
||||
- https://torrentqq288.com/
|
||||
legacylinks:
|
||||
- https://torrentqq272.com/
|
||||
- https://torrentqq273.com/
|
||||
- https://torrentqq274.com/
|
||||
- https://torrentqq275.com/
|
||||
@@ -24,6 +23,7 @@ legacylinks:
|
||||
- https://torrentqq284.com/
|
||||
- https://torrentqq285.com/
|
||||
- https://torrentqq286.com/
|
||||
- https://torrentqq287.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -7,10 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir127.com/
|
||||
- https://torrentsir128.com/
|
||||
legacylinks:
|
||||
- http://torrentsir118.com/
|
||||
- https://torrentsir118.com/
|
||||
- http://torrentsir119.com/
|
||||
- https://torrentsir119.com/
|
||||
- http://torrentsir120.com/
|
||||
@@ -29,6 +27,8 @@ legacylinks:
|
||||
- https://torrentsir126.com/
|
||||
- http://torrentsir127.com/
|
||||
- httsp://torrentsir127.com/
|
||||
- https://torrentsir127.com/
|
||||
- http://torrentsir128.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://www.torrentz2beta.pro/
|
||||
- https://torrentz2beta.online/
|
||||
legacylinks:
|
||||
- https://torrentz2.org.in/
|
||||
- https://torrentzeu.org/
|
||||
@@ -20,47 +20,14 @@ legacylinks:
|
||||
- https://torrentz2beta.com/
|
||||
- https://torrentz2beta.in/
|
||||
- https://eu.torrentz2beta.in/
|
||||
- https://torrentz2beta.online/
|
||||
- https://www.torrentz2beta.com/
|
||||
- https://torrentz2beta.asia/
|
||||
- https://www.torrentz2beta.pro/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: "Applications(Android)", cat: PC/Mobile-Android, desc: "Applications(Android)"}
|
||||
- {id: "Applications(IOS (iPad/iPhone))", cat: PC/Mobile-iOS, desc: "Applications(IOS (iPad/iPhone))"}
|
||||
- {id: "Applications(Mac)", cat: PC/Mac, desc: "Applications(Mac)"}
|
||||
- {id: "Applications(UNIX)", cat: PC/ISO, desc: "Applications(UNIX)"}
|
||||
- {id: "Applications(Windows)", cat: PC/0day, desc: "Applications(Windows)"}
|
||||
- {id: "Audio(Audio books)", cat: Audio/Audiobook, desc: "Audio(Audio books)"}
|
||||
- {id: "Audio(FLAC)", cat: Audio/Lossless, desc: "Audio(FLAC)"}
|
||||
- {id: "Audio(Music)", cat: Audio/MP3, desc: "Audio(Music)"}
|
||||
- {id: "Audio(Other)", cat: Audio/Other, desc: "Audio(Other)"}
|
||||
- {id: "Games(Android)", cat: PC/Mobile-Android, desc: "Games(Android)"}
|
||||
- {id: "Games(Handheld)", cat: Console/Other, desc: "Games(Handheld)"}
|
||||
- {id: "Games(Mac)", cat: PC/Mac, desc: "Games(Mac)"}
|
||||
- {id: "Games(Other)", cat: Console/Other, desc: "Games(Other)"}
|
||||
- {id: "Games(PC)", cat: PC/Games, desc: "Games(PC)"}
|
||||
- {id: "Games(PSx)", cat: Console/PS3, desc: "Games(PSx)"}
|
||||
- {id: "Games(Wii)", cat: Console/Wii, desc: "Games(Wii)"}
|
||||
- {id: "Games(XBOX360)", cat: Console/XBox 360, desc: "Games(XBOX360)"}
|
||||
- {id: "Other(Comics)", cat: Books/Comics, desc: "Other(Comics)"}
|
||||
- {id: "Other(E-books)", cat: Books/EBook, desc: "Other(E-books)"}
|
||||
- {id: "Other(Other)", cat: Other/Misc, desc: "Other(Other)"}
|
||||
- {id: "Other(Pictures)", cat: Other, desc: "Other"}
|
||||
- {id: "Porn(HD - Movies)", cat: XXX/x264, desc: "Porn(HD - Movies)"}
|
||||
- {id: "Porn(Movie clips)", cat: XXX/WEB-DL, desc: "Porn(Movie clips)"}
|
||||
- {id: "Porn(Movies)", cat: XXX, desc: "Porn(Movies)"}
|
||||
- {id: "Porn(Other)", cat: XXX/Other, desc: "Porn(Other)"}
|
||||
- {id: "Porn(Pictures)", cat: XXX/ImageSet, desc: "Porn(Pictures)"}
|
||||
- {id: "Video()", cat: Movies, desc: "Movies"}
|
||||
- {id: "Video(3D)", cat: Movies/3D, desc: "Movies(3D)"}
|
||||
- {id: "Video(HD - Movies)", cat: Movies/HD, desc: "Movies(HD)"}
|
||||
- {id: "Video(HD - TV shows)", cat: TV/HD, desc: "TV(HD)"}
|
||||
- {id: "Video(Movies DVDR)", cat: Movies/DVD, desc: "Movies(DVDR)"}
|
||||
- {id: "Video(Movies)", cat: Movies, desc: "Movies"}
|
||||
- {id: "Video(Music videos)", cat: Audio/Video, desc: "Video(Music videos)"}
|
||||
- {id: "Video(Other)", cat: Other, desc: "Video(Other)"}
|
||||
- {id: "Video(TV shows)", cat: TV, desc: "TV"}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -71,85 +38,58 @@ caps:
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.torrentz2beta.pro/search.php?q=+
|
||||
- path: search.php
|
||||
- path: search.php
|
||||
# https://torrentz2beta.online/beta/search.php?q=2023
|
||||
- path: beta/search.php
|
||||
- path: beta/search.php
|
||||
inputs:
|
||||
page: 2
|
||||
inputs:
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}+{{ end }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-responsive > tbody > tr
|
||||
selector: table.selectable > tbody > tr
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td[data-title="Name"]
|
||||
category_provided:
|
||||
selector: td[data-title="Category"]
|
||||
selector: td:first-child
|
||||
category_is_tv_show:
|
||||
text: "{{ .Result.title }}"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\\b(S\\d+(?:E\\d+)?)\\b"
|
||||
args: "\\b([S|s]\\d+(?:[E|e]\\d+)?)\\b"
|
||||
category:
|
||||
# some tv have category as video() which can also be movies, so we look for the SxxExx to tag TV
|
||||
text: "{{ if .Result.category_is_tv_show }}Video(TV shows){{ else }}{{ .Result.category_provided }}{{ end }}"
|
||||
text: "{{ if .Result.category_is_tv_show }}TV{{ else }}Movies{{ end }}"
|
||||
details:
|
||||
text: /
|
||||
selector: td:last-child > button
|
||||
attribute: onclick
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["submitPage('", "page.php?url="]
|
||||
- name: replace
|
||||
args: ["')", ""]
|
||||
download:
|
||||
selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
text: "{{ .Result.details }}"
|
||||
seeders:
|
||||
text: 1
|
||||
selector: td:nth-child(2)
|
||||
leechers:
|
||||
text: 1
|
||||
selector: td:nth-child(3)
|
||||
size:
|
||||
selector: td[data-title="Description"]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: Size (.+?),
|
||||
date_year:
|
||||
# 01-04 2021
|
||||
selector: td[data-title="Description"]:not(:contains(":"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: Uploaded (\d{2}-\d{2}.\d{4})
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: dateparse
|
||||
args: "MM-dd yyyy"
|
||||
date_time:
|
||||
# 08-25 20:12
|
||||
selector: td[data-title="Description"]:contains(":"):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: Uploaded (\d{2}-\d{2}.\d{2}:\d{2})
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: dateparse
|
||||
args: "MM-dd HH:mm"
|
||||
date_day:
|
||||
# Y-day 16:23
|
||||
# Today 13:31
|
||||
selector: td[data-title="Description"]:contains("day")
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: Uploaded.(.+?),
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: replace
|
||||
args: ["Y-day", "Yesterday"]
|
||||
- name: fuzzytime
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_time .Result.date_day }}{{ or .Result.date_year .Result.date_time .Result.date_day }}{{ else }}now{{ end }}"
|
||||
# Nov. 05th '23
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\.|'|st|nd|rd|th])", ""]
|
||||
- name: dateparse
|
||||
args: "MMM dd yy"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -1,175 +0,0 @@
|
||||
---
|
||||
id: unleashthecartoons
|
||||
name: UnleashTheCartoons
|
||||
description: "UnleashTheCartoons is a ROMANIAN Private Torrent Tracker for ANIMATED MOVIES / TV"
|
||||
language: ro-RO
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://unleashthecartoons.world/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV Series"}
|
||||
- {id: 3, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 4, cat: Books, desc: "Ebooks"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-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: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTi by this language
|
||||
default: Romanian
|
||||
options:
|
||||
Romanian: Romanian
|
||||
MULTi Romanian: MULTi Romanian
|
||||
English: English
|
||||
MULTi English: MULTi English
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: id
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
returnto: /
|
||||
error:
|
||||
- selector: div.myFrame-caption:contains("Error")
|
||||
message:
|
||||
selector: div.myFrame-content
|
||||
- selector: div.myFrame-caption:contains("Access denied")
|
||||
message:
|
||||
selector: div.myFrame-content
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://unleashthecartoons.world/torrents-search.php?search=&cat=0&incldead=1&freeleech=0&inclexternal=0&lang=0&sort=id&order=desc
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
# 0 all, 1 nofree, 2 onlyfree
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 Local/External, 1 Local Only, 2 External Only
|
||||
inclexternal: 0
|
||||
# 0 all, 1 Romanian, 2 English, 3 Romanian/English
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# does not support imdbid searches, does not return imdb link in results
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
- name: re_replace
|
||||
args: ["\\s+", " "]
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner tr.t-row
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
_lang:
|
||||
optional: true
|
||||
selector: img[src*="images/languages"]
|
||||
attribute: alt
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Ro/Eng", "MULTi"]
|
||||
title_phase1:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result._lang }} ({{ .Result._lang }}){{ else }}{{ end }}"
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(MULTI(?!.*(?:ROMAINIAN|ENGLISH|\\bRO\\b)))\\b", "{{ .Config.multilanguage }}"]
|
||||
title:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&hit=1", ""] # avoid redirect
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[onMouseover]
|
||||
attribute: onMouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=(.+?)>
|
||||
- name: replace
|
||||
args: ["images/nocover.png", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(7)
|
||||
date:
|
||||
selector: td:nth-last-child(3)
|
||||
seeders:
|
||||
selector: td:nth-last-child(6)
|
||||
leechers:
|
||||
selector: td:nth-last-child(5)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# TorrentTrader
|
||||
@@ -29,7 +29,7 @@ search:
|
||||
s: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: article:has(.entry-title)
|
||||
selector: article:has(a)
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
|
||||
@@ -29,11 +29,6 @@ namespace Jackett.Common.Indexers
|
||||
public override string Name => "AudioBook Bay";
|
||||
public override string Description => "AudioBook Bay (ABB) is a public Torrent Tracker for AUDIOBOOKS";
|
||||
public override string SiteLink { get; protected set; } = "https://audiobookbay.is/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://audiobookbay.is/",
|
||||
"https://audiobookbay.se/"
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://audiobookbay.la/",
|
||||
@@ -60,7 +55,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://audiobookbay.unblockit.pet/",
|
||||
"https://audiobookbay.unblockit.ink/",
|
||||
"https://audiobookbay.unblockit.bio/", // error 502
|
||||
"https://audiobookbay.li/"
|
||||
"https://audiobookbay.li/",
|
||||
"https://audiobookbay.se/" // redirects to .is but has invalid CA
|
||||
};
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "public";
|
||||
@@ -75,7 +71,7 @@ namespace Jackett.Common.Indexers
|
||||
cacheService: cs,
|
||||
configData: new ConfigurationData())
|
||||
{
|
||||
webclient.requestDelay = 3.1;
|
||||
webclient.requestDelay = 5.1;
|
||||
}
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
@@ -88,66 +84,8 @@ namespace Jackett.Common.Indexers
|
||||
}
|
||||
};
|
||||
|
||||
// Age
|
||||
caps.Categories.AddCategoryMapping("children", TorznabCatType.AudioAudiobook, "Children");
|
||||
caps.Categories.AddCategoryMapping("teen-young-adult", TorznabCatType.AudioAudiobook, "Teen & Young Adult");
|
||||
caps.Categories.AddCategoryMapping("adults", TorznabCatType.AudioAudiobook, "Adults");
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.AudioAudiobook);
|
||||
|
||||
// Category
|
||||
caps.Categories.AddCategoryMapping("postapocalyptic", TorznabCatType.AudioAudiobook, "(Post)apocalyptic");
|
||||
caps.Categories.AddCategoryMapping("action", TorznabCatType.AudioAudiobook, "Action");
|
||||
caps.Categories.AddCategoryMapping("adventure", TorznabCatType.AudioAudiobook, "Adventure");
|
||||
caps.Categories.AddCategoryMapping("art", TorznabCatType.AudioAudiobook, "Art");
|
||||
caps.Categories.AddCategoryMapping("autobiography-biographies", TorznabCatType.AudioAudiobook, "Autobiography & Biographies");
|
||||
caps.Categories.AddCategoryMapping("business", TorznabCatType.AudioAudiobook, "Business");
|
||||
caps.Categories.AddCategoryMapping("computer", TorznabCatType.AudioAudiobook, "Computer");
|
||||
caps.Categories.AddCategoryMapping("contemporary", TorznabCatType.AudioAudiobook, "Contemporary");
|
||||
caps.Categories.AddCategoryMapping("crime", TorznabCatType.AudioAudiobook, "Crime");
|
||||
caps.Categories.AddCategoryMapping("detective", TorznabCatType.AudioAudiobook, "Detective");
|
||||
caps.Categories.AddCategoryMapping("doctor-who-sci-fi", TorznabCatType.AudioAudiobook, "Doctor Who");
|
||||
caps.Categories.AddCategoryMapping("education", TorznabCatType.AudioAudiobook, "Education");
|
||||
caps.Categories.AddCategoryMapping("fantasy", TorznabCatType.AudioAudiobook, "Fantasy");
|
||||
caps.Categories.AddCategoryMapping("general-fiction", TorznabCatType.AudioAudiobook, "General Fiction");
|
||||
caps.Categories.AddCategoryMapping("historical-fiction", TorznabCatType.AudioAudiobook, "Historical Fiction");
|
||||
caps.Categories.AddCategoryMapping("history", TorznabCatType.AudioAudiobook, "History");
|
||||
caps.Categories.AddCategoryMapping("horror", TorznabCatType.AudioAudiobook, "Horror");
|
||||
caps.Categories.AddCategoryMapping("humor", TorznabCatType.AudioAudiobook, "Humor");
|
||||
caps.Categories.AddCategoryMapping("lecture", TorznabCatType.AudioAudiobook, "Lecture");
|
||||
caps.Categories.AddCategoryMapping("lgbt", TorznabCatType.AudioAudiobook, "LGBT");
|
||||
caps.Categories.AddCategoryMapping("literature", TorznabCatType.AudioAudiobook, "Literature");
|
||||
caps.Categories.AddCategoryMapping("litrpg", TorznabCatType.AudioAudiobook, "LitRPG");
|
||||
caps.Categories.AddCategoryMapping("general-non-fiction", TorznabCatType.AudioAudiobook, "Misc. Non-fiction");
|
||||
caps.Categories.AddCategoryMapping("mystery", TorznabCatType.AudioAudiobook, "Mystery");
|
||||
caps.Categories.AddCategoryMapping("paranormal", TorznabCatType.AudioAudiobook, "Paranormal");
|
||||
caps.Categories.AddCategoryMapping("plays-theater", TorznabCatType.AudioAudiobook, "Plays & Theater");
|
||||
caps.Categories.AddCategoryMapping("poetry", TorznabCatType.AudioAudiobook, "Poetry");
|
||||
caps.Categories.AddCategoryMapping("political", TorznabCatType.AudioAudiobook, "Political");
|
||||
caps.Categories.AddCategoryMapping("radio-productions", TorznabCatType.AudioAudiobook, "Radio Productions");
|
||||
caps.Categories.AddCategoryMapping("romance", TorznabCatType.AudioAudiobook, "Romance");
|
||||
caps.Categories.AddCategoryMapping("sci-fi", TorznabCatType.AudioAudiobook, "Sci-Fi");
|
||||
caps.Categories.AddCategoryMapping("science", TorznabCatType.AudioAudiobook, "Science");
|
||||
caps.Categories.AddCategoryMapping("self-help", TorznabCatType.AudioAudiobook, "Self-help");
|
||||
caps.Categories.AddCategoryMapping("spiritual", TorznabCatType.AudioAudiobook, "Spiritual & Religious");
|
||||
caps.Categories.AddCategoryMapping("sports", TorznabCatType.AudioAudiobook, "Sport & Recreation");
|
||||
caps.Categories.AddCategoryMapping("suspense", TorznabCatType.AudioAudiobook, "Suspense");
|
||||
caps.Categories.AddCategoryMapping("thriller", TorznabCatType.AudioAudiobook, "Thriller");
|
||||
caps.Categories.AddCategoryMapping("true-crime", TorznabCatType.AudioAudiobook, "True Crime");
|
||||
caps.Categories.AddCategoryMapping("tutorial", TorznabCatType.AudioAudiobook, "Tutorial");
|
||||
caps.Categories.AddCategoryMapping("westerns", TorznabCatType.AudioAudiobook, "Westerns");
|
||||
caps.Categories.AddCategoryMapping("zombies", TorznabCatType.AudioAudiobook, "Zombies");
|
||||
|
||||
// Category Modifiers
|
||||
caps.Categories.AddCategoryMapping("anthology", TorznabCatType.AudioAudiobook, "Anthology");
|
||||
caps.Categories.AddCategoryMapping("bestsellers", TorznabCatType.AudioAudiobook, "Bestsellers");
|
||||
caps.Categories.AddCategoryMapping("classic", TorznabCatType.AudioAudiobook, "Classic");
|
||||
caps.Categories.AddCategoryMapping("documentary", TorznabCatType.AudioAudiobook, "Documentary");
|
||||
caps.Categories.AddCategoryMapping("full-cast", TorznabCatType.AudioAudiobook, "Full Cast");
|
||||
caps.Categories.AddCategoryMapping("libertarian", TorznabCatType.AudioAudiobook, "Libertarian");
|
||||
caps.Categories.AddCategoryMapping("military", TorznabCatType.AudioAudiobook, "Military");
|
||||
caps.Categories.AddCategoryMapping("novel", TorznabCatType.AudioAudiobook, "Novel");
|
||||
caps.Categories.AddCategoryMapping("short-story", TorznabCatType.AudioAudiobook, "Short Story");
|
||||
|
||||
caps.Categories.AddCategoryMapping("other", TorznabCatType.AudioAudiobook, "Other");
|
||||
return caps;
|
||||
}
|
||||
|
||||
@@ -169,8 +107,7 @@ namespace Jackett.Common.Indexers
|
||||
var urls = new HashSet<string>
|
||||
{
|
||||
SiteLink,
|
||||
SiteLink + "page/2/",
|
||||
SiteLink + "page/3/"
|
||||
SiteLink + "page/2/"
|
||||
};
|
||||
|
||||
foreach (var url in urls)
|
||||
@@ -188,7 +125,9 @@ namespace Jackett.Common.Indexers
|
||||
}
|
||||
|
||||
if (parameters.Count > 0)
|
||||
{
|
||||
searchUrl += $"?{parameters.GetQueryString()}";
|
||||
}
|
||||
|
||||
var response = await RequestWithCookiesAsync(searchUrl);
|
||||
|
||||
@@ -197,7 +136,9 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
// Stop fetching the next page when less than 15 results are found.
|
||||
if (pageReleases.Count < 15)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return releases;
|
||||
@@ -212,11 +153,15 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
var hash = dom.QuerySelector("td:contains(\"Info Hash:\") ~ td")?.TextContent.Trim();
|
||||
if (hash == null)
|
||||
{
|
||||
throw new Exception($"Failed to fetch hash from {link}");
|
||||
}
|
||||
|
||||
var title = dom.QuerySelector("div.postTitle h1")?.TextContent.Trim();
|
||||
if (title == null)
|
||||
{
|
||||
throw new Exception($"Failed to fetch title from {link}");
|
||||
}
|
||||
|
||||
title = StringUtil.MakeValidFileName(title, '_', false);
|
||||
|
||||
@@ -243,11 +188,15 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
var matchFormat = Regex.Match(infoString, @"Format: (.+) \/", RegexOptions.IgnoreCase);
|
||||
if (matchFormat.Groups[1].Success && matchFormat.Groups[1].Value.Length > 0 && matchFormat.Groups[1].Value != "?")
|
||||
{
|
||||
title += $" [{matchFormat.Groups[1].Value.Trim()}]";
|
||||
}
|
||||
|
||||
var matchBitrate = Regex.Match(infoString, @"Bitrate: (.+)File", RegexOptions.IgnoreCase);
|
||||
if (matchBitrate.Groups[1].Success && matchBitrate.Groups[1].Value.Length > 0 && matchBitrate.Groups[1].Value != "?")
|
||||
{
|
||||
title += $" [{matchBitrate.Groups[1].Value.Trim()}]";
|
||||
}
|
||||
|
||||
var matchSize = Regex.Match(infoString, @"File Size: (.+?)s?$", RegexOptions.IgnoreCase);
|
||||
var size = matchSize.Groups[1].Success ? ParseUtil.GetBytes(matchSize.Groups[1].Value) : 0;
|
||||
@@ -257,8 +206,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
var postInfo = row.QuerySelector("div.postInfo")?.FirstChild?.TextContent.Trim().Replace("\xA0", ";") ?? string.Empty;
|
||||
var matchCategory = Regex.Match(postInfo, @"Category: (.+)$", RegexOptions.IgnoreCase);
|
||||
var category = matchCategory.Groups[1].Success ? matchCategory.Groups[1].Value.Split(';').Select(c => c.Trim()).ToList() : new List<string>();
|
||||
var categories = category.SelectMany(MapTrackerCatDescToNewznab).Distinct().ToList();
|
||||
var genres = matchCategory.Groups[1].Success ? matchCategory.Groups[1].Value.Split(';').Select(c => c.Trim()).ToList() : new List<string>();
|
||||
|
||||
releases.Add(new ReleaseInfo
|
||||
{
|
||||
@@ -266,14 +214,15 @@ namespace Jackett.Common.Indexers
|
||||
Details = details,
|
||||
Link = details,
|
||||
Title = CleanTitle(title),
|
||||
Category = categories,
|
||||
Category = new List<int> { TorznabCatType.AudioAudiobook.ID },
|
||||
Size = size,
|
||||
Seeders = 1,
|
||||
Peers = 1,
|
||||
Poster = GetPosterUrl(row.QuerySelector("img[src]")?.GetAttribute("src")?.Trim()),
|
||||
PublishDate = publishDate,
|
||||
DownloadVolumeFactor = 0,
|
||||
UploadVolumeFactor = 1
|
||||
UploadVolumeFactor = 1,
|
||||
Genres = genres
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -2183,7 +2183,7 @@ namespace Jackett.Common.Indexers
|
||||
else
|
||||
release.Category = release.Category.Union(cats).ToList();
|
||||
}
|
||||
value = release.Category.ToString() ?? string.Empty;
|
||||
value = release.Category?.ToString() ?? string.Empty;
|
||||
break;
|
||||
case "categorydesc":
|
||||
if (FieldModifiers.Contains("noappend"))
|
||||
|
||||
@@ -584,6 +584,7 @@ namespace Jackett.Updater
|
||||
"Definitions/spacetorrent.yml",
|
||||
"Definitions/speed-share.yml",
|
||||
"Definitions/spidertk.yml",
|
||||
"Definitions/sporthd.yml",
|
||||
"Definitions/sukebei-pantsu.yml",
|
||||
"Definitions/swarmazon.yml", // switched to *-API #13725
|
||||
"Definitions/t411.yml",
|
||||
@@ -658,6 +659,7 @@ namespace Jackett.Updater
|
||||
"Definitions/underverse.yml",
|
||||
"Definitions/underversel.yml",
|
||||
"Definitions/uniotaku.yml", // to be migrated to c#
|
||||
"Definitions/unleashthecartoons.yml",
|
||||
"Definitions/uploads.yml",
|
||||
"Definitions/utorrents.yml", // same as SzeneFZ now
|
||||
"Definitions/vanila.yml",
|
||||
|
||||
Reference in New Issue
Block a user