Compare commits
359 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c357a9f4a7 | ||
|
|
0097d823e6 | ||
|
|
798a4b160f | ||
|
|
b0dbd475dc | ||
|
|
14b132e4f3 | ||
|
|
5e78223cdc | ||
|
|
4cd883d432 | ||
|
|
a1a98f9836 | ||
|
|
0c9c144e5a | ||
|
|
a2da916252 | ||
|
|
8d85708721 | ||
|
|
a00ff4703e | ||
|
|
fcf7694ae7 | ||
|
|
503030045f | ||
|
|
5f53bea74a | ||
|
|
855d89296a | ||
|
|
7800813aee | ||
|
|
2151dba5d1 | ||
|
|
8e1887a133 | ||
|
|
587bef69d4 | ||
|
|
32863c2aa9 | ||
|
|
6e0a3ea759 | ||
|
|
7de44d8c9e | ||
|
|
53646c28de | ||
|
|
aa0ae46fd9 | ||
|
|
535f199e84 | ||
|
|
64dd9c6897 | ||
|
|
eb3898a961 | ||
|
|
75bf8d7078 | ||
|
|
390b1714f4 | ||
|
|
6254d62c23 | ||
|
|
08773ae3c9 | ||
|
|
7b7f77e06f | ||
|
|
64fc61f777 | ||
|
|
dee082ead3 | ||
|
|
6347fdff66 | ||
|
|
cdeac3c0ef | ||
|
|
6d568a4059 | ||
|
|
3dd5b1e5f0 | ||
|
|
fb9845d1e3 | ||
|
|
70b0aa1f67 | ||
|
|
368afcfc5a | ||
|
|
29d28e2607 | ||
|
|
b023e8fe6d | ||
|
|
d51752f682 | ||
|
|
ec40699cdc | ||
|
|
3c798127c5 | ||
|
|
61b263dd98 | ||
|
|
dd11b7e6cd | ||
|
|
bec42c4ac0 | ||
|
|
9b08d7ad46 | ||
|
|
9311af24b5 | ||
|
|
9e5d79d2a4 | ||
|
|
15c64f9f66 | ||
|
|
f1f8f0f756 | ||
|
|
b3d4ec6f23 | ||
|
|
7f33664f97 | ||
|
|
43aaaf4142 | ||
|
|
20a0bedc3b | ||
|
|
31e0a19eeb | ||
|
|
ccb98cbe48 | ||
|
|
6560931e42 | ||
|
|
46082db9b9 | ||
|
|
89f4a9fb89 | ||
|
|
3e2411865f | ||
|
|
74b2f9e670 | ||
|
|
78b538d2be | ||
|
|
e92e9d168e | ||
|
|
e32053b153 | ||
|
|
7eabdec5b0 | ||
|
|
76a61e67c4 | ||
|
|
b9834455ed | ||
|
|
2f3f86bf25 | ||
|
|
05918d22c1 | ||
|
|
cae5c818df | ||
|
|
84b258a3bb | ||
|
|
887c5bafe6 | ||
|
|
eb933878ec | ||
|
|
3116dcce2b | ||
|
|
459bc4683e | ||
|
|
37ef94e8a5 | ||
|
|
7bbc63ddb8 | ||
|
|
e25370d959 | ||
|
|
46d6cf7ca1 | ||
|
|
b8f4caddc2 | ||
|
|
2cfd55b325 | ||
|
|
5f37536783 | ||
|
|
c0994d7a5e | ||
|
|
7455f3aec6 | ||
|
|
832184afaf | ||
|
|
f8bd4cd479 | ||
|
|
9e1d4af15e | ||
|
|
052d4ab3e2 | ||
|
|
86ba95ceb6 | ||
|
|
15e81d14c9 | ||
|
|
fd3731c429 | ||
|
|
adcbd5389c | ||
|
|
995ce3ee84 | ||
|
|
ecdb32e57f | ||
|
|
dd49233d41 | ||
|
|
2df84ce82d | ||
|
|
1b00e38094 | ||
|
|
42ec7db599 | ||
|
|
ad60961347 | ||
|
|
c2bb44dfb6 | ||
|
|
f218af30b9 | ||
|
|
d8f0a876d5 | ||
|
|
eb8279fd00 | ||
|
|
f554ba36c2 | ||
|
|
9c3d105705 | ||
|
|
da1a0cd98e | ||
|
|
98cc4f0f99 | ||
|
|
8e0a583296 | ||
|
|
d40019fc86 | ||
|
|
1eebcdffca | ||
|
|
458c1c9420 | ||
|
|
3db9c65fe0 | ||
|
|
8be39359d9 | ||
|
|
ae601a48f1 | ||
|
|
1e90e0ba5b | ||
|
|
72a52629ab | ||
|
|
88a9ae48ca | ||
|
|
5e71e30bc3 | ||
|
|
3060759f6c | ||
|
|
38ffba9405 | ||
|
|
98fd98de28 | ||
|
|
0f5f76ac6a | ||
|
|
7a8ffe297c | ||
|
|
7c4a08c7cc | ||
|
|
547dcc3bde | ||
|
|
4ca10e45e5 | ||
|
|
13458a16eb | ||
|
|
f779b3ac80 | ||
|
|
d85a2f84f3 | ||
|
|
8acdcfb935 | ||
|
|
aecfe64819 | ||
|
|
47113d3037 | ||
|
|
23eb6ff754 | ||
|
|
1d031c5ab1 | ||
|
|
e497312bc0 | ||
|
|
686ff21061 | ||
|
|
f330c9c0d7 | ||
|
|
2e4c88a577 | ||
|
|
1fd58faac1 | ||
|
|
99255b7ce9 | ||
|
|
829368c080 | ||
|
|
84146a9c2a | ||
|
|
479d5147dc | ||
|
|
d35c767769 | ||
|
|
89109259c5 | ||
|
|
7a391b598f | ||
|
|
7910b8dfea | ||
|
|
da88b95496 | ||
|
|
8b809e8edc | ||
|
|
6d95e354aa | ||
|
|
1657f12bed | ||
|
|
4038a0d430 | ||
|
|
a8a8701ab0 | ||
|
|
52d432be52 | ||
|
|
0518d30f9d | ||
|
|
c66e4be3b7 | ||
|
|
82931b31cf | ||
|
|
1bc41f396e | ||
|
|
6b4ff3a368 | ||
|
|
c93a27e24f | ||
|
|
340b9adb84 | ||
|
|
2241d64d9d | ||
|
|
f8f18b8aae | ||
|
|
ea217e89ac | ||
|
|
9ce111a870 | ||
|
|
b1291227fb | ||
|
|
bae9edfa87 | ||
|
|
f74cd603f6 | ||
|
|
4138905543 | ||
|
|
2751cd4307 | ||
|
|
64604fc450 | ||
|
|
4a1207794f | ||
|
|
7273f99a41 | ||
|
|
91905668a3 | ||
|
|
1f69346516 | ||
|
|
af01a9ef3f | ||
|
|
21946b0b2f | ||
|
|
0f565d3c24 | ||
|
|
17dcb8714d | ||
|
|
115610571e | ||
|
|
854192b489 | ||
|
|
c4d85af057 | ||
|
|
efc3183e12 | ||
|
|
0f47bfb95c | ||
|
|
14e62f1b33 | ||
|
|
bb0bee92f9 | ||
|
|
43d2f52950 | ||
|
|
b0bf635db9 | ||
|
|
cdc2599209 | ||
|
|
c9cfbb6223 | ||
|
|
ccba23696d | ||
|
|
8576ff1c3a | ||
|
|
752bdc5f31 | ||
|
|
101df128b1 | ||
|
|
22bc6f8b80 | ||
|
|
29ff3d3c96 | ||
|
|
8eb2080102 | ||
|
|
2a4a5f86c5 | ||
|
|
fd88de5785 | ||
|
|
17b9fb114a | ||
|
|
97cd23e30f | ||
|
|
0e301b485a | ||
|
|
b25a7b4dc3 | ||
|
|
40bdb750bd | ||
|
|
644dca79b7 | ||
|
|
3bda20c448 | ||
|
|
a60fe8c56d | ||
|
|
8456803fec | ||
|
|
26eedad010 | ||
|
|
819ec9090a | ||
|
|
f6973274a8 | ||
|
|
a1d4a63e2f | ||
|
|
1ef2211919 | ||
|
|
986b881f78 | ||
|
|
9f50042c0a | ||
|
|
ecbdac690b | ||
|
|
94ba5a724b | ||
|
|
9b45427687 | ||
|
|
7d5c48d873 | ||
|
|
e8e74e3e28 | ||
|
|
3550c6bf21 | ||
|
|
42b159a801 | ||
|
|
372ff66510 | ||
|
|
0bc25d77c9 | ||
|
|
6aa8df9135 | ||
|
|
c396def330 | ||
|
|
e2b575cadb | ||
|
|
1c67900f92 | ||
|
|
d80c40b74f | ||
|
|
698549ea6b | ||
|
|
b06e92d10a | ||
|
|
a631866391 | ||
|
|
a46017f841 | ||
|
|
cd040177b4 | ||
|
|
9f9a2a0ea4 | ||
|
|
c49eda66c6 | ||
|
|
bd966412c0 | ||
|
|
279090e18c | ||
|
|
dc4d36af5f | ||
|
|
7229dd2416 | ||
|
|
a6fa82ccb9 | ||
|
|
a2d7173f60 | ||
|
|
e47de32ef8 | ||
|
|
fa353c1c69 | ||
|
|
fa40323df0 | ||
|
|
3d20e6facf | ||
|
|
5ff8e4f648 | ||
|
|
185033dc0d | ||
|
|
6bd91574c1 | ||
|
|
76e62c96e2 | ||
|
|
12dd4e716e | ||
|
|
3a9ae8a7a3 | ||
|
|
4509e6931d | ||
|
|
5a65ee60d5 | ||
|
|
87ceebf025 | ||
|
|
179f062c60 | ||
|
|
834f2bf0d8 | ||
|
|
906b28a4d7 | ||
|
|
aa6d0deeb5 | ||
|
|
446f7e6ccc | ||
|
|
d072380a3c | ||
|
|
b7010440bb | ||
|
|
9d97786431 | ||
|
|
5ca49f8ffe | ||
|
|
03815c49c5 | ||
|
|
1486435554 | ||
|
|
8539aabc06 | ||
|
|
a7c49ad515 | ||
|
|
b0d195a585 | ||
|
|
288243664a | ||
|
|
ff2effbce2 | ||
|
|
6a95ff71fd | ||
|
|
2793ab1a7a | ||
|
|
3b69d8813c | ||
|
|
987271e848 | ||
|
|
9aa5140598 | ||
|
|
28364bf9cc | ||
|
|
d59e2b6ba6 | ||
|
|
dfa92394d8 | ||
|
|
c7e1f12e46 | ||
|
|
1665536696 | ||
|
|
6c33e9e1e9 | ||
|
|
44d9d41f87 | ||
|
|
ff5eb0b691 | ||
|
|
5a10f64dfb | ||
|
|
a7ed085b7a | ||
|
|
d710ab1f6f | ||
|
|
a6967e7104 | ||
|
|
c147c2b630 | ||
|
|
13b60f63ca | ||
|
|
c04dd234f8 | ||
|
|
de821bc87b | ||
|
|
8b8ce65ccb | ||
|
|
3b0a8c6185 | ||
|
|
4daf4cfc2b | ||
|
|
f2865c76f5 | ||
|
|
737a63b876 | ||
|
|
1b0c3d2f86 | ||
|
|
e21f1cd055 | ||
|
|
784323d672 | ||
|
|
08a0065e62 | ||
|
|
5f82779824 | ||
|
|
670f073d43 | ||
|
|
eb0dc4e921 | ||
|
|
df4d69cf22 | ||
|
|
e4c1e7e4d8 | ||
|
|
6991ef7e9f | ||
|
|
ecb7380780 | ||
|
|
11124ce821 | ||
|
|
c64a27e2c9 | ||
|
|
3d2e42d9e4 | ||
|
|
a7d1155e14 | ||
|
|
26beaab813 | ||
|
|
bfd38da446 | ||
|
|
91aa1e1984 | ||
|
|
6a0db8f120 | ||
|
|
227b23eb42 | ||
|
|
47b3a2ca81 | ||
|
|
0a8def821f | ||
|
|
ab560fd705 | ||
|
|
2a04d1ce81 | ||
|
|
bebfae9b32 | ||
|
|
54d90b5de9 | ||
|
|
837f72b39a | ||
|
|
ebe89bcab3 | ||
|
|
30febc2044 | ||
|
|
a9a8fb3e8d | ||
|
|
f2f998ef3a | ||
|
|
b769c5f492 | ||
|
|
280cd05546 | ||
|
|
b7e3e99832 | ||
|
|
ca489fec99 | ||
|
|
3f81487d16 | ||
|
|
aba40a8fe5 | ||
|
|
91af73c5cf | ||
|
|
9f365dbd7e | ||
|
|
729c418da8 | ||
|
|
ed60f38b94 | ||
|
|
8bdb2ff81d | ||
|
|
e4133c9f28 | ||
|
|
4cfaab2972 | ||
|
|
ffadd4e559 | ||
|
|
55b8212c77 | ||
|
|
d9cdc675bf | ||
|
|
9e25bca463 | ||
|
|
6234c80a5c | ||
|
|
282446ad74 | ||
|
|
65736cad8b | ||
|
|
453bc8d2c0 | ||
|
|
9cef929b78 | ||
|
|
cefdc616a1 | ||
|
|
1a8c4af64e | ||
|
|
0d19c1fd2a | ||
|
|
abf6532e01 |
BIN
.github/cookies-chrome.png
vendored
|
Before Width: | Height: | Size: 480 KiB After Width: | Height: | Size: 1.1 MiB |
BIN
.github/cookies-firefox.png
vendored
|
Before Width: | Height: | Size: 439 KiB After Width: | Height: | Size: 1.2 MiB |
BIN
.github/firefox-socks-proxy-settings.png
vendored
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 131 KiB |
BIN
.github/jackett-screenshot1.png
vendored
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 180 KiB |
BIN
.github/jackett-screenshot2.png
vendored
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 66 KiB |
BIN
.github/jackett-screenshot3.png
vendored
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 134 KiB |
8
.github/workflows/codeql-analysis.yml
vendored
@@ -57,11 +57,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
uses: github/codeql-action/init@v4
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -73,7 +73,7 @@ jobs:
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
uses: github/codeql-action/autobuild@v4
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -87,4 +87,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
uses: github/codeql-action/analyze@v4
|
||||
|
||||
8
.github/workflows/definitions-update.yml
vendored
@@ -15,7 +15,7 @@ concurrency:
|
||||
jobs:
|
||||
update-rudub:
|
||||
name: Update rudub
|
||||
if: github.repository == 'Jackett/Jackett'
|
||||
if: (github.repository == 'Jackett/Jackett' && github.actor != 'dependabot[bot]')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -34,14 +34,14 @@ jobs:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
|
||||
- name: Setup Environment Variables
|
||||
run: |
|
||||
echo "CURRENT_RUDUB_DOMAIN=$(date +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.bet" >> $GITHUB_ENV
|
||||
echo "PREVIOUS_RUDUB_DOMAIN=$(date --date='yesterday' +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.bet" >> $GITHUB_ENV
|
||||
echo "CURRENT_RUDUB_DOMAIN=$(date +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.world" >> $GITHUB_ENV
|
||||
echo "PREVIOUS_RUDUB_DOMAIN=$(date --date='yesterday' +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.world" >> $GITHUB_ENV
|
||||
|
||||
- name: Update rudub definition
|
||||
uses: mikefarah/yq@master
|
||||
|
||||
4
.github/workflows/issuebot.yml
vendored
@@ -20,11 +20,11 @@ jobs:
|
||||
steps:
|
||||
# This workflow will run a script that is stored in the repository. This step checks out the repository contents so that the workflow can access the script.
|
||||
- name: Check out repo content
|
||||
uses: actions/checkout@v5
|
||||
uses: actions/checkout@v6
|
||||
|
||||
# This step sets up Node.js. The script that this workflow will run uses Node.js.
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v5
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '18.x'
|
||||
|
||||
|
||||
@@ -109,8 +109,8 @@ If you use something else, please add it here for others.
|
||||
- About 2GB download, 8GB installed.
|
||||
- Make sure it includes the following Workload and Individual Components:
|
||||
- .NET desktop development
|
||||
- .Net Framework 4.6.2 SDK
|
||||
- .Net Framework 4.6.2 targeting pack
|
||||
- .Net Framework 4.7.1 SDK
|
||||
- .Net Framework 4.7.1 targeting pack
|
||||
- From the `Get Started` screen:
|
||||
- `Clone a repository -> Browse a repository -> GitHub -> Sign in -> clone your forked repository`
|
||||
- Double-click `Jackett.sln` in `Solution Explorer` to load your project
|
||||
|
||||
54
README.md
@@ -20,10 +20,10 @@ The software implements the [Torznab](https://torznab.github.io/spec-1.3-draft/i
|
||||
A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](https://github.com/webtor-io/go-jackett)
|
||||
|
||||
#### Supported Systems
|
||||
The currently supported version of Jackett is 0.23.+, which is compatible with the following OS:
|
||||
* Windows 10 Version 1607+ or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#windows)
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#linux)
|
||||
* macOS 13.0+ (Ventura) or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#macos)
|
||||
The currently supported version of Jackett is 0.24.+, which is compatible with the following OS:
|
||||
* Windows 10 Version 1607+ or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md#windows)
|
||||
* Linux [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md#linux)
|
||||
* macOS 13.0+ (Ventura) or greater [supported operating systems here](https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md#apple)
|
||||
|
||||
Prior versions of Jackett are no longer supported.
|
||||
|
||||
@@ -62,7 +62,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* EBook Bay (EBB)
|
||||
* Elitetorrent.wf
|
||||
* EpubLibre
|
||||
* EXT Torrents
|
||||
* ExtraTorrent.st
|
||||
* EZTV
|
||||
* FileMood
|
||||
@@ -71,6 +70,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Frozen Layer
|
||||
* GamesTorrents
|
||||
* GTorrent.pro
|
||||
* HDRTorrent
|
||||
* Idope
|
||||
* ilCorSaRoNeRo
|
||||
* Internet Archive (archive.org)
|
||||
@@ -83,6 +83,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Mac Torrents Download
|
||||
* Magnet Cat
|
||||
* MagnetDownload
|
||||
* Magnetz
|
||||
* MegaPeer
|
||||
* MejorTorrent
|
||||
* Mikan
|
||||
@@ -96,7 +97,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* Nyaa.si
|
||||
* OneJAV
|
||||
* OxTorrent
|
||||
* OxTorrent-vip
|
||||
* OpenSharing
|
||||
* PC-torrent
|
||||
* Pirate's Paradise
|
||||
@@ -105,7 +105,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* PornRips
|
||||
* Postman
|
||||
* Qbite (Hubite)
|
||||
* Rapidzona
|
||||
* RedeTorrent
|
||||
* RinTorNeT
|
||||
* RuTor
|
||||
@@ -133,9 +132,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* TorrentProject2
|
||||
* TorrentQQ (토렌트큐큐)
|
||||
* Torrents.csv
|
||||
* TorrentSir (토렌트썰)
|
||||
* Torrentsome (토렌트썸)
|
||||
* torrentssg (토렌트쓱)
|
||||
* Torrenttip (토렌트팁)
|
||||
* TrahT
|
||||
* U3C3
|
||||
@@ -241,6 +238,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* AGSVPT (Arctic Global Seed Vault)
|
||||
* Aidoru!Online
|
||||
* Aither
|
||||
* alingPT
|
||||
* AlphaRatio (AR)
|
||||
* AmigosShareClub (ASC)
|
||||
* AnimeBytes (AB)
|
||||
@@ -271,7 +269,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* BIT-HDTV
|
||||
* Bitded
|
||||
* bitGAMER
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen
|
||||
* Bitpalace
|
||||
* BitPorn
|
||||
@@ -292,10 +289,11 @@ Prior versions of Jackett are no longer supported.
|
||||
* BTSCHOOL
|
||||
* BWTorrents
|
||||
* BYRBT
|
||||
* cangbaoge (CBG)
|
||||
* CapybaraBR
|
||||
* Carp-Hunter
|
||||
* Carpathians
|
||||
* CarPT [![(invite needed)][inviteneeded]](#)
|
||||
* CarPT
|
||||
* Cathode-Ray.Tube (CRT)
|
||||
* CD File
|
||||
* CeskeForum
|
||||
@@ -330,6 +328,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Ebooks-Shares [![(invite needed)][inviteneeded]](#)
|
||||
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
|
||||
* eMuwarez
|
||||
* eShareNet
|
||||
* eStone (BigTorrent)
|
||||
* Exitorrent.org [![(invite needed)][inviteneeded]](#)
|
||||
* ExoticaZ (YourExotic)
|
||||
@@ -353,7 +352,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Gay-Torrents.org
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn)
|
||||
* Generation-Free [![(invite needed)][inviteneeded]](#)
|
||||
* Generation-Free
|
||||
* GGPT
|
||||
* GigaTorrents
|
||||
* GimmePeers (formerly ILT) [PAY2DL]
|
||||
@@ -388,17 +387,18 @@ Prior versions of Jackett are no longer supported.
|
||||
* HDU
|
||||
* Hebits (HB)
|
||||
* HellasHut
|
||||
* HELLENIC-HD
|
||||
* HHanClub
|
||||
* HHD
|
||||
* HomePornTorrents (HPT)
|
||||
* House of Devil
|
||||
* HQMusic
|
||||
* HUDBT (蝴蝶) [![(invite needed)][inviteneeded]](#)
|
||||
* ilolicon PT
|
||||
* ImmortalSeed (iS)
|
||||
* Immortuos
|
||||
* Indietorrents [![(invite needed)][inviteneeded]](#)
|
||||
* INFINITY [PAY2DL] [![(invite needed)][inviteneeded]](#)
|
||||
* InfinityHD
|
||||
* Infire
|
||||
* Insane Tracker
|
||||
* IPTorrents (IPT)
|
||||
@@ -414,6 +414,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* KrazyZone
|
||||
* Kufei (库非)
|
||||
* Kufirc
|
||||
* lajidui
|
||||
* Last Digital Underground (LDU)
|
||||
* LastFiles (LF)
|
||||
* Lat-Team
|
||||
@@ -453,6 +454,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* NewHeaven (TorrentHeavenResurrection) [![(invite needed)][inviteneeded]](#)
|
||||
* NicePT
|
||||
* Nirvana
|
||||
* NorBits
|
||||
* NordicQuality
|
||||
* Nusanta(RA.RE)
|
||||
@@ -513,6 +515,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Romanian Metal Torrents (RMT)
|
||||
* Rousi
|
||||
* SAMARITANO
|
||||
* SBPT
|
||||
* SceneHD [![(invite needed)][inviteneeded]](#)
|
||||
* SceneRush [![(invite needed)][inviteneeded]](#)
|
||||
* SceneTime
|
||||
@@ -522,9 +525,10 @@ Prior versions of Jackett are no longer supported.
|
||||
* SewerPT (下水道) [![(invite needed)][inviteneeded]](#)
|
||||
* SexTorrent
|
||||
* SFP (Share Friends Projekt)
|
||||
* ShaKaw [![(invite needed)][inviteneeded]](#)
|
||||
* Shareisland
|
||||
* Shazbat
|
||||
* SiamBIT
|
||||
* SiamBIT [PAY2DL]
|
||||
* SkipTheCommercials
|
||||
* SnowPT (SSPT)
|
||||
* SoulVoice (聆音Club) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -537,6 +541,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* SugoiMusic
|
||||
* Superbits (SBS)
|
||||
* Swarmazon
|
||||
* Tangmen (唐门)
|
||||
* Tapochek
|
||||
* Tasmanit
|
||||
* Team CT Game (TCTG)
|
||||
@@ -557,7 +562,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* The Vault (TVBZ)
|
||||
* The-New-Fun
|
||||
* TheLeachZone (TLZ)
|
||||
* ThePiratedShip
|
||||
* TJUPT (北洋园PT)
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* TmGHuB (TH) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -586,7 +590,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Trellas (Magico) [![(invite needed)][inviteneeded]](#)
|
||||
* TreZzoR
|
||||
* TurkSeed (Aturk)
|
||||
* TurkTorrent (TT)
|
||||
* TurkTorrent (TT) [PAY2DL]
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TVstore
|
||||
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -709,7 +713,7 @@ We recommend you install Jackett as a Windows service using the supplied [Window
|
||||
|
||||
To get started with using the installer for Jackett, follow the steps below:
|
||||
|
||||
1. Check if you need any .NET prerequisites installed, see https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net80#dependencies
|
||||
1. Check if you need any .NET prerequisites installed, see https://learn.microsoft.com/en-us/dotnet/core/install/windows#net-installer
|
||||
2. Download the latest version of the [Windows installer](https://github.com/Jackett/Jackett/releases/latest/download/Jackett.Installer.Windows.exe)
|
||||
3. Run the Jackett.Installer.Windows.exe program.
|
||||
4. When prompted if you would like this app to make changes to your computer, select "yes".
|
||||
@@ -795,7 +799,7 @@ macOS 13.0+ (Ventura) or greater
|
||||
3. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
The service will start on each logon. You can always stop it by running `launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist` from Terminal. You can start it again it using `launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist`.
|
||||
Logs are stored as usual under `~/.config/Jackett/log.txt`.
|
||||
Logs are stored as usual under `~/.config/Jackett/log.txt` or `/Users/your-user-name/Library/Application Support/Jackett/log.txt`.
|
||||
|
||||
### Run without installing as a service
|
||||
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`.
|
||||
@@ -827,7 +831,7 @@ Detailed instructions are available at [Jackett's Wiki](https://github.com/Jacke
|
||||
|
||||
|
||||
## Running Jackett behind a reverse proxy
|
||||
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base path override" Jackett option accordingly.
|
||||
When running Jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base path override" Jackett option accordingly.
|
||||
|
||||
Example config for apache:
|
||||
```
|
||||
@@ -871,7 +875,7 @@ Setting up this service is optional; most indexers don't need it.
|
||||
|
||||
## Configuring OMDb
|
||||
This feature is used as a fallback (when using the aggregate Indexer) to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
|
||||
To use it, please just request a free API key on [OMDb](https://omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
|
||||
|
||||
## Command line switches
|
||||
|
||||
@@ -933,21 +937,21 @@ git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f net8.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net8.0/osx-x64/jackett # run jackett
|
||||
dotnet publish Jackett.Server -f net9.0 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net9.0/osx-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
### Linux
|
||||
|
||||
|
||||
```bash
|
||||
sudo apt install nuget msbuild dotnet-sdk-8.0 # install build tools (Debian/ubuntu)
|
||||
sudo apt install nuget msbuild dotnet-sdk-9.0 # install build tools (Debian/ubuntu)
|
||||
git clone https://github.com/Jackett/Jackett.git
|
||||
cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f net8.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net8.0/linux-x64/jackett # run jackett
|
||||
dotnet publish Jackett.Server -f net9.0 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/net9.0/linux-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
name: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
variables:
|
||||
majorVersion: 0
|
||||
minorVersion: 23
|
||||
minorVersion: 24
|
||||
patchVersion: $[counter(variables['minorVersion'], 1)] # this will reset when we bump minor
|
||||
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
buildConfiguration: Release
|
||||
netCoreFramework: net8.0
|
||||
netCoreSdkVersion: 8.0.x
|
||||
netCoreFramework: net9.0
|
||||
netCoreSdkVersion: 9.0.x
|
||||
# system.debug: true
|
||||
|
||||
trigger:
|
||||
@@ -44,70 +44,70 @@ stages:
|
||||
matrix:
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-2022
|
||||
imageName: windows-2025
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
archiveType: zip
|
||||
artifactName: Jackett.Binaries.Windows.zip
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-13
|
||||
imageName: macOS-15
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.macOS.tar.gz
|
||||
macOSARM64:
|
||||
buildDescription: macOS ARM64
|
||||
imageName: macOS-13
|
||||
imageName: macOS-15
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.macOSARM64.tar.gz
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
LinuxARM32:
|
||||
buildDescription: Linux ARM32
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-arm
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxARM32.tar.gz
|
||||
LinuxARM64:
|
||||
buildDescription: Linux ARM64
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxARM64.tar.gz
|
||||
LinuxMuslAMDx64:
|
||||
buildDescription: Linux musl AMD x64
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslAMDx64.tar.gz
|
||||
LinuxMuslARM32:
|
||||
buildDescription: Linux musl ARM32
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM32.tar.gz
|
||||
LinuxMuslARM64:
|
||||
buildDescription: Linux musl ARM64
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM64.tar.gz
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: net471
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
@@ -231,7 +231,7 @@ stages:
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy Mono Specific Scripts
|
||||
condition: and(succeeded(), startsWith(variables['buildDescription'], 'Mono'))
|
||||
condition: and(succeeded(), eq(variables['buildDescription'], 'Mono'))
|
||||
inputs:
|
||||
SourceFolder: $(Build.SourcesDirectory)
|
||||
contents: |
|
||||
@@ -269,7 +269,7 @@ stages:
|
||||
# https://github.com/Jackett/Jackett/issues/3547
|
||||
- task: PowerShell@2
|
||||
displayName: Patch Mono Build (Mono only)
|
||||
condition: and(succeeded(), startsWith(variables['buildDescription'], 'Mono'))
|
||||
condition: and(succeeded(), eq(variables['buildDescription'], 'Mono'))
|
||||
inputs:
|
||||
workingDirectory: $(Build.BinariesDirectory)/Jackett
|
||||
targetType: inline
|
||||
@@ -329,7 +329,7 @@ stages:
|
||||
- job: Linting_Dotnet
|
||||
displayName: Linting Dotnet
|
||||
pool:
|
||||
vmImage: ubuntu-22.04
|
||||
vmImage: ubuntu-24.04
|
||||
workspace:
|
||||
clean: all
|
||||
steps:
|
||||
@@ -362,7 +362,7 @@ stages:
|
||||
- job: Linting_YAML
|
||||
displayName: Linting YAML
|
||||
pool:
|
||||
vmImage: ubuntu-22.04
|
||||
vmImage: ubuntu-24.04
|
||||
workspace:
|
||||
clean: all
|
||||
steps:
|
||||
@@ -382,7 +382,7 @@ stages:
|
||||
- job: Validate_YAML_Schema
|
||||
displayName: Validate YAML Schema
|
||||
pool:
|
||||
vmImage: ubuntu-22.04
|
||||
vmImage: ubuntu-24.04
|
||||
workspace:
|
||||
clean: all
|
||||
steps:
|
||||
@@ -421,22 +421,22 @@ stages:
|
||||
matrix:
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-2022
|
||||
imageName: windows-2025
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-13
|
||||
imageName: macOS-15
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
buildDescription: LinuxAMDx64
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
framework: net471
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
@@ -445,6 +445,15 @@ stages:
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- task: Bash@3
|
||||
displayName: Install Mono (Mono only)
|
||||
condition: and(succeeded(), eq(variables['buildDescription'], 'Mono'))
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
sudo apt update
|
||||
sudo apt install mono-complete
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
inputs:
|
||||
@@ -499,7 +508,7 @@ stages:
|
||||
- task: PublishPipelineArtifact@1
|
||||
condition: and(succeeded(), startsWith(variables['runtime'], 'win'))
|
||||
inputs:
|
||||
targetPath: $(Build.SourcesDirectory)/coverlet/reports/coverage.cobertura.Windows.net8.0.xml
|
||||
targetPath: $(Build.SourcesDirectory)/coverlet/reports/coverage.cobertura.Windows.net9.0.xml
|
||||
|
||||
- stage: IntegrationTestJackett
|
||||
displayName: Integration Tests
|
||||
@@ -514,25 +523,25 @@ stages:
|
||||
matrix:
|
||||
Windows:
|
||||
buildDescription: Windows
|
||||
imageName: windows-2022
|
||||
imageName: windows-2025
|
||||
artifactName: Jackett.Binaries.Windows.zip
|
||||
framework: $(netCoreFramework)
|
||||
runtime: win-x86
|
||||
macOS:
|
||||
buildDescription: macOS
|
||||
imageName: macOS-13
|
||||
imageName: macOS-15
|
||||
artifactName: Jackett.Binaries.macOS.tar.gz
|
||||
framework: $(netCoreFramework)
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-22.04
|
||||
imageName: ubuntu-24.04
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
framework: net471
|
||||
runtime: linux-x64
|
||||
@@ -542,6 +551,15 @@ stages:
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- task: Bash@3
|
||||
displayName: Install Mono (Mono only)
|
||||
condition: and(succeeded(), eq(variables['buildDescription'], 'Mono'))
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
sudo apt update
|
||||
sudo apt install mono-complete
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download artifacts for integration tests
|
||||
inputs:
|
||||
@@ -596,7 +614,7 @@ stages:
|
||||
workspace:
|
||||
clean: all
|
||||
pool:
|
||||
vmImage: ubuntu-22.04
|
||||
vmImage: ubuntu-24.04
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<TargetFrameworks>netstandard2.0;net9.0</TargetFrameworks>
|
||||
<LangVersion>9</LangVersion>
|
||||
<NoWarn />
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
|
||||
@@ -182,4 +182,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
@@ -221,4 +221,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.13 2024-07-23
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -169,4 +169,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP 3ChangTrai v2.0 2025-02-18
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -71,6 +71,10 @@ settings:
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactivity grace period is three months which means that if you do not log in to the 3Dtorrents web site for 90 days, your account will be deleted. If you are VIP your will stay until the VIP period is over."
|
||||
- name: info_captcha
|
||||
type: info
|
||||
label: About Captcha
|
||||
default: "Note that the captcha on the 3Dtorrents login page is Case Sensitive."
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
|
||||
@@ -8,19 +8,20 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://abtorrents.xyz/
|
||||
- https://usefultrash.net/
|
||||
legacylinks:
|
||||
- https://abtorrents.me/
|
||||
- https://abtorrents.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 10, cat: Audio/Audiobook, desc: "Action/Adventure"}
|
||||
- {id: 80, cat: Audio/Audiobook, desc: "Adult/Erotica"}
|
||||
- {id: 20, cat: Audio/Audiobook, desc: "Biography/Memoirs"}
|
||||
- {id: 10, cat: Audio/Audiobook, desc: "Action & Adventure"}
|
||||
- {id: 80, cat: Audio/Audiobook, desc: "Adult & Erotica"}
|
||||
- {id: 20, cat: Audio/Audiobook, desc: "Biography & Memoirs"}
|
||||
- {id: 30, cat: Audio/Audiobook, desc: "Business"}
|
||||
- {id: 40, cat: Audio/Audiobook, desc: "Childrens"}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Computers"}
|
||||
- {id: 260, cat: Audio/Audiobook, desc: "Crime/Thriller"}
|
||||
- {id: 260, cat: Audio/Audiobook, desc: "Crime & Thriller"}
|
||||
- {id: 90, cat: Audio/Audiobook, desc: "Fantasy-General"}
|
||||
- {id: 100, cat: Audio/Audiobook, desc: "Fantasy-Youth"}
|
||||
- {id: 130, cat: Audio/Audiobook, desc: "General Fiction"}
|
||||
@@ -31,57 +32,55 @@ caps:
|
||||
- {id: 170, cat: Audio/Audiobook, desc: "Literature"}
|
||||
- {id: 175, cat: Audio/Audiobook, desc: "LitRPG"}
|
||||
- {id: 180, cat: Audio/Audiobook, desc: "Mystery"}
|
||||
- {id: 190, cat: Audio/Audiobook, desc: "Non-Fiction"}
|
||||
- {id: 215, cat: Audio/Audiobook, desc: "Paranormal Romance"}
|
||||
- {id: 200, cat: Audio/Audiobook, desc: "Radio Drama"}
|
||||
- {id: 205, cat: Audio/Audiobook, desc: "Reference/Educational"}
|
||||
- {id: 207, cat: Audio/Audiobook, desc: "Religion and Spirituality"}
|
||||
- {id: 205, cat: Audio/Audiobook, desc: "Reference & Educational"}
|
||||
- {id: 207, cat: Audio/Audiobook, desc: "Religion & Spirituality"}
|
||||
- {id: 210, cat: Audio/Audiobook, desc: "Romance"}
|
||||
- {id: 240, cat: Audio/Audiobook, desc: "Sci-Fi Apocalypse"}
|
||||
- {id: 220, cat: Audio/Audiobook, desc: "Science"}
|
||||
- {id: 230, cat: Audio/Audiobook, desc: "Science Fiction"}
|
||||
- {id: 250, cat: Audio/Audiobook, desc: "Self Improvement"}
|
||||
- {id: 265, cat: Audio/Audiobook, desc: "Sports/Fitness"}
|
||||
- {id: 265, cat: Audio/Audiobook, desc: "Sports & Fitness"}
|
||||
- {id: 270, cat: Audio/Audiobook, desc: "Suspense"}
|
||||
- {id: 280, cat: Audio/Audiobook, desc: "Talk Radio"}
|
||||
- {id: 285, cat: Audio/Audiobook, desc: "Travel"}
|
||||
- {id: 290, cat: Audio/Audiobook, desc: "Urban Fantasy/Paranormal"}
|
||||
- {id: 290, cat: Audio/Audiobook, desc: "Urban Fantasy & Paranormal"}
|
||||
- {id: 300, cat: Audio/Audiobook, desc: "Western"}
|
||||
- {id: 310, cat: Audio/Audiobook, desc: "Young Adult"}
|
||||
- {id: 400, cat: Books/EBook, desc: "[E] Action/Adventure"}
|
||||
- {id: 410, cat: Books/EBook, desc: "[E] Adult/Erotica"}
|
||||
- {id: 400, cat: Books/EBook, desc: "[E] Action & Adventure"}
|
||||
- {id: 410, cat: Books/EBook, desc: "[E] Adult & Erotica"}
|
||||
- {id: 420, cat: Books/EBook, desc: "[E] Arts & Crafts (Hobbies)"}
|
||||
- {id: 430, cat: Books/EBook, desc: "[E] Biography/Memoirs"}
|
||||
- {id: 430, cat: Books/EBook, desc: "[E] Biography & Memoirs"}
|
||||
- {id: 435, cat: Books/EBook, desc: "[E] Business"}
|
||||
- {id: 720, cat: Books/EBook, desc: "[E] Childrens"}
|
||||
- {id: 450, cat: Books/EBook, desc: "[E] Computer Learning"}
|
||||
- {id: 460, cat: Books/EBook, desc: "[E] Cookery"}
|
||||
- {id: 470, cat: Books/EBook, desc: "[E] Crime/Thriller"}
|
||||
- {id: 470, cat: Books/EBook, desc: "[E] Crime & Thriller"}
|
||||
- {id: 480, cat: Books/EBook, desc: "[E] Fantasy"}
|
||||
- {id: 490, cat: Books/EBook, desc: "[E] Fantasy-Youth"}
|
||||
- {id: 500, cat: Books/EBook, desc: "[E] General Fiction"}
|
||||
- {id: 510, cat: Books/EBook, desc: "[E] Historical Fiction"}
|
||||
- {id: 520, cat: Books/EBook, desc: "[E] History/Documentary"}
|
||||
- {id: 520, cat: Books/EBook, desc: "[E] History & Documentary"}
|
||||
- {id: 530, cat: Books/EBook, desc: "[E] Horror"}
|
||||
- {id: 540, cat: Books/EBook, desc: "[E] Humor (Comedy)"}
|
||||
- {id: 560, cat: Books/EBook, desc: "[E] Literary Fiction"}
|
||||
- {id: 565, cat: Books/EBook, desc: "[E] LitRPG"}
|
||||
- {id: 570, cat: Books/EBook, desc: "[E] Mystery"}
|
||||
- {id: 580, cat: Books/EBook, desc: "[E] Non-Fiction"}
|
||||
- {id: 590, cat: Books/EBook, desc: "[E] Paranormal Romance"}
|
||||
- {id: 600, cat: Books/EBook, desc: "[E] Reference/Educational"}
|
||||
- {id: 610, cat: Books/EBook, desc: "[E] Religion and Spirituality"}
|
||||
- {id: 600, cat: Books/EBook, desc: "[E] Reference & Educational"}
|
||||
- {id: 610, cat: Books/EBook, desc: "[E] Religion & Spirituality"}
|
||||
- {id: 620, cat: Books/EBook, desc: "[E] Romance"}
|
||||
- {id: 630, cat: Books/EBook, desc: "[E] Sci-Fi"}
|
||||
- {id: 640, cat: Books/EBook, desc: "[E] Sci-Fi/Apocalyptic"}
|
||||
- {id: 640, cat: Books/EBook, desc: "[E] Sci-Fi & Apocalyptic"}
|
||||
- {id: 645, cat: Books/EBook, desc: "[E] Science"}
|
||||
- {id: 650, cat: Books/EBook, desc: "[E] Self-Help"}
|
||||
- {id: 660, cat: Books/EBook, desc: "[E] Sports/Fitness"}
|
||||
- {id: 660, cat: Books/EBook, desc: "[E] Sports & Fitness"}
|
||||
- {id: 665, cat: Books/EBook, desc: "[E] Suspense"}
|
||||
- {id: 670, cat: Books/EBook, desc: "[E] Travel"}
|
||||
- {id: 690, cat: Books/EBook, desc: "[E] Urban Fantasy/Paranormal"}
|
||||
- {id: 690, cat: Books/EBook, desc: "[E] Urban Fantasy & Paranormal"}
|
||||
- {id: 700, cat: Books/EBook, desc: "[E] Western"}
|
||||
- {id: 710, cat: Books/EBook, desc: "[E] Young Adult"}
|
||||
- {id: 720, cat: Books/EBook, desc: "[E] Young Children"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -133,7 +132,7 @@ search:
|
||||
|
||||
fields: # some users (rank specific?) have an extra column (td:nth-child(4)) with bookmark features
|
||||
categorydesc:
|
||||
selector: div[data-tid] > img
|
||||
selector: img[src^="./pic/caticons"]
|
||||
attribute: alt
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
|
||||
@@ -116,8 +116,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -192,4 +190,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 9.1.5
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
170
src/Jackett.Common/Definitions/alingpt.yml
Normal file
@@ -0,0 +1,170 @@
|
||||
---
|
||||
id: alingpt
|
||||
name: alingPT
|
||||
description: "alingPT is a CHINESE Private Torrent Tracker for MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pt.aling.de/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动画"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentary/纪录片"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
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: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Accounts parked will not be deleted</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 200 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 60 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
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 .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.rowfollow: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.rowfollow: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.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow: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
|
||||
minimumratio:
|
||||
text: 2.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.4 2025-06-01
|
||||
@@ -152,7 +152,7 @@ search:
|
||||
keywordsfilters:
|
||||
# drop the year from searches since site titles do not include year
|
||||
- name: re_replace
|
||||
args: ["(\\b((19|20)\\d{2})\\b)", ""]
|
||||
args: ["(\\s*\\b((19|20)\\d{2})\\b)", ""]
|
||||
|
||||
rows:
|
||||
selector: "div#fancy-list-group ul.list-group li.list-group-item{{ if .Config.freeleech }}:has(span.badge-success:contains(\"FREE\")){{ else }}{{ end }}"
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GEN
|
||||
language: bg-BG
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- c25aba843f815e92d0da0bbe3191326d16a81a32 # expired 15th Oct 2025
|
||||
links:
|
||||
- https://arenabg.com/
|
||||
legacylinks:
|
||||
|
||||
@@ -97,11 +97,16 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a.tooltip[href$="details"]
|
||||
selector: a#torrentName
|
||||
attribute: title
|
||||
details:
|
||||
selector: a.tooltip[href$="details"]
|
||||
_id:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: torrent
|
||||
details:
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
|
||||
@@ -1,176 +0,0 @@
|
||||
---
|
||||
id: bithorlo
|
||||
name: Bithorlo
|
||||
description: "Bithorlo (BHO) is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.bithorlo.info/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# E-book
|
||||
- {id: 40, cat: Books, desc: "E-book/Eng"}
|
||||
- {id: 19, cat: Books, desc: "E-book/Hun"}
|
||||
# Játék
|
||||
- {id: 38, cat: Console, desc: "Játék/Consol"}
|
||||
- {id: 37, cat: PC/Games, desc: "Játék/Rip"}
|
||||
- {id: 15, cat: PC/Games, desc: "Játék/ISO"}
|
||||
# Filmek
|
||||
- {id: 2, cat: Movies/DVD, desc: "DVD/Eng"}
|
||||
- {id: 51, cat: Movies/SD, desc: "Cam/Eng"}
|
||||
- {id: 50, cat: Movies/SD, desc: "Cam/Hun"}
|
||||
- {id: 42, cat: Movies/DVD, desc: "Dvd9/Eng"}
|
||||
- {id: 41, cat: Movies/DVD, desc: "Dvd9/Hun"}
|
||||
- {id: 33, cat: TV, desc: "Sorozat/Eng"}
|
||||
- {id: 29, cat: Movies/HD, desc: "HD/Eng"}
|
||||
- {id: 28, cat: Movies/HD, desc: "HD/Hun"}
|
||||
- {id: 52, cat: TV/HD, desc: "Sorozat/Eng/HD"}
|
||||
- {id: 53, cat: TV/HD, desc: "Sorozat/Hun/HD"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "DVD/Hun"}
|
||||
- {id: 5, cat: TV, desc: "Sorozat/Hun"}
|
||||
- {id: 4, cat: Movies/SD, desc: "Xvid/Eng"}
|
||||
- {id: 3, cat: Movies/SD, desc: "Xvid/Hun"}
|
||||
# Zene
|
||||
- {id: 13, cat: Audio, desc: "Zene/Hun"}
|
||||
- {id: 12, cat: Audio, desc: "Zene/Eng"}
|
||||
# Egyéb
|
||||
- {id: 21, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 20, cat: Other, desc: "Képek"}
|
||||
# Program
|
||||
- {id: 54, cat: PC/0day, desc: "Win/Program/ISO"}
|
||||
- {id: 23, cat: PC/0day, desc: "Win/Program/Rip"}
|
||||
# Felnőtt tartalom
|
||||
- {id: 10, cat: XXX, desc: "XXX/Kép"}
|
||||
- {id: 9, cat: XXX, desc: "XXX/Film"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: useragent
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info_useragent
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sortBy
|
||||
type: select
|
||||
label: SortBy requested from site
|
||||
default: 2
|
||||
options:
|
||||
2: created
|
||||
5: seeders
|
||||
3: size
|
||||
1: title
|
||||
- name: orderBy
|
||||
type: select
|
||||
label: OrderBy requested from site
|
||||
default: 0
|
||||
options:
|
||||
0: desc
|
||||
1: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Vacation mode is used to avoid deletion due to inactivity for 90 days. You can turn it on or off in the Profile menu, set the appropriate option and save your changes."
|
||||
|
||||
login:
|
||||
# using cookie method because login page has embedded Google reCAPTCHA
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index/
|
||||
selector: a[href="/logout/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.bithorlo.info/torrents/?action=search&categories[]=29&categories[]=4&search_text=&incldead=1&torrent_tags=
|
||||
- path: torrents/
|
||||
inputs:
|
||||
action: search
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
search_text: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 5 waiting for seed, 6 multiple upload
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sortBy }}"
|
||||
order_by: "{{ .Config.orderBy }}"
|
||||
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
rows:
|
||||
selector: table#torrenttable > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td.fixed-width-category > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: categories[]
|
||||
title:
|
||||
selector: a.torrent-name
|
||||
details:
|
||||
selector: a.torrent-name
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/download/"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: span.custom-popover
|
||||
attribute: data-bs-content
|
||||
filters:
|
||||
- name: regexp
|
||||
args: \"(.+?)\"
|
||||
date:
|
||||
selector: span.bg-green
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td.fixed-width-size > a
|
||||
grabs:
|
||||
selector: td.fixed-width-completed
|
||||
seeders:
|
||||
selector: td.fixed-width-seeders
|
||||
leechers:
|
||||
selector: td.fixed-width-leechers
|
||||
description:
|
||||
case:
|
||||
img[src="./themes/Born/nemlatta.png"]: Unverified
|
||||
"*": Verified
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"span:contains(\"FREE\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"span:contains(\"2x\")": 2
|
||||
"span:contains(\"3x\")": 3
|
||||
"span:contains(\"4x\")": 4
|
||||
"span:contains(\"5x\")": 5
|
||||
"span:contains(\"6x\")": 6
|
||||
"span:contains(\"7x\")": 7
|
||||
"span:contains(\"8x\")": 8
|
||||
"span:contains(\"9x\")": 9
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# engine n/a
|
||||
@@ -23,6 +23,7 @@ caps:
|
||||
Anime/Dub/Dual Audio: TV/Anime
|
||||
Anime/Raw: TV/Anime
|
||||
Anime/Subbed: TV/Anime
|
||||
AudioBook: Audio/Audiobook
|
||||
Books: Books
|
||||
Books/Academic: Books/EBook
|
||||
Books/Comics: Books/Comics
|
||||
|
||||
@@ -108,7 +108,6 @@ search:
|
||||
keywords: "{{ .Keywords }}"
|
||||
# name, description, both, uploader
|
||||
search_type: name
|
||||
searchin: title
|
||||
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||
# Drop error trap to stop Sonarr disabling indexer, see https://github.com/Jackett/Jackett/issues/1415
|
||||
|
||||
@@ -1,43 +1,32 @@
|
||||
---
|
||||
id: ilolicon
|
||||
name: ilolicon PT
|
||||
description: "ilolicon PT is a CHINESE Private Torrent Tracker for LOLICON / MOVIES / 3X"
|
||||
id: cangbaoge
|
||||
name: cangbaoge (CBG)
|
||||
description: "cangbaoge (CBG) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://share.ilolicon.com/
|
||||
- https://cangbao.ge/
|
||||
|
||||
caps:
|
||||
# dont forget to update the path categories in the search block
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "电影 (Movie)", default: true}
|
||||
- {id: 402, cat: TV, desc: "电视剧(TV Series)", default: true}
|
||||
- {id: 430, cat: TV, desc: "综艺(TV Show)", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "动画 (Animation)", default: true}
|
||||
- {id: 408, cat: Audio, desc: "音乐 (Music)", default: true}
|
||||
- {id: 410, cat: Audio/Video, desc: "舞台演出 (Stage Performance)", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片 (Documentary)", default: true}
|
||||
- {id: 412, cat: Console, desc: "游戏 (Game)", default: true}
|
||||
- {id: 413, cat: PC, desc: "软件 (Software)", default: true}
|
||||
- {id: 411, cat: Other, desc: "漫画/CG杂图/动漫杂志 (Photo)", default: true}
|
||||
- {id: 418, cat: XXX/ImageSet, desc: "写真 (Photography)", default: false}
|
||||
- {id: 429, cat: XXX/Other, desc: "音声 (Audio)", default: false}
|
||||
- {id: 428, cat: XXX/Other, desc: "H-游戏 (H-Games)", default: false}
|
||||
- {id: 427, cat: XXX/ImageSet, desc: "H-CG杂图 (H-CG Miscellaneous Pictures)", default: false}
|
||||
- {id: 426, cat: XXX/Other, desc: "H-3D同人动画 (H-3D Doujin Animation)", default: false}
|
||||
- {id: 425, cat: XXX/Other, desc: "H-2D同人动画 (H-2D Doujin Animation)", default: false}
|
||||
- {id: 424, cat: XXX/Other, desc: "H-漫画 (H-Manga)", default: false}
|
||||
- {id: 423, cat: XXX/Other, desc: "里番 (Riban)", default: false}
|
||||
- {id: 420, cat: XXX, desc: "AV有码 (AV Censored)", default: false}
|
||||
- {id: 419, cat: XXX, desc: "AV无码 (AV uncensored)", default: false}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/剧集"}
|
||||
- {id: 403, cat: TV, desc: "Playlet/短剧"}
|
||||
- {id: 404, cat: TV/Anime, desc: "Animations/动画"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Anime/动漫"}
|
||||
- {id: 406, cat: TV/Other, desc: "Children/儿童"}
|
||||
- {id: 407, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 408, cat: TV/Documentary, desc: "Documentary/纪录"}
|
||||
- {id: 409, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 410, cat: Books, desc: "Books/书籍"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
@@ -68,14 +57,14 @@ settings:
|
||||
- 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.</br>Choosing more may cause the web site to fail to deliver complete results.
|
||||
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: "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>"
|
||||
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:
|
||||
# using cookie method because I could not get the form method to work when I first created the indexer, some hidden security check
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
@@ -86,9 +75,6 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 430, 405, 408, 410, 404, 412, 413, 411]
|
||||
- path: special.php
|
||||
categories: [418, 429, 428, 427, 426, 425, 424, 423, 422, 420, 419]
|
||||
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 }}"
|
||||
@@ -105,7 +91,7 @@ search:
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
selector: table.torrents > tbody > tr:has(a[href^="download.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -162,11 +148,13 @@ search:
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: td.rowfollow.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
optional: true
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -181,7 +169,12 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 2.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2) td:nth-child(2)
|
||||
remove: a, b, font, img
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: carpt
|
||||
name: CarPT
|
||||
description: "CarPT is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
description: "CarPT is a CHINESE Private Torrent Tracker for HD MOVIES / TV / MUSIC"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -65,7 +65,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account Retention Rules:<ol><li>Extreme User and above will be retained forever</li><li> Elite Users and above will not be banned after parking (in the Control Panel)</li><li>Users with a parked account will be banned if they do not log in for 360 consecutive days</li><li>Users with a non-parked account will be banned if they do not log in for 150 consecutive days</li><li> Users with no traffic (i.e., upload/download data is 0) who do not log in for 60 consecutive days will be banned.</li></ol>"
|
||||
default: "Account Retention Rules:<ol><li>Extreme User and above will be retained forever</li><li> Elite Users and above will not be banned after parking (in the Control Panel)</li><li>Users with a parked account will be banned if they do not log in for 150 consecutive days</li><li>Users with a non-parked account will be banned if they do not log in for 90 consecutive days</li><li> Users with no traffic (i.e., upload/download data is 0) who do not log in for 14 consecutive days will be banned.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
@@ -186,7 +186,7 @@ search:
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
text: 10
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
|
||||
@@ -27,19 +27,16 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: useragent
|
||||
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."
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info_useragent
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -67,29 +64,13 @@ settings:
|
||||
- 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>"
|
||||
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 180 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 90 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 7 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
method: cookie
|
||||
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
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -112,6 +93,9 @@ search:
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
@@ -189,9 +173,11 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 2.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
|
||||
@@ -94,8 +94,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
@@ -145,4 +143,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.5 (custom)
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
id: concertos
|
||||
name: Concertos
|
||||
name: Concertos (API)
|
||||
description: "Concertos is a Private Torrent Tracker for Live Concerts with Strict Quality Control"
|
||||
language: en-US
|
||||
type: private
|
||||
@@ -17,24 +17,29 @@ caps:
|
||||
- {id: 7, cat: TV, desc: "Opera"}
|
||||
- {id: 8, cat: TV, desc: "Musical"}
|
||||
- {id: 9, cat: Audio, desc: "Podcast"}
|
||||
- {id: 10, cat: TV, desc: "Educational"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: apikey
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
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://concertos.live/\" target=\"_blank\">Concertos</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
|
||||
@@ -43,6 +48,7 @@ settings:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
@@ -50,120 +56,141 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Your membership requires that you stay active at Blutopia. To not get disabled, you are required to login to the site at least once every 30 days or be actively seeding at least 1 torrent."
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: form[action$="/login"] .text-red
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
title: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
freeleech: "{{ if .Config.freeleech }}on{{ else }}{{ end }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
# 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: table > tbody > tr
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="?category_"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "category_(\\d+)"
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
selector: a[href*="/torrent/"]
|
||||
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: a[href*="/torrent/"]
|
||||
attribute: href
|
||||
selector: details_link
|
||||
download:
|
||||
selector: a[href*="/torrent/"]
|
||||
attribute: href
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: "/download"
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td.torrents__size
|
||||
date:
|
||||
selector: td.torrents__age
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
i.fa-star: 0 # Freeleech
|
||||
i.fa-certificate: 0 # Featured
|
||||
"*": 1
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i.fa-certificate: 2 # Featured
|
||||
i.fa-gem: 2 # Double Upload
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# 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)
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# UNIT3D
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -60,7 +60,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "If you do not log in for (number) days, your account will be closed/deleted."
|
||||
default: "Users must log in or be seeding for their account to be considered active. If the account is not active for a consecutive 90 days, the account will be deactivated. After a consecutive 120 days, the account will be pruned."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -188,10 +188,10 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 3 days or 1:1
|
||||
# global MR is 0.8 but torrents must be seeded for 6 days or 1:1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# 6 days (as seconds = 6 x 24 x 60 x 60)
|
||||
text: 518400
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
144
src/Jackett.Common/Definitions/dasunerwartete-api.yml
Normal file
@@ -0,0 +1,144 @@
|
||||
---
|
||||
id: dasunerwartete-api
|
||||
name: Das Unerwartete (API)
|
||||
description: "Das Unerwartete (D-U) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL. This is the API version."
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dasunerwartete.biz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 145, cat: Movies, desc: "Filme > DRG"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Filme > SD"}
|
||||
- {id: 32, cat: Movies/HD, desc: "Filme > HD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme > UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme > BluRay"}
|
||||
- {id: 143, cat: TV/Anime, desc: "Filme > Anime"}
|
||||
- {id: 138, cat: Movies, desc: "Filme > Packs"}
|
||||
- {id: 148, cat: Movies, desc: "Filme > Packs UHD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien > SD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien > HD"}
|
||||
- {id: 139, cat: TV/UHD, desc: "Serien > UHD"}
|
||||
- {id: 144, cat: TV/Anime, desc: "Serien > Anime"}
|
||||
- {id: 59, cat: TV, desc: "Serien > Packs"}
|
||||
- {id: 147, cat: TV, desc: "Serien > Packs UHD"}
|
||||
- {id: 110, cat: Audio/MP3, desc: "Audio > MP3"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Audio > Flac"}
|
||||
- {id: 52, cat: Audio, desc: "Audio > Pack"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Audio > Hörbuch"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio > Videos"}
|
||||
- {id: 12, cat: PC/0day, desc: "Apps > Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Apps > Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Apps > Mobil"}
|
||||
- {id: 141, cat: PC, desc: "Apps > Other"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku > SD"}
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku > HD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku > Reihe"}
|
||||
- {id: 126, cat: PC/Mobile-Other, desc: "Spiel > Mobil"}
|
||||
- {id: 17, cat: PC/Games, desc: "Spiel > PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiel > Konsole"}
|
||||
- {id: 121, cat: Console, desc: "Spiel > Wimmelbild"}
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport > HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport > SD"}
|
||||
- {id: 96, cat: Books/Mags, desc: "ePaper > Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "ePaper > E-Book"}
|
||||
- {id: 137, cat: Books/Comics, desc: "ePaper > Comics"}
|
||||
- {id: 76, cat: XXX/SD, desc: "XXX > SD"}
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX > HD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX > Pack"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX > Pic´s"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal > Film SD"}
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal > Film HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal > Serien SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal > Serien HD"}
|
||||
- {id: 132, cat: Other, desc: "Internal > Sonstiges"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find your API Key by accessing your <a href=\"https://dasunerwartete.biz/\" target=\"_blank\">Das Unerwartete</a> profile page and look for the <b>API-Key:</b> tag."
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Search OnlyUpload
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About OnlyUpload at D-U
|
||||
default: "OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech)."
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: api.php
|
||||
method: get
|
||||
response:
|
||||
type: xml
|
||||
inputs:
|
||||
apikey: "{{ .Config.apikey }}"
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
q: "{{ .Query.Keywords }}"
|
||||
imdbid: "{{ .Query.IMDBID }}"
|
||||
tmdbid: "{{ .Query.TMDBID }}"
|
||||
free: "{{ if .Config.onlyupload }}yes{{ else }}{{ end }}"
|
||||
page: 1
|
||||
|
||||
rows:
|
||||
selector: item
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category
|
||||
title:
|
||||
selector: title
|
||||
_id:
|
||||
selector: guid
|
||||
details:
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: link
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&", "&"]
|
||||
size:
|
||||
selector: size
|
||||
date:
|
||||
# Thu, 30 Oct 2025 00:19:02 +0100
|
||||
selector: pubDate
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["+0100", "+01:00"]
|
||||
- name: dateparse
|
||||
args: "ddd, dd MMM yyyy HH:mm:ss zzz"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
imdbid:
|
||||
selector: imdb
|
||||
tmdbid:
|
||||
selector: tmdb
|
||||
_onlyup:
|
||||
selector: free_button:contains(Only Upload)
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._onlyup }}0{{ else }}1{{ end }}"
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
|
||||
text: 129600
|
||||
# API XML
|
||||
@@ -84,11 +84,11 @@ login:
|
||||
search:
|
||||
# https://devil-torrents.pl/szukaj.php?search=%&typ=torrent&c4=1&c748=1
|
||||
paths:
|
||||
- path: szukaj.php
|
||||
- path: "{{ if .Keywords }}szukaj.php{{ else }}files-torrent{{ end }}"
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
typ: torrent
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}%{{ end }}"
|
||||
typ: "{{ if .Keywords }}torrent{{ else }}{{ end }}"
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.test5 > tbody > tr > td > div[id]:has(a[href^="download/"])
|
||||
|
||||
@@ -102,7 +102,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "If your account is inactive (you do not sign in) for more than 60 days, your account is disabled. Park your account if you are going away for more than 60 days."
|
||||
default: "If your account is inactive (you do not sign in) for more than 90 days, your account is disabled. Park your account if you are going away for long periods."
|
||||
|
||||
login:
|
||||
method: get
|
||||
@@ -192,7 +192,7 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.1
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
|
||||
@@ -184,4 +184,4 @@ search:
|
||||
args: "cat={{ .Result.category_title }} - "
|
||||
minimumratio:
|
||||
text: 0.9
|
||||
# NexusPHP v1.9.7 2025-06-29
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -39,6 +39,8 @@ caps:
|
||||
- {id: 342, cat: Books/EBook, desc: "Collection: Multiple Authors"}
|
||||
- {id: 343, cat: Books/EBook, desc: "Collection: Fantasy"}
|
||||
- {id: 359, cat: Books/EBook, desc: "Collection: Same Series"}
|
||||
- {id: 364, cat: Books/EBook, desc: "Collection: Multiple: Fiction"}
|
||||
- {id: 365, cat: Books/EBook, desc: "Collection: Multiple:Non Fiction"}
|
||||
# Fiction
|
||||
- {id: 281, cat: Books/EBook, desc: "Horror"}
|
||||
- {id: 282, cat: Books/EBook, desc: "Sci-Fi/Fantasy"}
|
||||
@@ -65,6 +67,7 @@ caps:
|
||||
- {id: 347, cat: Books/EBook, desc: "Medical"}
|
||||
- {id: 348, cat: Books/EBook, desc: "Mathematics"}
|
||||
- {id: 363, cat: Books/EBook, desc: "Sheet Music"}
|
||||
- {id: 366, cat: Books/EBook, desc: "Astronomy"}
|
||||
# Tech/Computers
|
||||
- {id: 331, cat: Books/EBook, desc: "Electronics"}
|
||||
- {id: 336, cat: Books/EBook, desc: "Video Games"}
|
||||
@@ -78,6 +81,7 @@ caps:
|
||||
- {id: 329, cat: Books/EBook, desc: "Motorcars/Repairs"}
|
||||
- {id: 330, cat: Books/EBook, desc: "D.I.Y"}
|
||||
- {id: 332, cat: Books/EBook, desc: "Trivia/Quiz"}
|
||||
- {id: 367, cat: Books/EBook, desc: "Health & Fitness"}
|
||||
# Non Fict/Ref
|
||||
- {id: 285, cat: Books/EBook, desc: "General Non-fiction"}
|
||||
- {id: 289, cat: Books/EBook, desc: "Autobiography/Memoir"}
|
||||
@@ -89,6 +93,7 @@ caps:
|
||||
- {id: 351, cat: Books/EBook, desc: "Religion"}
|
||||
- {id: 358, cat: Books/EBook, desc: "History"}
|
||||
- {id: 362, cat: Books/EBook, desc: "Politics"}
|
||||
- {id: 368, cat: Books/EBook, desc: "Music"}
|
||||
# Military
|
||||
- {id: 287, cat: Books/EBook, desc: "WW1"}
|
||||
- {id: 288, cat: Books/EBook, desc: "WW2"}
|
||||
|
||||
225
src/Jackett.Common/Definitions/esharenet.yml
Normal file
@@ -0,0 +1,225 @@
|
||||
---
|
||||
id: esharenet
|
||||
name: eShareNet
|
||||
description: "eShareNet is a Private Tracker for British MOVIE / TV"
|
||||
language: en-GB
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://esharenet.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2, cat: TV, desc: "Comedy"}
|
||||
- {id: 4, cat: TV, desc: "Entertainment"}
|
||||
- {id: 5, cat: TV, desc: "Game Shows"}
|
||||
- {id: 6, cat: TV, desc: "Motoring"}
|
||||
- {id: 7, cat: TV, desc: "News and Current Affairs"}
|
||||
- {id: 8, cat: TV, desc: "Sci-Fi"}
|
||||
- {id: 9, cat: TV, desc: "Talkshow"}
|
||||
- {id: 10, cat: TV, desc: "Advertisements - Continuity"}
|
||||
- {id: 11, cat: TV, desc: "Comedy-Drama"}
|
||||
- {id: 12, cat: TV, desc: "Fantasy"}
|
||||
- {id: 13, cat: TV, desc: "Home and Property"}
|
||||
- {id: 14, cat: Movies, desc: "Movies"}
|
||||
- {id: 15, cat: Other, desc: "Other"}
|
||||
- {id: 16, cat: TV, desc: "Soaps"}
|
||||
- {id: 17, cat: TV, desc: "Trains and Planes"}
|
||||
- {id: 18, cat: TV, desc: "Animation"}
|
||||
- {id: 19, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 20, cat: TV, desc: "Food and Cooking"}
|
||||
- {id: 21, cat: TV, desc: "Horror"}
|
||||
- {id: 22, cat: Audio, desc: "Music"}
|
||||
- {id: 23, cat: Audio, desc: "Radio"}
|
||||
- {id: 24, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 25, cat: TV, desc: "True Crime"}
|
||||
- {id: 26, cat: Audio/Audiobook, desc: "Audiobook and E-book"}
|
||||
- {id: 27, cat: TV, desc: "Drama"}
|
||||
- {id: 28, cat: TV, desc: "Kids"}
|
||||
- {id: 29, cat: TV, desc: "Mystery and Crime Fiction"}
|
||||
- {id: 30, cat: TV, desc: "Reality"}
|
||||
- {id: 31, cat: TV, desc: "Subtitles - english subs"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: div#ERROR_COPY
|
||||
# test:
|
||||
# path: /
|
||||
# selector: a[href$="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/filter
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: "{{ .Query.TVDBID }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
sorting: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 50
|
||||
page: 0
|
||||
view: list
|
||||
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
# can search by genre but need range support. &genres[]=Action&genres[]=Comedy for Action and Comedy
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "https://images.weserv.nl/?url=" # for display on dashboard
|
||||
- name: append
|
||||
args: "&w=180&h=270" # for display on dashboard
|
||||
- name: replace
|
||||
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
|
||||
genre:
|
||||
selector: td:nth-last-child(8)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\n", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Biography, Comedy, Crime, Documentary, Drama, Family, Fantasy, Game-Show, History, Horror, Music, Musical, Mystery, News, Reality-TV, Romance, Science_Fiction, Sitcom, Sport, Talk-Show, Thriller, War, Western"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
grabs:
|
||||
selector: td:nth-last-child(1)
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.4
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# UNIT3D 2.5.0
|
||||
@@ -34,14 +34,17 @@ caps:
|
||||
- {id: Hentai, cat: XXX/Other, desc: Adult Hentai}
|
||||
- {id: Highres Movies, cat: Movies/HD, desc: Movies HD}
|
||||
- {id: Linux, cat: PC, desc: Software Linux}
|
||||
- {id: "Live Action [Non-English]", cat: TV/Anime, desc: "Live Action [Non-English]"}
|
||||
- {id: Lossless, cat: Audio/Lossless, desc: Music Lossless}
|
||||
- {id: "Manga [English-translated]", cat: Books/Comics, desc: "Manga [English-translated]"}
|
||||
- {id: "Manga [Raw]", cat: Books/Comics, desc: "Manga [Raw]"}
|
||||
- {id: MP3, cat: Audio/MP3, desc: Music MP3}
|
||||
- {id: MP4, cat: Movies, desc: Movies MP4}
|
||||
- {id: Mac, cat: PC/Mac, desc: Software Mac}
|
||||
- {id: Magazines, cat: XXX/Other, desc: Adult Magazines}
|
||||
- {id: Movie clips, cat: Movies, desc: Movies clips}
|
||||
- {id: Movies, cat: Movies, desc: Movies}
|
||||
- {id: Music, cat: Audio, desc: Music}
|
||||
- {id: Music videos, cat: Audio/Video, desc: Music Videos}
|
||||
- {id: NDS, cat: Console/NDS, desc: Games NDS}
|
||||
- {id: Other Applications, cat: PC, desc: Other Applications}
|
||||
@@ -56,6 +59,7 @@ caps:
|
||||
- {id: Pictures, cat: XXX/ImageSet, desc: Adult Pictures}
|
||||
- {id: Radio Shows, cat: Audio/Other, desc: Music Radio}
|
||||
- {id: Raw, cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: Software, cat: PC/0day, desc: Software}
|
||||
- {id: Subs, cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: Switch, cat: Console/Other, desc: Games Switch}
|
||||
- {id: TV, cat: TV, desc: TV}
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "ExtremeBits is a Private Torrent Tracker for EXTREME SPORTS"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 0e7f0e9c468938a43058d72c69ffdb9a98e24eab # Expired 26th Nov 2025
|
||||
links:
|
||||
- https://extremebits.net/
|
||||
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
---
|
||||
id: exttorrents
|
||||
name: EXT Torrents
|
||||
description: "EXT Torrents is a Public torrent site for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 5
|
||||
links:
|
||||
- https://ext.to/
|
||||
- https://search.extto.com/
|
||||
- https://extranet.torrentbay.st/
|
||||
legacylinks:
|
||||
- https://ext.unblockninja.com/
|
||||
- https://t.extto.com/
|
||||
- https://torrent.extto.com/
|
||||
- https://site.extto.com/
|
||||
- https://ext.torrentbay.to/
|
||||
- https://extranet.torrentbay.to/
|
||||
- https://extranet.torrentbay.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: "/anime/", cat: TV/Anime, desc: Anime}
|
||||
- {id: "/anime//anime/audio-lossless/", cat: Audio/Lossless, desc: "Anime Audio Lossless"}
|
||||
- {id: "/anime//anime/english-translated/", cat: TV/Anime, desc: "Anime English Translated"}
|
||||
- {id: "/anime//anime/raw", cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: "/anime//anime/subs/", cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: "/anime/raw", cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: "/applications/", cat: PC, desc: Apps}
|
||||
- {id: "/applications//applications/android/", cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: "/applications//applications/ios/", cat: PC/Mobile-iOS, desc: "Apps iOS"}
|
||||
- {id: "/applications//applications/linux/", cat: PC, desc: "Apps Linux"}
|
||||
- {id: "/applications//applications/mac/", cat: PC/Mac, desc: "Apps Mac"}
|
||||
- {id: "/applications//applications/other-applications/", cat: PC/Mobile-Other, desc: "Apps Other"}
|
||||
- {id: "/applications//applications/windows/", cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: "/books/", cat: Books, desc: Books}
|
||||
- {id: "/books//books/audio-books/", cat: Audio/Audiobook, desc: "Books Audiobooks"}
|
||||
- {id: "/books//books/comics/", cat: Books/Comics, desc: "Books Comics"}
|
||||
- {id: "/books//books/ebooks/", cat: Books/EBook, desc: "Books Ebooks"}
|
||||
- {id: "/games/", cat: PC/Games, desc: Games}
|
||||
- {id: "/games//games/mac/", cat: PC/Mac, desc: "Games Mac"}
|
||||
- {id: "/games//games/nds/", cat: Console/NDS, desc: "Games NDS"}
|
||||
- {id: "/games//games/other-games/", cat: Console/Other, desc: "Games Other"}
|
||||
- {id: "/games//games/pc-games/", cat: PC/Games, desc: "Games PC"}
|
||||
- {id: "/games//games/ps3/", cat: Console/PS3, desc: "Games PS3"}
|
||||
- {id: "/games//games/ps4/", cat: Console/PS4, desc: "Games PS4"}
|
||||
- {id: "/games//games/psp/", cat: Console/PSP, desc: "Games PSP"}
|
||||
- {id: "/games//games/switch/", cat: Console/Other, desc: "Games Switch"}
|
||||
- {id: "/games//games/wii/", cat: Console/Wii, desc: "Games Wii"}
|
||||
- {id: "/games//games/xbox360/", cat: Console/XBox 360, desc: "Games Xbox360"}
|
||||
- {id: "/movies/", cat: Movies, desc: Movies}
|
||||
- {id: "/movies//movies/3d-movies/", cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: "/movies//movies/bollywood/", cat: Movies, desc: "Movies Bollywood"}
|
||||
- {id: "/movies//movies/documentary/", cat: Movies, desc: "Movies Documentary"}
|
||||
- {id: "/movies//movies/dubbed-movies/", cat: Movies, desc: "Movies Dubbed"}
|
||||
- {id: "/movies//movies/dvd/", cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: "/movies//movies/highres-movies/", cat: Movies/HD, desc: "Movies Highres"}
|
||||
- {id: "/movies//movies/movie-clips/", cat: Movies/Other, desc: "Movies Movie clips"}
|
||||
- {id: "/movies//movies/mp4/", cat: Movies, desc: "Movies MP4"}
|
||||
- {id: "/movies//movies/music-videos/", cat: Audio/Video, desc: "Movies Music videos"}
|
||||
- {id: "/movies//movies/other-movies/", cat: Movies, desc: "Movies Other Movies"}
|
||||
- {id: "/movies//movies/ultrahd/", cat: Movies/UHD, desc: "Movies UltraHD"}
|
||||
- {id: "/music/", cat: Audio, desc: Music}
|
||||
- {id: "/music//music/aac/", cat: Audio, desc: "Music AAC"}
|
||||
- {id: "/music//music/lossless/", cat: Audio/Lossless, desc: "Music Lossless"}
|
||||
- {id: "/music//music/mp3/", cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: "/music//music/other-music/", cat: Audio/Other, desc: "Music Other"}
|
||||
- {id: "/music//music/radio-shows/", cat: Audio, desc: "Music Radio Shows"}
|
||||
- {id: "/other/", cat: Other, desc: Other}
|
||||
- {id: "/tv/", cat: TV, desc: TV}
|
||||
- {id: "/video/", cat: XXX, desc: "XXX Video"}
|
||||
- {id: "/xxx/", cat: XXX, desc: XXX}
|
||||
- {id: "/xxx//xxx/games/", cat: XXX/Other, desc: "XXX Games"}
|
||||
- {id: "/xxx//xxx/hentai/", cat: XXX/Other, desc: "XXX Hentai"}
|
||||
- {id: "/xxx//xxx/magazines/", cat: XXX/Other, desc: "XXX Magazines"}
|
||||
- {id: "/xxx//xxx/pictures/", cat: XXX/ImageSet, desc: "XXX Pictures"}
|
||||
- {id: "/xxx//xxx/video/", cat: XXX, desc: "XXX Video"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: age
|
||||
options:
|
||||
age: created
|
||||
seed: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://ext.to/browse/?sort=age&order=desc&age=4&with_adult=1
|
||||
# https://ext.to/browse/?sort=age&order=desc&q=wipeout&with_adult=1
|
||||
# https://ext.to/browse/?imdb_id=tt2693776
|
||||
- path: browse/
|
||||
- path: browse/
|
||||
inputs:
|
||||
page: 2
|
||||
followredirect: true
|
||||
inputs:
|
||||
q: "{{ .Keywords }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# 0=last 24 hours, 1=last 3 days, 2=last week, 3=last 2 weeks, 4=last month
|
||||
age: "{{ if or .Keywords .Query.IMDBID }}{{ else }}0{{ end }}"
|
||||
# familysafe 0=enabled, 1=disabled
|
||||
with_adult: "{{ if .Query.IMDBID }}{{ else }}1{{ end }}"
|
||||
imdb_id: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr
|
||||
|
||||
fields:
|
||||
category_part1:
|
||||
selector: td:nth-child(1) div div a:nth-child(2)
|
||||
attribute: href
|
||||
optional: true
|
||||
category_part2:
|
||||
selector: td:nth-child(1) div div a:nth-child(3)
|
||||
attribute: href
|
||||
optional: true
|
||||
category_combined:
|
||||
text: "{{ .Result.category_part1 }}{{ .Result.category_part2 }}"
|
||||
optional: true
|
||||
category:
|
||||
text: "{{ if .Result.category_combined }}{{ .Result.category_combined }}{{ else }}/other/{{ end }}"
|
||||
title:
|
||||
selector: td:nth-child(1) div a
|
||||
details:
|
||||
selector: td:nth-child(1) div a
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
size:
|
||||
selector: td:nth-child(2)
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
optional: true
|
||||
default: 1
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: f1gp
|
||||
name: F1GP
|
||||
description: "F1GP is a Private Torrent Tracker for F1 Racing"
|
||||
description: "F1GP is a Private Torrent Tracker for F1, F2, F3, FE, F1 Academy Racing"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -150,7 +150,9 @@ search:
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# xbtitFM v4.1.31
|
||||
# xbtitFM v4.1.32
|
||||
|
||||
@@ -12,10 +12,11 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 8, cat: TV/Anime, desc: "Hentai"}
|
||||
- {id: 7, cat: Console, desc: "H-games"}
|
||||
- {id: 5, cat: XXX, desc: "JAV"}
|
||||
- {id: 6, cat: Books, desc: "Manga"}
|
||||
- {id: 7, cat: Console, desc: "H-games"}
|
||||
- {id: 8, cat: TV/Anime, desc: "Hentai"}
|
||||
- {id: 9, cat: XXX, desc: "OFFS"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -13,12 +13,12 @@ caps:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 10, cat: TV, desc: "TV Pack"}
|
||||
- {id: 4, cat: PC/Games, desc: "Games"}
|
||||
- {id: 5, cat: PC/0day, desc: "Apps"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 9, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 11, cat: Other, desc: "Miscellaneous"}
|
||||
- {id: 14, cat: Other, desc: "Tutorials"}
|
||||
- {id: 11, cat: Other, desc: "Assorted"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -231,4 +231,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
@@ -84,7 +84,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Accounts will be automatically deleted after 45 days of inactivity, regardless of class. To maintain an active account, all you have to do is authenticate yourself regularly and participate: In the life of the site, in the forum, in the shoot, in the games of the forum and not only in the downloads. Log in regularly to the site the Rules may change, view your messages."
|
||||
default: "Accounts inactive for 45 days are automatically deleted (all ranks included). To remain active, simply log in and participate (downloads, forums, shoutbox, games). Accounts created solely to build up numbers will be deactivated. As a free tracker with a limited number of spots, we regularly delete inactive accounts."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
@@ -19,7 +19,6 @@ caps:
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -90,7 +89,7 @@ search:
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 90
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -116,8 +115,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -192,4 +189,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 9.1.2
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -164,4 +164,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.3 2025-05-24
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
|
||||
@@ -11,11 +11,11 @@ links:
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Film"}
|
||||
- {id: 2, cat: Movies, desc: "Dessin animé"}
|
||||
- {id: 3, cat: Movies, desc: "Bonus BD"}
|
||||
- {id: 2, cat: Movies, desc: "Film d'animation"}
|
||||
- {id: 3, cat: Movies, desc: "Spectacle"}
|
||||
- {id: 4, cat: Movies, desc: "Concert"}
|
||||
- {id: 5, cat: TV, desc: "Série"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Série anim"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Série d'animation"}
|
||||
- {id: 7, cat: Movies, desc: "Documentaire"}
|
||||
|
||||
modes:
|
||||
@@ -117,11 +117,11 @@ search:
|
||||
selector: td.cats_col
|
||||
case:
|
||||
div.cats_film: 1
|
||||
div.cats_dessinanimé: 2
|
||||
div.cats_bonusbd: 3
|
||||
div[class*="cats_filmd"]: 2
|
||||
div.cats_spectacle: 3
|
||||
div.cats_concert: 4
|
||||
div.cats_série: 5
|
||||
div.cats_sérieanim: 6
|
||||
div[class*="cats_séried"]: 6
|
||||
div.cats_documentaire: 7
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
@@ -309,8 +309,9 @@ search:
|
||||
description:
|
||||
selector: div.group_info
|
||||
minimumratio:
|
||||
text: 0.6
|
||||
minimumseedtime:
|
||||
# global MR is 0.6 but torrents must be seeded for 3 days regardless of ratio
|
||||
# text: 0.6
|
||||
# minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# Gazelle
|
||||
|
||||
@@ -5,8 +5,6 @@ description: "HDGalaKtik is a RUSSIAN Semi-Private tracker for MOVIES / TV / GEN
|
||||
language: ru-RU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 89cb539248b0d0cb0e92aa3f286ddfdd8347c3be # CN=mail.trackerpmr.com
|
||||
links:
|
||||
- https://www.trackerpmr.com/
|
||||
- https://freetmd.com/
|
||||
@@ -16,20 +14,20 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 13, cat: Movies, desc: "Фильмы (Movies)"}
|
||||
- {id: 6, cat: TV, desc: "Мультфильмы (Cartoons)"}
|
||||
- {id: 10, cat: Audio, desc: "Музыка (Music)"}
|
||||
- {id: 26, cat: PC, desc: "Программы (Programs)"}
|
||||
- {id: 5, cat: Console, desc: "Игры (Games)"}
|
||||
- {id: 25, cat: Other, desc: "Картинки (Pictures)"}
|
||||
- {id: 11, cat: TV, desc: "Сериалы (TV Series)"}
|
||||
- {id: 12, cat: TV/Anime, desc: "Аниме (Anime)"}
|
||||
- {id: 16, cat: Books, desc: "Книги (Books)"}
|
||||
- {id: 18, cat: Audio/Video, desc: "Клипы / Ролики (Clips / Trailers)"}
|
||||
- {id: 22, cat: TV, desc: "ТВ / Передачи (TV)"}
|
||||
- {id: 27, cat: PC/Mobile-Other, desc: "Игры - Мобила / КПК (Mobile)"}
|
||||
- {id: 1, cat: PC/ISO, desc: "Образы (ISO)"}
|
||||
- {id: 4, cat: Other, desc: "Другое (Other)"}
|
||||
- {id: 13, cat: Movies, desc: "Фильмы"}
|
||||
- {id: 11, cat: TV, desc: "Сериалы"}
|
||||
- {id: 6, cat: TV, desc: "Мультфильмы"}
|
||||
- {id: 10, cat: Audio, desc: "Музыка"}
|
||||
- {id: 26, cat: PC, desc: "Программы"}
|
||||
- {id: 5, cat: Console, desc: "Игры"}
|
||||
- {id: 25, cat: Other, desc: "Картинки"}
|
||||
- {id: 12, cat: TV/Anime, desc: "Аниме"}
|
||||
- {id: 16, cat: Books, desc: "Книги"}
|
||||
- {id: 18, cat: Audio/Video, desc: "Клипы / Ролики"}
|
||||
- {id: 22, cat: TV, desc: "ТВ / Передачи"}
|
||||
- {id: 27, cat: PC/Mobile-Other, desc: "Игры - Мобила / КПК"}
|
||||
- {id: 1, cat: PC/ISO, desc: "Образы"}
|
||||
- {id: 4, cat: Other, desc: "Другое"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -117,24 +115,20 @@ search:
|
||||
args: ["[^a-zA-Z0-9]+", "%"]
|
||||
|
||||
rows:
|
||||
selector: table.table > tbody > tr.torcontduo
|
||||
selector: div.torrent-card
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
categorydesc:
|
||||
selector: div.category-badge
|
||||
optional: true
|
||||
default: 4
|
||||
default: Другое
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
- name: replace
|
||||
args: ["---", "Другое"]
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a.torrent-title-link
|
||||
attribute: title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: \'>(.+?)</div
|
||||
- name: htmldecode
|
||||
# normalize to SXXEYY format
|
||||
- name: re_replace
|
||||
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"]
|
||||
@@ -193,16 +187,19 @@ search:
|
||||
- name: append
|
||||
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a.torrent-title-link
|
||||
attribute: href
|
||||
# there is either a magnet or a download link
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
optional: true
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details", "download"]
|
||||
optional: true
|
||||
poster:
|
||||
selector: img.s
|
||||
selector: img.torrent-poster
|
||||
attribute: src
|
||||
imdbid:
|
||||
selector: a[href^="browse.php?imdb="]
|
||||
@@ -211,46 +208,26 @@ search:
|
||||
- name: querystring
|
||||
args: imdb
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
selector: div.size-section
|
||||
seeders:
|
||||
selector: span[title="Раздают"]
|
||||
selector: span.peers-seeders
|
||||
leechers:
|
||||
selector: span[title="Качают"]
|
||||
date_day:
|
||||
# Сегодня в 18:22
|
||||
# Вчера в 20:52
|
||||
selector: a[href^="browse.php?date="]:contains("Сегодня"), a[href^="browse.php?date="]:contains("Вчера")
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "((Вчера в|Сегодня в)( \\d{2}:\\d{2}))"
|
||||
- name: replace
|
||||
args: ["Сегодня в", "Today"]
|
||||
- name: replace
|
||||
args: ["Вчера в", "Yesterday"]
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# 23:48 24/07
|
||||
selector: a[href^="browse.php?date="]:contains("/")
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{2}:\\d{2} \\d{2}/\\d{2})"
|
||||
- name: append
|
||||
args: " +03:00" # MSK
|
||||
- name: dateparse
|
||||
args: "HH:mm dd/MM zzz"
|
||||
selector: span.peers-leechers
|
||||
grabs:
|
||||
selector: span:has(i.fa-download)
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
selector: div.added-date
|
||||
filters:
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="/pic/freedownload.gif"]: 0
|
||||
span.bg-success: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
description:
|
||||
selector: a[href*="?tag="]
|
||||
selector: a.tag
|
||||
attribute: title
|
||||
# engine n/a
|
||||
|
||||
@@ -183,7 +183,7 @@ search:
|
||||
img[src$="no_ratio.png"]: 0
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
text: 0.7
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
|
||||
190
src/Jackett.Common/Definitions/hellenic-hd-api.yml
Normal file
@@ -0,0 +1,190 @@
|
||||
---
|
||||
id: hellenic-hd-api
|
||||
name: HELLENIC-HD (API)
|
||||
description: "HELLENIC-HD is a GREEK Private Torrent Tracker for MOVIES / TV"
|
||||
language: el-GR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hellenic-hd.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {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]
|
||||
|
||||
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://hellenic-hd.cc/\" target=\"_blank\">HELLENIC-HD</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: "Accounts that have not logged in for 60 days will be disabled, and may be deleted shortly afterwards."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 14 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 14 days (as seconds = 14 x 24 x 60 x 60)
|
||||
text: 1209600
|
||||
# json UNIT3D 9.1.6
|
||||
@@ -86,7 +86,7 @@ login:
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
- selector: div > div.flex:has(div:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
@@ -193,6 +193,9 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
|
||||
181
src/Jackett.Common/Definitions/huntorrent-bithorlo.yml
Normal file
@@ -0,0 +1,181 @@
|
||||
---
|
||||
id: huntorrent-bithorlo
|
||||
name: HunTorrent-bithorlo
|
||||
description: "HunTorrent-bithorlo is a HUNGARIAN Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://huntorrent.org/
|
||||
legacylinks:
|
||||
- https://huntorrent.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 51, cat: Movies/SD, desc: "Cam/Eng", default: true}
|
||||
- {id: 50, cat: Movies/SD, desc: "Cam/Hun", default: true}
|
||||
- {id: 2, cat: Movies/DVD, desc: "DVD/Eng", default: true}
|
||||
- {id: 1, cat: Movies/DVD, desc: "DVD/Hun", default: true}
|
||||
- {id: 42, cat: Movies/DVD, desc: "Dvd9/Eng", default: true}
|
||||
- {id: 41, cat: Movies/DVD, desc: "Dvd9/Hun", default: true}
|
||||
- {id: 40, cat: Books, desc: "E-book/Eng", default: true}
|
||||
- {id: 19, cat: Books, desc: "E-book/Hun", default: true}
|
||||
- {id: 29, cat: Movies/HD, desc: "HD/Eng", default: true}
|
||||
- {id: 28, cat: Movies/HD, desc: "HD/Hun", default: true}
|
||||
- {id: 15, cat: PC/Games, desc: "Játék/ISO", default: true}
|
||||
- {id: 38, cat: Console, desc: "Játék/Konzol", default: true}
|
||||
- {id: 37, cat: PC/Games, desc: "Játék/Rip", default: true}
|
||||
- {id: 20, cat: Other, desc: "Képek", default: true}
|
||||
- {id: 21, cat: PC/Mobile-Other, desc: "Mobil", default: true}
|
||||
- {id: 54, cat: PC/ISO, desc: "Prog/ISO", default: true}
|
||||
- {id: 23, cat: PC/0day, desc: "Prog/Rip", default: true}
|
||||
- {id: 33, cat: TV/SD, desc: "Sorozat/Eng", default: true}
|
||||
- {id: 52, cat: TV/HD, desc: "Sorozat/Eng/HD", default: true}
|
||||
- {id: 5, cat: TV/SD, desc: "Sorozat/Hun", default: true}
|
||||
- {id: 53, cat: TV/HD, desc: "Sorozat/Hun/HD", default: true}
|
||||
- {id: 4, cat: Movies/SD, desc: "Xvid/Eng", default: true}
|
||||
- {id: 3, cat: Movies/SD, desc: "Xvid/Hun", default: true}
|
||||
- {id: 12, cat: Audio, desc: "Zene/Eng", default: true}
|
||||
- {id: 13, cat: Audio, desc: "Zene/Hun", default: true}
|
||||
- {id: 9, cat: XXX/x264, desc: "XXX/Film", default: false}
|
||||
- {id: 10, cat: XXX/ImageSet, desc: "XXX/Kép", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_about
|
||||
type: info
|
||||
label: About this HunTorrent-bithorlo indexer
|
||||
default: This indexer accesses the HunTorrent WebSite with a focus on only the <b>bithorlo</b> torrent browser pages.
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: useragent
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info_useragent
|
||||
- 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.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
# using cookie method because login page has embedded Google reCAPTCHA
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href^="logout.php?k="]
|
||||
|
||||
search:
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
paths:
|
||||
# https://huntorrent.net/browse.php?&korhatar=0&incldead=1&xyz=yes&c28=1&c27=1&c6=1&c5=1&sort=4&type=desc
|
||||
- path: browse.php
|
||||
categories: [51, 50, 2, 1, 42, 41, 40, 19, 29, 28, 15, 38, 37, 20, 21, 54, 23, 33, 52, 53, 4, 3, 12, 13]
|
||||
inputs:
|
||||
viewMode: bithorlo
|
||||
- path: browse.php
|
||||
categories: [9, 10]
|
||||
inputs:
|
||||
viewMode: bithorloxxx
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
xyz: yes
|
||||
search: "{{ .Keywords }}"
|
||||
# Age Limit: 0 all, 1 no, 5 6, 2 12, 3 16, 4 18
|
||||
korhatar: 0
|
||||
# 0 active, 1 active+dead, 2 dead, 3 my uploads, 4 waiting for seed, 7 my bookmarks, 12 reseeded by me
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.torrent-table > tbody > tr[id^="torrent-main-"]
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a.torrent-title-link
|
||||
details:
|
||||
selector: a.torrent-title-link
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&hit=1", ""]
|
||||
download:
|
||||
selector: a[href^="download.php?"]
|
||||
attribute: href
|
||||
genre:
|
||||
selector: a[data-mufaj]
|
||||
attribute: data-mufaj
|
||||
description:
|
||||
selector: div.torrent-subtitle
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result.genre }}</br>{{ .Result.genre }}{{ else }}{{ end }}"
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[data-poster]
|
||||
attribute: data-poster
|
||||
date:
|
||||
selector: a[data-added]
|
||||
attribute: data-added
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm zzz"
|
||||
size:
|
||||
selector: a[data-size]
|
||||
attribute: data-size
|
||||
grabs:
|
||||
selector: td:nth-last-child(3)
|
||||
seeders:
|
||||
selector: td:nth-last-child(2)
|
||||
leechers:
|
||||
selector: td:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 2
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 32 hours (as seconds = 32 x 60 x 60)
|
||||
text: 115200
|
||||
# engine n/a
|
||||
@@ -5,6 +5,7 @@ description: "HunTorrent is a HUNGARIAN Semi-Private Torrent Tracker for MOVIES
|
||||
language: hu-HU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://huntorrent.org/
|
||||
legacylinks:
|
||||
@@ -12,34 +13,36 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 28, cat: Movies/SD, desc: "Cam/ENG"}
|
||||
- {id: 27, cat: Movies/SD, desc: "Cam/HUN"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "DVDR/ENG"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "DVDR/HUN"}
|
||||
- {id: 6, cat: Movies/HD, desc: "HD/ENG"}
|
||||
- {id: 5, cat: Movies/HD, desc: "HD/HUN"}
|
||||
- {id: 29, cat: Movies, desc: "Mese/ENG"}
|
||||
- {id: 30, cat: Movies, desc: "Mese/HUN"}
|
||||
- {id: 8, cat: TV/SD, desc: "Sorozat/ENG"}
|
||||
- {id: 31, cat: TV/HD, desc: "Sorozat/HD/ENG"}
|
||||
- {id: 9, cat: TV/HD, desc: "Sorozat/HD/HUN"}
|
||||
- {id: 7, cat: TV/SD, desc: "Sorozat/HUN"}
|
||||
- {id: 2, cat: Movies/SD, desc: "XviD/ENG"}
|
||||
- {id: 1, cat: Movies/SD, desc: "XviD/HUN"}
|
||||
- {id: 25, cat: Other, desc: "Kép"}
|
||||
- {id: 24, cat: Books, desc: "eBook/ENG"}
|
||||
- {id: 23, cat: Books, desc: "eBook/HUN"}
|
||||
- {id: 38, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 17, cat: PC/Games, desc: "Játék/ISO"}
|
||||
- {id: 18, cat: PC/Games, desc: "Játék/RIP"}
|
||||
- {id: 19, cat: Console, desc: "Konzol"}
|
||||
- {id: 26, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 20, cat: PC/ISO, desc: "Program/ISO"}
|
||||
- {id: 21, cat: PC/0day, desc: "Program/RIP"}
|
||||
- {id: 13, cat: Audio/Video, desc: "Klip/ENG"}
|
||||
- {id: 12, cat: Audio/Video, desc: "Klip/HUN"}
|
||||
- {id: 11, cat: Audio/MP3, desc: "MP3/ENG"}
|
||||
- {id: 10, cat: Audio/MP3, desc: "MP3/HUN"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Cam/Külföldi", default: true}
|
||||
- {id: 27, cat: Movies/SD, desc: "Cam/Magyar", default: true}
|
||||
- {id: 4, cat: Movies/DVD, desc: "DVDR/Külföldi", default: true}
|
||||
- {id: 3, cat: Movies/DVD, desc: "DVDR/Magyar", default: true}
|
||||
- {id: 6, cat: Movies/HD, desc: "HD/Külföldi", default: true}
|
||||
- {id: 5, cat: Movies/HD, desc: "HD/Magyar", default: true}
|
||||
- {id: 2, cat: Movies/SD, desc: "XviD/Külföldi", default: true}
|
||||
- {id: 1, cat: Movies/SD, desc: "XviD/Magyar", default: true}
|
||||
- {id: 17, cat: PC/Games, desc: "Játék/ISO", default: true}
|
||||
- {id: 18, cat: PC/Games, desc: "Játék/RIP", default: true}
|
||||
- {id: 19, cat: Console, desc: "Konzol", default: true}
|
||||
- {id: 25, cat: Other, desc: "Kép", default: true}
|
||||
- {id: 24, cat: Books, desc: "eBook/Külföldi", default: true}
|
||||
- {id: 23, cat: Books, desc: "eBook/Magyar", default: true}
|
||||
- {id: 38, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
|
||||
- {id: 26, cat: PC/Mobile-Other, desc: "Mobil", default: true}
|
||||
- {id: 20, cat: PC/ISO, desc: "Program/ISO", default: true}
|
||||
- {id: 21, cat: PC/0day, desc: "Program/RIP", default: true}
|
||||
- {id: 31, cat: TV/HD, desc: "Sorozat/HD/Külföldi", default: true}
|
||||
- {id: 9, cat: TV/HD, desc: "Sorozat/HD/Magyar", default: true}
|
||||
- {id: 8, cat: TV/SD, desc: "Sorozat/Külföldi", default: true}
|
||||
- {id: 7, cat: TV/SD, desc: "Sorozat/Magyar", default: true}
|
||||
- {id: 13, cat: Audio/Video, desc: "Klip/Külföldi", default: true}
|
||||
- {id: 12, cat: Audio/Video, desc: "Klip/Külföldi", default: true}
|
||||
- {id: 11, cat: Audio/MP3, desc: "MP3/Külföldi", default: true}
|
||||
- {id: 10, cat: Audio/MP3, desc: "MP3/Magyar", default: true}
|
||||
- {id: 16, cat: XXX/DVD, desc: "XXX/DVD", default: false}
|
||||
- {id: 32, cat: XXX/x264, desc: "XXX/HD", default: false}
|
||||
- {id: 14, cat: XXX/ImageSet, desc: "XXX/Kép", default: false}
|
||||
- {id: 15, cat: XXX/SD, desc: "XXX/XVID", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -49,6 +52,10 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_about
|
||||
type: info
|
||||
label: About this HunTorrent indexer
|
||||
default: This indexer does not include the <b>bithorlo</b> torrent pages. Use the HunTorrent-bithorlo indexer to access those.
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
@@ -93,29 +100,30 @@ search:
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
paths:
|
||||
# https://huntorrent.net/browse.php?time=1616615308&korhatar=0&incldead=1&xyz=yes&c28=1&c27=1&c6=1&c5=1&sort=4&type=desc
|
||||
# https://huntorrent.net/browse.php?&korhatar=0&incldead=1&xyz=yes&c28=1&c27=1&c6=1&c5=1&sort=4&type=desc
|
||||
- path: browse.php
|
||||
categories: [28, 27, 4, 3, 6, 5, 2, 1, 17, 18, 19, 25, 24, 23, 38, 26, 20, 21, 31, 9, 8, 7, 13, 12, 11, 10]
|
||||
inputs:
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
- path: browse.php
|
||||
categories: [16, 32, 14, 15]
|
||||
inputs:
|
||||
viewMode: xxx
|
||||
search: "{{ .Keywords }}"
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
viewMode: ""
|
||||
xyz: yes
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# Age Limit: 0 all, 1 no, 5 6, 2 12, 3 16, 4 18
|
||||
korhatar: 0
|
||||
# 0 active, 1 active+dead, 2 dead, 3 my uploads, 4 waiting for seed, 7 my bookmarks, 12 reseeded by me
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# no freeleech atm
|
||||
# can search by genre but you need to know the id. &mufaj[]=20 for Romantikus
|
||||
|
||||
rows:
|
||||
selector: table[align="center"][cellpadding="5"] > tbody > tr[id^="torrent-main-"]
|
||||
selector: table.torrent-table > tbody > tr[id^="torrent-main-"]
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: a.download-link
|
||||
attribute: data-id
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
@@ -123,25 +131,21 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="#details_tr_"]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Név: ", ""]
|
||||
selector: a.torrent-title-link
|
||||
details:
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
download:
|
||||
selector: a.download-link
|
||||
selector: a.torrent-title-link
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["please_wait=1&", ""]
|
||||
- name: replace
|
||||
args: ["&please_wait=1", ""]
|
||||
args: ["&hit=1", ""]
|
||||
download:
|
||||
selector: a[href^="download.php?"]
|
||||
attribute: href
|
||||
genre:
|
||||
selector: "span[style=\"font-size: 6pt; font-weight: bold;\"]"
|
||||
selector: a[data-mufaj]
|
||||
attribute: data-mufaj
|
||||
description:
|
||||
selector: td:nth-child(2) div:nth-child(2)
|
||||
selector: div.torrent-subtitle
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result.genre }}</br>{{ .Result.genre }}{{ else }}{{ end }}"
|
||||
@@ -149,21 +153,23 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="torrents_data/posters/"]
|
||||
attribute: href
|
||||
selector: a[data-poster]
|
||||
attribute: data-poster
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
selector: a[data-added]
|
||||
attribute: data-added
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
args: "yyyy-MM-dd HH:mm zzz"
|
||||
size:
|
||||
selector: td:nth-last-child(4) b
|
||||
selector: a[data-size]
|
||||
attribute: data-size
|
||||
grabs:
|
||||
selector: td:nth-last-child(3)
|
||||
seeders:
|
||||
selector: td:nth-last-child(2) a b
|
||||
selector: td:nth-last-child(2)
|
||||
leechers:
|
||||
selector: td:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
|
||||
@@ -5,6 +5,7 @@ description: "ilCorSaRoNeRo is an ITALIAN Public site for MOVIES / TV / GENERAL"
|
||||
language: it-IT
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# current (official?) domains list https://loiflix.shop/ilcorsaronero/
|
||||
links:
|
||||
- https://ilcorsaronero.link/
|
||||
- https://ilcorsaronero.torrentbay.st/
|
||||
|
||||
193
src/Jackett.Common/Definitions/infinityhd-api.yml
Normal file
@@ -0,0 +1,193 @@
|
||||
---
|
||||
id: infinityhd-api
|
||||
name: InfinityHD (API)
|
||||
description: "InfinityHD is a Private Torrent Tracker for MOVIES / TV / ANIME"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://infinityhd.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 4, cat: Movies/Other, desc: "Anime Movie"}
|
||||
|
||||
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://infinityhd.net/\" target=\"_blank\">InfinityHD</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: "Your account will be automatically disabled after 90 days of inactivity. After 120 days your account will be pruned and is permanently deleted."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 5 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 9.1.7
|
||||
@@ -6,12 +6,13 @@ language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://isohunt.ch/
|
||||
- https://isohunt.sh/
|
||||
legacylinks:
|
||||
- https://isohunt2.net/ # redirects to torrentproject.cc
|
||||
- https://isohunt.fun/ # redirects to torrentproject.cc
|
||||
- https://isohunt.tv/ # redirects to torrentproject.cc
|
||||
- https://isohunt.nz/
|
||||
- https://isohunt.ch/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -34,7 +34,13 @@ caps:
|
||||
- {id: Android, cat: PC/Mobile-Android, desc: "Apps Android"}
|
||||
- {id: Anime, cat: TV/Anime, desc: Anime}
|
||||
- {id: AnimeAudioLossless, cat: Audio/Lossless, desc: "Anime Audio Lossless"}
|
||||
- {id: "AnimeAudio[Lossless]", cat: Audio/Lossless, desc: "Anime Audio Lossless"}
|
||||
- {id: "AnimeAudio[Lossy]", cat: Audio/MP3, desc: "Anime Audio Lossy"}
|
||||
- {id: AnimeEnglish-translated, cat: TV/Anime, desc: "Anime English-translated"}
|
||||
- {id: "AnimeLiveAction[English-translated]", cat: TV/Anime, desc: "Anime Live Action English-translated"}
|
||||
- {id: "AnimeLiveAction[Non-English]", cat: TV/Anime, desc: "Anime Live Action Non-English"}
|
||||
- {id: "AnimeLiveAction[Raw]", cat: TV/Anime, desc: "Anime Live Action Raw"}
|
||||
- {id: AnimePictures, cat: Other, desc: Anime Pictures}
|
||||
- {id: AnimeRaw, cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: AnimeSubs, cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: Apps, cat: PC, desc: Apps}
|
||||
@@ -48,6 +54,8 @@ caps:
|
||||
- {id: BooksAudiobooks, cat: Audio/Audiobook, desc: "Audio books"}
|
||||
- {id: BooksComics, cat: Books/Comics, desc: Comics}
|
||||
- {id: BooksEbooks, cat: Books/EBook, desc: Ebooks}
|
||||
- {id: "BooksManga[English-translated]", cat: Books/Comics, desc: "Books Manga English-translated"}
|
||||
- {id: "BooksManga[Raw]", cat: Books/Comics, desc: "Books Manga Raw"}
|
||||
- {id: Comics, cat: Books/Comics, desc: Comics}
|
||||
- {id: DVD, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: Documentary, cat: Movies/Other, desc: "Movies Documentary"}
|
||||
|
||||
@@ -16,26 +16,27 @@ caps:
|
||||
- {id: 80, cat: Audio, desc: "DMC: DMC"}
|
||||
- {id: 49, cat: Audio/MP3, desc: "KZN MP3 Weekly: Ex-Vip"}
|
||||
- {id: 76, cat: Audio, desc: "KZN-Exclusive: Exclusive "}
|
||||
- {id: 77, cat: Audio, desc: "KZN Ex VIP: Ex VIP"}
|
||||
- {id: 98, cat: Audio/MP3, desc: "Other Mp3 Weely: Mp3"}
|
||||
- {id: 99, cat: Audio/MP3, desc: "KZ Internal : KZ Internal"}
|
||||
- {id: 77, cat: Audio, desc: "KZN: Out Of VIP"}
|
||||
- {id: 98, cat: Audio/MP3, desc: "Other Mp3 Weeky: Mp3"}
|
||||
- {id: 99, cat: Audio/MP3, desc: "KZ Internal: KZ Internal"}
|
||||
- {id: 74, cat: Audio, desc: "Discography: Collection"}
|
||||
- {id: 82, cat: Audio/Lossless, desc: "Flac: Flac - Flac Packs"}
|
||||
- {id: 82, cat: Audio/Lossless, desc: "Flac: Flac-Flac Packs"}
|
||||
- {id: 101, cat: Audio, desc: "Wav: Wav - Wav Packs"}
|
||||
- {id: 81, cat: Audio, desc: "Albums : Albums / Singles"}
|
||||
- {id: 78, cat: Audio, desc: "Dj-Only: Dj-Music"}
|
||||
- {id: 100, cat: Audio, desc: "Web Music: Flac - MP3"}
|
||||
- {id: 46, cat: Audio/Video, desc: "Music Videos: Music Videos"}
|
||||
- {id: 46, cat: Audio/Video, desc: "Music Video: Music Video"}
|
||||
- {id: 24, cat: Audio, desc: "Karaoke: All Karaoke"}
|
||||
- {id: 52, cat: Movies, desc: "Classic Movies: Pre90s"}
|
||||
- {id: 47, cat: Movies/BluRay, desc: "Movies: Bluray-HD"}
|
||||
- {id: 52, cat: Movies, desc: "Pre 90s Movies: Pre90s"}
|
||||
- {id: 28, cat: Movies, desc: "Movies: 2025"}
|
||||
- {id: 25, cat: Movies/WEB-DL, desc: "Movies: Web-DL"}
|
||||
- {id: 48, cat: Movies/SD, desc: "Movies: AVI-XVID-Dvdrip"}
|
||||
- {id: 41, cat: Movies/3D, desc: "Remux - 3D: Remux - 3D"}
|
||||
- {id: 23, cat: Movies/Other, desc: "Movies: Kid-Anime-Family"}
|
||||
- {id: 102, cat: Movies/HD, desc: "Movies MP4: Movie MP4"}
|
||||
- {id: 48, cat: Movies/SD, desc: "Movies: Xvid-Dvd-Webrip"}
|
||||
- {id: 23, cat: Movies/Other, desc: "Movie: Kids-Anime-Family"}
|
||||
- {id: 41, cat: Movies/3D, desc: "Remux-3D: Remux-3D"}
|
||||
- {id: 86, cat: Movies/HD, desc: "1440P QHD: 1440P QHD"}
|
||||
- {id: 9, cat: Movies/DVD, desc: "Movies: Dvdr-ISO"}
|
||||
- {id: 9, cat: Movies/DVD, desc: "Movies: Ntsc Dvdr-ISO"}
|
||||
- {id: 22, cat: Movies/Foreign, desc: "Movies: Foreign"}
|
||||
- {id: 27, cat: Movies/UHD, desc: "Movies: 4K"}
|
||||
- {id: 53, cat: Movies, desc: "Movie Packs: Movie Pks"}
|
||||
@@ -46,11 +47,11 @@ caps:
|
||||
- {id: 75, cat: TV/Documentary, desc: "TV: Documentary"}
|
||||
- {id: 26, cat: TV/Sport, desc: "TV: Sports"}
|
||||
- {id: 42, cat: Movies, desc: "TV Packs: Full Seasons"}
|
||||
- {id: 50, cat: TV/Anime, desc: "TV Packs: Kids - Packs"}
|
||||
- {id: 50, cat: TV/Anime, desc: "TV Packs: Kids- Anime-Packs"}
|
||||
- {id: 83, cat: Movies, desc: "TV Packs: Pre90s"}
|
||||
- {id: 84, cat: Audio/Audiobook, desc: "Audio Books: A-Books"}
|
||||
- {id: 85, cat: Books, desc: "Ebooks: Ebooks-Mags-Comics"}
|
||||
- {id: 87, cat: PC/0day, desc: "Apps: windows-Linux"}
|
||||
- {id: 85, cat: Books, desc: "Ebook: Ebook-Mag-Comic"}
|
||||
- {id: 87, cat: PC/0day, desc: "Apps: Window-Linux-Mac"}
|
||||
- {id: 88, cat: TV/Anime, desc: "Anime: All Anime"}
|
||||
- {id: 89, cat: PC/Games, desc: "Games: Pc - Iso"}
|
||||
- {id: 90, cat: PC/Games, desc: "Games: Misc"}
|
||||
@@ -58,7 +59,7 @@ caps:
|
||||
- {id: 92, cat: Other, desc: "Xmas Albums: Albums"}
|
||||
- {id: 93, cat: Movies/Other, desc: "Xmas Movies : Packs"}
|
||||
- {id: 94, cat: Audio/Other, desc: "Xmas Music Pack: Packs"}
|
||||
- {id: 95, cat: Other, desc: "To Be Edited: Edit"}
|
||||
- {id: 95, cat: Other, desc: "Misc: Misc"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -101,7 +102,7 @@ settings:
|
||||
- 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). Accounts that are inactive for 3 months are deleted."
|
||||
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). Accounts that are inactive for 30 days are deleted unless you have told staff in advance."
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
|
||||
@@ -200,4 +200,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
184
src/Jackett.Common/Definitions/lajidui.yml
Normal file
@@ -0,0 +1,184 @@
|
||||
---
|
||||
id: lajidui
|
||||
name: lajidui
|
||||
description: "lajidui is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pt.lajidui.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentary/纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐视频"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 408, cat: Audio, desc: "Music/音频"}
|
||||
- {id: 409, cat: Other/Misc, desc: "Misc/其他"}
|
||||
- {id: 410, cat: TV/Anime, desc: "Cartoon/少儿动画"}
|
||||
- {id: 411, cat: Books, desc: "EBook/电子书"}
|
||||
- {id: 412, cat: TV, desc: "Playlet/短剧"}
|
||||
- {id: 413, cat: PC/Games, desc: "Games/游戏"}
|
||||
- {id: 414, cat: PC/0day, desc: "APP/软件"}
|
||||
- {id: 415, cat: Other, desc: "Education/教育视频"}
|
||||
- {id: 416, cat: Audio/Audiobook, desc: "Audiobook/有声书"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
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: "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:
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
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 .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.rowfollow: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.rowfollow: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.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow: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
|
||||
minimumratio:
|
||||
text: 2.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
@@ -97,7 +97,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "You must log in once every 60 days.You must download at least 1 item within your first month."
|
||||
default: "You must log in once every 60 days. You must download at least 1 item within your first month."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
|
||||
@@ -281,6 +281,7 @@ caps:
|
||||
- {id: 2281, cat: PC/ISO, desc: "Web Security Dojo"}
|
||||
- {id: 2246, cat: PC/ISO, desc: "Whonix"}
|
||||
- {id: 2155, cat: PC/ISO, desc: "Wifislax"}
|
||||
- {id: 2229, cat: PC/ISO, desc: "XiVa Studio"}
|
||||
- {id: 2251, cat: PC/ISO, desc: "XigmaNAS"}
|
||||
- {id: 607, cat: PC/ISO, desc: "Xubuntu"}
|
||||
- {id: 612, cat: PC/ISO, desc: "Zen"}
|
||||
|
||||
@@ -182,4 +182,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
@@ -9,30 +9,28 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://magnetcatcat.com/
|
||||
- https://clmclm.com/
|
||||
- https://www.8800498.xyz/
|
||||
- https://www.8800497.xyz/
|
||||
- https://www.8800499.xyz/
|
||||
- https://www.8800500.xyz/
|
||||
- https://www.8800519.xyz/
|
||||
- https://www.8800521.xyz/
|
||||
- https://www.8800522.xyz/
|
||||
- https://www.8800523.xyz/
|
||||
legacylinks:
|
||||
- https://www.8800460.xyz/
|
||||
- https://www.8800473.xyz/
|
||||
- https://www.8800474.xyz/
|
||||
- https://www.8800476.xyz/
|
||||
- https://www.clm472.sbs/
|
||||
- https://www.8800475.xyz
|
||||
- https://www.8800477.xyz
|
||||
- https://www.8800478.xyz
|
||||
- https://www.8800479.xyz
|
||||
- https://www.8800484.xyz
|
||||
- https://www.8800485.xyz
|
||||
- https://www.8800481.xyz
|
||||
- https://www.8800483.xyz
|
||||
- https://www.8800486.xyz
|
||||
- https://www.8800487.xyz
|
||||
- https://www.8800492.xyz/
|
||||
- https://www.8800493.xyz/
|
||||
- https://www.8800494.xyz/
|
||||
- https://www.8800490.xyz/
|
||||
- https://www.8800500.xyz/
|
||||
- https://www.8800503.xyz/
|
||||
- https://www.8800504.xyz/
|
||||
- https://www.8800505.xyz/
|
||||
- https://www.8800506.xyz/
|
||||
- https://www.8800507.xyz/
|
||||
- https://www.8800508.xyz/
|
||||
- https://www.8800509.xyz/
|
||||
- https://www.8800510.xyz/
|
||||
- https://www.8800511.xyz/
|
||||
- https://www.8800514.xyz/
|
||||
- https://www.8800515.xyz/
|
||||
- https://www.8800516.xyz/
|
||||
- https://www.8800517.xyz/
|
||||
- https://www.8800518.xyz/
|
||||
- https://www.8800520.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
61
src/Jackett.Common/Definitions/magnetz.yml
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
id: magnetz
|
||||
name: Magnetz
|
||||
description: "Magnetz is a Public torrent meta-search engine"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://magnetz.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Other, cat: Other, desc: Other}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_category_8000
|
||||
type: info_category_8000
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: search
|
||||
inputs:
|
||||
query: "{{ if .Keywords }}{{ .Keywords }}{{ else }}*{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: a.list-group-item
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
title:
|
||||
selector: h5
|
||||
details:
|
||||
selector: a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a
|
||||
attribute: href
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: small
|
||||
seeders:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
@@ -58,6 +58,7 @@ caps:
|
||||
- {id: 107, cat: Books, desc: "Electrical Technical Officer's Library-ETO Handbooks"}
|
||||
- {id: 105, cat: Books, desc: "Electrical Technical Officer's Library-Sources of electricity"}
|
||||
- {id: 37, cat: Books, desc: "Organization and management of maritime transport"}
|
||||
- {id: 420, cat: Books, desc: "Organization and management of maritime transport-Annual reports"}
|
||||
- {id: 6, cat: PC, desc: "Maritime Software"}
|
||||
- {id: 211, cat: PC, desc: "Maritime Software-Navigation soft & Charts"}
|
||||
- {id: 13, cat: PC, desc: "Maritime Software-Marine Tests"}
|
||||
|
||||
@@ -28,9 +28,10 @@ caps:
|
||||
- {id: 35, cat: Movies/BluRay, desc: "Film/HU/Blu-ray"}
|
||||
- {id: 26, cat: Movies/DVD, desc: "Film/HU/DVD-R"}
|
||||
- {id: 5, cat: Movies/SD, desc: "Film/HU/SD"}
|
||||
- {id: 62, cat: Movies/UHD, desc: "Film/HU/UHD"}
|
||||
- {id: 4, cat: PC/Games, desc: "Játékok/ISO"}
|
||||
- {id: 39, cat: PC/Games, desc: "Játékok/Rip/Dox"}
|
||||
# - {id: 47, cat: Other, desc: "Klippek"}
|
||||
- {id: 47, cat: Other, desc: "Klippek"}
|
||||
- {id: 30, cat: Audio/Lossless, desc: "Lossless/EN"}
|
||||
# - {id: 29, cat: Audio/Lossless, desc: "Lossless/HU"}
|
||||
- {id: 25, cat: Audio/MP3, desc: "MP3/EN"}
|
||||
@@ -137,9 +138,10 @@ search:
|
||||
img[src="/pic/categories/5.png"]: 35
|
||||
img[src="/pic/categories/2.png"]: 26
|
||||
img[src="/pic/categories/1.png"]: 5
|
||||
img[src="/pic/categories/uhd_hun.png"]: 62
|
||||
img[src="/pic/categories/021.png"]: 4
|
||||
img[src="/pic/categories/cat_games.gif"]: 39
|
||||
# img[]: 47
|
||||
img[src="/pic/categories/026.png"]: 47
|
||||
img[src="/pic/categories/024.png"]: 30
|
||||
# img[]: 29
|
||||
img[src="/pic/categories/023.png"]: 25
|
||||
@@ -154,7 +156,7 @@ search:
|
||||
img[src="/pic/categories/6.png"]: 44
|
||||
# img[src="/pic/categories/6.png"]: 43
|
||||
title:
|
||||
selector: td:nth-child(2) > div > a
|
||||
selector: a[onclick]
|
||||
_id:
|
||||
selector: a[onclick]
|
||||
attribute: onclick
|
||||
@@ -175,20 +177,20 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(3)
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
grabs:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
_verified:
|
||||
selector: span.torrent-ok, span.torrent-unchecked
|
||||
case:
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "MegamixTracker is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: ISO-8859-2
|
||||
certificates:
|
||||
- 00282e65048fabb713980ba1d7015a7512eb5224 # Expired 18th OCt 2025
|
||||
links:
|
||||
- https://megamixtracker.hu/
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
- name: info_category_8000
|
||||
type: info_category_8000
|
||||
- name: hidef
|
||||
|
||||
@@ -26,6 +26,8 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
- name: info_category_8000
|
||||
type: info_category_8000
|
||||
- name: hidef
|
||||
|
||||
@@ -150,8 +150,17 @@ search:
|
||||
filters:
|
||||
- name: querystring
|
||||
args: dir
|
||||
title:
|
||||
title_default:
|
||||
selector: a[href*="index.php?strWebValue=torrent&strWebAction=details&id="]
|
||||
title_optional:
|
||||
selector: a[href*="index.php?strWebValue=torrent&strWebAction=details&id="][onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "return buildTable\\('([^']+)',"
|
||||
optional: true
|
||||
title:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
details:
|
||||
selector: a[href*="index.php?strWebValue=torrent&strWebAction=details&id="]
|
||||
attribute: href
|
||||
|
||||
@@ -23,19 +23,11 @@ caps:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
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 NicePT Web Site. Otherwise just leave it empty."
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -66,20 +58,10 @@ settings:
|
||||
default: "Account retention rules:<ol><li>Veteran Users users and above will be retained forever</li><li>Elite Users 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 banned if they do not log in for 40 consecutive days</li><li>Users with no traffic (ie, upload/download data are both 0) will be banned if they do not log in for 7 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
|
||||
method: cookie
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -187,4 +169,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.9.4 2025-06-01
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
187
src/Jackett.Common/Definitions/nirvana.yml
Normal file
@@ -0,0 +1,187 @@
|
||||
---
|
||||
id: nirvana
|
||||
name: Nirvana (API)
|
||||
description: "Nirvana is a Private RUSSIAN Tracker for MOVIES / TV"
|
||||
language: ru-RU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://nirvana.li/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Фильмы"}
|
||||
- {id: 2, cat: TV, desc: "Сериалы"}
|
||||
- {id: 6, cat: Movies/Other, desc: "Аниме-фильмы"}
|
||||
- {id: 7, cat: TV/Anime, desc: "Аниме-сериалы"}
|
||||
- {id: 8, cat: Movies/Other, desc: "35mm"}
|
||||
- {id: 4, cat: Other, desc: "No"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
type: text
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://nirvana.li/\" target=\"_blank\">Nirvana</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: single_file_release_use_filename
|
||||
type: checkbox
|
||||
label: Use filename as title for single file releases
|
||||
default: true
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Inactive users are regularly deleted. To keep an account, you must visit the site at least once a season."
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.7
|
||||
@@ -254,9 +254,9 @@ caps:
|
||||
- {id: 1295, cat: TV, desc: " |- Общественно-политические и пропагандистские ток-шоу"}
|
||||
- {id: 614, cat: TV, desc: " |- Религии и культы (Док/TV)"}
|
||||
- {id: 603, cat: TV, desc: "Спорт и активный отдых"}
|
||||
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира 2022"}
|
||||
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы 2020-2021"}
|
||||
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира 2021"}
|
||||
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира"}
|
||||
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы"}
|
||||
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира"}
|
||||
- {id: 1194, cat: TV, desc: " |- Летние Олимпийские игры и Паралимпийские игры"}
|
||||
- {id: 1062, cat: TV, desc: " |- Зимние Олимпийские игры и Паралимпийские игры"}
|
||||
- {id: 974, cat: TV, desc: " |- Футбол"}
|
||||
@@ -326,13 +326,12 @@ caps:
|
||||
- {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: 453, cat: Books, desc: " |- Боевики, Детективы, Триллеры"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая проза "}
|
||||
- {id: 452, cat: Books, desc: " |- Исторические книги"}
|
||||
- {id: 449, cat: Books, desc: " |- Классика, Проза, Поэзия"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая литература"}
|
||||
- {id: 452, cat: Books, desc: " |- Историческая проза, Мифы и Легенды"}
|
||||
- {id: 451, cat: Books, desc: " |- Фантастика, Фэнтези"}
|
||||
- {id: 449, cat: Books, desc: " |- Современная поэзия и проза"}
|
||||
- {id: 1153, cat: Books, desc: " |- Классическая поэзия и проза"}
|
||||
- {id: 1347, cat: Books, desc: "Книги вне издательств, самиздат (все жанры)"}
|
||||
- {id: 482, cat: Books, desc: "Комиксы и Артбуки"}
|
||||
- {id: 483, cat: Books, desc: " |- Комиксы на русском языке"}
|
||||
@@ -430,8 +429,10 @@ caps:
|
||||
- {id: 1255, cat: Audio/Lossless, desc: " |- Классика (сборники) (Lossless)"}
|
||||
- {id: 376, cat: Audio, desc: " |- Классика (сборники)"}
|
||||
- {id: 326, cat: Audio, desc: "Jazz, Blues, Soul"}
|
||||
- {id: 1352, cat: Audio, desc: " |- Jazz (Hi-Res)"}
|
||||
- {id: 359, cat: Audio/Lossless, desc: " |- Jazz (Lossless)"}
|
||||
- {id: 358, cat: Audio, desc: " |- Jazz"}
|
||||
- {id: 1353, cat: Audio, desc: " |- Blues, Soul (Hi-Res)"}
|
||||
- {id: 1188, cat: Audio/Lossless, desc: " |- Blues, Soul (Lossless)"}
|
||||
- {id: 1189, cat: Audio, desc: " |- Blues, Soul"}
|
||||
- {id: 328, cat: Audio, desc: "Шансон, Авторская и Военная песня"}
|
||||
@@ -442,17 +443,23 @@ caps:
|
||||
- {id: 1179, cat: Audio/Lossless, desc: " |- Авторская и Военная песня (Lossless)"}
|
||||
- {id: 879, cat: Audio, desc: " |- Авторская и Военная песня"}
|
||||
- {id: 322, cat: Audio, desc: "Rock, Alternative, Punk, Metal"}
|
||||
- {id: 1350, cat: Audio, desc: " |- Rock (Hi-Res)"}
|
||||
- {id: 962, cat: Audio/Lossless, desc: " |- Rock (Lossless)"}
|
||||
- {id: 333, cat: Audio, desc: " |- Rock"}
|
||||
- {id: 1356, cat: Audio, desc: " |- Alternative, Punk (Hi-Res)"}
|
||||
- {id: 965, cat: Audio/Lossless, desc: " |- Alternative, Punk (Lossless)"}
|
||||
- {id: 336, cat: Audio, desc: " |- Alternative, Punk"}
|
||||
- {id: 1362, cat: Audio, desc: " |- Hard Rock (Hi Res)"}
|
||||
- {id: 337, cat: Audio/Lossless, desc: " |- Hard Rock (Lossless)"}
|
||||
- {id: 338, cat: Audio, desc: " |- Hard Rock"}
|
||||
- {id: 1351, cat: Audio, desc: " |- Metal (Hi-Res)"}
|
||||
- {id: 963, cat: Audio/Lossless, desc: " |- Metal (Lossless)"}
|
||||
- {id: 334, cat: Audio, desc: " |- Metal"}
|
||||
- {id: 1357, cat: Audio, desc: " |- Русский Рок (Hi-Res)"}
|
||||
- {id: 961, cat: Audio/Lossless, desc: " |- Русский Рок (Lossless)"}
|
||||
- {id: 332, cat: Audio, desc: " |- Русский рок"}
|
||||
- {id: 325, cat: Audio, desc: "Pop"}
|
||||
- {id: 1354, cat: Audio, desc: " |- Pop (Hi-Res)"}
|
||||
- {id: 1165, cat: Audio/Lossless, desc: " |- Eurodance, Euro-House, Technopop (Lossless)"}
|
||||
- {id: 1166, cat: Audio, desc: " |- Eurodance, Euro-House, Technopop"}
|
||||
- {id: 1168, cat: Audio, desc: " |- Disco, Italo-Disco, Euro-Disco, Hi-NRG"}
|
||||
@@ -468,26 +475,32 @@ caps:
|
||||
- {id: 1328, cat: Audio, desc: " |- Psybient, Psychill, Psydub"}
|
||||
- {id: 1325, cat: Audio/Lossless, desc: " |- Downtempo, Trip-Hop, Lounge (Lossless)"}
|
||||
- {id: 1326, cat: Audio, desc: " |- Downtempo, Trip-Hop, Lounge"}
|
||||
- {id: 1365, cat: Audio, desc: " |- Downtempo, Ambient (Hi-Res)"}
|
||||
- {id: 1366, cat: Audio, desc: " |- Experimental, Industrial (Hi-Res)"}
|
||||
- {id: 1323, cat: Audio/Lossless, desc: " |- Ambient, Experimental, Modern Classical (Lossless)"}
|
||||
- {id: 1324, cat: Audio, desc: " |- Ambient, Experimental, Modern Classical"}
|
||||
- {id: 976, cat: Audio/Lossless, desc: " |- Trance (Lossless)"}
|
||||
- {id: 346, cat: Audio, desc: " |- Trance"}
|
||||
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
|
||||
- {id: 1363, cat: Audio, desc: " |- Trance, House, Techno (Hi-Res)"}
|
||||
- {id: 977, cat: Audio/Lossless, desc: " |- House, Techno, Electro, Minimal (Lossless)"}
|
||||
- {id: 345, cat: Audio, desc: " |- House"}
|
||||
- {id: 349, cat: Audio, desc: " |- Techno, Electro, Minimal"}
|
||||
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
|
||||
- {id: 347, cat: Audio, desc: " |- Easy listening"}
|
||||
- {id: 979, cat: Audio/Lossless, desc: " |- Industrial, EBM, Dark Electro (Lossless)"}
|
||||
- {id: 673, cat: Audio, desc: " |- Experimental Electronic"}
|
||||
- {id: 671, cat: Audio, desc: " |- Industrial, EBM, Dark Electro"}
|
||||
- {id: 1224, cat: Audio/Lossless, desc: " |- IDM (Lossless)"}
|
||||
- {id: 1225, cat: Audio, desc: " |- IDM"}
|
||||
- {id: 1367, cat: Audio, desc: " |- Synthpop, New Wave, Retro (Hi-Res)"}
|
||||
- {id: 980, cat: Audio/Lossless, desc: " |- Synthpop, New Wave (Lossless)"}
|
||||
- {id: 672, cat: Audio, desc: " |- Synthpop, New Wave"}
|
||||
- {id: 1316, cat: Audio/Lossless, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage (Lossless)"}
|
||||
- {id: 1317, cat: Audio, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage"}
|
||||
- {id: 1364, cat: Audio, desc: " |- Drum'n'Bass, Breakbeat (Hi-Res)"}
|
||||
- {id: 981, cat: Audio/Lossless, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat (Lossless)"}
|
||||
- {id: 344, cat: Audio, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat"}
|
||||
- {id: 1368, cat: Audio, desc: " |- Hardcore, Extreme (Hi-Res)"}
|
||||
- {id: 983, cat: Audio/Lossless, desc: " |- Hardstyle, Jumpstyle, Hardcore (Lossless)"}
|
||||
- {id: 984, cat: Audio, desc: " |- Hardstyle, Jumpstyle, Hardcore"}
|
||||
- {id: 982, cat: Audio/Lossless, desc: " |- Psychedelic, psytrance, fullon (Lossless)"}
|
||||
@@ -501,6 +514,7 @@ caps:
|
||||
- {id: 1185, cat: Audio/Lossless, desc: " |- RnB, Reggae (Lossless)"}
|
||||
- {id: 341, cat: Audio, desc: " |- RnB, Reggae"}
|
||||
- {id: 329, cat: Audio, desc: "East Asian Music"}
|
||||
- {id: 1361, cat: Audio, desc: " |- Asian Music (Hi-Res)"}
|
||||
- {id: 369, cat: Audio/Lossless, desc: " |- Asian Traditional, Ethnic (Lossless)"}
|
||||
- {id: 368, cat: Audio, desc: " |- Asian Traditional, Ethnic"}
|
||||
- {id: 1218, cat: Audio/Lossless, desc: " |- Asian Pop (Lossless)"}
|
||||
@@ -512,14 +526,17 @@ caps:
|
||||
- {id: 1213, cat: Audio/Lossless, desc: " |- Other Asian (Lossless)"}
|
||||
- {id: 367, cat: Audio, desc: " |- Other Asian"}
|
||||
- {id: 331, cat: Audio, desc: "Other Styles"}
|
||||
- {id: 1358, cat: Audio, desc: " |- Instrumental (Hi-Res)"}
|
||||
- {id: 1157, cat: Audio/Lossless, desc: " |- Instrumental (Lossless)"}
|
||||
- {id: 711, cat: Audio, desc: " |- Instrumental"}
|
||||
- {id: 1159, cat: Audio/Lossless, desc: " |- New Age/Meditative/Relax (Lossless)"}
|
||||
- {id: 378, cat: Audio, desc: " |- New Age/Meditative/Relax"}
|
||||
- {id: 1359, cat: Audio, desc: " |- Folk (Hi-Res)"}
|
||||
- {id: 1158, cat: Audio/Lossless, desc: " |- Folk (Lossless)"}
|
||||
- {id: 379, cat: Audio, desc: " |- Folk"}
|
||||
- {id: 380, cat: Audio/Lossless, desc: " |- Other (Lossless)"}
|
||||
- {id: 1178, cat: Audio, desc: " |- Other"}
|
||||
- {id: 1360, cat: Audio, desc: " |- OST (Hi-Res)"}
|
||||
- {id: 361, cat: Audio/Lossless, desc: " |- OST (Lossless)"}
|
||||
- {id: 360, cat: Audio, desc: " |- OST"}
|
||||
- {id: 327, cat: Audio, desc: "Неофициальные сборники"}
|
||||
@@ -694,7 +711,6 @@ caps:
|
||||
# temp, archive
|
||||
- {id: 892, cat: Other, desc: " |- Архив Мультфильмов"}
|
||||
- {id: 91, cat: Other, desc: " |- Архив Видео. Кино, Театра"}
|
||||
- {id: 150, cat: Other, desc: " |- Архив неактуальных Экранок и любого видео с Рекламой"}
|
||||
- {id: 668, cat: Other, desc: " |- Архив Классики кино и Старых фильмов до 90-х"}
|
||||
- {id: 1143, cat: Other, desc: " |- Архив Музыкального Видео"}
|
||||
- {id: 802, cat: Other, desc: " |- Архив Сериалов и Архив Старого многосерийного кино до 90-х"}
|
||||
@@ -710,15 +726,6 @@ caps:
|
||||
- {id: 184, cat: Other, desc: " |- Архив КПК и Мобильных устройств"}
|
||||
- {id: 1080, cat: Other, desc: " |- Архив 4Apple"}
|
||||
- {id: 180, cat: Other, desc: " |- Архив Медиа-Диз-Графика"}
|
||||
- {id: 145, cat: Other, desc: " |- Видео (temp)"}
|
||||
- {id: 146, cat: Other, desc: " |- Аниме (temp)"}
|
||||
- {id: 161, cat: Other, desc: " |- Книги (temp)"}
|
||||
- {id: 147, cat: Other, desc: " |- Музыка (temp)"}
|
||||
- {id: 148, cat: Other, desc: " |- Игры (temp)"}
|
||||
- {id: 149, cat: Other, desc: " |- Программы (temp)"}
|
||||
- {id: 183, cat: Other, desc: " |- КПК и Мобильные устройства (temp)"}
|
||||
- {id: 1145, cat: Other, desc: " |- 4Apple (temp)"}
|
||||
- {id: 171, cat: Other, desc: " |- Медиа-Диз-Графика (temp)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -252,9 +252,9 @@ caps:
|
||||
- {id: 1295, cat: TV, desc: " |- Общественно-политические и пропагандистские ток-шоу"}
|
||||
- {id: 614, cat: TV, desc: " |- Религии и культы (Док/TV)"}
|
||||
- {id: 603, cat: TV, desc: "Спорт и активный отдых"}
|
||||
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира 2022"}
|
||||
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы 2020-2021"}
|
||||
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира 2021"}
|
||||
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира"}
|
||||
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы"}
|
||||
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира"}
|
||||
- {id: 1194, cat: TV, desc: " |- Летние Олимпийские игры и Паралимпийские игры"}
|
||||
- {id: 1062, cat: TV, desc: " |- Зимние Олимпийские игры и Паралимпийские игры"}
|
||||
- {id: 974, cat: TV, desc: " |- Футбол"}
|
||||
@@ -324,13 +324,12 @@ caps:
|
||||
- {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: 453, cat: Books, desc: " |- Боевики, Детективы, Триллеры"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая проза "}
|
||||
- {id: 452, cat: Books, desc: " |- Исторические книги"}
|
||||
- {id: 449, cat: Books, desc: " |- Классика, Проза, Поэзия"}
|
||||
- {id: 1063, cat: Books, desc: " |- Приключенческая литература"}
|
||||
- {id: 452, cat: Books, desc: " |- Историческая проза, Мифы и Легенды"}
|
||||
- {id: 451, cat: Books, desc: " |- Фантастика, Фэнтези"}
|
||||
- {id: 449, cat: Books, desc: " |- Современная поэзия и проза"}
|
||||
- {id: 1153, cat: Books, desc: " |- Классическая поэзия и проза"}
|
||||
- {id: 1347, cat: Books, desc: "Книги вне издательств, самиздат (все жанры)"}
|
||||
- {id: 482, cat: Books, desc: "Комиксы и Артбуки"}
|
||||
- {id: 483, cat: Books, desc: " |- Комиксы на русском языке"}
|
||||
@@ -428,8 +427,10 @@ caps:
|
||||
- {id: 1255, cat: Audio/Lossless, desc: " |- Классика (сборники) (Lossless)"}
|
||||
- {id: 376, cat: Audio, desc: " |- Классика (сборники)"}
|
||||
- {id: 326, cat: Audio, desc: "Jazz, Blues, Soul"}
|
||||
- {id: 1352, cat: Audio, desc: " |- Jazz (Hi-Res)"}
|
||||
- {id: 359, cat: Audio/Lossless, desc: " |- Jazz (Lossless)"}
|
||||
- {id: 358, cat: Audio, desc: " |- Jazz"}
|
||||
- {id: 1353, cat: Audio, desc: " |- Blues, Soul (Hi-Res)"}
|
||||
- {id: 1188, cat: Audio/Lossless, desc: " |- Blues, Soul (Lossless)"}
|
||||
- {id: 1189, cat: Audio, desc: " |- Blues, Soul"}
|
||||
- {id: 328, cat: Audio, desc: "Шансон, Авторская и Военная песня"}
|
||||
@@ -440,17 +441,23 @@ caps:
|
||||
- {id: 1179, cat: Audio/Lossless, desc: " |- Авторская и Военная песня (Lossless)"}
|
||||
- {id: 879, cat: Audio, desc: " |- Авторская и Военная песня"}
|
||||
- {id: 322, cat: Audio, desc: "Rock, Alternative, Punk, Metal"}
|
||||
- {id: 1350, cat: Audio, desc: " |- Rock (Hi-Res)"}
|
||||
- {id: 962, cat: Audio/Lossless, desc: " |- Rock (Lossless)"}
|
||||
- {id: 333, cat: Audio, desc: " |- Rock"}
|
||||
- {id: 1356, cat: Audio, desc: " |- Alternative, Punk (Hi-Res)"}
|
||||
- {id: 965, cat: Audio/Lossless, desc: " |- Alternative, Punk (Lossless)"}
|
||||
- {id: 336, cat: Audio, desc: " |- Alternative, Punk"}
|
||||
- {id: 1362, cat: Audio, desc: " |- Hard Rock (Hi Res)"}
|
||||
- {id: 337, cat: Audio/Lossless, desc: " |- Hard Rock (Lossless)"}
|
||||
- {id: 338, cat: Audio, desc: " |- Hard Rock"}
|
||||
- {id: 1351, cat: Audio, desc: " |- Metal (Hi-Res)"}
|
||||
- {id: 963, cat: Audio/Lossless, desc: " |- Metal (Lossless)"}
|
||||
- {id: 334, cat: Audio, desc: " |- Metal"}
|
||||
- {id: 1357, cat: Audio, desc: " |- Русский Рок (Hi-Res)"}
|
||||
- {id: 961, cat: Audio/Lossless, desc: " |- Русский Рок (Lossless)"}
|
||||
- {id: 332, cat: Audio, desc: " |- Русский рок"}
|
||||
- {id: 325, cat: Audio, desc: "Pop"}
|
||||
- {id: 1354, cat: Audio, desc: " |- Pop (Hi-Res)"}
|
||||
- {id: 1165, cat: Audio/Lossless, desc: " |- Eurodance, Euro-House, Technopop (Lossless)"}
|
||||
- {id: 1166, cat: Audio, desc: " |- Eurodance, Euro-House, Technopop"}
|
||||
- {id: 1168, cat: Audio, desc: " |- Disco, Italo-Disco, Euro-Disco, Hi-NRG"}
|
||||
@@ -466,26 +473,32 @@ caps:
|
||||
- {id: 1328, cat: Audio, desc: " |- Psybient, Psychill, Psydub"}
|
||||
- {id: 1325, cat: Audio/Lossless, desc: " |- Downtempo, Trip-Hop, Lounge (Lossless)"}
|
||||
- {id: 1326, cat: Audio, desc: " |- Downtempo, Trip-Hop, Lounge"}
|
||||
- {id: 1365, cat: Audio, desc: " |- Downtempo, Ambient (Hi-Res)"}
|
||||
- {id: 1366, cat: Audio, desc: " |- Experimental, Industrial (Hi-Res)"}
|
||||
- {id: 1323, cat: Audio/Lossless, desc: " |- Ambient, Experimental, Modern Classical (Lossless)"}
|
||||
- {id: 1324, cat: Audio, desc: " |- Ambient, Experimental, Modern Classical"}
|
||||
- {id: 976, cat: Audio/Lossless, desc: " |- Trance (Lossless)"}
|
||||
- {id: 346, cat: Audio, desc: " |- Trance"}
|
||||
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
|
||||
- {id: 1363, cat: Audio, desc: " |- Trance, House, Techno (Hi-Res)"}
|
||||
- {id: 977, cat: Audio/Lossless, desc: " |- House, Techno, Electro, Minimal (Lossless)"}
|
||||
- {id: 345, cat: Audio, desc: " |- House"}
|
||||
- {id: 349, cat: Audio, desc: " |- Techno, Electro, Minimal"}
|
||||
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
|
||||
- {id: 347, cat: Audio, desc: " |- Easy listening"}
|
||||
- {id: 979, cat: Audio/Lossless, desc: " |- Industrial, EBM, Dark Electro (Lossless)"}
|
||||
- {id: 673, cat: Audio, desc: " |- Experimental Electronic"}
|
||||
- {id: 671, cat: Audio, desc: " |- Industrial, EBM, Dark Electro"}
|
||||
- {id: 1224, cat: Audio/Lossless, desc: " |- IDM (Lossless)"}
|
||||
- {id: 1225, cat: Audio, desc: " |- IDM"}
|
||||
- {id: 1367, cat: Audio, desc: " |- Synthpop, New Wave, Retro (Hi-Res)"}
|
||||
- {id: 980, cat: Audio/Lossless, desc: " |- Synthpop, New Wave (Lossless)"}
|
||||
- {id: 672, cat: Audio, desc: " |- Synthpop, New Wave"}
|
||||
- {id: 1316, cat: Audio/Lossless, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage (Lossless)"}
|
||||
- {id: 1317, cat: Audio, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage"}
|
||||
- {id: 1364, cat: Audio, desc: " |- Drum'n'Bass, Breakbeat (Hi-Res)"}
|
||||
- {id: 981, cat: Audio/Lossless, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat (Lossless)"}
|
||||
- {id: 344, cat: Audio, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat"}
|
||||
- {id: 1368, cat: Audio, desc: " |- Hardcore, Extreme (Hi-Res)"}
|
||||
- {id: 983, cat: Audio/Lossless, desc: " |- Hardstyle, Jumpstyle, Hardcore (Lossless)"}
|
||||
- {id: 984, cat: Audio, desc: " |- Hardstyle, Jumpstyle, Hardcore"}
|
||||
- {id: 982, cat: Audio/Lossless, desc: " |- Psychedelic, psytrance, fullon (Lossless)"}
|
||||
@@ -499,6 +512,7 @@ caps:
|
||||
- {id: 1185, cat: Audio/Lossless, desc: " |- RnB, Reggae (Lossless)"}
|
||||
- {id: 341, cat: Audio, desc: " |- RnB, Reggae"}
|
||||
- {id: 329, cat: Audio, desc: "East Asian Music"}
|
||||
- {id: 1361, cat: Audio, desc: " |- Asian Music (Hi-Res)"}
|
||||
- {id: 369, cat: Audio/Lossless, desc: " |- Asian Traditional, Ethnic (Lossless)"}
|
||||
- {id: 368, cat: Audio, desc: " |- Asian Traditional, Ethnic"}
|
||||
- {id: 1218, cat: Audio/Lossless, desc: " |- Asian Pop (Lossless)"}
|
||||
@@ -510,14 +524,17 @@ caps:
|
||||
- {id: 1213, cat: Audio/Lossless, desc: " |- Other Asian (Lossless)"}
|
||||
- {id: 367, cat: Audio, desc: " |- Other Asian"}
|
||||
- {id: 331, cat: Audio, desc: "Other Styles"}
|
||||
- {id: 1358, cat: Audio, desc: " |- Instrumental (Hi-Res)"}
|
||||
- {id: 1157, cat: Audio/Lossless, desc: " |- Instrumental (Lossless)"}
|
||||
- {id: 711, cat: Audio, desc: " |- Instrumental"}
|
||||
- {id: 1159, cat: Audio/Lossless, desc: " |- New Age/Meditative/Relax (Lossless)"}
|
||||
- {id: 378, cat: Audio, desc: " |- New Age/Meditative/Relax"}
|
||||
- {id: 1359, cat: Audio, desc: " |- Folk (Hi-Res)"}
|
||||
- {id: 1158, cat: Audio/Lossless, desc: " |- Folk (Lossless)"}
|
||||
- {id: 379, cat: Audio, desc: " |- Folk"}
|
||||
- {id: 380, cat: Audio/Lossless, desc: " |- Other (Lossless)"}
|
||||
- {id: 1178, cat: Audio, desc: " |- Other"}
|
||||
- {id: 1360, cat: Audio, desc: " |- OST (Hi-Res)"}
|
||||
- {id: 361, cat: Audio/Lossless, desc: " |- OST (Lossless)"}
|
||||
- {id: 360, cat: Audio, desc: " |- OST"}
|
||||
- {id: 327, cat: Audio, desc: "Неофициальные сборники"}
|
||||
|
||||
@@ -8,12 +8,12 @@ description: "NorTorrent is a FRENCH Public tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
# to fetch current domain use https://www.rantop.org/
|
||||
links:
|
||||
- https://www.nortorrent.net/
|
||||
- https://ww1-nortorrent.me/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
- https://www.rantop.org/
|
||||
- https://www.site-torrent.cc/
|
||||
- https://www.torrent-site.com/
|
||||
# domain lists no longer working
|
||||
@@ -22,13 +22,10 @@ legacylinks:
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
- https://www.torrent.onl/
|
||||
- https://www.rantop.org/
|
||||
- https://torrent9.news/
|
||||
- https://www.site-torrent.com/
|
||||
- https://www.rantop.my/
|
||||
# actual legacylinks
|
||||
- https://www.torrent9.ing/
|
||||
- https://www.torrent9.run/
|
||||
- https://www.torrent9.cv/
|
||||
- https://www.torrent9.ke/
|
||||
- https://www.torrent9.gdn/
|
||||
- https://www.torrent9.men/
|
||||
@@ -41,6 +38,9 @@ legacylinks:
|
||||
- https://www.nortorrent4.com/
|
||||
- https://www.nortorrent5.com/
|
||||
- https://www.nortorrent6.com/
|
||||
- https://www.nortorrent.net/
|
||||
- https://www.nortorrent.town/
|
||||
- https://nortorrent-proxy.site/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -92,16 +92,17 @@ login:
|
||||
search:
|
||||
paths:
|
||||
# https://nusantara.re/torrents.php?incldead=0&inclbookmarked=0&search=&search_area=0&search_mode=0
|
||||
# https://nusantara.re/torrents.php?incldead=0&inclbookmarked=0&search=tt0171484&search_area=4&search_mode=0
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
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 (not working)
|
||||
search_area: "{{ if .Query.IMDBID }}1{{ 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, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
|
||||
@@ -192,4 +192,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.8 2025-10-01
|
||||
|
||||
@@ -175,4 +175,4 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" 剩余时间:", ""]
|
||||
# Ourbits 1.1.0 (Based on NexusPHP Standard v1.5 Beta 4) 9169dad 2023-11-20
|
||||
# Ourbits 1.1.0 (Based on NexusPHP Standard v1.5 Beta 4) b0d8f5d 2025-10-23
|
||||
|
||||
@@ -1,178 +0,0 @@
|
||||
---
|
||||
id: oxtorrent-vip
|
||||
replaces:
|
||||
- oxtorrent
|
||||
- torrent911
|
||||
name: OxTorrent-vip
|
||||
description: "OxTorrent-vip is a FRENCH Public site for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.oxtorrent.fyi/
|
||||
- https://www.zone-torrent.me/
|
||||
- https://www.mega-torrent.net/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
- https://www.site-torrent.cc/
|
||||
- https://www.torrent-site.com/
|
||||
# domain lists no longer working
|
||||
- https://www.protege-torrent.com/
|
||||
- https://www.torrent.ws/
|
||||
- https://www.protege-liens.com/
|
||||
- https://www.protege-liens.net/
|
||||
- https://www.torrent.onl/
|
||||
- https://www.rantop.org/
|
||||
- https://oxtorrent.blog/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://oxtorrent.proxyninja.org/
|
||||
- https://www-oxtorrent.com/
|
||||
- https://www.oxtorrent.ke/
|
||||
- https://www-torrent911.com/
|
||||
- https://www.oxtorrent1.com/
|
||||
- https://www.zone-torrent.com/
|
||||
- https://www.mega-torrent3.com/
|
||||
- https://www.oxtorrent2.com/
|
||||
- https://www.mega-torrent4.com/
|
||||
- https://www.oxtorrent3.com/
|
||||
- https://www.oxtorrent4.com/
|
||||
- https://www.mega-torrent5.com/
|
||||
- https://www.zone-torrent1.com/
|
||||
- https://www.oxtorrent5.com/
|
||||
- hhttps://www.zone-torrent2.com/
|
||||
- https://www.zone-torrent2.com/
|
||||
- https://www.oxtorrent7.com/
|
||||
- https://www.mega-torrent6.com/
|
||||
- https://www.zone-torrent3.com/
|
||||
- https://www.oxtorrent8.com/
|
||||
- https://www.oxtorrent.diy/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Films, cat: Movies, desc: "Movies"}
|
||||
- {id: Animes, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: Documentaires, cat: TV/Documentary, desc: "Documentaires"}
|
||||
- {id: Séries, cat: TV, desc: "TV"}
|
||||
- {id: Musiques, cat: Audio, desc: "Music"}
|
||||
- {id: Ebooks, cat: Books, desc: "Books"}
|
||||
- {id: Livres, cat: Books, desc: "Livres"}
|
||||
- {id: Logiciels, cat: PC, desc: "Software"}
|
||||
- {id: Applications, cat: PC, desc: "Applications"}
|
||||
- {id: Jeux-PC, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: Jeux-Consoles, cat: Console/XBox 360, desc: "Console Games"}
|
||||
- {id: Porno, cat: XXX, desc: "Porno"}
|
||||
- {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]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- 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
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
- selector: script:contains("magnet:?")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\\s'(magnet:\\?.+?)';"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}derniers{{ end }}"
|
||||
keywordsfilters:
|
||||
# if searching for season packs swith S01 to saison 1 #9712
|
||||
- name: re_replace
|
||||
args: ["(?i)(S0)(\\d{1,2})$", "saison $2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
|
||||
|
||||
rows:
|
||||
selector: table.table-hover > tbody > tr:has(td a[href])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-child(1) i
|
||||
attribute: class
|
||||
title_phase1:
|
||||
selector: td:nth-child(1) a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
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_href:
|
||||
selector: td:nth-child(1) a[href]
|
||||
attribute: href
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (/?detail/\d+)
|
||||
details_onclick:
|
||||
selector: td:nth-child(1) a[onclick]
|
||||
attribute: onclick
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (/?detail/\d+)
|
||||
details:
|
||||
text: "{{ or .Result.details_href .Result.details_onclick }}"
|
||||
download:
|
||||
text: "{{ .Result.details }}"
|
||||
size:
|
||||
selector: td:nth-child(2)
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
selector: td:nth-child(3)
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
139
src/Jackett.Common/Definitions/phoenixproject.yml
Normal file
@@ -0,0 +1,139 @@
|
||||
---
|
||||
id: phoenixproject
|
||||
name: Phoenix Project
|
||||
description: "Phoenix Project is a Private MacOS software tracker"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://phoenixproject.app/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: PC/Mac, desc: Applications}
|
||||
- {id: 2, cat: PC/Games, desc: Games}
|
||||
- {id: 3, cat: PC/Mobile-iOS, desc: IOS Applications}
|
||||
- {id: 4, cat: PC/Mobile-iOS, desc: IOS Games}
|
||||
- {id: 5, cat: Other, desc: Graphics}
|
||||
- {id: 6, cat: Audio, desc: Audio}
|
||||
- {id: 7, cat: Other, desc: Tutorials}
|
||||
- {id: 8, cat: Other, desc: Other}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2fa_code
|
||||
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 Phoenix Project 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: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
twofa: "{{ .Config.2fa_code }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: div.main div.warning-login
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href^="logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchstr: "{{ .Keywords }}"
|
||||
# freetorrent: 0 normal, 1 freeleech, 2 neutral leech
|
||||
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
group_results: 0
|
||||
action: advanced
|
||||
order: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
searchsubmit: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrent_table tr.torrent:has(a[title="Download"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\\[(\\d+?)\\]"
|
||||
title:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
attribute: href
|
||||
genre:
|
||||
selector: div.tags a[href*="taglist"]
|
||||
download:
|
||||
selector: span > a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.group_image > img
|
||||
attribute: src
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
date:
|
||||
selector: span.time.tooltip
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm zzz"
|
||||
size:
|
||||
selector: td.td_size
|
||||
files:
|
||||
selector: td.td_file_count
|
||||
seeders:
|
||||
selector: td.td_seeders
|
||||
leechers:
|
||||
selector: td.td_leechers
|
||||
grabs:
|
||||
selector: td.td_snatched
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
strong.torrent_label.tl_free: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 0.6
|
||||
# Gazelle
|
||||
@@ -124,9 +124,14 @@ search:
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
_id:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: id
|
||||
download:
|
||||
text: "download.php?id={{ .Result._id }}"
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
@@ -182,4 +187,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.0 2023-04-16
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
|
||||
@@ -131,13 +131,29 @@ search:
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
date_elapsed:
|
||||
# time type: time elapsed
|
||||
# <span class="time" title="Sep 22 2025, 07:47">1 week ago</span>
|
||||
selector: span.time:contains("ago")
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm zzz"
|
||||
date_added:
|
||||
# time added
|
||||
# <span class="time" title="1 week ago">May 08 2025, 01:05</span>
|
||||
selector: span.time:not(:contains("ago"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
||||
@@ -183,4 +183,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
@@ -6,6 +6,8 @@ language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pterclub.net/
|
||||
legacylinks:
|
||||
- https://pterclub.com/
|
||||
|
||||
caps:
|
||||
|
||||
@@ -194,4 +194,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.6 2025-06-25
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
@@ -12,44 +12,46 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV/Sport, desc: "BTCC"}
|
||||
- {id: 2, cat: TV/Sport, desc: "TV-Documentaries"}
|
||||
- {id: 3, cat: TV/Sport, desc: "DTM"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Formula E"}
|
||||
- {id: 24, cat: TV/Sport, desc: "Misc"}
|
||||
- {id: 25, cat: TV/Sport, desc: "Other Bikes"}
|
||||
- {id: 26, cat: TV/Sport, desc: "MotoGP-2-3-E"}
|
||||
- {id: 31, cat: TV/Sport, desc: "Nascar"}
|
||||
- {id: 32, cat: TV/Sport, desc: "Stock Car Brazil"}
|
||||
- {id: 50, cat: TV/Sport, desc: "WRC"}
|
||||
- {id: 55, cat: TV/Sport, desc: "Season Reviews"}
|
||||
- {id: 56, cat: TV/Sport, desc: "WRX"}
|
||||
- {id: 57, cat: TV/Sport, desc: "WEC"}
|
||||
- {id: 58, cat: TV/Sport, desc: "W Series"}
|
||||
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
|
||||
- {id: 61, cat: TV/Sport, desc: "ERC"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Indycar Series"}
|
||||
- {id: 63, cat: TV/Sport, desc: "Supercars"}
|
||||
- {id: 66, cat: TV/Sport, desc: "Documentaries"}
|
||||
- {id: 67, cat: TV/Sport, desc: "Formula 1"}
|
||||
- {id: 68, cat: TV/Sport, desc: "Formula 3"}
|
||||
- {id: 69, cat: TV/Sport, desc: "Other Cars"}
|
||||
- {id: 70, cat: TV/Sport, desc: "Motorsport Movies"}
|
||||
- {id: 71, cat: TV/Sport, desc: "WSBK"}
|
||||
- {id: 72, cat: TV/Sport, desc: "AMA Pro Motocross"}
|
||||
- {id: 73, cat: TV/Sport, desc: "AMA Supercross"}
|
||||
- {id: 74, cat: TV/Sport, desc: "WTCR"}
|
||||
- {id: 76, cat: TV/Sport, desc: "ARCA"}
|
||||
- {id: 77, cat: TV/Sport, desc: "Blancpain GT"}
|
||||
- {id: 78, cat: TV/Sport, desc: "Porsche Supercup"}
|
||||
- {id: 79, cat: TV/Sport, desc: "TV Series"}
|
||||
- {id: 80, cat: TV/Sport, desc: "Touring Cars"}
|
||||
- {id: 1, cat: TV/Sport, desc: "BTCC"}
|
||||
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
|
||||
- {id: 3, cat: TV/Sport, desc: "DTM"}
|
||||
- {id: 61, cat: TV/Sport, desc: "ERC"}
|
||||
- {id: 81, cat: TV/Sport, desc: "Extreme E"}
|
||||
- {id: 67, cat: TV/Sport, desc: "Formula 1"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
|
||||
- {id: 68, cat: TV/Sport, desc: "Formula 3"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Formula E"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Indycar Series"}
|
||||
- {id: 26, cat: TV/Sport, desc: "MotoGP-2-3-E"}
|
||||
- {id: 82, cat: TV/Sport, desc: "Motorcycle Speedway"}
|
||||
- {id: 31, cat: TV/Sport, desc: "Nascar"}
|
||||
- {id: 25, cat: TV/Sport, desc: "Other Bikes"}
|
||||
- {id: 69, cat: TV/Sport, desc: "Other Cars"}
|
||||
- {id: 78, cat: TV/Sport, desc: "Porsche Supercup"}
|
||||
- {id: 32, cat: TV/Sport, desc: "Stock Car Brazil"}
|
||||
- {id: 63, cat: TV/Sport, desc: "Supercars"}
|
||||
- {id: 83, cat: TV/Sport, desc: "Super GT"}
|
||||
- {id: 80, cat: TV/Sport, desc: "Touring Cars"}
|
||||
- {id: 57, cat: TV/Sport, desc: "WEC"}
|
||||
- {id: 50, cat: TV/Sport, desc: "WRC"}
|
||||
- {id: 56, cat: TV/Sport, desc: "WRX"}
|
||||
- {id: 71, cat: TV/Sport, desc: "WSBK"}
|
||||
- {id: 74, cat: TV/Sport, desc: "WTCR"}
|
||||
- {id: 58, cat: TV/Sport, desc: "W Series"}
|
||||
- {id: 55, cat: TV/Sport, desc: "Season Reviews"}
|
||||
- {id: 66, cat: TV/Sport, desc: "Documentaries"}
|
||||
- {id: 2, cat: TV/Sport, desc: "TV-Documentaries"}
|
||||
- {id: 24, cat: TV/Sport, desc: "Misc"}
|
||||
- {id: 70, cat: TV/Sport, desc: "Motorsport Movies"}
|
||||
- {id: 79, cat: TV/Sport, desc: "TV Series"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -58,11 +60,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://racing4everyone.eu/\" target=\"_blank\">Racing4Everyone</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://racing4everyone.eu/\" target=\"_blank\">Racing4Everyone</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
|
||||
@@ -110,10 +116,7 @@ search:
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
@@ -127,27 +130,33 @@ search:
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: category
|
||||
title:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: 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
|
||||
files:
|
||||
selector: num_file
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
@@ -164,7 +173,12 @@ search:
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
@@ -174,12 +188,20 @@ search:
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# json UNIT3D 6.0.4
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 2 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
---
|
||||
id: rapidzona
|
||||
name: Rapidzona
|
||||
description: "Rapidzona is a RUSSIAN Public Torrent Tracker for 3X"
|
||||
language: ru-RU
|
||||
type: public
|
||||
encoding: windows-1251
|
||||
links:
|
||||
- https://rapidzona.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 71, cat: XXX, desc: "Релизы"}
|
||||
- {id: 73, cat: XXX, desc: " Ролики и сцены"}
|
||||
- {id: 106, cat: XXX, desc: " Любительское порно"}
|
||||
- {id: 107, cat: XXX, desc: " Сцены из фильмов"}
|
||||
- {id: 133, cat: XXX, desc: " Anal & DP"}
|
||||
- {id: 146, cat: XXX, desc: " Секс втроем"}
|
||||
- {id: 127, cat: XXX, desc: " Сисястые"}
|
||||
- {id: 134, cat: XXX, desc: " Группавуха"}
|
||||
- {id: 114, cat: XXX, desc: " Русские девочки"}
|
||||
- {id: 130, cat: XXX, desc: " Latin & Ebony"}
|
||||
- {id: 128, cat: XXX, desc: " Азиатки"}
|
||||
- {id: 124, cat: XXX, desc: " Межрасовый секс"}
|
||||
- {id: 131, cat: XXX, desc: " Молоденькие"}
|
||||
- {id: 132, cat: XXX, desc: " Мамочки"}
|
||||
- {id: 112, cat: XXX, desc: " Кастинг / Casting"}
|
||||
- {id: 115, cat: XXX, desc: " Public & Reality"}
|
||||
- {id: 142, cat: XXX, desc: " Taboo / Incest"}
|
||||
- {id: 141, cat: XXX, desc: " Лесбийский страпон"}
|
||||
- {id: 111, cat: XXX, desc: " Лесбо-Ролики"}
|
||||
- {id: 144, cat: XXX, desc: " Фистинг и Дилдо"}
|
||||
- {id: 109, cat: XXX, desc: " BDSM-Ролики"}
|
||||
- {id: 110, cat: XXX, desc: " Fetish-Ролики"}
|
||||
- {id: 145, cat: XXX, desc: " Femdom-Ролики"}
|
||||
- {id: 143, cat: XXX, desc: " Skinny & Petite"}
|
||||
- {id: 138, cat: XXX, desc: " BBW / Толстушки"}
|
||||
- {id: 136, cat: XXX, desc: " Оральный секс"}
|
||||
- {id: 113, cat: XXX, desc: " Соло и мастурбация"}
|
||||
- {id: 140, cat: XXX, desc: " Ролики от LegalPorno"}
|
||||
- {id: 126, cat: XXX, desc: " Паки порнороликов"}
|
||||
- {id: 72, cat: XXX, desc: " Полнометражные фильмы"}
|
||||
- {id: 120, cat: XXX, desc: " Без сюжета"}
|
||||
- {id: 118, cat: XXX, desc: " Классика"}
|
||||
- {id: 116, cat: XXX, desc: " Порно с сюжетом"}
|
||||
- {id: 119, cat: XXX, desc: " Порно-пародия"}
|
||||
- {id: 117, cat: XXX, desc: " С Русским переводом"}
|
||||
- {id: 137, cat: XXX, desc: " Отечественное порно"}
|
||||
- {id: 121, cat: XXX, desc: " Этнические фильмы"}
|
||||
- {id: 123, cat: XXX, desc: " Лесбо-фильмы"}
|
||||
- {id: 139, cat: XXX, desc: " Fetish - фильмы"}
|
||||
- {id: 122, cat: XXX, desc: " BDSM - фильмы"}
|
||||
- {id: 125, cat: XXX, desc: " Эротика 18+"}
|
||||
- {id: 129, cat: XXX, desc: " Документальное 18+"}
|
||||
- {id: 93, cat: XXX, desc: " Анимация и Хентай"}
|
||||
- {id: 87, cat: XXX, desc: " Images & Wallpaper"}
|
||||
- {id: 105, cat: XXX, desc: " Порно игры"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: date
|
||||
options:
|
||||
date: created
|
||||
title: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href*="/download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: index.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}catlist[]={{.}}&{{end}}"
|
||||
do: search
|
||||
subaction: search
|
||||
showposts: 1
|
||||
# 0 in article 1 in comments 2 in static pages 3 in article titles
|
||||
titleonly: 3
|
||||
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
sortby: "{{ .Config.sort }}"
|
||||
resorder: "{{ .Config.type }}"
|
||||
error:
|
||||
- selector: div:contains("MySQL Error!")
|
||||
|
||||
rows:
|
||||
selector: div.post
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: p a:nth-child(3), p:has(a:nth-child(3):empty) a:nth-child(2)
|
||||
optional: true
|
||||
default: 71
|
||||
case:
|
||||
a[href$="/porno-xxx-adult-torrent/"]: 71
|
||||
a[href$="/porno-video-movies-torrent/"]: 73
|
||||
a[href$="/amateur/"]: 106
|
||||
a[href$="/scenes-from-movies/"]: 107
|
||||
a[href$="/anal/"]: 133
|
||||
a[href$="/threesomes/"]: 146
|
||||
a[href$="/big-boobs/"]: 127
|
||||
a[href$="/group/"]: 134
|
||||
a[href$="/russian/"]: 114
|
||||
a[href$="/latin/"]: 130
|
||||
a[href$="/asian/"]: 128
|
||||
a[href$="/interracial-xxx/"]: 124
|
||||
a[href$="/teens/"]: 131
|
||||
a[href$="/milf/"]: 132
|
||||
a[href$="/casting/"]: 112
|
||||
a[href$="/public-reality/"]: 115
|
||||
a[href$="/taboo/"]: 142
|
||||
a[href$="/lesbi-strapon/"]: 141
|
||||
a[href$="/lesbian/"]: 111
|
||||
a[href$="/fisting-and-dildo/"]: 144
|
||||
a[href$="/bdsm/"]: 109
|
||||
a[href$="/fetish/"]: 110
|
||||
a[href$="/femdom/"]: 145
|
||||
a[href$="/skinny-petite/"]: 143
|
||||
a[href$="/bbw/"]: 138
|
||||
a[href$="/blowjob/"]: 136
|
||||
a[href$="/solo/"]: 113
|
||||
a[href$="/legalporno/"]: 140
|
||||
a[href$="/packs/"]: 126
|
||||
a[href$="/porno-films-torrent/"]: 72
|
||||
a[href$="/gonzo/"]: 120
|
||||
a[href$="/classic/"]: 118
|
||||
a[href$="/feature/"]: 116
|
||||
a[href$="/parody/"]: 119
|
||||
a[href$="/russian-lang/"]: 117
|
||||
a[href$="/russian-porn/"]: 137
|
||||
a[href$="/interracial/"]: 121
|
||||
a[href$="/all-girl-lesbian/"]: 123
|
||||
a[href$="/fetish-movies/"]: 139
|
||||
a[href$="/bdsm-and-bondage/"]: 122
|
||||
a[href$="/erotic-movies/"]: 125
|
||||
a[href$="/documentary/"]: 129
|
||||
a[href$="/porno-hentai-anime-torrent/"]: 93
|
||||
a[href$="/porno-foto-torrent/"]: 87
|
||||
a[href$="/porno-games-torrent/"]: 105
|
||||
"*": 71
|
||||
title:
|
||||
selector: h1 > a
|
||||
details:
|
||||
selector: h1 > a
|
||||
attribute: href
|
||||
download:
|
||||
# <a href="https://rapidzona.tv/engine/download.php?id=78824">
|
||||
selector: h1 > a
|
||||
attribute: href
|
||||
size:
|
||||
text: "512 MB"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
description:
|
||||
selector: div.news
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^...$", ""]
|
||||
date:
|
||||
selector: p.title-footer
|
||||
filters:
|
||||
# 20/02/2020 18:34
|
||||
- name: regexp
|
||||
args: "(\\d{1,2}\\/\\d{2}\\/\\d{4} \\d{1,2}\\:\\d{2})"
|
||||
- name: append
|
||||
args: " +03:00" # MSK
|
||||
- name: dateparse
|
||||
args: "dd/MM/yyyy HH:mm zzz"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# DataLife
|
||||
@@ -19,6 +19,7 @@ caps:
|
||||
- {id: 8, cat: Books, desc: "Book"}
|
||||
- {id: 9, cat: Audio/Other, desc: "Podcast"}
|
||||
- {id: 10, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 11, cat: Other, desc: "3D Printable"}
|
||||
- {id: 6, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
@@ -191,10 +192,9 @@ search:
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.8 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.8
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -4,14 +4,15 @@ replaces:
|
||||
- legacyhd
|
||||
- reelflix
|
||||
name: ReelFLiX (API)
|
||||
description: "ReelFLiX (HD4Free,LegacyHD) is a Private Torrent Tracker for HD MOVIES"
|
||||
description: "ReelFLiX (HD4Free, LegacyHD) is a Private Torrent Tracker for HD MOVIES"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://reelflix.xyz/
|
||||
- https://reelflix.cc/
|
||||
legacylinks:
|
||||
- https://legacyhd.org/
|
||||
- https://reelflix.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -19,10 +20,7 @@ caps:
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -31,7 +29,7 @@ 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://reelflix.xyz/\" target=\"_blank\">ReelFlix</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://reelflix.cc/\" target=\"_blank\">ReelFlix</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -59,7 +57,7 @@ settings:
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "To avoid your account being disabled, you must login at least once every 90 days OR have a .torrent actively announcing to the tracker. Please be aware! If you are using any form of automation and it has been 90+ days since your last login, and your client stops seeding, your account will be immediately disabled at midnight UTC if you don't login or resume seeding. There is no 90-day grace period if seeding stops; only logging into the site counts. It is always a good idea to periodically login to check the status of your account."
|
||||
default: "To avoid your account being disabled, you must login at least once every 90 days OR have a .torrent actively announcing to the tracker. Please be aware! If you are using any form of automation and it has been 90+ days since your last login, and your client stops seeding, your account will be immediately disabled at midnight UTC if you don't login or resume seeding. There is no 90-day grace period if seeding stops; only logging into the site counts. It is always a good idea to periodically login to check the status of your account. After being disabled for inactivity you must make an attempt to recover your account within 90 days (180 days total) or it will be pruned from our system automatically. Pruned accounts CANNOT be enabled and you will have to reapply or find a new invite"
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
@@ -89,7 +87,6 @@ search:
|
||||
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 }}"
|
||||
@@ -188,5 +185,5 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# json UNIT3D 9.1.6
|
||||
text: 0.8
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -990,6 +990,7 @@ search:
|
||||
selector: dd.posts span.leech
|
||||
grabs:
|
||||
selector: dd.views span.complet
|
||||
optional: true
|
||||
date:
|
||||
# 12 янв 2019, 11:26
|
||||
selector: dt
|
||||
|
||||
@@ -27,7 +27,7 @@ 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://r0k3t.li/\" target=\"_blank\">RocketHD</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://rocket-hd.cc/\" target=\"_blank\">RocketHD</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -184,6 +184,6 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 9.1.0
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.5
|
||||
|
||||
@@ -227,4 +227,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.9.3 2025-05-24
|
||||
# NexusPHP v1.9.11 2025-11-02
|
||||
|
||||
@@ -9,38 +9,38 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://sep29.rudub.bet/
|
||||
- https://nov28.rudub.world/
|
||||
legacylinks:
|
||||
- https://sep14.rudub.bet/
|
||||
- http://sep15.rudub.bet/
|
||||
- https://sep15.rudub.bet/
|
||||
- http://sep16.rudub.bet/
|
||||
- https://sep16.rudub.bet/
|
||||
- http://sep17.rudub.bet/
|
||||
- https://sep17.rudub.bet/
|
||||
- http://sep18.rudub.bet/
|
||||
- https://sep18.rudub.bet/
|
||||
- http://sep19.rudub.bet/
|
||||
- https://sep19.rudub.bet/
|
||||
- http://sep20.rudub.bet/
|
||||
- https://sep20.rudub.bet/
|
||||
- http://sep21.rudub.bet/
|
||||
- https://sep21.rudub.bet/
|
||||
- http://sep22.rudub.bet/
|
||||
- https://sep22.rudub.bet/
|
||||
- http://sep23.rudub.bet/
|
||||
- https://sep23.rudub.bet/
|
||||
- http://sep24.rudub.bet/
|
||||
- https://sep24.rudub.bet/
|
||||
- http://sep25.rudub.bet/
|
||||
- https://sep25.rudub.bet/
|
||||
- http://sep26.rudub.bet/
|
||||
- https://sep26.rudub.bet/
|
||||
- http://sep27.rudub.bet/
|
||||
- https://sep27.rudub.bet/
|
||||
- http://sep28.rudub.bet/
|
||||
- https://sep28.rudub.bet/
|
||||
- http://sep29.rudub.bet/
|
||||
- https://nov13.rudub.pics/
|
||||
- http://nov14.rudub.pics/
|
||||
- https://nov14.rudub.pics/
|
||||
- http://nov15.rudub.pics/
|
||||
- https://nov15.rudub.pics/
|
||||
- http://nov16.rudub.pics/
|
||||
- https://nov16.rudub.pics/
|
||||
- http://nov17.rudub.pics/
|
||||
- https://nov17.rudub.pics/
|
||||
- http://nov18.rudub.pics/
|
||||
- https://nov18.rudub.pics/
|
||||
- http://nov19.rudub.pics/
|
||||
- https://nov19.rudub.pics/
|
||||
- http://nov20.rudub.pics/
|
||||
- https://nov20.rudub.pics/
|
||||
- http://nov21.rudub.pics/
|
||||
- https://nov21.rudub.pics/
|
||||
- http://nov22.rudub.pics/
|
||||
- https://nov22.rudub.pics/
|
||||
- http://nov23.rudub.pics/
|
||||
- https://nov23.rudub.pics/
|
||||
- http://nov24.rudub.pics/
|
||||
- https://nov24.rudub.pics/
|
||||
- http://nov25.rudub.world/
|
||||
- https://nov25.rudub.world/
|
||||
- http://nov26.rudub.world/
|
||||
- https://nov26.rudub.world/
|
||||
- http://nov27.rudub.world/
|
||||
- https://nov27.rudub.world/
|
||||
- http://nov28.rudub.world/
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
@@ -10,16 +10,17 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filmes", default: true}
|
||||
- {id: 2, cat: TV, desc: "Séries", default: true}
|
||||
- {id: 3, cat: TV/Anime, desc: "Animes", default: true}
|
||||
- {id: 4, cat: Other, desc: "Cursos", default: false}
|
||||
- {id: 5, cat: Console, desc: "Games", default: true}
|
||||
- {id: 6, cat: Books/EBook, desc: "Livros", default: true}
|
||||
- {id: 7, cat: Books/Comics, desc: "HQs", default: true}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "AudioBooks", default: true}
|
||||
- {id: 9, cat: PC, desc: "Programas", default: true}
|
||||
- {id: 10, cat: Other, desc: "Materiais de Apoio", default: true}
|
||||
- {id: 1, cat: Movies, desc: "Filmes"}
|
||||
- {id: 2, cat: TV, desc: "Séries"}
|
||||
- {id: 3, cat: TV/Anime, desc: "Animes"}
|
||||
- {id: 4, cat: Other, desc: "Cursos"}
|
||||
- {id: 5, cat: Console, desc: "Games"}
|
||||
- {id: 6, cat: Books/EBook, desc: "Livros"}
|
||||
- {id: 7, cat: Books/Comics, desc: "HQs"}
|
||||
- {id: 8, cat: Audio/Audiobook, desc: "AudioBooks"}
|
||||
- {id: 9, cat: PC, desc: "Programas"}
|
||||
- {id: 11, cat: Other, desc: "Diversos"}
|
||||
- {id: 10, cat: Other, desc: "Materiais de Apoio"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -123,8 +124,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -199,4 +198,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 8.2.0
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
196
src/Jackett.Common/Definitions/sbpt.yml
Normal file
@@ -0,0 +1,196 @@
|
||||
---
|
||||
id: sbpt
|
||||
name: SBPT
|
||||
description: "SBPT is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://sbpt.link/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "电影(Movies)"}
|
||||
- {id: 408, cat: Audio, desc: "音乐(HQ Audio)"}
|
||||
- {id: 409, cat: Other, desc: "其他(Misc)"}
|
||||
- {id: 407, cat: TV/Sport, desc: "体育(Sport)"}
|
||||
- {id: 406, cat: Audio/Video, desc: "音乐短片(MV)Music Video"}
|
||||
- {id: 403, cat: TV, desc: "综艺(TV Shows)"}
|
||||
- {id: 402, cat: TV, desc: "电视剧(TVSeries)"}
|
||||
- {id: 405, cat: TV/Anime, desc: "动画/Animation)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "纪录片/Documentary)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
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 Rain 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 or above will be retained forever</li><li> Elite User or abovee 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 365 consecutive days</li><li>Users with no traffic (i.e. upload/download data is 0) will be deleted if they do not log in for 60 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("失败"))
|
||||
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(a[href^="download.php?id="])
|
||||
|
||||
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.rowfollow: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.rowfollow: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.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow: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:
|
||||
# 5 hours (as seconds = 5 x 60 x 60)
|
||||
text: 18000
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.13 2024-09-21
|
||||
209
src/Jackett.Common/Definitions/sextorrent-api.yml
Normal file
@@ -0,0 +1,209 @@
|
||||
---
|
||||
id: sextorrent-api
|
||||
name: SexTorrent (API)
|
||||
description: "SexTorrent is a Private Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://sextorrent.myds.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 3, cat: XXX, desc: "Amateur"}
|
||||
- {id: 4, cat: XXX, desc: "Anal"}
|
||||
- {id: 5, cat: XXX, desc: "Asian"}
|
||||
- {id: 6, cat: XXX, desc: "BDSM"}
|
||||
- {id: 7, cat: XXX, desc: "Big-Tits"}
|
||||
- {id: 8, cat: XXX, desc: "Busty"}
|
||||
- {id: 9, cat: XXX, desc: "Creampie"}
|
||||
- {id: 10, cat: XXX, desc: "Fetish"}
|
||||
- {id: 11, cat: XXX, desc: "Mature"}
|
||||
- {id: 12, cat: XXX, desc: "Hardcore"}
|
||||
- {id: 13, cat: XXX, desc: "Old and Young"}
|
||||
- {id: 14, cat: XXX, desc: "Milf"}
|
||||
- {id: 15, cat: XXX, desc: "Oral"}
|
||||
- {id: 16, cat: XXX, desc: "Orgy Gang Bang"}
|
||||
- {id: 17, cat: XXX, desc: "Lesbian"}
|
||||
- {id: 18, cat: XXX, desc: "Teen"}
|
||||
- {id: 19, cat: XXX, desc: "HD - High.Definition"}
|
||||
- {id: 20, cat: XXX, desc: "Hentai"}
|
||||
- {id: 21, cat: XXX, desc: "Interracial"}
|
||||
- {id: 22, cat: XXX, desc: "Masturbate"}
|
||||
- {id: 23, cat: XXX, desc: "Music Video"}
|
||||
- {id: 24, cat: XXX, desc: "POV"}
|
||||
- {id: 25, cat: XXX, desc: "Shemale -TS- TransSex"}
|
||||
- {id: 26, cat: XXX, desc: "Straight"}
|
||||
- {id: 27, cat: XXX, desc: "Mega.Pack"}
|
||||
- {id: 28, cat: XXX, desc: "V.R. -Porn-"}
|
||||
- {id: 30, cat: XXX/ImageSet, desc: "Pictures"}
|
||||
- {id: 29, cat: XXX, desc: "SiteRip"}
|
||||
- {id: 31, cat: XXX, desc: "Foreign"}
|
||||
- {id: 32, cat: XXX, desc: "Latina"}
|
||||
- {id: 33, cat: XXX/Other, desc: "Games"}
|
||||
- {id: 34, cat: XXX, desc: "Magazines"}
|
||||
- {id: 35, cat: XXX, desc: "Feature"}
|
||||
- {id: 36, cat: XXX, desc: "Big-Ass"}
|
||||
- {id: 37, cat: XXX/Other, desc: "Other"}
|
||||
- {id: 38, cat: XXX, desc: "Cumshot"}
|
||||
- {id: 39, cat: XXX, desc: "Black"}
|
||||
- {id: 40, cat: XXX, desc: "Piss"}
|
||||
- {id: 41, cat: XXX, desc: "Homemade"}
|
||||
- {id: 42, cat: XXX, desc: "Pregnant"}
|
||||
- {id: 43, cat: XXX, desc: "Gay"}
|
||||
- {id: 45, cat: XXX, desc: "Classic"}
|
||||
- {id: 44, cat: XXX, desc: "SiteFan"}
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-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://sextorrent.myds.me/\" target=\"_blank\">SexTorrent</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
|
||||
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
- selector: :root:contains("Account is Banned")
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
|
||||
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: category_id
|
||||
title_optional:
|
||||
selector: name
|
||||
title_filename:
|
||||
selector: "files[0].name"
|
||||
optional: true
|
||||
files:
|
||||
selector: num_file
|
||||
title:
|
||||
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||
details:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
_internal:
|
||||
selector: internal
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
description:
|
||||
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
_featured:
|
||||
selector: featured
|
||||
case:
|
||||
False: "{{ .False }}"
|
||||
True: "{{ .True }}"
|
||||
downloadvolumefactor_freeleech:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
|
||||
uploadvolumefactor_double_upload:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.7
|
||||