mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-21 05:42:21 +01:00
Compare commits
142 Commits
v0.21.2691
...
v0.22.112
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b0f33e60a | ||
|
|
8edc0ae442 | ||
|
|
a67a77f7ec | ||
|
|
ccd2c5c6a7 | ||
|
|
f55ce9815f | ||
|
|
3250325c5b | ||
|
|
3176063cd3 | ||
|
|
57044577b9 | ||
|
|
e6140af944 | ||
|
|
92329461ed | ||
|
|
251a890ca0 | ||
|
|
ddcb0c47d3 | ||
|
|
855810f442 | ||
|
|
e08d8acb5c | ||
|
|
8a353f20dc | ||
|
|
abcd102f61 | ||
|
|
a916a4fec7 | ||
|
|
8f2387c4b1 | ||
|
|
544a8e5eaf | ||
|
|
b8a3d8e7ea | ||
|
|
67eb7b3f55 | ||
|
|
b54a7d7d52 | ||
|
|
07af209679 | ||
|
|
b849ac6ad0 | ||
|
|
682eb8b842 | ||
|
|
77e33064c4 | ||
|
|
908247b864 | ||
|
|
7d86aa9dc6 | ||
|
|
a230346bfc | ||
|
|
cbc1ea9339 | ||
|
|
e1bee47aaf | ||
|
|
f1aa2e8413 | ||
|
|
83a08bfa88 | ||
|
|
6b51b5c93b | ||
|
|
77002062f9 | ||
|
|
8bde5083e8 | ||
|
|
61425145e9 | ||
|
|
0f50d2c7b3 | ||
|
|
b8ecb8d369 | ||
|
|
2a5f3ab198 | ||
|
|
32634a37b2 | ||
|
|
3025f51acb | ||
|
|
ee5a94a347 | ||
|
|
fe8ed99d61 | ||
|
|
5bae8f37e0 | ||
|
|
9410295844 | ||
|
|
29232b6244 | ||
|
|
39fa0ef930 | ||
|
|
80701db804 | ||
|
|
24bcbb2e0d | ||
|
|
25fc30a368 | ||
|
|
80f0cf1529 | ||
|
|
39d43558a4 | ||
|
|
c3b5dcd881 | ||
|
|
4c114b36b7 | ||
|
|
dc1d28959f | ||
|
|
291c165a6c | ||
|
|
a90518c63e | ||
|
|
266055fb01 | ||
|
|
c80f76ef8a | ||
|
|
de07e921ac | ||
|
|
7204656e86 | ||
|
|
adf379b3a4 | ||
|
|
16b39a2984 | ||
|
|
37cb1eff1f | ||
|
|
c92cdb234d | ||
|
|
84f7afac1c | ||
|
|
1c72198aa1 | ||
|
|
35bcb69e23 | ||
|
|
f3b02a0bb0 | ||
|
|
64bb84a38d | ||
|
|
51742b1223 | ||
|
|
06ee63e0ce | ||
|
|
0dc0a82ba0 | ||
|
|
7531b04b63 | ||
|
|
a72fcad1b1 | ||
|
|
6eb3b9290d | ||
|
|
e812427258 | ||
|
|
bc8cd435fe | ||
|
|
c6911134e5 | ||
|
|
ca8a592c2f | ||
|
|
d17390a1eb | ||
|
|
e3786fa43e | ||
|
|
af8f25a226 | ||
|
|
bad0e9c473 | ||
|
|
c4f785067a | ||
|
|
920b15f4d2 | ||
|
|
7c5237fe76 | ||
|
|
bdead3431e | ||
|
|
96c3a60ee1 | ||
|
|
89e509c9fc | ||
|
|
67a53f2b53 | ||
|
|
1f1de05faf | ||
|
|
5e90454fac | ||
|
|
3abbef0252 | ||
|
|
aadd72b68d | ||
|
|
a08fe09477 | ||
|
|
1d46f3c8df | ||
|
|
6a55613390 | ||
|
|
7c31ce46f7 | ||
|
|
f9b8c236ae | ||
|
|
67ee7664d9 | ||
|
|
ddaaaa34f8 | ||
|
|
a10cb878d9 | ||
|
|
3921b6ad40 | ||
|
|
edd6951588 | ||
|
|
0b1a8a8469 | ||
|
|
8aabdd4b3d | ||
|
|
d4076d2d65 | ||
|
|
dc4cacfa02 | ||
|
|
7e8c90c874 | ||
|
|
08db3ab3cf | ||
|
|
82a087b6a5 | ||
|
|
deaa21f6f8 | ||
|
|
69c8ba3af6 | ||
|
|
6d590324ea | ||
|
|
7eb6530b9e | ||
|
|
4df8895516 | ||
|
|
4dad7d2344 | ||
|
|
fe064ee795 | ||
|
|
8ab4a2e6f6 | ||
|
|
37597d76f5 | ||
|
|
5b94d45f28 | ||
|
|
2d0b607f48 | ||
|
|
55d5114141 | ||
|
|
b79a2cc9c2 | ||
|
|
1f1e049eb5 | ||
|
|
319ce617ea | ||
|
|
3d08387af7 | ||
|
|
6f655e9084 | ||
|
|
de4bc61a1c | ||
|
|
9ebd534862 | ||
|
|
23c7e716bc | ||
|
|
a65b7b683b | ||
|
|
48af202409 | ||
|
|
a5b30c99c4 | ||
|
|
1be650b5e2 | ||
|
|
e4da1c70a6 | ||
|
|
bb4a09abaf | ||
|
|
ba457be21e | ||
|
|
b0fe1ae883 | ||
|
|
27af34a0f8 |
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -64,6 +64,6 @@ body:
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: Place any screenshots of the issue here if needed
|
||||
description: Place any useful screenshots of the issue here, if needed (not a screenshot of the error textbox)
|
||||
validations:
|
||||
required: false
|
||||
|
||||
2
.github/workflows/issuebot.yml
vendored
2
.github/workflows/issuebot.yml
vendored
@@ -48,4 +48,4 @@ jobs:
|
||||
WORKFLOW_REPO: ${{ github.event.repository.name }}
|
||||
WORKFLOW_REPO_OWNER: ${{ github.repository_owner }}
|
||||
run: |
|
||||
node .github/workflows/scripts/redeliver-failed-deliveries.js
|
||||
node .github/workflows/scripts/redeliver-failed-deliveries.mjs
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// This script uses GitHub's Octokit SDK to make API requests. For more information, see "[AUTOTITLE](/rest/guides/scripting-with-the-rest-api-and-javascript)."
|
||||
const { App, Octokit } = require("octokit");
|
||||
// This script uses GitHub's Octokit SDK to make API requests. For more information, see https://docs.github.com/en/rest/guides/scripting-with-the-rest-api-and-javascript?apiVersion=2022-11-28
|
||||
import { App, Octokit } from "octokit";
|
||||
|
||||
const sleep = ms => new Promise(r => setTimeout(r, ms));
|
||||
let secondDelivery = true;
|
||||
45
README.md
45
README.md
@@ -19,9 +19,9 @@ Developer note: The software implements the [Torznab](https://torznab.github.io/
|
||||
A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](https://github.com/webtor-io/go-jackett)
|
||||
|
||||
#### Supported Systems
|
||||
* Windows 7 SP1 or greater
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/6.0/supported-os.md#linux)
|
||||
* macOS 10.15+ or greater
|
||||
* 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 12.0+ (Monterey) or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#macos)
|
||||
|
||||
<details> <summary> <b> Supported Public Trackers </b> </summary>
|
||||
|
||||
@@ -119,8 +119,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* torrent.by
|
||||
* torrent-pirat
|
||||
* Torrent9
|
||||
* Torrent9 clone
|
||||
* Torrent911
|
||||
* TorrentFunk
|
||||
* TorrentDownloads
|
||||
* TorrentGalaxy (TGx)
|
||||
@@ -158,7 +156,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* BootyTape
|
||||
* Catorrent
|
||||
* Deildu
|
||||
* Demonoid
|
||||
* Devil-Torrents
|
||||
* DreamingTree
|
||||
* DXP (Deaf Experts)
|
||||
@@ -208,6 +205,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* SkTorrent-org
|
||||
* themixingbowl (TMB)
|
||||
* Toloka.to
|
||||
* Torrent911
|
||||
* Torrent9-tel
|
||||
* TorrentMasters
|
||||
* Torrents-Local
|
||||
* TorrentDownload
|
||||
@@ -224,7 +223,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* 0day.kiev
|
||||
* 1ptbar
|
||||
* 2 Fast 4 You [![(invite needed)][inviteneeded]](#)
|
||||
* 2xFree
|
||||
* 3ChangTrai (3CT)
|
||||
* 3D Torrents (3DT)
|
||||
* 4thD (4th Dimension) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -279,7 +277,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Brasil Tracker
|
||||
* BroadcasTheNet (BTN) [![(invite needed)][inviteneeded]](#)
|
||||
* BrokenStones [![(invite needed)][inviteneeded]](#)
|
||||
* BrSociety
|
||||
* BTArg
|
||||
* BTNext (BTNT) [![(invite needed)][inviteneeded]](#)
|
||||
* BTSCHOOL
|
||||
@@ -306,6 +303,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CrabPT (蟹黄堡)
|
||||
* CrazySpirits
|
||||
* CrnaBerza
|
||||
* cyanbug (大青虫)
|
||||
* Dajiao (打胶) [![(invite needed)][inviteneeded]](#)
|
||||
* DANISH BYTES
|
||||
* Darius Tracker
|
||||
@@ -336,6 +334,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Fappaizuri
|
||||
* FearNoPeer
|
||||
* Femdomcult
|
||||
* File-Shack
|
||||
* FileList (FL)
|
||||
* FinElite (FE)
|
||||
* FinVip
|
||||
@@ -378,6 +377,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDFans
|
||||
* HDFun (HDZone)
|
||||
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
|
||||
* HDKylin (麒麟)
|
||||
* HDMaYi (小蚂蚁PT站)
|
||||
* HDPT (明教) [![(invite needed)][inviteneeded]](#)
|
||||
* HDRoute [![(invite needed)][inviteneeded]](#)
|
||||
@@ -445,6 +445,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* MegamixTracker
|
||||
* MeseVilág (Fairytale World)
|
||||
* MetalGuru [![(invite needed)][inviteneeded]](#)
|
||||
* METALWRKS
|
||||
* Milkie
|
||||
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
|
||||
* MNV (Max-New-Vision)
|
||||
@@ -528,6 +529,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* SceneTime
|
||||
* Secret Cinema
|
||||
* SeedFile
|
||||
* SFP (Share Friends Projekt)
|
||||
* Shadowflow (影) [![(invite needed)][inviteneeded]](#)
|
||||
* Shareisland
|
||||
* SharkPT
|
||||
@@ -571,7 +573,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TheEmpire (TE)
|
||||
* TheLeachZone (TLZ)
|
||||
* TheScenePlace (TSP)
|
||||
* Thor's Land
|
||||
* TJUPT (北洋园PT)
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* TmGHuB [![(invite needed)][inviteneeded]](#)
|
||||
@@ -599,6 +600,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentLeech (TL)
|
||||
* TorrentLeech.pl
|
||||
* TorrentSeeds (TS)
|
||||
* ToSky
|
||||
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
|
||||
* TrackerMK
|
||||
* TranceTraffic
|
||||
@@ -631,6 +633,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* XWTorrents (XWT)
|
||||
* YDYPT (伊甸园PT)
|
||||
* YggTorrent (YGG)
|
||||
* YOiNKED
|
||||
* Zamunda.net
|
||||
* Zelka.org
|
||||
* ZmPT (织梦)
|
||||
@@ -686,7 +689,7 @@ Supported filters
|
||||
Filter | Condition
|
||||
-|-
|
||||
`type:<type>` | where the indexer type is equal to `<type>`
|
||||
`tag:<tag>` | where the indexer tags contains `<tag>`
|
||||
`tag:<tag>` | where the indexer tags contain `<tag>`
|
||||
`lang:<tag>` | where the indexer language start with `<lang>`
|
||||
`test:{passed\|failed}` | where the last indexer test performed `passed` or `failed`
|
||||
`status:{healthy\|failing\|unknown}` | where the indexer state is `healthy` (successfully operates in the last minutes), `failing` (generates errors in the recent call) or `unknown` (unused for a while)
|
||||
@@ -709,7 +712,7 @@ The "filter" indexer at `/api/v2.0/indexers/!status:failing,test:passed` will qu
|
||||
A special "all" indexer is available at `/api/v2.0/indexers/all/results/torznab`.
|
||||
It will query all configured indexers and return the combined results.
|
||||
|
||||
If your client supports multiple feeds it's recommended to add each indexer directly instead of using the all indexer.
|
||||
If your client supports multiple feeds it's recommended to add each indexer directly instead of using the "all" indexer.
|
||||
Using the "all" indexer has no advantages (besides reduced management overhead), the only disadvantages:
|
||||
* you lose control over indexer specific settings (categories, search modes, etc.)
|
||||
* mixing search modes (IMDB, query, etc.) might cause low-quality results
|
||||
@@ -724,7 +727,7 @@ We recommend you install Jackett as a Windows service using the supplied install
|
||||
|
||||
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=net60#dependencies
|
||||
1. Check if you need any .NET prerequisites installed, see https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net80#dependencies
|
||||
2. Download the latest version of the Windows installer, "Jackett.Installer.Windows.exe" from the [releases](https://github.com/Jackett/Jackett/releases/latest) page.
|
||||
3. When prompted if you would like this app to make changes to your computer, select "yes".
|
||||
4. If you would like to install Jackett as a Windows Service, make sure the "Install as Windows Service" checkbox is filled.
|
||||
@@ -794,14 +797,14 @@ On a CentOS/RedHat 7 system: [jewflix.jackett](https://galaxy.ansible.com/jewfli
|
||||
On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chrisjohnson00/jackett)
|
||||
|
||||
|
||||
## Unistallation on Linux
|
||||
## Uninstallation on Linux
|
||||
`wget https://raw.githubusercontent.com/Jackett/Jackett/master/uninstall_service_systemd.sh --quiet -O -|sudo bash`
|
||||
|
||||
|
||||
## Installation on macOS
|
||||
|
||||
### Prerequisites
|
||||
macOS 10.15+ or greater
|
||||
macOS 12.0+ (Monterey) or greater
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Binaries.macOSARM64.tar.gz` release from the [releases](https://github.com/Jackett/Jackett/releases/latest) page.
|
||||
@@ -815,7 +818,7 @@ Logs are stored as usual under `~/.config/Jackett/log.txt`.
|
||||
Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Binaries.macOSARM64.tar.gz` release from the [releases](https://github.com/Jackett/Jackett/releases/latest) page and run Jackett with the command `./jackett`.
|
||||
|
||||
|
||||
## Unistallation on macOS
|
||||
## Uninstallation on macOS
|
||||
`curl -sSL https://raw.githubusercontent.com/Jackett/Jackett/master/uninstall_jackett_macos| bash`
|
||||
|
||||
|
||||
@@ -878,7 +881,7 @@ If you have enabled the Jackett internal cache, but have an indexer for which yo
|
||||
## Configuring FlareSolverr
|
||||
Some indexers are protected by Cloudflare or similar services and Jackett is not able to solve the challenges.
|
||||
For these cases, [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) has been integrated into Jackett. This service is in charge of solving the challenges and configuring Jackett with the necessary cookies.
|
||||
Setting up this service is optional, most indexers don't need it.
|
||||
Setting up this service is optional; most indexers don't need it.
|
||||
* Install FlareSolverr service (following their instructions)
|
||||
* Configure **FlareSolverr API URL** in Jackett. For example: http://172.17.0.2:8191
|
||||
* It is recommended to keep the default value in **FlareSolverr Max Timeout (ms)**
|
||||
@@ -947,21 +950,21 @@ git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f net6.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net6.0/osx-x64/jackett # run jackett
|
||||
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
|
||||
```
|
||||
|
||||
### Linux
|
||||
|
||||
|
||||
```bash
|
||||
sudo apt install nuget msbuild dotnet-sdk-6.0 # install build tools (Debian/ubuntu)
|
||||
sudo apt install nuget msbuild dotnet-sdk-8.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 net6.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net6.0/linux-x64/jackett # run jackett
|
||||
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
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||
@@ -2,24 +2,36 @@
|
||||
name: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
variables:
|
||||
majorVersion: 0
|
||||
minorVersion: 21
|
||||
minorVersion: 22
|
||||
patchVersion: $[counter(variables['minorVersion'], 1)] # this will reset when we bump minor
|
||||
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
buildConfiguration: Release
|
||||
netCoreFramework: net6.0
|
||||
netCoreSdkVersion: 6.0.x
|
||||
netCoreFramework: net8.0
|
||||
netCoreSdkVersion: 8.0.x
|
||||
# system.debug: true
|
||||
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- '*'
|
||||
- master
|
||||
- test/**
|
||||
paths:
|
||||
exclude:
|
||||
- .github
|
||||
- README.md
|
||||
- CONTRIBUTING.md
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- '*'
|
||||
- master
|
||||
- test/**
|
||||
paths:
|
||||
exclude:
|
||||
- .github
|
||||
- README.md
|
||||
- CONTRIBUTING.md
|
||||
|
||||
stages:
|
||||
- stage: BuildJackett
|
||||
@@ -117,7 +129,7 @@ stages:
|
||||
displayName: Build DateTimeRoutines
|
||||
# this task is not mandatory since DateTimeRoutines is build in the next task, but the purpose is to fix:
|
||||
# error MSB4018: System.IO.IOException: The process cannot access the file
|
||||
# '/home/vsts/work/1/net6.0-linux-musl-arm/src/DateTimeRoutines/bin/Release/netstandard2.0/DateTimeRoutines.deps.json'
|
||||
# '/home/vsts/work/1/src/DateTimeRoutines/bin/Release/netstandard2.0/DateTimeRoutines.deps.json'
|
||||
# because it is being used by another process.
|
||||
inputs:
|
||||
command: build
|
||||
@@ -419,7 +431,7 @@ stages:
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
buildDescription: LinuxAMDx64
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
@@ -442,22 +454,23 @@ stages:
|
||||
installationPath: $(Agent.ToolsDirectory)/dotnet
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Unit Tests (Mono, Linux and macOS)
|
||||
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
|
||||
displayName: Unit Tests & Code Coverage
|
||||
inputs:
|
||||
command: test
|
||||
projects: '**/*.Test*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)'
|
||||
projects: '$(Build.SourcesDirectory)/src/**/*.Test*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --framework $(framework) /p:CollectCoverage=true /p:CoverletOutput=$(Build.SourcesDirectory)/coverlet/reports/coverage.cobertura.$(buildDescription).xml /p:CoverletOutputFormat=cobertura /p:IncludeTestAssembly=true /p:ExcludeByAttribute=TestSDKAutoGeneratedCode'
|
||||
testRunTitle: 'Unit - $(buildDescription) - $(Build.BuildId)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Unit Tests & Code Coverage (Windows only)
|
||||
- task: PublishPipelineArtifact@1
|
||||
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
|
||||
inputs:
|
||||
targetPath: $(Build.SourcesDirectory)/coverlet/reports/
|
||||
|
||||
- task: DownloadPipelineArtifact@2
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
command: test
|
||||
projects: '**/*.Test*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --framework $(framework) /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura'
|
||||
testRunTitle: 'Unit - $(buildDescription) - $(Build.BuildId)'
|
||||
downloadPath: $(Build.SourcesDirectory)/coverlet/reports/
|
||||
itemPattern: '**/coverage.cobertura.*.xml'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Install Coverage ReportGenerator Tool (Windows only)
|
||||
@@ -465,21 +478,29 @@ stages:
|
||||
inputs:
|
||||
command: custom
|
||||
custom: tool
|
||||
arguments: install --tool-path . dotnet-reportgenerator-globaltool
|
||||
arguments: install -g dotnet-reportgenerator-globaltool
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Generate Coverage Report (Windows only)
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: ./reportgenerator -reports:$(Build.SourcesDirectory)/src/*.Test*/coverage.*.cobertura.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports -reporttypes:"Cobertura"
|
||||
script: reportgenerator -reports:$(Build.SourcesDirectory)/coverlet/reports/**/coverage.cobertura.*.xml -targetdir:$(Build.SourcesDirectory)/coverlet/reports/final/ -sourcedirs:$(Build.SourcesDirectory)/src/ -reporttypes:"Cobertura"
|
||||
|
||||
- task: PublishCodeCoverageResults@1
|
||||
displayName: Publish Code Coverage (Windows only)
|
||||
displayName: Publish Code Coverage
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
codeCoverageTool: Cobertura
|
||||
summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/Cobertura.xml
|
||||
summaryFileLocation: $(Build.SourcesDirectory)/coverlet/reports/final/Cobertura.xml
|
||||
pathToSources: $(Build.SourcesDirectory)/src/
|
||||
additionalCodeCoverageFiles: $(Agent.TempDirectory)/*.trx
|
||||
failIfCoverageEmpty: true
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
targetPath: $(Build.SourcesDirectory)/coverlet/reports/coverage.cobertura.Windows.net8.0.xml
|
||||
|
||||
- stage: IntegrationTestJackett
|
||||
displayName: Integration Tests
|
||||
@@ -558,20 +579,10 @@ stages:
|
||||
installationPath: $(Agent.ToolsDirectory)/dotnet
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Integration Tests (Mono, Linux and macOS)
|
||||
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
|
||||
displayName: Integration Tests
|
||||
inputs:
|
||||
command: test
|
||||
projects: '**/*IntegrationTest*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework $(framework)'
|
||||
testRunTitle: 'Integration - $(buildDescription) - $(Build.BuildId)'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Integration Tests (Windows only)
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
command: test
|
||||
projects: '**/*IntegrationTest*/*.csproj'
|
||||
projects: '$(Build.SourcesDirectory)/src/**/*IntegrationTest*/*.csproj'
|
||||
arguments: '--configuration $(buildConfiguration) --framework $(framework)'
|
||||
testRunTitle: 'Integration - $(buildDescription) - $(Build.BuildId)'
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
@@ -10,4 +10,8 @@
|
||||
<PropertyGroup Condition="'$(JackettProject)'=='true'">
|
||||
<PathMap>$(MSBuildProjectDirectory)=./$(MSBuildProjectName)/</PathMap>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
||||
@@ -6,24 +6,24 @@ language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
# get status and news on domains at the official site https://1337x-status.org/
|
||||
links:
|
||||
- https://1337x.to/
|
||||
- https://1337x.st/
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.so/
|
||||
- https://1337x.abcproxy.org/
|
||||
- https://x1337x.cc/
|
||||
- https://1337x.unblockninja.com/
|
||||
- https://1337x.ninjaproxy1.com/
|
||||
- https://1337x.proxyninja.org/
|
||||
- https://1337x.proxyninja.net/
|
||||
- https://1337x.torrentbay.st/
|
||||
- https://1337x.torrentsbay.org/
|
||||
legacylinks:
|
||||
- https://1337x.is/
|
||||
- https://1337x.gd/
|
||||
- https://1337x.mrunblock.guru/
|
||||
- https://1337x.mrunblock.life/
|
||||
- https://1337x.unblockit.click/
|
||||
- https://1337x.unblockit.asia/
|
||||
- https://1337x.unblockit.mov/
|
||||
- https://1337x.unblockit.rsvp/
|
||||
@@ -37,8 +37,11 @@ legacylinks:
|
||||
- https://1337x.unblockit.dad/
|
||||
- https://1337x.unblockit.africa/
|
||||
- https://1337x.unblockit.casa/ # 502
|
||||
- https://unblockit.sbs/ # 502
|
||||
- https://unblockit.ong/ # 502
|
||||
- https://1337x.unblockit.sbs/ # 502
|
||||
- https://1337x.unblockit.ong/ # 502
|
||||
- https://1337x.unblockit.black/ # 502
|
||||
- https://1337x.abcproxy.org/
|
||||
- https://1337x.so/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -195,4 +195,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.11 2024-03-27
|
||||
# NexusPHP v1.8.12 2024-05-20
|
||||
|
||||
@@ -181,6 +181,9 @@ search:
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# global MR is 1.0 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
|
||||
@@ -9,15 +9,6 @@ requestDelay: 5
|
||||
links:
|
||||
- https://badasstorrents.com/
|
||||
legacylinks:
|
||||
- https://badasstorrents.nocensor.work/
|
||||
- https://badasstorrents.nocensor.biz/
|
||||
- https://badasstorrents.nocensor.sbs/
|
||||
- https://badasstorrents.nocensor.world/
|
||||
- https://badasstorrents.nocensor.lol/
|
||||
- https://badasstorrents.nocensor.art/
|
||||
- https://badasstorrents.mrunblock.guru/
|
||||
- https://badasstorrents.mrunblock.life/
|
||||
- https://badasstorrents.nocensor.click/
|
||||
- https://badasstorrents.mrunblock.bond/
|
||||
- https://badasstorrents.nocensor.cloud/
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ search:
|
||||
# does not support imdbid searches
|
||||
|
||||
rows:
|
||||
selector: "table#torrenttable > tbody > tr:has(a[onclick]){{ if .Config.freeleech }}:has(img[src$=\"/freeicon.png\"]){{ else }}{{ end }}"
|
||||
selector: "table#torrenttable > tbody > tr:has(a[onclick]):not(:contains(\"Törölt\")){{ if .Config.freeleech }}:has(img[src$=\"/freeicon.png\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
|
||||
@@ -9,13 +9,6 @@ requestDelay: 2
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
legacylinks:
|
||||
- https://bitsearch.nocensor.biz/
|
||||
- https://bitsearch.nocensor.sbs/
|
||||
- https://bitsearch.nocensor.world/
|
||||
- https://bitsearch.nocensor.lol/
|
||||
- https://bitsearch.mrunblock.guru/
|
||||
- https://bitsearch.mrunblock.life/
|
||||
- https://bitsearch.nocensor.click/
|
||||
- https://bitsearch.nocensor.cloud/
|
||||
- https://bitsearch.mrunblock.bond/
|
||||
|
||||
|
||||
@@ -80,7 +80,8 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
|
||||
title: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
|
||||
@@ -174,9 +174,9 @@ search:
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# global MR is 0.6 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
# text: 0.6
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
|
||||
@@ -10,15 +10,16 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 408, cat: Audio, desc: "音乐"}
|
||||
- {id: 409, cat: Other, desc: "其他"}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育竞技"}
|
||||
- {id: 401, cat: Movies, desc: "电影 / Movies"}
|
||||
- {id: 402, cat: TV, desc: "电视剧 / TVSeries"}
|
||||
- {id: 413, cat: TV/Other, desc: "短剧 / Playlet"}
|
||||
- {id: 408, cat: Audio, desc: "音乐 / Music"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动漫 / Anime"}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV"}
|
||||
- {id: 403, cat: Movies, desc: "综艺/真人秀"}
|
||||
- {id: 402, cat: TV, desc: "电视剧"}
|
||||
- {id: 405, cat: TV, desc: "动画"}
|
||||
- {id: 404, cat: TV/Anime, desc: "纪录片"}
|
||||
- {id: 401, cat: Movies, desc: "电影"}
|
||||
- {id: 403, cat: Movies, desc: "综艺 / TV Shows"}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育竞技 / Sports"}
|
||||
- {id: 409, cat: Other, desc: "其他 / Other"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 / Documentary"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -68,7 +68,8 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
searchtext: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
|
||||
title: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
|
||||
206
src/Jackett.Common/Definitions/cyanbug.yml
Normal file
206
src/Jackett.Common/Definitions/cyanbug.yml
Normal file
@@ -0,0 +1,206 @@
|
||||
---
|
||||
id: cyanbug
|
||||
name: cyanbug (大青虫)
|
||||
description: "cyanbug (大青虫) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://cyanbug.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 409, cat: Other, desc: "Others/其他"}
|
||||
- {id: 408, cat: Audio, desc: "Music/音轨"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the cyanbug Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li> Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss 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(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
description_verified:
|
||||
case:
|
||||
span[title="通过"], span[title="通過"], span[title="Allowed"]: "Verified:"
|
||||
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
|
||||
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.9 2023-09-29
|
||||
@@ -6,10 +6,10 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://desitorrents.rocks/
|
||||
- https://torrent.desi/
|
||||
legacylinks:
|
||||
- https://desitorrents.tv/
|
||||
- https://desitorrents.rocks/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -54,10 +54,10 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "<ul><li>Accounts are regarded as inactive when users fail to sign into their accounts for more than 3 months (90 days). Inactive accounts are automatically disabled by a script that runs once every day.</li><li>For new accounts, members must generate some activity by downloading or uploading torrents in the first month (30 days) of their memberships.</li><li>Donors are exempt from automatic account disabling due to inactivity. If you wish to always maintain an active account consider donating.</li></ul>"
|
||||
default: "Inactive accounts will be disabled after 3 months of inactivity, 1 month for new accounts. Members must generate some download or upload activity at least once every 3 months."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
path: /api/v1/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
@@ -68,7 +68,7 @@ search:
|
||||
paths:
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
||||
- path: "/api/torrents/filter"
|
||||
- path: "/api/v1/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ caps:
|
||||
- {id: 13, cat: TV/UHD, desc: Tv/2160p}
|
||||
- {id: 14, cat: TV/HD, desc: Tv/BluRay}
|
||||
- {id: 12, cat: TV/HD, desc: Tv/PACKS}
|
||||
- {id: 15, cat: TV/Sport, desc: Tv/SPORTS}
|
||||
- {id: 17, cat: Other, desc: Unknown}
|
||||
- {id: 18, cat: PC/0day, desc: Apps/0DAY}
|
||||
- {id: 20, cat: PC/ISO, desc: Apps/PC}
|
||||
|
||||
@@ -85,7 +85,7 @@ search:
|
||||
# does not support imdbid searching, or have imdb in results
|
||||
|
||||
rows:
|
||||
selector: table[width="100%"] > tbody > tr:has(a[href^="torrent/"])
|
||||
selector: table[width="100%"] > tbody > tr:has(a[href*="torrent/"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -117,9 +117,9 @@ search:
|
||||
":contains(\"GSM/PDA\")": 31
|
||||
":contains(\"Inne\")": 32
|
||||
title_phase1:
|
||||
selector: a[href^="torrent/"]
|
||||
selector: a[href*="torrent/"]
|
||||
title_multilang:
|
||||
selector: a[href^="torrent/"]
|
||||
selector: a[href*="torrent/"]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(MULTI(?!.*(?:POLISH|ENGLISH|\\bPL\\b)))\\b", "{{ .Config.multilanguage }}"]
|
||||
@@ -128,10 +128,10 @@ search:
|
||||
title:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="torrent/"]
|
||||
selector: a[href*="torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrent/"]
|
||||
selector: a[href*="torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
|
||||
@@ -104,7 +104,7 @@ search:
|
||||
args: [" +(?:19|20)\\d{2} *$", ""]
|
||||
|
||||
rows:
|
||||
selector: table[class="text"][border="0"][cellspacing="0"][cellpadding="4"] > tbody > tr:has(a[href^="details.php?id="]):has(td[class*="tableBody1"])
|
||||
selector: table[class="text"][border="0"][cellspacing="0"][cellpadding="4"] > tbody > tr:has(a[href^="details.php?id="]):has(td[class*="tableBody1"], td[class*="tableBody1B"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
@@ -116,9 +116,9 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_raw:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: div[class="span_title"] > a[href^="details.php?id="]
|
||||
title_stripped:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: div[class="span_title"] > a[href^="details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^(.*/)(.*)$", "$2"]
|
||||
@@ -129,8 +129,11 @@ search:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php/"], a[href^="downloadfl.php/"]
|
||||
attribute: href
|
||||
selector: div.span_icon > a[onclick^="return downloadTorrent"]
|
||||
attribute: onclick
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^return downloadTorrent\\('([^']+)', '([^']+)', ''\\);$", "download.php/$1/$2.torrent"]
|
||||
genre:
|
||||
selector: div.span_title span div
|
||||
_language:
|
||||
|
||||
@@ -9,10 +9,8 @@ links:
|
||||
- https://extratorrent.st/
|
||||
- https://extratorrent.ninjaproxy1.com/
|
||||
- https://extratorrent.proxyninja.org/
|
||||
- https://extratorrent.proxyninja.net/
|
||||
legacylinks:
|
||||
- https://extratorrent.unblockit.boo/
|
||||
- https://extratorrent.mrunblock.guru/
|
||||
- https://extratorrent.unblockit.click/
|
||||
- https://extratorrent.unblockit.asia/
|
||||
- https://extratorrent.unblockit.mov/
|
||||
- https://extratorrent.mrunblock.life/
|
||||
@@ -28,8 +26,9 @@ legacylinks:
|
||||
- https://extratorrent.unblockit.dad/
|
||||
- https://extratorrent.unblockit.africa/
|
||||
- https://extratorrent.unblockit.casa/ # 502
|
||||
- https://unblockit.sbs/ # 502
|
||||
- https://unblockit.ong/ # 502
|
||||
- https://extratorrent.unblockit.sbs/ # 502
|
||||
- https://extratorrent.unblockit.ong/ # 502
|
||||
- https://extratorrent.unblockit.black/ # 502
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -11,18 +11,12 @@ links:
|
||||
- https://eztv.tf/
|
||||
- https://eztv.yt/
|
||||
- https://eztv1.xyz/
|
||||
- https://eztv.abcproxy.org/
|
||||
- https://eztv.unblockit.ong/
|
||||
- https://eztv.unblockninja.com/
|
||||
- https://eztv.ninjaproxy1.com/
|
||||
- https://eztv.proxyninja.org/
|
||||
- https://eztv.unblockit.black/
|
||||
legacylinks:
|
||||
- https://eztv.ag/ # redirects to .re
|
||||
- https://eztv.it/ # redirects to .re
|
||||
- https://eztv.ch/ # redirects to .re
|
||||
- https://eztv.io/
|
||||
- https://eztv.mrunblock.guru/
|
||||
- https://eztv.unblockit.click/
|
||||
- https://eztv.unblockit.asia/
|
||||
- https://eztv.unblockit.mov/
|
||||
- https://eztv.mrunblock.life/
|
||||
@@ -41,6 +35,11 @@ legacylinks:
|
||||
- https://eztv.unblockit.africa/
|
||||
- https://eztv.unblockit.casa/
|
||||
- https://eztv.unblockit.sbs/
|
||||
- https://eztv.unblockninja.com/ # layout=def_wlinks not working
|
||||
- https://eztv.ninjaproxy1.com/ # layout=def_wlinks not working
|
||||
- https://eztv.proxyninja.org/ # layout=def_wlinks not working
|
||||
- https://eztv.abcproxy.org/
|
||||
- https://eztv.unblockit.ong/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -18,6 +18,9 @@ caps:
|
||||
- {id: 6, cat: TV/Sport, desc: "Formula E"}
|
||||
- {id: 7, cat: TV/Sport, desc: "MotoGP"}
|
||||
- {id: 8, cat: TV/Sport, desc: "Nascar"}
|
||||
- {id: 9, cat: TV/Sport, desc: "Formula 3"}
|
||||
- {id: 10, cat: TV/Sport, desc: "DTM"}
|
||||
- {id: 11, cat: TV/Sport, desc: "Rally"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
176
src/Jackett.Common/Definitions/file-shack.yml
Normal file
176
src/Jackett.Common/Definitions/file-shack.yml
Normal file
@@ -0,0 +1,176 @@
|
||||
---
|
||||
id: file-shack
|
||||
name: File-Shack
|
||||
description: "File-Shack is a Private tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://file-shack.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 6, cat: PC/0day, desc: "Apps: Windows"}
|
||||
- {id: 7, cat: PC/Mac, desc: "Apps: Mac"}
|
||||
- {id: 8, cat: PC, desc: "Apps: Linux"}
|
||||
- {id: 75, cat: Movies/DVD, desc: "Movies: DVD"}
|
||||
- {id: 26, cat: Movies/BluRay, desc: "Movies: Blu-Ray"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies: FHD-HD"}
|
||||
- {id: 50, cat: Movies/WEB-DL, desc: "Movies: Web-Dl"}
|
||||
- {id: 74, cat: Movies/SD, desc: "Movies: SD"}
|
||||
- {id: 49, cat: Movies/UHD, desc: "Movies: 4k"}
|
||||
- {id: 46, cat: Movies/3D, desc: "Movies: 3D"}
|
||||
- {id: 24, cat: Movies, desc: "Movies: Packs"}
|
||||
- {id: 28, cat: Movies/Other, desc: "Movies: Cartoons"}
|
||||
- {id: 47, cat: XXX, desc: "Movies: XXX"}
|
||||
- {id: 41, cat: TV/HD, desc: "TV: HD"}
|
||||
- {id: 52, cat: TV/WEB-DL, desc: "TV: WEB-DL"}
|
||||
- {id: 48, cat: TV, desc: "TV: Packs"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "TV: Documentaries"}
|
||||
- {id: 22, cat: Audio/MP3, desc: "Music: MP3"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Music: FLAC"}
|
||||
- {id: 25, cat: Audio/Video, desc: "Music: Video"}
|
||||
- {id: 27, cat: Audio, desc: "Music: Pack"}
|
||||
- {id: 53, cat: PC/Games, desc: "Games: Pc"}
|
||||
- {id: 54, cat: Console, desc: "Games: PsP"}
|
||||
- {id: 76, cat: Audio/Audiobook, desc: "Books: Audio"}
|
||||
- {id: 77, cat: Books/EBook, desc: "Books: eBooks"}
|
||||
- {id: 78, cat: TV/UHD, desc: "TV: 4k"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: id
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are not getting results, then access the site with your browser and mark as read all PMs."
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Be active here, you must login at least once a month. Also, not downloading anything is considered being inactive (except if you're an uploader or VIP). The accounts inactive for 3 months are deleted."
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.myFrame:contains("Access Denied")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="account-logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://file-shack.xyz/torrents-search.php?c22=1&c23=1&c76=1&c77=1&search=&incldead=0&freeleech=0&inclrosub=0
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
# 0 only active 1 incl dead 2 only dead
|
||||
incldead: 1
|
||||
# 0 all 1 not freeleech 2 only freeleech
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="torrents-details.php?id="]:not(a[onmouseover*="images/nocover.png"])
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=([^\s]+)
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
# 15.11.21<br>07:47
|
||||
selector: td:nth-child(5)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "d.MM.yyHH:mm"
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
genre:
|
||||
selector: a:contains("Genre:")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Genre: ", ""]
|
||||
_source:
|
||||
case:
|
||||
img[src="images/t_extern.png"]: External
|
||||
"*": Local
|
||||
description:
|
||||
text: "{{ .Result._source }} - {{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/t_extern.png"]: 0
|
||||
img[src="images/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# global MR is 1.0 but torrents must be seeded for 1 day regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
# engine n/a
|
||||
@@ -9,11 +9,12 @@ links:
|
||||
- https://finelite.org/
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
label: Username
|
||||
- name: password
|
||||
type: text
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -34,6 +35,10 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_finelite
|
||||
type: info
|
||||
label: Login Requirement
|
||||
default: "To successfully login, members must first <a href=\"https://finelite.org/staff.php\" target=\"_blank\">message FinElite staff</a>, asking that their account be whitelisted from captcha validation.</br></br>Onnistuakseen sisäänkirjautumisessa jäsenten on ensin lähetettävä <a href=\"https://finelite.org/staff.php\" target=\"_blank\">viesti FinElite henkilökunnalle</a> ja pyydettävä, että heidän tilinsä poistetaan captcha-varmennuksesta."
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
@@ -75,9 +80,14 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/take_login.php"]
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.notice.notice-error
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout.php"]
|
||||
@@ -149,4 +159,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# custom 4.0.0
|
||||
# FE v4.0.0
|
||||
|
||||
@@ -11,11 +11,6 @@ legacylinks:
|
||||
- https://www.gamestorrents.com/
|
||||
- https://www.gamestorrents.tv/
|
||||
- https://www.gamestorrents.nu/
|
||||
- https://gamestorrents.nocensor.space/
|
||||
- https://gamestorrents.nocensor.work/
|
||||
- https://gamestorrents.nocensor.biz/
|
||||
- https://gamestorrents.nocensor.sbs/
|
||||
- https://gamestorrents.nocensor.world/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
---
|
||||
id: gktorrent
|
||||
name: GkTorrent
|
||||
description: "GkTorrent is a French Public site for TV / MOVIES / GENERAL"
|
||||
description: "GkTorrent is a French Semi-Private site for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
# to fetch current domain use https://www.protege-torrent.com/Gktorrent
|
||||
links:
|
||||
- https://www.gktorrent.pm/
|
||||
- https://www.gktorrent.tw/
|
||||
legacylinks:
|
||||
- https://www.rantop.org/
|
||||
- https://www.torrent.ws/
|
||||
- https://gktorrent.mrunblock.guru/
|
||||
- https://gktorrent.mrunblock.life/
|
||||
- https://gktorrent.nocensor.click/
|
||||
- https://www.gktorrent.ac/
|
||||
- https://www.gktorrent.ph/
|
||||
@@ -29,10 +27,12 @@ legacylinks:
|
||||
- https://www.gktorrent.sh/
|
||||
- https://www.gktorrent.eu/
|
||||
- https://www.gktorrent.xyz/
|
||||
- https://www.gktorrent.pm/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Films, cat: Movies, desc: "Movies"}
|
||||
- {id: Vidéos, cat: Movies, desc: "Vidéos"}
|
||||
- {id: Animes, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: Séries, cat: TV, desc: "TV Series"}
|
||||
- {id: Spectacles, cat: TV, desc: "TV Shows"}
|
||||
@@ -55,6 +55,12 @@ caps:
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
@@ -75,6 +81,22 @@ settings:
|
||||
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||
default: false
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form#formLogin
|
||||
inputs:
|
||||
user: "{{ .Config.username }}"
|
||||
pass: "{{ .Config.password }}"
|
||||
submit: submit
|
||||
error:
|
||||
- selector: :root:contains("Pseudo ou Mot de passe erron")
|
||||
message:
|
||||
text: "Pseudo ou Mot de passe erroné"
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/index.php?page=logout"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?"]
|
||||
@@ -95,7 +117,7 @@ search:
|
||||
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
|
||||
|
||||
rows:
|
||||
selector: table.table-hover > tbody > tr
|
||||
selector: table.table-hover > tbody > tr:has(td a[href])
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -8,17 +8,12 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://glodls.to/
|
||||
- https://gtso.cc/
|
||||
- https://glotorrents.unblockit.ong/
|
||||
- https://glodls.unblockninja.com/
|
||||
- https://glodls.ninjaproxy1.com/
|
||||
- https://glotorrents.unblockit.black/
|
||||
legacylinks:
|
||||
- https://glodls.rocks/
|
||||
- https://gtdb.to/
|
||||
- https://glotorrents.mrunblock.guru/
|
||||
- https://glotorrents.unblockit.click/
|
||||
- https://glotorrents.unblockit.asia/
|
||||
- https://glotorrents.unblockit.mov/
|
||||
- https://glotorrents.mrunblock.life/
|
||||
- https://glotorrents.unblockit.rsvp/
|
||||
- https://gtdb.cc/
|
||||
- https://glotorrents.unblockit.vegas/
|
||||
@@ -34,6 +29,9 @@ legacylinks:
|
||||
- https://glotorrents.unblockit.africa/
|
||||
- https://glotorrents.unblockit.casa/
|
||||
- https://glotorrents.unblockit.sbs/
|
||||
- https://glotorrents.unblockit.ong/
|
||||
- https://glodls.unblockninja.com/ # blank
|
||||
- https://glodls.ninjaproxy1.com/ # blank
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -6,6 +6,8 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://h-p2p.xyz/
|
||||
legacylinks:
|
||||
- https://h-p2p.cam/
|
||||
|
||||
caps:
|
||||
@@ -26,8 +28,6 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -98,6 +98,8 @@ search:
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: ..id
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
@@ -116,10 +118,7 @@ search:
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
text: "{{ .Config.sitelink }}files/img/torrent-cover_{{ .Result._id }}.jpg"
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
@@ -161,8 +160,6 @@ search:
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
|
||||
169
src/Jackett.Common/Definitions/hdkylin.yml
Normal file
169
src/Jackett.Common/Definitions/hdkylin.yml
Normal file
@@ -0,0 +1,169 @@
|
||||
---
|
||||
id: hdkylin
|
||||
name: HDKylin (麒麟)
|
||||
description: "HDKylin (麒麟) is a Private CHINESE tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://na.hdkylin.com/
|
||||
- https://www.hdkyl.in/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 404, cat: Other, desc: "Record Education/纪录教育"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/音乐"}
|
||||
- {id: 421, cat: TV/Other, desc: "Playlet/短剧"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 419, cat: Other, desc: "Study/学习"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育运动"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐视频"}
|
||||
- {id: 411, cat: PC, desc: "software/软件"}
|
||||
- {id: 412, cat: Console, desc: "Game/游戏"}
|
||||
- {id: 413, cat: Books, desc: "Ebook/电子书"}
|
||||
- {id: 409, cat: Other, desc: "Misc/其他"}
|
||||
- {id: 420, cat: TV, desc: "TV Shows/综艺"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-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: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Retention rules:<ol><li>[Veteran User] and above will be retained forever.</li><li>[Elite User] and above will not be deleted after parking their accounts (in the Control Panel).</li><li>Users with a parked account will be deleted if they do not log in for 400 consecutive days.</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days.</li><li>Users with no traffic (i.e. upload/download data are both 0) will have their accounts deleted if they do not log in for 40 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss 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(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.11 2024-03-27
|
||||
@@ -262,16 +262,16 @@ search:
|
||||
args: .
|
||||
- name: append
|
||||
args: "{{ if .Result._release_group }}-{{ .Result._release_group }}{{ else }}{{ end }}"
|
||||
_filename:
|
||||
title_filename:
|
||||
selector: "fileName"
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".mkv", ""]
|
||||
- name: re_replace
|
||||
args: ["\\s÷$", ""]
|
||||
- name: append
|
||||
args: " {{ if and (.Config.add_hybrid_features_to_filename) (eq .Result._hdr \"True\") }}[HDR]{{ else }}{{ end }}{{ if and (.Config.add_hybrid_features_to_filename) (eq .Result._hdr10plus \"True\") }}[HDR10+]{{ else }}{{ end }}{{ if and (.Config.add_hybrid_features_to_filename) (eq .Result._dovi \"True\") }}[DoVi]{{ else }}{{ end }}"
|
||||
title_phase1:
|
||||
text: "{{ if and (eq .Result.files \"1\") (.Result._filename) }}{{ .Result._filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
text: "{{ if and (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
@@ -287,7 +287,10 @@ search:
|
||||
title:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
description:
|
||||
text: "{{ .Result._filename }}"
|
||||
text: "{{ .Result.title_filename }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\s÷$", ""]
|
||||
_free:
|
||||
selector: isFreeleech
|
||||
downloadvolumefactor:
|
||||
|
||||
@@ -128,7 +128,7 @@ search:
|
||||
# does not support sorting results, or imdbid searching, or have imdb in results
|
||||
|
||||
rows:
|
||||
selector: table.header:has(a[href^="details.php?id="])
|
||||
selector: table.header:has(a[href*="download.php?id="]), table.header:has(a[href*="piekielny.php"])
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
|
||||
@@ -18,15 +18,9 @@ legacylinks:
|
||||
- https://ilcorsaronero.pizza/
|
||||
- https://ilcorsaronero.pw/
|
||||
- https://ilcorsaronero.xyz/
|
||||
- https://ilcorsaronero.nocensor.world/
|
||||
- https://ilcorsaronero.nocensor.lol/
|
||||
- https://ilcorsaronero.nocensor.art/
|
||||
- https://ilcorsaronero.torrentbay.to/
|
||||
- https://ilcorsaronero.fun/
|
||||
- https://ilcorsaronero.pro/
|
||||
- https://ilcorsaronero.mrunblock.guru/
|
||||
- https://ilcorsaronero.mrunblock.life/
|
||||
- https://ilcorsaronero.nocensor.click/
|
||||
- https://ilcorsaronero.torrentbay.net/
|
||||
- https://ilcorsaronero.mrunblock.bond/
|
||||
- https://ilcorsaronero.nocensor.cloud/
|
||||
|
||||
@@ -30,6 +30,7 @@ caps:
|
||||
- {id: 97, cat: Movies/UHD, desc: "BluRay 2160p", default: true}
|
||||
- {id: 99, cat: Movies/HD, desc: "BRRip 720p", default: true}
|
||||
- {id: 100, cat: Movies/HD, desc: "BRRip 1080p", default: true}
|
||||
- {id: 101, cat: Movies/HD, desc: "BRRip", default: true}
|
||||
# TV
|
||||
- {id: 23, cat: TV, desc: "TV", default: true}
|
||||
- {id: 24, cat: TV/HD, desc: "HDTV 720p", default: true}
|
||||
|
||||
@@ -10,13 +10,15 @@ links:
|
||||
- https://kickasstorrents.to/
|
||||
- https://kickasstorrent.cr/
|
||||
- https://katcr.to/
|
||||
- https://kickasstorrents.abcproxy.org/
|
||||
- https://kickasstorrents.unblockninja.com/
|
||||
- https://kickasstorrents.ninjaproxy1.com/
|
||||
- https://kickasstorrents.proxyninja.org/
|
||||
- https://kickasstorrents.proxyninja.net/
|
||||
- https://kickass.torrentbay.st/
|
||||
- https://kickass.torrentsbay.org/
|
||||
legacylinks:
|
||||
- https://kat.root.yt/
|
||||
- https://kickasstorrents.abcproxy.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -73,7 +73,7 @@ search:
|
||||
- path: "{{ if .Keywords }}usearch/{{ .Keywords }}/{{ else }}new/{{ end }}?field={{ .Config.sort }}&sorder={{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.data tr[id]
|
||||
selector: table.data tr[id]:has(a[data-download])
|
||||
|
||||
fields:
|
||||
category_optional:
|
||||
@@ -93,7 +93,7 @@ search:
|
||||
attribute: href
|
||||
download:
|
||||
# the official site delivers mylink so we skip to the magnet URI
|
||||
selector: td:nth-child(1) > div > a[data-download=""]
|
||||
selector: td:nth-child(1) > div > a[data-download]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: kimoji
|
||||
name: KIMOJI
|
||||
description: "KIMOJI is a CHINESE Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
description: "KIMOJI is a CHINESE Private Torrent Tracker for MUSIC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -10,15 +10,10 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "电影"}
|
||||
- {id: 2, cat: TV, desc: "剧集"}
|
||||
- {id: 3, cat: Audio, desc: "音乐"}
|
||||
- {id: 4, cat: Audio/Audiobook, desc: "有声"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
@@ -73,11 +68,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 }}"
|
||||
@@ -92,6 +82,8 @@ search:
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: ..id
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
@@ -103,33 +95,16 @@ search:
|
||||
infohash:
|
||||
selector: info_hash
|
||||
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
|
||||
text: "{{ .Config.sitelink }}files/img/torrent-cover_{{ .Result._id }}.jpg"
|
||||
genre:
|
||||
selector: meta.genres
|
||||
selector: distributor
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)^None$", ""]
|
||||
args: ["(?i)(Hard Rock)", "Hard_Rock"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movies)", "TV_Movies"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Reality TV)", "Reality_TV"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Soap Opera)", "Soap_Opera"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Talk Show)", "Talk_Show"]
|
||||
args: ["(?i)(World Music)", "World_Music"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
args: ["/", "_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
|
||||
@@ -16,6 +16,7 @@ caps:
|
||||
- {id: 4, cat: Console, desc: "Game"}
|
||||
- {id: 5, cat: PC, desc: "Application"}
|
||||
- {id: 6, cat: Books, desc: "Books"}
|
||||
- {id: 8, cat: TV/Sport, desc: "Sports"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -91,6 +91,10 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You are required to log in once per month. We will be purging user accounts via automated script set at an undisclosed interval."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -209,6 +213,6 @@ search:
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.0.1
|
||||
# json UNIT3D 8.1.3
|
||||
|
||||
@@ -1,159 +0,0 @@
|
||||
---
|
||||
id: leech24
|
||||
name: leech24
|
||||
description: "leech24 is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://leech24.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 28, cat: TV/Anime, desc: "Anime: All"}
|
||||
- {id: 20, cat: PC, desc: "Apps: Linux"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Apps: Mac"}
|
||||
- {id: 21, cat: PC/Mobile-Other, desc: "Apps: Other"}
|
||||
- {id: 18, cat: PC/0day, desc: "Apps: PC"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "Documentaries: All"}
|
||||
- {id: 45, cat: Console/NDS, desc: "Games: DS"}
|
||||
- {id: 16, cat: Console/Other, desc: "Games: Dreamcast"}
|
||||
- {id: 46, cat: Console/Other, desc: "Games: GameCube"}
|
||||
- {id: 49, cat: Console/NDS, desc: "Games: Nintendo"}
|
||||
- {id: 17, cat: Console/Other, desc: "Games: Other"}
|
||||
- {id: 10, cat: PC/Games, desc: "Games: PC"}
|
||||
- {id: 15, cat: Console/PSP, desc: "Games: PS"}
|
||||
- {id: 12, cat: Console/PSP, desc: "Games: PSP"}
|
||||
- {id: 44, cat: Console/Wii, desc: "Games: Wii"}
|
||||
- {id: 13, cat: Console/XBox, desc: "Games: Xbox"}
|
||||
- {id: 14, cat: Console/XBox 360, desc: "Games: Xbox360"}
|
||||
- {id: 3, cat: Movies/UHD, desc: "Movies: 4K"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "Movies: DVD"}
|
||||
- {id: 2, cat: Movies/SD, desc: "Movies: Divx/Xvid"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies: HD"}
|
||||
- {id: 4, cat: Movies/Other, desc: "Movies: Other"}
|
||||
- {id: 48, cat: Movies, desc: "Movies: Packs"}
|
||||
- {id: 24, cat: Audio/Video, desc: "Music: DVD"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Music: Lossless"}
|
||||
- {id: 22, cat: Audio/MP3, desc: "Music: MP3"}
|
||||
- {id: 27, cat: Audio/Other, desc: "Music: Other"}
|
||||
- {id: 26, cat: Audio/Other, desc: "Music: Radio"}
|
||||
- {id: 25, cat: Audio/Video, desc: "Music: Video"}
|
||||
- {id: 36, cat: Books/EBook, desc: "Other: E-Books"}
|
||||
- {id: 33, cat: PC, desc: "Other: Emulation"}
|
||||
- {id: 39, cat: Other, desc: "Other: Extra Pars/Fills"}
|
||||
- {id: 37, cat: Other, desc: "Other: Images"}
|
||||
- {id: 38, cat: PC/Mobile-Other, desc: "Other: Mobile Phone"}
|
||||
- {id: 40, cat: Other, desc: "Other: Other"}
|
||||
- {id: 34, cat: PC/Mobile-Other, desc: "Other: PPC/PDA"}
|
||||
- {id: 35, cat: Audio, desc: "Other: Sounds"}
|
||||
- {id: 5, cat: TV/SD, desc: "TV: DVD"}
|
||||
- {id: 6, cat: TV/SD, desc: "TV: Divx/Xvid"}
|
||||
- {id: 41, cat: TV/HD, desc: "TV: HD"}
|
||||
- {id: 7, cat: TV/Other, desc: "TV: pack"}
|
||||
- {id: 47, cat: XXX, desc: "xxx: xxx"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-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: id
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://leech24.net/torrents-search.php?c3=1&c1=1&c2=1&c42=1&c4=1&c7=1&search=&cat=0&incldead=1&freeleech=0&lang=0
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
cat: 0
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
# 0 all, 1 notfree, 2 onlyfree
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 all, 1 english, etc
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# does not support imdbid search and does not return imdb link in results
|
||||
|
||||
# The search page states that: You can search using phrases contained within , you can include words with + you can exclude words with -
|
||||
# but adding + to words causes 0 results, so we will add an andmatch since the default seems to be a keywords OR search.
|
||||
# keywordsfilters:
|
||||
# - name: re_replace
|
||||
# args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner tr.t-row:has(a[href^="download.php?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# TorrentTrader v2-svn
|
||||
@@ -8,18 +8,16 @@ encoding: UTF-8
|
||||
# changes to this indexer should also be made to limetorrentsclone
|
||||
links:
|
||||
- https://www.limetorrents.lol/
|
||||
- https://limetorrents.abcproxy.org/
|
||||
- https://limetorrents.unblockit.ong/
|
||||
- https://limetorrents.unblockit.black/
|
||||
- https://limetorrents.unblockninja.com/
|
||||
- https://limetorrents.ninjaproxy1.com/
|
||||
- https://limetorrents.proxyninja.org/
|
||||
- https://limetorrents.proxyninja.net/
|
||||
- https://limetorrents.torrentbay.st/
|
||||
- https://limetorrents.torrentsbay.org/
|
||||
legacylinks:
|
||||
- https://limetorrents.mrunblock.guru/
|
||||
- https://limetorrents.unblockit.click/
|
||||
- https://limetorrents.unblockit.asia/
|
||||
- https://limetorrents.unblockit.mov/
|
||||
- https://limetorrents.mrunblock.life/
|
||||
- https://limetorrents.unblockit.rsvp/
|
||||
- https://limetorrents.unblockit.vegas/
|
||||
- https://limetorrents.unblockit.esq/
|
||||
@@ -33,6 +31,8 @@ legacylinks:
|
||||
- https://limetorrents.unblockit.africa/
|
||||
- https://limetorrents.unblockit.casa/
|
||||
- https://limetorrents.unblockit.sbs/
|
||||
- https://limetorrents.unblockit.ong/
|
||||
- https://limetorrents.abcproxy.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -93,17 +93,13 @@ search:
|
||||
args: ["(\\w+)", "%$1"]
|
||||
|
||||
rows:
|
||||
selector: table#tor-tbl > tbody > tr.hl-tr
|
||||
selector: tr.table_fon
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="/cat/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
text: 169
|
||||
title:
|
||||
selector: a.tLink
|
||||
selector: a[href^="/torrent/"]
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
@@ -161,60 +157,51 @@ search:
|
||||
- name: append
|
||||
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a.tLink
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a.tr-dl
|
||||
selector: a[href^="/download/"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img.tor-icon
|
||||
attribute: src
|
||||
size:
|
||||
selector: a.tr-dl
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: span.seedmed
|
||||
selector: td:last-child font:first-of-type
|
||||
leechers:
|
||||
text: 1
|
||||
selector: td:last-child font:last-of-type
|
||||
date:
|
||||
# Добавлен: 5 октября 2021 в 06:56:08
|
||||
selector: p
|
||||
# 28 Мая 24
|
||||
selector: td:first-child
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Добавлен: ", ""]
|
||||
args: ["Янв", "January"]
|
||||
- name: replace
|
||||
args: [" в ", " "]
|
||||
args: ["Фев", "February"]
|
||||
- name: replace
|
||||
args: ["января", "January"]
|
||||
args: ["Мар", "March"]
|
||||
- name: replace
|
||||
args: ["февраля", "February"]
|
||||
args: ["Апр", "Apr"]
|
||||
- name: replace
|
||||
args: ["марта", "March"]
|
||||
args: ["Мая", "May"]
|
||||
- name: replace
|
||||
args: ["апреля", "April"]
|
||||
args: ["Июн", "Jun"]
|
||||
- name: replace
|
||||
args: ["мая", "May"]
|
||||
args: ["Июл", "Jul"]
|
||||
- name: replace
|
||||
args: ["июня", "June"]
|
||||
args: ["Авг", "Aug"]
|
||||
- name: replace
|
||||
args: ["июля", "July"]
|
||||
args: ["Сен", "Sep"]
|
||||
- name: replace
|
||||
args: ["августа", "August"]
|
||||
args: ["Окт", "Oct"]
|
||||
- name: replace
|
||||
args: ["сентября", "September"]
|
||||
args: ["Ноя", "Nov"]
|
||||
- name: replace
|
||||
args: ["октября", "October"]
|
||||
- name: replace
|
||||
args: ["ноября", "November"]
|
||||
- name: replace
|
||||
args: ["декабря", "December"]
|
||||
args: ["Дек", "Dec"]
|
||||
- name: append
|
||||
args: " +03:00" # MSK
|
||||
- name: dateparse
|
||||
args: "d MMMM yyyy HH:mm:ss zzz"
|
||||
args: "d MMM yy zzz"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
description:
|
||||
selector: a.tLink
|
||||
# engine n/a
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
---
|
||||
id: brsociety-api
|
||||
name: BrSociety (API)
|
||||
description: "BrSociety (SemeandoCC) is a BRAZILIAN Private Torrent Tracker for E-LEARNING"
|
||||
language: pt-BR
|
||||
id: metalwrks
|
||||
name: METALWRKS
|
||||
description: "METALWRKS is an AUSTRALIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-AU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://brsociety.club/
|
||||
- https://metalworks.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "Cursos"}
|
||||
- {id: 2, cat: Books/EBook, desc: "eBooks"}
|
||||
- {id: 5, cat: Books/Mags, desc: "Revistas"}
|
||||
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 4, cat: Other, desc: "Arquivos de Auxilio"}
|
||||
- {id: 6, cat: Other, desc: "Graduação"}
|
||||
- {id: 7, cat: TV/Documentary, desc: "Documentários"}
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 4, cat: Audio, desc: "Music"}
|
||||
- {id: 3, cat: Console, desc: "Games"}
|
||||
- {id: 5, cat: PC, desc: "Software"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -30,11 +29,15 @@ settings:
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://brsociety.club/\" target=\"_blank\">BrSociety</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://metalworks.lol/\" target=\"_blank\">METALWRKS</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
|
||||
@@ -54,7 +57,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Your account will be considered inactive if it exceeds 90 days without you logging in to the Website. After 90 days of inactivity (i.e., 180 days without login) it will be deleted from the tracker."
|
||||
default: "Accounts that are inactive for more than 60 days may be disabled."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -76,8 +79,14 @@ search:
|
||||
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 }}"
|
||||
@@ -94,19 +103,41 @@ search:
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title:
|
||||
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
|
||||
magnet:
|
||||
selector: magnet_link
|
||||
optional: true
|
||||
infohash:
|
||||
selector: info_hash
|
||||
files:
|
||||
selector: num_file
|
||||
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
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -139,10 +170,9 @@ search:
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# global MR is 0.7 but torrents must be seeded for 4 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.7
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# json UNIT3D 7.1.3 (custom)
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 8.1.3
|
||||
@@ -10,15 +10,15 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music of Movie"}
|
||||
- {id: 4, cat: PC, desc: "Game"}
|
||||
- {id: 5, cat: Movies, desc: "Action Live"}
|
||||
- {id: 6, cat: Movies/Other, desc: "Anime Movie"}
|
||||
- {id: 7, cat: Movies/Other, desc: "Anime Live"}
|
||||
- {id: 8, cat: TV/Anime, desc: "Anime TV"}
|
||||
- {id: 6, cat: Movies/Other, desc: "Anime Movie"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 9, cat: Audio, desc: "Music of TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music of Movie"}
|
||||
- {id: 7, cat: Movies/Other, desc: "Anime Live"}
|
||||
- {id: 5, cat: Movies, desc: "Action Live"}
|
||||
- {id: 4, cat: PC, desc: "Game"}
|
||||
- {id: 11, cat: TV/Anime, desc: "Airing Anime TV"}
|
||||
|
||||
modes:
|
||||
@@ -128,8 +128,6 @@ search:
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)^None$", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
|
||||
@@ -308,6 +308,7 @@ caps:
|
||||
- {id: 442, cat: Books, desc: " |- Точные и естественные науки"}
|
||||
- {id: 441, cat: Books, desc: " |- Техническая литература"}
|
||||
- {id: 875, cat: Books, desc: " |- Военно-историческая литература"}
|
||||
- {id: 1176, cat: Books, desc: " |- Историческая литература"}
|
||||
- {id: 444, cat: Books, desc: " |- Научно-популярная литература"}
|
||||
- {id: 443, cat: Books, desc: " |- Здоровье и медицина"}
|
||||
- {id: 440, cat: Books, desc: " |- Нормативная документация"}
|
||||
@@ -318,12 +319,14 @@ caps:
|
||||
- {id: 817, cat: Books, desc: " |- 2D графика"}
|
||||
- {id: 818, cat: Books, desc: " |- 3D графика"}
|
||||
- {id: 434, cat: Books, desc: "Художественная литература"}
|
||||
- {id: 1349, cat: Books, desc: " |- Библиотеки"}
|
||||
- {id: 957, cat: Books, desc: " |- Многоавторские сборники и Библиотеки"}
|
||||
- {id: 931, cat: Books, desc: " |- Собрания книг русскоязычных авторов"}
|
||||
- {id: 1152, cat: Books, desc: " |- Собрания книг иностранных авторов"}
|
||||
- {id: 455, cat: Books, desc: " |- Сатира, Юмор"}
|
||||
- {id: 1153, cat: Books, desc: " |- Боевики"}
|
||||
- {id: 453, cat: Books, desc: " |- Детективы"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая проза "}
|
||||
- {id: 452, cat: Books, desc: " |- Исторические книги"}
|
||||
- {id: 449, cat: Books, desc: " |- Классика, Проза, Поэзия"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая литература"}
|
||||
@@ -388,7 +391,6 @@ caps:
|
||||
- {id: 492, cat: Books, desc: "Разное (категория книг)"}
|
||||
- {id: 558, cat: Books, desc: " |- Бизнес, Менеджмент, Деловая литература"}
|
||||
- {id: 1173, cat: Books, desc: " |- Публицистика"}
|
||||
- {id: 1176, cat: Books, desc: " |- Историография"}
|
||||
- {id: 1174, cat: Books, desc: " |- Популярная психология и саморазвитие"}
|
||||
- {id: 1171, cat: Books, desc: " |- Эзотерика"}
|
||||
- {id: 662, cat: Books, desc: " |- Религиозная литература"}
|
||||
|
||||
@@ -308,6 +308,7 @@ caps:
|
||||
- {id: 442, cat: Books, desc: " |- Точные и естественные науки"}
|
||||
- {id: 441, cat: Books, desc: " |- Техническая литература"}
|
||||
- {id: 875, cat: Books, desc: " |- Военно-историческая литература"}
|
||||
- {id: 1176, cat: Books, desc: " |- Историческая литература"}
|
||||
- {id: 444, cat: Books, desc: " |- Научно-популярная литература"}
|
||||
- {id: 443, cat: Books, desc: " |- Здоровье и медицина"}
|
||||
- {id: 440, cat: Books, desc: " |- Нормативная документация"}
|
||||
@@ -318,12 +319,14 @@ caps:
|
||||
- {id: 817, cat: Books, desc: " |- 2D графика"}
|
||||
- {id: 818, cat: Books, desc: " |- 3D графика"}
|
||||
- {id: 434, cat: Books, desc: "Художественная литература"}
|
||||
- {id: 1349, cat: Books, desc: " |- Библиотеки"}
|
||||
- {id: 957, cat: Books, desc: " |- Многоавторские сборники и Библиотеки"}
|
||||
- {id: 931, cat: Books, desc: " |- Собрания книг русскоязычных авторов"}
|
||||
- {id: 1152, cat: Books, desc: " |- Собрания книг иностранных авторов"}
|
||||
- {id: 455, cat: Books, desc: " |- Сатира, Юмор"}
|
||||
- {id: 1153, cat: Books, desc: " |- Боевики"}
|
||||
- {id: 453, cat: Books, desc: " |- Детективы"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая проза "}
|
||||
- {id: 452, cat: Books, desc: " |- Исторические книги"}
|
||||
- {id: 449, cat: Books, desc: " |- Классика, Проза, Поэзия"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая литература"}
|
||||
@@ -388,7 +391,6 @@ caps:
|
||||
- {id: 492, cat: Books, desc: "Разное (категория книг)"}
|
||||
- {id: 558, cat: Books, desc: " |- Бизнес, Менеджмент, Деловая литература"}
|
||||
- {id: 1173, cat: Books, desc: " |- Публицистика"}
|
||||
- {id: 1176, cat: Books, desc: " |- Историография"}
|
||||
- {id: 1174, cat: Books, desc: " |- Популярная психология и саморазвитие"}
|
||||
- {id: 1171, cat: Books, desc: " |- Эзотерика"}
|
||||
- {id: 662, cat: Books, desc: " |- Религиозная литература"}
|
||||
|
||||
@@ -22,12 +22,6 @@ legacylinks:
|
||||
- https://nyaa.uk-unblock.pro/
|
||||
- https://nyaa.root.yt/
|
||||
- https://nyaa.lol/ # dropped at request of owner
|
||||
- https://nyaa.nocensor.world/
|
||||
- https://nyaa.nocensor.lol/
|
||||
- https://nyaa.nocensor.art/
|
||||
- https://nyaa.mrunblock.guru/
|
||||
- https://nyaa.mrunblock.life/
|
||||
- https://nyaa.nocensor.click/
|
||||
- https://nyaa.mrunblock.bond/ # for magnets only
|
||||
- https://nyaa.nocensor.cloud/
|
||||
|
||||
|
||||
@@ -7,10 +7,11 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.oxtorrent.co/
|
||||
- https://oxtorrent.unblockit.ong/
|
||||
- https://oxtorrent.unblockit.black/
|
||||
legacylinks:
|
||||
- https://oxtorrent.unblockit.casa/
|
||||
- https://oxtorrent.unblockit.sbs/
|
||||
- https://oxtorrent.unblockit.ong/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -153,6 +153,6 @@ search:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 6.3.0
|
||||
|
||||
@@ -11,6 +11,7 @@ links:
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 6, cat: PC/0day, desc: "Aplikacje/Programy"}
|
||||
- {id: 26, cat: Movies, desc: "iNTERNAL"}
|
||||
- {id: 4, cat: TV/Anime, desc: "Bajki/Anime"}
|
||||
- {id: 1, cat: Movies/HD, desc: "Filmy HD"}
|
||||
- {id: 13, cat: Movies/DVD, desc: "DVD5/9"}
|
||||
@@ -19,10 +20,10 @@ caps:
|
||||
- {id: 16, cat: Movies/SD, desc: "Filmy SD"}
|
||||
- {id: 17, cat: Movies/Other, desc: "Filmy inne"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Dokumentalne"}
|
||||
- {id: 5, cat: PC/Games, desc: "Gry pc"}
|
||||
- {id: 24, cat: PC/Games, desc: "Gry dodatki"}
|
||||
- {id: 18, cat: PC/Mobile-Android, desc: "Mobile"}
|
||||
- {id: 5, cat: PC/Games, desc: "Gry pc"}
|
||||
- {id: 10, cat: Console, desc: "Gry Konsole"}
|
||||
- {id: 18, cat: PC/Mobile-Android, desc: "Mobile"}
|
||||
- {id: 19, cat: Other, desc: "Inne"}
|
||||
- {id: 8, cat: Audio, desc: "Muzyka"}
|
||||
- {id: 11, cat: Movies, desc: "Paczki"}
|
||||
|
||||
@@ -53,6 +53,7 @@ settings:
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
allowEmptyInputs: true
|
||||
inputs:
|
||||
view: Main
|
||||
search: "{{ .Keywords }}"
|
||||
|
||||
@@ -96,20 +96,17 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://rptscene.xyz/torrents-search.php?c22=1&c23=1&c76=1&c77=1&search=&incldead=0&freeleech=0&inclrosub=0
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
# 0 both 1 local 2 external
|
||||
inclexternal: 0
|
||||
# 0 only active 1 incl dead 2 only dead
|
||||
incldead: 1
|
||||
# 0 all 1 not freeleech 2 only freeleech
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 all 1 english 2 french 3 german 4 italian 5 japanese 6 spanish 7 russian 8 other
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# can search for only one at a time of name, genre or imdbid
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr
|
||||
|
||||
@@ -7,27 +7,9 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://25may.rudub.online/
|
||||
- https://13june.rudub.online/
|
||||
legacylinks:
|
||||
- https://rudub.online/
|
||||
- https://26april.rudub.online/
|
||||
- https://27april.rudub.online/
|
||||
- https://28april.rudub.online/
|
||||
- https://29april.rudub.online/
|
||||
- https://30april.rudub.online/
|
||||
- https://01may.rudub.online/
|
||||
- https://02may.rudub.online/
|
||||
- https://03may.rudub.online/
|
||||
- https://04may.rudub.online/
|
||||
- https://05may.rudub.online/
|
||||
- https://06may.rudub.online/
|
||||
- https://07may.rudub.online/
|
||||
- https://08may.rudub.online/
|
||||
- https://09may.rudub.online/
|
||||
- https://10may.rudub.online/
|
||||
- https://11may.rudub.online/
|
||||
- https://12may.rudub.online/
|
||||
- https://13may.rudub.online/
|
||||
- https://14may.rudub.online/
|
||||
- https://15may.rudub.online/
|
||||
- https://16may.rudub.online/
|
||||
@@ -39,6 +21,25 @@ legacylinks:
|
||||
- https://22may.rudub.online/
|
||||
- https://23may.rudub.online/
|
||||
- https://24may.rudub.online/
|
||||
- https://25may.rudub.online/
|
||||
- https://26may.rudub.online/
|
||||
- https://27may.rudub.online/
|
||||
- https://28may.rudub.online/
|
||||
- https://29may.rudub.online/
|
||||
- https://30may.rudub.online/
|
||||
- https://31may.rudub.online/
|
||||
- https://01june.rudub.online/
|
||||
- https://02june.rudub.online/
|
||||
- https://03june.rudub.online/
|
||||
- https://04june.rudub.online/
|
||||
- https://05june.rudub.online/
|
||||
- https://06june.rudub.online/
|
||||
- https://07june.rudub.online/
|
||||
- https://08june.rudub.online/
|
||||
- https://09june.rudub.online/
|
||||
- https://10june.rudub.online/
|
||||
- https://11june.rudub.online/
|
||||
- https://12june.rudub.online/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -17,15 +17,7 @@ legacylinks:
|
||||
- https://rutor.root.yt/
|
||||
- https://rutor.unblocked.rest/
|
||||
- https://rutor.unblocked.monster/
|
||||
- https://rutor.nocensor.space/
|
||||
- https://rutor.nocensor.work/
|
||||
- http://6tor.org/
|
||||
- https://rutor.nocensor.world/
|
||||
- https://rutor.nocensor.lol/
|
||||
- https://rutor.nocensor.art/
|
||||
- https://rutor.mrunblock.guru/
|
||||
- https://rutor.mrunblock.life/
|
||||
- https://rutor.nocensor.click/
|
||||
- https://rutor.mrunblock.bond/ # for magnet only
|
||||
- https://rutor.nocensor.cloud/
|
||||
- http://new-rutor.org/ # Oops. Something went wrong, try reloading the page
|
||||
|
||||
@@ -27,12 +27,12 @@ caps:
|
||||
- {id: 20, cat: Movies/DVD, desc: "Movies: DVD"}
|
||||
- {id: 21, cat: Movies/DVD, desc: "Movies: DVD-Ro"}
|
||||
- {id: 19, cat: TV/Documentary, desc: "Docs"}
|
||||
- {id: 18, cat: Other, desc: "Wallpapers"}
|
||||
- {id: 17, cat: Audio/Video, desc: "Videos"}
|
||||
- {id: 18, cat: Other, desc: "Images"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 16, cat: Console, desc: "Games: Console"}
|
||||
- {id: 4, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 5, cat: PC, desc: "Application"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 10, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
@@ -189,6 +189,6 @@ search:
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 7.0.3
|
||||
|
||||
194
src/Jackett.Common/Definitions/sfp.yml
Normal file
194
src/Jackett.Common/Definitions/sfp.yml
Normal file
@@ -0,0 +1,194 @@
|
||||
---
|
||||
id: sfp
|
||||
name: SFP
|
||||
description: "SFP (Share Friends Projekt) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://s-f-p.dyndns.dk/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 111, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 113, cat: TV/Anime, desc: "Anime - Filme"}
|
||||
- {id: 137, cat: TV/Anime, desc: "Anime - Serien"}
|
||||
- {id: 170, cat: TV/Anime, desc: "Anime - Serienpacks"}
|
||||
- {id: 92, cat: PC, desc: "Apps"}
|
||||
- {id: 136, cat: PC/Mobile-Android, desc: "Apps- Android"}
|
||||
- {id: 122, cat: PC/Mobile-iOS, desc: "Apps- iOS"}
|
||||
- {id: 100, cat: PC, desc: "Apps- Linux"}
|
||||
- {id: 99, cat: PC/0day, desc: "Apps - Windows"}
|
||||
- {id: 164, cat: TV/Documentary, desc: "Doku"}
|
||||
- {id: 171, cat: TV/Documentary, desc: "Doku - HD"}
|
||||
- {id: 173, cat: TV/Documentary, desc: "Doku - Packs"}
|
||||
- {id: 172, cat: TV/Documentary, desc: "Doku - SD"}
|
||||
- {id: 165, cat: XXX, desc: "Erotik Filme"}
|
||||
- {id: 166, cat: XXX, desc: "Erotik Filme - XXX"}
|
||||
- {id: 74, cat: Movies, desc: "Filme"}
|
||||
- {id: 77, cat: Movies/DVD, desc: "Filme - DVD"}
|
||||
- {id: 82, cat: Movies/HD, desc: "Filme - HD 1080"}
|
||||
- {id: 79, cat: Movies/HD, desc: "Filme - HD 720"}
|
||||
- {id: 76, cat: Movies/SD, desc: "Filme - SD"}
|
||||
- {id: 160, cat: Movies/UHD, desc: "Filme - UHD"}
|
||||
- {id: 124, cat: Movies, desc: "Kid's Only"}
|
||||
- {id: 125, cat: Movies, desc: "Kids - Filme"}
|
||||
- {id: 127, cat: Audio/Audiobook, desc: "Kids - Hörbücher"}
|
||||
- {id: 129, cat: Audio, desc: "Kids - Musik"}
|
||||
- {id: 139, cat: TV, desc: "Kids - Serien"}
|
||||
- {id: 75, cat: Audio, desc: "Musik"}
|
||||
- {id: 146, cat: Audio, desc: "Musik - Flac"}
|
||||
- {id: 88, cat: Audio/MP3, desc: "Musik - MP3"}
|
||||
- {id: 161, cat: Audio, desc: "Musik - Packs"}
|
||||
- {id: 90, cat: Audio/Video, desc: "Musik - Videos"}
|
||||
- {id: 106, cat: TV, desc: "Serien"}
|
||||
- {id: 130, cat: TV/HD, desc: "Serien - HD"}
|
||||
- {id: 133, cat: TV/HD, desc: "Serien - Packs HD"}
|
||||
- {id: 134, cat: TV/SD, desc: "Serien - Packs SD"}
|
||||
- {id: 163, cat: TV/UHD, desc: "Serien - Packs UHD<"}
|
||||
- {id: 131, cat: TV/SD, desc: "Serien - SD"}
|
||||
- {id: 162, cat: TV/UHD, desc: "Serien - UHD"}
|
||||
- {id: 109, cat: Other, desc: "Sonstiges"}
|
||||
- {id: 123, cat: Audio/Audiobook, desc: "Sonstiges - A-Books"}
|
||||
- {id: 110, cat: Books/EBook, desc: "Sonstiges - E-Books"}
|
||||
- {id: 178, cat: Movies/Foreign, desc: "Sonstiges - Filme - Englisch"}
|
||||
- {id: 158, cat: Movies, desc: "Sonstiges - Klassiker"}
|
||||
- {id: 159, cat: Movies/HD, desc: "Sonstiges - SFP - Highlights"}
|
||||
- {id: 176, cat: TV/Sport, desc: "Sonstiges - Sport"}
|
||||
- {id: 91, cat: Console, desc: "Spiele"}
|
||||
- {id: 94, cat: Console/NDS, desc: "Spiele - Nintendo"}
|
||||
- {id: 93, cat: PC/Games, desc: "Spiele - PC Games"}
|
||||
- {id: 45, cat: Console/PS3, desc: "Spiele - Playstation"}
|
||||
- {id: 119, cat: Console/XBox, desc: "Spiele - Xbox"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, leave the <b>Anzahl der Torrents pro Seite:</b> setting to <b>Nutze die voreingestellten Werte</b> on your account profile. This returns <i>50</i> per page.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactive users are not welcome on the tracker. Anyone who does not delete (or seed) a file at least once a month risks having their account deactivated."
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
error:
|
||||
- selector: table:contains("Fehler")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php?logouthash="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[\\s]+", "%"]
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}"
|
||||
# does not support multi category searching so defaulting to all.
|
||||
category: 0
|
||||
# yes, no
|
||||
include_dead_torrents: yes
|
||||
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
|
||||
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
|
||||
# does not return imdb link in results
|
||||
|
||||
rows:
|
||||
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/browse.php?category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: a[href*="/details.php?id="]
|
||||
details:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src*="/torrents/images/"]
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{2}-\\d{2}-\\d{2} \\d{2}:\\d{2})"
|
||||
- name: dateparse
|
||||
args: "dd-MM-yy HH:mm"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
description:
|
||||
# Wait: 4 h
|
||||
# Cekanje: 4 h
|
||||
selector: div.tooltip-content > div:last-child
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
img[src$="/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="/x2.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.7
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# TS Special Edition v.8.0
|
||||
@@ -58,8 +58,9 @@ search:
|
||||
download:
|
||||
selector: a[href^="thread-"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: span.date
|
||||
date_elapsed:
|
||||
selector: span.date:contains("前")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["秒前", " seconds ago"]
|
||||
@@ -74,6 +75,16 @@ search:
|
||||
- name: replace
|
||||
args: ["年前", " years ago"]
|
||||
- name: timeago
|
||||
date_added:
|
||||
selector: span.date:not(:contains("前"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-M-d zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
text: 512MB
|
||||
seeders:
|
||||
|
||||
@@ -53,7 +53,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactivity on the SkipTheCommercials web site for more than 90 days will lead to account being disabled."
|
||||
default: "You must be seeding at least 1 torrent or login once every 90 days to not get pruned. Once pruned, you will get additional 30 days to reactivate your account by logging in."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
@@ -10,7 +10,6 @@ links:
|
||||
- https://solidtorrents.to/
|
||||
legacylinks:
|
||||
- https://solidtorrents.net/
|
||||
- https://solidtorrents.nocensor.click/
|
||||
- https://solidtorrents.eu/
|
||||
- https://solidtorrents.nocensor.cloud/
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ links:
|
||||
- https://thepiratebay.unblockninja.com/
|
||||
- https://thepiratebay.ninjaproxy1.com/
|
||||
- https://tpb.proxyninja.org/
|
||||
- https://tpb.proxyninja.net/
|
||||
- https://thepiratebay.torrentbay.st/
|
||||
- https://tpb31.ukpass.co/
|
||||
- https://tpb.skynetcloud.site/
|
||||
|
||||
@@ -16,7 +16,9 @@ links:
|
||||
- https://rarbg.unblockninja.com/
|
||||
- https://rarbg.ninjaproxy1.com/
|
||||
- https://rarbg.proxyninja.org/
|
||||
- https://rarbg.proxyninja.net/
|
||||
- https://rarbg.torrentbay.st/
|
||||
- https://rarbg.torrentsbay.org/
|
||||
legacylinks:
|
||||
- https://therarbg.com/
|
||||
|
||||
|
||||
@@ -1,314 +0,0 @@
|
||||
---
|
||||
id: thorsland
|
||||
name: Thor's Land
|
||||
description: "Thor's Land is a FRENCH Private site for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://ethor.tk/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# APPLICATIONS
|
||||
- {id: 66, cat: PC/Mobile-Android, desc: "ANDROID"}
|
||||
- {id: 68, cat: PC/Mobile-Other, desc: "HarmonyOS"}
|
||||
- {id: 67, cat: PC/Mac, desc: "iOS"}
|
||||
# AUTRES
|
||||
- {id: 104, cat: Other, desc: "AUTRES"}
|
||||
# DOCUMENTAIRES FILM
|
||||
- {id: 72, cat: TV/Documentary, desc: "4K UHD"}
|
||||
- {id: 70, cat: TV/Documentary, desc: "HD 1080p"}
|
||||
- {id: 71, cat: TV/Documentary, desc: "HD 720p"}
|
||||
- {id: 119, cat: TV/Documentary, desc: "Québec HD"}
|
||||
- {id: 118, cat: TV/Documentary, desc: "Québec SD"}
|
||||
- {id: 69, cat: TV/Documentary, desc: "SD"}
|
||||
- {id: 78, cat: TV/Documentary, desc: "V.O.S.T. 4K"}
|
||||
- {id: 77, cat: TV/Documentary, desc: "V.O.S.T. HD"}
|
||||
- {id: 76, cat: TV/Documentary, desc: "V.O.S.T. SD"}
|
||||
# DOCUMENTAIRES SERIES
|
||||
- {id: 81, cat: TV/Documentary, desc: "PACK 4K"}
|
||||
- {id: 80, cat: TV/Documentary, desc: "PACK HD"}
|
||||
- {id: 121, cat: TV/Documentary, desc: "PACK HD QC"}
|
||||
- {id: 79, cat: TV/Documentary, desc: "PACK SD"}
|
||||
- {id: 121, cat: TV/Documentary, desc: "PACK SD QC"}
|
||||
- {id: 117, cat: TV/Documentary, desc: "Québec HD"}
|
||||
- {id: 116, cat: TV/Documentary, desc: "Québec SD"}
|
||||
- {id: 75, cat: TV/Documentary, desc: "SÉRIES 4K"}
|
||||
- {id: 74, cat: TV/Documentary, desc: "SÉRIES HD"}
|
||||
- {id: 73, cat: TV/Documentary, desc: "SÉRIES SD"}
|
||||
- {id: 115, cat: TV/Documentary, desc: "V.O.S.T. 4K"}
|
||||
- {id: 114, cat: TV/Documentary, desc: "V.O.S.T. HD"}
|
||||
- {id: 113, cat: TV/Documentary, desc: "V.O.S.T. SD"}
|
||||
# FILMS
|
||||
- {id: 11, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 12, cat: Movies/UHD, desc: "4K UHD"}
|
||||
- {id: 2, cat: Movies/BluRay, desc: "BD-Rip"}
|
||||
- {id: 10, cat: Movies/BluRay, desc: "Blu-Ray"}
|
||||
- {id: 16, cat: Movies/DVD, desc: "DVD-R"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "DVD-Rip"}
|
||||
- {id: 5, cat: Movies/HD, desc: "HD 1080p"}
|
||||
- {id: 4, cat: Movies/HD, desc: "HD 720p"}
|
||||
- {id: 7, cat: Movies/HD, desc: "mHD 1080p"}
|
||||
- {id: 6, cat: Movies/HD, desc: "mHD 720p"}
|
||||
- {id: 15, cat: Movies/UHD, desc: "Québec 4K"}
|
||||
- {id: 14, cat: Movies/HD, desc: "Québec HD"}
|
||||
- {id: 13, cat: Movies/SD, desc: "Québec SD"}
|
||||
- {id: 9, cat: Movies, desc: "Remux"}
|
||||
- {id: 22, cat: Movies/UHD, desc: "V.O. 4K"}
|
||||
- {id: 21, cat: Movies/HD, desc: "V.O. HD"}
|
||||
- {id: 20, cat: Movies/SD, desc: "V.O. SD"}
|
||||
- {id: 19, cat: Movies/UHD, desc: "V.O.S.T. 4K"}
|
||||
- {id: 18, cat: Movies/HD, desc: "V.O.S.T. HD"}
|
||||
- {id: 17, cat: Movies/SD, desc: "V.O.S.T. SD"}
|
||||
- {id: 1, cat: Movies/WEB-DL, desc: "WEB-DL"}
|
||||
- {id: 8, cat: Movies/HD, desc: "x265"}
|
||||
# JEUX VIDÉO
|
||||
- {id: 55, cat: PC/Games, desc: "ÉMULATEURS"}
|
||||
- {id: 40, cat: PC/Games, desc: "LINUX"}
|
||||
- {id: 39, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 45, cat: Console/3DS, desc: "3DS"}
|
||||
- {id: 44, cat: Console/NDS, desc: "NDS"}
|
||||
- {id: 42, cat: Console/Other, desc: "NES"}
|
||||
- {id: 41, cat: Movies/Other, desc: "SWITCH"}
|
||||
- {id: 38, cat: PC/Games, desc: "PC"}
|
||||
- {id: 46, cat: Console/PS3, desc: "PSX"}
|
||||
- {id: 47, cat: Console/PS3, desc: "PS2"}
|
||||
- {id: 48, cat: Console/PS3, desc: "PS3"}
|
||||
- {id: 49, cat: Console/PS4, desc: "PS4"}
|
||||
- {id: 50, cat: Console/PS4, desc: "PS5"}
|
||||
- {id: 56, cat: Console/Other, desc: "ROMS"}
|
||||
- {id: 43, cat: Console/Other, desc: "SNES"}
|
||||
- {id: 51, cat: Console/XBox, desc: "XBOX"}
|
||||
- {id: 52, cat: Console/XBox 360, desc: "XBOX 360"}
|
||||
- {id: 53, cat: Console/XBox One, desc: "XBOX ONE"}
|
||||
- {id: 54, cat: Console/XBox, desc: "XBOX SERIES"}
|
||||
# LIVRES
|
||||
- {id: 96, cat: Audio/Audiobook, desc: "AUDIO"}
|
||||
- {id: 98, cat: Books, desc: "B.D."}
|
||||
- {id: 100, cat: Books/Comics, desc: "COMICS"}
|
||||
- {id: 97, cat: Books/Mags, desc: "MAGAZINES"}
|
||||
- {id: 101, cat: Books, desc: "MANGAS"}
|
||||
- {id: 95, cat: Books, desc: "ROMANS"}
|
||||
- {id: 99, cat: Books, desc: "JEUNESSE"}
|
||||
# LOGICIELS
|
||||
- {id: 65, cat: PC, desc: "LINUX"}
|
||||
- {id: 64, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 63, cat: PC/0day, desc: "WINDOWS"}
|
||||
# MUSIQUE
|
||||
- {id: 59, cat: Audio, desc: "AAC"}
|
||||
- {id: 61, cat: Audio, desc: "DSD"}
|
||||
- {id: 58, cat: Audio/Lossless, desc: "FLAC"}
|
||||
- {id: 57, cat: Audio/MP3, desc: "MP3"}
|
||||
- {id: 60, cat: Audio, desc: "OGG"}
|
||||
- {id: 62, cat: Audio, desc: "WAV"}
|
||||
# SÉRIES ANIMÉES
|
||||
- {id: 89, cat: TV/Anime, desc: "HD 1080p"}
|
||||
- {id: 90, cat: TV/Anime, desc: "HD 720p"}
|
||||
- {id: 94, cat: TV/Anime, desc: "PACK HD"}
|
||||
- {id: 93, cat: TV/Anime, desc: "PACK SD"}
|
||||
- {id: 88, cat: TV/Anime, desc: "Québec HD"}
|
||||
- {id: 87, cat: TV/Anime, desc: "Québec SD"}
|
||||
- {id: 92, cat: TV/Anime, desc: "V.O.S.T. HD"}
|
||||
- {id: 91, cat: TV/Anime, desc: "V.O.S.T. SD"}
|
||||
# SÉRIES TV
|
||||
- {id: 112, cat: TV/UHD, desc: "4K UHD"}
|
||||
- {id: 32, cat: TV/HD, desc: "Blu-Ray"}
|
||||
- {id: 35, cat: TV, desc: "DVD-R"}
|
||||
- {id: 31, cat: TV/HD, desc: "Émissions HD"}
|
||||
- {id: 30, cat: TV/SD, desc: "Émissions SD"}
|
||||
- {id: 25, cat: TV/HD, desc: "HD 1080p"}
|
||||
- {id: 24, cat: TV/HD, desc: "HD 720p"}
|
||||
- {id: 27, cat: TV/HD, desc: "PACK HD"}
|
||||
- {id: 34, cat: TV/HD, desc: "PACK HD QC"}
|
||||
- {id: 26, cat: TV/SD, desc: "PACK SD"}
|
||||
- {id: 33, cat: TV/SD, desc: "PACK SD QC"}
|
||||
- {id: 29, cat: TV/HD, desc: "Québec HD"}
|
||||
- {id: 28, cat: TV/SD, desc: "Québec SD"}
|
||||
- {id: 23, cat: TV/SD, desc: "SD"}
|
||||
- {id: 37, cat: TV/HD, desc: "V.O.S.T. HD"}
|
||||
- {id: 36, cat: TV/SD, desc: "V.O.S.T. SD"}
|
||||
# SPECTACLES
|
||||
- {id: 85, cat: Audio/Video, desc: "ART/MAGIE"}
|
||||
- {id: 83, cat: Audio/Video, desc: "HUMOUR"}
|
||||
- {id: 86, cat: Audio/Video, desc: "LIVE"}
|
||||
- {id: 82, cat: Audio/Video, desc: "MUSIQUE"}
|
||||
- {id: 84, cat: Audio/Video, desc: "THÉATRE"}
|
||||
# SPORTS
|
||||
- {id: 103, cat: TV/Sport, desc: "ANGLAIS"}
|
||||
- {id: 102, cat: TV/Sport, desc: "FRANÇAIS"}
|
||||
# XXX
|
||||
- {id: 105, cat: XXX, desc: "FILMS"}
|
||||
- {id: 108, cat: XXX, desc: "GAYS"}
|
||||
- {id: 110, cat: XXX, desc: "HENTAI"}
|
||||
- {id: 109, cat: XXX, desc: "LESBIENNES"}
|
||||
- {id: 111, cat: XXX, desc: "MAGAZINES"}
|
||||
- {id: 106, cat: XXX, desc: "SÉRIES"}
|
||||
- {id: 107, cat: XXX, desc: "VR"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-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: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTi by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
MULTi FRENCH: MULTi FRENCH
|
||||
ENGLISH: ENGLISH
|
||||
MULTi ENGLISH: MULTi ENGLISH
|
||||
VOSTFR: VOSTFR
|
||||
MULTi VOSTFR: MULTi VOSTFR
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: id
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: order
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="account-logout"]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: thanks
|
||||
inputs:
|
||||
id: "{{ .DownloadUri.Query.id }}"
|
||||
to: give
|
||||
torrent: "{{ .DownloadUri.Query.id }}"
|
||||
selectors:
|
||||
- selector: a[href^="download?id="], a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents-search
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
# 0 all, 1 notfree, 2 onlyfree
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 any etc
|
||||
lang: 0
|
||||
sort: "{{ .Config.sort}}"
|
||||
order: "{{ .Config.order}}"
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="/torrents?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_phase1:
|
||||
selector: a[href^="/download?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: name=(.+?)\.torrent
|
||||
- name: urldecode
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
|
||||
title_phase2:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
|
||||
title:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="/torrents-details?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrents-details?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src^="uploads/images/"]
|
||||
attribute: src
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
remove: div.bottom
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
remove: div.bottom
|
||||
seeders:
|
||||
selector: td:nth-child(11)
|
||||
remove: div.bottom
|
||||
leechers:
|
||||
selector: td:nth-child(12)
|
||||
remove: div.bottom
|
||||
date:
|
||||
selector: td.tor_name_outline > font
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["il y a ", ""]
|
||||
- name: replace
|
||||
args: ["seconde", "second"]
|
||||
- name: replace
|
||||
args: ["heure", "hour"]
|
||||
- name: replace
|
||||
args: ["jour", "day"]
|
||||
- name: replace
|
||||
args: ["mois", "month"]
|
||||
- name: replace
|
||||
args: ["an", "year"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"button:contains(\"FREELEECH\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# engine n/a
|
||||
@@ -16,16 +16,6 @@ legacylinks:
|
||||
- https://tokyotosho.uk-unblock.pro/
|
||||
- https://tokyotosho.unblocked.rest/
|
||||
- https://tokyotosho.unblocked.monster/
|
||||
- https://tokyotosho.nocensor.space/
|
||||
- https://tokyotosho.nocensor.work/
|
||||
- https://tokyotosho.nocensor.biz/
|
||||
- https://tokyotosho.nocensor.sbs/
|
||||
- https://tokyotosho.nocensor.world/
|
||||
- https://tokyotosho.nocensor.lol/
|
||||
- https://tokyotosho.nocensor.art/
|
||||
- https://tokyotosho.mrunblock.guru/
|
||||
- https://tokyotosho.mrunblock.life/
|
||||
- https://tokyotosho.nocensor.click/
|
||||
- https://tokyotosho.mrunblock.bond/
|
||||
- https://tokyotosho.nocensor.cloud/
|
||||
|
||||
|
||||
@@ -9,13 +9,11 @@ requestDelay: 2
|
||||
links:
|
||||
- https://www.torlock.com/
|
||||
- https://www.torlock2.com/
|
||||
- https://torlock.unblockit.black/
|
||||
legacylinks:
|
||||
- https://torlock.com/
|
||||
- https://www.torlock.icu/
|
||||
- https://torlock.mrunblock.guru/
|
||||
- https://torlock.unblockit.click/
|
||||
- https://torlock.unblockit.asia/
|
||||
- https://torlock.mrunblock.life/
|
||||
- https://torlock.unblockit.mov/
|
||||
- https://torlock.unblockit.rsvp/
|
||||
- https://torlock.unblockit.vegas/
|
||||
@@ -30,7 +28,7 @@ legacylinks:
|
||||
- https://torlock.unblockit.africa/
|
||||
- https://torlock.unblockit.casa/
|
||||
- https://torlock.unblockit.sbs/
|
||||
- https://torlock.unblockit.ong/ # 502
|
||||
- https://torlock.unblockit.ong/
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
|
||||
@@ -101,7 +101,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactive accounts are automatically deleted after 90 days from the moment the system first detects inactivity."
|
||||
default: "Inactive accounts are automatically deleted after 90 days from the moment the system first detects inactivity.<br>A user is considered inactive if they meet one of the following conditions:<ul><li>Within 30 days of registration, they have not downloaded at least 1 torrent, resulting in Total Downloaded in their profile being 0</li><li>Their ratio is less than or equal to 0.3</li><li>They have fewer than 10 time bonuses</li></ul>Immunity from inactivity is automatically granted to users holding any title from the list or being a member of groups."
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
@@ -140,7 +140,7 @@ search:
|
||||
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "сезон $1 сери $2"]
|
||||
|
||||
rows:
|
||||
selector: tr.tCenter
|
||||
selector: tr.tCenter:has(a[href^="dl.php?t="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
---
|
||||
id: torrent9clone
|
||||
name: Torrent9 clone
|
||||
description: "Torrent9 clone is a FRENCH Public Torrent9 clone for TV / MOVIES / GENERAL"
|
||||
id: torrent9-tel
|
||||
name: Torrent9-tel
|
||||
description: "Torrent9-tel is a FRENCH Semi-Private tracker for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
# to fetch current domain use https://www.protege-torrent.com/Torrent9
|
||||
links:
|
||||
- https://www.torrent9.day/
|
||||
- https://torrent9.unblockninja.com/
|
||||
- https://www.torrent9.plus/
|
||||
legacylinks:
|
||||
- https://www.protege-liens.net/
|
||||
- https://www.rantop.org/
|
||||
- https://torrent9.nocensor.click/
|
||||
- https://www.torrent9.ps/
|
||||
- https://www.torrent9.ms/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.torrent9.ink/
|
||||
- https://www.torrent9.sk/
|
||||
- https://www.torrent9.rs/
|
||||
@@ -31,6 +28,9 @@ legacylinks:
|
||||
- https://www.torrent9.sbs/
|
||||
- https://www.torrent9.sb/
|
||||
- https://www.torrent9.tf/
|
||||
- https://www.torrent9.day/
|
||||
- https://www.torrent9.tel/
|
||||
- https://torrent9.unblockninja.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -48,6 +48,7 @@ caps:
|
||||
- {id: Spectacles, cat: TV/Other, desc: "Spectacles"}
|
||||
- {id: Sports, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: Formations, cat: Other, desc: "Formations"}
|
||||
- {id: Vidéos, cat: TV, desc: "Vidéos"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -58,6 +59,12 @@ caps:
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
- name: multilang
|
||||
@@ -80,6 +87,22 @@ settings:
|
||||
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||
default: false
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form#formLogin
|
||||
inputs:
|
||||
user: "{{ .Config.username }}"
|
||||
pass: "{{ .Config.password }}"
|
||||
submit: submit
|
||||
error:
|
||||
- selector: :root:contains("Pseudo ou Mot de passe erron")
|
||||
message:
|
||||
text: "Pseudo ou Mot de passe erroné"
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/index.php?page=logout"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?"]
|
||||
@@ -10,7 +10,6 @@ testlinktorrent: false
|
||||
links:
|
||||
- https://www.torrent9.se/
|
||||
- https://torrent9.to/
|
||||
- https://torrent9.proxyninja.org/
|
||||
legacylinks:
|
||||
- https://ww1.torrent9.uno/
|
||||
- https://wvw.t9.pe/
|
||||
@@ -34,6 +33,7 @@ legacylinks:
|
||||
- https://www.torrent9.fm/
|
||||
- https://torrent9.se/ # redirect to www.
|
||||
- https://torrent9.ninjaproxy1.com/ # no response data
|
||||
- https://torrent9.proxyninja.org/ # Error 1007
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
|
||||
@@ -1,21 +1,17 @@
|
||||
---
|
||||
id: torrent911
|
||||
name: Torrent911
|
||||
description: "Torrent911 is a French Public site for TV / MOVIES / GENERAL"
|
||||
description: "Torrent911 is a French Semi-Private site for TV / MOVIES / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.protege-torrent.com/Torrent911 and https://www.protege-torrent.com/T911 and https://www.protege-torrent.com/Oxtorrent
|
||||
# to fetch current domain use https://www.protege-torrent.com/Oxtorrent
|
||||
links:
|
||||
- https://www.oxtorrent.day/
|
||||
- https://oxtorrent.proxyninja.org/ # proxy for oxtorrent
|
||||
- https://www.oxtorrent.vip/
|
||||
legacylinks:
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.rantop.org/
|
||||
- https://www.t911.tv/
|
||||
- https://torrent911.ws/
|
||||
- http://www.torrent911.ws/
|
||||
- https://www.torrent911.ws/
|
||||
- https://www.torrent.ws/
|
||||
- https://t911.org/
|
||||
- https://www.torrent911.io/
|
||||
- https://www.torrent911.biz/
|
||||
@@ -35,6 +31,9 @@ legacylinks:
|
||||
- https://www.oxtorrent.sbs/
|
||||
- https://www.oxtorrent.wtf/
|
||||
- https://www.oxtorrent.tf/
|
||||
- https://www.oxtorrent.day/
|
||||
- https://oxtorrent.proxyninja.org/ # currently proxies protege-torrent page
|
||||
- https://www.oxtorrent.zip/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -52,6 +51,7 @@ caps:
|
||||
- {id: Spectacles, cat: TV/Other, desc: "Spectacles"}
|
||||
- {id: Sports, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: Formations, cat: Other, desc: "Formations"}
|
||||
- {id: Vidéos, cat: TV, desc: "Vidéos"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -62,6 +62,12 @@ caps:
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
@@ -82,6 +88,22 @@ settings:
|
||||
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||
default: false
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form#formLogin
|
||||
inputs:
|
||||
user: "{{ .Config.username }}"
|
||||
pass: "{{ .Config.password }}"
|
||||
submit: submit
|
||||
error:
|
||||
- selector: :root:contains("Pseudo ou Mot de passe erron")
|
||||
message:
|
||||
text: "Pseudo ou Mot de passe erroné"
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/index.php?page=logout"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?"]
|
||||
@@ -102,7 +124,7 @@ search:
|
||||
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
|
||||
|
||||
rows:
|
||||
selector: table.table-hover > tbody > tr
|
||||
selector: table.table-hover > tbody > tr:has(td a[href])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
|
||||
@@ -7,10 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.torrentdownload.info/
|
||||
- https://torrentdownload.unblockit.ong/
|
||||
- https://torrentdownload.unblockit.black/
|
||||
legacylinks:
|
||||
- https://torrentdownload.mrunblock.guru/
|
||||
- https://torrentdownload.unblockit.click/
|
||||
- https://torrentdownload.unblockit.asia/
|
||||
- https://torrentdownload.unblockit.mov/
|
||||
- https://torrentdownload.mrunblock.life/
|
||||
@@ -27,6 +25,7 @@ legacylinks:
|
||||
- https://torrentdownload.unblockit.africa/
|
||||
- https://torrentdownload.unblockit.casa/
|
||||
- https://torrentdownload.unblockit.sbs/
|
||||
- https://torrentdownload.unblockit.ong/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -7,18 +7,16 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.torrentdownloads.pro/
|
||||
- https://torrentdownloads.unblockit.ong/
|
||||
- https://torrentdownloads.unblockit.black/
|
||||
- https://torrentdownloads.unblockninja.com/
|
||||
- https://torrentdownloads.ninjaproxy1.com/
|
||||
- https://torrentdownloads.proxyninja.org/
|
||||
- https://torrentdownloads.proxyninja.net/
|
||||
legacylinks:
|
||||
- https://www.torrentdownloads.me/
|
||||
- https://www.torrentdownloads.info/
|
||||
- https://torrentdownloads.mrunblock.guru/
|
||||
- https://torrentdownloads.unblockit.click/
|
||||
- https://torrentdownloads.unblockit.asia/
|
||||
- https://torrentdownloads.unblockit.mov/
|
||||
- https://torrentdownloads.mrunblock.life/
|
||||
- https://torrentdownloads.unblockit.rsvp/
|
||||
- https://torrentdownloads.unblockit.vegas/
|
||||
- https://torrentdownloads.unblockit.esq/
|
||||
@@ -32,6 +30,7 @@ legacylinks:
|
||||
- https://torrentdownloads.unblockit.africa/
|
||||
- https://torrentdownloads.unblockit.casa/
|
||||
- https://torrentdownloads.unblockit.sbs/
|
||||
- https://torrentdownloads.unblockit.ong/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -164,10 +164,10 @@ search:
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# global MR is 0.25 but torrents must be seeded for 3 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
# text: 0.25
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 8.1.3
|
||||
|
||||
@@ -10,11 +10,10 @@ links:
|
||||
- https://www.torrentfunk2.com/
|
||||
- https://torrentfunk.ninjaproxy1.com/
|
||||
- https://torrentfunk.proxyninja.org/
|
||||
- https://torrentfunk.proxyninja.net/
|
||||
- https://torrentfunk.unblockit.black/
|
||||
legacylinks:
|
||||
- https://torrentfunk.mrunblock.guru/
|
||||
- https://torrentfunk.unblockit.click/
|
||||
- https://torrentfunk.unblockit.asia/
|
||||
- https://torrentfunk.mrunblock.life/
|
||||
- https://torrentfunk.unblockit.mov/
|
||||
- https://torrentfunk.unblockit.rsvp/
|
||||
- https://torrentfunk.unblockit.vegas/
|
||||
@@ -29,7 +28,7 @@ legacylinks:
|
||||
- https://torrentfunk.unblockit.africa/
|
||||
- https://torrentfunk.unblockit.casa/
|
||||
- https://torrentfunk.unblockit.sbs/
|
||||
- https://torrentfunk.unblockit.ong/ # 502
|
||||
- https://torrentfunk.unblockit.ong/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -10,18 +10,11 @@ links:
|
||||
- https://torrentgalaxy.mx/
|
||||
- https://tgx.rs/
|
||||
- https://tgx.sb/
|
||||
- https://tgx.proxyninja.org/
|
||||
legacylinks:
|
||||
- https://torrentgalaxy.org/ # redirects to *.to
|
||||
- https://torrentgalaxy.pw/ # proxy list only
|
||||
- https://tgx.unblocked.monster/
|
||||
- https://torrentgalaxy.nocensor.space/
|
||||
- https://torrentgalaxy.nocensor.work/
|
||||
- https://torrentgalaxy.nocensor.biz/
|
||||
- https://torrentgalaxy.nocensor.sbs/
|
||||
- https://torrentgalaxy.nocensor.world/
|
||||
- https://torrentgalaxy.su/
|
||||
- https://torrentgalaxy.unblockit.click/
|
||||
- https://torrentgalaxy.unblockit.asia/
|
||||
- https://torrentgalaxy.unblockit.mov/
|
||||
- https://torrentgalaxy.unblockit.rsvp/
|
||||
@@ -30,7 +23,8 @@ legacylinks:
|
||||
- https://torrentgalaxy.unblockit.zip/
|
||||
- https://torrentgalaxy.unblockit.foo/
|
||||
- https://torrentgalaxy.unblockit.ing/
|
||||
- https://torrentgalaxy.unblockninja.com/
|
||||
- https://torrentgalaxy.unblockninja.com/ # breaks on checkpoint
|
||||
- https://tgx.proxyninja.org/ # breaks on checkpoint
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -7,10 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq317.com/
|
||||
- https://torrentqq319.com/
|
||||
legacylinks:
|
||||
- https://torrentqq302.com/
|
||||
- https://torrentqq303.com/
|
||||
- https://torrentqq304.com/
|
||||
- https://torrentqq305.com/
|
||||
- https://torrentqq306.com/
|
||||
@@ -24,6 +22,8 @@ legacylinks:
|
||||
- https://torrentqq314.com/
|
||||
- https://torrentqq315.com/
|
||||
- https://torrentqq316.com/
|
||||
- https://torrentqq317.com/
|
||||
- https://torrentqq318.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -153,9 +153,8 @@ search:
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
# global MR is 0.5 but torrents must be seeded for 5 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.5
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
|
||||
@@ -7,12 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir145.com/
|
||||
- https://torrentsir147.com/
|
||||
legacylinks:
|
||||
- http://torrentsir136.com/
|
||||
- https://torrentsir136.com/
|
||||
- http://torrentsir137.com/
|
||||
- https://torrentsir137.com/
|
||||
- http://torrentsir138.com/
|
||||
- https://torrentsir138.com/
|
||||
- http://torrentsir139.com/
|
||||
@@ -28,6 +24,10 @@ legacylinks:
|
||||
- http://torrentsir144.com/
|
||||
- https://torrentsir144.com/
|
||||
- http://torrentsir145.com/
|
||||
- https://torrentsir145.com/
|
||||
- http://torrentsir146.com/
|
||||
- https://torrentsir146.com/
|
||||
- http://torrentsir147.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -35,6 +35,7 @@ caps:
|
||||
- {id: "ani", cat: TV, desc: "동영상 (Video)"}
|
||||
- {id: "game", cat: Console, desc: "기타 (Games)"}
|
||||
- {id: "tv", cat: TV, desc: "시사/교양 (TV)"}
|
||||
- {id: "netflix", cat: TV, desc: "넷플시리즈 (Netflix)"}
|
||||
- {id: "movie", cat: Movies, desc: "영화 (Movie)"}
|
||||
- {id: "drama", cat: TV, desc: "드라마 (Drama)"}
|
||||
- {id: "entertain", cat: TV, desc: "예능/오락 (Entertainment)"}
|
||||
|
||||
@@ -8,12 +8,6 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://torrentz2.nz/
|
||||
legacylinks:
|
||||
- https://torrentz2.nocensor.world/
|
||||
- https://torrentz2.nocensor.lol/
|
||||
- https://torrentz2.nocensor.art/
|
||||
- https://torrentz2.mrunblock.guru/
|
||||
- https://torrentz2.mrunblock.life/
|
||||
- https://torrentz2.nocensor.click/
|
||||
- https://torrentz2.mrunblock.bond/
|
||||
- https://torrentz2.nocensor.cloud/
|
||||
|
||||
|
||||
@@ -1,30 +1,32 @@
|
||||
---
|
||||
id: 2xfree
|
||||
name: 2xFree
|
||||
description: "2xFree is a CHINESE Private Torrent Tracker for 3D MOVIES / TV"
|
||||
id: tosky
|
||||
name: ToSky
|
||||
description: "ToSky is a Private CHINESE tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pt.2xfree.org/
|
||||
- https://t.tosky.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
# torrents.php
|
||||
- {id: 526, cat: Movies, desc: "3DMovies(3D电影)"}
|
||||
- {id: 527, cat: TV, desc: "3DSeries(3D剧集)"}
|
||||
- {id: 533, cat: Movies, desc: "VRMovies(VR电影)"}
|
||||
- {id: 534, cat: TV, desc: "VRSeries(VR剧集)"}
|
||||
- {id: 537, cat: TV, desc: "VRShows(VR演出)"}
|
||||
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)"}
|
||||
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)"}
|
||||
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 409, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐视频"}
|
||||
- {id: 410, cat: Other, desc: "Educations/教育"}
|
||||
- {id: 411, cat: Audio/Audiobook, desc: "Audio Books/有声书"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 408, cat: Other, desc: "Others/其他"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -39,7 +41,7 @@ settings:
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the 2xFree Web Site. Otherwise just leave it empty."
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the ICC2022 Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -64,16 +66,10 @@ settings:
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_ulslr
|
||||
type: info
|
||||
label: Upload Speed Limit Rule
|
||||
default: The upload bandwidth shall not exceed 120Mbps, that is, the upload speed shall not exceed 15MB/s.
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not be deleted after parking (in the control panel)</li><li>Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users with no traffic (ie, upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
|
||||
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if parked (at User CP).</li><li>Parked accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unparked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -108,9 +104,9 @@ search:
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl (4 does not appear to work)
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
@@ -142,14 +138,6 @@ search:
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
@@ -193,9 +181,7 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.8
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.6 2023-06-18
|
||||
# NexusPHP v1.8.11 2024-03-27
|
||||
@@ -6,7 +6,7 @@ language: el-GR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://trellas.net/
|
||||
- https://trellas.me/
|
||||
legacylinks:
|
||||
- https://magico.info/
|
||||
- https://magico.one/
|
||||
@@ -14,6 +14,7 @@ legacylinks:
|
||||
- https://magico.fun/
|
||||
- https://trellas.info/
|
||||
- https://trelas.club/
|
||||
- https://trellas.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -36,11 +36,13 @@ search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
search2: "{{ if .Keywords }}eelja13lfea{{ else }}{{ end }}"
|
||||
search2: "{{ if .Keywords }}eelja3lfea{{ else }}{{ end }}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: table.torrent-list > tbody > tr:has(a[href^="/view?id="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -69,7 +69,7 @@ login:
|
||||
quick_username: "{{ .Config.username }}"
|
||||
quick_password: "{{ .Config.password }}"
|
||||
action: do_login
|
||||
url: "https://torrent.unionfansub.com/"
|
||||
url: "{{ .Config.sitelink }}"
|
||||
quick_login: 1
|
||||
quick_remember: yes
|
||||
error:
|
||||
|
||||
@@ -83,11 +83,11 @@ settings:
|
||||
label: Pin
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter FreeLeech only
|
||||
label: Search FreeLeech
|
||||
default: false
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Filter OnlyUpload only
|
||||
label: Search OnlyUpload
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
@@ -133,6 +133,7 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://w-o-t.pro/browse.php?showsearch=1&search=&incldead=0&orderby=added&sort=desc&onlyupload=yes&freeleech=yes
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
@@ -142,9 +143,11 @@ search:
|
||||
incldead: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
onlyupload: "{{ if .Config.onlyupload }}yes{{ else }}{{ end }}"
|
||||
freeleech: "{{ if .Config.freeleech }}yes{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: "table.tableinborder[border=\"0\"][cellspacing=\"1\"][cellpadding=\"4\"][style=\"width:100%\"] > tbody > tr:has(a[href^=\"download.php\"]):has(a[href^=\"browse.php?cat=\"]){{ if .Config.freeleech }}:has(img[src=\"pic/freeleech.gif\"]){{ else }}{{ end }}{{ if .Config.onlyupload }}:has(img[src=\"pic/oupic.gif\"]){{ else }}{{ end }}"
|
||||
selector: "table.tableinborder[border=\"0\"][cellspacing=\"1\"][cellpadding=\"4\"][style=\"width:100%\"] > tbody > tr:has(a[href^=\"download.php\"]):has(a[href^=\"browse.php?cat=\"])"
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -154,16 +157,16 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="] > b
|
||||
selector: a[href^="torrent.php?id="] > b
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href^="torrent.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onMouseOver
|
||||
selector: a[href^="torrent.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) "
|
||||
@@ -198,4 +201,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# WoT Reworked v8.2.1
|
||||
# WoT Reworked v8.3.7
|
||||
|
||||
@@ -108,12 +108,15 @@ search:
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# does not support imdbid search
|
||||
# does not support imdbid search or return imdbid in results.
|
||||
|
||||
rows:
|
||||
selector: "tr.torrentDataRow:has(a[href^=\"download.php?\"]){{ if .Config.freeleech }}:has(span[style^=\"font\"]:contains(\"0x\")){{ else }}{{ end }}"
|
||||
selector: "tr.torrentDataRow{{ if .Config.freeleech }}:has(span[style^=\"font\"]:contains(\"0x\")){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: a[data-torrent-id]
|
||||
attribute: data-torrent-id
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
@@ -121,7 +124,7 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[data-torrent-id]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
@@ -131,18 +134,15 @@ search:
|
||||
- name: replace
|
||||
args: ["Második név: -", ""]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
text: "download.php?torrent={{ .Result._id }}"
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
poster:
|
||||
selector: a[href^="kepek/"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: a[href$="filelist=1"]
|
||||
date:
|
||||
selector: td:nth-child(7) span
|
||||
selector: td:nth-child(4) span
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
@@ -150,16 +150,16 @@ search:
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:nth-child(8)
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(10)
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(11)
|
||||
selector: td:nth-child(7)
|
||||
description:
|
||||
case:
|
||||
i.fa-check: Verified
|
||||
span[style*="color:#ccc;"]: Verified
|
||||
i.fa-question: Unverified
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
|
||||
@@ -110,9 +110,7 @@ settings:
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info
|
||||
label: How to get the User-Agent
|
||||
default: "<ol><li>From the same place you fetched the cookie,</li><li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
type: info_useragent
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
|
||||
177
src/Jackett.Common/Definitions/yoinked.yml
Normal file
177
src/Jackett.Common/Definitions/yoinked.yml
Normal file
@@ -0,0 +1,177 @@
|
||||
---
|
||||
id: yoinked
|
||||
name: YOiNKED
|
||||
description: "YOiNKED is a Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://yoinked.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://yoinked.org/\" target=\"_blank\">YOiNKED</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: "If you do not log into the site or seed torrents, your account will be automatically pruned within 60 days."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v8.x.x)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L476
|
||||
- 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
|
||||
infohash:
|
||||
selector: info_hash
|
||||
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
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .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
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# global MR is 0.5 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.5
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.1.3
|
||||
@@ -10,15 +10,6 @@ links:
|
||||
- https://yourbittorrent2.com/
|
||||
legacylinks:
|
||||
- https://yourbittorrent.host/
|
||||
- https://yourbittorrent.nocensor.space/
|
||||
- https://yourbittorrent.nocensor.work/
|
||||
- https://yourbittorrent.nocensor.biz/
|
||||
- https://yourbittorrent.nocensor.sbs/
|
||||
- https://yourbittorrent.nocensor.world/
|
||||
- https://yourbittorrent.nocensor.lol/
|
||||
- https://yourbittorrent.mrunblock.guru/
|
||||
- https://yourbittorrent.mrunblock.life/
|
||||
- https://yourbittorrent.nocensor.click/
|
||||
- https://yourbittorrent.nocensor.cloud/
|
||||
- https://yourbittorrent.mrunblock.bond/
|
||||
|
||||
|
||||
@@ -13,19 +13,16 @@ links:
|
||||
- https://yts.lt/
|
||||
- https://yts.am/
|
||||
- https://yts.ag/
|
||||
- https://yts.abcproxy.org/
|
||||
- https://yts.unblockit.ong/
|
||||
- https://yts.unblockit.black/
|
||||
- https://yts.unblockninja.com/
|
||||
- https://yts.ninjaproxy1.com/
|
||||
- https://yts.proxyninja.org/
|
||||
- https://yts.proxyninja.net/
|
||||
- https://yts.torrentbay.st/
|
||||
- https://yts.torrentsbay.org/
|
||||
legacylinks:
|
||||
- https://yts.unblockit.boo/
|
||||
- https://yts.mrunblock.guru/
|
||||
- https://yts.unblockit.click/
|
||||
- https://yts.unblockit.asia/
|
||||
- https://yts.unblockit.mov/
|
||||
- https://yts.mrunblock.life/
|
||||
- https://yts.unblockit.rsvp/
|
||||
- https://yts.unblockit.vegas/
|
||||
- https://yts.unblockit.esq/
|
||||
@@ -39,6 +36,8 @@ legacylinks:
|
||||
- https://yts.unblockit.africa/
|
||||
- https://yts.unblockit.casa/
|
||||
- https://yts.unblockit.sbs/
|
||||
- https://yts.unblockit.ong/
|
||||
- https://yts.abcproxy.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -19,14 +19,8 @@ legacylinks:
|
||||
- https://www.zetorrents.tv/
|
||||
- https://www.zetorrents.bz/
|
||||
- https://www.zetorrents.nl/
|
||||
- https://zetorrents.nocensor.world/
|
||||
- https://www.zetorrents.biz/
|
||||
- https://zetorrents.nocensor.lol/
|
||||
- https://zetorrents.nocensor.art/
|
||||
- https://www.zetorrents.ch/
|
||||
- https://zetorrents.mrunblock.guru/
|
||||
- https://zetorrents.mrunblock.life/
|
||||
- https://zetorrents.nocensor.click/
|
||||
- https://zetorrents.mrunblock.bond/
|
||||
- https://zetorrents.nocensor.cloud/
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "alpharatio";
|
||||
public override string Name => "AlphaRatio";
|
||||
public override string Description => "AlphaRatio (AR) is a Private Torrent Tracker for 0DAY / GENERAL";
|
||||
// Status: https://ar.trackerstatus.info/
|
||||
public override string SiteLink { get; protected set; } = "https://alpharatio.cc/";
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
@@ -529,7 +529,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (response.IsRedirect)
|
||||
{
|
||||
await FollowIfRedirect(response);
|
||||
response = await FollowIfRedirect(response);
|
||||
}
|
||||
|
||||
if (response.IsRedirect)
|
||||
@@ -538,7 +538,7 @@ namespace Jackett.Common.Indexers
|
||||
if (redirectingTo.Scheme == "magnet")
|
||||
return Encoding.UTF8.GetBytes(redirectingTo.OriginalString);
|
||||
|
||||
await FollowIfRedirect(response);
|
||||
response = await FollowIfRedirect(response);
|
||||
}
|
||||
|
||||
if (response.Status != System.Net.HttpStatusCode.OK && response.Status != System.Net.HttpStatusCode.Continue && response.Status != System.Net.HttpStatusCode.PartialContent)
|
||||
@@ -560,7 +560,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
var response = await RequestWithCookiesAsync(requestLink, null, RequestType.GET, referer);
|
||||
if (response.IsRedirect)
|
||||
await FollowIfRedirect(response);
|
||||
response = await FollowIfRedirect(response);
|
||||
|
||||
return response;
|
||||
}
|
||||
@@ -622,7 +622,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (response.IsRedirect)
|
||||
{
|
||||
await FollowIfRedirect(response, request.Url, redirectUrlOverride, response.Cookies, accumulateCookies);
|
||||
response = await FollowIfRedirect(response, request.Url, redirectUrlOverride, response.Cookies, accumulateCookies);
|
||||
}
|
||||
|
||||
if (returnCookiesFromFirstCall)
|
||||
@@ -646,7 +646,7 @@ namespace Jackett.Common.Indexers
|
||||
}
|
||||
}
|
||||
|
||||
protected async Task FollowIfRedirect(WebResult response, string referrer = null, string overrideRedirectUrl = null, string overrideCookies = null, bool accumulateCookies = false, int maxRedirects = 5)
|
||||
protected async Task<WebResult> FollowIfRedirect(WebResult response, string referrer = null, string overrideRedirectUrl = null, string overrideCookies = null, bool accumulateCookies = false, int maxRedirects = 5)
|
||||
{
|
||||
for (var i = 0; i < maxRedirects; i++)
|
||||
{
|
||||
@@ -661,7 +661,7 @@ namespace Jackett.Common.Indexers
|
||||
break;
|
||||
}
|
||||
|
||||
await DoFollowIfRedirect(response, referrer, overrideRedirectUrl, overrideCookies, accumulateCookies);
|
||||
response = await DoFollowIfRedirect(response, referrer, overrideRedirectUrl, overrideCookies, accumulateCookies);
|
||||
|
||||
if (accumulateCookies)
|
||||
{
|
||||
@@ -674,6 +674,8 @@ namespace Jackett.Common.Indexers
|
||||
response.Cookies = overrideCookies;
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
protected virtual string ResolveCookies(string incomingCookies = "")
|
||||
@@ -701,7 +703,7 @@ namespace Jackett.Common.Indexers
|
||||
}
|
||||
}
|
||||
|
||||
private async Task DoFollowIfRedirect(WebResult incomingResponse, string referrer = null, string overrideRedirectUrl = null, string overrideCookies = null, bool accumulateCookies = false)
|
||||
private async Task<WebResult> DoFollowIfRedirect(WebResult incomingResponse, string referrer = null, string overrideRedirectUrl = null, string overrideCookies = null, bool accumulateCookies = false)
|
||||
{
|
||||
if (incomingResponse.IsRedirect)
|
||||
{
|
||||
@@ -722,8 +724,11 @@ namespace Jackett.Common.Indexers
|
||||
Cookies = redirRequestCookies,
|
||||
Encoding = Encoding
|
||||
});
|
||||
MapperUtil.Mapper.Map(redirectedResponse, incomingResponse);
|
||||
|
||||
return redirectedResponse;
|
||||
}
|
||||
|
||||
return incomingResponse;
|
||||
}
|
||||
|
||||
protected List<string> GetAllTrackerCategories() =>
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "broadcasthenet";
|
||||
public override string Name => "BroadcasTheNet";
|
||||
public override string Description => "BroadcasTheNet (BTN) is an invite-only torrent tracker focused on TV shows";
|
||||
// Status: https://btn.trackerstatus.info/
|
||||
public override string SiteLink { get; protected set; } = "https://broadcasthe.net/";
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
@@ -861,7 +861,7 @@ namespace Jackett.Common.Indexers
|
||||
// Follow the redirect on login if the domain doesn't change
|
||||
if (testResult.IsRedirect && GetRedirectDomainHint(testResult) == null)
|
||||
{
|
||||
await FollowIfRedirect(testResult, LoginTestUrl, overrideCookies: testResult.Cookies, accumulateCookies: true, maxRedirects: 1);
|
||||
testResult = await FollowIfRedirect(testResult, LoginTestUrl, overrideCookies: testResult.Cookies, accumulateCookies: true, maxRedirects: 1);
|
||||
}
|
||||
|
||||
if (testResult.IsRedirect)
|
||||
@@ -977,7 +977,7 @@ namespace Jackett.Common.Indexers
|
||||
// Some sites have a temporary redirect before the login page, we need to process it.
|
||||
if (Definition.Followredirect)
|
||||
{
|
||||
await FollowIfRedirect(landingResult, LoginUrl.AbsoluteUri, overrideCookies: landingResult.Cookies, accumulateCookies: true);
|
||||
landingResult = await FollowIfRedirect(landingResult, LoginUrl.AbsoluteUri, overrideCookies: landingResult.Cookies, accumulateCookies: true);
|
||||
}
|
||||
|
||||
var hasCaptcha = false;
|
||||
@@ -1532,7 +1532,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (response.IsRedirect && SearchPath.Followredirect)
|
||||
{
|
||||
await FollowIfRedirect(response);
|
||||
response = await FollowIfRedirect(response);
|
||||
}
|
||||
|
||||
var results = response.ContentString;
|
||||
@@ -1559,7 +1559,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (response.IsRedirect && SearchPath.Followredirect)
|
||||
{
|
||||
await FollowIfRedirect(response);
|
||||
response = await FollowIfRedirect(response);
|
||||
}
|
||||
|
||||
results = response.ContentString;
|
||||
@@ -1750,7 +1750,7 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (response.IsRedirect && SearchPath.Followredirect)
|
||||
{
|
||||
await FollowIfRedirect(response);
|
||||
response = await FollowIfRedirect(response);
|
||||
}
|
||||
|
||||
results = response.ContentString;
|
||||
|
||||
@@ -25,10 +25,9 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "cinecalidad";
|
||||
public override string Name => "Cinecalidad";
|
||||
public override string Description => "Películas Full UHD/HD en Latino Dual.";
|
||||
public override string SiteLink { get; protected set; } = "https://cinecalidad.fi/";
|
||||
public override string SiteLink { get; protected set; } = "https://www.cinecalidad.vg/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://wwv.cinecalidad.foo/",
|
||||
"https://wv.cinecalidad.foo/",
|
||||
"https://vwv.cinecalidad.foo/",
|
||||
"https://wzw.cinecalidad.foo/",
|
||||
@@ -43,6 +42,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://wv.cinecalidad.so/",
|
||||
"https://vvvv.cinecalidad.so/",
|
||||
"https://wvvv.cinecalidad.so/",
|
||||
"https://cinecalidad.fi/",
|
||||
};
|
||||
public override string Language => "es-419";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -27,10 +27,10 @@ namespace Jackett.Common.Indexers
|
||||
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.icu/";
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.sbs/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.icu/",
|
||||
"https://dontorrent.sbs/",
|
||||
"https://todotorrents.org/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/",
|
||||
@@ -39,7 +39,6 @@ namespace Jackett.Common.Indexers
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.cymru/",
|
||||
"https://dontorrent.capetown/",
|
||||
"https://dontorrent.yokohama/",
|
||||
"https://dontorrent.makeup/",
|
||||
@@ -54,6 +53,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://dontorrent.miami/",
|
||||
"https://dontorrent.business/",
|
||||
"https://dontorrent.clothing/",
|
||||
"https://dontorrent.icu/",
|
||||
"https://dontorrent.fyi/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -30,7 +30,6 @@ namespace Jackett.Common.Indexers
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://epublibre.org/",
|
||||
"https://epublibre.unblockit.click/",
|
||||
"https://epublibre.unblockit.asia/",
|
||||
"https://epublibre.unblockit.mov/",
|
||||
"https://epublibre.unblockit.rsvp/",
|
||||
@@ -45,6 +44,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://epublibre.unblockit.casa/",
|
||||
"https://epublibre.unblockit.sbs/", // empty response
|
||||
"https://epublibre.unblockit.ong/", // empty response
|
||||
"https://epublibre.unblockit.black/", // empty response
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -27,16 +27,6 @@ namespace Jackett.Common.Indexers
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://erairaws.nocensor.space/",
|
||||
"https://erairaws.nocensor.work/",
|
||||
"https://erairaws.nocensor.biz/",
|
||||
"https://erairaws.nocensor.sbs/",
|
||||
"https://erairaws.nocensor.world/",
|
||||
"https://erairaws.nocensor.lol/",
|
||||
"https://erairaws.nocensor.art/",
|
||||
"https://erairaws.mrunblock.guru/",
|
||||
"https://erairaws.mrunblock.life/",
|
||||
"https://erairaws.nocensor.click/",
|
||||
"https://erairaws.mrunblock.bond/",
|
||||
"https://erairaws.nocensor.cloud/"
|
||||
};
|
||||
@@ -131,7 +121,7 @@ namespace Jackett.Common.Indexers
|
||||
// Retrieve RSS feed
|
||||
var result = await RequestWithCookiesAndRetryAsync(RssFeedUri);
|
||||
if (result.IsRedirect)
|
||||
await FollowIfRedirect(result);
|
||||
result = await FollowIfRedirect(result);
|
||||
|
||||
// Parse as XML document
|
||||
var xmlDocument = new XmlDocument();
|
||||
|
||||
@@ -25,6 +25,7 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "gazellegamesapi";
|
||||
public override string Name => "GazelleGames (API)";
|
||||
public override string Description => "A gaming tracker";
|
||||
// Status: https://ggn.trackerstatus.info/
|
||||
public override string SiteLink { get; protected set; } = "https://gazellegames.net/";
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
@@ -27,14 +27,10 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "mejortorrent";
|
||||
public override string Name => "MejorTorrent";
|
||||
public override string Description => "MejorTorrent - Hay veces que un torrent viene mejor! :)";
|
||||
public override string SiteLink { get; protected set; } = "https://www15.mejortorrent.rip/";
|
||||
public override string SiteLink { get; protected set; } = "https://www17.mejortorrent.zip/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://mejortorrent.unblockit.bio/",
|
||||
"https://mejortorrent.wtf/",
|
||||
"https://mejortorrent.unblockit.boo/",
|
||||
"https://mejortorrent.unblockit.click/",
|
||||
"https://www1.mejortorrent.rip/",
|
||||
"https://mejortorrent.unblockit.asia/",
|
||||
"https://www2.mejortorrent.rip/",
|
||||
"https://mejortorrent.unblockit.mov/",
|
||||
@@ -55,6 +51,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://www12.mejortorrent.rip/",
|
||||
"https://www13.mejortorrent.rip/",
|
||||
"https://www14.mejortorrent.rip/",
|
||||
"https://www15.mejortorrent.rip/",
|
||||
"https://www16.mejortorrent.rip/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user