Compare commits

...

129 Commits

Author SHA1 Message Date
jackettbot[bot]
c66e4be3b7 Update rudub 2025-10-26 01:29:20 +00:00
sirelgit
82931b31cf Add HDRTorrent a public Brazillian site (resolves #16100) (#16257) 2025-10-26 08:22:03 +13:00
Garfield69
1bc41f396e abtorrents: update cats 2025-10-26 07:06:13 +13:00
Garfield69
6b4ff3a368 siambit: new selectors
also the site appears to be pay2dl as all torrents not have a VIP only tag
added posters
2025-10-26 06:26:15 +13:00
jackettbot[bot]
c93a27e24f Update rudub 2025-10-25 01:28:51 +00:00
Garfield69
340b9adb84 rastastugan: new cat 2025-10-25 06:14:22 +13:00
Garfield69
2241d64d9d ourbits: bump engine tag 2025-10-25 06:14:08 +13:00
Garfield69
f8f18b8aae 3changtrai: bump engine tag 2025-10-25 06:13:55 +13:00
Garfield69
ea217e89ac dontorrent: new tld 2025-10-24 18:35:39 +13:00
jackettbot[bot]
9ce111a870 Update rudub 2025-10-24 01:28:56 +00:00
Garfield69
b1291227fb theshow: CA expired 2025-10-24 06:40:29 +13:00
Garfield69
bae9edfa87 thegeeks: CA expired 2025-10-24 06:40:15 +13:00
Garfield69
f74cd603f6 noname-club: new cats 2025-10-24 06:39:57 +13:00
Garfield69
4138905543 torrentqq: bump domains 2025-10-24 05:59:44 +13:00
Garfield69
2751cd4307 riperam: grabs can be a missing 2025-10-24 05:59:22 +13:00
Garfield69
64604fc450 divxtotal: bump domain 2025-10-23 18:36:09 +13:00
jackettbot[bot]
4a1207794f Update rudub 2025-10-23 01:29:06 +00:00
Garfield69
7273f99a41 sextorrent: removed. resolves #16182 2025-10-23 13:16:20 +13:00
Garfield69
91905668a3 torrentcontrol: add anime support resolves #16238 2025-10-23 10:25:24 +13:00
Garfield69
1f69346516 torrenttip: bump domain 2025-10-23 05:29:33 +13:00
Garfield69
af01a9ef3f torrentsome: bump domain 2025-10-23 05:29:17 +13:00
jackettbot[bot]
21946b0b2f Update rudub 2025-10-22 01:29:17 +00:00
ilike2burnthing
0f565d3c24 racing4everyone-api: update MR & MST
Commented out minimumratio and added explanation.
2025-10-21 20:45:19 +01:00
Garfield69
17dcb8714d uztracker: update cats 2025-10-22 06:12:55 +13:00
Garfield69
115610571e noname-club: update cats 2025-10-22 06:12:32 +13:00
Garfield69
854192b489 kickasstorrents-to: new cat 2025-10-22 06:11:55 +13:00
Garfield69
c4d85af057 zktorrent: new domain 2025-10-21 18:34:00 +13:00
Garfield69
efc3183e12 nortorrent: new domain 2025-10-21 18:33:43 +13:00
jackettbot[bot]
0f47bfb95c Update rudub 2025-10-21 01:29:08 +00:00
ilike2burnthing
14e62f1b33 reelflix: remove old domain, update search modes 2025-10-20 22:55:05 +01:00
ilike2burnthing
bb0bee92f9 reelflix: add new domain 2025-10-20 22:30:16 +01:00
Garfield69
43d2f52950 concertos: -> 9.1.7 resolves #4975
switch from HTML uid/pswd scraping to JSON API with apikey
2025-10-21 06:21:18 +13:00
Garfield69
b0bf635db9 oxtorrent-vip: new domain 2025-10-21 05:22:26 +13:00
Garfield69
cdc2599209 magnetcat: bump alternate domain 2025-10-21 05:22:02 +13:00
jackettbot[bot]
c9cfbb6223 Update rudub 2025-10-20 01:29:26 +00:00
ilike2burnthing
ccba23696d krazyzone: update cats 2025-10-20 00:47:13 +01:00
Garfield69
8576ff1c3a torrentkitty: tv tld available again 2025-10-20 06:20:29 +13:00
Garfield69
752bdc5f31 torrent9: back to older domain 2025-10-20 06:20:04 +13:00
Garfield69
101df128b1 cangbaoge: prevent DL not found on some titles 2025-10-20 06:19:46 +13:00
Garfield69
22bc6f8b80 zktorrent: drop CA trust 2025-10-19 15:13:46 +13:00
Garfield69
29ff3d3c96 rudub workflow part 2 of 2 previous domain mom -> homes 2025-10-19 15:13:19 +13:00
jackettbot[bot]
8eb2080102 Update rudub 2025-10-19 01:29:26 +00:00
ilike2burnthing
2a4a5f86c5 task: update screenshots. resolves #16251 (#16252) 2025-10-19 00:05:38 +01:00
Garfield69
fd88de5785 rudub workflow part 1 of 2 current domain mom -> homes 2025-10-19 10:33:54 +13:00
Garfield69
17b9fb114a mejortorrent: bump domain 2025-10-19 05:23:01 +13:00
Garfield69
97cd23e30f isohunt2: new domain resolves #2023 2025-10-18 18:54:17 +13:00
Garfield69
0e301b485a Update shakaw.yml 2025-10-18 14:32:11 +13:00
jackettbot[bot]
b25a7b4dc3 Update rudub 2025-10-18 01:28:41 +00:00
Garfield69
40bdb750bd Update README.md 2025-10-18 14:07:34 +13:00
ilike2burnthing
644dca79b7 shakaw: add Brazilian private tracker. resolves #16248 (#16249)
https://github.com/Prowlarr/Indexers/pull/654
2025-10-18 01:59:38 +01:00
dependabot[bot]
3bda20c448 build(deps): bump actions/setup-node from 5 to 6 (#16246)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-18 01:47:36 +01:00
Garfield69
a60fe8c56d torrentcontrol: ignore anime for now. #16238
update docs info
per_page now has a max of 20, default of 20 so dropping per_page 100
2025-10-18 13:02:55 +13:00
Garfield69
8456803fec megamixtracker: CA expired 2025-10-18 06:14:18 +13:00
Garfield69
26eedad010 torrentcontrol: new cat #16238 2025-10-18 05:39:27 +13:00
Garfield69
819ec9090a kickasstorrents-to: new cat 2025-10-18 05:38:51 +13:00
Garfield69
f6973274a8 dontorrent: new domain 2025-10-17 18:33:22 +13:00
jackettbot[bot]
a1d4a63e2f Update rudub 2025-10-17 01:29:02 +00:00
Garfield69
1ef2211919 sportscult: new cat 2025-10-17 05:28:29 +13:00
Garfield69
986b881f78 torrentqq: bump domains 2025-10-17 05:10:14 +13:00
jackettbot[bot]
9f50042c0a Update rudub 2025-10-16 01:29:16 +00:00
Garfield69
ecbdac690b turktorrent: pay2dl and drop posters. #4268 2025-10-16 12:36:09 +13:00
ilike2burnthing
94ba5a724b turktorrent: remove test strdump
whoops
2025-10-15 23:19:52 +01:00
ilike2burnthing
9b45427687 turktorrent: update search input value & row selector #4268 2025-10-15 23:17:43 +01:00
Garfield69
7d5c48d873 turktorrent: new login test 2025-10-16 06:02:03 +13:00
Garfield69
e8e74e3e28 arenabg: CA expired 2025-10-16 05:34:16 +13:00
Garfield69
3550c6bf21 xthor: new domain. resolves #16243 2025-10-16 05:13:21 +13:00
Garfield69
42b159a801 torrenttip: bump domain 2025-10-16 05:12:44 +13:00
Garfield69
372ff66510 torrentsome: bump domain 2025-10-16 05:12:33 +13:00
Garfield69
0bc25d77c9 magnetcat: bump alternate domains 2025-10-16 05:12:16 +13:00
Garfield69
6aa8df9135 kickasstorrents-to: new cat 2025-10-16 05:11:49 +13:00
Garfield69
c396def330 Update README.md 2025-10-15 22:17:20 +13:00
Garfield69
e2b575cadb magnetcat: drop one of the alternate domains
its been suspended
2025-10-15 18:42:35 +13:00
jackettbot[bot]
1c67900f92 Update rudub 2025-10-15 01:29:05 +00:00
Garfield69
d80c40b74f sportscult: new cats 2025-10-15 05:37:47 +13:00
Garfield69
698549ea6b kickasstorrents-to: new cat 2025-10-15 05:37:29 +13:00
Garfield69
b06e92d10a RFE: -> 9.1.7 resolves #9236 2025-10-14 16:12:33 +13:00
jackettbot[bot]
a631866391 Update rudub 2025-10-14 01:28:58 +00:00
ilike2burnthing
a46017f841 sbpt: remove MR 2025-10-13 23:50:29 +01:00
ilike2burnthing
cd040177b4 sbpt: add MST
Add minimum seed time configuration to sbpt.yml
2025-10-13 18:18:24 +01:00
Garfield69
9f9a2a0ea4 phoenixproject: removed. resolves #15911 2025-10-14 05:59:35 +13:00
Garfield69
c49eda66c6 uztracker: fix DLVF resolves #16241 2025-10-14 05:39:57 +13:00
Garfield69
bd966412c0 oxtorrent-vip: new alternate domain 2025-10-14 05:39:11 +13:00
Garfield69
279090e18c magnetcat: bump alternate domains 2025-10-14 05:38:54 +13:00
Garfield69
dc4d36af5f kickasstorrents-to: new cat 2025-10-14 05:38:37 +13:00
Garfield69
7229dd2416 bitsearch: new cat. resolves #16240 2025-10-14 05:38:20 +13:00
ilike2burnthing
a6fa82ccb9 torrentcontrol: typo fix 2025-10-13 15:56:09 +01:00
Garfield69
a2d7173f60 torrentcontrol: attempt to improve title extraction 2025-10-13 17:24:08 +13:00
Garfield69
e47de32ef8 torrentcontrol: cleanup 2025-10-13 16:30:35 +13:00
Garfield69
fa353c1c69 add torrentcontrol a public site. resolves #16238 2025-10-13 16:27:24 +13:00
jackettbot[bot]
fa40323df0 Update rudub 2025-10-13 01:29:04 +00:00
Garfield69
3d20e6facf assorted nexus: bump engine tag 2025-10-13 08:50:44 +13:00
Garfield69
5ff8e4f648 bithorlo: removed. resolves #15557 2025-10-13 06:19:52 +13:00
Garfield69
185033dc0d kickasstorrents-to: lint 6bd91574c1 2025-10-13 06:07:42 +13:00
Garfield69
6bd91574c1 kickasstorrents-to: new cat 2025-10-13 05:58:44 +13:00
Garfield69
76e62c96e2 extratorrent-st: new cat 2025-10-13 05:57:51 +13:00
Bogdan
12dd4e716e hhanclub: update error selector
Fixes #16237
2025-10-12 16:13:25 +03:00
jackettbot[bot]
3a9ae8a7a3 Update rudub 2025-10-12 01:28:59 +00:00
Garfield69
4509e6931d 3dtorrents: add info about case sensitive captcha 2025-10-12 09:23:31 +13:00
Garfield69
5a65ee60d5 add alingpt a Chinese private site. resolves #16234 2025-10-11 20:11:55 +13:00
Garfield69
87ceebf025 add sbpt a Chinese private site. resolves #16233 2025-10-11 19:53:56 +13:00
Garfield69
179f062c60 oxtorrent-vip: new alternate domain 2025-10-11 18:32:02 +13:00
Garfield69
834f2bf0d8 add lajidui a Chinese private site. resolves #16232 2025-10-11 17:05:26 +13:00
Garfield69
906b28a4d7 add cangbaoge a Chinese private site. resolves #16231 2025-10-11 16:39:51 +13:00
jackettbot[bot]
aa6d0deeb5 Update rudub 2025-10-11 01:28:31 +00:00
dependabot[bot]
446f7e6ccc build(deps): bump github/codeql-action from 3 to 4 (#16230)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-11 00:10:06 +01:00
Garfield69
d072380a3c devil-torrents: switch path for keywordless search. resolves #13950 2025-10-11 07:25:24 +13:00
Garfield69
b7010440bb hdforever: update cats and selector 2025-10-11 06:23:56 +13:00
Garfield69
9d97786431 torrent9: new domain 2025-10-11 05:36:31 +13:00
Garfield69
5ca49f8ffe nusantarare: search mode 4 for imdbid now working. resolves #15669 2025-10-11 05:36:12 +13:00
Garfield69
03815c49c5 extratorrent-st: new cat 2025-10-11 05:34:46 +13:00
Garfield69
1486435554 dontorrent: new domain 2025-10-10 18:39:13 +13:00
jackettbot[bot]
8539aabc06 Update rudub 2025-10-10 01:28:53 +00:00
Garfield69
a7c49ad515 matrix: new cat 2025-10-10 05:44:52 +13:00
Garfield69
b0d195a585 torrentqq: bump domains 2025-10-10 05:05:55 +13:00
Garfield69
288243664a tangmen: lint ff2effbce2 2025-10-09 19:45:26 +13:00
Garfield69
ff2effbce2 add tangmen a Chinese sprivate site. resolves #15957 2025-10-09 19:37:47 +13:00
jackettbot[bot]
6a95ff71fd Update rudub 2025-10-09 01:28:56 +00:00
Garfield69
2793ab1a7a fappazuri: update cats 2025-10-09 05:36:54 +13:00
Garfield69
3b69d8813c ebooks-shares: new cats 2025-10-09 05:36:39 +13:00
Garfield69
987271e848 uztracker: update cats 2025-10-09 05:18:59 +13:00
Garfield69
9aa5140598 torrenttip: bump domain 2025-10-09 05:04:28 +13:00
Garfield69
28364bf9cc torrentsome: bump domain 2025-10-09 05:04:10 +13:00
Garfield69
d59e2b6ba6 Update CONTRIBUTING.md 2025-10-09 04:58:20 +13:00
Bogdan
dfa92394d8 imdbresolver: ensure using only base url for OMDB API 2025-10-08 14:23:18 +03:00
Garfield69
c7e1f12e46 Update README.md 2025-10-08 18:35:00 +13:00
jackettbot[bot]
1665536696 Update rudub 2025-10-08 01:28:55 +00:00
ilike2burnthing
6c33e9e1e9 carpt: update MR 2025-10-07 21:25:00 +01:00
ilike2burnthing
44d9d41f87 Update README.md 2025-10-07 20:41:38 +01:00
Garfield69
ff5eb0b691 carpt: update retention info 2025-10-08 06:42:37 +13:00
79 changed files with 1901 additions and 872 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View File

@@ -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

View File

@@ -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

View File

@@ -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'

View File

@@ -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

View File

@@ -70,6 +70,7 @@ Prior versions of Jackett are no longer supported.
* Frozen Layer
* GamesTorrents
* GTorrent.pro
* HDRTorrent
* Idope
* ilCorSaRoNeRo
* Internet Archive (archive.org)
@@ -124,6 +125,7 @@ Prior versions of Jackett are no longer supported.
* torrent.by
* torrent-pirat
* Torrent9
* TorrentControl
* TorrentDosFilmes
* TorrentDownload
* TorrentGalaxyClone
@@ -239,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)
@@ -269,7 +272,6 @@ Prior versions of Jackett are no longer supported.
* BIT-HDTV
* Bitded
* bitGAMER
* Bithorlo (BHO)
* BitHUmen
* Bitpalace
* BitPorn
@@ -290,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
@@ -413,6 +416,7 @@ Prior versions of Jackett are no longer supported.
* KrazyZone
* Kufei (库非)
* Kufirc
* lajidui
* Last Digital Underground (LDU)
* LastFiles (LF)
* Lat-Team
@@ -470,7 +474,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]](#)
@@ -513,6 +516,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
@@ -520,11 +524,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]](#)
@@ -537,6 +541,7 @@ Prior versions of Jackett are no longer supported.
* SugoiMusic
* Superbits (SBS)
* Swarmazon
* Tangmen (唐门)
* Tapochek
* Tasmanit
* Team CT Game (TCTG)
@@ -586,7 +591,7 @@ Prior versions of Jackett are no longer supported.
* Trellas (Magico) [![(invite needed)][inviteneeded]](#)
* TreZzoR
* TurkSeed (Aturk)
* TurkTorrent (TT)
* TurkTorrent (TT) [PAY2DL]
* TV Chaos UK (TVCUK)
* TVstore
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
@@ -795,7 +800,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`.
@@ -871,7 +876,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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -15,13 +15,13 @@ legacylinks:
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"}
@@ -32,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"}
@@ -134,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="]

View 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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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/"])

View File

@@ -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

View File

@@ -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"}

View File

@@ -37,6 +37,7 @@ caps:
- {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}
@@ -57,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}

View File

@@ -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]

View File

@@ -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

View File

@@ -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

View File

@@ -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"]

View File

@@ -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:

View File

@@ -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"}

View File

@@ -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]

View File

@@ -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

View 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

View File

@@ -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

View File

@@ -9,21 +9,12 @@ encoding: UTF-8
links:
- https://magnetcatcat.com/
- https://clmclm.com/
- https://www.8800498.xyz/
- https://www.8800497.xyz/
- https://www.8800499.xyz/
- https://www.8800500.xyz/
- https://www.8800508.xyz/
- https://www.8800509.xyz/
- https://www.8800510.xyz/
- https://www.8800511.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
@@ -33,6 +24,15 @@ legacylinks:
- https://www.8800493.xyz/
- https://www.8800494.xyz/
- https://www.8800490.xyz/
- https://www.8800498.xyz/
- https://www.8800497.xyz/
- https://www.8800499.xyz/
- https://www.8800500.xyz/
- https://www.8800503.xyz/
- https://www.8800504.xyz/
- https://www.8800505.xyz/
- https://www.8800506.xyz/
- https://www.8800507.xyz/
caps:
categorymappings:

View File

@@ -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

View File

@@ -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/

View File

@@ -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: " |- Футбол"}
@@ -430,8 +430,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,14 +444,18 @@ 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: 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"}
@@ -512,6 +518,7 @@ 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)"}

View File

@@ -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: " |- Футбол"}
@@ -428,8 +428,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,14 +442,18 @@ 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: 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"}
@@ -510,6 +516,7 @@ 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)"}

View File

@@ -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:

View File

@@ -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 }}"

View File

@@ -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

View File

@@ -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

View File

@@ -10,9 +10,9 @@ type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.my/
links:
- https://www.oxtorrent10.com/
- 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,11 +28,8 @@ legacylinks:
- https://oxtorrent.blog/
- https://www.site-torrent.com/
# actual legacylinks
- 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 +46,9 @@ legacylinks:
- 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:

View File

@@ -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)

View File

@@ -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:

View File

@@ -9,9 +9,10 @@ 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
@@ -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 }}"

View File

@@ -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

View File

@@ -9,38 +9,38 @@ type: semi-private
encoding: windows-1251
followredirect: true
links:
- https://oct07.rudub.mom/
- https://oct26.rudub.homes/
legacylinks:
- 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://oct04.rudub.mom/
- http://oct05.rudub.mom/
- https://oct05.rudub.mom/
- http://oct06.rudub.mom/
- https://oct06.rudub.mom/
- http://oct07.rudub.mom/
- https://oct11.rudub.mom/
- http://oct12.rudub.mom/
- https://oct12.rudub.mom/
- http://oct13.rudub.mom/
- https://oct13.rudub.mom/
- http://oct14.rudub.mom/
- https://oct14.rudub.mom/
- http://oct15.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/
caps:
categorymappings:
- {id: 1, cat: TV, desc: "TV"}

View 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

View File

@@ -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

View 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

View File

@@ -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

View File

@@ -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"}

View 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

View File

@@ -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/

View File

@@ -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:

View File

@@ -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

View 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

View File

@@ -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:

View File

@@ -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:

View File

@@ -9,11 +9,8 @@ followredirect: true
requestDelay: 2
# to fetch current domain use https://tzip.top/
links:
- https://torrentsome215.com/
- https://torrentsome218.com/
legacylinks:
- https://torrentsome200.com/
- https://torrentsome201.com/
- https://torrentsome202.com/
- https://torrentsome203.com/
- https://torrentsome204.com/
- https://torrentsome205.com/
@@ -26,6 +23,9 @@ legacylinks:
- https://torrentsome212.com/
- https://torrentsome213.com/
- https://torrentsome214.com/
- https://torrentsome215.com/
- https://torrentsome216.com/
- https://torrentsome217.com/
caps:
categorymappings:

View File

@@ -9,11 +9,8 @@ followredirect: true
requestDelay: 2
# to fetch current domain use https://tzip.top/
links:
- https://torrenttip196.top/
- https://torrenttip199.top/
legacylinks:
- https://torrenttip181.top/
- https://torrenttip182.top/
- https://torrenttip183.top/
- https://torrenttip184.top/
- https://torrenttip185.top/
- https://torrenttip186.top/
@@ -26,6 +23,9 @@ legacylinks:
- https://torrenttip193.top/
- https://torrenttip194.top/
- https://torrenttip195.top/
- https://torrenttip196.top/
- https://torrenttip197.top/
- https://torrenttip198.top/
caps:
categorymappings:

View File

@@ -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

View File

@@ -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

View File

@@ -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,8 +35,7 @@ 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: 313, cat: TV, desc: " |- Секретные материалы \ The X-Files"}
- {id: 103, cat: TV, desc: " |- Зарубежные сериалы"}
@@ -46,8 +44,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 +64,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 +125,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 +144,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 +156,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 +179,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 +230,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 +414,7 @@ search:
# unix
selector: td:last-child > u
downloadvolumefactor:
text: 1
text: 0
uploadvolumefactor:
text: 1
description:

View File

@@ -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 }}"

View File

@@ -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:

View File

@@ -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

View File

@@ -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";

View File

@@ -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.onl/";
public override string SiteLink { get; protected set; } = "https://dontorrent.live/";
public override string[] AlternativeSiteLinks => new[]
{
"https://dontorrent.onl/",
"https://dontorrent.live/",
"https://todotorrents.org/",
"https://tomadivx.net/",
"https://seriesblanco.one/",
@@ -41,9 +41,6 @@ namespace Jackett.Common.Indexers.Definitions
};
public override string[] LegacySiteLinks => new[]
{
"https://dontorrent.group/",
"https://dontorrent.download/",
"https://dontorrent.gift/",
"https://dontorrent.report/",
"https://dontorrent.homes/",
"https://dontorrent.haus/",
@@ -56,6 +53,9 @@ namespace Jackett.Common.Indexers.Definitions
"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";

View 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;
}
}
}

View File

@@ -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";

View File

@@ -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;
}
}
}

View File

@@ -7,7 +7,6 @@ using Newtonsoft.Json;
namespace Jackett.Common.Services
{
public struct Movie
{
public string Title;
@@ -16,11 +15,15 @@ namespace Jackett.Common.Services
public class OmdbResolver : IImdbResolver
{
public OmdbResolver(WebClient webClient, string omdbApiKey, string omdbApiUrl)
private readonly WebClient _webClient;
private readonly string _apiKey;
private readonly string _apiUrl;
public OmdbResolver(WebClient webClient, string omdbApiKey, string omdbApiApiUrl)
{
WebClient = webClient;
apiKey = omdbApiKey ?? throw new ArgumentNullException($"{nameof(omdbApiKey)} cannot be null");
url = omdbApiUrl;
_webClient = webClient;
_apiKey = omdbApiKey ?? throw new ArgumentNullException($"{nameof(omdbApiKey)} cannot be null");
_apiUrl = omdbApiApiUrl;
}
public async Task<Movie> MovieForId(string id)
@@ -28,23 +31,23 @@ namespace Jackett.Common.Services
var imdbId = id ?? throw new ArgumentNullException($"{nameof(id)} cannot be null");
if (!imdbId.StartsWith("tt", StringComparison.Ordinal))
imdbId = "tt" + imdbId;
{
imdbId = $"tt{imdbId}";
}
if (string.IsNullOrWhiteSpace(url))
url = "http://omdbapi.com";
if (string.IsNullOrWhiteSpace(_apiUrl) || !Uri.TryCreate(_apiUrl, UriKind.Absolute, out var baseUri))
{
baseUri = new Uri("https://omdbapi.com");
}
var request = new WebRequest(url + "/?apikey=" + apiKey + "&i=" + imdbId)
var request = new WebRequest(new Uri(baseUri, $"/?apikey={_apiKey}&i={imdbId}").AbsoluteUri)
{
Encoding = Encoding.UTF8
};
var result = await WebClient.GetResultAsync(request);
var result = await _webClient.GetResultAsync(request);
var movie = JsonConvert.DeserializeObject<Movie>(result.ContentString);
return movie;
}
private readonly WebClient WebClient;
private readonly string apiKey;
private string url;
}
}

View File

@@ -309,6 +309,7 @@ namespace Jackett.Updater
"Definitions/bit-titan.yml",
"Definitions/bitbr.yml",
"Definitions/bitcityreloaded.yml",
"Definitions/bithorlo.yml",
"Definitions/bithq.yml",
"Definitions/bitme.yml",
"Definitions/bitnova.yml",
@@ -683,6 +684,7 @@ namespace Jackett.Updater
"Definitions/secretcinema.yml", // migrated to C# gazelle base tracker
"Definitions/seedoff.yml",
"Definitions/seedpeer.yml",
"Definitions/sextorrent.yml",
"Definitions/sexxi.yml",
"Definitions/shadowflow.yml",
"Definitions/sharefiles.yml",