mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-16 03:47:15 +01:00
Compare commits
101 Commits
v0.22.2441
...
v0.23.74
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5f372225f | ||
|
|
33bf0a1d64 | ||
|
|
17f677e42d | ||
|
|
8d58135514 | ||
|
|
b517dd0943 | ||
|
|
0e346c007c | ||
|
|
aab59c0621 | ||
|
|
cdb1765120 | ||
|
|
572e7b9cdc | ||
|
|
c37ae999b3 | ||
|
|
d96dff92f4 | ||
|
|
1c800c9a4f | ||
|
|
1505e26dbd | ||
|
|
c35da294e9 | ||
|
|
2a059627e4 | ||
|
|
a676df9a98 | ||
|
|
949edec2d0 | ||
|
|
74e9057606 | ||
|
|
737a907ec7 | ||
|
|
abf6994ae7 | ||
|
|
750d5ebd38 | ||
|
|
f09e7b447c | ||
|
|
ec05656fcd | ||
|
|
abfd4dc92b | ||
|
|
f3b626133d | ||
|
|
4c1ba8b04d | ||
|
|
22efd22e73 | ||
|
|
d12b920274 | ||
|
|
99f887900a | ||
|
|
d826055762 | ||
|
|
ea9e674d6b | ||
|
|
07e8a0e10e | ||
|
|
aa1d539678 | ||
|
|
2c4ca34b81 | ||
|
|
7fd64f519e | ||
|
|
6516df29d3 | ||
|
|
4f42bd68e3 | ||
|
|
db299b6e5a | ||
|
|
f637bc6c89 | ||
|
|
751b11afd8 | ||
|
|
9cd50a883a | ||
|
|
948bb67e2b | ||
|
|
a7406eb725 | ||
|
|
65da50d6bf | ||
|
|
3829d49aed | ||
|
|
ff17b147d6 | ||
|
|
b579de495d | ||
|
|
f6384c933c | ||
|
|
4f3c57de59 | ||
|
|
dc4bde017a | ||
|
|
088dfba4b6 | ||
|
|
c414181da3 | ||
|
|
ed507c3a43 | ||
|
|
c42383f605 | ||
|
|
d53f764b4f | ||
|
|
fd3c5aea9e | ||
|
|
5c379fc5fb | ||
|
|
4203abf435 | ||
|
|
cc7a2dae35 | ||
|
|
3932f1cdb1 | ||
|
|
b4c9145642 | ||
|
|
8b48206e84 | ||
|
|
896a3e6e21 | ||
|
|
70885a1153 | ||
|
|
edd3c83a94 | ||
|
|
98c2590a16 | ||
|
|
e4d773bae9 | ||
|
|
9e716d8e9b | ||
|
|
b24acf3327 | ||
|
|
7bf75794c8 | ||
|
|
e6e82b90a6 | ||
|
|
bb8c403b23 | ||
|
|
c9066b5ea8 | ||
|
|
19586cd2d1 | ||
|
|
42c7d1fc59 | ||
|
|
a98e69d18b | ||
|
|
64c2f7b895 | ||
|
|
5cd2b53907 | ||
|
|
0649a45697 | ||
|
|
e05e7a77c4 | ||
|
|
8f526aba30 | ||
|
|
67b98536b5 | ||
|
|
04bdc9ebf0 | ||
|
|
a1af921349 | ||
|
|
9411f98064 | ||
|
|
4c0ef2d33b | ||
|
|
6d8c9709e0 | ||
|
|
3011b5397a | ||
|
|
22284d5106 | ||
|
|
dbf2a455c4 | ||
|
|
5e82419fee | ||
|
|
b20d0aca8c | ||
|
|
240054e089 | ||
|
|
9586e6d349 | ||
|
|
4f3d0589a3 | ||
|
|
710cbea589 | ||
|
|
f04babe9b4 | ||
|
|
9a5bc0e882 | ||
|
|
3784d1a1bf | ||
|
|
7af2d20bc1 | ||
|
|
38f457975e |
10
README.md
10
README.md
@@ -20,7 +20,7 @@ The software implements the [Torznab](https://torznab.github.io/spec-1.3-draft/i
|
||||
A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](https://github.com/webtor-io/go-jackett)
|
||||
|
||||
#### Supported Systems
|
||||
The currently supported version of Jackett is 0.22.+, which is compatible with the following OS:
|
||||
The currently supported version of Jackett is 0.23.+, which is compatible with the following OS:
|
||||
* Windows 10 Version 1607+ or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#windows)
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#linux)
|
||||
* macOS 13.0+ (Ventura) or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#macos)
|
||||
@@ -34,7 +34,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* 1337x
|
||||
* 52BT
|
||||
* ACG.RIP
|
||||
* Anidex
|
||||
* AniLibria
|
||||
* Anime Time
|
||||
* Anime Tosho
|
||||
@@ -77,7 +76,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* ilCorSaRoNeRo
|
||||
* Internet Archive (archive.org)
|
||||
* Isohunt2
|
||||
* iTorrent
|
||||
* kickasstorrents.to
|
||||
* kickasstorrents.ws
|
||||
* Knaben
|
||||
@@ -124,7 +122,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* The Pirate Bay (TPB)
|
||||
* TheRARBG
|
||||
* Tokyo Tosho
|
||||
* Torlock
|
||||
* Torrent Downloads
|
||||
* Torrent Oyun indir
|
||||
* Torrent[CORE]
|
||||
@@ -152,7 +149,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* Wolfmax4K
|
||||
* XXXClub
|
||||
* xxxtor
|
||||
* YourBittorrent
|
||||
* YTS.ag
|
||||
* zetorrents
|
||||
* ZkTorrent
|
||||
@@ -337,7 +333,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* Ebooks-Shares [![(invite needed)][inviteneeded]](#)
|
||||
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
|
||||
* eMuwarez
|
||||
* eShareNet
|
||||
* eStone (BigTorrent)
|
||||
* Exitorrent.org [![(invite needed)][inviteneeded]](#)
|
||||
* ExoticaZ (YourExotic)
|
||||
@@ -528,6 +523,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* SeedFile (SF)
|
||||
* seedpool
|
||||
* SewerPT (下水道) [![(invite needed)][inviteneeded]](#)
|
||||
* SexTorrent
|
||||
* SFP (Share Friends Projekt)
|
||||
* Shareisland
|
||||
* Shazbat
|
||||
@@ -765,7 +761,7 @@ If you want to run it with a user without a /home directory you need to add `Env
|
||||
|
||||
|
||||
## Installation on Linux (ARMv6 or below)
|
||||
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
|
||||
1. Install [Mono 5.10](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
|
||||
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
|
||||
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
|
||||
2. Install libcurl:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
variables:
|
||||
majorVersion: 0
|
||||
minorVersion: 22
|
||||
minorVersion: 23
|
||||
patchVersion: $[counter(variables['minorVersion'], 1)] # this will reset when we bump minor
|
||||
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
buildConfiguration: Release
|
||||
@@ -108,7 +108,7 @@ stages:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-22.04
|
||||
framework: net462
|
||||
framework: net471
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
@@ -280,7 +280,6 @@ stages:
|
||||
$newVersion.Value = '4.0.0.0'
|
||||
$xml.Save($file)
|
||||
Remove-Item '$(Build.BinariesDirectory)/Jackett/System.Net.Http.dll'
|
||||
Remove-Item '$(Build.BinariesDirectory)/Jackett/System.Runtime.InteropServices.RuntimeInformation.dll'
|
||||
|
||||
- task: Bash@3
|
||||
displayName: Set Folder and File Permissions (Mono, Linux and macOS)
|
||||
@@ -438,7 +437,7 @@ stages:
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-22.04
|
||||
framework: net462
|
||||
framework: net471
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
@@ -535,7 +534,7 @@ stages:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-22.04
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
framework: net462
|
||||
framework: net471
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
|
||||
@@ -18,8 +18,10 @@ caps:
|
||||
- {id: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
|
||||
- {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
|
||||
- {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
|
||||
- {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"}
|
||||
- {id: 32, cat: Movies, desc: "Bluray MKV Remux"}
|
||||
- {id: 22, cat: Movies, desc: "Movies Home Conversions"}
|
||||
- {id: 32, cat: Movies, desc: "Movies Bluray MKV Remux"}
|
||||
- {id: 38, cat: Movies, desc: "Movies Studio Conversion"}
|
||||
- {id: 39, cat: Movies/3D, desc: "Movies VR 360"}
|
||||
- {id: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
|
||||
- {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
|
||||
- {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
|
||||
|
||||
@@ -8,10 +8,9 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
# Send any content to 52btbtbt@gmail.com to get the latest address. or visit https://52btbt.icu/
|
||||
- https://www.529065.xyz/
|
||||
- https://www.529069.xyz/
|
||||
- https://www.529067.xyz/
|
||||
legacylinks:
|
||||
- https://529049.xyz/
|
||||
- https://www.529052.xyz/
|
||||
- https://www.529053.xyz/
|
||||
- https://www.529055.xyz/
|
||||
@@ -26,6 +25,8 @@ legacylinks:
|
||||
- https://www.529063.xyz/
|
||||
- https://www.529064.xyz/
|
||||
- https://www.529066.xyz/
|
||||
- https://www.529065.xyz/
|
||||
- https://www.529068.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -57,6 +57,10 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and check that your ratio is <b>not below 0.8</b>, otherwise the site will not return download links to the indexer. This does not apply to freeleech torrents."
|
||||
|
||||
login:
|
||||
# using cookie method because login page returns 0 bytes with a cookie flog=6
|
||||
|
||||
@@ -126,7 +126,7 @@ search:
|
||||
# does not support imdbid search or provide imdb link in results
|
||||
|
||||
rows:
|
||||
selector: table#torrents_list_p > tbody > tr:has(a[href^="download.php?id="])
|
||||
selector: table#torrents_list_p > tbody > tr:has(a[href^="download.php?id="]), table#torrents_list_p > tbody > tr:has(a[href^="magnet:?xt="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ login:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: i.fa-arrow-right-from-bracket[title="Kilépés"]
|
||||
selector: a[onclick="confirmLogout()"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
||||
@@ -143,8 +143,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
@@ -193,4 +191,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 48 hours (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.5 (custom)
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
|
||||
@@ -178,4 +178,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.6 (custom)
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
|
||||
@@ -194,4 +194,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.6
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
131
src/Jackett.Common/Definitions/cgpeers.yml
Normal file
131
src/Jackett.Common/Definitions/cgpeers.yml
Normal file
@@ -0,0 +1,131 @@
|
||||
# CGPeers uses the Luminance code, which is based on gazelle
|
||||
# ajax.php API additionally needs the auth=$authkey argument
|
||||
# Because the API is e.g. missing poster images we use screen scraping instead of the generic gazelle based approach
|
||||
---
|
||||
id: cgpeers
|
||||
name: CGPeers
|
||||
description: "CGPeers is a Private Torrent Tracker for GRAPHICS SOFTWARE / TUTORIALS / ETC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://cgpeers.to/
|
||||
legacylinks:
|
||||
- https://www.cgpeers.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: PC/ISO, desc: "Applications"}
|
||||
- {id: 8, cat: PC/ISO, desc: "Audio"}
|
||||
- {id: 7, cat: Other, desc: "Game Development"}
|
||||
- {id: 5, cat: Other, desc: "Materials"}
|
||||
- {id: 6, cat: Other/Misc, desc: "Miscellaneous"}
|
||||
- {id: 4, cat: Other, desc: "Models"}
|
||||
- {id: 2, cat: PC/0day, desc: "Plugins"}
|
||||
- {id: 3, cat: Other, desc: "Tutorials"}
|
||||
- {id: 9, cat: Other, desc: "Web Development"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="/user.php?id="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
title: "{{ .Keywords }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?)>"
|
||||
- name: re_replace
|
||||
args: ["[\\\\\"]", ""]
|
||||
- name: re_replace
|
||||
args: ["/static/common/noartwork/.+", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(6) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i.unlimited_leech: 0
|
||||
i.sitewide_leech: 0
|
||||
img[alt="Freeleech"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
img[alt="DoubleSeed"]: 2
|
||||
"*": 1
|
||||
# luminance
|
||||
@@ -193,4 +193,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 9.1.6
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -6,6 +6,8 @@ language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.crazyspirits.ca/
|
||||
legacylinks:
|
||||
- https://www.crazyspirits.com/
|
||||
|
||||
caps:
|
||||
|
||||
@@ -12,11 +12,11 @@ caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 7, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 4, cat: Console, desc: "Games"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 5, cat: PC, desc: "Software"}
|
||||
- {id: 6, cat: XXX, desc: "XXX"}
|
||||
- {id: 7, cat: Other, desc: "Assorted"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -194,4 +194,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 9.1.6
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -124,7 +124,7 @@ search:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
|
||||
rows:
|
||||
selector: $
|
||||
selector: data
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
|
||||
@@ -224,4 +224,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.3.6
|
||||
# json UNIT3D 9.1.1
|
||||
|
||||
@@ -64,6 +64,7 @@ caps:
|
||||
- {id: 346, cat: Books/EBook, desc: "Chemistry"}
|
||||
- {id: 347, cat: Books/EBook, desc: "Medical"}
|
||||
- {id: 348, cat: Books/EBook, desc: "Mathematics"}
|
||||
- {id: 363, cat: Books/EBook, desc: "Sheet Music"}
|
||||
# Tech/Computers
|
||||
- {id: 331, cat: Books/EBook, desc: "Electronics"}
|
||||
- {id: 336, cat: Books/EBook, desc: "Video Games"}
|
||||
@@ -87,6 +88,7 @@ caps:
|
||||
- {id: 349, cat: Books/EBook, desc: "Self Help"}
|
||||
- {id: 351, cat: Books/EBook, desc: "Religion"}
|
||||
- {id: 358, cat: Books/EBook, desc: "History"}
|
||||
- {id: 362, cat: Books/EBook, desc: "Politics"}
|
||||
# Military
|
||||
- {id: 287, cat: Books/EBook, desc: "WW1"}
|
||||
- {id: 288, cat: Books/EBook, desc: "WW2"}
|
||||
|
||||
@@ -1,225 +0,0 @@
|
||||
---
|
||||
id: esharenet
|
||||
name: eShareNet
|
||||
description: "eShareNet is a Private Tracker for British MOVIE / TV"
|
||||
language: en-GB
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://esharenet.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2, cat: TV, desc: "Comedy"}
|
||||
- {id: 4, cat: TV, desc: "Entertainment"}
|
||||
- {id: 5, cat: TV, desc: "Game Shows"}
|
||||
- {id: 6, cat: TV, desc: "Motoring"}
|
||||
- {id: 7, cat: TV, desc: "News and Current Affairs"}
|
||||
- {id: 8, cat: TV, desc: "Sci-Fi"}
|
||||
- {id: 9, cat: TV, desc: "Talkshow"}
|
||||
- {id: 10, cat: TV, desc: "Advertisements - Continuity"}
|
||||
- {id: 11, cat: TV, desc: "Comedy-Drama"}
|
||||
- {id: 12, cat: TV, desc: "Fantasy"}
|
||||
- {id: 13, cat: TV, desc: "Home and Property"}
|
||||
- {id: 14, cat: Movies, desc: "Movies"}
|
||||
- {id: 15, cat: Other, desc: "Other"}
|
||||
- {id: 16, cat: TV, desc: "Soaps"}
|
||||
- {id: 17, cat: TV, desc: "Trains and Planes"}
|
||||
- {id: 18, cat: TV, desc: "Animation"}
|
||||
- {id: 19, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 20, cat: TV, desc: "Food and Cooking"}
|
||||
- {id: 21, cat: TV, desc: "Horror"}
|
||||
- {id: 22, cat: Audio, desc: "Music"}
|
||||
- {id: 23, cat: Audio, desc: "Radio"}
|
||||
- {id: 24, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 25, cat: TV, desc: "True Crime"}
|
||||
- {id: 26, cat: Audio/Audiobook, desc: "Audiobook and E-book"}
|
||||
- {id: 27, cat: TV, desc: "Drama"}
|
||||
- {id: 28, cat: TV, desc: "Kids"}
|
||||
- {id: 29, cat: TV, desc: "Mystery and Crime Fiction"}
|
||||
- {id: 30, cat: TV, desc: "Reality"}
|
||||
- {id: 31, cat: TV, desc: "Subtitles - english subs"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: div#ERROR_COPY
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/filter
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: "{{ .Query.TVDBID }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
sorting: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 50
|
||||
page: 0
|
||||
view: list
|
||||
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
# can search by genre but need range support. &genres[]=Action&genres[]=Comedy for Action and Comedy
|
||||
|
||||
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
|
||||
poster:
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "https://images.weserv.nl/?url=" # for display on dashboard
|
||||
- name: append
|
||||
args: "&w=180&h=270" # for display on dashboard
|
||||
- name: replace
|
||||
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
|
||||
genre:
|
||||
selector: td:nth-last-child(8)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\n", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Biography, Comedy, Crime, Documentary, Drama, Family, Fantasy, Game-Show, History, Horror, Music, Musical, Mystery, News, Reality-TV, Romance, Science_Fiction, Sitcom, Sport, Talk-Show, Thriller, War, Western"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.4
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# UNIT3D 2.5.0
|
||||
@@ -17,50 +17,53 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
- {id: Highres Movies, cat: Movies/HD, desc: Movies HD}
|
||||
- {id: UltraHD, cat: Movies/UHD, desc: Movies UHD}
|
||||
- {id: 3D Movies, cat: Movies/3D, desc: Movies 3D}
|
||||
- {id: Bollywood, cat: Movies, desc: Bollywood}
|
||||
- {id: Movie clips, cat: Movies, desc: Movies clips}
|
||||
- {id: DVD, cat: Movies/DVD, desc: Movies DVD}
|
||||
- {id: MP4, cat: Movies, desc: Movies MP4}
|
||||
- {id: Dubbed Movies, cat: Movies/Foreign, desc: Movies Dubbed}
|
||||
- {id: Other Movies, cat: Movies/Other, desc: Movies Other}
|
||||
- {id: Documentary, cat: TV/Documentary, desc: Documentary}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
- {id: MP3, cat: Audio/MP3, desc: Music MP3}
|
||||
- {id: AAC, cat: Audio, desc: Music AAC}
|
||||
- {id: Lossless, cat: Audio/Lossless, desc: Music Lossless}
|
||||
- {id: Music videos, cat: Audio/Video, desc: Music Videos}
|
||||
- {id: Other Music, cat: Audio/Other, desc: Music Other}
|
||||
- {id: Radio Shows, cat: Audio/Other, desc: Music Radio}
|
||||
- {id: Video, cat: XXX, desc: Adult / Porn}
|
||||
- {id: "Adult / Porn", cat: XXX, desc: Adult / Porn}
|
||||
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
|
||||
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines}
|
||||
- {id: "Adult / Porn", cat: XXX, desc: "Adult / Porn"}
|
||||
- {id: Android, cat: PC/Mobile-Android, desc: Software Android}
|
||||
- {id: Anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: Audio books, cat: Audio/Audiobook, desc: Books Audiobook}
|
||||
- {id: Bollywood, cat: Movies, desc: Bollywood}
|
||||
- {id: Comics, cat: Books/Comics, desc: Books Comics}
|
||||
- {id: DVD, cat: Movies/DVD, desc: Movies DVD}
|
||||
- {id: Documentary, cat: TV/Documentary, desc: Documentary}
|
||||
- {id: Dubbed Movies, cat: Movies/Foreign, desc: Movies Dubbed}
|
||||
- {id: Ebooks, cat: Books/EBook, desc: Books Ebook}
|
||||
- {id: English-translated, cat: TV/Anime, desc: Anime English-translated}
|
||||
- {id: Games, cat: XXX/Other, desc: Adult Games}
|
||||
- {id: Hentai, cat: XXX/Other, desc: Adult Hentai}
|
||||
- {id: Windows, cat: PC, desc: Software Windows}
|
||||
- {id: Android, cat: PC/Mobile-Android, desc: Software Android}
|
||||
- {id: Mac, cat: PC/Mac, desc: Software Mac}
|
||||
- {id: Highres Movies, cat: Movies/HD, desc: Movies HD}
|
||||
- {id: Linux, cat: PC, desc: Software Linux}
|
||||
- {id: PC Games, cat: PC/Games, desc: PC Games}
|
||||
- {id: Lossless, cat: Audio/Lossless, desc: Music Lossless}
|
||||
- {id: "Manga [English-translated]", cat: Books/Comics, desc: "Manga [English-translated]"}
|
||||
- {id: MP3, cat: Audio/MP3, desc: Music MP3}
|
||||
- {id: MP4, cat: Movies, desc: Movies MP4}
|
||||
- {id: Mac, cat: PC/Mac, desc: Software Mac}
|
||||
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines}
|
||||
- {id: Movie clips, cat: Movies, desc: Movies clips}
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
- {id: Music videos, cat: Audio/Video, desc: Music Videos}
|
||||
- {id: NDS, cat: Console/NDS, desc: Games NDS}
|
||||
- {id: Other Applications, cat: PC, desc: Other Applications}
|
||||
- {id: Other Games, cat: Console/Other, desc: Games Other}
|
||||
- {id: Other Movies, cat: Movies/Other, desc: Movies Other}
|
||||
- {id: Other Music, cat: Audio/Other, desc: Music Other}
|
||||
- {id: Other, cat: Other/Misc, desc: Other}
|
||||
- {id: PC Games, cat: PC/Games, desc: PC Games}
|
||||
- {id: PS3, cat: Console/PS3, desc: Games PS3}
|
||||
- {id: PS4, cat: Console/PS4, desc: Games PS4}
|
||||
- {id: PSP, cat: Console/PSP, desc: Games PSP}
|
||||
- {id: Wii, cat: Console/Wii, desc: Games Wii}
|
||||
- {id: Xbox360, cat: Console/XBox 360, desc: Games Xbox360}
|
||||
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
|
||||
- {id: Radio Shows, cat: Audio/Other, desc: Music Radio}
|
||||
- {id: Raw, cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: Subs, cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: Switch, cat: Console/Other, desc: Games Switch}
|
||||
- {id: Other Games, cat: Console/Other, desc: Games Other}
|
||||
- {id: English-translated, cat: TV/Anime, desc: Anime English-translated}
|
||||
- {id: Anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: Audio books, cat: Audio/Audiobook, desc: Books Audiobook}
|
||||
- {id: Comics, cat: Books/Comics, desc: Books Comics}
|
||||
- {id: Ebooks, cat: Books/EBook, desc: Books Ebook}
|
||||
- {id: Other, cat: Other/Misc, desc: Other}
|
||||
- {id: Other Applications, cat: PC, desc: Other Applications}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
- {id: UltraHD, cat: Movies/UHD, desc: Movies UHD}
|
||||
- {id: Video, cat: XXX, desc: Adult / Porn}
|
||||
- {id: Wii, cat: Console/Wii, desc: Games Wii}
|
||||
- {id: Windows, cat: PC, desc: Software Windows}
|
||||
- {id: Xbox360, cat: Console/XBox 360, desc: Games Xbox360}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -94,7 +97,7 @@ search:
|
||||
args: ["in ", ""]
|
||||
- name: trim
|
||||
title:
|
||||
selector: a[href^="/torrent/"]
|
||||
selector: a[href^="/torrent/"]:not([href$="comments"])
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
|
||||
@@ -22,7 +22,11 @@ legacylinks:
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: "/anime/", cat: TV/Anime, desc: Anime}
|
||||
- {id: "/anime//anime/audio-lossless/", cat: Audio/Lossless, desc: "Anime Audio Lossless"}
|
||||
- {id: "/anime//anime/english-translated/", cat: TV/Anime, desc: "Anime English Translated"}
|
||||
- {id: "/anime//anime/raw", cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: "/anime//anime/subs/", cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: "/anime/raw", cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: "/applications/", cat: PC, desc: Apps}
|
||||
- {id: "/applications//applications/android/", cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: "/applications//applications/ios/", cat: PC/Mobile-iOS, desc: "Apps iOS"}
|
||||
@@ -35,6 +39,7 @@ caps:
|
||||
- {id: "/books//books/comics/", cat: Books/Comics, desc: "Books Comics"}
|
||||
- {id: "/books//books/ebooks/", cat: Books/EBook, desc: "Books Ebooks"}
|
||||
- {id: "/games/", cat: PC/Games, desc: Games}
|
||||
- {id: "/games//games/mac/", cat: PC/Mac, desc: "Games Mac"}
|
||||
- {id: "/games//games/nds/", cat: Console/NDS, desc: "Games NDS"}
|
||||
- {id: "/games//games/other-games/", cat: Console/Other, desc: "Games Other"}
|
||||
- {id: "/games//games/pc-games/", cat: PC/Games, desc: "Games PC"}
|
||||
@@ -44,7 +49,6 @@ caps:
|
||||
- {id: "/games//games/switch/", cat: Console/Other, desc: "Games Switch"}
|
||||
- {id: "/games//games/wii/", cat: Console/Wii, desc: "Games Wii"}
|
||||
- {id: "/games//games/xbox360/", cat: Console/XBox 360, desc: "Games Xbox360"}
|
||||
- {id: "/games//games/mac/", cat: PC/Mac, desc: "Games Mac"}
|
||||
- {id: "/movies/", cat: Movies, desc: Movies}
|
||||
- {id: "/movies//movies/3d-movies/", cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: "/movies//movies/bollywood/", cat: Movies, desc: "Movies Bollywood"}
|
||||
@@ -52,11 +56,11 @@ caps:
|
||||
- {id: "/movies//movies/dubbed-movies/", cat: Movies, desc: "Movies Dubbed"}
|
||||
- {id: "/movies//movies/dvd/", cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: "/movies//movies/highres-movies/", cat: Movies/HD, desc: "Movies Highres"}
|
||||
- {id: "/movies//movies/movie-clips/", cat: Movies/Other, desc: "Movies Movie clips"}
|
||||
- {id: "/movies//movies/mp4/", cat: Movies, desc: "Movies MP4"}
|
||||
- {id: "/movies//movies/music-videos/", cat: Audio/Video, desc: "Movies Music videos"}
|
||||
- {id: "/movies//movies/other-movies/", cat: Movies, desc: "Movies Other Movies"}
|
||||
- {id: "/movies//movies/ultrahd/", cat: Movies/UHD, desc: "Movies UltraHD"}
|
||||
- {id: "/movies//movies/music-videos/", cat: Audio/Video, desc: "Movies Music videos"}
|
||||
- {id: "/movies//movies/movie-clips/", cat: Movies/Other, desc: "Movies Movie clips"}
|
||||
- {id: "/music/", cat: Audio, desc: Music}
|
||||
- {id: "/music//music/aac/", cat: Audio, desc: "Music AAC"}
|
||||
- {id: "/music//music/lossless/", cat: Audio/Lossless, desc: "Music Lossless"}
|
||||
@@ -65,13 +69,13 @@ caps:
|
||||
- {id: "/music//music/radio-shows/", cat: Audio, desc: "Music Radio Shows"}
|
||||
- {id: "/other/", cat: Other, desc: Other}
|
||||
- {id: "/tv/", cat: TV, desc: TV}
|
||||
- {id: "/video/", cat: XXX, desc: "XXX Video"}
|
||||
- {id: "/xxx/", cat: XXX, desc: XXX}
|
||||
- {id: "/xxx//xxx/games/", cat: XXX/Other, desc: "XXX Games"}
|
||||
- {id: "/xxx//xxx/hentai/", cat: XXX/Other, desc: "XXX Hentai"}
|
||||
- {id: "/xxx//xxx/magazines/", cat: XXX/Other, desc: "XXX Magazines"}
|
||||
- {id: "/xxx//xxx/pictures/", cat: XXX/ImageSet, desc: "XXX Pictures"}
|
||||
- {id: "/xxx//xxx/video/", cat: XXX, desc: "XXX Video"}
|
||||
- {id: "/video/", cat: XXX, desc: "XXX Video"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -110,7 +114,7 @@ search:
|
||||
page: 2
|
||||
followredirect: true
|
||||
inputs:
|
||||
q: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
q: "{{ .Keywords }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# 0=last 24 hours, 1=last 3 days, 2=last week, 3=last 2 weeks, 4=last month
|
||||
|
||||
@@ -26,6 +26,7 @@ caps:
|
||||
- {id: 17, cat: TV/Sport, desc: "F2 Championship"}
|
||||
- {id: 18, cat: TV/Sport, desc: "F3 Championship"}
|
||||
- {id: 19, cat: TV/Sport, desc: "FE Championship"}
|
||||
- {id: 20, cat: TV/Sport, desc: "Freeleech"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -133,8 +133,6 @@ search:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
default: "20 years ago" # some torrents have "Never" date
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
@@ -148,12 +146,14 @@ search:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
i.unlimited_leech: 0
|
||||
i.sitewide_leech: 0
|
||||
img[alt="Freeleech"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
img[alt="DoubleSeed"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
|
||||
@@ -125,8 +125,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -198,4 +196,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.5
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://idope.se/
|
||||
- https://idope.me/
|
||||
legacylinks:
|
||||
- https://idope.black-mirror.xyz/
|
||||
- https://idope.unblocked.casa/
|
||||
@@ -19,6 +19,7 @@ legacylinks:
|
||||
- https://idope.uk-unblock.pro/
|
||||
- https://idope.unblocked.rest/
|
||||
- https://idope.unblocked.monster/
|
||||
- https://idope.se/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -208,4 +208,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.6 (custom)
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
|
||||
@@ -1,108 +0,0 @@
|
||||
---
|
||||
id: itorrent
|
||||
name: iTorrent
|
||||
description: "iTorrent is a HUNGARIAN Public site"
|
||||
language: hu-HU
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://itorrent.ws/
|
||||
legacylinks:
|
||||
- https://itorrent.hu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: app, cat: PC, desc: Apps}
|
||||
- {id: book, cat: Books, desc: Books}
|
||||
- {id: game, cat: PC/Games, desc: Games}
|
||||
- {id: movies, cat: Movies, desc: Movies}
|
||||
- {id: music, cat: Audio, desc: Music}
|
||||
- {id: heart, cat: XXX, desc: XXX}
|
||||
- {id: tv, cat: TV, desc: TV}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: date_added
|
||||
options:
|
||||
date_added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
title: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: DESC
|
||||
options:
|
||||
DESC: desc
|
||||
ASC: asc
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="/torrentfiles/"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "torrentek/title/{{ .Keywords }}/order/{{ .Config.sort }}/by/{{ .Config.type }}/"
|
||||
|
||||
rows:
|
||||
selector: tr.gradeX
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-child(1) i
|
||||
attribute: class
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["zqf zqf-", ""]
|
||||
title:
|
||||
selector: td:nth-child(2) a
|
||||
details:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
date_time:
|
||||
selector: td:nth-child(4) span
|
||||
optional: true
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy.MM.dd HH:mm zzz"
|
||||
date_year:
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy.MM.dd zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_time }}{{ or .Result.date_year .Result.date_time }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -24,84 +24,87 @@ legacylinks:
|
||||
caps:
|
||||
categorymappings:
|
||||
# category naming is inconsistent with root cat being left out on some results, hence the duplicate entries with/without root
|
||||
- {id: Anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: AnimeEnglish-translated, cat: TV/Anime, desc: "Anime English-translated"}
|
||||
- {id: English-translated, cat: TV/Anime, desc: "Anime English-translated"}
|
||||
- {id: Apps, cat: PC, desc: Apps}
|
||||
- {id: AppsWindows, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: Windows, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: AppsMac, cat: PC/Mac, desc: "Apps Mac"}
|
||||
- {id: Mac, cat: PC/Mac, desc: "Apps Mac"}
|
||||
- {id: AppsAndroid, cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: Android, cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: AppsLinux, cat: PC, desc: "Apps Linux"}
|
||||
- {id: Linux, cat: PC, desc: "Apps Linux"}
|
||||
- {id: Books, cat: Books, desc: Books}
|
||||
- {id: BooksAudiobooks, cat: Audio/Audiobook, desc: "Audio books"}
|
||||
- {id: Audiobooks, cat: Audio/Audiobook, desc: "Audio books"}
|
||||
- {id: BooksComics, cat: Books/Comics, desc: Comics}
|
||||
- {id: Comics, cat: Books/Comics, desc: Comics}
|
||||
- {id: BooksEbooks, cat: Books/EBook, desc: Ebooks}
|
||||
- {id: EBooks, cat: Books/EBook, desc: Ebooks}
|
||||
- {id: Games, cat: Console, desc: "Games"}
|
||||
- {id: PCGames, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: GamesPCGames, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: GamesOtherGames, cat: PC/Games, desc: "Games Other"}
|
||||
- {id: OtherGames, cat: PC/Games, desc: "Games Other"}
|
||||
- {id: GamesNDS, cat: Console/NDS, desc: NDS}
|
||||
- {id: NDS, cat: Console/NDS, desc: NDS}
|
||||
- {id: GamesPS3, cat: Console/PS3, desc: PS3}
|
||||
- {id: PS3, cat: Console/PS3, desc: PS3}
|
||||
- {id: GamesPS4, cat: Console/PS4, desc: PS4}
|
||||
- {id: PS4, cat: Console/PS4, desc: PS4}
|
||||
- {id: GamesPSP, cat: Console/PSP, desc: PSP}
|
||||
- {id: PSP, cat: Console/PSP, desc: PSP}
|
||||
- {id: GamesXbox360, cat: Console/XBox 360, desc: Xbox360}
|
||||
- {id: Xbox360, cat: Console/XBox 360, desc: Xbox360}
|
||||
- {id: GamesWii, cat: Console/Wii, desc: Wii}
|
||||
- {id: Wii, cat: Console/Wii, desc: Wii}
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
- {id: Movies3DMovies, cat: Movies/3D, desc: "Movies 3D Movies"}
|
||||
- {id: 3DMovies, cat: Movies/3D, desc: "Movies 3D Movies"}
|
||||
- {id: MoviesBollywood, cat: Movies, desc: "Movies Bollywood"}
|
||||
- {id: Bollywood, cat: Movies, desc: "Movies Bollywood"}
|
||||
- {id: MoviesDocumentary, cat: Movies/Other, desc: "Movies Documentary"}
|
||||
- {id: Documentary, cat: Movies/Other, desc: "Movies Documentary"}
|
||||
- {id: MoviesDVD, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: DVD, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: MoviesMP4, cat: Movies/HD, desc: "Movies MP4"}
|
||||
- {id: MP4, cat: Movies/HD, desc: "Movies MP4"}
|
||||
- {id: MoviesHighresMovies, cat: Movies/HD, desc: "Movies Highres"}
|
||||
- {id: HighresMovies, cat: Movies/HD, desc: "Movies Highres"}
|
||||
- {id: MoviesDubbedMovies, cat: Movies, desc: "Movies Dubbed"}
|
||||
- {id: DubbedMovies, cat: Movies, desc: "Movies Dubbed"}
|
||||
- {id: MoviesUltraHD, cat: Movies/UHD, desc: "Movies UltraHD"}
|
||||
- {id: UltraHD, cat: Movies/UHD, desc: "Movies UltraHD"}
|
||||
- {id: MoviesOtherMovies, cat: Movies/Other, desc: "Movies Other"}
|
||||
- {id: OtherMovies, cat: Movies/Other, desc: "Movies Other"}
|
||||
- {id: Music, cat: Audio, desc: Music}
|
||||
- {id: MusicLossless, cat: Audio/Lossless, desc: "Music Lossless"}
|
||||
- {id: Lossless, cat: Audio/Lossless, desc: "Music Lossless"}
|
||||
- {id: MusicMP3, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: MP3, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: MoviesMusicvideos, cat: Audio/Video, desc: "Movies Music videos"}
|
||||
- {id: MusicMusicvideos, cat: Audio/Video, desc: "Music videos"}
|
||||
- {id: Musicvideos, cat: Audio/Video, desc: "Music videos"}
|
||||
- {id: MusicOthermusic, cat: Audio/Other, desc: "Music Other"}
|
||||
- {id: Othermusic, cat: Audio/Other, desc: "Music Other"}
|
||||
- {id: Other, cat: Other, desc: Other}
|
||||
- {id: Movieclips, cat: Other, desc: "Movie clips"}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
- {id: AdultVideo, cat: XXX/WEB-DL, desc: "Adult Video"}
|
||||
- {id: Adult, cat: XXX/WEB-DL, desc: "Adult Video"}
|
||||
- {id: XXXVideo, cat: XXX/WEB-DL, desc: "Adult Video"}
|
||||
- {id: Video, cat: XXX/WEB-DL, desc: "Adult Video"}
|
||||
- {id: AdultGames, cat: XXX/Other, desc: "Adult Games"}
|
||||
- {id: AdultHentai, cat: XXX/Other, desc: "Adult Hentai"}
|
||||
- {id: AdultMagazines, cat: XXX/Other, desc: "Adult Magazines"}
|
||||
- {id: XXXGames, cat: XXX/Other, desc: "Adult Games"}
|
||||
- {id: AdultPictures, cat: XXX/ImageSet, desc: "Adult Pictures"}
|
||||
- {id: AdultVideo, cat: XXX/WEB-DL, desc: "Adult Video"}
|
||||
- {id: Android, cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: Anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: AnimeAudioLossless, cat: Audio/Lossless, desc: "Anime Audio Lossless"}
|
||||
- {id: AnimeEnglish-translated, cat: TV/Anime, desc: "Anime English-translated"}
|
||||
- {id: AnimeRaw, cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: AnimeSubs, cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: Apps, cat: PC, desc: Apps}
|
||||
- {id: AppsAndroid, cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: AppsLinux, cat: PC, desc: "Apps Linux"}
|
||||
- {id: AppsMac, cat: PC/Mac, desc: "Apps Mac"}
|
||||
- {id: AppsWindows, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: Audiobooks, cat: Audio/Audiobook, desc: "Audio books"}
|
||||
- {id: Bollywood, cat: Movies, desc: "Movies Bollywood"}
|
||||
- {id: Books, cat: Books, desc: Books}
|
||||
- {id: BooksAudiobooks, cat: Audio/Audiobook, desc: "Audio books"}
|
||||
- {id: BooksComics, cat: Books/Comics, desc: Comics}
|
||||
- {id: BooksEbooks, cat: Books/EBook, desc: Ebooks}
|
||||
- {id: Comics, cat: Books/Comics, desc: Comics}
|
||||
- {id: DVD, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: Documentary, cat: Movies/Other, desc: "Movies Documentary"}
|
||||
- {id: DubbedMovies, cat: Movies, desc: "Movies Dubbed"}
|
||||
- {id: EBooks, cat: Books/EBook, desc: Ebooks}
|
||||
- {id: English-translated, cat: TV/Anime, desc: "Anime English-translated"}
|
||||
- {id: Games, cat: Console, desc: "Games"}
|
||||
- {id: GamesNDS, cat: Console/NDS, desc: NDS}
|
||||
- {id: GamesOtherGames, cat: PC/Games, desc: "Games Other"}
|
||||
- {id: GamesPCGames, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: GamesPS3, cat: Console/PS3, desc: PS3}
|
||||
- {id: GamesPS4, cat: Console/PS4, desc: PS4}
|
||||
- {id: GamesPSP, cat: Console/PSP, desc: PSP}
|
||||
- {id: GamesWii, cat: Console/Wii, desc: Wii}
|
||||
- {id: GamesXbox360, cat: Console/XBox 360, desc: Xbox360}
|
||||
- {id: HighresMovies, cat: Movies/HD, desc: "Movies Highres"}
|
||||
- {id: Linux, cat: PC, desc: "Apps Linux"}
|
||||
- {id: Lossless, cat: Audio/Lossless, desc: "Music Lossless"}
|
||||
- {id: MP3, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: MP4, cat: Movies/HD, desc: "Movies MP4"}
|
||||
- {id: Mac, cat: PC/Mac, desc: "Apps Mac"}
|
||||
- {id: Movieclips, cat: Other, desc: "Movie clips"}
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
- {id: Movies3DMovies, cat: Movies/3D, desc: "Movies 3D Movies"}
|
||||
- {id: MoviesBollywood, cat: Movies, desc: "Movies Bollywood"}
|
||||
- {id: MoviesDVD, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: MoviesDocumentary, cat: Movies/Other, desc: "Movies Documentary"}
|
||||
- {id: MoviesDubbedMovies, cat: Movies, desc: "Movies Dubbed"}
|
||||
- {id: MoviesHighresMovies, cat: Movies/HD, desc: "Movies Highres"}
|
||||
- {id: MoviesMP4, cat: Movies/HD, desc: "Movies MP4"}
|
||||
- {id: MoviesMusicvideos, cat: Audio/Video, desc: "Movies Music videos"}
|
||||
- {id: MoviesOtherMovies, cat: Movies/Other, desc: "Movies Other"}
|
||||
- {id: MoviesUltraHD, cat: Movies/UHD, desc: "Movies UltraHD"}
|
||||
- {id: Music, cat: Audio, desc: Music}
|
||||
- {id: MusicLossless, cat: Audio/Lossless, desc: "Music Lossless"}
|
||||
- {id: MusicMP3, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: MusicMusicvideos, cat: Audio/Video, desc: "Music videos"}
|
||||
- {id: MusicOthermusic, cat: Audio/Other, desc: "Music Other"}
|
||||
- {id: Musicvideos, cat: Audio/Video, desc: "Music videos"}
|
||||
- {id: NDS, cat: Console/NDS, desc: NDS}
|
||||
- {id: Other, cat: Other, desc: Other}
|
||||
- {id: OtherGames, cat: PC/Games, desc: "Games Other"}
|
||||
- {id: OtherMovies, cat: Movies/Other, desc: "Movies Other"}
|
||||
- {id: Othermusic, cat: Audio/Other, desc: "Music Other"}
|
||||
- {id: PCGames, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: PS3, cat: Console/PS3, desc: PS3}
|
||||
- {id: PS4, cat: Console/PS4, desc: PS4}
|
||||
- {id: PSP, cat: Console/PSP, desc: PSP}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
- {id: UltraHD, cat: Movies/UHD, desc: "Movies UltraHD"}
|
||||
- {id: Video, cat: XXX/WEB-DL, desc: "Adult Video"}
|
||||
- {id: Wii, cat: Console/Wii, desc: Wii}
|
||||
- {id: Windows, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: XXXGames, cat: XXX/Other, desc: "Adult Games"}
|
||||
- {id: XXXPictures, cat: XXX/ImageSet, desc: "Adult Pictures"}
|
||||
- {id: XXXVideo, cat: XXX/WEB-DL, desc: "Adult Video"}
|
||||
- {id: Xbox360, cat: Console/XBox 360, desc: Xbox360}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -16,7 +16,7 @@ links:
|
||||
- https://kickasst.net/
|
||||
- https://kickasstorrents.id/
|
||||
- https://thekat.cc/
|
||||
- https://kickasshydra.dev/
|
||||
- https://kattracker.com/
|
||||
legacylinks:
|
||||
- https://kickass.gg/
|
||||
- https://katcr.io/
|
||||
@@ -29,6 +29,7 @@ legacylinks:
|
||||
- https://kickasstorrents.unblockninja.com/ # currently kickasstorrents-to proxy
|
||||
- https://kickass-kat.com/
|
||||
- https://kickass.sh/
|
||||
- https://kickasshydra.dev/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,10 +9,10 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://magnetcatcat.com/
|
||||
- https://clmclm.com/
|
||||
- https://www.8800492.xyz/
|
||||
- https://www.8800493.xyz/
|
||||
- https://www.8800494.xyz/
|
||||
- https://www.8800490.xyz/
|
||||
- https://www.8800498.xyz/
|
||||
- https://www.8800497.xyz/
|
||||
- https://www.8800499.xyz/
|
||||
- https://www.8800500.xyz/
|
||||
legacylinks:
|
||||
- https://www.8800460.xyz/
|
||||
- https://www.8800473.xyz/
|
||||
@@ -29,6 +29,10 @@ legacylinks:
|
||||
- https://www.8800483.xyz
|
||||
- https://www.8800486.xyz
|
||||
- https://www.8800487.xyz
|
||||
- https://www.8800492.xyz/
|
||||
- https://www.8800493.xyz/
|
||||
- https://www.8800494.xyz/
|
||||
- https://www.8800490.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -67,6 +67,10 @@ settings:
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info_useragent
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrentek oldalanként:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
@@ -87,10 +91,6 @@ search:
|
||||
categories: [4, 5, 48, 50, 75, 76, 26, 25, 58, 59, 42, 51, 38, 24, 85, 87, 47, 36, 6, 7, 56, 33, 44, 28, 32, 30, 53, 74, 40, 41, 34, 35, 46]
|
||||
inputs:
|
||||
tipus: 1
|
||||
- path: letoltes.php
|
||||
categories: [4, 5, 48, 50, 75, 76, 26, 25, 58, 59, 42, 51, 38, 24, 85, 87, 47, 36, 6, 7, 56, 33, 44, 28, 32, 30, 53, 74, 40, 41, 34, 35, 46]
|
||||
inputs:
|
||||
tipus: 2
|
||||
- path: xxx.php
|
||||
categories: [70, 39, 57]
|
||||
inputs:
|
||||
|
||||
@@ -115,8 +115,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -187,4 +185,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# json UNIT3D 9.1.2
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -10,7 +10,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.nortorrent6.com/
|
||||
- https://www.nortorrent.net/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -26,7 +26,6 @@ legacylinks:
|
||||
- https://torrent9.news/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.torrent9.gd/
|
||||
- https://www.torrent9.ing/
|
||||
- https://www.torrent9.run/
|
||||
- https://www.torrent9.cv/
|
||||
@@ -41,6 +40,7 @@ legacylinks:
|
||||
- https://www.nortorrent3.com/
|
||||
- https://www.nortorrent4.com/
|
||||
- https://www.nortorrent5.com/
|
||||
- https://www.nortorrent6.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -193,4 +193,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.6
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -10,7 +10,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.oxtorrent8.com/
|
||||
- https://www.oxtorrent.fyi/
|
||||
- https://www.zone-torrent.me/
|
||||
- https://www.mega-torrent.net/
|
||||
legacylinks:
|
||||
@@ -28,8 +28,6 @@ legacylinks:
|
||||
- https://oxtorrent.blog/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.oxtorrent.cv/
|
||||
- https://www.torrent911.ke/
|
||||
- https://oxtorrent.proxyninja.org/
|
||||
- https://www-oxtorrent.com/
|
||||
- https://www.oxtorrent.ke/
|
||||
@@ -49,6 +47,8 @@ legacylinks:
|
||||
- https://www.oxtorrent7.com/
|
||||
- https://www.mega-torrent6.com/
|
||||
- https://www.zone-torrent3.com/
|
||||
- https://www.oxtorrent8.com/
|
||||
- https://www.oxtorrent.diy/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -42,7 +42,7 @@ caps:
|
||||
- {id: 30, cat: TV, desc: "TV Seriale Bajki"}
|
||||
- {id: 9, cat: TV/HD, desc: "TV Seriale HD"}
|
||||
- {id: 22, cat: TV/SD, desc: "TV Seriale SD"}
|
||||
- {id: 7, cat: XXX, desc: "XXX 18+"}
|
||||
- {id: 38, cat: TV, desc: "Reality TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -123,8 +123,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -199,4 +197,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 9.0.6
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -9,38 +9,38 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://sep08.rudub.bet/
|
||||
- https://sep28.rudub.bet/
|
||||
legacylinks:
|
||||
- https://aug24.rudub.buzz/
|
||||
- http://aug25.rudub.buzz/
|
||||
- https://aug25.rudub.buzz/
|
||||
- http://aug26.rudub.buzz/
|
||||
- https://aug26.rudub.buzz/
|
||||
- http://aug27.rudub.buzz/
|
||||
- https://aug27.rudub.buzz/
|
||||
- http://aug28.rudub.buzz/
|
||||
- https://aug28.rudub.buzz/
|
||||
- http://aug29.rudub.buzz/
|
||||
- https://aug29.rudub.buzz/
|
||||
- http://aug30.rudub.buzz/
|
||||
- https://aug30.rudub.buzz/
|
||||
- http://aug31.rudub.buzz/
|
||||
- https://aug31.rudub.buzz/
|
||||
- http://sep01.rudub.buzz/
|
||||
- https://sep01.rudub.buzz/
|
||||
- http://sep02.rudub.buzz/
|
||||
- https://sep02.rudub.buzz/
|
||||
- http://sep03.rudub.bet/
|
||||
- https://sep03.rudub.bet/
|
||||
- http://sep04.rudub.bet/
|
||||
- https://sep04.rudub.bet/
|
||||
- http://sep05.rudub.bet/
|
||||
- https://sep05.rudub.bet/
|
||||
- http://sep06.rudub.bet/
|
||||
- https://sep06.rudub.bet/
|
||||
- http://sep07.rudub.bet/
|
||||
- https://sep07.rudub.bet/
|
||||
- http://sep08.rudub.bet/
|
||||
- https://sep13.rudub.bet/
|
||||
- http://sep14.rudub.bet/
|
||||
- https://sep14.rudub.bet/
|
||||
- http://sep15.rudub.bet/
|
||||
- https://sep15.rudub.bet/
|
||||
- http://sep16.rudub.bet/
|
||||
- https://sep16.rudub.bet/
|
||||
- http://sep17.rudub.bet/
|
||||
- https://sep17.rudub.bet/
|
||||
- http://sep18.rudub.bet/
|
||||
- https://sep18.rudub.bet/
|
||||
- http://sep19.rudub.bet/
|
||||
- https://sep19.rudub.bet/
|
||||
- http://sep20.rudub.bet/
|
||||
- https://sep20.rudub.bet/
|
||||
- http://sep21.rudub.bet/
|
||||
- https://sep21.rudub.bet/
|
||||
- http://sep22.rudub.bet/
|
||||
- https://sep22.rudub.bet/
|
||||
- http://sep23.rudub.bet/
|
||||
- https://sep23.rudub.bet/
|
||||
- http://sep24.rudub.bet/
|
||||
- https://sep24.rudub.bet/
|
||||
- http://sep25.rudub.bet/
|
||||
- https://sep25.rudub.bet/
|
||||
- http://sep26.rudub.bet/
|
||||
- https://sep26.rudub.bet/
|
||||
- http://sep27.rudub.bet/
|
||||
- https://sep27.rudub.bet/
|
||||
- http://sep28.rudub.bet/
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
195
src/Jackett.Common/Definitions/sextorrent.yml
Normal file
195
src/Jackett.Common/Definitions/sextorrent.yml
Normal file
@@ -0,0 +1,195 @@
|
||||
# SexTorrent uses the Luminance code, which is based on gazelle
|
||||
# ajax.php API additionally needs the auth=$authkey argument
|
||||
# Because the API is e.g. missing poster images we use screen scraping instead of the generic gazelle based approach
|
||||
---
|
||||
id: sextorrent
|
||||
name: SexTorrent
|
||||
description: "SexTorrent is a Private Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://sextorrent.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 63, cat: XXX, desc: "Hairy"}
|
||||
- {id: 64, cat: XXX, desc: "Voyeur"}
|
||||
- {id: 30, cat: XXX, desc: "Amateur"}
|
||||
- {id: 29, cat: XXX, desc: "Anal"}
|
||||
- {id: 27, cat: XXX, desc: "Asian"}
|
||||
- {id: 26, cat: XXX, desc: "BBW"}
|
||||
- {id: 44, cat: XXX, desc: "BDSM"}
|
||||
- {id: 25, cat: XXX, desc: "Big Ass"}
|
||||
- {id: 24, cat: XXX, desc: "Big Tits"}
|
||||
- {id: 34, cat: XXX, desc: "Black"}
|
||||
- {id: 66, cat: XXX, desc: "Busty"}
|
||||
- {id: 23, cat: XXX, desc: "Classic"}
|
||||
- {id: 33, cat: XXX, desc: "Creampie"}
|
||||
- {id: 22, cat: XXX, desc: "Cumshot"}
|
||||
- {id: 62, cat: XXX/DVD, desc: "DVD-R"}
|
||||
- {id: 21, cat: XXX, desc: "Fetish"}
|
||||
- {id: 19, cat: XXX, desc: "Gay / Bi"}
|
||||
- {id: 18, cat: XXX, desc: "Hardcore"}
|
||||
- {id: 32, cat: XXX, desc: "HD porn"}
|
||||
- {id: 28, cat: XXX, desc: "Hentai / 3D"}
|
||||
- {id: 17, cat: XXX, desc: "Homemade"}
|
||||
- {id: 38, cat: XXX, desc: "Interracial"}
|
||||
- {id: 48, cat: XXX, desc: "Latina"}
|
||||
- {id: 16, cat: XXX, desc: "Lesbian"}
|
||||
- {id: 61, cat: XXX, desc: "Lingerie"}
|
||||
- {id: 56, cat: XXX/Other, desc: "Magazines"}
|
||||
- {id: 60, cat: XXX/Other, desc: "Manga / Comic"}
|
||||
- {id: 15, cat: XXX, desc: "Masturbation"}
|
||||
- {id: 14, cat: XXX, desc: "Mature"}
|
||||
- {id: 13, cat: XXX/Pack, desc: "Megapack"}
|
||||
- {id: 55, cat: XXX, desc: "Milf"}
|
||||
- {id: 49, cat: XXX, desc: "Natural Tits"}
|
||||
- {id: 12, cat: XXX, desc: "Oral"}
|
||||
- {id: 20, cat: XXX, desc: "Orgia / Gang Bang"}
|
||||
- {id: 42, cat: XXX/Other, desc: "Other"}
|
||||
- {id: 50, cat: XXX, desc: "Parody"}
|
||||
- {id: 41, cat: XXX/WEB-DL, desc: "Paysite"}
|
||||
- {id: 11, cat: XXX/ImageSet, desc: "Picture set"}
|
||||
- {id: 40, cat: XXX, desc: "Piss"}
|
||||
- {id: 43, cat: XXX/Other, desc: "Porn Music Videos"}
|
||||
- {id: 67, cat: XXX, desc: "POV"}
|
||||
- {id: 45, cat: XXX, desc: "Pregnant / Preggo"}
|
||||
- {id: 57, cat: XXX, desc: "Scat/Puke"}
|
||||
- {id: 10, cat: XXX, desc: "Shemale / TS"}
|
||||
- {id: 51, cat: XXX/WEB-DL, desc: "Siterip"}
|
||||
- {id: 52, cat: XXX, desc: "Softcore"}
|
||||
- {id: 53, cat: XXX, desc: "Squirt"}
|
||||
- {id: 9, cat: XXX, desc: "Straight"}
|
||||
- {id: 8, cat: XXX, desc: "Tini"}
|
||||
- {id: 65, cat: XXX, desc: "Virtual Reality"}
|
||||
- {id: 7, cat: XXX/Other, desc: "XXX Games / Program"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "After 4 months of no activity (no login) your account will be disabled."
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
cinfo: "2550|1350|24|-60"
|
||||
keeplogged: 1
|
||||
selectorinputs:
|
||||
token:
|
||||
selector: input[name="token"]
|
||||
attribute: value
|
||||
error:
|
||||
# invalid credentials error is added by JS, this is the IP ban error
|
||||
- selector: div.thin > div > h2
|
||||
test:
|
||||
path: index.php
|
||||
selector: "#nav_userinfo"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
title: "{{ .Keywords }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon[title*="okay"]: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?)>"
|
||||
- name: re_replace
|
||||
args: ["[\\\\\"]", ""]
|
||||
- name: replace
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i.unlimited_leech: 0
|
||||
i.sitewide_leech: 0
|
||||
img[alt="Freeleech"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
img[alt="DoubleSeed"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# luminance
|
||||
@@ -105,6 +105,10 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_novpn
|
||||
type: info
|
||||
label: VPN Not Allowed
|
||||
default: "You may be banned if you use a VPN, proxy, TOR or data center to access the TeamOS web site. This mean all brands of VPNS, no exceptions!!"
|
||||
# using cookie method because login page is dynamically generated using JS #5572
|
||||
- name: cookie
|
||||
type: text
|
||||
|
||||
@@ -60,7 +60,8 @@ caps:
|
||||
- {id: 130, cat: Books, desc: "E-Books FSK 18"}
|
||||
- {id: 159, cat: Movies/Other, desc: "Anime Movies HD"}
|
||||
- {id: 160, cat: Movies/Other, desc: "Anime Movies SD"}
|
||||
- {id: 128, cat: TV/Anime, desc: "Anime Serien"}
|
||||
- {id: 168, cat: TV/Anime, desc: "Anime Serien HD"}
|
||||
- {id: 169, cat: TV/Anime, desc: "Anime Serien SD"}
|
||||
- {id: 129, cat: TV/Anime, desc: "Anime Sonstiges"}
|
||||
- {id: 118, cat: Other, desc: "Other Mobile"}
|
||||
- {id: 119, cat: Other, desc: "Other Hörbücher"}
|
||||
|
||||
@@ -1,159 +0,0 @@
|
||||
---
|
||||
id: torlock
|
||||
name: Torlock
|
||||
description: "Torlock is a torrent search site that lists verified torrents only for TV series and movies"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://www.torlock.com/
|
||||
legacylinks:
|
||||
- https://torlock.com/
|
||||
- https://www.torlock.icu/
|
||||
- https://torlock.nocensor.cloud/
|
||||
- https://torlock.mrunblock.bond/
|
||||
- https://torlock.unblockit.download/
|
||||
- https://www.torlock2.com/ # 400 Bad Request No required SSL certificate was sent
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
categorymappings:
|
||||
- {id: TELEVISION, cat: TV, desc: "TV Shows"}
|
||||
- {id: MOVIES, cat: Movies, desc: "Movies"}
|
||||
- {id: MUSIC, cat: Audio, desc: "Music"}
|
||||
- {id: GAMES, cat: PC/Games, desc: "Games"}
|
||||
- {id: SOFTWARE, cat: PC, desc: "Software"}
|
||||
- {id: ANIME, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: EBOOKS, cat: Books/EBook, desc: "Books"}
|
||||
- {id: OTHER, cat: Other, desc: "Other"}
|
||||
- {id: ADULT, cat: XXX, desc: "Adult"}
|
||||
- {id: AUDIOBOOK, cat: Audio/Audiobook, desc: "Audiobook"}
|
||||
- {id: IMAGES, cat: Other/Misc, desc: "Images"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site (only works for search with keywords)
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "/all/torrents/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}"
|
||||
categories: ["!", TELEVISION, MOVIES, MUSIC, GAMES, SOFTWARE, ANIME, EBOOKS, OTHER, ADULT, AUDIOBOOK, IMAGES]
|
||||
- path: "{{ if .Keywords }}/television/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/television/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [TELEVISION]
|
||||
- path: "{{ if .Keywords }}/movie/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/movies/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [MOVIES]
|
||||
- path: "{{ if .Keywords }}/music/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/music/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [MUSIC]
|
||||
- path: "{{ if .Keywords }}/game/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/games/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [GAMES]
|
||||
- path: "{{ if .Keywords }}/software/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/software/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [SOFTWARE]
|
||||
- path: "{{ if .Keywords }}/anime/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/anime/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [ANIME]
|
||||
- path: "{{ if .Keywords }}/ebook/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/ebooks/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [EBOOKS]
|
||||
- path: "{{ if .Keywords }}/unknown/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/unknown.html{{end}}" # sorting is broken for unknown
|
||||
categories: [OTHER]
|
||||
- path: "{{ if .Keywords }}/adult/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/adult/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [ADULT]
|
||||
- path: "{{ if .Keywords }}/audiobook/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/audiobook/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [AUDIOBOOK]
|
||||
- path: "{{ if .Keywords }}/image/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/images/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
|
||||
categories: [IMAGES]
|
||||
keywordsfilters:
|
||||
- name: tolower
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "-"]
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(td:has(div:has(a[href^="/torrent/"])))
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: span[class^="tv"]
|
||||
attribute: class
|
||||
case:
|
||||
span.tv0: OTHER
|
||||
span.tv1: MOVIES
|
||||
span.tv2: MUSIC
|
||||
span.tv3: TELEVISION
|
||||
span.tv4: GAMES
|
||||
span.tv5: SOFTWARE
|
||||
span.tv6: ANIME
|
||||
span.tv7: ADULT
|
||||
span.tv8: EBOOKS
|
||||
span.tv9: IMAGES
|
||||
span.tv10: EBOOKS
|
||||
span.tv12: AUDIOBOOK
|
||||
"*": OTHER # some torrents have invalid categories
|
||||
title:
|
||||
selector: td:nth-child(1) > div > a
|
||||
details:
|
||||
selector: td:nth-child(1) > div > a[href^="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(1) > div > a[href^="/torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/torrent/", "/tor/"]
|
||||
- name: regexp
|
||||
args: (^/tor/\d*)
|
||||
- name: append
|
||||
args: ".torrent"
|
||||
date_year:
|
||||
selector: td:nth-child(2):contains("/")
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " -07:00" # PDT
|
||||
- name: dateparse
|
||||
args: "M/d/yyyy zzz"
|
||||
date_day:
|
||||
selector: td:nth-child(2):contains("Today"), td:nth-child(2):contains("Yesterday")
|
||||
optional: true
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
date_ago:
|
||||
selector: td:nth-child(2):not(:contains("Today")):not(:contains("Yesterday")):not(:contains("/"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(min|mins)", "minutes"]
|
||||
- name: timeago
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_ago .Result.date_day }}{{ or .Result.date_year .Result.date_ago .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -7,15 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq384.com/
|
||||
- https://torrentegg74.com/
|
||||
- https://torrentqq387.com/
|
||||
- https://torrentegg77.com/
|
||||
legacylinks:
|
||||
- https://torrentegg60.com/
|
||||
- https://torrentqq369.com/
|
||||
- https://torrentegg61.com/
|
||||
- https://torrentqq370.com/
|
||||
- https://torrentegg62.com/
|
||||
- https://torrentqq371.com/
|
||||
- https://torrentegg63.com/
|
||||
- https://torrentqq372.com/
|
||||
- https://torrentegg64.com/
|
||||
@@ -39,6 +33,12 @@ legacylinks:
|
||||
- https://torrentegg72.com/
|
||||
- https://torrentegg73.com/
|
||||
- https://torrentqq383.com/
|
||||
- https://torrentqq384.com/
|
||||
- https://torrentegg74.com/
|
||||
- https://torrentqq385.com/
|
||||
- https://torrentegg75.com/
|
||||
- https://torrentqq386.com/
|
||||
- https://torrentegg76.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,11 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrentsome211.com/
|
||||
- https://torrentsome214.com/
|
||||
legacylinks:
|
||||
- https://torrentsome196.com/
|
||||
- https://torrentsome197.com/
|
||||
- https://torrentsome198.com/
|
||||
- https://torrentsome199.com/
|
||||
- https://torrentsome200.com/
|
||||
- https://torrentsome201.com/
|
||||
@@ -26,6 +23,9 @@ legacylinks:
|
||||
- https://torrentsome208.com/
|
||||
- https://torrentsome209.com/
|
||||
- https://torrentsome210.com/
|
||||
- https://torrentsome211.com/
|
||||
- https://torrentsome212.com/
|
||||
- https://torrentsome213.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -48,7 +48,9 @@ caps:
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings: []
|
||||
settings:
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
download:
|
||||
infohash:
|
||||
|
||||
@@ -9,11 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrenttip192.top/
|
||||
- https://torrenttip195.top/
|
||||
legacylinks:
|
||||
- https://torrenttip177.com/
|
||||
- https://torrenttip178.com/
|
||||
- https://torrenttip179.com/
|
||||
- https://torrenttip180.top/
|
||||
- https://torrenttip181.top/
|
||||
- https://torrenttip182.top/
|
||||
@@ -26,6 +23,9 @@ legacylinks:
|
||||
- https://torrenttip189.top/
|
||||
- https://torrenttip190.top/
|
||||
- https://torrenttip191.top/
|
||||
- https://torrenttip192.top/
|
||||
- https://torrenttip193.top/
|
||||
- https://torrenttip194.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -55,7 +55,9 @@ caps:
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
settings:
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
download:
|
||||
infohash:
|
||||
|
||||
@@ -187,4 +187,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.6
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -90,8 +90,9 @@ caps:
|
||||
- {id: 124, cat: Audio, desc: " |- Фольклор, Народная и Этническая музыка"}
|
||||
- {id: 231, cat: Audio, desc: " |- Сборники и альбомы выходившие неофициальными изданиями."}
|
||||
- {id: 144, cat: Audio, desc: "♫ ROCK & METAL ♫"}
|
||||
- {id: 201, cat: Audio, desc: " |- Русский Rock, Metal"}
|
||||
- {id: 202, cat: Audio, desc: " |- Сборники Русского рока"}
|
||||
- {id: 201, cat: Audio, desc: " |- Русский Rock, Metal (mp3)"}
|
||||
- {id: 202, cat: Audio, desc: " |- Сборники Русского рока (mp3)"}
|
||||
- {id: 323, cat: Audio, desc: " |- Русский Rock, Metal (Lossless)"}
|
||||
- {id: 214, cat: Audio, desc: " |- Soft & Pop-Rock"}
|
||||
- {id: 156, cat: Audio, desc: " |- Progressive, Art, Classic & Hard Rock"}
|
||||
- {id: 213, cat: Audio, desc: " |- Melodic & Folk Rock"}
|
||||
@@ -127,10 +128,11 @@ caps:
|
||||
- {id: 238, cat: Audio, desc: " |- ♫ Электронная музыка Hi-Res"}
|
||||
- {id: 237, cat: Audio, desc: " |- ♫ Рок-музыка Hi-Res"}
|
||||
- {id: 236, cat: Audio, desc: " |- ♫ Джаз и Блюз Hi-Res"}
|
||||
- {id: 247, cat: Audio, desc: " |- ♫ Rock (оцифровки)"}
|
||||
- {id: 317, cat: Audio, desc: " |- ♫ Советская и Российская эстрада (оцифровки)"}
|
||||
- {id: 240, cat: Audio, desc: " |- ♫ Зарубежная поп музыка (оцифровки)"}
|
||||
- {id: 249, cat: Audio, desc: " |- ♫ Электронная музыка (оцифрофки)"}
|
||||
- {id: 324, cat: Audio, desc: "Оцифровки с аналоговых носителей"}
|
||||
- {id: 328, cat: Audio, desc: " |- Советская и Российская эстрада (оцифровки)"}
|
||||
- {id: 327, cat: Audio, desc: " |- Зарубежная поп музыка (оцифровки)"}
|
||||
- {id: 326, cat: Audio, desc: " |- ♫ Rock (оцифровки)"}
|
||||
- {id: 325, cat: Audio, desc: " |- ♫ Электронная музыка (оцифрофки)"}
|
||||
- {id: 133, cat: Audio, desc: "♫ Музыка в формате ♫ (lossless)"}
|
||||
- {id: 203, cat: Audio, desc: " |- Музыка России и стран бывшего СССР (lossless)"}
|
||||
- {id: 139, cat: Audio, desc: " |- Поп музыка, Eurodance, Disco (lossless)"}
|
||||
|
||||
@@ -119,8 +119,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -189,4 +187,4 @@ search:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# json UNIT3D 9.1.2
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
---
|
||||
id: yourbittorrent
|
||||
name: YourBittorrent
|
||||
description: "YourBittorrent is a Public torrent index"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://yourbittorrent.com/
|
||||
- https://yourbittorrent2.com/
|
||||
legacylinks:
|
||||
- https://yourbittorrent.host/
|
||||
- https://yourbittorrent.nocensor.cloud/
|
||||
- https://yourbittorrent.mrunblock.bond/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: software, cat: PC, desc: Software}
|
||||
- {id: ebooks, cat: Books, desc: Ebooks}
|
||||
- {id: adult, cat: XXX, desc: Adult}
|
||||
- {id: games, cat: PC/Games, desc: Games}
|
||||
- {id: movies, cat: Movies, desc: Movies}
|
||||
- {id: music, cat: Audio, desc: Music}
|
||||
- {id: television, cat: TV, desc: TV}
|
||||
- {id: other, cat: Other, desc: Other}
|
||||
- {id: photos, cat: Other, desc: Photos}
|
||||
- {id: pictures, cat: Other, desc: Pictures}
|
||||
- {id: unknown, cat: Other, desc: Unknown}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
q: "{{ .Keywords }}"
|
||||
allowEmptyInputs: true
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[\\s]+", "-"]
|
||||
- name: tolower
|
||||
|
||||
rows:
|
||||
selector: tr.table-default:has(a[href^="/torrent/"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-child(1)
|
||||
attribute: onclick
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "href='/(.+?).html"
|
||||
title:
|
||||
selector: td:nth-child(2) a
|
||||
details:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
# turn /torrent/25778710/have-i-got-news-for-you-s59e02-720p-britishb00bseztv.html
|
||||
# into /down/25778710.torrent
|
||||
filters:
|
||||
- name: split
|
||||
args: ["/", 2]
|
||||
- name: prepend
|
||||
args: "/down/"
|
||||
- name: append
|
||||
args: ".torrent"
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
date_day:
|
||||
selector: td:nth-child(4):not(:contains("/")):not(:contains("-"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Today", "now"]
|
||||
- name: replace
|
||||
args: ["Yesterday", "1 day"]
|
||||
- name: timeago
|
||||
date_year:
|
||||
selector: td:nth-child(4):contains("/"), td:nth-child(4):contains("-")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["-", "/"]
|
||||
- name: append
|
||||
args: " -07:00" # PDT
|
||||
- name: dateparse
|
||||
args: "dd/MM/yy zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -198,4 +198,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 9.1.6
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.zetorrents1.com/
|
||||
- https://www.zetorrents.diy/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -22,7 +22,6 @@ legacylinks:
|
||||
- https://www.rantop.org/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.zetorrents.cc/
|
||||
- https://www.zetorrents.tv/
|
||||
- https://www.zetorrents.bz/
|
||||
- https://www.zetorrents.nl/
|
||||
@@ -39,6 +38,7 @@ legacylinks:
|
||||
- https://www.zetorrents.my/
|
||||
- https://wvw-zetorrents.com/
|
||||
- https://www-zetorrents.com/
|
||||
- https://www.zetorrents1.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -7,9 +7,11 @@ description: "ZkTorrent is a FRENCH Public site for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 6daab5aed021a47614f439584fc450bde16cb528 # cloudflare
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.zktorrent5.com/
|
||||
- https://www.zktorrent.net/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -25,7 +27,6 @@ legacylinks:
|
||||
- https://gktorrent.news/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.gktorrent.sk/
|
||||
- https://www.gktorrent.uno/
|
||||
- https://www.gktorrent.gy/
|
||||
- https://www.gktorrent.si/
|
||||
@@ -40,6 +41,7 @@ legacylinks:
|
||||
- https://www.zktorrent2.com/
|
||||
- https://www.zktorrent3.com/
|
||||
- https://www.zktorrent4.com/
|
||||
- https://www.zktorrent5.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -1,303 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Dom;
|
||||
using AngleSharp.Html.Parser;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Models.IndexerConfig;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;
|
||||
|
||||
namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
public class Anidex : IndexerBase
|
||||
{
|
||||
public override string Id => "anidex";
|
||||
public override string Name => "Anidex";
|
||||
public override string Description => "Anidex is a Public torrent tracker and indexer, primarily for English fansub groups of anime";
|
||||
public override string SiteLink { get; protected set; } = "https://anidex.info/";
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "public";
|
||||
|
||||
public override TorznabCapabilities TorznabCaps => SetCapabilities();
|
||||
|
||||
public Anidex(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
|
||||
IProtectionService ps, ICacheService cs)
|
||||
: base(configService: configService,
|
||||
client: wc,
|
||||
logger: l,
|
||||
p: ps,
|
||||
cacheService: cs,
|
||||
configData: new ConfigurationData())
|
||||
{
|
||||
configData.AddDynamic("DDoS-Guard", new DisplayInfoConfigurationItem("DDoS-Guard", "This site may use DDoS-Guard Protection, therefore Jackett requires <a href='https://github.com/Jackett/Jackett#configuring-flaresolverr' target='_blank'>FlareSolverr</a> to access it."));
|
||||
|
||||
AddLanguageConfiguration();
|
||||
|
||||
// Configure the sort selects
|
||||
var sortBySelect = new SingleSelectConfigurationItem("Sort by", new Dictionary<string, string>
|
||||
{
|
||||
{"upload_timestamp", "created"},
|
||||
{"seeders", "seeders"},
|
||||
{"size", "size"},
|
||||
{"filename", "title"}
|
||||
})
|
||||
{ Value = "upload_timestamp" };
|
||||
configData.AddDynamic("sortrequestedfromsite", sortBySelect);
|
||||
|
||||
var orderSelect = new SingleSelectConfigurationItem("Order", new Dictionary<string, string>
|
||||
{
|
||||
{"desc", "Descending"},
|
||||
{"asc", "Ascending"}
|
||||
})
|
||||
{ Value = "desc" };
|
||||
configData.AddDynamic("orderrequestedfromsite", orderSelect);
|
||||
|
||||
EnableConfigurableRetryAttempts();
|
||||
}
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
{
|
||||
var caps = new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
|
||||
},
|
||||
MusicSearchParams = new List<MusicSearchParam>
|
||||
{
|
||||
MusicSearchParam.Q,
|
||||
},
|
||||
BookSearchParams = new List<BookSearchParam>
|
||||
{
|
||||
BookSearchParam.Q,
|
||||
}
|
||||
};
|
||||
|
||||
// Configure the category mappings
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime - Sub");
|
||||
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime - Raw");
|
||||
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVAnime, "Anime - Dub");
|
||||
caps.Categories.AddCategoryMapping(4, TorznabCatType.TVAnime, "LA - Sub");
|
||||
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVAnime, "LA - Raw");
|
||||
caps.Categories.AddCategoryMapping(6, TorznabCatType.BooksEBook, "Light Novel");
|
||||
caps.Categories.AddCategoryMapping(7, TorznabCatType.BooksComics, "Manga - TLed");
|
||||
caps.Categories.AddCategoryMapping(8, TorznabCatType.BooksComics, "Manga - Raw");
|
||||
caps.Categories.AddCategoryMapping(9, TorznabCatType.AudioMP3, "♫ - Lossy");
|
||||
caps.Categories.AddCategoryMapping(10, TorznabCatType.AudioLossless, "♫ - Lossless");
|
||||
caps.Categories.AddCategoryMapping(11, TorznabCatType.AudioVideo, "♫ - Video");
|
||||
caps.Categories.AddCategoryMapping(12, TorznabCatType.PCGames, "Games");
|
||||
caps.Categories.AddCategoryMapping(13, TorznabCatType.PC0day, "Applications");
|
||||
caps.Categories.AddCategoryMapping(14, TorznabCatType.XXXImageSet, "Pictures");
|
||||
caps.Categories.AddCategoryMapping(15, TorznabCatType.XXX, "Adult Video");
|
||||
caps.Categories.AddCategoryMapping(16, TorznabCatType.Other, "Other");
|
||||
|
||||
return caps;
|
||||
}
|
||||
|
||||
private void AddLanguageConfiguration()
|
||||
{
|
||||
// Configure the language select option
|
||||
var languageSelect = new MultiSelectConfigurationItem("Language (None ticked = ALL)", new Dictionary<string, string>
|
||||
{
|
||||
{"1", "English"},
|
||||
{"2", "Japanese"},
|
||||
{"3", "Polish"},
|
||||
{"4", "Serbo-Croatian"},
|
||||
{"5", "Dutch"},
|
||||
{"6", "Italian"},
|
||||
{"7", "Russian"},
|
||||
{"8", "German"},
|
||||
{"9", "Hungarian"},
|
||||
{"10", "French"},
|
||||
{"11", "Finnish"},
|
||||
{"12", "Vietnamese"},
|
||||
{"13", "Greek"},
|
||||
{"14", "Bulgarian"},
|
||||
{"15", "Spanish (Spain)"},
|
||||
{"16", "Portuguese (Brazil)"},
|
||||
{"17", "Portuguese (Portugal)"},
|
||||
{"18", "Swedish"},
|
||||
{"19", "Arabic"},
|
||||
{"20", "Danish"},
|
||||
{"21", "Chinese (Simplified)"},
|
||||
{"22", "Bengali"},
|
||||
{"23", "Romanian"},
|
||||
{"24", "Czech"},
|
||||
{"25", "Mongolian"},
|
||||
{"26", "Turkish"},
|
||||
{"27", "Indonesian"},
|
||||
{"28", "Korean"},
|
||||
{"29", "Spanish (LATAM)"},
|
||||
{"30", "Persian"},
|
||||
{"31", "Malaysian"}
|
||||
})
|
||||
{ Values = new[] { "" } };
|
||||
configData.AddDynamic("languageid", languageSelect);
|
||||
}
|
||||
|
||||
private string GetSortBy => ((SingleSelectConfigurationItem)configData.GetDynamic("sortrequestedfromsite")).Value;
|
||||
|
||||
private string GetOrder => ((SingleSelectConfigurationItem)configData.GetDynamic("orderrequestedfromsite")).Value;
|
||||
|
||||
private Uri GetAbsoluteUrl(string relativeUrl) => new Uri(SiteLink + relativeUrl.TrimStart('/'));
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
{
|
||||
LoadValuesFromJson(configJson);
|
||||
var releases = await PerformQuery(new TorznabQuery());
|
||||
|
||||
await ConfigureIfOK(string.Empty, releases.Any(), () => throw new Exception("Could not find releases from this URL"));
|
||||
|
||||
return IndexerConfigurationStatus.Completed;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the selected languages, formatted so that they can be used in a query string.
|
||||
/// </summary>
|
||||
private string GetLanguagesForQuery()
|
||||
{
|
||||
var languagesConfig = (MultiSelectConfigurationItem)configData.GetDynamic("languageid");
|
||||
return string.Join(",", languagesConfig.Values);
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
// Prepare the search query
|
||||
var queryParameters = new NameValueCollection
|
||||
{
|
||||
{ "page", "search" },
|
||||
{ "s", GetSortBy },
|
||||
{ "o", GetOrder },
|
||||
{ "group_id", "0" }, // No group
|
||||
{ "q", query.GetQueryString() ?? string.Empty }
|
||||
};
|
||||
|
||||
// Get specified categories
|
||||
// AniDex throws errors when categories are url encoded. See issue #9727
|
||||
var searchCategories = MapTorznabCapsToTrackers(query);
|
||||
var catString = "";
|
||||
if (searchCategories.Any() && GetAllTrackerCategories().Except(searchCategories).Any())
|
||||
{
|
||||
catString = "&id=" + string.Join(",", searchCategories);
|
||||
}
|
||||
|
||||
// Get Selected Languages
|
||||
// AniDex throws errors when the commas between language IDs are url encoded.
|
||||
var langIds = "&lang_id=" + GetLanguagesForQuery();
|
||||
|
||||
// Make search request
|
||||
var searchUri = GetAbsoluteUrl("?" + queryParameters.GetQueryString() + catString + langIds);
|
||||
var response = await RequestWithCookiesAndRetryAsync(searchUri.AbsoluteUri);
|
||||
|
||||
if (response.Status != HttpStatusCode.OK)
|
||||
throw new WebException($"Anidex search returned unexpected result. Expected 200 OK but got {response.Status}.", WebExceptionStatus.ProtocolError);
|
||||
|
||||
// Search seems to have been a success so parse it
|
||||
return ParseResult(response.ContentString);
|
||||
}
|
||||
|
||||
private IEnumerable<ReleaseInfo> ParseResult(string response)
|
||||
{
|
||||
try
|
||||
{
|
||||
var resultParser = new HtmlParser();
|
||||
using var resultDocument = resultParser.ParseDocument(response);
|
||||
IEnumerable<IElement> rows = resultDocument.QuerySelectorAll("div#content table > tbody > tr");
|
||||
|
||||
var releases = new List<ReleaseInfo>();
|
||||
foreach (var r in rows)
|
||||
try
|
||||
{
|
||||
var language = "";
|
||||
var release = new ReleaseInfo();
|
||||
|
||||
release.Category = ParseValueFromRow(r, nameof(release.Category), "td:nth-child(1) a", (e) => MapTrackerCatToNewznab(e.Attributes["href"].Value.Substring(5)));
|
||||
language = ParseValueFromRow(r, nameof(language), "td:nth-child(1) img", (e) => e.Attributes["title"].Value);
|
||||
release.Title = ParseStringValueFromRow(r, nameof(release.Title), "td:nth-child(3) span") + " " + language;
|
||||
release.Link = ParseValueFromRow(r, nameof(release.Link), "a[href^=\"/dl/\"]", (e) => GetAbsoluteUrl(e.Attributes["href"].Value));
|
||||
release.MagnetUri = ParseValueFromRow(r, nameof(release.MagnetUri), "a[href^=\"magnet:?\"]", (e) => new Uri(e.Attributes["href"].Value));
|
||||
release.Size = ParseValueFromRow(r, nameof(release.Size), "td:nth-child(7)", (e) => ParseUtil.GetBytes(e.Text()));
|
||||
release.PublishDate = ParseValueFromRow(r, nameof(release.PublishDate), "td:nth-child(8)", (e) => DateTime.ParseExact(e.Attributes["title"].Value, "yyyy-MM-dd HH:mm:ss UTC", CultureInfo.InvariantCulture));
|
||||
release.Seeders = ParseIntValueFromRow(r, nameof(release.Seeders), "td:nth-child(9)");
|
||||
release.Peers = ParseIntValueFromRow(r, nameof(release.Peers), "td:nth-child(10)") + release.Seeders;
|
||||
release.Grabs = ParseIntValueFromRow(r, nameof(release.Grabs), "td:nth-child(11)");
|
||||
release.Details = ParseValueFromRow(r, nameof(release.Details), "td:nth-child(3) a", (e) => GetAbsoluteUrl(e.Attributes["href"].Value));
|
||||
release.Guid = release.Details;
|
||||
release.DownloadVolumeFactor = 0;
|
||||
release.UploadVolumeFactor = 1;
|
||||
|
||||
releases.Add(release);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error($"Anidex: Error parsing search result row '{r.ToHtmlPretty()}':\n\n{ex}");
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new IOException($"Error parsing search result page: {ex}");
|
||||
}
|
||||
}
|
||||
|
||||
private static TResult ParseValueFromRow<TResult>(IElement row, string propertyName, string selector,
|
||||
Func<IElement, TResult> parseFunction)
|
||||
{
|
||||
try
|
||||
{
|
||||
var selectedElement = row.QuerySelector(selector);
|
||||
if (selectedElement == null)
|
||||
throw new IOException($"Unable to find '{selector}'.");
|
||||
|
||||
return parseFunction(selectedElement);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new IOException($"Error parsing for property '{propertyName}': {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private static string ParseStringValueFromRow(IElement row, string propertyName, string selector)
|
||||
{
|
||||
try
|
||||
{
|
||||
var selectedElement = row.QuerySelector(selector);
|
||||
if (selectedElement == null)
|
||||
throw new IOException($"Unable to find '{selector}'.");
|
||||
|
||||
return selectedElement.Text();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new IOException($"Error parsing for property '{propertyName}': {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private static int ParseIntValueFromRow(IElement row, string propertyName, string selector)
|
||||
{
|
||||
try
|
||||
{
|
||||
var text = ParseStringValueFromRow(row, propertyName, selector);
|
||||
if (!int.TryParse(text, out var value))
|
||||
throw new IOException($"Could not convert '{text}' to int.");
|
||||
return value;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new IOException($"Error parsing for property '{propertyName}': {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -645,7 +645,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
var advancedSeasonRegex = new Regex(@"\b(?:(?<season>\d+)(?:st|nd|rd|th) Season|Season (?<season>\d+))\b", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
var seasonCharactersRegex = new Regex(@"(I{2,})$", RegexOptions.Compiled);
|
||||
var seasonNumberRegex = new Regex(@"\b(?<!Part[- ._])(?<!\d[/])(?:S)?(?<season>[2-9])$", RegexOptions.Compiled);
|
||||
var seasonNumberRegex = new Regex(@"\b(?<!(Part|No\.)[- ._])(?<!\d[/])(?<!\#)(?:S)?(?<season>[2-9])$", RegexOptions.Compiled);
|
||||
|
||||
foreach (var title in titles)
|
||||
{
|
||||
|
||||
@@ -19,7 +19,11 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
public override string Id => "bludv";
|
||||
public override string Name => "BluDV";
|
||||
public override string SiteLink { get; protected set; } = "https://bludv.xyz/";
|
||||
public override string SiteLink { get; protected set; } = "https://bludv.org/";
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://bludv.xyz/",
|
||||
};
|
||||
|
||||
public BluDV(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
|
||||
: base(configService, wc, l, ps, cs)
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Jackett.Common.Indexers.Definitions.Abstract;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils.Clients;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
public class CGPeers : GazelleTracker
|
||||
{
|
||||
public override string Id => "cgpeers";
|
||||
public override string Name => "CGPeers";
|
||||
public override string Description => "CGPeers is a Private Torrent Tracker for GRAPHICS SOFTWARE / TUTORIALS / ETC";
|
||||
public override string SiteLink { get; protected set; } = "https://cgpeers.to/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www.cgpeers.com/"
|
||||
};
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
public override TorznabCapabilities TorznabCaps => SetCapabilities();
|
||||
|
||||
public CGPeers(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
ICacheService cs)
|
||||
: base(configService: configService,
|
||||
client: wc,
|
||||
logger: l,
|
||||
p: ps,
|
||||
cs: cs,
|
||||
supportsFreeleechTokens: true,
|
||||
has2Fa: true)
|
||||
{
|
||||
}
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
{
|
||||
var caps = new TorznabCapabilities();
|
||||
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.PCISO, "Full Applications");
|
||||
caps.Categories.AddCategoryMapping(2, TorznabCatType.PC0day, "Plugins");
|
||||
caps.Categories.AddCategoryMapping(3, TorznabCatType.Other, "Tutorials");
|
||||
caps.Categories.AddCategoryMapping(4, TorznabCatType.Other, "Models");
|
||||
caps.Categories.AddCategoryMapping(5, TorznabCatType.Other, "Materials");
|
||||
caps.Categories.AddCategoryMapping(6, TorznabCatType.OtherMisc, "Misc");
|
||||
caps.Categories.AddCategoryMapping(7, TorznabCatType.Other, "GameDev");
|
||||
|
||||
return caps;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,10 +29,10 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Name => "DonTorrent";
|
||||
public override string Description => "DonTorrent is a SPANISH Public tracker for MOVIES / TV / GENERAL";
|
||||
// in the event the redirect is inactive https://t.me/s/dontorrent should have the latest working domain
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.lighting/";
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.istanbul/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.lighting/",
|
||||
"https://dontorrent.istanbul/",
|
||||
"https://todotorrents.org/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/",
|
||||
@@ -41,7 +41,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.stream/",
|
||||
"https://dontorrent.website/",
|
||||
"https://dontorrent.group/",
|
||||
"https://dontorrent.download/",
|
||||
@@ -56,6 +55,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://dontorrent.graphics/",
|
||||
"https://dontorrent.international/",
|
||||
"https://dontorrent.irish/",
|
||||
"https://dontorrent.lighting/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
public override string Id => "filmeshdtorrent";
|
||||
public override string Name => "Filmes HD Torrent";
|
||||
public override string SiteLink { get; protected set; } = "https://www.filmeshdtorrent.vip/";
|
||||
public override string SiteLink { get; protected set; } = "https://www.limontorrents.vip/";
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://baixarfilmestorrents.net/",
|
||||
@@ -29,6 +29,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://filmetorrent.org/x/",
|
||||
"https://bludvfilmes.org/",
|
||||
"https://bludvfilmes.org/rarbg/",
|
||||
"https://www.filmeshdtorrent.vip/",
|
||||
};
|
||||
|
||||
public FilmesHdTorrent(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs) : base(configService, wc, l, ps, cs)
|
||||
|
||||
@@ -27,10 +27,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "mejortorrent";
|
||||
public override string Name => "MejorTorrent";
|
||||
public override string Description => "MejorTorrent is a Public site - Hay veces que un torrent viene mejor! :)";
|
||||
public override string SiteLink { get; protected set; } = "https://www36.mejortorrent.eu/";
|
||||
public override string SiteLink { get; protected set; } = "https://www37.mejortorrent.eu/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www19.mejortorrent.zip/",
|
||||
"https://www20.mejortorrent.zip/",
|
||||
"https://www21.mejortorrent.zip/",
|
||||
"https://www22.mejortorrent.zip/",
|
||||
@@ -46,6 +45,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://www32.mejortorrent.eu/",
|
||||
"https://www34.mejortorrent.eu/",
|
||||
"https://www35.mejortorrent.eu/",
|
||||
"https://www36.mejortorrent.eu/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
public override string Id => "passthepopcorn";
|
||||
public override string Name => "PassThePopcorn";
|
||||
public override string Description => "PassThePopcorn (PTP) is a Private site for MOVIES / TV";
|
||||
public override string Description => "PassThePopcorn (PTP) is a Private site for MOVIES";
|
||||
// Status: https://ptp.trackerstatus.info/
|
||||
public override string SiteLink { get; protected set; } = "https://passthepopcorn.me/";
|
||||
public override string Language => "en-US";
|
||||
@@ -61,10 +61,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
LimitsDefault = 50,
|
||||
LimitsMax = 50,
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
|
||||
},
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId
|
||||
@@ -73,7 +69,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Feature Film");
|
||||
caps.Categories.AddCategoryMapping(2, TorznabCatType.Movies, "Short Film");
|
||||
caps.Categories.AddCategoryMapping(3, TorznabCatType.TV, "Miniseries");
|
||||
caps.Categories.AddCategoryMapping(3, TorznabCatType.Movies, "Miniseries");
|
||||
caps.Categories.AddCategoryMapping(4, TorznabCatType.Movies, "Stand-up Comedy");
|
||||
caps.Categories.AddCategoryMapping(5, TorznabCatType.Movies, "Live Performance");
|
||||
caps.Categories.AddCategoryMapping(6, TorznabCatType.Movies, "Movie Collection");
|
||||
|
||||
@@ -21,15 +21,17 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
public override string Id => "torrentdosfilmes";
|
||||
public override string Name => "TorrentDosFilmes";
|
||||
public override string SiteLink { get; protected set; } = "https://torrentsdosfilmes.to/";
|
||||
public override string SiteLink { get; protected set; } = "https://torrentdosfilmes.net/";
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = {
|
||||
"https://torrentsdosfilmes.to/",
|
||||
"https://ComandoFilmes.xyz/"
|
||||
"https://torrentdosfilmes.net/",
|
||||
"https://comando4kfilmes.xyz/",
|
||||
};
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = {
|
||||
"https://torrentdosfilmes.site/"
|
||||
"https://torrentdosfilmes.site/",
|
||||
"https://torrentsdosfilmes.to/",
|
||||
"https://ComandoFilmes.xyz/",
|
||||
};
|
||||
|
||||
public TorrentDosFilmes(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.3.0" />
|
||||
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
|
||||
<PackageReference Include="MimeMapping" Version="1.0.1.50" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="Polly" Version="8.6.1" />
|
||||
<PackageReference Include="Polly" Version="8.6.3" />
|
||||
<PackageReference Include="SharpZipLib" Version="1.4.2" />
|
||||
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="8.0.1" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.5" />
|
||||
<PackageReference Include="System.Text.Json" Version="8.0.6" />
|
||||
<PackageReference Include="YamlDotNet" Version="16.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net462</TargetFrameworks>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<IsPackable>false</IsPackable>
|
||||
<NoWarn />
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
@@ -9,9 +9,9 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="3.0.2" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.0.2" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="3.10.4" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.10.4" />
|
||||
<PackageReference Include="Selenium.Chrome.WebDriver" Version="85.0.0" />
|
||||
<PackageReference Include="Selenium.WebDriver" Version="4.35.0" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -3,7 +3,7 @@ using Jackett.Common.Models.Config;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using NLog;
|
||||
#if !NET462
|
||||
#if !NET471
|
||||
using Microsoft.Extensions.Hosting;
|
||||
#endif
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Jackett.Server
|
||||
{
|
||||
public static IContainer ApplicationContainer { get; set; }
|
||||
|
||||
#if NET462
|
||||
#if NET471
|
||||
public static IApplicationLifetime applicationLifetime;
|
||||
#else
|
||||
public static IHostApplicationLifetime applicationLifetime;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageId>$(MSBuildProjectName)</PackageId>
|
||||
<TargetFrameworks>net8.0;net462</TargetFrameworks>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<ApplicationIcon>jackett.ico</ApplicationIcon>
|
||||
<OutputType>Exe</OutputType>
|
||||
<NoWarn></NoWarn>
|
||||
@@ -21,7 +21,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<Choose>
|
||||
<When Condition="'$(TargetFramework)' != 'net462' and $(RuntimeIdentifier.Contains('win')) == 'false'">
|
||||
<When Condition="'$(TargetFramework)' != 'net471' and $(RuntimeIdentifier.Contains('win')) == 'false'">
|
||||
<PropertyGroup>
|
||||
<AssemblyName>jackett</AssemblyName>
|
||||
</PropertyGroup>
|
||||
@@ -35,13 +35,13 @@
|
||||
|
||||
<!-- Conditionally obtain references for the .NET 8.0 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.17" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.20" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
|
||||
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Conditionally obtain references for the .NET462 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net462' ">
|
||||
<!-- Conditionally obtain references for the .NET471 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net471' ">
|
||||
<PackageReference Include="Microsoft.AspNetCore" Version="2.3.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="2.3.0" />
|
||||
|
||||
@@ -22,7 +22,7 @@ using Microsoft.AspNetCore.Rewrite;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Newtonsoft.Json.Serialization;
|
||||
#if !NET462
|
||||
#if !NET471
|
||||
using Microsoft.Extensions.Hosting;
|
||||
#endif
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace Jackett.Server
|
||||
options.KnownProxies.Clear();
|
||||
});
|
||||
|
||||
#if NET462
|
||||
#if NET471
|
||||
services.AddMvc(
|
||||
config => config.Filters.Add(
|
||||
new AuthorizeFilter(
|
||||
@@ -118,7 +118,7 @@ namespace Jackett.Server
|
||||
}
|
||||
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
#if NET462
|
||||
#if NET471
|
||||
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime applicationLifetime)
|
||||
{
|
||||
applicationLifetime.ApplicationStarted.Register(OnStarted);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net462</TargetFrameworks>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<NoWarn />
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningsAsErrors />
|
||||
@@ -25,10 +25,10 @@
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="FluentAssertions" Version="6.12.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="8.0.11" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="3.0.2" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.0.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="8.0.20" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="3.10.4" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.10.4" />
|
||||
<PackageReference Include="NUnit" Version="3.14.0" />
|
||||
<PackageReference Include="NUnit.ConsoleRunner" Version="3.17.0" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
|
||||
@@ -45,8 +45,8 @@
|
||||
<ProjectReference Include="..\Jackett.Server\Jackett.Server.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Conditionally obtain references for the .NET462 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net462' ">
|
||||
<!-- Conditionally obtain references for the .NET471 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net471' ">
|
||||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
|
||||
<Reference Include="System.Web" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net462</TargetFrameworks>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<ApplicationIcon>jackett.ico</ApplicationIcon>
|
||||
<AssemblyName>JackettUpdater</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
@@ -13,8 +13,8 @@
|
||||
<DefineConstants Condition="'$(RuntimeIdentifier)' == 'linux-musl-x64' or '$(RuntimeIdentifier)' == 'linux-musl-arm' or '$(RuntimeIdentifier)' == 'linux-musl-arm64'">ISLINUXMUSL</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Conditionally obtain references for the .NET462 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net462' ">
|
||||
<!-- Conditionally obtain references for the .NET471 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net471' ">
|
||||
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -404,6 +404,7 @@ namespace Jackett.Updater
|
||||
"Definitions/epizod.yml",
|
||||
"Definitions/erzsebet.yml",
|
||||
"Definitions/erzsebetpl.yml",
|
||||
"Definitions/esharenet.yml",
|
||||
"Definitions/estrenosdtl.yml",
|
||||
"Definitions/ethor.yml",
|
||||
"Definitions/ettv.yml",
|
||||
@@ -509,6 +510,7 @@ namespace Jackett.Updater
|
||||
"Definitions/inperil.yml",
|
||||
"Definitions/irishtv.yml",
|
||||
"Definitions/isohunt.yml",
|
||||
"Definitions/itorrent.yml",
|
||||
"Definitions/iv-torrents.yml",
|
||||
"Definitions/jme-reunit3d.yml", // switch to -API #13043
|
||||
"Definitions/jav-torrent.yml",
|
||||
@@ -743,6 +745,7 @@ namespace Jackett.Updater
|
||||
"Definitions/tntvillage.yml",
|
||||
"Definitions/toonsforme.yml",
|
||||
"Definitions/topnow.yml",
|
||||
"Definitions/torlock.yml",
|
||||
"Definitions/torlook.yml",
|
||||
"Definitions/toros.yml", // renamed to bulltorrent
|
||||
"Definitions/torrent-explosiv.yml", // renamed to explosiv-world #6183
|
||||
@@ -841,6 +844,7 @@ namespace Jackett.Updater
|
||||
"Definitions/xxxtorrents.yml",
|
||||
"Definitions/ydypt.yml",
|
||||
"Definitions/yingk.yml",
|
||||
"Definitions/yourbittorrent.yml",
|
||||
"Definitions/yourexotic.yml", // renamed to exoticaz
|
||||
"Definitions/zomb.yml",
|
||||
"Definitions/zooqle.yml",
|
||||
|
||||
Reference in New Issue
Block a user