Compare commits
182 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
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 |
6
.github/workflows/codeql-analysis.yml
vendored
@@ -61,7 +61,7 @@ jobs:
|
||||
|
||||
# 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
|
||||
|
||||
4
.github/workflows/definitions-update.yml
vendored
@@ -40,8 +40,8 @@ jobs:
|
||||
|
||||
- name: Setup Environment Variables
|
||||
run: |
|
||||
echo "CURRENT_RUDUB_DOMAIN=$(date +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.mom" >> $GITHUB_ENV
|
||||
echo "PREVIOUS_RUDUB_DOMAIN=$(date --date='yesterday' +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.mom" >> $GITHUB_ENV
|
||||
echo "CURRENT_RUDUB_DOMAIN=$(date +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.homes" >> $GITHUB_ENV
|
||||
echo "PREVIOUS_RUDUB_DOMAIN=$(date --date='yesterday' +'%b%d' | tr '[:upper:]' '[:lower:]').rudub.homes" >> $GITHUB_ENV
|
||||
|
||||
- name: Update rudub definition
|
||||
uses: mikefarah/yq@master
|
||||
|
||||
2
.github/workflows/issuebot.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
|
||||
# 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
|
||||
|
||||
27
README.md
@@ -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)
|
||||
@@ -105,7 +105,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* PornRips
|
||||
* Postman
|
||||
* Qbite (Hubite)
|
||||
* Rapidzona
|
||||
* RedeTorrent
|
||||
* RinTorNeT
|
||||
* RuTor
|
||||
@@ -126,6 +125,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* torrent.by
|
||||
* torrent-pirat
|
||||
* Torrent9
|
||||
* TorrentControl
|
||||
* TorrentDosFilmes
|
||||
* TorrentDownload
|
||||
* TorrentGalaxyClone
|
||||
@@ -241,6 +241,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 +272,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* BIT-HDTV
|
||||
* Bitded
|
||||
* bitGAMER
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen
|
||||
* Bitpalace
|
||||
* BitPorn
|
||||
@@ -292,10 +292,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
|
||||
@@ -354,7 +355,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]
|
||||
@@ -389,6 +390,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* HDU
|
||||
* Hebits (HB)
|
||||
* HellasHut
|
||||
* HELLENIC-HD
|
||||
* HHanClub
|
||||
* HHD
|
||||
* HomePornTorrents (HPT)
|
||||
@@ -415,6 +417,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* KrazyZone
|
||||
* Kufei (库非)
|
||||
* Kufirc
|
||||
* lajidui
|
||||
* Last Digital Underground (LDU)
|
||||
* LastFiles (LF)
|
||||
* Lat-Team
|
||||
@@ -472,7 +475,6 @@ Prior versions of Jackett are no longer supported.
|
||||
* PassThePopcorn (PTP) [![(invite needed)][inviteneeded]](#)
|
||||
* Peeratiko
|
||||
* Peers.FM
|
||||
* Phoenix Project
|
||||
* PigNetwork (猪猪网)
|
||||
* PixelCove (Ultimate Gamer)
|
||||
* PiXELHD (PxHD) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -515,6 +517,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,11 +525,11 @@ Prior versions of Jackett are no longer supported.
|
||||
* SeedFile (SF)
|
||||
* seedpool
|
||||
* 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]](#)
|
||||
@@ -539,6 +542,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* SugoiMusic
|
||||
* Superbits (SBS)
|
||||
* Swarmazon
|
||||
* Tangmen (唐门)
|
||||
* Tapochek
|
||||
* Tasmanit
|
||||
* Team CT Game (TCTG)
|
||||
@@ -588,12 +592,13 @@ 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]](#)
|
||||
* UBits
|
||||
* UHDBits
|
||||
* uHDTorrent
|
||||
* UltraHD
|
||||
* UnlimitZ
|
||||
* upload.cx (ULCX)
|
||||
@@ -797,7 +802,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`.
|
||||
@@ -873,7 +878,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
|
||||
|
||||
|
||||
@@ -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.9 2025-10-02
|
||||
|
||||
@@ -221,4 +221,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
# 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,54 +32,52 @@ 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: 205, cat: Audio/Audiobook, desc: "Reference & Educational"}
|
||||
- {id: 207, cat: Audio/Audiobook, desc: "Religion and 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: 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"}
|
||||
@@ -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="]
|
||||
|
||||
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
|
||||
@@ -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
|
||||
|
||||
178
src/Jackett.Common/Definitions/cangbaoge.yml
Normal file
@@ -0,0 +1,178 @@
|
||||
---
|
||||
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
|
||||
links:
|
||||
- https://cangbao.ge/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {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]
|
||||
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(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.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.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
|
||||
|
||||
@@ -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
|
||||
@@ -190,7 +190,7 @@ search:
|
||||
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
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
text: 0.8
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
|
||||
@@ -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-09-24
|
||||
# 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"}
|
||||
|
||||
@@ -34,8 +34,10 @@ 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}
|
||||
@@ -56,6 +58,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}
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -231,4 +231,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
# NexusPHP v1.9.9 2025-10-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
|
||||
|
||||
@@ -90,7 +90,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 +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:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 9.1.2
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -110,12 +110,9 @@ search:
|
||||
# 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,13 +120,13 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="#details_tr_"]
|
||||
attribute: title
|
||||
selector: a.torrent-title-link
|
||||
details:
|
||||
selector: a.torrent-title-link
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Név: ", ""]
|
||||
details:
|
||||
text: "details.php?id={{ .Result._id }}"
|
||||
args: ["&hit=1", ""]
|
||||
download:
|
||||
selector: a.download-link
|
||||
attribute: href
|
||||
@@ -139,9 +136,10 @@ search:
|
||||
- name: replace
|
||||
args: ["&please_wait=1", ""]
|
||||
genre:
|
||||
selector: "span[style=\"font-size: 6pt; font-weight: bold;\"]"
|
||||
selector: span[title]
|
||||
attribute: title
|
||||
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,8 +147,8 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="torrents_data/posters/"]
|
||||
attribute: href
|
||||
selector: img.torrent-hover-card-image
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
filters:
|
||||
@@ -159,11 +157,11 @@ search:
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:nth-last-child(4) b
|
||||
selector: td:nth-last-child(4)
|
||||
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:
|
||||
|
||||
@@ -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,11 @@ 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: 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: AnimeRaw, cat: TV/Anime, desc: Anime Raw}
|
||||
- {id: AnimeSubs, cat: TV/Anime, desc: Anime Subs}
|
||||
- {id: Apps, cat: PC, desc: Apps}
|
||||
@@ -48,6 +52,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
|
||||
|
||||
@@ -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.9 2025-10-02
|
||||
|
||||
@@ -9,30 +9,28 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://magnetcatcat.com/
|
||||
- https://clmclm.com/
|
||||
- https://www.8800517.xyz/
|
||||
- https://www.8800518.xyz/
|
||||
- https://www.8800519.xyz/
|
||||
- https://www.8800520.xyz/
|
||||
legacylinks:
|
||||
- https://www.clm472.sbs/
|
||||
- https://www.8800498.xyz/
|
||||
- https://www.8800497.xyz/
|
||||
- https://www.8800499.xyz/
|
||||
- https://www.8800500.xyz/
|
||||
legacylinks:
|
||||
- https://www.8800460.xyz/
|
||||
- https://www.8800473.xyz/
|
||||
- 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.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/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -28,6 +28,7 @@ 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"}
|
||||
@@ -137,6 +138,7 @@ 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
|
||||
@@ -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/
|
||||
|
||||
|
||||
@@ -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: "Неофициальные сборники"}
|
||||
@@ -692,7 +709,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-х"}
|
||||
@@ -708,15 +724,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]
|
||||
|
||||
@@ -10,7 +10,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.nortorrent.net/
|
||||
- https://www.nortorrent.town/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -26,7 +26,6 @@ legacylinks:
|
||||
- https://torrent9.news/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.torrent9.ing/
|
||||
- https://www.torrent9.run/
|
||||
- https://www.torrent9.cv/
|
||||
- https://www.torrent9.ke/
|
||||
@@ -41,6 +40,7 @@ legacylinks:
|
||||
- https://www.nortorrent4.com/
|
||||
- https://www.nortorrent5.com/
|
||||
- https://www.nortorrent6.com/
|
||||
- https://www.nortorrent.net/
|
||||
|
||||
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
|
||||
|
||||
@@ -10,9 +10,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.oxtorrent.fyi/
|
||||
- https://www.zone-torrent4.com/
|
||||
- https://www.mega-torrent7.com/
|
||||
- https://www.oxtorrent.town/
|
||||
- https://www.zone-torrent.town/
|
||||
- https://www.mega-torrent.town/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -28,12 +28,8 @@ legacylinks:
|
||||
- https://oxtorrent.blog/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- 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/
|
||||
@@ -49,6 +45,10 @@ legacylinks:
|
||||
- https://www.oxtorrent.diy/
|
||||
- https://www.zone-torrent.me/
|
||||
- https://www.mega-torrent.net/
|
||||
- https://www.oxtorrent.fyi/
|
||||
- https://www.zone-torrent4.com/
|
||||
- https://www.mega-torrent7.com/
|
||||
- https://www.oxtorrent10.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -12,44 +12,44 @@ 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: 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: 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 +58,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 +114,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 +128,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 +171,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 +186,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
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 9.1.5
|
||||
|
||||
@@ -9,38 +9,38 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://oct04.rudub.mom/
|
||||
- https://oct30.rudub.homes/
|
||||
legacylinks:
|
||||
- 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://sep29.rudub.bet/
|
||||
- http://sep30.rudub.bet/
|
||||
- https://sep30.rudub.bet/
|
||||
- http://oct01.rudub.bet/
|
||||
- https://oct01.rudub.bet/
|
||||
- http://oct02.rudub.bet/
|
||||
- https://oct02.rudub.bet/
|
||||
- http://oct02.rudub.mom/
|
||||
- https://oct02.rudub.mom/
|
||||
- http://oct03.rudub.mom/
|
||||
- https://oct03.rudub.mom/
|
||||
- http://oct04.rudub.mom/
|
||||
- https://oct15.rudub.mom/
|
||||
- http://oct16.rudub.mom/
|
||||
- https://oct16.rudub.mom/
|
||||
- http://oct17.rudub.mom/
|
||||
- https://oct17.rudub.mom/
|
||||
- http://oct18.rudub.mom/
|
||||
- https://oct18.rudub.mom/
|
||||
- http://oct19.rudub.homes/
|
||||
- https://oct19.rudub.homes/
|
||||
- http://oct20.rudub.homes/
|
||||
- https://oct20.rudub.homes/
|
||||
- http://oct21.rudub.homes/
|
||||
- https://oct21.rudub.homes/
|
||||
- http://oct22.rudub.homes/
|
||||
- https://oct22.rudub.homes/
|
||||
- http://oct23.rudub.homes/
|
||||
- https://oct23.rudub.homes/
|
||||
- http://oct24.rudub.homes/
|
||||
- https://oct24.rudub.homes/
|
||||
- http://oct25.rudub.homes/
|
||||
- https://oct25.rudub.homes/
|
||||
- http://oct26.rudub.homes/
|
||||
- https://oct26.rudub.homes/
|
||||
- http://oct27.rudub.homes/
|
||||
- https://oct27.rudub.homes/
|
||||
- http://oct28.rudub.homes/
|
||||
- https://oct28.rudub.homes/
|
||||
- http://oct29.rudub.homes/
|
||||
- https://oct29.rudub.homes/
|
||||
- http://oct30.rudub.homes/
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
@@ -13,7 +13,7 @@ caps:
|
||||
- {id: 1, cat: Movies, desc: "Filmes"}
|
||||
- {id: 2, cat: TV, desc: "Séries"}
|
||||
- {id: 3, cat: TV/Anime, desc: "Animes"}
|
||||
- {id: 4, cat: Other, desc: "Cursos", default: false}
|
||||
- {id: 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"}
|
||||
|
||||
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
|
||||
@@ -1,195 +0,0 @@
|
||||
# SexTorrent uses the Luminance code, which is based on gazelle
|
||||
# ajax.php API additionally needs the auth=$authkey argument
|
||||
# Because the API is e.g. missing poster images we use screen scraping instead of the generic gazelle based approach
|
||||
---
|
||||
id: sextorrent
|
||||
name: SexTorrent
|
||||
description: "SexTorrent is a Private Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://sextorrent.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 63, cat: XXX, desc: "Hairy"}
|
||||
- {id: 64, cat: XXX, desc: "Voyeur"}
|
||||
- {id: 30, cat: XXX, desc: "Amateur"}
|
||||
- {id: 29, cat: XXX, desc: "Anal"}
|
||||
- {id: 27, cat: XXX, desc: "Asian"}
|
||||
- {id: 26, cat: XXX, desc: "BBW"}
|
||||
- {id: 44, cat: XXX, desc: "BDSM"}
|
||||
- {id: 25, cat: XXX, desc: "Big Ass"}
|
||||
- {id: 24, cat: XXX, desc: "Big Tits"}
|
||||
- {id: 34, cat: XXX, desc: "Black"}
|
||||
- {id: 66, cat: XXX, desc: "Busty"}
|
||||
- {id: 23, cat: XXX, desc: "Classic"}
|
||||
- {id: 33, cat: XXX, desc: "Creampie"}
|
||||
- {id: 22, cat: XXX, desc: "Cumshot"}
|
||||
- {id: 62, cat: XXX/DVD, desc: "DVD-R"}
|
||||
- {id: 21, cat: XXX, desc: "Fetish"}
|
||||
- {id: 19, cat: XXX, desc: "Gay / Bi"}
|
||||
- {id: 18, cat: XXX, desc: "Hardcore"}
|
||||
- {id: 32, cat: XXX, desc: "HD porn"}
|
||||
- {id: 28, cat: XXX, desc: "Hentai / 3D"}
|
||||
- {id: 17, cat: XXX, desc: "Homemade"}
|
||||
- {id: 38, cat: XXX, desc: "Interracial"}
|
||||
- {id: 48, cat: XXX, desc: "Latina"}
|
||||
- {id: 16, cat: XXX, desc: "Lesbian"}
|
||||
- {id: 61, cat: XXX, desc: "Lingerie"}
|
||||
- {id: 56, cat: XXX/Other, desc: "Magazines"}
|
||||
- {id: 60, cat: XXX/Other, desc: "Manga / Comic"}
|
||||
- {id: 15, cat: XXX, desc: "Masturbation"}
|
||||
- {id: 14, cat: XXX, desc: "Mature"}
|
||||
- {id: 13, cat: XXX/Pack, desc: "Megapack"}
|
||||
- {id: 55, cat: XXX, desc: "Milf"}
|
||||
- {id: 49, cat: XXX, desc: "Natural Tits"}
|
||||
- {id: 12, cat: XXX, desc: "Oral"}
|
||||
- {id: 20, cat: XXX, desc: "Orgia / Gang Bang"}
|
||||
- {id: 42, cat: XXX/Other, desc: "Other"}
|
||||
- {id: 50, cat: XXX, desc: "Parody"}
|
||||
- {id: 41, cat: XXX/WEB-DL, desc: "Paysite"}
|
||||
- {id: 11, cat: XXX/ImageSet, desc: "Picture set"}
|
||||
- {id: 40, cat: XXX, desc: "Piss"}
|
||||
- {id: 43, cat: XXX/Other, desc: "Porn Music Videos"}
|
||||
- {id: 67, cat: XXX, desc: "POV"}
|
||||
- {id: 45, cat: XXX, desc: "Pregnant / Preggo"}
|
||||
- {id: 57, cat: XXX, desc: "Scat/Puke"}
|
||||
- {id: 10, cat: XXX, desc: "Shemale / TS"}
|
||||
- {id: 51, cat: XXX/WEB-DL, desc: "Siterip"}
|
||||
- {id: 52, cat: XXX, desc: "Softcore"}
|
||||
- {id: 53, cat: XXX, desc: "Squirt"}
|
||||
- {id: 9, cat: XXX, desc: "Straight"}
|
||||
- {id: 8, cat: XXX, desc: "Tini"}
|
||||
- {id: 65, cat: XXX, desc: "Virtual Reality"}
|
||||
- {id: 7, cat: XXX/Other, desc: "XXX Games / Program"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "After 4 months of no activity (no login) your account will be disabled."
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
cinfo: "2550|1350|24|-60"
|
||||
keeplogged: 1
|
||||
selectorinputs:
|
||||
token:
|
||||
selector: input[name="token"]
|
||||
attribute: value
|
||||
error:
|
||||
# invalid credentials error is added by JS, this is the IP ban error
|
||||
- selector: div.thin > div > h2
|
||||
test:
|
||||
path: index.php
|
||||
selector: "#nav_userinfo"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
title: "{{ .Keywords }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon[title*="okay"]: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?)>"
|
||||
- name: re_replace
|
||||
args: ["[\\\\\"]", ""]
|
||||
- name: replace
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i.unlimited_leech: 0
|
||||
i.sitewide_leech: 0
|
||||
img[alt="Freeleech"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
img[alt="DoubleSeed"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# luminance
|
||||
127
src/Jackett.Common/Definitions/shakaw.yml
Normal file
@@ -0,0 +1,127 @@
|
||||
---
|
||||
id: shakaw
|
||||
name: ShaKaw
|
||||
description: "ShaKaw is a BRAZILIAN Private Torrent Tracker for ANIME"
|
||||
language: pt-BR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://tracker.shakaw.com.br/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 0, cat: TV/Anime, desc: "Selecione"}
|
||||
- {id: 1, cat: TV/Anime, desc: "Completo"}
|
||||
- {id: 2, cat: TV/Anime, desc: "Série"}
|
||||
- {id: 3, cat: Movies, desc: "Filme"}
|
||||
- {id: 4, cat: TV/Anime, desc: "OVA"}
|
||||
- {id: 5, cat: Books, desc: "Manga"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Especial"}
|
||||
- {id: 7, cat: TV/Anime, desc: "Promo"}
|
||||
- {id: 8, cat: TV, desc: "Tokusatsu"}
|
||||
- {id: 9, cat: TV, desc: "Live Action"}
|
||||
- {id: 12, cat: TV, desc: "Dorama"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
|
||||
login:
|
||||
method: form
|
||||
path: entrar.php
|
||||
submitpath: pagina_inicial.php?acao=login
|
||||
form: form[action="pagina_inicial.php?acao=login"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="Carregando captcha..."]
|
||||
input: captcha
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: h1#h1_aviso
|
||||
message:
|
||||
selector: div#div_aviso > p
|
||||
test:
|
||||
path: pagina_inicial.php
|
||||
selector: a[href="sair.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
palavra_chave: "{{ .Keywords }}"
|
||||
# selecione (default), Com seeders (has seeders), Sem seeders (without seeders), Golden, Sem Golden (not Golden)
|
||||
situacao: "{{ if .Config.freeleech }}golden{{ else }}selecione{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#tabela_torrents > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: div.div_categoria_torrent > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: categoria_id
|
||||
title:
|
||||
selector: a.link_torrent, a.link_golden_torrent
|
||||
details:
|
||||
selector: a.link_torrent, a.link_golden_torrent
|
||||
attribute: href
|
||||
download:
|
||||
selector: a.link_download
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: trim
|
||||
- name: replace
|
||||
args: ["h", ":"]
|
||||
- name: re_replace
|
||||
args: ["^(.{5})", "$1 "]
|
||||
- name: append
|
||||
args: " -03:00" # America/Sao_Paulo
|
||||
- name: dateparse
|
||||
args: "HH:mm dd/MM/yyyy zzz"
|
||||
size:
|
||||
selector: td[title="Tamanho"]
|
||||
files:
|
||||
selector: td[title="Quantidade de Arquivos"] > a
|
||||
grabs:
|
||||
selector: td[title="Quantos Completaram"]
|
||||
seeders:
|
||||
selector: td[title="Quantidade de Seeders"] > a
|
||||
leechers:
|
||||
selector: td[title="Quantidade de Leechers"] > a
|
||||
genre:
|
||||
selector: div.tags_da_linha_da_tabela
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\\[(.+?)\\]"
|
||||
description:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icone_golden_torrent: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 0.6
|
||||
# engine n/a
|
||||
@@ -17,11 +17,10 @@ caps:
|
||||
- {id: 2, cat: TV, desc: "Serie TV"}
|
||||
- {id: 15, cat: Books/EBook, desc: "Ebook"}
|
||||
- {id: 17, cat: Books/Mags, desc: "Riviste e Giornali"}
|
||||
- {id: 19, cat: XXX, desc: "XXX"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 7, cat: PC/Games, desc: "Games"}
|
||||
- {id: 23, cat: PC, desc: "Software"}
|
||||
- {id: 24, cat: TV/Sport, desc: "EVENTI SPORTIVI"}
|
||||
- {id: 24, cat: TV/Sport, desc: "Eventi Sportivi"}
|
||||
- {id: 25, cat: Other, desc: "Misc"}
|
||||
|
||||
modes:
|
||||
@@ -155,8 +154,6 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -229,4 +226,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 6 days (as seconds = 6 x 24 x 60 x 60)
|
||||
text: 518400
|
||||
# json UNIT3D 9.1.5 (custom)
|
||||
# json UNIT3D 9.1.7 (custom)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: siambit
|
||||
name: SiamBIT
|
||||
description: "SiamBIT is a THAI Private Torrent Tracker for GENERAL"
|
||||
description: "SiamBIT is a THAI PAY2DL Private Torrent Tracker for GENERAL"
|
||||
language: th-TH
|
||||
type: private
|
||||
encoding: tis-620
|
||||
@@ -148,8 +148,7 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
# the last selector is temporary as the site has apparently not yet updated their html for the cat links ;-)
|
||||
selector: a[href^="viewno18sbx.php?cat="], a[href^="viewbrsb.php?cat="], a[href^="viewno18sb.php?cat="]
|
||||
selector: a[href*=".php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
@@ -162,59 +161,62 @@ search:
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[alt="Poster"]
|
||||
attribute: src
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
selector: td:nth-child(6)
|
||||
date:
|
||||
selector: td:nth-child(7)
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +07:00" # ICT
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyyHH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
seeders:
|
||||
grabs:
|
||||
selector: td:nth-child(10)
|
||||
leechers:
|
||||
seeders:
|
||||
selector: td:nth-child(11)
|
||||
leechers:
|
||||
selector: td:nth-child(12)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"td:nth-child(3):contains(\"100%\")": 0
|
||||
"td:nth-child(3):contains(\"95%\")": 0.05
|
||||
"td:nth-child(3):contains(\"90%\")": 0.1
|
||||
"td:nth-child(3):contains(\"85%\")": 0.15
|
||||
"td:nth-child(3):contains(\"80%\")": 0.2
|
||||
"td:nth-child(3):contains(\"75%\")": 0.25
|
||||
"td:nth-child(3):contains(\"70%\")": 0.3
|
||||
"td:nth-child(3):contains(\"65%\")": 0.35
|
||||
"td:nth-child(3):contains(\"60%\")": 0.4
|
||||
"td:nth-child(3):contains(\"55%\")": 0.45
|
||||
"td:nth-child(3):contains(\"50%\")": 0.5
|
||||
"td:nth-child(3):contains(\"45%\")": 0.55
|
||||
"td:nth-child(3):contains(\"40%\")": 0.6
|
||||
"td:nth-child(3):contains(\"35%\")": 0.65
|
||||
"td:nth-child(3):contains(\"30%\")": 0.7
|
||||
"td:nth-child(3):contains(\"25%\")": 0.75
|
||||
"td:nth-child(3):contains(\"20%\")": 0.8
|
||||
"td:nth-child(3):contains(\"15%\")": 0.85
|
||||
"td:nth-child(3):contains(\"10%\")": 0.9
|
||||
"td:nth-child(3):contains(\"5%\")": 0.95
|
||||
"td:nth-child(4):contains(\"100%\")": 0
|
||||
"td:nth-child(4):contains(\"95%\")": 0.05
|
||||
"td:nth-child(4):contains(\"90%\")": 0.1
|
||||
"td:nth-child(4):contains(\"85%\")": 0.15
|
||||
"td:nth-child(4):contains(\"80%\")": 0.2
|
||||
"td:nth-child(4):contains(\"75%\")": 0.25
|
||||
"td:nth-child(4):contains(\"70%\")": 0.3
|
||||
"td:nth-child(4):contains(\"65%\")": 0.35
|
||||
"td:nth-child(4):contains(\"60%\")": 0.4
|
||||
"td:nth-child(4):contains(\"55%\")": 0.45
|
||||
"td:nth-child(4):contains(\"50%\")": 0.5
|
||||
"td:nth-child(4):contains(\"45%\")": 0.55
|
||||
"td:nth-child(4):contains(\"40%\")": 0.6
|
||||
"td:nth-child(4):contains(\"35%\")": 0.65
|
||||
"td:nth-child(4):contains(\"30%\")": 0.7
|
||||
"td:nth-child(4):contains(\"25%\")": 0.75
|
||||
"td:nth-child(4):contains(\"20%\")": 0.8
|
||||
"td:nth-child(4):contains(\"15%\")": 0.85
|
||||
"td:nth-child(4):contains(\"10%\")": 0.9
|
||||
"td:nth-child(4):contains(\"5%\")": 0.95
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"td:nth-child(4):contains(\"x2\")": 2
|
||||
"td:nth-child(4):contains(\"x3\")": 3
|
||||
"td:nth-child(4):contains(\"x4\")": 4
|
||||
"td:nth-child(4):contains(\"x5\")": 5
|
||||
"td:nth-child(4):contains(\"x6\")": 6
|
||||
"td:nth-child(4):contains(\"x7\")": 7
|
||||
"td:nth-child(4):contains(\"x8\")": 8
|
||||
"td:nth-child(4):contains(\"x9\")": 9
|
||||
"td:nth-child(5):contains(\"x2\")": 2
|
||||
"td:nth-child(5):contains(\"x3\")": 3
|
||||
"td:nth-child(5):contains(\"x4\")": 4
|
||||
"td:nth-child(5):contains(\"x5\")": 5
|
||||
"td:nth-child(5):contains(\"x6\")": 6
|
||||
"td:nth-child(5):contains(\"x7\")": 7
|
||||
"td:nth-child(5):contains(\"x8\")": 8
|
||||
"td:nth-child(5):contains(\"x9\")": 9
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
|
||||
@@ -99,7 +99,10 @@ caps:
|
||||
- {id: 99, cat: TV/Sport, desc: "Darts"}
|
||||
- {id: 100, cat: TV/Sport, desc: "ESport"}
|
||||
- {id: 6, cat: TV/Sport, desc: "European Soccer"}
|
||||
- {id: 101, cat: TV/Sport, desc: "EuroCup"}
|
||||
- {id: 102, cat: TV/Sport, desc: "Ultimate Diskk"}
|
||||
- {id: 52, cat: TV/Sport, desc: "Field Hockey"}
|
||||
- {id: 103, cat: TV/Sport, desc: "Basketball Champions"}
|
||||
- {id: 58, cat: TV/Sport, desc: "UFC"}
|
||||
- {id: 57, cat: TV/Sport, desc: "NRL"}
|
||||
|
||||
|
||||
201
src/Jackett.Common/Definitions/tangmen.yml
Normal file
@@ -0,0 +1,201 @@
|
||||
---
|
||||
id: tangmen
|
||||
name: Tangmen (唐门)
|
||||
description: "Tangmen (唐门) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://tmpt.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 409, cat: TV/Other, desc: "Others/其他"}
|
||||
- {id: 408, cat: Audio, desc: "Music/音轨"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 410, cat: TV, desc: "Playlet(短剧)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the cyanbug Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_activity
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li>Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.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.6 2025-06-25
|
||||
@@ -5,6 +5,8 @@ description: "The Geeks is a Private Torrent Tracker for Technology E-LEARNING"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- edf52a95960cbd7ca3c992e634cc087fa47df8c5 # Expired 23rd OCt 2025
|
||||
links:
|
||||
- https://thegeeks.click/
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "TheShow (TSBZ) is a Private Torrent Tracker for ENTERTAINMENT-INDU
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- e207e50c00d33374e13dd9da761a8baea4702b2d # Expired 23rd Oct 2025
|
||||
links:
|
||||
- https://theshow.click/
|
||||
legacylinks:
|
||||
|
||||
@@ -8,10 +8,8 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
testlinktorrent: false
|
||||
links:
|
||||
- https://torrent9.to/
|
||||
- https://www.torrent9.zone/
|
||||
legacylinks:
|
||||
- https://www4.torrent9.to/
|
||||
- https://www.torrent9.cat/
|
||||
- https://www.torrent09.uno/
|
||||
- https://www.torrent9.pl/ # this is a proxy for torrent9clone
|
||||
- https://torrent9.black-mirror.xyz/ # this is a proxy for torrent9clone
|
||||
@@ -33,7 +31,8 @@ legacylinks:
|
||||
- https://www.torrent9.se/
|
||||
- https://torrent9.unblockninja.com/ # 403 forbidden
|
||||
- https://ww1.torrent9.fm/
|
||||
- https://www.torrent9.zone/
|
||||
- https://torrent9.to/
|
||||
- https://www5.torrent9.to/
|
||||
|
||||
caps:
|
||||
# dont forget to update the search fields category case block
|
||||
|
||||
126
src/Jackett.Common/Definitions/torrentcontrol.yml
Normal file
@@ -0,0 +1,126 @@
|
||||
---
|
||||
id: torrentcontrol
|
||||
name: TorrentControl (API)
|
||||
description: "TorrentControl (API) is a Public Torrent Tracker for MOVIES / TV / ANIME"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://torrentcontrol.pw/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: movie, cat: Movies, desc: Movies, default: true}
|
||||
- {id: series, cat: TV, desc: Series, default: true}
|
||||
- {id: anime, cat: TV/Anime, desc: Anime, default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
# docs: https://torrentcontrol.pw/en/api-docs
|
||||
paths:
|
||||
# since per_page is only 20 we needs to query all 3 cats separately to ensure we get hits for keywordless
|
||||
- path: "api/v1/torrents?type=movie&search={{ .Keywords }}"
|
||||
response:
|
||||
type: json
|
||||
categories: [movie]
|
||||
|
||||
- path: "api/v1/torrents?type=series&search={{ .Keywords }}"
|
||||
response:
|
||||
type: json
|
||||
categories: [series]
|
||||
|
||||
- path: "api/v1/torrents?type=anime&search={{ .Keywords }}"
|
||||
response:
|
||||
type: json
|
||||
categories: [anime]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: type
|
||||
_id:
|
||||
selector: content_id
|
||||
details:
|
||||
text: "contents/{{ .Result._id }}"
|
||||
_language:
|
||||
selector: language
|
||||
case:
|
||||
fr: French
|
||||
es: Spanish
|
||||
it: Italian
|
||||
latino: Latino
|
||||
ru: Russian
|
||||
"*": ""
|
||||
title_default:
|
||||
selector: title
|
||||
title_file_name:
|
||||
selector: file_name
|
||||
optional: true
|
||||
title_magnet:
|
||||
selector: magnet_uri:contains(&dn=)
|
||||
optional: true
|
||||
filters:
|
||||
- name: htmldecode
|
||||
- name: querystring
|
||||
args: dn
|
||||
title:
|
||||
text: "{{ if or .Result.title_file_name .Result.title_magnet }}{{ or .Result.title_file_name .Result.title_magnet }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}"
|
||||
magnet:
|
||||
selector: magnet_uri
|
||||
filters:
|
||||
- name: htmldecode
|
||||
poster:
|
||||
selector: poster_url
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
seeders_zero:
|
||||
selector: seeders
|
||||
seeders:
|
||||
selector: seeders
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if eq .Result.seeders_zero \"0\" }}1{{ else }}{{ end }}"
|
||||
leechers_zero:
|
||||
selector: leechers
|
||||
leechers:
|
||||
selector: leechers
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if eq .Result.leechers_zero \"0\" }}1{{ else }}{{ end }}"
|
||||
date:
|
||||
# 2025-10-12T21:59:04.000000Z
|
||||
selector: created_at
|
||||
size_default:
|
||||
selector: type
|
||||
case:
|
||||
movie: 9GB
|
||||
series: 2GB
|
||||
size_in_mb:
|
||||
selector: size_in_mb
|
||||
optional: true
|
||||
size:
|
||||
text: "{{ if .Result.size_in_mb }}{{ .Result.size_in_mb }}MB{{ else }}{{ .Result.size_default }}{{ end }}"
|
||||
description:
|
||||
selector: provider
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "provider: "
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# json api v1
|
||||
@@ -14,10 +14,10 @@ links:
|
||||
- https://www.torrentkitty.red/
|
||||
- https://www.torrentkitty.lol/
|
||||
- https://www.torrentkitty.best/
|
||||
- https://www.torrentkitty.tv/
|
||||
- https://torkitty.com/
|
||||
legacylinks:
|
||||
- https://www.torrentkitty.se/
|
||||
- https://www.torrentkitty.tv/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -7,15 +7,9 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq388.com/
|
||||
- https://torrentegg78.com/
|
||||
- https://torrentqq391.com/
|
||||
- https://torrentegg81.com/
|
||||
legacylinks:
|
||||
- https://torrentegg64.com/
|
||||
- https://torrentqq373.com/
|
||||
- https://torrentegg65.com/
|
||||
- https://torrentqq374.com/
|
||||
- https://torrentegg66.com/
|
||||
- https://torrentqq375.com/
|
||||
- https://torrentegg67.com/
|
||||
- https://torrentqq376.com/
|
||||
- https://torrentegg68.com/
|
||||
@@ -39,6 +33,12 @@ legacylinks:
|
||||
- https://torrentegg76.com/
|
||||
- https://torrentqq387.com/
|
||||
- https://torrentegg77.com/
|
||||
- https://torrentqq388.com/
|
||||
- https://torrentegg78.com/
|
||||
- https://torrentqq389.com/
|
||||
- https://torrentegg79.com/
|
||||
- https://torrentqq390.com/
|
||||
- https://torrentegg80.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,12 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrentsome215.com/
|
||||
- https://torrentsome219.com/
|
||||
legacylinks:
|
||||
- https://torrentsome200.com/
|
||||
- https://torrentsome201.com/
|
||||
- https://torrentsome202.com/
|
||||
- https://torrentsome203.com/
|
||||
- https://torrentsome204.com/
|
||||
- https://torrentsome205.com/
|
||||
- https://torrentsome206.com/
|
||||
@@ -26,6 +22,10 @@ legacylinks:
|
||||
- https://torrentsome212.com/
|
||||
- https://torrentsome213.com/
|
||||
- https://torrentsome214.com/
|
||||
- https://torrentsome215.com/
|
||||
- https://torrentsome216.com/
|
||||
- https://torrentsome217.com/
|
||||
- https://torrentsome218.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -9,12 +9,8 @@ followredirect: true
|
||||
requestDelay: 2
|
||||
# to fetch current domain use https://tzip.top/
|
||||
links:
|
||||
- https://torrenttip196.top/
|
||||
- https://torrenttip200.top/
|
||||
legacylinks:
|
||||
- https://torrenttip181.top/
|
||||
- https://torrenttip182.top/
|
||||
- https://torrenttip183.top/
|
||||
- https://torrenttip184.top/
|
||||
- https://torrenttip185.top/
|
||||
- https://torrenttip186.top/
|
||||
- https://torrenttip187.top/
|
||||
@@ -26,6 +22,10 @@ legacylinks:
|
||||
- https://torrenttip193.top/
|
||||
- https://torrenttip194.top/
|
||||
- https://torrenttip195.top/
|
||||
- https://torrenttip196.top/
|
||||
- https://torrenttip197.top/
|
||||
- https://torrenttip198.top/
|
||||
- https://torrenttip199.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: turktorrent
|
||||
name: TurkTorrent
|
||||
description: "TurkTorrent (TT) is a TURKISH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
description: "TurkTorrent (TT) is a TURKISH Private PAY2DL Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: tr-TR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -117,7 +117,7 @@ login:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: ?p=home&pid=1
|
||||
selector: div#member_info_bar
|
||||
selector: a#logout
|
||||
|
||||
search:
|
||||
headers:
|
||||
@@ -130,7 +130,7 @@ search:
|
||||
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
|
||||
keywords: "{{ .Keywords }}"
|
||||
# name description both uploader
|
||||
search_type: name
|
||||
search_type: names
|
||||
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||
|
||||
@@ -139,7 +139,7 @@ search:
|
||||
args: ["\\b(\\d{4})\\.(\\d{2})\\.(\\d{2})\\b", "$3.$2.$1"]
|
||||
|
||||
rows:
|
||||
selector: "table#torrents_table_classic > tbody > tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
selector: "table#torrents_tables_classic > tbody > tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -199,9 +199,6 @@ search:
|
||||
selector: a[rel="torrent_leechers"]
|
||||
grabs:
|
||||
selector: a[rel="times_completed"]
|
||||
poster:
|
||||
selector: a[rel="fancybox"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/freedownload.gif\"]": 0
|
||||
|
||||
218
src/Jackett.Common/Definitions/uhdtorrent.yml
Normal file
@@ -0,0 +1,218 @@
|
||||
---
|
||||
id: uhdtorrent
|
||||
name: uHDTorrent
|
||||
description: "uHDTorrent is a TURKISH Private Torrent Tracker for HD MOVIES / TV / GENERAL"
|
||||
language: tr-TR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://uhdtorrent.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 32, cat: Movies, desc: "Digital Platform İçerikleri"}
|
||||
- {id: 32, cat: TV, desc: "Digital Platform İçerikleri"}
|
||||
- {id: 39, cat: Movies, desc: "NETFLİX"}
|
||||
- {id: 39, cat: TV, desc: "NETFLİX"}
|
||||
- {id: 38, cat: Movies, desc: "AMAZON PRİME"}
|
||||
- {id: 38, cat: TV, desc: "AMAZON PRİME"}
|
||||
- {id: 41, cat: Movies, desc: "DİSNEY+"}
|
||||
- {id: 41, cat: TV, desc: "DİSNEY+"}
|
||||
- {id: 37, cat: Movies, desc: "HBOMAX"}
|
||||
- {id: 37, cat: TV, desc: "HBOMAX"}
|
||||
- {id: 40, cat: Movies, desc: "TOD"}
|
||||
- {id: 40, cat: TV, desc: "TOD"}
|
||||
- {id: 42, cat: Movies, desc: "GAİN"}
|
||||
- {id: 42, cat: TV, desc: "GAİN"}
|
||||
- {id: 43, cat: Movies, desc: "MUBI"}
|
||||
- {id: 43, cat: TV, desc: "MUBI"}
|
||||
- {id: 44, cat: Movies, desc: "TV+"}
|
||||
- {id: 44, cat: TV, desc: "TV+"}
|
||||
- {id: 45, cat: Movies, desc: "EXXEN"}
|
||||
- {id: 45, cat: TV, desc: "EXXEN"}
|
||||
- {id: 46, cat: Movies, desc: "TABİİ"}
|
||||
- {id: 46, cat: TV, desc: "TABİİ"}
|
||||
- {id: 47, cat: Movies, desc: "ATVP"}
|
||||
- {id: 47, cat: TV, desc: "ATVP"}
|
||||
- {id: 59, cat: Movies, desc: "DİĞER"}
|
||||
- {id: 59, cat: TV, desc: "DİĞER"}
|
||||
- {id: 48, cat: TV, desc: "Diziler"}
|
||||
- {id: 49, cat: TV, desc: "Yerli Diziler"}
|
||||
- {id: 50, cat: TV, desc: "Yerli Dizi Boxset"}
|
||||
- {id: 52, cat: Audio, desc: "Müzikler"}
|
||||
- {id: 52, cat: Audio, desc: "Müzikler Yerli"}
|
||||
- {id: 52, cat: Audio, desc: "Müzikler Yabancı"}
|
||||
- {id: 55, cat: PC/0day, desc: "Programlar"}
|
||||
- {id: 56, cat: PC/0day, desc: "Programlar Windows"}
|
||||
- {id: 57, cat: PC/Games, desc: "Oyunlar"}
|
||||
- {id: 58, cat: PC/Games, desc: "Oyunla PC"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: info
|
||||
type: info
|
||||
label: Layout
|
||||
default: "<ul><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Torrent Listes)</b> option in your profile to <b>Classic</b></li><li>Using the <i>Modern</i> theme will prevent results.</li></ul>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and check that you are not being forced to change your password because it has expired after 365 days."
|
||||
|
||||
login:
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: login
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: 1
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "stKey: \"(.+?)\","
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: ?p=home&pid=1
|
||||
selector: a[href*="/?p=logout&"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%25"]
|
||||
inputs:
|
||||
p: torrents
|
||||
pid: 32
|
||||
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
|
||||
keywords: "{{ .Keywords }}"
|
||||
# name, description, both, uploader
|
||||
search_type: name
|
||||
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "table#torrents_table_classic tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
category:
|
||||
selector: div.category_image > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cid
|
||||
details:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||
attribute: href
|
||||
date_day:
|
||||
# Yüklendi Bugün saat 05:11 by
|
||||
# Yüklendi Dün saat 05:11 by
|
||||
# Yüklendi Cumartesi at 23:57 by
|
||||
selector: td.torrent_name:contains("at"):not(:has(abbr[data-time]))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Yüklendi (.+?) by"
|
||||
- name: replace
|
||||
args: ["Bugün saat", "today"]
|
||||
- name: replace
|
||||
args: ["Dün saat", "yesterday"]
|
||||
- name: replace
|
||||
args: ["Pazartesi", "monday"]
|
||||
- name: replace
|
||||
args: ["Salı", "tuesday"]
|
||||
- name: replace
|
||||
args: ["Çarşamba", "wednesday"]
|
||||
- name: replace
|
||||
args: ["Perşembe", "thursday"]
|
||||
- name: replace
|
||||
args: ["Cumartesi", "saturday"]
|
||||
- name: replace
|
||||
args: ["Cuma", "friday"]
|
||||
- name: replace
|
||||
args: ["Pazar", "sunday"]
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# Yüklendi 20-10-2025 11:15 by
|
||||
selector: td.torrent_name:not(:contains("at")):not(:has(abbr[data-time]))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Yüklendi (.+?) by"
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm"
|
||||
date_unix:
|
||||
# within the hour (unix)
|
||||
selector: abbr[data-time]
|
||||
attribute: data-time
|
||||
optional: true
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_unix }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
selector: a[rel="torrent_seeders"]
|
||||
leechers:
|
||||
selector: a[rel="torrent_leechers"]
|
||||
grabs:
|
||||
selector: a[rel="times_completed"]
|
||||
poster:
|
||||
selector: a[rel="fancybox"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/silver.gif\"]": 0.5
|
||||
"img[src$=\"/freedownload.gif\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/torrent_x2.png\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.8
|
||||
minimumseedtime:
|
||||
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# TSUE 2.2
|
||||
@@ -171,4 +171,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -10,8 +10,7 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Кинофильмы
|
||||
# Movies
|
||||
# Кинофильмы # Movies
|
||||
- {id: 3, cat: Movies, desc: "Зарубежные кинофильмы"}
|
||||
- {id: 13, cat: Movies, desc: " |- Новинки 2025"}
|
||||
- {id: 12, cat: Movies, desc: " |- Фильмы 2021-2024"}
|
||||
@@ -36,9 +35,9 @@ caps:
|
||||
- {id: 30, cat: Movies, desc: " |- Фильмы 2011-2024 годов"}
|
||||
- {id: 29, cat: Movies, desc: " |- Фильмы 2000-2010 годов"}
|
||||
- {id: 26, cat: Movies, desc: " |- Фильмы до 2000 года"}
|
||||
# Сериалы, Видео и ТВ
|
||||
# Series, Videos and TV
|
||||
# Сериалы, Видео и ТВ # Series, Videos and TV
|
||||
- {id: 97, cat: TV, desc: "Сериалы"}
|
||||
- {id: 333, cat: TV, desc: " |- Игра престолов / Game of Thrones"}
|
||||
- {id: 313, cat: TV, desc: " |- Секретные материалы \ The X-Files"}
|
||||
- {id: 103, cat: TV, desc: " |- Зарубежные сериалы"}
|
||||
- {id: 102, cat: TV, desc: " |- Российские сериалы"}
|
||||
@@ -46,8 +45,7 @@ caps:
|
||||
- {id: 100, cat: TV, desc: " |- Турецкие сериалы"}
|
||||
- {id: 99, cat: TV, desc: " |- Узбекские сериалы"}
|
||||
- {id: 98, cat: TV, desc: " |- Мультсериалы"}
|
||||
# Мультфильмы
|
||||
# Cartoons
|
||||
# Мультфильмы # Cartoons
|
||||
- {id: 36, cat: TV, desc: "Зарубежные мультфильмы"}
|
||||
- {id: 48, cat: TV, desc: " |- Новинки 2025"}
|
||||
- {id: 46, cat: TV, desc: " |- Полнометражные мультфильмы"}
|
||||
@@ -67,8 +65,7 @@ caps:
|
||||
- {id: 61, cat: TV, desc: " |- Мультфильмы 2011-2024 годов"}
|
||||
- {id: 60, cat: TV, desc: " |- Мультфильмы 2000-2010 годов"}
|
||||
- {id: 59, cat: TV, desc: " |- Мультфильмы до 2000 года"}
|
||||
# Музыка
|
||||
# Music
|
||||
# Музыка # Music
|
||||
- {id: 225, cat: Audio, desc: "♫ Российские исполнители ♫ (Mp3)♫"}
|
||||
- {id: 228, cat: Audio, desc: " |- Поп музыка России и стран бывшего СССР"}
|
||||
- {id: 229, cat: Audio, desc: " |- Русские поп сборники"}
|
||||
@@ -129,8 +126,9 @@ caps:
|
||||
- {id: 237, cat: Audio, desc: " |- ♫ Рок-музыка Hi-Res"}
|
||||
- {id: 236, cat: Audio, desc: " |- ♫ Джаз и Блюз Hi-Res"}
|
||||
- {id: 324, cat: Audio, desc: "Оцифровки с аналоговых носителей"}
|
||||
- {id: 328, cat: Audio, desc: " |- Советская и Российская эстрада (оцифровки)"}
|
||||
- {id: 327, cat: Audio, desc: " |- Зарубежная поп музыка (оцифровки)"}
|
||||
- {id: 330, cat: Audio, desc: " |- ♫ Зарубежная поп музыка (оцифровки)"}
|
||||
- {id: 328, cat: Audio, desc: " |- ♫ Советская и Российская эстрада (оцифровки)"}
|
||||
- {id: 331, cat: Audio, desc: " |- ♫ Русский рок (оцифровки)"}
|
||||
- {id: 326, cat: Audio, desc: " |- ♫ Rock (оцифровки)"}
|
||||
- {id: 325, cat: Audio, desc: " |- ♫ Электронная музыка (оцифрофки)"}
|
||||
- {id: 133, cat: Audio, desc: "♫ Музыка в формате ♫ (lossless)"}
|
||||
@@ -147,8 +145,7 @@ caps:
|
||||
- {id: 295, cat: Audio, desc: " |- Рок музыка (Video)"}
|
||||
- {id: 294, cat: Audio, desc: " |- Музыкальные шоу"}
|
||||
- {id: 158, cat: Audio, desc: " |- Другие направления"}
|
||||
# Литература
|
||||
# Literature
|
||||
# Литература # Literature
|
||||
- {id: 166, cat: Books, desc: "Книги FB2"}
|
||||
- {id: 173, cat: Books, desc: " |- Художественная литература"}
|
||||
- {id: 314, cat: Books, desc: " |- Учебно-техническая литература"}
|
||||
@@ -160,8 +157,7 @@ caps:
|
||||
- {id: 175, cat: Audio/Audiobook, desc: " |- Любовно-фантастический роман (Audiobook)"}
|
||||
- {id: 174, cat: Audio, desc: " |- Аудиокниги на других языках (Audio)"}
|
||||
- {id: 319, cat: Books, desc: " |- Аудиокниги для детей"}
|
||||
# Игры
|
||||
# Games
|
||||
# Игры # Games
|
||||
- {id: 105, cat: PC/Games, desc: "Игры для ПК"}
|
||||
- {id: 120, cat: PC/Games, desc: " |- Горячие новинки (License`s)"}
|
||||
- {id: 119, cat: PC/Games, desc: " |- Горячие новинки (Repack`s)"}
|
||||
@@ -184,8 +180,7 @@ caps:
|
||||
- {id: 107, cat: PC/Games, desc: " |- Игровое видео"}
|
||||
- {id: 106, cat: PC/Games, desc: " |- Патчи, моды, дополнения, DLC и т.п."}
|
||||
- {id: 248, cat: PC/Games, desc: "Игры для Android"}
|
||||
# Софт
|
||||
# Software
|
||||
# Софт # Software
|
||||
- {id: 76, cat: PC, desc: "Операционные системы"}
|
||||
- {id: 80, cat: PC, desc: " |- Windows 11"}
|
||||
- {id: 79, cat: PC, desc: " |- Windows 10"}
|
||||
@@ -236,10 +231,10 @@ caps:
|
||||
- {id: 282, cat: PC, desc: " |- Анимация"}
|
||||
- {id: 281, cat: PC, desc: " |- Программные комплекты"}
|
||||
- {id: 279, cat: PC, desc: " |- Разное (Графика и мультимедиа)"}
|
||||
- {id: 332, cat: PC, desc: "Системы навигации и карты "}
|
||||
- {id: 94, cat: PC, desc: " |- Утилиты"}
|
||||
- {id: 88, cat: PC, desc: " |- Мультимедия"}
|
||||
# Графика и Дизайн
|
||||
# Graphics and Design
|
||||
# Графика и Дизайн # Graphics and Design
|
||||
- {id: 178, cat: Other, desc: "Графические изображения"}
|
||||
- {id: 184, cat: Other, desc: " |- Обои"}
|
||||
- {id: 183, cat: Other, desc: " |- Картинки"}
|
||||
@@ -420,7 +415,7 @@ search:
|
||||
# unix
|
||||
selector: td:last-child > u
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
description:
|
||||
|
||||
@@ -7,11 +7,12 @@ type: private
|
||||
encoding: windows-1252
|
||||
requestDelay: 2.5
|
||||
links:
|
||||
- https://xthor.tk/
|
||||
- https://xthor.help/
|
||||
legacylinks:
|
||||
- https://xthor.bz/
|
||||
- https://xthor.to/
|
||||
- https://xthor.tk
|
||||
- https://xthor.tk/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -95,7 +96,7 @@ settings:
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your Passkey
|
||||
default: "Find your Passkey on <a href=\"https://xthor.tk/api_doc.php\" target =_blank>Xthor > API page</a>."
|
||||
default: "Find your Passkey on <a href=\"https://xthor.help/api_doc.php\" target =_blank>Xthor > API page</a>."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -121,7 +122,7 @@ settings:
|
||||
default: false
|
||||
|
||||
login:
|
||||
path: "https://api.xthor.tk/"
|
||||
path: "https://api.xthor.help/"
|
||||
method: get
|
||||
inputs:
|
||||
passkey: "{{ .Config.passkey }}"
|
||||
@@ -132,8 +133,8 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://api.xthor.tk/?passkey=<redacted>&search=&category=&freeleech=&tmdbid=&size=&accent=&price=&page=
|
||||
- path: "https://api.xthor.tk/"
|
||||
# https://api.xthor.help/?passkey=<redacted>&search=&category=&freeleech=&tmdbid=&size=&accent=&price=&page=
|
||||
- path: "https://api.xthor.help/"
|
||||
inputs:
|
||||
passkey: "{{ .Config.passkey }}"
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}}+{{end}}{{ else }}{{ end }}"
|
||||
|
||||
@@ -186,5 +186,5 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
text: 0.7
|
||||
# json UNIT3D 9.1.7
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.zetorrents2.com/
|
||||
- https://www.zetorrents.town/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -22,7 +22,6 @@ legacylinks:
|
||||
- https://www.rantop.org/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.zetorrents.bz/
|
||||
- https://www.zetorrents.nl/
|
||||
- https://www.zetorrents.biz/
|
||||
- https://www.zetorrents.ch/
|
||||
@@ -39,6 +38,7 @@ legacylinks:
|
||||
- https://www-zetorrents.com/
|
||||
- https://www.zetorrents1.com/
|
||||
- https://www.zetorrents.diy/
|
||||
- https://www.zetorrents2.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -7,11 +7,9 @@ description: "ZkTorrent is a FRENCH Public site for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 6daab5aed021a47614f439584fc450bde16cb528 # cloudflare
|
||||
# to fetch current domain use https://www.rantop.my/
|
||||
links:
|
||||
- https://www.zktorrent6.com/
|
||||
- https://www.zktorrent.town/
|
||||
legacylinks:
|
||||
# latest domains list
|
||||
- https://www.rantop.my/
|
||||
@@ -27,7 +25,6 @@ legacylinks:
|
||||
- https://gktorrent.news/
|
||||
- https://www.site-torrent.com/
|
||||
# actual legacylinks
|
||||
- https://www.gktorrent.gy/
|
||||
- https://www.gktorrent.si/
|
||||
- https://www.gktorrent.my/
|
||||
- https://www.gktorrent.cz/
|
||||
@@ -42,6 +39,7 @@ legacylinks:
|
||||
- https://www.zktorrent4.com/
|
||||
- https://www.zktorrent5.com/
|
||||
- https://www.zktorrent.net/
|
||||
- https://www.zktorrent6.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -185,4 +185,4 @@ search:
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.9.7 2025-09-24
|
||||
# NexusPHP v1.9.9 2025-10-02
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
configData: new ConfigurationDataCookie("For best results, change the 'Torrents per page' setting to 100 in your profile."))
|
||||
{
|
||||
configData.AddDynamic("freeleech", new BoolConfigurationItem("Search freeleech only") { Value = false });
|
||||
configData.AddDynamic("Account Inactivity", new DisplayInfoConfigurationItem("Account Inactivity", "Inactive accounts are disabled after 2 months days for User class, after 3 months for Power User, after 4 months for Elite User, after 6 months for Insane User, after 9 months for Veteran User, after 11 months for VIP, after 12 months for Dedicated BHD User & all Staff. Parking your account doubles the maximum inactive time. Only the login and browsing the site is considered activity."));
|
||||
configData.AddDynamic("Account Inactivity", new DisplayInfoConfigurationItem("Account Inactivity", "Inactive accounts are disabled after 2 months for User class, 3 months for Power User class, 4 months for Elite User, 6 months Insane User class, 9 months for Veteran User, 11 months for VIP, 12 months for Dedicated BHD User and 12 months for Staff. Parking your account doubles the maximum inactive time. Only the login and browsing the site is considered activity."));
|
||||
configData.AddDynamic("Rate Limits", new DisplayInfoConfigurationItem("Rate Limits", "BitHDTV has rate limits, the indexer will fail if you exceed them. Read the post at <a href=\"https://www.bit-hdtv.com/forums/viewtopic.php?id=18657\" target=\"_blank\">forum topic 18657</a>"));
|
||||
}
|
||||
|
||||
|
||||
@@ -28,10 +28,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "divxtotal";
|
||||
public override string Name => "DivxTotal";
|
||||
public override string Description => "DivxTotal is a SPANISH site for Movies, TV series and Software";
|
||||
public override string SiteLink { get; protected set; } = "https://www2.divxtotal.lol/";
|
||||
public override string SiteLink { get; protected set; } = "https://www3.divxtotal.lol/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www.divxtotal.dev/",
|
||||
"https://www.divxtotal.ms/",
|
||||
"https://www.divxtotal.fi/",
|
||||
"https://www.divxtotal.cat/",
|
||||
@@ -46,6 +45,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://www5.divxtotal.mov/",
|
||||
"https://divxtotal.io/",
|
||||
"https://www1.divxtotal.lol/",
|
||||
"https://www2.divxtotal.lol/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -29,10 +29,10 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Name => "DonTorrent";
|
||||
public override string Description => "DonTorrent is a SPANISH Public tracker for MOVIES / TV / GENERAL";
|
||||
// in the event the redirect is inactive https://t.me/s/dontorrent should have the latest working domain
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.istanbul/";
|
||||
public override string SiteLink { get; protected set; } = "https://dontorrent.live/";
|
||||
public override string[] AlternativeSiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.istanbul/",
|
||||
"https://dontorrent.live/",
|
||||
"https://todotorrents.org/",
|
||||
"https://tomadivx.net/",
|
||||
"https://seriesblanco.one/",
|
||||
@@ -41,10 +41,6 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
};
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://dontorrent.website/",
|
||||
"https://dontorrent.group/",
|
||||
"https://dontorrent.download/",
|
||||
"https://dontorrent.gift/",
|
||||
"https://dontorrent.report/",
|
||||
"https://dontorrent.homes/",
|
||||
"https://dontorrent.haus/",
|
||||
@@ -56,6 +52,10 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://dontorrent.international/",
|
||||
"https://dontorrent.irish/",
|
||||
"https://dontorrent.lighting/",
|
||||
"https://dontorrent.istanbul/",
|
||||
"https://dontorrent.onl/",
|
||||
"https://dontorrent.kids/",
|
||||
"https://dontorrent.kiwi/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
209
src/Jackett.Common/Indexers/Definitions/HDRTorrent.cs
Normal file
@@ -0,0 +1,209 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using AngleSharp.Dom;
|
||||
using AngleSharp.Html.Parser;
|
||||
using Jackett.Common.Extensions;
|
||||
using Jackett.Common.Indexers.Definitions.Abstract;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using Jackett.Common.Utils;
|
||||
using Jackett.Common.Utils.Clients;
|
||||
using NLog;
|
||||
using WebClient = Jackett.Common.Utils.Clients.WebClient;
|
||||
|
||||
namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
public class HDRTorrent : PublicBrazilianIndexerBase
|
||||
{
|
||||
public override string Id => "hdrtorrent";
|
||||
|
||||
public override string Name => "HDRTorrent";
|
||||
|
||||
public override string SiteLink { get; protected set; } = "https://hdrtorrent.com/";
|
||||
|
||||
public HDRTorrent(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
|
||||
: base(configService, wc, l, ps, cs)
|
||||
{
|
||||
}
|
||||
|
||||
public override IParseIndexerResponse GetParser() => new HDRTorrentParser(webclient);
|
||||
|
||||
public override IIndexerRequestGenerator GetRequestGenerator() => new SimpleRequestGenerator(SiteLink, searchQueryParamsKey: "index.php?s=");
|
||||
}
|
||||
|
||||
public class HDRTorrentParser : PublicBrazilianParser
|
||||
{
|
||||
private readonly WebClient _webclient;
|
||||
protected string Tracker;
|
||||
|
||||
public HDRTorrentParser(WebClient webclient)
|
||||
{
|
||||
_webclient = webclient;
|
||||
Tracker = "HDRTorrent";
|
||||
}
|
||||
|
||||
private Dictionary<string, string> ExtractFileInfo(IDocument detailsDom)
|
||||
{
|
||||
var fileInfo = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
var infoSection = detailsDom.QuerySelector("div.infos p");
|
||||
if (infoSection == null)
|
||||
return fileInfo;
|
||||
|
||||
var lines = infoSection.InnerHtml.Split(new[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);
|
||||
foreach (var line in lines)
|
||||
{
|
||||
if (line.Contains("<b>") && line.Contains(":"))
|
||||
{
|
||||
var parts = line.Split(new[] { ':' }, 2);
|
||||
if (parts.Length == 2)
|
||||
{
|
||||
var key = parts[0].Replace("<b>", "").Replace("</b>", "").Trim();
|
||||
var value = parts[1]
|
||||
.Replace("<b>", "")
|
||||
.Replace("</b>", "")
|
||||
.Replace("<strong>", "")
|
||||
.Replace("</strong>", "")
|
||||
.Trim();
|
||||
|
||||
if (value.Contains("<"))
|
||||
{
|
||||
var tempDoc = new HtmlParser().ParseDocument(value);
|
||||
value = tempDoc.Body.TextContent.Trim();
|
||||
}
|
||||
|
||||
value = value switch
|
||||
{
|
||||
var v when v.Contains("Dual Áudio") => v.Replace("Dual Áudio", "Dual"),
|
||||
var v when v.Contains("Dual Audio") => v.Replace("Dual Audio", "Dual"),
|
||||
var v when v.Contains("Full HD") => v.Replace("Full HD", "1080p"),
|
||||
var v when v.Contains("4K") => v.Replace("4K", "2160p"),
|
||||
var v when v.Contains("SD") => v.Replace("SD", "480p"),
|
||||
var v when v.Contains("WEB") => v.Replace("WEB", "WEB-DL"),
|
||||
_ => value
|
||||
};
|
||||
|
||||
if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
|
||||
{
|
||||
fileInfo[key] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return fileInfo;
|
||||
}
|
||||
|
||||
public override IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
var parser = new HtmlParser();
|
||||
var dom = parser.ParseDocument(indexerResponse.Content);
|
||||
var rows = dom.QuerySelectorAll("div.capa-img");
|
||||
|
||||
foreach (var row in rows)
|
||||
{
|
||||
var h2Anchor = row.QuerySelector("h2 a");
|
||||
if (h2Anchor == null)
|
||||
continue;
|
||||
|
||||
var title = h2Anchor.TextContent.Trim();
|
||||
var detailUrlStr = h2Anchor.GetAttribute("href")?.Trim();
|
||||
if (string.IsNullOrEmpty(detailUrlStr))
|
||||
continue;
|
||||
|
||||
var detailUrl = new Uri(detailUrlStr);
|
||||
|
||||
var releaseCommonInfo = new ReleaseInfo
|
||||
{
|
||||
Title = CleanTitle(title),
|
||||
Details = detailUrl,
|
||||
Guid = detailUrl,
|
||||
Seeders = 1
|
||||
};
|
||||
|
||||
var detailsPage = _webclient.GetResultAsync(new WebRequest(detailUrl.ToString())).Result;
|
||||
var detailsDom = parser.ParseDocument(detailsPage.ContentString);
|
||||
|
||||
var fileInfoDict = ExtractFileInfo(detailsDom);
|
||||
var fileInfo = PublicBrazilianIndexerBase.FileInfo.FromDictionary(fileInfoDict);
|
||||
|
||||
var publishedMeta = detailsDom.QuerySelector("meta[property='article:published_time']")?.GetAttribute("content");
|
||||
if (!string.IsNullOrEmpty(publishedMeta) && DateTime.TryParse(publishedMeta, out var parsedDate))
|
||||
{
|
||||
releaseCommonInfo.PublishDate = parsedDate;
|
||||
}
|
||||
else
|
||||
{
|
||||
releaseCommonInfo.PublishDate = DateTime.Today;
|
||||
}
|
||||
|
||||
var magnetLinks = detailsDom.QuerySelectorAll("a[href^='magnet:?']");
|
||||
foreach (var magnetLink in magnetLinks)
|
||||
{
|
||||
var magnet = magnetLink.GetAttribute("href");
|
||||
if (string.IsNullOrEmpty(magnet))
|
||||
continue;
|
||||
|
||||
var release = releaseCommonInfo.Clone() as ReleaseInfo;
|
||||
release.Guid = release.MagnetUri = new Uri(magnet);
|
||||
|
||||
var parentText = magnetLink.ParentElement?.TextContent?.Trim();
|
||||
if (!string.IsNullOrEmpty(parentText))
|
||||
{
|
||||
parentText = Regex.Replace(parentText, "DOWNLOAD TORRENT", "", RegexOptions.IgnoreCase)
|
||||
.Replace("DUAL ÁUDIO", "Dual")
|
||||
.Replace("DUAL AUDIO", "Dual")
|
||||
.Replace("ÁUDIO", "Audio")
|
||||
.Replace("AUDIO", "Audio")
|
||||
.Replace("DUBLADO", "Dubbed")
|
||||
.Replace("LEGENDADO", "Subbed")
|
||||
.Replace("MKV", "")
|
||||
.Replace("MP4", "")
|
||||
.Replace("MAGNET", "")
|
||||
.Replace("TORRENT", "")
|
||||
.Replace("LINK", "")
|
||||
.Trim();
|
||||
|
||||
if (!string.IsNullOrEmpty(parentText))
|
||||
{
|
||||
release.Title = $"{release.Title} {parentText}".Trim();
|
||||
}
|
||||
}
|
||||
|
||||
var resolution = fileInfo.Quality ?? fileInfo.VideoQuality ?? string.Empty;
|
||||
if (!string.IsNullOrEmpty(resolution))
|
||||
release.Title = $"{release.Title} {resolution}".Trim();
|
||||
|
||||
release.Category = magnetLink.ExtractCategory(release.Title);
|
||||
var size = RowParsingExtensions.GetBytes(fileInfo.Size ?? string.Empty);
|
||||
release.Size = size > 0 ? size : ExtractSizeByResolution(release.Title);
|
||||
|
||||
release.DownloadVolumeFactor = 0;
|
||||
release.UploadVolumeFactor = 1;
|
||||
|
||||
release.Languages = fileInfo.Audio?.ToList() ?? release.Languages;
|
||||
release.Genres = fileInfo.Genres?.ToList() ?? release.Genres;
|
||||
release.Subs = string.IsNullOrEmpty(fileInfo.Subtitle) ? release.Subs : new[] { fileInfo.Subtitle };
|
||||
|
||||
if (release.Title.IsNotNullOrWhiteSpace())
|
||||
releases.Add(release);
|
||||
}
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
|
||||
protected override INode GetTitleElementOrNull(IElement downloadButton)
|
||||
{
|
||||
var description = downloadButton.PreviousSibling;
|
||||
while (description != null && description.NodeType != NodeType.Text)
|
||||
{
|
||||
description = description.PreviousSibling;
|
||||
}
|
||||
|
||||
return description;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -696,8 +696,8 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
var meta = document.QuerySelector("meta");
|
||||
var metaContent = meta.GetAttribute("content");
|
||||
|
||||
// Follow redirection defined by async url.replace
|
||||
var redirectionUrl = metaContent.Substring(metaContent.IndexOf("http"));
|
||||
// Follow redirection defined by async url.replace and prepend sitelink
|
||||
var redirectionUrl = SiteLink + metaContent.Substring(metaContent.IndexOf("url=") + 5);
|
||||
return await FollowTrackerRedirection(redirectionUrl, details);
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -27,10 +27,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
public override string Id => "mejortorrent";
|
||||
public override string Name => "MejorTorrent";
|
||||
public override string Description => "MejorTorrent is a Public site - Hay veces que un torrent viene mejor! :)";
|
||||
public override string SiteLink { get; protected set; } = "https://www37.mejortorrent.eu/";
|
||||
public override string SiteLink { get; protected set; } = "https://www38.mejortorrent.eu/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://www20.mejortorrent.zip/",
|
||||
"https://www21.mejortorrent.zip/",
|
||||
"https://www22.mejortorrent.zip/",
|
||||
"https://www23.mejortorrent.zip/",
|
||||
@@ -46,6 +45,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
"https://www34.mejortorrent.eu/",
|
||||
"https://www35.mejortorrent.eu/",
|
||||
"https://www36.mejortorrent.eu/",
|
||||
"https://www37.mejortorrent.eu/",
|
||||
};
|
||||
public override string Language => "es-ES";
|
||||
public override string Type => "public";
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Common.Indexers.Definitions.Abstract;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Services.Interfaces;
|
||||
using NLog;
|
||||
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;
|
||||
using WebClient = Jackett.Common.Utils.Clients.WebClient;
|
||||
|
||||
namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
[ExcludeFromCodeCoverage]
|
||||
public class PhoenixProject : GazelleTracker
|
||||
{
|
||||
public override string Id => "phoenixproject";
|
||||
public override string Name => "Phoenix Project";
|
||||
public override string Description => "Phoenix Project is a Private MacOS software tracker";
|
||||
public override string SiteLink { get; protected set; } = "https://phoenixproject.app/";
|
||||
public override string Language => "en-US";
|
||||
public override string Type => "private";
|
||||
|
||||
public override TorznabCapabilities TorznabCaps => SetCapabilities();
|
||||
|
||||
protected override string AuthorizationFormat => "token {0}";
|
||||
protected override int ApiKeyLength => 118;
|
||||
|
||||
public PhoenixProject(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
|
||||
: base(configService: configService,
|
||||
client: wc,
|
||||
logger: l,
|
||||
p: ps,
|
||||
cs: cs,
|
||||
supportsFreeleechTokens: true,
|
||||
useApiKey: true,
|
||||
instructionMessageOptional: "<ol><li>Go to PhoenixProject's site and open your account settings.</li><li>Go to <b>Access Settings</b> tab use the <b>API Keys: click here to create a new token</b> link.</li><li>Give it a name and click <b>Generate</b>.</li><li>Finally, copy/paste the token to your Jackett config APIKey input box.</li></ol>"
|
||||
)
|
||||
{
|
||||
configData.AddDynamic("Account Inactivity", new DisplayInfoConfigurationItem("Account Inactivity", "To keep your account active, sign in and browse the site at least once every 120 days. Seeding torrents does not count as account activity, so in order to remain active you need to sign in and browse the site. Power Users (and above) are immune to the inactivity timer, but logging in regularly is recommended to learn about special events and new features. Donors are exempt from automatic account disabling due to inactivity. If you wish to always maintain an active account consider donating."));
|
||||
}
|
||||
|
||||
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
{
|
||||
var caps = new TorznabCapabilities
|
||||
{
|
||||
MusicSearchParams = new List<MusicSearchParam>
|
||||
{
|
||||
MusicSearchParam.Q
|
||||
}
|
||||
};
|
||||
|
||||
caps.Categories.AddCategoryMapping(1, TorznabCatType.PCMac, "Applications");
|
||||
caps.Categories.AddCategoryMapping(2, TorznabCatType.PCGames, "Games");
|
||||
caps.Categories.AddCategoryMapping(3, TorznabCatType.PCMobileiOS, "IOS Applications");
|
||||
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCMobileiOS, "IOS Games");
|
||||
caps.Categories.AddCategoryMapping(5, TorznabCatType.Other, "Graphics");
|
||||
caps.Categories.AddCategoryMapping(6, TorznabCatType.Audio, "Audio");
|
||||
caps.Categories.AddCategoryMapping(7, TorznabCatType.Other, "Tutorials");
|
||||
caps.Categories.AddCategoryMapping(8, TorznabCatType.Other, "Other");
|
||||
|
||||
return caps;
|
||||
}
|
||||
|
||||
protected override Uri GetDownloadUrl(int torrentId, bool canUseToken)
|
||||
{
|
||||
return new Uri($"{SiteLink}ajax.php?action=download{(useTokens && canUseToken ? "&usetoken=1" : "")}&id={torrentId}");
|
||||
}
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
var releases = await base.PerformQuery(query);
|
||||
foreach (var release in releases)
|
||||
{
|
||||
release.MinimumRatio = 0.6;
|
||||
release.MinimumSeedTime = 259200;
|
||||
}
|
||||
return releases;
|
||||
}
|
||||
}
|
||||
}
|
||||