Compare commits

..

142 Commits

Author SHA1 Message Date
jackettbot[bot]
ae601a48f1 Update rudub 2025-11-03 01:29:25 +00:00
jackettbot[bot]
1e90e0ba5b Update rudub 2025-11-02 01:29:31 +00:00
Bogdan
72a52629ab newheaven: attempt to use the full release title 2025-11-01 19:10:19 +02:00
Garfield69
88a9ae48ca huntorrent: search all 4 browsers. resolves #10771 2025-11-01 15:48:13 +13:00
Garfield69
5e71e30bc3 add sextorrent a private site. resolves #16182 2025-11-01 14:32:43 +13:00
jackettbot[bot]
3060759f6c Update rudub 2025-11-01 01:29:23 +00:00
Garfield69
38ffba9405 uhdtorrent: removed. resolves #16262 2025-11-01 06:12:46 +13:00
Garfield69
98fd98de28 cangbaoge: leech,grabs can be missing 2025-11-01 06:01:33 +13:00
Garfield69
0f5f76ac6a huntorrent: new selectors, again 2025-11-01 06:01:06 +13:00
drewdrew21b
7a8ffe297c phoenixproject: restore private tracker with scraping (#16266)
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2025-10-31 07:49:43 +00:00
Garfield69
7c4a08c7cc dontorrent: new tld 2025-10-31 18:38:41 +13:00
jackettbot[bot]
547dcc3bde Update rudub 2025-10-31 01:29:09 +00:00
Garfield69
4ca10e45e5 pterclub: switch domains com -> net. resolves #7950 2025-10-31 13:37:57 +13:00
ilike2burnthing
13458a16eb core: add IPv6 ULAs to known networks
follow up to 23eb6ff754
2025-10-30 18:01:37 +00:00
Garfield69
f779b3ac80 uhdtorrent: fix cats 2025-10-31 06:23:02 +13:00
Garfield69
d85a2f84f3 r4e: new cat 2025-10-31 06:22:42 +13:00
Garfield69
8acdcfb935 huntorrent: update cats 2025-10-31 06:22:19 +13:00
Garfield69
aecfe64819 torrentqq: bump domains 2025-10-31 05:31:52 +13:00
jackettbot[bot]
47113d3037 Update rudub 2025-10-30 01:29:31 +00:00
Bogdan
23eb6ff754 core: use known networks in RFC 1918 ranges
Co-authored-by: markus101 <mark@mcdowall.ca>
2025-10-30 01:15:55 +02:00
Garfield69
1d031c5ab1 huntorrent: new selectors 2025-10-30 07:02:06 +13:00
Garfield69
e497312bc0 cdfile: login now uses api/challenge so switching to cookie method
and unlike other nexus that use the api, I also need UA for it to work %-/
2025-10-30 07:01:47 +13:00
Garfield69
686ff21061 torrenttip: bump domain 2025-10-30 05:29:53 +13:00
Garfield69
f330c9c0d7 torrentsome: bump domain 2025-10-30 05:29:42 +13:00
jackettbot[bot]
2e4c88a577 Update rudub 2025-10-29 01:29:29 +00:00
Garfield69
1fd58faac1 noname-club: update cats 2025-10-29 06:54:20 +13:00
Garfield69
99255b7ce9 matrix: new selectors 2025-10-29 06:07:57 +13:00
Garfield69
829368c080 ebooks-shares: new cat 2025-10-29 06:07:29 +13:00
Garfield69
84146a9c2a Update magnetcat.yml 2025-10-29 05:52:35 +13:00
Garfield69
479d5147dc magnetcat: bump alternate domains 2025-10-29 05:46:05 +13:00
ilike2burnthing
d35c767769 uhdtorrent: remove silver.gif comment
because of course they add some right after we publish :P
2025-10-28 10:03:38 +00:00
jackettbot[bot]
89109259c5 Update rudub 2025-10-28 01:29:01 +00:00
Garfield69
7a391b598f lostfilm: fix for #16263 2025-10-28 07:53:55 +13:00
Garfield69
7910b8dfea zetorrents: new domain 2025-10-28 05:41:25 +13:00
Garfield69
da88b95496 magnetcat: bump alternate domains 2025-10-28 05:41:07 +13:00
Garfield69
8b809e8edc bitturk: drop redundant search parm 2025-10-27 21:41:44 +13:00
Garfield69
6d95e354aa add uhdtorrent a Turkish private site. resolves #16262 2025-10-27 21:41:10 +13:00
jackettbot[bot]
1657f12bed Update rudub 2025-10-27 01:29:39 +00:00
ilike2burnthing
4038a0d430 shareisland-api: update cats
https://github.com/Prowlarr/Indexers/pull/676
2025-10-26 22:22:28 +00:00
Garfield69
a8a8701ab0 Update hellenic-hd-api.yml 2025-10-27 09:51:18 +13:00
Garfield69
52d432be52 add hellenic-hd a Greek private site. resolves #16261 2025-10-27 07:48:44 +13:00
Garfield69
0518d30f9d uztracker: new cat 2025-10-27 06:00:53 +13:00
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
81 changed files with 2000 additions and 949 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

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

@@ -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
@@ -388,6 +390,7 @@ Prior versions of Jackett are no longer supported.
* HDU
* Hebits (HB)
* HellasHut
* HELLENIC-HD
* HHanClub
* HHD
* HomePornTorrents (HPT)
@@ -515,6 +518,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
@@ -524,9 +528,10 @@ Prior versions of Jackett are no longer supported.
* SewerPT (下水道) [![(invite needed)][inviteneeded]](#)
* SexTorrent
* SFP (Share Friends Projekt)
* ShaKaw [![(invite needed)][inviteneeded]](#)
* Shareisland
* Shazbat
* SiamBIT
* SiamBIT [PAY2DL]
* SkipTheCommercials
* SnowPT (SSPT)
* SoulVoice (聆音Club) [![(invite needed)][inviteneeded]](#)
@@ -589,7 +594,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]](#)
@@ -798,7 +803,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`.

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

@@ -108,7 +108,6 @@ search:
keywords: "{{ .Keywords }}"
# name, description, both, uploader
search_type: name
searchin: title
"sortOptions[sortBy]": "{{ .Config.sort }}"
"sortOptions[sortOrder]": "{{ .Config.type }}"
# Drop error trap to stop Sonarr disabling indexer, see https://github.com/Jackett/Jackett/issues/1415

View File

@@ -91,7 +91,7 @@ search:
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
selector: table.torrents > tbody > tr:has(a[href^="download.php?id="])
fields:
category:
@@ -151,8 +151,10 @@ search:
selector: td.rowfollow.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
optional: true
grabs:
selector: td.rowfollow:nth-child(8)
optional: true
downloadvolumefactor:
case:
img.pro_free: 0

View File

@@ -27,19 +27,16 @@ caps:
music-search: [q]
settings:
- name: username
- name: cookie
type: text
label: Username
- name: password
type: password
label: Password
- name: 2facode
label: Cookie
- name: info_cookie
type: info_cookie
- name: useragent
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the cyanbug Web Site. Otherwise just leave it empty."
label: User-Agent
- name: info_useragent
type: info_useragent
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -70,26 +67,10 @@ settings:
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li>Users with a parked account will be deleted if they do not log in for 180 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 90 consecutive days</li><li>Users who have no traffic (i.e. upload/download data are both 0) will be deleted if they do not log in for 7 consecutive days.</li></ol>"
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
# using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php
method: cookie
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
message:
selector: td.text
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href="logout.php"]
@@ -112,6 +93,9 @@ search:
type: "{{ .Config.type }}"
notnewword: 1
headers:
User-Agent: ["{{ .Config.useragent }}"]
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)

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

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

@@ -67,6 +67,7 @@ caps:
- {id: 347, cat: Books/EBook, desc: "Medical"}
- {id: 348, cat: Books/EBook, desc: "Mathematics"}
- {id: 363, cat: Books/EBook, desc: "Sheet Music"}
- {id: 366, cat: Books/EBook, desc: "Astronomy"}
# Tech/Computers
- {id: 331, cat: Books/EBook, desc: "Electronics"}
- {id: 336, cat: Books/EBook, desc: "Video Games"}

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}

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

@@ -0,0 +1,190 @@
---
id: hellenic-hd-api
name: HELLENIC-HD (API)
description: "HELLENIC-HD is a GREEK Private Torrent Tracker for MOVIES / TV"
language: el-GR
type: private
encoding: UTF-8
links:
- https://hellenic-hd.cc/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://hellenic-hd.cc/\" target=\"_blank\">HELLENIC-HD</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- name: sort
type: select
label: Sort requested from site
default: created_at
options:
created_at: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_activity
type: info
label: Account Inactivity
default: "Accounts that have not logged in for 60 days will be disabled, and may be deleted shortly afterwards."
login:
path: /api/torrents
method: get
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: api/torrents/filter
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
fields:
category:
selector: category_id
title_optional:
selector: name
title_filename:
selector: "files[0].name"
optional: true
files:
selector: num_file
title:
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
details:
selector: details_link
download:
selector: download_link
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace
args: [" & ", "_&_"]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description:
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
date:
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
selector: created_at
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case:
False: 1 # normal
True: 2 # double
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 0.4 but torrents must be seeded for 14 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 14 days (as seconds = 14 x 24 x 60 x 60)
text: 1209600
# json UNIT3D 9.1.6

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

@@ -5,6 +5,7 @@ description: "HunTorrent is a HUNGARIAN Semi-Private Torrent Tracker for MOVIES
language: hu-HU
type: semi-private
encoding: UTF-8
requestDelay: 2
links:
- https://huntorrent.org/
legacylinks:
@@ -12,34 +13,63 @@ legacylinks:
caps:
categorymappings:
- {id: 28, cat: Movies/SD, desc: "Cam/ENG"}
- {id: 27, cat: Movies/SD, desc: "Cam/HUN"}
- {id: 4, cat: Movies/DVD, desc: "DVDR/ENG"}
- {id: 3, cat: Movies/DVD, desc: "DVDR/HUN"}
- {id: 6, cat: Movies/HD, desc: "HD/ENG"}
- {id: 5, cat: Movies/HD, desc: "HD/HUN"}
- {id: 29, cat: Movies, desc: "Mese/ENG"}
- {id: 30, cat: Movies, desc: "Mese/HUN"}
- {id: 8, cat: TV/SD, desc: "Sorozat/ENG"}
- {id: 31, cat: TV/HD, desc: "Sorozat/HD/ENG"}
- {id: 9, cat: TV/HD, desc: "Sorozat/HD/HUN"}
- {id: 7, cat: TV/SD, desc: "Sorozat/HUN"}
- {id: 2, cat: Movies/SD, desc: "XviD/ENG"}
- {id: 1, cat: Movies/SD, desc: "XviD/HUN"}
- {id: 25, cat: Other, desc: "Kép"}
- {id: 24, cat: Books, desc: "eBook/ENG"}
- {id: 23, cat: Books, desc: "eBook/HUN"}
- {id: 38, cat: Audio/Audiobook, desc: "Hangoskönyv"}
- {id: 17, cat: PC/Games, desc: "Játék/ISO"}
- {id: 18, cat: PC/Games, desc: "Játék/RIP"}
- {id: 19, cat: Console, desc: "Konzol"}
- {id: 26, cat: PC/Mobile-Other, desc: "Mobil"}
- {id: 20, cat: PC/ISO, desc: "Program/ISO"}
- {id: 21, cat: PC/0day, desc: "Program/RIP"}
- {id: 13, cat: Audio/Video, desc: "Klip/ENG"}
- {id: 12, cat: Audio/Video, desc: "Klip/HUN"}
- {id: 11, cat: Audio/MP3, desc: "MP3/ENG"}
- {id: 10, cat: Audio/MP3, desc: "MP3/HUN"}
- {id: 28, cat: Movies/SD, desc: "Cam/Külföldi", default: true}
- {id: 27, cat: Movies/SD, desc: "Cam/Magyar", default: true}
- {id: 4, cat: Movies/DVD, desc: "DVDR/Külföldi", default: true}
- {id: 3, cat: Movies/DVD, desc: "DVDR/Magyar", default: true}
- {id: 6, cat: Movies/HD, desc: "HD/Külföldi", default: true}
- {id: 5, cat: Movies/HD, desc: "HD/Magyar", default: true}
- {id: 2, cat: Movies/SD, desc: "XviD/Külföldi", default: true}
- {id: 1, cat: Movies/SD, desc: "XviD/Magyar", default: true}
- {id: 17, cat: PC/Games, desc: "Játék/ISO", default: true}
- {id: 18, cat: PC/Games, desc: "Játék/RIP", default: true}
- {id: 19, cat: Console, desc: "Konzol", default: true}
- {id: 25, cat: Other, desc: "Kép", default: true}
- {id: 24, cat: Books, desc: "eBook/Külföldi", default: true}
- {id: 23, cat: Books, desc: "eBook/Magyar", default: true}
- {id: 38, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
- {id: 26, cat: PC/Mobile-Other, desc: "Mobil", default: true}
- {id: 20, cat: PC/ISO, desc: "Program/ISO", default: true}
- {id: 21, cat: PC/0day, desc: "Program/RIP", default: true}
- {id: 31, cat: TV/HD, desc: "Sorozat/HD/Külföldi", default: true}
- {id: 9, cat: TV/HD, desc: "Sorozat/HD/Magyar", default: true}
- {id: 8, cat: TV/SD, desc: "Sorozat/Külföldi", default: true}
- {id: 7, cat: TV/SD, desc: "Sorozat/Magyar", default: true}
- {id: 13, cat: Audio/Video, desc: "Klip/Külföldi", default: true}
- {id: 12, cat: Audio/Video, desc: "Klip/Külföldi", default: true}
- {id: 11, cat: Audio/MP3, desc: "MP3/Külföldi", default: true}
- {id: 10, cat: Audio/MP3, desc: "MP3/Magyar", default: true}
- {id: 51bithorlo, cat: Movies/SD, desc: "Cam/Eng", default: true}
- {id: 50bithorlo, cat: Movies/SD, desc: "Cam/Hun", default: true}
- {id: 2bithorlo, cat: Movies/DVD, desc: "DVD/Eng", default: true}
- {id: 1bithorlo, cat: Movies/DVD, desc: "DVD/Hun", default: true}
- {id: 42bithorlo, cat: Movies/DVD, desc: "Dvd9/Eng", default: true}
- {id: 41bithorlo, cat: Movies/DVD, desc: "Dvd9/Hun", default: true}
- {id: 40bithorlo, cat: Books, desc: "E-book/Eng", default: true}
- {id: 19bithorlo, cat: Books, desc: "E-book/Hun", default: true}
- {id: 29bithorlo, cat: Movies/HD, desc: "HD/Eng", default: true}
- {id: 28bithorlo, cat: Movies/HD, desc: "HD/Hun", default: true}
- {id: 15bithorlo, cat: PC/Games, desc: "Játék/ISO", default: true}
- {id: 38bithorlo, cat: Console, desc: "Játék/Konzol", default: true}
- {id: 37bithorlo, cat: PC/Games, desc: "Játék/Rip", default: true}
- {id: 20bithorlo, cat: Other, desc: "Képek", default: true}
- {id: 21bithorlo, cat: PC/Mobile-Other, desc: "Mobil", default: true}
- {id: 54bithorlo, cat: PC/ISO, desc: "Prog/ISO", default: true}
- {id: 23bithorlo, cat: PC/0day, desc: "Prog/Rip", default: true}
- {id: 33bithorlo, cat: TV/SD, desc: "Sorozat/Eng", default: true}
- {id: 52bithorlo, cat: TV/HD, desc: "Sorozat/Eng/HD", default: true}
- {id: 5bithorlo, cat: TV/SD, desc: "Sorozat/Hun", default: true}
- {id: 53bithorlo, cat: TV/HD, desc: "Sorozat/Hun/HD", default: true}
- {id: 4bithorlo, cat: Movies/SD, desc: "Xvid/Eng", default: true}
- {id: 3bithorlo, cat: Movies/SD, desc: "Xvid/Hun", default: true}
- {id: 12bithorlo, cat: Audio, desc: "Zene/Eng", default: true}
- {id: 13bithorlo, cat: Audio, desc: "Zene/Hun", default: true}
- {id: 16xxx, cat: XXX/DVD, desc: "XXX/DVD", default: false}
- {id: 32xxx, cat: XXX/x264, desc: "XXX/HD", default: false}
- {id: 14xxx, cat: XXX/ImageSet, desc: "XXX/Kép", default: false}
- {id: 15xxx, cat: XXX/SD, desc: "XXX/XVID", default: false}
- {id: 9bithorloxxx, cat: XXX/x264, desc: "XXX/Film, default: false"}
- {id: 10bithorloxxx, cat: XXX/ImageSet, desc: "XXX/Kép", default: false}
modes:
search: [q]
@@ -93,11 +123,23 @@ search:
headers:
User-Agent: ["{{ .Config.useragent }}"]
paths:
# https://huntorrent.net/browse.php?time=1616615308&korhatar=0&incldead=1&xyz=yes&c28=1&c27=1&c6=1&c5=1&sort=4&type=desc
# https://huntorrent.net/browse.php?&korhatar=0&incldead=1&xyz=yes&c28=1&c27=1&c6=1&c5=1&sort=4&type=desc
- path: browse.php
categories: [28, 27, 4, 3, 6, 5, 2, 1, 17, 18, 19, 25, 24, 23, 38, 26, 20, 21, 31, 9, 8, 7, 13, 12, 11, 10]
- path: browse.php
categories: [51bithorlo, 50bithorlo, 2bithorlo, 1bithorlo, 42bithorlo, 41bithorlo, 40bithorlo, 19bithorlo, 29bithorlo, 28bithorlo, 15bithorlo, 38bithorlo, 37bithorlo, 20bithorlo, 21bithorlo, 54bithorlo, 23bithorlo, 33bithorlo, 52bithorlo, 53bithorlo, 4bithorlo, 3bithorlo, 12bithorlo, 13bithorlo]
inputs:
viewMode: bithorlo
- path: browse.php
categories: [16xxx, 32xxx, 14xxx, 15xxx]
inputs:
viewMode: xxx
- path: browse.php
categories: [9bithorloxxx, 10bithorloxxx]
inputs:
viewMode: bithorloxxx
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
viewMode: ""
xyz: yes
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# Age Limit: 0 all, 1 no, 5 6, 2 12, 3 16, 4 18
@@ -110,38 +152,44 @@ search:
# can search by genre but you need to know the id. &mufaj[]=20 for Romantikus
rows:
selector: table[align="center"][cellpadding="5"] > tbody > tr[id^="torrent-main-"]
selector: table.torrent-table > tbody > tr[id^="torrent-main-"]
fields:
_id:
selector: a.download-link
attribute: data-id
category_view:
# browse.php?cat=9&viewMode=
# browse.php?cat=9&viewMode=xxx
# browse.php?cat=9&viewMode=bithorlo
# browse.php?cat=9&viewMode=bithorloxxx
selector: a[href^="browse.php?cat="]
attribute: href
optional: true
filters:
- name: querystring
args: viewMode
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
- name: append
args: "{{ if .Result.category_view }}{{ .Result.category_view }}{{ else }}{{ end }}"
title:
selector: a[href^="#details_tr_"]
attribute: title
filters:
- name: replace
args: ["Név: ", ""]
selector: a.torrent-title-link
details:
text: "details.php?id={{ .Result._id }}"
download:
selector: a.download-link
selector: a.torrent-title-link
attribute: href
filters:
- name: replace
args: ["please_wait=1&", ""]
- name: replace
args: ["&please_wait=1", ""]
args: ["&hit=1", ""]
download:
selector: a[href^="download.php?"]
attribute: href
genre:
selector: "span[style=\"font-size: 6pt; font-weight: bold;\"]"
selector: a[data-mufaj]
attribute: data-mufaj
description:
selector: td:nth-child(2) div:nth-child(2)
selector: div.torrent-subtitle
filters:
- name: append
args: "{{ if .Result.genre }}</br>{{ .Result.genre }}{{ else }}{{ end }}"
@@ -149,21 +197,23 @@ search:
selector: a[href*="imdb.com/title/tt"]
attribute: href
poster:
selector: a[href^="torrents_data/posters/"]
attribute: href
selector: a[data-poster]
attribute: data-poster
date:
selector: td:nth-last-child(5)
selector: a[data-added]
attribute: data-added
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
args: "yyyy-MM-dd HH:mm zzz"
size:
selector: td:nth-last-child(4) b
selector: a[data-size]
attribute: data-size
grabs:
selector: td:nth-last-child(3)
seeders:
selector: td:nth-last-child(2) a b
selector: td:nth-last-child(2)
leechers:
selector: td:nth-last-child(1)
downloadvolumefactor:

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

@@ -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,30 +9,28 @@ encoding: UTF-8
links:
- https://magnetcatcat.com/
- https://clmclm.com/
- https://www.8800517.xyz/
- https://www.8800518.xyz/
- https://www.8800519.xyz/
- https://www.8800520.xyz/
legacylinks:
- https://www.clm472.sbs/
- https://www.8800498.xyz/
- https://www.8800497.xyz/
- https://www.8800499.xyz/
- https://www.8800500.xyz/
legacylinks:
- https://www.8800460.xyz/
- https://www.8800473.xyz/
- https://www.8800474.xyz/
- https://www.8800476.xyz/
- https://www.clm472.sbs/
- https://www.8800475.xyz
- https://www.8800477.xyz
- https://www.8800478.xyz
- https://www.8800479.xyz
- https://www.8800484.xyz
- https://www.8800485.xyz
- https://www.8800481.xyz
- https://www.8800483.xyz
- https://www.8800486.xyz
- https://www.8800487.xyz
- https://www.8800492.xyz/
- https://www.8800493.xyz/
- https://www.8800494.xyz/
- https://www.8800490.xyz/
- https://www.8800503.xyz/
- https://www.8800504.xyz/
- https://www.8800505.xyz/
- https://www.8800506.xyz/
- https://www.8800507.xyz/
- https://www.8800508.xyz/
- https://www.8800509.xyz/
- https://www.8800510.xyz/
- https://www.8800511.xyz/
- https://www.8800514.xyz/
- https://www.8800515.xyz/
- https://www.8800516.xyz/
caps:
categorymappings:

View File

@@ -156,7 +156,7 @@ search:
img[src="/pic/categories/6.png"]: 44
# img[src="/pic/categories/6.png"]: 43
title:
selector: td:nth-child(2) > div > a
selector: a[onclick]
_id:
selector: a[onclick]
attribute: onclick
@@ -177,20 +177,20 @@ search:
selector: a[href*="imdb.com/title/tt"]
attribute: href
date:
selector: td:nth-child(3)
selector: td:nth-child(4)
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
size:
selector: td:nth-child(4)
grabs:
selector: td:nth-child(5)
seeders:
grabs:
selector: td:nth-child(6)
leechers:
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
_verified:
selector: span.torrent-ok, span.torrent-unchecked
case:

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

@@ -150,8 +150,17 @@ search:
filters:
- name: querystring
args: dir
title:
title_default:
selector: a[href*="index.php?strWebValue=torrent&strWebAction=details&id="]
title_optional:
selector: a[href*="index.php?strWebValue=torrent&strWebAction=details&id="][onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: "return buildTable\\('([^']+)',"
optional: true
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
details:
selector: a[href*="index.php?strWebValue=torrent&strWebAction=details&id="]
attribute: href

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: " |- Футбол"}
@@ -326,13 +326,12 @@ caps:
- {id: 931, cat: Books, desc: " |- Собрания книг русскоязычных авторов"}
- {id: 1152, cat: Books, desc: " |- Собрания книг иностранных авторов"}
- {id: 455, cat: Books, desc: " |- Сатира, Юмор"}
- {id: 1153, cat: Books, desc: " |- Боевики"}
- {id: 453, cat: Books, desc: " |- Детективы"}
- {id: 453, cat: Books, desc: " |- Боевики, Детективы, Триллеры"}
- {id: 1063, cat: Books, desc: " |- Приключенческая проза "}
- {id: 452, cat: Books, desc: " |- Исторические книги"}
- {id: 449, cat: Books, desc: " |- Классика, Проза, Поэзия"}
- {id: 1063, cat: Books, desc: " |- Приключенческая литература"}
- {id: 452, cat: Books, desc: " |- Историческая проза, Мифы и Легенды"}
- {id: 451, cat: Books, desc: " |- Фантастика, Фэнтези"}
- {id: 449, cat: Books, desc: " |- Современная поэзия и проза"}
- {id: 1153, cat: Books, desc: " |- Классическая поэзия и проза"}
- {id: 1347, cat: Books, desc: "Книги вне издательств, самиздат (все жанры)"}
- {id: 482, cat: Books, desc: "Комиксы и Артбуки"}
- {id: 483, cat: Books, desc: " |- Комиксы на русском языке"}
@@ -430,8 +429,10 @@ caps:
- {id: 1255, cat: Audio/Lossless, desc: " |- Классика (сборники) (Lossless)"}
- {id: 376, cat: Audio, desc: " |- Классика (сборники)"}
- {id: 326, cat: Audio, desc: "Jazz, Blues, Soul"}
- {id: 1352, cat: Audio, desc: " |- Jazz (Hi-Res)"}
- {id: 359, cat: Audio/Lossless, desc: " |- Jazz (Lossless)"}
- {id: 358, cat: Audio, desc: " |- Jazz"}
- {id: 1353, cat: Audio, desc: " |- Blues, Soul (Hi-Res)"}
- {id: 1188, cat: Audio/Lossless, desc: " |- Blues, Soul (Lossless)"}
- {id: 1189, cat: Audio, desc: " |- Blues, Soul"}
- {id: 328, cat: Audio, desc: "Шансон, Авторская и Военная песня"}
@@ -442,17 +443,23 @@ caps:
- {id: 1179, cat: Audio/Lossless, desc: " |- Авторская и Военная песня (Lossless)"}
- {id: 879, cat: Audio, desc: " |- Авторская и Военная песня"}
- {id: 322, cat: Audio, desc: "Rock, Alternative, Punk, Metal"}
- {id: 1350, cat: Audio, desc: " |- Rock (Hi-Res)"}
- {id: 962, cat: Audio/Lossless, desc: " |- Rock (Lossless)"}
- {id: 333, cat: Audio, desc: " |- Rock"}
- {id: 1356, cat: Audio, desc: " |- Alternative, Punk (Hi-Res)"}
- {id: 965, cat: Audio/Lossless, desc: " |- Alternative, Punk (Lossless)"}
- {id: 336, cat: Audio, desc: " |- Alternative, Punk"}
- {id: 1362, cat: Audio, desc: " |- Hard Rock (Hi Res)"}
- {id: 337, cat: Audio/Lossless, desc: " |- Hard Rock (Lossless)"}
- {id: 338, cat: Audio, desc: " |- Hard Rock"}
- {id: 1351, cat: Audio, desc: " |- Metal (Hi-Res)"}
- {id: 963, cat: Audio/Lossless, desc: " |- Metal (Lossless)"}
- {id: 334, cat: Audio, desc: " |- Metal"}
- {id: 1357, cat: Audio, desc: " |- Русский Рок (Hi-Res)"}
- {id: 961, cat: Audio/Lossless, desc: " |- Русский Рок (Lossless)"}
- {id: 332, cat: Audio, desc: " |- Русский рок"}
- {id: 325, cat: Audio, desc: "Pop"}
- {id: 1354, cat: Audio, desc: " |- Pop (Hi-Res)"}
- {id: 1165, cat: Audio/Lossless, desc: " |- Eurodance, Euro-House, Technopop (Lossless)"}
- {id: 1166, cat: Audio, desc: " |- Eurodance, Euro-House, Technopop"}
- {id: 1168, cat: Audio, desc: " |- Disco, Italo-Disco, Euro-Disco, Hi-NRG"}
@@ -468,26 +475,32 @@ caps:
- {id: 1328, cat: Audio, desc: " |- Psybient, Psychill, Psydub"}
- {id: 1325, cat: Audio/Lossless, desc: " |- Downtempo, Trip-Hop, Lounge (Lossless)"}
- {id: 1326, cat: Audio, desc: " |- Downtempo, Trip-Hop, Lounge"}
- {id: 1365, cat: Audio, desc: " |- Downtempo, Ambient (Hi-Res)"}
- {id: 1366, cat: Audio, desc: " |- Experimental, Industrial (Hi-Res)"}
- {id: 1323, cat: Audio/Lossless, desc: " |- Ambient, Experimental, Modern Classical (Lossless)"}
- {id: 1324, cat: Audio, desc: " |- Ambient, Experimental, Modern Classical"}
- {id: 976, cat: Audio/Lossless, desc: " |- Trance (Lossless)"}
- {id: 346, cat: Audio, desc: " |- Trance"}
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
- {id: 1363, cat: Audio, desc: " |- Trance, House, Techno (Hi-Res)"}
- {id: 977, cat: Audio/Lossless, desc: " |- House, Techno, Electro, Minimal (Lossless)"}
- {id: 345, cat: Audio, desc: " |- House"}
- {id: 349, cat: Audio, desc: " |- Techno, Electro, Minimal"}
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
- {id: 347, cat: Audio, desc: " |- Easy listening"}
- {id: 979, cat: Audio/Lossless, desc: " |- Industrial, EBM, Dark Electro (Lossless)"}
- {id: 673, cat: Audio, desc: " |- Experimental Electronic"}
- {id: 671, cat: Audio, desc: " |- Industrial, EBM, Dark Electro"}
- {id: 1224, cat: Audio/Lossless, desc: " |- IDM (Lossless)"}
- {id: 1225, cat: Audio, desc: " |- IDM"}
- {id: 1367, cat: Audio, desc: " |- Synthpop, New Wave, Retro (Hi-Res)"}
- {id: 980, cat: Audio/Lossless, desc: " |- Synthpop, New Wave (Lossless)"}
- {id: 672, cat: Audio, desc: " |- Synthpop, New Wave"}
- {id: 1316, cat: Audio/Lossless, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage (Lossless)"}
- {id: 1317, cat: Audio, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage"}
- {id: 1364, cat: Audio, desc: " |- Drum'n'Bass, Breakbeat (Hi-Res)"}
- {id: 981, cat: Audio/Lossless, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat (Lossless)"}
- {id: 344, cat: Audio, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat"}
- {id: 1368, cat: Audio, desc: " |- Hardcore, Extreme (Hi-Res)"}
- {id: 983, cat: Audio/Lossless, desc: " |- Hardstyle, Jumpstyle, Hardcore (Lossless)"}
- {id: 984, cat: Audio, desc: " |- Hardstyle, Jumpstyle, Hardcore"}
- {id: 982, cat: Audio/Lossless, desc: " |- Psychedelic, psytrance, fullon (Lossless)"}
@@ -501,6 +514,7 @@ caps:
- {id: 1185, cat: Audio/Lossless, desc: " |- RnB, Reggae (Lossless)"}
- {id: 341, cat: Audio, desc: " |- RnB, Reggae"}
- {id: 329, cat: Audio, desc: "East Asian Music"}
- {id: 1361, cat: Audio, desc: " |- Asian Music (Hi-Res)"}
- {id: 369, cat: Audio/Lossless, desc: " |- Asian Traditional, Ethnic (Lossless)"}
- {id: 368, cat: Audio, desc: " |- Asian Traditional, Ethnic"}
- {id: 1218, cat: Audio/Lossless, desc: " |- Asian Pop (Lossless)"}
@@ -512,14 +526,17 @@ caps:
- {id: 1213, cat: Audio/Lossless, desc: " |- Other Asian (Lossless)"}
- {id: 367, cat: Audio, desc: " |- Other Asian"}
- {id: 331, cat: Audio, desc: "Other Styles"}
- {id: 1358, cat: Audio, desc: " |- Instrumental (Hi-Res)"}
- {id: 1157, cat: Audio/Lossless, desc: " |- Instrumental (Lossless)"}
- {id: 711, cat: Audio, desc: " |- Instrumental"}
- {id: 1159, cat: Audio/Lossless, desc: " |- New Age/Meditative/Relax (Lossless)"}
- {id: 378, cat: Audio, desc: " |- New Age/Meditative/Relax"}
- {id: 1359, cat: Audio, desc: " |- Folk (Hi-Res)"}
- {id: 1158, cat: Audio/Lossless, desc: " |- Folk (Lossless)"}
- {id: 379, cat: Audio, desc: " |- Folk"}
- {id: 380, cat: Audio/Lossless, desc: " |- Other (Lossless)"}
- {id: 1178, cat: Audio, desc: " |- Other"}
- {id: 1360, cat: Audio, desc: " |- OST (Hi-Res)"}
- {id: 361, cat: Audio/Lossless, desc: " |- OST (Lossless)"}
- {id: 360, cat: Audio, desc: " |- OST"}
- {id: 327, cat: Audio, desc: "Неофициальные сборники"}
@@ -694,7 +711,6 @@ caps:
# temp, archive
- {id: 892, cat: Other, desc: " |- Архив Мультфильмов"}
- {id: 91, cat: Other, desc: " |- Архив Видео. Кино, Театра"}
- {id: 150, cat: Other, desc: " |- Архив неактуальных Экранок и любого видео с Рекламой"}
- {id: 668, cat: Other, desc: " |- Архив Классики кино и Старых фильмов до 90-х"}
- {id: 1143, cat: Other, desc: " |- Архив Музыкального Видео"}
- {id: 802, cat: Other, desc: " |- Архив Сериалов и Архив Старого многосерийного кино до 90-х"}
@@ -710,15 +726,6 @@ caps:
- {id: 184, cat: Other, desc: " |- Архив КПК и Мобильных устройств"}
- {id: 1080, cat: Other, desc: " |- Архив 4Apple"}
- {id: 180, cat: Other, desc: " |- Архив Медиа-Диз-Графика"}
- {id: 145, cat: Other, desc: " |- Видео (temp)"}
- {id: 146, cat: Other, desc: " |- Аниме (temp)"}
- {id: 161, cat: Other, desc: " |- Книги (temp)"}
- {id: 147, cat: Other, desc: " |- Музыка (temp)"}
- {id: 148, cat: Other, desc: " |- Игры (temp)"}
- {id: 149, cat: Other, desc: " |- Программы (temp)"}
- {id: 183, cat: Other, desc: " |- КПК и Мобильные устройства (temp)"}
- {id: 1145, cat: Other, desc: " |- 4Apple (temp)"}
- {id: 171, cat: Other, desc: " |- Медиа-Диз-Графика (temp)"}
modes:
search: [q]

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: " |- Футбол"}
@@ -324,13 +324,12 @@ caps:
- {id: 931, cat: Books, desc: " |- Собрания книг русскоязычных авторов"}
- {id: 1152, cat: Books, desc: " |- Собрания книг иностранных авторов"}
- {id: 455, cat: Books, desc: " |- Сатира, Юмор"}
- {id: 1153, cat: Books, desc: " |- Боевики"}
- {id: 453, cat: Books, desc: " |- Детективы"}
- {id: 453, cat: Books, desc: " |- Боевики, Детективы, Триллеры"}
- {id: 1063, cat: Books, desc: " |- Приключенческая проза "}
- {id: 452, cat: Books, desc: " |- Исторические книги"}
- {id: 449, cat: Books, desc: " |- Классика, Проза, Поэзия"}
- {id: 1063, cat: Books, desc: " |- Приключенческая литература"}
- {id: 452, cat: Books, desc: " |- Историческая проза, Мифы и Легенды"}
- {id: 451, cat: Books, desc: " |- Фантастика, Фэнтези"}
- {id: 449, cat: Books, desc: " |- Современная поэзия и проза"}
- {id: 1153, cat: Books, desc: " |- Классическая поэзия и проза"}
- {id: 1347, cat: Books, desc: "Книги вне издательств, самиздат (все жанры)"}
- {id: 482, cat: Books, desc: "Комиксы и Артбуки"}
- {id: 483, cat: Books, desc: " |- Комиксы на русском языке"}
@@ -428,8 +427,10 @@ caps:
- {id: 1255, cat: Audio/Lossless, desc: " |- Классика (сборники) (Lossless)"}
- {id: 376, cat: Audio, desc: " |- Классика (сборники)"}
- {id: 326, cat: Audio, desc: "Jazz, Blues, Soul"}
- {id: 1352, cat: Audio, desc: " |- Jazz (Hi-Res)"}
- {id: 359, cat: Audio/Lossless, desc: " |- Jazz (Lossless)"}
- {id: 358, cat: Audio, desc: " |- Jazz"}
- {id: 1353, cat: Audio, desc: " |- Blues, Soul (Hi-Res)"}
- {id: 1188, cat: Audio/Lossless, desc: " |- Blues, Soul (Lossless)"}
- {id: 1189, cat: Audio, desc: " |- Blues, Soul"}
- {id: 328, cat: Audio, desc: "Шансон, Авторская и Военная песня"}
@@ -440,17 +441,23 @@ caps:
- {id: 1179, cat: Audio/Lossless, desc: " |- Авторская и Военная песня (Lossless)"}
- {id: 879, cat: Audio, desc: " |- Авторская и Военная песня"}
- {id: 322, cat: Audio, desc: "Rock, Alternative, Punk, Metal"}
- {id: 1350, cat: Audio, desc: " |- Rock (Hi-Res)"}
- {id: 962, cat: Audio/Lossless, desc: " |- Rock (Lossless)"}
- {id: 333, cat: Audio, desc: " |- Rock"}
- {id: 1356, cat: Audio, desc: " |- Alternative, Punk (Hi-Res)"}
- {id: 965, cat: Audio/Lossless, desc: " |- Alternative, Punk (Lossless)"}
- {id: 336, cat: Audio, desc: " |- Alternative, Punk"}
- {id: 1362, cat: Audio, desc: " |- Hard Rock (Hi Res)"}
- {id: 337, cat: Audio/Lossless, desc: " |- Hard Rock (Lossless)"}
- {id: 338, cat: Audio, desc: " |- Hard Rock"}
- {id: 1351, cat: Audio, desc: " |- Metal (Hi-Res)"}
- {id: 963, cat: Audio/Lossless, desc: " |- Metal (Lossless)"}
- {id: 334, cat: Audio, desc: " |- Metal"}
- {id: 1357, cat: Audio, desc: " |- Русский Рок (Hi-Res)"}
- {id: 961, cat: Audio/Lossless, desc: " |- Русский Рок (Lossless)"}
- {id: 332, cat: Audio, desc: " |- Русский рок"}
- {id: 325, cat: Audio, desc: "Pop"}
- {id: 1354, cat: Audio, desc: " |- Pop (Hi-Res)"}
- {id: 1165, cat: Audio/Lossless, desc: " |- Eurodance, Euro-House, Technopop (Lossless)"}
- {id: 1166, cat: Audio, desc: " |- Eurodance, Euro-House, Technopop"}
- {id: 1168, cat: Audio, desc: " |- Disco, Italo-Disco, Euro-Disco, Hi-NRG"}
@@ -466,26 +473,32 @@ caps:
- {id: 1328, cat: Audio, desc: " |- Psybient, Psychill, Psydub"}
- {id: 1325, cat: Audio/Lossless, desc: " |- Downtempo, Trip-Hop, Lounge (Lossless)"}
- {id: 1326, cat: Audio, desc: " |- Downtempo, Trip-Hop, Lounge"}
- {id: 1365, cat: Audio, desc: " |- Downtempo, Ambient (Hi-Res)"}
- {id: 1366, cat: Audio, desc: " |- Experimental, Industrial (Hi-Res)"}
- {id: 1323, cat: Audio/Lossless, desc: " |- Ambient, Experimental, Modern Classical (Lossless)"}
- {id: 1324, cat: Audio, desc: " |- Ambient, Experimental, Modern Classical"}
- {id: 976, cat: Audio/Lossless, desc: " |- Trance (Lossless)"}
- {id: 346, cat: Audio, desc: " |- Trance"}
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
- {id: 1363, cat: Audio, desc: " |- Trance, House, Techno (Hi-Res)"}
- {id: 977, cat: Audio/Lossless, desc: " |- House, Techno, Electro, Minimal (Lossless)"}
- {id: 345, cat: Audio, desc: " |- House"}
- {id: 349, cat: Audio, desc: " |- Techno, Electro, Minimal"}
- {id: 1243, cat: Audio, desc: " |- Label-Packs"}
- {id: 347, cat: Audio, desc: " |- Easy listening"}
- {id: 979, cat: Audio/Lossless, desc: " |- Industrial, EBM, Dark Electro (Lossless)"}
- {id: 673, cat: Audio, desc: " |- Experimental Electronic"}
- {id: 671, cat: Audio, desc: " |- Industrial, EBM, Dark Electro"}
- {id: 1224, cat: Audio/Lossless, desc: " |- IDM (Lossless)"}
- {id: 1225, cat: Audio, desc: " |- IDM"}
- {id: 1367, cat: Audio, desc: " |- Synthpop, New Wave, Retro (Hi-Res)"}
- {id: 980, cat: Audio/Lossless, desc: " |- Synthpop, New Wave (Lossless)"}
- {id: 672, cat: Audio, desc: " |- Synthpop, New Wave"}
- {id: 1316, cat: Audio/Lossless, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage (Lossless)"}
- {id: 1317, cat: Audio, desc: " |- Dubstep, Future Garage, Bass Music, UK Garage"}
- {id: 1364, cat: Audio, desc: " |- Drum'n'Bass, Breakbeat (Hi-Res)"}
- {id: 981, cat: Audio/Lossless, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat (Lossless)"}
- {id: 344, cat: Audio, desc: " |- Drum'n'Bass, Jungle, Breaks, Breakbeat"}
- {id: 1368, cat: Audio, desc: " |- Hardcore, Extreme (Hi-Res)"}
- {id: 983, cat: Audio/Lossless, desc: " |- Hardstyle, Jumpstyle, Hardcore (Lossless)"}
- {id: 984, cat: Audio, desc: " |- Hardstyle, Jumpstyle, Hardcore"}
- {id: 982, cat: Audio/Lossless, desc: " |- Psychedelic, psytrance, fullon (Lossless)"}
@@ -499,6 +512,7 @@ caps:
- {id: 1185, cat: Audio/Lossless, desc: " |- RnB, Reggae (Lossless)"}
- {id: 341, cat: Audio, desc: " |- RnB, Reggae"}
- {id: 329, cat: Audio, desc: "East Asian Music"}
- {id: 1361, cat: Audio, desc: " |- Asian Music (Hi-Res)"}
- {id: 369, cat: Audio/Lossless, desc: " |- Asian Traditional, Ethnic (Lossless)"}
- {id: 368, cat: Audio, desc: " |- Asian Traditional, Ethnic"}
- {id: 1218, cat: Audio/Lossless, desc: " |- Asian Pop (Lossless)"}
@@ -510,14 +524,17 @@ caps:
- {id: 1213, cat: Audio/Lossless, desc: " |- Other Asian (Lossless)"}
- {id: 367, cat: Audio, desc: " |- Other Asian"}
- {id: 331, cat: Audio, desc: "Other Styles"}
- {id: 1358, cat: Audio, desc: " |- Instrumental (Hi-Res)"}
- {id: 1157, cat: Audio/Lossless, desc: " |- Instrumental (Lossless)"}
- {id: 711, cat: Audio, desc: " |- Instrumental"}
- {id: 1159, cat: Audio/Lossless, desc: " |- New Age/Meditative/Relax (Lossless)"}
- {id: 378, cat: Audio, desc: " |- New Age/Meditative/Relax"}
- {id: 1359, cat: Audio, desc: " |- Folk (Hi-Res)"}
- {id: 1158, cat: Audio/Lossless, desc: " |- Folk (Lossless)"}
- {id: 379, cat: Audio, desc: " |- Folk"}
- {id: 380, cat: Audio/Lossless, desc: " |- Other (Lossless)"}
- {id: 1178, cat: Audio, desc: " |- Other"}
- {id: 1360, cat: Audio, desc: " |- OST (Hi-Res)"}
- {id: 361, cat: Audio/Lossless, desc: " |- OST (Lossless)"}
- {id: 360, cat: Audio, desc: " |- OST"}
- {id: 327, cat: Audio, desc: "Неофициальные сборники"}
@@ -692,7 +709,6 @@ caps:
# temp, archive
- {id: 892, cat: Other, desc: " |- Архив Мультфильмов"}
- {id: 91, cat: Other, desc: " |- Архив Видео. Кино, Театра"}
- {id: 150, cat: Other, desc: " |- Архив неактуальных Экранок и любого видео с Рекламой"}
- {id: 668, cat: Other, desc: " |- Архив Классики кино и Старых фильмов до 90-х"}
- {id: 1143, cat: Other, desc: " |- Архив Музыкального Видео"}
- {id: 802, cat: Other, desc: " |- Архив Сериалов и Архив Старого многосерийного кино до 90-х"}
@@ -708,15 +724,6 @@ caps:
- {id: 184, cat: Other, desc: " |- Архив КПК и Мобильных устройств"}
- {id: 1080, cat: Other, desc: " |- Архив 4Apple"}
- {id: 180, cat: Other, desc: " |- Архив Медиа-Диз-Графика"}
- {id: 145, cat: Other, desc: " |- Видео (temp)"}
- {id: 146, cat: Other, desc: " |- Аниме (temp)"}
- {id: 161, cat: Other, desc: " |- Книги (temp)"}
- {id: 147, cat: Other, desc: " |- Музыка (temp)"}
- {id: 148, cat: Other, desc: " |- Игры (temp)"}
- {id: 149, cat: Other, desc: " |- Программы (temp)"}
- {id: 183, cat: Other, desc: " |- КПК и Мобильные устройства (temp)"}
- {id: 1145, cat: Other, desc: " |- 4Apple (temp)"}
- {id: 171, cat: Other, desc: " |- Медиа-Диз-Графика (temp)"}
modes:
search: [q]

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

@@ -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.oxtorrent.town/
- https://www.zone-torrent.town/
- https://www.mega-torrent7.com/
- https://www.mega-torrent.town/
legacylinks:
# latest domains list
- https://www.rantop.my/
@@ -28,10 +28,8 @@ legacylinks:
- https://oxtorrent.blog/
- https://www.site-torrent.com/
# actual legacylinks
- 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 +47,8 @@ legacylinks:
- 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

@@ -0,0 +1,139 @@
---
id: phoenixproject
name: Phoenix Project
description: "Phoenix Project is a Private MacOS software tracker"
language: en-US
type: private
encoding: UTF-8
links:
- https://phoenixproject.app/
caps:
categorymappings:
- {id: 1, cat: PC/Mac, desc: Applications}
- {id: 2, cat: PC/Games, desc: Games}
- {id: 3, cat: PC/Mobile-iOS, desc: IOS Applications}
- {id: 4, cat: PC/Mobile-iOS, desc: IOS Games}
- {id: 5, cat: Other, desc: Graphics}
- {id: 6, cat: Audio, desc: Audio}
- {id: 7, cat: Other, desc: Tutorials}
- {id: 8, cat: Other, desc: Other}
modes:
search: [q]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2fa_code
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Phoenix Project Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
twofa: "{{ .Config.2fa_code }}"
keeplogged: 1
error:
- selector: div.main div.warning-login
test:
path: torrents.php
selector: a[href^="logout.php?auth="]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Keywords }}"
# freetorrent: 0 normal, 1 freeleech, 2 neutral leech
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
group_results: 0
action: advanced
order: "{{ .Config.sort }}"
sort: "{{ .Config.type }}"
searchsubmit: 1
rows:
selector: table.torrent_table tr.torrent:has(a[title="Download"])
fields:
category:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: regexp
args: "\\[(\\d+?)\\]"
title:
selector: a[href^="torrents.php?id="]
details:
selector: a[href^="torrents.php?id="]
attribute: href
genre:
selector: div.tags a[href*="taglist"]
download:
selector: span > a[href^="torrents.php?action=download&id="]
attribute: href
poster:
selector: div.group_image > img
attribute: src
description:
text: "{{ .Result.genre }}"
date:
selector: span.time.tooltip
attribute: title
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MMM dd yyyy, HH:mm zzz"
size:
selector: td.td_size
files:
selector: td.td_file_count
seeders:
selector: td.td_seeders
leechers:
selector: td.td_leechers
grabs:
selector: td.td_snatched
downloadvolumefactor:
case:
strong.torrent_label.tl_free: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.6
# Gazelle

View File

@@ -6,8 +6,9 @@ language: zh-CN
type: private
encoding: UTF-8
links:
- https://pterclub.com/
- https://pterclub.net/
legacylinks:
- https://pterclub.com/
caps:
categorymappings:

View File

@@ -12,44 +12,45 @@ legacylinks:
caps:
categorymappings:
- {id: 1, cat: TV/Sport, desc: "BTCC"}
- {id: 2, cat: TV/Sport, desc: "TV-Documentaries"}
- {id: 3, cat: TV/Sport, desc: "DTM"}
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
- {id: 23, cat: TV/Sport, desc: "Formula E"}
- {id: 24, cat: TV/Sport, desc: "Misc"}
- {id: 25, cat: TV/Sport, desc: "Other Bikes"}
- {id: 26, cat: TV/Sport, desc: "MotoGP-2-3-E"}
- {id: 31, cat: TV/Sport, desc: "Nascar"}
- {id: 32, cat: TV/Sport, desc: "Stock Car Brazil"}
- {id: 50, cat: TV/Sport, desc: "WRC"}
- {id: 55, cat: TV/Sport, desc: "Season Reviews"}
- {id: 56, cat: TV/Sport, desc: "WRX"}
- {id: 57, cat: TV/Sport, desc: "WEC"}
- {id: 58, cat: TV/Sport, desc: "W Series"}
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
- {id: 61, cat: TV/Sport, desc: "ERC"}
- {id: 62, cat: TV/Sport, desc: "Indycar Series"}
- {id: 63, cat: TV/Sport, desc: "Supercars"}
- {id: 66, cat: TV/Sport, desc: "Documentaries"}
- {id: 67, cat: TV/Sport, desc: "Formula 1"}
- {id: 68, cat: TV/Sport, desc: "Formula 3"}
- {id: 69, cat: TV/Sport, desc: "Other Cars"}
- {id: 70, cat: TV/Sport, desc: "Motorsport Movies"}
- {id: 71, cat: TV/Sport, desc: "WSBK"}
- {id: 72, cat: TV/Sport, desc: "AMA Pro Motocross"}
- {id: 73, cat: TV/Sport, desc: "AMA Supercross"}
- {id: 74, cat: TV/Sport, desc: "WTCR"}
- {id: 76, cat: TV/Sport, desc: "ARCA"}
- {id: 77, cat: TV/Sport, desc: "Blancpain GT"}
- {id: 78, cat: TV/Sport, desc: "Porsche Supercup"}
- {id: 79, cat: TV/Sport, desc: "TV Series"}
- {id: 80, cat: TV/Sport, desc: "Touring Cars"}
- {id: 1, cat: TV/Sport, desc: "BTCC"}
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
- {id: 3, cat: TV/Sport, desc: "DTM"}
- {id: 61, cat: TV/Sport, desc: "ERC"}
- {id: 81, cat: TV/Sport, desc: "Extreme E"}
- {id: 67, cat: TV/Sport, desc: "Formula 1"}
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
- {id: 68, cat: TV/Sport, desc: "Formula 3"}
- {id: 23, cat: TV/Sport, desc: "Formula E"}
- {id: 62, cat: TV/Sport, desc: "Indycar Series"}
- {id: 26, cat: TV/Sport, desc: "MotoGP-2-3-E"}
- {id: 82, cat: TV/Sport, desc: "Motorcycle Speedway"}
- {id: 31, cat: TV/Sport, desc: "Nascar"}
- {id: 25, cat: TV/Sport, desc: "Other Bikes"}
- {id: 69, cat: TV/Sport, desc: "Other Cars"}
- {id: 78, cat: TV/Sport, desc: "Porsche Supercup"}
- {id: 32, cat: TV/Sport, desc: "Stock Car Brazil"}
- {id: 63, cat: TV/Sport, desc: "Supercars"}
- {id: 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 +59,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 +115,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 +129,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 +172,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 +187,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://oct11.rudub.mom/
- https://nov03.rudub.homes/
legacylinks:
- 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://oct07.rudub.mom/
- http://oct08.rudub.mom/
- https://oct08.rudub.mom/
- http://oct09.rudub.mom/
- https://oct09.rudub.mom/
- http://oct10.rudub.mom/
- https://oct10.rudub.mom/
- http://oct11.rudub.mom/
- https://oct19.rudub.homes/
- http://oct20.rudub.homes/
- https://oct20.rudub.homes/
- http://oct21.rudub.homes/
- https://oct21.rudub.homes/
- http://oct22.rudub.homes/
- https://oct22.rudub.homes/
- http://oct23.rudub.homes/
- https://oct23.rudub.homes/
- http://oct24.rudub.homes/
- https://oct24.rudub.homes/
- http://oct25.rudub.homes/
- https://oct25.rudub.homes/
- http://oct26.rudub.homes/
- https://oct26.rudub.homes/
- http://oct27.rudub.homes/
- https://oct27.rudub.homes/
- http://oct28.rudub.homes/
- https://oct28.rudub.homes/
- http://oct29.rudub.homes/
- https://oct29.rudub.homes/
- http://oct30.rudub.homes/
- https://oct30.rudub.homes/
- http://oct31.rudub.homes/
- https://oct31.rudub.homes/
- http://nov01.rudub.homes/
- https://nov01.rudub.homes/
- http://nov02.rudub.homes/
- https://nov02.rudub.homes/
- http://nov03.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

@@ -0,0 +1,207 @@
---
id: sextorrent-api
name: SexTorrent (API)
description: "SexTorrent is a Private Torrent Tracker for 3X"
language: en-US
type: private
encoding: UTF-8
links:
- https://sextorrent.myds.me/
caps:
categorymappings:
- {id: 3, cat: XXX, desc: "Amateur"}
- {id: 4, cat: XXX, desc: "Anal"}
- {id: 5, cat: XXX, desc: "Asian"}
- {id: 6, cat: XXX, desc: "BDSM"}
- {id: 7, cat: XXX, desc: "Big-Tits"}
- {id: 8, cat: XXX, desc: "Busty"}
- {id: 9, cat: XXX, desc: "Creampie"}
- {id: 10, cat: XXX, desc: "Fetish"}
- {id: 11, cat: XXX, desc: "Mature"}
- {id: 12, cat: XXX, desc: "Hardcore"}
- {id: 13, cat: XXX, desc: "Old and Young"}
- {id: 14, cat: XXX, desc: "Milf"}
- {id: 15, cat: XXX, desc: "Oral"}
- {id: 16, cat: XXX, desc: "Orgy Gang Bang"}
- {id: 17, cat: XXX, desc: "Lesbian"}
- {id: 18, cat: XXX, desc: "Teen"}
- {id: 19, cat: XXX, desc: "HD - High.Definition"}
- {id: 20, cat: XXX, desc: "Hentai"}
- {id: 21, cat: XXX, desc: "Interracial"}
- {id: 22, cat: XXX, desc: "Masturbate"}
- {id: 23, cat: XXX, desc: "Music Video"}
- {id: 24, cat: XXX, desc: "POV"}
- {id: 25, cat: XXX, desc: "Shemale -TS- TransSex"}
- {id: 26, cat: XXX, desc: "Straight"}
- {id: 27, cat: XXX, desc: "Mega.Pack"}
- {id: 28, cat: XXX, desc: "V.R. -Porn-"}
- {id: 30, cat: XXX/ImageSet, desc: "Pictures"}
- {id: 29, cat: XXX, desc: "SiteRip"}
- {id: 31, cat: XXX, desc: "Foreign"}
- {id: 32, cat: XXX, desc: "Latina"}
- {id: 33, cat: XXX/Other, desc: "Games"}
- {id: 34, cat: XXX, desc: "Magazines"}
- {id: 35, cat: XXX, desc: "Feature"}
- {id: 36, cat: XXX, desc: "Big-Ass"}
- {id: 37, cat: XXX/Other, desc: "Other"}
- {id: 38, cat: XXX, desc: "Cumshot"}
- {id: 39, cat: XXX, desc: "Black"}
- {id: 40, cat: XXX, desc: "Piss"}
- {id: 41, cat: XXX, desc: "Homemade"}
- {id: 42, cat: XXX, desc: "Pregnant"}
- {id: 43, cat: XXX, desc: "Gay"}
- {id: 1, cat: Movies, desc: "Movie"}
- {id: 2, cat: TV, desc: "TV Show"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://sextorrent.myds.me/\" target=\"_blank\">SexTorrent</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- name: sort
type: select
label: Sort requested from site
default: created_at
options:
created_at: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: /api/torrents
method: get
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
- selector: :root:contains("Account is Banned")
search:
paths:
# https://hdinnovations.github.io/UNIT3D/torrent_api.html
# https://github.com/HDInnovations/UNIT3D/blob/master/app/Http/Controllers/API/TorrentController.php#L657
- path: api/torrents/filter
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
fields:
category:
selector: category_id
title_optional:
selector: name
title_filename:
selector: "files[0].name"
optional: true
files:
selector: num_file
title:
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
details:
selector: details_link
download:
selector: download_link
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description:
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}{{ if and .Result._internal .Result.genre }} | {{ else }}{{ end }}{{ .Result.genre }}"
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
date:
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
selector: created_at
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case:
False: 1 # normal
True: 2 # double
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 9.1.7

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

@@ -17,11 +17,10 @@ caps:
- {id: 2, cat: TV, desc: "Serie TV"}
- {id: 15, cat: Books/EBook, desc: "Ebook"}
- {id: 17, cat: Books/Mags, desc: "Riviste e Giornali"}
- {id: 19, cat: XXX, desc: "XXX"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 7, cat: PC/Games, desc: "Games"}
- {id: 23, cat: PC, desc: "Software"}
- {id: 24, cat: TV/Sport, desc: "EVENTI SPORTIVI"}
- {id: 24, cat: TV/Sport, desc: "Eventi Sportivi"}
- {id: 25, cat: Other, desc: "Misc"}
modes:

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

@@ -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,7 +8,7 @@ encoding: UTF-8
followredirect: true
testlinktorrent: false
links:
- https://www5.torrent9.to/
- https://www.torrent9.zone/
legacylinks:
- https://www.torrent09.uno/
- https://www.torrent9.pl/ # this is a proxy for torrent9clone
@@ -31,8 +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,10 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq389.com/
- https://torrentegg79.com/
- https://torrentqq392.com/
- https://torrentegg82.com/
legacylinks:
- https://torrentegg65.com/
- https://torrentqq374.com/
- https://torrentegg66.com/
- https://torrentqq375.com/
- https://torrentegg67.com/
- https://torrentqq376.com/
- https://torrentegg68.com/
- https://torrentqq377.com/
- https://torrentqq378.com/
@@ -39,6 +34,12 @@ legacylinks:
- https://torrentegg77.com/
- https://torrentqq388.com/
- https://torrentegg78.com/
- https://torrentqq389.com/
- https://torrentegg79.com/
- https://torrentqq390.com/
- https://torrentegg80.com/
- https://torrentqq391.com/
- https://torrentegg81.com/
caps:
categorymappings:

View File

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

View File

@@ -9,11 +9,8 @@ followredirect: true
requestDelay: 2
# to fetch current domain use https://tzip.top/
links:
- https://torrenttip197.top/
- https://torrenttip200.top/
legacylinks:
- https://torrenttip182.top/
- https://torrenttip183.top/
- https://torrenttip184.top/
- https://torrenttip185.top/
- https://torrenttip186.top/
- https://torrenttip187.top/
@@ -26,6 +23,9 @@ legacylinks:
- https://torrenttip194.top/
- https://torrenttip195.top/
- https://torrenttip196.top/
- https://torrenttip197.top/
- https://torrenttip198.top/
- https://torrenttip199.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

@@ -37,6 +37,7 @@ caps:
- {id: 26, cat: Movies, desc: " |- Фильмы до 2000 года"}
# Сериалы, Видео и ТВ # Series, Videos and TV
- {id: 97, cat: TV, desc: "Сериалы"}
- {id: 333, cat: TV, desc: " |- Игра престолов / Game of Thrones"}
- {id: 313, cat: TV, desc: " |- Секретные материалы \ The X-Files"}
- {id: 103, cat: TV, desc: " |- Зарубежные сериалы"}
- {id: 102, cat: TV, desc: " |- Российские сериалы"}
@@ -125,7 +126,8 @@ 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: 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: " |- ♫ Электронная музыка (оцифрофки)"}
@@ -229,6 +231,7 @@ 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
@@ -412,7 +415,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,7 +7,7 @@ type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.my/
links:
- https://www.zetorrents2.com/
- https://www.zetorrents.town/
legacylinks:
# latest domains list
- https://www.rantop.my/
@@ -22,7 +22,6 @@ legacylinks:
- https://www.rantop.org/
- https://www.site-torrent.com/
# actual legacylinks
- https://www.zetorrents.bz/
- https://www.zetorrents.nl/
- https://www.zetorrents.biz/
- https://www.zetorrents.ch/
@@ -39,6 +38,7 @@ legacylinks:
- https://www-zetorrents.com/
- https://www.zetorrents1.com/
- https://www.zetorrents.diy/
- https://www.zetorrents2.com/
caps:
categories:

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.kids/";
public override string SiteLink { get; protected set; } = "https://dontorrent.phd/";
public override string[] AlternativeSiteLinks => new[]
{
"https://dontorrent.kids/",
"https://dontorrent.phd/",
"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.download/",
"https://dontorrent.gift/",
"https://dontorrent.report/",
"https://dontorrent.homes/",
"https://dontorrent.haus/",
"https://dontorrent.news/",
@@ -56,6 +53,9 @@ namespace Jackett.Common.Indexers.Definitions
"https://dontorrent.lighting/",
"https://dontorrent.istanbul/",
"https://dontorrent.onl/",
"https://dontorrent.kids/",
"https://dontorrent.kiwi/",
"https://dontorrent.live/",
};
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

@@ -696,8 +696,8 @@ namespace Jackett.Common.Indexers.Definitions
var meta = document.QuerySelector("meta");
var metaContent = meta.GetAttribute("content");
// Follow redirection defined by async url.replace
var redirectionUrl = metaContent.Substring(metaContent.IndexOf("http"));
// Follow redirection defined by async url.replace and prepend sitelink
var redirectionUrl = SiteLink + metaContent.Substring(metaContent.IndexOf("url=") + 5);
return await FollowTrackerRedirection(redirectionUrl, details);
}
catch (Exception ex)

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

@@ -1,6 +1,7 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Text;
using Autofac;
using Autofac.Extensions.DependencyInjection;
@@ -22,6 +23,7 @@ using Microsoft.AspNetCore.Rewrite;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json.Serialization;
using IPNetwork = Microsoft.AspNetCore.HttpOverrides.IPNetwork;
#if !NET471
using Microsoft.Extensions.Hosting;
#endif
@@ -62,8 +64,10 @@ namespace Jackett.Server
// See https://github.com/Jackett/Jackett/issues/3517
options.ForwardLimit = 10;
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto | ForwardedHeaders.XForwardedHost;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("10.0.0.0"), 8));
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("172.16.0.0"), 12));
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("192.168.0.0"), 16));
options.KnownNetworks.Add(new IPNetwork(IPAddress.Parse("fc00::"), 7));
});
#if NET471

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",
@@ -811,6 +813,7 @@ namespace Jackett.Updater
"Definitions/twisted-music.yml",
"Definitions/u-torrents.yml",
"Definitions/uhd-heaven.yml",
"Definitions/uhdtorrent.yml",
"Definitions/ultimategamerclub.yml",
"Definitions/ultra-hd.yml",
"Definitions/ultrahdclub.yml",