mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-18 12:39:05 +01:00
Compare commits
52 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bfd38da446 | ||
|
|
91aa1e1984 | ||
|
|
6a0db8f120 | ||
|
|
227b23eb42 | ||
|
|
47b3a2ca81 | ||
|
|
0a8def821f | ||
|
|
ab560fd705 | ||
|
|
2a04d1ce81 | ||
|
|
bebfae9b32 | ||
|
|
54d90b5de9 | ||
|
|
837f72b39a | ||
|
|
ebe89bcab3 | ||
|
|
30febc2044 | ||
|
|
a9a8fb3e8d | ||
|
|
f2f998ef3a | ||
|
|
b769c5f492 | ||
|
|
280cd05546 | ||
|
|
b7e3e99832 | ||
|
|
ca489fec99 | ||
|
|
3f81487d16 | ||
|
|
aba40a8fe5 | ||
|
|
91af73c5cf | ||
|
|
9f365dbd7e | ||
|
|
729c418da8 | ||
|
|
ed60f38b94 | ||
|
|
8bdb2ff81d | ||
|
|
e4133c9f28 | ||
|
|
4cfaab2972 | ||
|
|
ffadd4e559 | ||
|
|
55b8212c77 | ||
|
|
d9cdc675bf | ||
|
|
9e25bca463 | ||
|
|
6234c80a5c | ||
|
|
282446ad74 | ||
|
|
65736cad8b | ||
|
|
453bc8d2c0 | ||
|
|
9cef929b78 | ||
|
|
cefdc616a1 | ||
|
|
1a8c4af64e | ||
|
|
0d19c1fd2a | ||
|
|
abf6532e01 | ||
|
|
4ad5f5d3fd | ||
|
|
ace7e82284 | ||
|
|
d5e91668bf | ||
|
|
0dc13f23d7 | ||
|
|
7896e774ca | ||
|
|
9738fc9d95 | ||
|
|
e5f372225f | ||
|
|
33bf0a1d64 | ||
|
|
17f677e42d | ||
|
|
8d58135514 | ||
|
|
b517dd0943 |
4
.github/workflows/definitions-update.yml
vendored
4
.github/workflows/definitions-update.yml
vendored
@@ -40,8 +40,8 @@ jobs:
|
||||
|
||||
- name: Setup Environment Variables
|
||||
run: |
|
||||
echo "CURRENT_RUDUB_DOMAIN=$(date +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.bet" >> $GITHUB_ENV
|
||||
echo "PREVIOUS_RUDUB_DOMAIN=$(date --date='yesterday' +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.bet" >> $GITHUB_ENV
|
||||
echo "CURRENT_RUDUB_DOMAIN=$(date +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.mom" >> $GITHUB_ENV
|
||||
echo "PREVIOUS_RUDUB_DOMAIN=$(date --date='yesterday' +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.mom" >> $GITHUB_ENV
|
||||
|
||||
- name: Update rudub definition
|
||||
uses: mikefarah/yq@master
|
||||
|
||||
26
README.md
26
README.md
@@ -20,10 +20,10 @@ 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.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)
|
||||
The currently supported version of Jackett is 0.24.+, 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/9.0/supported-os.md#windows)
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md#linux)
|
||||
* macOS 13.0+ (Ventura) or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md#apple)
|
||||
|
||||
Prior versions of Jackett are no longer supported.
|
||||
|
||||
@@ -35,7 +35,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* 52BT
|
||||
* ACG.RIP
|
||||
* AniLibria
|
||||
* Anime Time
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AniSource
|
||||
@@ -76,7 +75,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* ilCorSaRoNeRo
|
||||
* Internet Archive (archive.org)
|
||||
* Isohunt2
|
||||
* iTorrent
|
||||
* kickasstorrents.to
|
||||
* kickasstorrents.ws
|
||||
* Knaben
|
||||
@@ -105,7 +103,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* plugintorrent
|
||||
* PornoTorrent
|
||||
* PornRips
|
||||
* PornXLab
|
||||
* Postman
|
||||
* Qbite (Hubite)
|
||||
* Rapidzona
|
||||
@@ -158,7 +155,6 @@ Prior versions of Jackett are no longer supported.
|
||||
<details> <summary> <b> Supported Semi-Private Trackers </b> </summary>
|
||||
|
||||
* AniDUB
|
||||
* Anime Time (login)
|
||||
* AnimeLayer
|
||||
* ArenaBG
|
||||
* Best-Torrents [PAY2DL]
|
||||
@@ -334,6 +330,7 @@ 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)
|
||||
@@ -457,6 +454,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* NewHeaven (TorrentHeavenResurrection) [![(invite needed)][inviteneeded]](#)
|
||||
* NicePT
|
||||
* Nirvana
|
||||
* NorBits
|
||||
* NordicQuality
|
||||
* Nusanta(RA.RE)
|
||||
@@ -713,7 +711,7 @@ We recommend you install Jackett as a Windows service using the supplied [Window
|
||||
|
||||
To get started with using the installer for Jackett, follow the steps below:
|
||||
|
||||
1. Check if you need any .NET prerequisites installed, see https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net80#dependencies
|
||||
1. Check if you need any .NET prerequisites installed, see https://learn.microsoft.com/en-us/dotnet/core/install/windows#net-installer
|
||||
2. Download the latest version of the [Windows installer](https://github.com/Jackett/Jackett/releases/latest/download/Jackett.Installer.Windows.exe)
|
||||
3. Run the Jackett.Installer.Windows.exe program.
|
||||
4. When prompted if you would like this app to make changes to your computer, select "yes".
|
||||
@@ -937,21 +935,21 @@ git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f net8.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net8.0/osx-x64/jackett # run jackett
|
||||
dotnet publish Jackett.Server -f net9.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net9.0/osx-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
### Linux
|
||||
|
||||
|
||||
```bash
|
||||
sudo apt install nuget msbuild dotnet-sdk-8.0 # install build tools (Debian/ubuntu)
|
||||
sudo apt install nuget msbuild dotnet-sdk-9.0 # install build tools (Debian/ubuntu)
|
||||
git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f net8.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net8.0/linux-x64/jackett # run jackett
|
||||
dotnet publish Jackett.Server -f net9.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net9.0/linux-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
name: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
variables:
|
||||
majorVersion: 0
|
||||
minorVersion: 23
|
||||
minorVersion: 24
|
||||
patchVersion: $[counter(variables['minorVersion'], 1)] # this will reset when we bump minor
|
||||
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
buildConfiguration: Release
|
||||
netCoreFramework: net8.0
|
||||
netCoreSdkVersion: 8.0.x
|
||||
netCoreFramework: net9.0
|
||||
netCoreSdkVersion: 9.0.x
|
||||
# system.debug: true
|
||||
|
||||
trigger:
|
||||
@@ -499,7 +499,7 @@ stages:
|
||||
- task: PublishPipelineArtifact@1
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
targetPath: $(Build.SourcesDirectory)/coverlet/reports/coverage.cobertura.Windows.net8.0.xml
|
||||
targetPath: $(Build.SourcesDirectory)/coverlet/reports/coverage.cobertura.Windows.net9.0.xml
|
||||
|
||||
- stage: IntegrationTestJackett
|
||||
displayName: Integration Tests
|
||||
|
||||
@@ -221,4 +221,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.13 2024-07-23
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
|
||||
@@ -116,8 +116,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -192,4 +190,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 9.1.5
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
---
|
||||
id: anime-time
|
||||
name: Anime Time
|
||||
description: "Anime Time is a Public Torrent Tracker for ANIME."
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://animetime.cc/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
anime: TV/Anime
|
||||
books: Books
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://animetime.cc/search?query=
|
||||
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
|
||||
|
||||
inputs:
|
||||
query: "{{ .Keywords }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: trim
|
||||
- name: re_replace
|
||||
args: ["\\W+", "%"]
|
||||
|
||||
rows:
|
||||
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: span.badge.badge-primary
|
||||
title:
|
||||
selector: a[href*="/view/"]
|
||||
details:
|
||||
selector: a[href*="/view/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: span[data-tip]
|
||||
attribute: data-tip
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: span.badge.badge-ghost
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
genre:
|
||||
selector: span.badge.badge-secondary, span.badge.badge-error
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["non english", "non_english"]
|
||||
- name: replace
|
||||
args: ["music video", "music_video"]
|
||||
- name: replace
|
||||
args: ["Anime Time", "Anime_Time"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -1,103 +0,0 @@
|
||||
---
|
||||
id: anime-timel
|
||||
name: Anime TimeL
|
||||
description: "This is the Anime Time indexer with Login enabled in the config to include NSFW content."
|
||||
language: en-US
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://animetime.cc/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
anime: TV/Anime
|
||||
books: Books
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: auth/log-in
|
||||
method: form
|
||||
form: form[action$="/auth/log-in"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember_me: true
|
||||
error:
|
||||
- selector: span.text-error
|
||||
test:
|
||||
path: /
|
||||
selector: form[action$="/auth/log-out"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://animetime.cc/search?query=
|
||||
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
|
||||
|
||||
inputs:
|
||||
query: "{{ .Keywords }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: trim
|
||||
- name: re_replace
|
||||
args: ["\\W+", "%"]
|
||||
|
||||
rows:
|
||||
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: span.badge.badge-primary
|
||||
title:
|
||||
selector: a[href*="/view/"]
|
||||
details:
|
||||
selector: a[href*="/view/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: span[data-tip]
|
||||
attribute: data-tip
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: span.badge.badge-ghost
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
genre:
|
||||
selector: span.badge.badge-secondary, span.badge.badge-error
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["non english", "non_english"]
|
||||
- name: replace
|
||||
args: ["music video", "music_video"]
|
||||
- name: replace
|
||||
args: ["Anime Time", "Anime_Time"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -184,4 +184,4 @@ search:
|
||||
args: "cat={{ .Result.category_title }} - "
|
||||
minimumratio:
|
||||
text: 0.9
|
||||
# NexusPHP v1.9.7 2025-06-29
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
|
||||
225
src/Jackett.Common/Definitions/esharenet.yml
Normal file
225
src/Jackett.Common/Definitions/esharenet.yml
Normal file
@@ -0,0 +1,225 @@
|
||||
---
|
||||
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
|
||||
@@ -231,4 +231,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
|
||||
@@ -164,4 +164,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.3 2025-05-24
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
|
||||
@@ -108,8 +108,23 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
title_default:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
filters:
|
||||
- name: htmldecode
|
||||
title:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
- name: htmldecode
|
||||
- name: htmldecode # double usage is intentional
|
||||
- name: replace
|
||||
args: [".torrent", ""]
|
||||
- name: trim
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
|
||||
@@ -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
|
||||
@@ -58,6 +58,7 @@ caps:
|
||||
- {id: 107, cat: Books, desc: "Electrical Technical Officer's Library-ETO Handbooks"}
|
||||
- {id: 105, cat: Books, desc: "Electrical Technical Officer's Library-Sources of electricity"}
|
||||
- {id: 37, cat: Books, desc: "Organization and management of maritime transport"}
|
||||
- {id: 420, cat: Books, desc: "Organization and management of maritime transport-Annual reports"}
|
||||
- {id: 6, cat: PC, desc: "Maritime Software"}
|
||||
- {id: 211, cat: PC, desc: "Maritime Software-Navigation soft & Charts"}
|
||||
- {id: 13, cat: PC, desc: "Maritime Software-Marine Tests"}
|
||||
|
||||
@@ -196,22 +196,27 @@ search:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(?i)[\\[\\({](1?\\d{1,3}(?:[\\.,]\\d{1,2})?\\s*[KMGTP]?i?B)[\\]\\)}]"
|
||||
_is_4k:
|
||||
selector: a.topictitle
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(?i)\\b(2160p|4K|UHD)\\b"
|
||||
size_default:
|
||||
selector: a[href^="./viewforum.php?f="]
|
||||
attribute: href
|
||||
case:
|
||||
a[href*="f=25"]: 10GB
|
||||
a[href*="f=26"]: 10GB
|
||||
a[href*="f=34"]: 10GB
|
||||
a[href*="f=36"]: 10GB
|
||||
a[href*="f=51"]: 2GB
|
||||
a[href*="f=52"]: 2GB
|
||||
a[href*="f=29"]: 2GB
|
||||
a[href*="f=30"]: 2GB
|
||||
a[href*="f=31"]: 2GB
|
||||
a[href*="f=33"]: 2GB
|
||||
a[href*="f=35"]: 2GB
|
||||
a[href*="f=37"]: 2GB
|
||||
a[href*="f=25"]: "{{ if .Result._is_4k }}15GB{{ else }}10GB{{ end }}"
|
||||
a[href*="f=26"]: "{{ if .Result._is_4k }}15GB{{ else }}10GB{{ end }}"
|
||||
a[href*="f=34"]: "{{ if .Result._is_4k }}15GB{{ else }}10GB{{ end }}"
|
||||
a[href*="f=36"]: "{{ if .Result._is_4k }}15GB{{ else }}10GB{{ end }}"
|
||||
a[href*="f=51"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
a[href*="f=52"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
a[href*="f=29"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
a[href*="f=30"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
a[href*="f=31"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
a[href*="f=33"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
a[href*="f=35"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
a[href*="f=37"]: "{{ if .Result._is_4k }}5GB{{ else }}2GB{{ end }}"
|
||||
"*": 512MB
|
||||
size:
|
||||
text: "{{ if .Result.size_title }}{{ .Result.size_title }}{{ else }}{{ .Result.size_default }}{{ end }}"
|
||||
|
||||
187
src/Jackett.Common/Definitions/nirvana.yml
Normal file
187
src/Jackett.Common/Definitions/nirvana.yml
Normal file
@@ -0,0 +1,187 @@
|
||||
---
|
||||
id: nirvana
|
||||
name: Nirvana (API)
|
||||
description: "Nirvana is a Private RUSSIAN Tracker for MOVIES / TV"
|
||||
language: ru-RU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://nirvana.li/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Фильмы"}
|
||||
- {id: 2, cat: TV, desc: "Сериалы"}
|
||||
- {id: 6, cat: Movies/Other, desc: "Аниме-фильмы"}
|
||||
- {id: 7, cat: TV/Anime, desc: "Аниме-сериалы"}
|
||||
- {id: 8, cat: Movies/Other, desc: "35mm"}
|
||||
- {id: 4, cat: Other, desc: "No"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://nirvana.li/\" target=\"_blank\">Nirvana</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: single_file_release_use_filename
|
||||
type: checkbox
|
||||
label: Use filename as title for single file releases
|
||||
default: true
|
||||
- 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
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactive users are regularly deleted. To keep an account, you must visit the site at least once a season."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.7
|
||||
@@ -11,8 +11,8 @@ encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.oxtorrent.fyi/
|
||||
- https://www.zone-torrent.me/
|
||||
- https://www.mega-torrent.net/
|
||||
- https://www.zone-torrent4.com/
|
||||
- https://www.mega-torrent7.com/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -28,8 +28,6 @@ legacylinks:
|
||||
- https://oxtorrent.blog/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://oxtorrent.proxyninja.org/
|
||||
- https://www-oxtorrent.com/
|
||||
- https://www.oxtorrent.ke/
|
||||
- https://www-torrent911.com/
|
||||
- https://www.oxtorrent1.com/
|
||||
@@ -49,6 +47,8 @@ legacylinks:
|
||||
- https://www.zone-torrent3.com/
|
||||
- https://www.oxtorrent8.com/
|
||||
- https://www.oxtorrent.diy/
|
||||
- https://www.zone-torrent.me/
|
||||
- https://www.mega-torrent.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -182,4 +182,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.0 2023-04-16
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
|
||||
@@ -32,6 +32,7 @@ caps:
|
||||
- {id: 33, cat: Movies, desc: "iNTERNAL"}
|
||||
- {id: 18, cat: PC/Mobile-Android, desc: "Mobile"}
|
||||
- {id: 8, cat: Audio, desc: "Muzyka"}
|
||||
- {id: 37, cat: TV, desc: "Reality TV"}
|
||||
- {id: 11, cat: Movies, desc: "Paczki"}
|
||||
- {id: 36, cat: TV, desc: "Seriale TV - Całe Sezony"}
|
||||
- {id: 21, cat: TV/Sport, desc: "Sport"}
|
||||
|
||||
@@ -131,13 +131,29 @@ search:
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
date_elapsed:
|
||||
# time type: time elapsed
|
||||
# <span class="time" title="Sep 22 2025, 07:47">1 week ago</span>
|
||||
selector: span.time:contains("ago")
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm zzz"
|
||||
date_added:
|
||||
# time added
|
||||
# <span class="time" title="1 week ago">May 08 2025, 01:05</span>
|
||||
selector: span.time:not(:contains("ago"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
---
|
||||
id: pornxlab
|
||||
replaces:
|
||||
- ptorrents
|
||||
name: PornXLab
|
||||
description: "PornXLab is a Public tracker for 3X"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.pornxlab.com/
|
||||
legacylinks:
|
||||
- https://www.ptorrents.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
XXX: XXX
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a.download-button
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "s.php?search={{ if .Keywords }}{{ .Keywords }}{{ else }}%20{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: div.image-wrapper
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: XXX
|
||||
title:
|
||||
selector: a.overlay
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^.+?\\] ", ""]
|
||||
details:
|
||||
selector: a.overlay
|
||||
attribute: href
|
||||
download:
|
||||
selector: a.overlay
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "-(\\d+).html"
|
||||
- name: prepend
|
||||
args: "/dl.php?t="
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: span.size
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
description:
|
||||
selector: div.catalog a
|
||||
# engine n/a
|
||||
@@ -7,6 +7,7 @@ type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pterclub.com/
|
||||
- https://pterclub.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -186,4 +186,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.0
|
||||
# json UNIT3D 9.1.5
|
||||
|
||||
@@ -9,24 +9,8 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://sep27.rudub.bet/
|
||||
- https://oct04.rudub.mom/
|
||||
legacylinks:
|
||||
- https://sep12.rudub.bet/
|
||||
- http://sep13.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/
|
||||
@@ -41,6 +25,22 @@ legacylinks:
|
||||
- http://sep26.rudub.bet/
|
||||
- https://sep26.rudub.bet/
|
||||
- http://sep27.rudub.bet/
|
||||
- https://sep27.rudub.bet/
|
||||
- http://sep28.rudub.bet/
|
||||
- https://sep28.rudub.bet/
|
||||
- http://sep29.rudub.bet/
|
||||
- https://sep29.rudub.bet/
|
||||
- http://sep30.rudub.bet/
|
||||
- https://sep30.rudub.bet/
|
||||
- http://oct01.rudub.bet/
|
||||
- https://oct01.rudub.bet/
|
||||
- http://oct02.rudub.bet/
|
||||
- https://oct02.rudub.bet/
|
||||
- http://oct02.rudub.mom/
|
||||
- https://oct02.rudub.mom/
|
||||
- http://oct03.rudub.mom/
|
||||
- https://oct03.rudub.mom/
|
||||
- http://oct04.rudub.mom/
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
@@ -10,16 +10,17 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filmes", default: true}
|
||||
- {id: 2, cat: TV, desc: "Séries", default: true}
|
||||
- {id: 3, cat: TV/Anime, desc: "Animes", default: true}
|
||||
- {id: 1, cat: Movies, desc: "Filmes"}
|
||||
- {id: 2, cat: TV, desc: "Séries"}
|
||||
- {id: 3, cat: TV/Anime, desc: "Animes"}
|
||||
- {id: 4, cat: Other, desc: "Cursos", default: false}
|
||||
- {id: 5, cat: Console, desc: "Games", default: true}
|
||||
- {id: 6, cat: Books/EBook, desc: "Livros", default: true}
|
||||
- {id: 7, cat: Books/Comics, desc: "HQs", default: true}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "AudioBooks", default: true}
|
||||
- {id: 9, cat: PC, desc: "Programas", default: true}
|
||||
- {id: 10, cat: Other, desc: "Materiais de Apoio", default: true}
|
||||
- {id: 5, cat: Console, desc: "Games"}
|
||||
- {id: 6, cat: Books/EBook, desc: "Livros"}
|
||||
- {id: 7, cat: Books/Comics, desc: "HQs"}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "AudioBooks"}
|
||||
- {id: 9, cat: PC, desc: "Programas"}
|
||||
- {id: 11, cat: Other, desc: "Diversos"}
|
||||
- {id: 10, cat: Other, desc: "Materiais de Apoio"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -123,8 +124,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -199,4 +198,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.2.0
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: tocashare
|
||||
name: Toca Share (API)
|
||||
description: "Toca Share is a PORTUGUESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
description: "Toca Share is a PORTUGUESE Private Torrent Tracker for EBOOKS / AUDIOBOOKS / COURSES"
|
||||
language: pt-PT
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -12,22 +12,12 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filme"}
|
||||
- {id: 2, cat: TV, desc: "Seriado"}
|
||||
- {id: 3, cat: Audio, desc: "Som (Música)"}
|
||||
- {id: 4, cat: Console, desc: "Jogo"}
|
||||
- {id: 5, cat: PC, desc: "Aplicativo"}
|
||||
- {id: 6, cat: Books/EBook, desc: "E-Books"}
|
||||
- {id: 7, cat: Other, desc: "Cursos"}
|
||||
- {id: 8, cat: XXX/ImageSet, desc: "Fotos Adultas"}
|
||||
- {id: 9, cat: Audio/Audiobook, desc: "Audio E-Book"}
|
||||
- {id: 10, cat: XXX, desc: "XXX"}
|
||||
- {id: 11, cat: Audio/Video, desc: "Shows"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
book-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
@@ -92,11 +82,6 @@ search:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
@@ -133,21 +118,8 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
|
||||
@@ -7,11 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq387.com/
|
||||
- https://torrentegg77.com/
|
||||
- https://torrentqq388.com/
|
||||
- https://torrentegg78.com/
|
||||
legacylinks:
|
||||
- https://torrentegg63.com/
|
||||
- https://torrentqq372.com/
|
||||
- https://torrentegg64.com/
|
||||
- https://torrentqq373.com/
|
||||
- https://torrentegg65.com/
|
||||
@@ -39,6 +37,8 @@ legacylinks:
|
||||
- https://torrentegg75.com/
|
||||
- https://torrentqq386.com/
|
||||
- https://torrentegg76.com/
|
||||
- https://torrentqq387.com/
|
||||
- https://torrentegg77.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,9 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrentsome214.com/
|
||||
- https://torrentsome215.com/
|
||||
legacylinks:
|
||||
- https://torrentsome199.com/
|
||||
- https://torrentsome200.com/
|
||||
- https://torrentsome201.com/
|
||||
- https://torrentsome202.com/
|
||||
@@ -26,6 +25,7 @@ legacylinks:
|
||||
- https://torrentsome211.com/
|
||||
- https://torrentsome212.com/
|
||||
- https://torrentsome213.com/
|
||||
- https://torrentsome214.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,9 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrenttip195.top/
|
||||
- https://torrenttip196.top/
|
||||
legacylinks:
|
||||
- https://torrenttip180.top/
|
||||
- https://torrenttip181.top/
|
||||
- https://torrenttip182.top/
|
||||
- https://torrenttip183.top/
|
||||
@@ -26,6 +25,7 @@ legacylinks:
|
||||
- https://torrenttip192.top/
|
||||
- https://torrenttip193.top/
|
||||
- https://torrenttip194.top/
|
||||
- https://torrenttip195.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -171,4 +171,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
|
||||
@@ -198,4 +198,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 9.0.6
|
||||
# json UNIT3D 9.1.5
|
||||
|
||||
@@ -23,6 +23,7 @@ caps:
|
||||
- {id: 47, cat: TV/Sport, desc: "Boxing"}
|
||||
- {id: 14, cat: Movies, desc: "Documentary"}
|
||||
- {id: 20, cat: TV/Sport, desc: "DVD"}
|
||||
- {id: 88, cat: Books, desc: "eBooks"}
|
||||
- {id: 2, cat: TV/Sport, desc: "ECW Original"}
|
||||
- {id: 26, cat: TV/Sport, desc: "ECW Weekly"}
|
||||
- {id: 21, cat: TV/Sport, desc: "Int Indy's"}
|
||||
@@ -68,6 +69,7 @@ caps:
|
||||
- {id: 53, cat: TV/Sport, desc: "WWE Smackdown HD"}
|
||||
- {id: 43, cat: TV/Sport, desc: "WWE Superstars"}
|
||||
- {id: 54, cat: TV/Sport, desc: "WWE Superstars HD"}
|
||||
- {id: 89, cat: TV/Sport, desc: "WWE Vault"}
|
||||
- {id: 19, cat: TV/Sport, desc: "WWE Velocity"}
|
||||
- {id: 31, cat: TV/Sport, desc: "WWE Vintage"}
|
||||
|
||||
@@ -75,6 +77,7 @@ caps:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.zetorrents.diy/
|
||||
- https://www.zetorrents2.com/
|
||||
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.tv/
|
||||
- https://www.zetorrents.bz/
|
||||
- https://www.zetorrents.nl/
|
||||
- https://www.zetorrents.biz/
|
||||
@@ -39,6 +38,7 @@ legacylinks:
|
||||
- https://wvw-zetorrents.com/
|
||||
- https://www-zetorrents.com/
|
||||
- https://www.zetorrents1.com/
|
||||
- https://www.zetorrents.diy/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -11,7 +11,7 @@ certificates:
|
||||
- 6daab5aed021a47614f439584fc450bde16cb528 # cloudflare
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.zktorrent.net/
|
||||
- https://www.zktorrent6.com/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -27,7 +27,6 @@ legacylinks:
|
||||
- https://gktorrent.news/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.gktorrent.uno/
|
||||
- https://www.gktorrent.gy/
|
||||
- https://www.gktorrent.si/
|
||||
- https://www.gktorrent.my/
|
||||
@@ -42,6 +41,7 @@ legacylinks:
|
||||
- https://www.zktorrent3.com/
|
||||
- https://www.zktorrent4.com/
|
||||
- https://www.zktorrent5.com/
|
||||
- https://www.zktorrent.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -185,4 +185,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.13 2024-08-09
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -22,7 +22,11 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "revolutiontt";
|
||||
public override string Name => "RevolutionTT";
|
||||
public override string Description => "RevolutionTT is a Private site. The Revolution has begun";
|
||||
public override string SiteLink { get; protected set; } = "https://revolutiontt.me/";
|
||||
public override string SiteLink { get; protected set; } = "https://revott.me/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://revolutiontt.me/",
|
||||
};
|
||||
public override Encoding Encoding => Encoding.GetEncoding("iso-8859-1");
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
@@ -22,7 +22,11 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "shazbat";
|
||||
public override string Name => "Shazbat";
|
||||
public override string Description => "Shazbat is a Private site with highly curated TV content";
|
||||
public override string SiteLink { get; protected set; } = "https://www.shazbat.tv/";
|
||||
public override string SiteLink { get; protected set; } = "https://www.shazbat.tube/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www.shazbat.tv/",
|
||||
};
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -26,9 +26,9 @@
|
||||
<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.6" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="9.0.9" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.9" />
|
||||
<PackageReference Include="System.Text.Json" Version="9.0.9" />
|
||||
<PackageReference Include="YamlDotNet" Version="16.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<TargetFrameworks>net9.0;net471</TargetFrameworks>
|
||||
<IsPackable>false</IsPackable>
|
||||
<NoWarn />
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageId>$(MSBuildProjectName)</PackageId>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<TargetFrameworks>net9.0;net471</TargetFrameworks>
|
||||
<ApplicationIcon>jackett.ico</ApplicationIcon>
|
||||
<OutputType>Exe</OutputType>
|
||||
<NoWarn></NoWarn>
|
||||
@@ -10,12 +10,12 @@
|
||||
<DefineConstants Condition="'$(RuntimeIdentifier)' == 'linux-musl-x64' or '$(RuntimeIdentifier)' == 'linux-musl-arm' or '$(RuntimeIdentifier)' == 'linux-musl-arm64'">ISLINUXMUSL</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net8.0|AnyCPU'">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net9.0|AnyCPU'">
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningsAsErrors />
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net8.0|AnyCPU'">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net9.0|AnyCPU'">
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningsAsErrors />
|
||||
</PropertyGroup>
|
||||
@@ -33,11 +33,11 @@
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<!-- Conditionally obtain references for the .NET 8.0 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
|
||||
<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" />
|
||||
<!-- Conditionally obtain references for the .NET 9.0 target -->
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net9.0' ">
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.9" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.9" />
|
||||
<PackageReference Include="System.Security.Cryptography.ProtectedData" Version="9.0.9" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Conditionally obtain references for the .NET471 target -->
|
||||
@@ -59,8 +59,8 @@
|
||||
<PackageReference Include="Mono.Posix" Version="7.1.0-final.1.21458.1" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="NLog.Web.AspNetCore" Version="5.4.0" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="8.0.1" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="9.0.9" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.9" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AssemblyName>JackettService</AssemblyName>
|
||||
<ApplicationIcon>jackett.ico</ApplicationIcon>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<TargetFrameworks>net9.0;net471</TargetFrameworks>
|
||||
<NoWarn />
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningsAsErrors />
|
||||
@@ -25,14 +25,14 @@
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="FluentAssertions" Version="6.12.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="8.0.20" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="9.0.9" />
|
||||
<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" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.9" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<TargetFramework>net9.0-windows</TargetFramework>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<EnableWindowsTargeting>true</EnableWindowsTargeting>
|
||||
<AssemblyName>JackettTray</AssemblyName>
|
||||
<ApplicationIcon>jackett.ico</ApplicationIcon>
|
||||
<NoWarn />
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net471</TargetFrameworks>
|
||||
<TargetFrameworks>net9.0;net471</TargetFrameworks>
|
||||
<ApplicationIcon>jackett.ico</ApplicationIcon>
|
||||
<AssemblyName>JackettUpdater</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
|
||||
@@ -277,6 +277,8 @@ namespace Jackett.Updater
|
||||
"Definitions/anidex.yml", // migrated to C#
|
||||
"Definitions/anilibria.yml", // migrated to c# #5762
|
||||
"Definitions/anime-free.yml",
|
||||
"Definitions/anime-time.yml",
|
||||
"Definitions/anime-timel.yml",
|
||||
"Definitions/animeclipse.yml",
|
||||
"Definitions/animeitalia.yml",
|
||||
"Definitions/animetime.yml",
|
||||
@@ -404,7 +406,6 @@ namespace Jackett.Updater
|
||||
"Definitions/epizod.yml",
|
||||
"Definitions/erzsebet.yml",
|
||||
"Definitions/erzsebetpl.yml",
|
||||
"Definitions/esharenet.yml",
|
||||
"Definitions/estrenosdtl.yml",
|
||||
"Definitions/ethor.yml",
|
||||
"Definitions/ettv.yml",
|
||||
@@ -510,6 +511,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",
|
||||
@@ -585,7 +587,6 @@ namespace Jackett.Updater
|
||||
"Definitions/nextjav.yml",
|
||||
"Definitions/nexttorrent.yml",
|
||||
"Definitions/nforce.yml",
|
||||
"Definitions/nirvana.yml",
|
||||
"Definitions/nitro.yml",
|
||||
"Definitions/nnm-club.yml", // renamed to noname-club
|
||||
"Definitions/nntt.yml",
|
||||
@@ -630,6 +631,7 @@ namespace Jackett.Updater
|
||||
"Definitions/pornorip.yml",
|
||||
"Definitions/pornoslab.yml",
|
||||
"Definitions/pornotor.yml",
|
||||
"Definitions/pornxlab.yml",
|
||||
"Definitions/portugas.yml", // switch to *-API #13542
|
||||
"Definitions/potuk.yml",
|
||||
"Definitions/privatesilverscreen-api.yml",
|
||||
|
||||
Reference in New Issue
Block a user