Compare commits

...

86 Commits

Author SHA1 Message Date
jackettbot[bot]
c66e4be3b7 Update rudub 2025-10-26 01:29:20 +00:00
sirelgit
82931b31cf Add HDRTorrent a public Brazillian site (resolves #16100) (#16257) 2025-10-26 08:22:03 +13:00
Garfield69
1bc41f396e abtorrents: update cats 2025-10-26 07:06:13 +13:00
Garfield69
6b4ff3a368 siambit: new selectors
also the site appears to be pay2dl as all torrents not have a VIP only tag
added posters
2025-10-26 06:26:15 +13:00
jackettbot[bot]
c93a27e24f Update rudub 2025-10-25 01:28:51 +00:00
Garfield69
340b9adb84 rastastugan: new cat 2025-10-25 06:14:22 +13:00
Garfield69
2241d64d9d ourbits: bump engine tag 2025-10-25 06:14:08 +13:00
Garfield69
f8f18b8aae 3changtrai: bump engine tag 2025-10-25 06:13:55 +13:00
Garfield69
ea217e89ac dontorrent: new tld 2025-10-24 18:35:39 +13:00
jackettbot[bot]
9ce111a870 Update rudub 2025-10-24 01:28:56 +00:00
Garfield69
b1291227fb theshow: CA expired 2025-10-24 06:40:29 +13:00
Garfield69
bae9edfa87 thegeeks: CA expired 2025-10-24 06:40:15 +13:00
Garfield69
f74cd603f6 noname-club: new cats 2025-10-24 06:39:57 +13:00
Garfield69
4138905543 torrentqq: bump domains 2025-10-24 05:59:44 +13:00
Garfield69
2751cd4307 riperam: grabs can be a missing 2025-10-24 05:59:22 +13:00
Garfield69
64604fc450 divxtotal: bump domain 2025-10-23 18:36:09 +13:00
jackettbot[bot]
4a1207794f Update rudub 2025-10-23 01:29:06 +00:00
Garfield69
7273f99a41 sextorrent: removed. resolves #16182 2025-10-23 13:16:20 +13:00
Garfield69
91905668a3 torrentcontrol: add anime support resolves #16238 2025-10-23 10:25:24 +13:00
Garfield69
1f69346516 torrenttip: bump domain 2025-10-23 05:29:33 +13:00
Garfield69
af01a9ef3f torrentsome: bump domain 2025-10-23 05:29:17 +13:00
jackettbot[bot]
21946b0b2f Update rudub 2025-10-22 01:29:17 +00:00
ilike2burnthing
0f565d3c24 racing4everyone-api: update MR & MST
Commented out minimumratio and added explanation.
2025-10-21 20:45:19 +01:00
Garfield69
17dcb8714d uztracker: update cats 2025-10-22 06:12:55 +13:00
Garfield69
115610571e noname-club: update cats 2025-10-22 06:12:32 +13:00
Garfield69
854192b489 kickasstorrents-to: new cat 2025-10-22 06:11:55 +13:00
Garfield69
c4d85af057 zktorrent: new domain 2025-10-21 18:34:00 +13:00
Garfield69
efc3183e12 nortorrent: new domain 2025-10-21 18:33:43 +13:00
jackettbot[bot]
0f47bfb95c Update rudub 2025-10-21 01:29:08 +00:00
ilike2burnthing
14e62f1b33 reelflix: remove old domain, update search modes 2025-10-20 22:55:05 +01:00
ilike2burnthing
bb0bee92f9 reelflix: add new domain 2025-10-20 22:30:16 +01:00
Garfield69
43d2f52950 concertos: -> 9.1.7 resolves #4975
switch from HTML uid/pswd scraping to JSON API with apikey
2025-10-21 06:21:18 +13:00
Garfield69
b0bf635db9 oxtorrent-vip: new domain 2025-10-21 05:22:26 +13:00
Garfield69
cdc2599209 magnetcat: bump alternate domain 2025-10-21 05:22:02 +13:00
jackettbot[bot]
c9cfbb6223 Update rudub 2025-10-20 01:29:26 +00:00
ilike2burnthing
ccba23696d krazyzone: update cats 2025-10-20 00:47:13 +01:00
Garfield69
8576ff1c3a torrentkitty: tv tld available again 2025-10-20 06:20:29 +13:00
Garfield69
752bdc5f31 torrent9: back to older domain 2025-10-20 06:20:04 +13:00
Garfield69
101df128b1 cangbaoge: prevent DL not found on some titles 2025-10-20 06:19:46 +13:00
Garfield69
22bc6f8b80 zktorrent: drop CA trust 2025-10-19 15:13:46 +13:00
Garfield69
29ff3d3c96 rudub workflow part 2 of 2 previous domain mom -> homes 2025-10-19 15:13:19 +13:00
jackettbot[bot]
8eb2080102 Update rudub 2025-10-19 01:29:26 +00:00
ilike2burnthing
2a4a5f86c5 task: update screenshots. resolves #16251 (#16252) 2025-10-19 00:05:38 +01:00
Garfield69
fd88de5785 rudub workflow part 1 of 2 current domain mom -> homes 2025-10-19 10:33:54 +13:00
Garfield69
17b9fb114a mejortorrent: bump domain 2025-10-19 05:23:01 +13:00
Garfield69
97cd23e30f isohunt2: new domain resolves #2023 2025-10-18 18:54:17 +13:00
Garfield69
0e301b485a Update shakaw.yml 2025-10-18 14:32:11 +13:00
jackettbot[bot]
b25a7b4dc3 Update rudub 2025-10-18 01:28:41 +00:00
Garfield69
40bdb750bd Update README.md 2025-10-18 14:07:34 +13:00
ilike2burnthing
644dca79b7 shakaw: add Brazilian private tracker. resolves #16248 (#16249)
https://github.com/Prowlarr/Indexers/pull/654
2025-10-18 01:59:38 +01:00
dependabot[bot]
3bda20c448 build(deps): bump actions/setup-node from 5 to 6 (#16246)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-18 01:47:36 +01:00
Garfield69
a60fe8c56d torrentcontrol: ignore anime for now. #16238
update docs info
per_page now has a max of 20, default of 20 so dropping per_page 100
2025-10-18 13:02:55 +13:00
Garfield69
8456803fec megamixtracker: CA expired 2025-10-18 06:14:18 +13:00
Garfield69
26eedad010 torrentcontrol: new cat #16238 2025-10-18 05:39:27 +13:00
Garfield69
819ec9090a kickasstorrents-to: new cat 2025-10-18 05:38:51 +13:00
Garfield69
f6973274a8 dontorrent: new domain 2025-10-17 18:33:22 +13:00
jackettbot[bot]
a1d4a63e2f Update rudub 2025-10-17 01:29:02 +00:00
Garfield69
1ef2211919 sportscult: new cat 2025-10-17 05:28:29 +13:00
Garfield69
986b881f78 torrentqq: bump domains 2025-10-17 05:10:14 +13:00
jackettbot[bot]
9f50042c0a Update rudub 2025-10-16 01:29:16 +00:00
Garfield69
ecbdac690b turktorrent: pay2dl and drop posters. #4268 2025-10-16 12:36:09 +13:00
ilike2burnthing
94ba5a724b turktorrent: remove test strdump
whoops
2025-10-15 23:19:52 +01:00
ilike2burnthing
9b45427687 turktorrent: update search input value & row selector #4268 2025-10-15 23:17:43 +01:00
Garfield69
7d5c48d873 turktorrent: new login test 2025-10-16 06:02:03 +13:00
Garfield69
e8e74e3e28 arenabg: CA expired 2025-10-16 05:34:16 +13:00
Garfield69
3550c6bf21 xthor: new domain. resolves #16243 2025-10-16 05:13:21 +13:00
Garfield69
42b159a801 torrenttip: bump domain 2025-10-16 05:12:44 +13:00
Garfield69
372ff66510 torrentsome: bump domain 2025-10-16 05:12:33 +13:00
Garfield69
0bc25d77c9 magnetcat: bump alternate domains 2025-10-16 05:12:16 +13:00
Garfield69
6aa8df9135 kickasstorrents-to: new cat 2025-10-16 05:11:49 +13:00
Garfield69
c396def330 Update README.md 2025-10-15 22:17:20 +13:00
Garfield69
e2b575cadb magnetcat: drop one of the alternate domains
its been suspended
2025-10-15 18:42:35 +13:00
jackettbot[bot]
1c67900f92 Update rudub 2025-10-15 01:29:05 +00:00
Garfield69
d80c40b74f sportscult: new cats 2025-10-15 05:37:47 +13:00
Garfield69
698549ea6b kickasstorrents-to: new cat 2025-10-15 05:37:29 +13:00
Garfield69
b06e92d10a RFE: -> 9.1.7 resolves #9236 2025-10-14 16:12:33 +13:00
jackettbot[bot]
a631866391 Update rudub 2025-10-14 01:28:58 +00:00
ilike2burnthing
a46017f841 sbpt: remove MR 2025-10-13 23:50:29 +01:00
ilike2burnthing
cd040177b4 sbpt: add MST
Add minimum seed time configuration to sbpt.yml
2025-10-13 18:18:24 +01:00
Garfield69
9f9a2a0ea4 phoenixproject: removed. resolves #15911 2025-10-14 05:59:35 +13:00
Garfield69
c49eda66c6 uztracker: fix DLVF resolves #16241 2025-10-14 05:39:57 +13:00
Garfield69
bd966412c0 oxtorrent-vip: new alternate domain 2025-10-14 05:39:11 +13:00
Garfield69
279090e18c magnetcat: bump alternate domains 2025-10-14 05:38:54 +13:00
Garfield69
dc4d36af5f kickasstorrents-to: new cat 2025-10-14 05:38:37 +13:00
Garfield69
7229dd2416 bitsearch: new cat. resolves #16240 2025-10-14 05:38:20 +13:00
ilike2burnthing
a6fa82ccb9 torrentcontrol: typo fix 2025-10-13 15:56:09 +01:00
53 changed files with 775 additions and 630 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)
@@ -473,7 +474,6 @@ Prior versions of Jackett are no longer supported.
* PassThePopcorn (PTP) [![(invite needed)][inviteneeded]](#)
* Peeratiko
* Peers.FM
* Phoenix Project
* PigNetwork (猪猪网)
* PixelCove (Ultimate Gamer)
* PiXELHD (PxHD) [![(invite needed)][inviteneeded]](#)
@@ -524,11 +524,11 @@ Prior versions of Jackett are no longer supported.
* SeedFile (SF)
* seedpool
* SewerPT (下水道) [![(invite needed)][inviteneeded]](#)
* SexTorrent
* SFP (Share Friends Projekt)
* ShaKaw [![(invite needed)][inviteneeded]](#)
* Shareisland
* Shazbat
* SiamBIT
* SiamBIT [PAY2DL]
* SkipTheCommercials
* SnowPT (SSPT)
* SoulVoice (聆音Club) [![(invite needed)][inviteneeded]](#)
@@ -591,7 +591,7 @@ Prior versions of Jackett are no longer supported.
* Trellas (Magico) [![(invite needed)][inviteneeded]](#)
* TreZzoR
* TurkSeed (Aturk)
* TurkTorrent (TT)
* TurkTorrent (TT) [PAY2DL]
* TV Chaos UK (TVCUK)
* TVstore
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
@@ -800,7 +800,7 @@ macOS 13.0+ (Ventura) or greater
3. If the installation was a success, you can close the Terminal window.
The service will start on each logon. You can always stop it by running `launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist` from Terminal. You can start it again it using `launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist`.
Logs are stored as usual under `~/.config/Jackett/log.txt`.
Logs are stored as usual under `~/.config/Jackett/log.txt` or `/Users/your-user-name/Library/Application Support/Jackett/log.txt`.
### Run without installing as a service
Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Binaries.macOSARM64.tar.gz` release from the [releases](https://github.com/Jackett/Jackett/releases/latest) page and run Jackett with the command `./jackett`.

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

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

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

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

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

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

@@ -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,10 @@ 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}
@@ -49,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

@@ -9,21 +9,12 @@ encoding: UTF-8
links:
- https://magnetcatcat.com/
- https://clmclm.com/
- https://www.8800498.xyz/
- https://www.8800497.xyz/
- https://www.8800499.xyz/
- https://www.8800500.xyz/
- https://www.8800508.xyz/
- https://www.8800509.xyz/
- https://www.8800510.xyz/
- https://www.8800511.xyz/
legacylinks:
- https://www.8800460.xyz/
- https://www.8800473.xyz/
- https://www.8800474.xyz/
- https://www.8800476.xyz/
- https://www.clm472.sbs/
- https://www.8800475.xyz
- https://www.8800477.xyz
- https://www.8800478.xyz
- https://www.8800479.xyz
- https://www.8800484.xyz
- https://www.8800485.xyz
- https://www.8800481.xyz
- https://www.8800483.xyz
@@ -33,6 +24,15 @@ legacylinks:
- https://www.8800493.xyz/
- https://www.8800494.xyz/
- https://www.8800490.xyz/
- https://www.8800498.xyz/
- https://www.8800497.xyz/
- https://www.8800499.xyz/
- https://www.8800500.xyz/
- https://www.8800503.xyz/
- https://www.8800504.xyz/
- https://www.8800505.xyz/
- https://www.8800506.xyz/
- https://www.8800507.xyz/
caps:
categorymappings:

View File

@@ -5,6 +5,8 @@ description: "MegamixTracker is a HUNGARIAN Private Tracker for MOVIES / TV"
language: hu-HU
type: private
encoding: ISO-8859-2
certificates:
- 00282e65048fabb713980ba1d7015a7512eb5224 # Expired 18th OCt 2025
links:
- https://megamixtracker.hu/

View File

@@ -254,9 +254,9 @@ caps:
- {id: 1295, cat: TV, desc: " |- Общественно-политические и пропагандистские ток-шоу"}
- {id: 614, cat: TV, desc: " |- Религии и культы (Док/TV)"}
- {id: 603, cat: TV, desc: "Спорт и активный отдых"}
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира 2022"}
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы 2020-2021"}
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира 2021"}
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира"}
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы"}
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира"}
- {id: 1194, cat: TV, desc: " |- Летние Олимпийские игры и Паралимпийские игры"}
- {id: 1062, cat: TV, desc: " |- Зимние Олимпийские игры и Паралимпийские игры"}
- {id: 974, cat: TV, desc: " |- Футбол"}
@@ -430,8 +430,10 @@ caps:
- {id: 1255, cat: Audio/Lossless, desc: " |- Классика (сборники) (Lossless)"}
- {id: 376, cat: Audio, desc: " |- Классика (сборники)"}
- {id: 326, cat: Audio, desc: "Jazz, Blues, Soul"}
- {id: 1352, cat: Audio, desc: " |- Jazz (Hi-Res)"}
- {id: 359, cat: Audio/Lossless, desc: " |- Jazz (Lossless)"}
- {id: 358, cat: Audio, desc: " |- Jazz"}
- {id: 1353, cat: Audio, desc: " |- Blues, Soul (Hi-Res)"}
- {id: 1188, cat: Audio/Lossless, desc: " |- Blues, Soul (Lossless)"}
- {id: 1189, cat: Audio, desc: " |- Blues, Soul"}
- {id: 328, cat: Audio, desc: "Шансон, Авторская и Военная песня"}
@@ -442,14 +444,18 @@ caps:
- {id: 1179, cat: Audio/Lossless, desc: " |- Авторская и Военная песня (Lossless)"}
- {id: 879, cat: Audio, desc: " |- Авторская и Военная песня"}
- {id: 322, cat: Audio, desc: "Rock, Alternative, Punk, Metal"}
- {id: 1350, cat: Audio, desc: " |- Rock (Hi-Res)"}
- {id: 962, cat: Audio/Lossless, desc: " |- Rock (Lossless)"}
- {id: 333, cat: Audio, desc: " |- Rock"}
- {id: 1356, cat: Audio, desc: " |- Alternative, Punk (Hi-Res)"}
- {id: 965, cat: Audio/Lossless, desc: " |- Alternative, Punk (Lossless)"}
- {id: 336, cat: Audio, desc: " |- Alternative, Punk"}
- {id: 337, cat: Audio/Lossless, desc: " |- Hard Rock (Lossless)"}
- {id: 338, cat: Audio, desc: " |- Hard Rock"}
- {id: 1351, cat: Audio, desc: " |- Metal (Hi-Res)"}
- {id: 963, cat: Audio/Lossless, desc: " |- Metal (Lossless)"}
- {id: 334, cat: Audio, desc: " |- Metal"}
- {id: 1357, cat: Audio, desc: " |- Русский Рок (Hi-Res)"}
- {id: 961, cat: Audio/Lossless, desc: " |- Русский Рок (Lossless)"}
- {id: 332, cat: Audio, desc: " |- Русский рок"}
- {id: 325, cat: Audio, desc: "Pop"}
@@ -512,6 +518,7 @@ caps:
- {id: 1213, cat: Audio/Lossless, desc: " |- Other Asian (Lossless)"}
- {id: 367, cat: Audio, desc: " |- Other Asian"}
- {id: 331, cat: Audio, desc: "Other Styles"}
- {id: 1358, cat: Audio, desc: " |- Instrumental (Hi-Res)"}
- {id: 1157, cat: Audio/Lossless, desc: " |- Instrumental (Lossless)"}
- {id: 711, cat: Audio, desc: " |- Instrumental"}
- {id: 1159, cat: Audio/Lossless, desc: " |- New Age/Meditative/Relax (Lossless)"}

View File

@@ -252,9 +252,9 @@ caps:
- {id: 1295, cat: TV, desc: " |- Общественно-политические и пропагандистские ток-шоу"}
- {id: 614, cat: TV, desc: " |- Религии и культы (Док/TV)"}
- {id: 603, cat: TV, desc: "Спорт и активный отдых"}
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира 2022"}
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы 2020-2021"}
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира 2021"}
- {id: 1308, cat: TV, desc: " |- Хоккей. Чемпионат мира"}
- {id: 1309, cat: TV, desc: " |- Футбол. Чемпионат Европы"}
- {id: 1206, cat: TV, desc: " |- Футбол. Чемпионат Мира"}
- {id: 1194, cat: TV, desc: " |- Летние Олимпийские игры и Паралимпийские игры"}
- {id: 1062, cat: TV, desc: " |- Зимние Олимпийские игры и Паралимпийские игры"}
- {id: 974, cat: TV, desc: " |- Футбол"}
@@ -428,8 +428,10 @@ caps:
- {id: 1255, cat: Audio/Lossless, desc: " |- Классика (сборники) (Lossless)"}
- {id: 376, cat: Audio, desc: " |- Классика (сборники)"}
- {id: 326, cat: Audio, desc: "Jazz, Blues, Soul"}
- {id: 1352, cat: Audio, desc: " |- Jazz (Hi-Res)"}
- {id: 359, cat: Audio/Lossless, desc: " |- Jazz (Lossless)"}
- {id: 358, cat: Audio, desc: " |- Jazz"}
- {id: 1353, cat: Audio, desc: " |- Blues, Soul (Hi-Res)"}
- {id: 1188, cat: Audio/Lossless, desc: " |- Blues, Soul (Lossless)"}
- {id: 1189, cat: Audio, desc: " |- Blues, Soul"}
- {id: 328, cat: Audio, desc: "Шансон, Авторская и Военная песня"}
@@ -440,14 +442,18 @@ caps:
- {id: 1179, cat: Audio/Lossless, desc: " |- Авторская и Военная песня (Lossless)"}
- {id: 879, cat: Audio, desc: " |- Авторская и Военная песня"}
- {id: 322, cat: Audio, desc: "Rock, Alternative, Punk, Metal"}
- {id: 1350, cat: Audio, desc: " |- Rock (Hi-Res)"}
- {id: 962, cat: Audio/Lossless, desc: " |- Rock (Lossless)"}
- {id: 333, cat: Audio, desc: " |- Rock"}
- {id: 1356, cat: Audio, desc: " |- Alternative, Punk (Hi-Res)"}
- {id: 965, cat: Audio/Lossless, desc: " |- Alternative, Punk (Lossless)"}
- {id: 336, cat: Audio, desc: " |- Alternative, Punk"}
- {id: 337, cat: Audio/Lossless, desc: " |- Hard Rock (Lossless)"}
- {id: 338, cat: Audio, desc: " |- Hard Rock"}
- {id: 1351, cat: Audio, desc: " |- Metal (Hi-Res)"}
- {id: 963, cat: Audio/Lossless, desc: " |- Metal (Lossless)"}
- {id: 334, cat: Audio, desc: " |- Metal"}
- {id: 1357, cat: Audio, desc: " |- Русский Рок (Hi-Res)"}
- {id: 961, cat: Audio/Lossless, desc: " |- Русский Рок (Lossless)"}
- {id: 332, cat: Audio, desc: " |- Русский рок"}
- {id: 325, cat: Audio, desc: "Pop"}
@@ -510,6 +516,7 @@ caps:
- {id: 1213, cat: Audio/Lossless, desc: " |- Other Asian (Lossless)"}
- {id: 367, cat: Audio, desc: " |- Other Asian"}
- {id: 331, cat: Audio, desc: "Other Styles"}
- {id: 1358, cat: Audio, desc: " |- Instrumental (Hi-Res)"}
- {id: 1157, cat: Audio/Lossless, desc: " |- Instrumental (Lossless)"}
- {id: 711, cat: Audio, desc: " |- Instrumental"}
- {id: 1159, cat: Audio/Lossless, desc: " |- New Age/Meditative/Relax (Lossless)"}

View File

@@ -10,7 +10,7 @@ type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.my/
links:
- https://www.nortorrent.net/
- https://www.nortorrent.town/
legacylinks:
# latest domains list
- https://www.rantop.my/
@@ -26,7 +26,6 @@ legacylinks:
- https://torrent9.news/
- https://www.site-torrent.com/
# actual legacylinks
- https://www.torrent9.ing/
- https://www.torrent9.run/
- https://www.torrent9.cv/
- https://www.torrent9.ke/
@@ -41,6 +40,7 @@ legacylinks:
- https://www.nortorrent4.com/
- https://www.nortorrent5.com/
- https://www.nortorrent6.com/
- https://www.nortorrent.net/
caps:
categorymappings:

View File

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

@@ -12,44 +12,44 @@ legacylinks:
caps:
categorymappings:
- {id: 1, cat: TV/Sport, desc: "BTCC"}
- {id: 2, cat: TV/Sport, desc: "TV-Documentaries"}
- {id: 3, cat: TV/Sport, desc: "DTM"}
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
- {id: 23, cat: TV/Sport, desc: "Formula E"}
- {id: 24, cat: TV/Sport, desc: "Misc"}
- {id: 25, cat: TV/Sport, desc: "Other Bikes"}
- {id: 26, cat: TV/Sport, desc: "MotoGP-2-3-E"}
- {id: 31, cat: TV/Sport, desc: "Nascar"}
- {id: 32, cat: TV/Sport, desc: "Stock Car Brazil"}
- {id: 50, cat: TV/Sport, desc: "WRC"}
- {id: 55, cat: TV/Sport, desc: "Season Reviews"}
- {id: 56, cat: TV/Sport, desc: "WRX"}
- {id: 57, cat: TV/Sport, desc: "WEC"}
- {id: 58, cat: TV/Sport, desc: "W Series"}
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
- {id: 61, cat: TV/Sport, desc: "ERC"}
- {id: 62, cat: TV/Sport, desc: "Indycar Series"}
- {id: 63, cat: TV/Sport, desc: "Supercars"}
- {id: 66, cat: TV/Sport, desc: "Documentaries"}
- {id: 67, cat: TV/Sport, desc: "Formula 1"}
- {id: 68, cat: TV/Sport, desc: "Formula 3"}
- {id: 69, cat: TV/Sport, desc: "Other Cars"}
- {id: 70, cat: TV/Sport, desc: "Motorsport Movies"}
- {id: 71, cat: TV/Sport, desc: "WSBK"}
- {id: 72, cat: TV/Sport, desc: "AMA Pro Motocross"}
- {id: 73, cat: TV/Sport, desc: "AMA Supercross"}
- {id: 74, cat: TV/Sport, desc: "WTCR"}
- {id: 76, cat: TV/Sport, desc: "ARCA"}
- {id: 77, cat: TV/Sport, desc: "Blancpain GT"}
- {id: 78, cat: TV/Sport, desc: "Porsche Supercup"}
- {id: 79, cat: TV/Sport, desc: "TV Series"}
- {id: 80, cat: TV/Sport, desc: "Touring Cars"}
- {id: 1, cat: TV/Sport, desc: "BTCC"}
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
- {id: 3, cat: TV/Sport, desc: "DTM"}
- {id: 61, cat: TV/Sport, desc: "ERC"}
- {id: 81, cat: TV/Sport, desc: "Extreme E"}
- {id: 67, cat: TV/Sport, desc: "Formula 1"}
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
- {id: 68, cat: TV/Sport, desc: "Formula 3"}
- {id: 23, cat: TV/Sport, desc: "Formula E"}
- {id: 62, cat: TV/Sport, desc: "Indycar Series"}
- {id: 26, cat: TV/Sport, desc: "MotoGP-2-3-E"}
- {id: 31, cat: TV/Sport, desc: "Nascar"}
- {id: 25, cat: TV/Sport, desc: "Other Bikes"}
- {id: 69, cat: TV/Sport, desc: "Other Cars"}
- {id: 78, cat: TV/Sport, desc: "Porsche Supercup"}
- {id: 32, cat: TV/Sport, desc: "Stock Car Brazil"}
- {id: 63, cat: TV/Sport, desc: "Supercars"}
- {id: 80, cat: TV/Sport, desc: "Touring Cars"}
- {id: 57, cat: TV/Sport, desc: "WEC"}
- {id: 50, cat: TV/Sport, desc: "WRC"}
- {id: 56, cat: TV/Sport, desc: "WRX"}
- {id: 71, cat: TV/Sport, desc: "WSBK"}
- {id: 74, cat: TV/Sport, desc: "WTCR"}
- {id: 58, cat: TV/Sport, desc: "W Series"}
- {id: 55, cat: TV/Sport, desc: "Season Reviews"}
- {id: 66, cat: TV/Sport, desc: "Documentaries"}
- {id: 2, cat: TV/Sport, desc: "TV-Documentaries"}
- {id: 24, cat: TV/Sport, desc: "Misc"}
- {id: 70, cat: TV/Sport, desc: "Motorsport Movies"}
- {id: 79, cat: TV/Sport, desc: "TV Series"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
tv-search: [q, season, ep]
settings:
- name: apikey
@@ -58,11 +58,15 @@ settings:
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://racing4everyone.eu/\" target=\"_blank\">Racing4Everyone</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
default: "Find or Generate a new API Token by accessing your <a href=\"https://racing4everyone.eu/\" target=\"_blank\">Racing4Everyone</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: single_file_release_use_filename
type: checkbox
label: Use filename as title for single file releases
default: true
- name: sort
type: select
label: Sort requested from site
@@ -110,10 +114,7 @@ search:
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -127,27 +128,33 @@ search:
attribute: attributes
fields:
categorydesc:
selector: category
title:
category:
selector: category_id
title_optional:
selector: name
title_filename:
selector: "files[0].name"
optional: true
files:
selector: num_file
title:
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
details:
selector: details_link
download:
selector: download_link
poster:
selector: poster
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
files:
selector: num_file
_internal:
selector: internal
case:
False: "{{ .False }}"
True: "{{ .True }}"
description:
text: "{{ if .Result._internal }}Internal{{ else }}{{ end }}"
seeders:
selector: seeders
leechers:
@@ -164,7 +171,12 @@ search:
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
_featured:
selector: featured
case:
False: "{{ .False }}"
True: "{{ .True }}"
downloadvolumefactor_freeleech:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
@@ -174,12 +186,20 @@ search:
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
# api returns 0=false, 1=true
downloadvolumefactor:
text: "{{ if .Result._featured }}0{{ else }}{{ .Result.downloadvolumefactor_freeleech }}{{ end }}"
uploadvolumefactor_double_upload:
# api returns False, True
selector: double_upload
case:
0: 1 # normal
1: 2 # double
minimumratio:
text: 1.0
# json UNIT3D 6.0.4
False: 1 # normal
True: 2 # double
uploadvolumefactor:
text: "{{ if .Result._featured }}2{{ else }}{{ .Result.uploadvolumefactor_double_upload }}{{ end }}"
# global MR is 0.4 but torrents must be seeded for 2 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 9.1.7 (custom)

View File

@@ -19,6 +19,7 @@ caps:
- {id: 8, cat: Books, desc: "Book"}
- {id: 9, cat: Audio/Other, desc: "Podcast"}
- {id: 10, cat: TV/Sport, desc: "Sport"}
- {id: 11, cat: Other, desc: "3D Printable"}
- {id: 6, cat: XXX, desc: "XXX"}
modes:

View File

@@ -9,9 +9,10 @@ language: en-US
type: private
encoding: UTF-8
links:
- https://reelflix.xyz/
- https://reelflix.cc/
legacylinks:
- https://legacyhd.org/
- https://reelflix.xyz/
caps:
categorymappings:
@@ -19,10 +20,7 @@ caps:
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
settings:
- name: apikey
@@ -31,7 +29,7 @@ settings:
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://reelflix.xyz/\" target=\"_blank\">ReelFlix</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
default: "Find or Generate a new API Token by accessing your <a href=\"https://reelflix.cc/\" target=\"_blank\">ReelFlix</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -89,7 +87,6 @@ search:
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"

View File

@@ -990,6 +990,7 @@ search:
selector: dd.posts span.leech
grabs:
selector: dd.views span.complet
optional: true
date:
# 12 янв 2019, 11:26
selector: dt

View File

@@ -9,38 +9,38 @@ type: semi-private
encoding: windows-1251
followredirect: true
links:
- https://oct13.rudub.mom/
- https://oct26.rudub.homes/
legacylinks:
- 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://oct11.rudub.mom/
- http://oct12.rudub.mom/
- https://oct12.rudub.mom/
- http://oct13.rudub.mom/
- https://oct13.rudub.mom/
- http://oct14.rudub.mom/
- https://oct14.rudub.mom/
- http://oct15.rudub.mom/
- https://oct15.rudub.mom/
- http://oct16.rudub.mom/
- https://oct16.rudub.mom/
- http://oct17.rudub.mom/
- https://oct17.rudub.mom/
- http://oct18.rudub.mom/
- https://oct18.rudub.mom/
- http://oct19.rudub.homes/
- https://oct19.rudub.homes/
- http://oct20.rudub.homes/
- https://oct20.rudub.homes/
- http://oct21.rudub.homes/
- https://oct21.rudub.homes/
- http://oct22.rudub.homes/
- https://oct22.rudub.homes/
- http://oct23.rudub.homes/
- https://oct23.rudub.homes/
- http://oct24.rudub.homes/
- https://oct24.rudub.homes/
- http://oct25.rudub.homes/
- https://oct25.rudub.homes/
- http://oct26.rudub.homes/
caps:
categorymappings:
- {id: 1, cat: TV, desc: "TV"}

View File

@@ -187,8 +187,9 @@ search:
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
minimumratio:
text: 1.0
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

View File

@@ -1,195 +0,0 @@
# SexTorrent uses the Luminance code, which is based on gazelle
# ajax.php API additionally needs the auth=$authkey argument
# Because the API is e.g. missing poster images we use screen scraping instead of the generic gazelle based approach
---
id: sextorrent
name: SexTorrent
description: "SexTorrent is a Private Torrent Tracker for 3X"
language: en-US
type: private
encoding: UTF-8
links:
- https://sextorrent.eu/
caps:
categorymappings:
- {id: 63, cat: XXX, desc: "Hairy"}
- {id: 64, cat: XXX, desc: "Voyeur"}
- {id: 30, cat: XXX, desc: "Amateur"}
- {id: 29, cat: XXX, desc: "Anal"}
- {id: 27, cat: XXX, desc: "Asian"}
- {id: 26, cat: XXX, desc: "BBW"}
- {id: 44, cat: XXX, desc: "BDSM"}
- {id: 25, cat: XXX, desc: "Big Ass"}
- {id: 24, cat: XXX, desc: "Big Tits"}
- {id: 34, cat: XXX, desc: "Black"}
- {id: 66, cat: XXX, desc: "Busty"}
- {id: 23, cat: XXX, desc: "Classic"}
- {id: 33, cat: XXX, desc: "Creampie"}
- {id: 22, cat: XXX, desc: "Cumshot"}
- {id: 62, cat: XXX/DVD, desc: "DVD-R"}
- {id: 21, cat: XXX, desc: "Fetish"}
- {id: 19, cat: XXX, desc: "Gay / Bi"}
- {id: 18, cat: XXX, desc: "Hardcore"}
- {id: 32, cat: XXX, desc: "HD porn"}
- {id: 28, cat: XXX, desc: "Hentai / 3D"}
- {id: 17, cat: XXX, desc: "Homemade"}
- {id: 38, cat: XXX, desc: "Interracial"}
- {id: 48, cat: XXX, desc: "Latina"}
- {id: 16, cat: XXX, desc: "Lesbian"}
- {id: 61, cat: XXX, desc: "Lingerie"}
- {id: 56, cat: XXX/Other, desc: "Magazines"}
- {id: 60, cat: XXX/Other, desc: "Manga / Comic"}
- {id: 15, cat: XXX, desc: "Masturbation"}
- {id: 14, cat: XXX, desc: "Mature"}
- {id: 13, cat: XXX/Pack, desc: "Megapack"}
- {id: 55, cat: XXX, desc: "Milf"}
- {id: 49, cat: XXX, desc: "Natural Tits"}
- {id: 12, cat: XXX, desc: "Oral"}
- {id: 20, cat: XXX, desc: "Orgia / Gang Bang"}
- {id: 42, cat: XXX/Other, desc: "Other"}
- {id: 50, cat: XXX, desc: "Parody"}
- {id: 41, cat: XXX/WEB-DL, desc: "Paysite"}
- {id: 11, cat: XXX/ImageSet, desc: "Picture set"}
- {id: 40, cat: XXX, desc: "Piss"}
- {id: 43, cat: XXX/Other, desc: "Porn Music Videos"}
- {id: 67, cat: XXX, desc: "POV"}
- {id: 45, cat: XXX, desc: "Pregnant / Preggo"}
- {id: 57, cat: XXX, desc: "Scat/Puke"}
- {id: 10, cat: XXX, desc: "Shemale / TS"}
- {id: 51, cat: XXX/WEB-DL, desc: "Siterip"}
- {id: 52, cat: XXX, desc: "Softcore"}
- {id: 53, cat: XXX, desc: "Squirt"}
- {id: 9, cat: XXX, desc: "Straight"}
- {id: 8, cat: XXX, desc: "Tini"}
- {id: 65, cat: XXX, desc: "Virtual Reality"}
- {id: 7, cat: XXX/Other, desc: "XXX Games / Program"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: time
options:
time: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_activity
type: info
label: Account Inactivity
default: "After 4 months of no activity (no login) your account will be disabled."
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
cinfo: "2550|1350|24|-60"
keeplogged: 1
selectorinputs:
token:
selector: input[name="token"]
attribute: value
error:
# invalid credentials error is added by JS, this is the IP ban error
- selector: div.thin > div > h2
test:
path: index.php
selector: "#nav_userinfo"
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
title: "{{ .Keywords }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
action: advanced
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
rows:
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
fields:
download:
selector: a[href^="/torrents.php?action=download&id="]
attribute: href
description_tags:
selector: div.tags
description:
case:
span.icon[title*="okay"]: "Verified: {{ .Result.description_tags }}"
"*": "Unverified: {{ .Result.description_tags }}"
title:
selector: a[href^="/torrents.php?id="]
category:
selector: a[href*="filter_cat"]
attribute: href
filters:
- name: regexp
args: "(\\d+)]=1"
details:
selector: a[href^="/torrents.php?id="]
attribute: href
poster:
selector: td:nth-child(2) > script
filters:
- name: regexp
args: "src=(.*?)>"
- name: re_replace
args: ["[\\\\\"]", ""]
- name: replace
args: ["/static/common/noartwork/noimage.png", ""]
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(5) > span
attribute: title
# auto adjusted by site account profile
filters:
- name: dateparse
args: "MMM dd yyyy, HH:mm"
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
i.unlimited_leech: 0
i.sitewide_leech: 0
img[alt="Freeleech"]: 0
"*": 1
uploadvolumefactor:
case:
span.icon[title*="DoubleSeed"]: 2
img[alt="DoubleSeed"]: 2
"*": 1
minimumratio:
text: 0.5
# luminance

View File

@@ -0,0 +1,127 @@
---
id: shakaw
name: ShaKaw
description: "ShaKaw is a BRAZILIAN Private Torrent Tracker for ANIME"
language: pt-BR
type: private
encoding: UTF-8
requestDelay: 2
links:
- https://tracker.shakaw.com.br/
caps:
categorymappings:
- {id: 0, cat: TV/Anime, desc: "Selecione"}
- {id: 1, cat: TV/Anime, desc: "Completo"}
- {id: 2, cat: TV/Anime, desc: "Série"}
- {id: 3, cat: Movies, desc: "Filme"}
- {id: 4, cat: TV/Anime, desc: "OVA"}
- {id: 5, cat: Books, desc: "Manga"}
- {id: 6, cat: TV/Anime, desc: "Especial"}
- {id: 7, cat: TV/Anime, desc: "Promo"}
- {id: 8, cat: TV, desc: "Tokusatsu"}
- {id: 9, cat: TV, desc: "Live Action"}
- {id: 12, cat: TV, desc: "Dorama"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
login:
method: form
path: entrar.php
submitpath: pagina_inicial.php?acao=login
form: form[action="pagina_inicial.php?acao=login"]
captcha:
type: image
selector: img[alt="Carregando captcha..."]
input: captcha
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: h1#h1_aviso
message:
selector: div#div_aviso > p
test:
path: pagina_inicial.php
selector: a[href="sair.php"]
search:
paths:
- path: torrents.php
inputs:
palavra_chave: "{{ .Keywords }}"
# selecione (default), Com seeders (has seeders), Sem seeders (without seeders), Golden, Sem Golden (not Golden)
situacao: "{{ if .Config.freeleech }}golden{{ else }}selecione{{ end }}"
rows:
selector: table#tabela_torrents > tbody > tr
fields:
category:
selector: div.div_categoria_torrent > a
attribute: href
filters:
- name: querystring
args: categoria_id
title:
selector: a.link_torrent, a.link_golden_torrent
details:
selector: a.link_torrent, a.link_golden_torrent
attribute: href
download:
selector: a.link_download
attribute: href
date:
selector: td:nth-child(4)
filters:
- name: trim
- name: replace
args: ["h", ":"]
- name: re_replace
args: ["^(.{5})", "$1 "]
- name: append
args: " -03:00" # America/Sao_Paulo
- name: dateparse
args: "HH:mm dd/MM/yyyy zzz"
size:
selector: td[title="Tamanho"]
files:
selector: td[title="Quantidade de Arquivos"] > a
grabs:
selector: td[title="Quantos Completaram"]
seeders:
selector: td[title="Quantidade de Seeders"] > a
leechers:
selector: td[title="Quantidade de Leechers"] > a
genre:
selector: div.tags_da_linha_da_tabela
filters:
- name: regexp
args: "\\[(.+?)\\]"
description:
selector: td:nth-child(10)
downloadvolumefactor:
case:
span.icone_golden_torrent: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.6
# engine n/a

View File

@@ -1,7 +1,7 @@
---
id: siambit
name: SiamBIT
description: "SiamBIT is a THAI Private Torrent Tracker for GENERAL"
description: "SiamBIT is a THAI PAY2DL Private Torrent Tracker for GENERAL"
language: th-TH
type: private
encoding: tis-620
@@ -148,8 +148,7 @@ search:
fields:
category:
# the last selector is temporary as the site has apparently not yet updated their html for the cat links ;-)
selector: a[href^="viewno18sbx.php?cat="], a[href^="viewbrsb.php?cat="], a[href^="viewno18sb.php?cat="]
selector: a[href*=".php?cat="]
attribute: href
filters:
- name: querystring
@@ -162,59 +161,62 @@ search:
download:
selector: a[href^="details.php?id="]
attribute: href
poster:
selector: img[alt="Poster"]
attribute: src
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
files:
selector: td:nth-child(5)
selector: td:nth-child(6)
date:
selector: td:nth-child(7)
selector: td:nth-child(8)
filters:
- name: append
args: " +07:00" # ICT
- name: dateparse
args: "dd-MM-yyyyHH:mm:ss zzz"
size:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
seeders:
grabs:
selector: td:nth-child(10)
leechers:
seeders:
selector: td:nth-child(11)
leechers:
selector: td:nth-child(12)
downloadvolumefactor:
case:
"td:nth-child(3):contains(\"100%\")": 0
"td:nth-child(3):contains(\"95%\")": 0.05
"td:nth-child(3):contains(\"90%\")": 0.1
"td:nth-child(3):contains(\"85%\")": 0.15
"td:nth-child(3):contains(\"80%\")": 0.2
"td:nth-child(3):contains(\"75%\")": 0.25
"td:nth-child(3):contains(\"70%\")": 0.3
"td:nth-child(3):contains(\"65%\")": 0.35
"td:nth-child(3):contains(\"60%\")": 0.4
"td:nth-child(3):contains(\"55%\")": 0.45
"td:nth-child(3):contains(\"50%\")": 0.5
"td:nth-child(3):contains(\"45%\")": 0.55
"td:nth-child(3):contains(\"40%\")": 0.6
"td:nth-child(3):contains(\"35%\")": 0.65
"td:nth-child(3):contains(\"30%\")": 0.7
"td:nth-child(3):contains(\"25%\")": 0.75
"td:nth-child(3):contains(\"20%\")": 0.8
"td:nth-child(3):contains(\"15%\")": 0.85
"td:nth-child(3):contains(\"10%\")": 0.9
"td:nth-child(3):contains(\"5%\")": 0.95
"td:nth-child(4):contains(\"100%\")": 0
"td:nth-child(4):contains(\"95%\")": 0.05
"td:nth-child(4):contains(\"90%\")": 0.1
"td:nth-child(4):contains(\"85%\")": 0.15
"td:nth-child(4):contains(\"80%\")": 0.2
"td:nth-child(4):contains(\"75%\")": 0.25
"td:nth-child(4):contains(\"70%\")": 0.3
"td:nth-child(4):contains(\"65%\")": 0.35
"td:nth-child(4):contains(\"60%\")": 0.4
"td:nth-child(4):contains(\"55%\")": 0.45
"td:nth-child(4):contains(\"50%\")": 0.5
"td:nth-child(4):contains(\"45%\")": 0.55
"td:nth-child(4):contains(\"40%\")": 0.6
"td:nth-child(4):contains(\"35%\")": 0.65
"td:nth-child(4):contains(\"30%\")": 0.7
"td:nth-child(4):contains(\"25%\")": 0.75
"td:nth-child(4):contains(\"20%\")": 0.8
"td:nth-child(4):contains(\"15%\")": 0.85
"td:nth-child(4):contains(\"10%\")": 0.9
"td:nth-child(4):contains(\"5%\")": 0.95
"*": 1
uploadvolumefactor:
case:
"td:nth-child(4):contains(\"x2\")": 2
"td:nth-child(4):contains(\"x3\")": 3
"td:nth-child(4):contains(\"x4\")": 4
"td:nth-child(4):contains(\"x5\")": 5
"td:nth-child(4):contains(\"x6\")": 6
"td:nth-child(4):contains(\"x7\")": 7
"td:nth-child(4):contains(\"x8\")": 8
"td:nth-child(4):contains(\"x9\")": 9
"td:nth-child(5):contains(\"x2\")": 2
"td:nth-child(5):contains(\"x3\")": 3
"td:nth-child(5):contains(\"x4\")": 4
"td:nth-child(5):contains(\"x5\")": 5
"td:nth-child(5):contains(\"x6\")": 6
"td:nth-child(5):contains(\"x7\")": 7
"td:nth-child(5):contains(\"x8\")": 8
"td:nth-child(5):contains(\"x9\")": 9
"*": 1
minimumratio:
text: 1.0

View File

@@ -99,7 +99,10 @@ caps:
- {id: 99, cat: TV/Sport, desc: "Darts"}
- {id: 100, cat: TV/Sport, desc: "ESport"}
- {id: 6, cat: TV/Sport, desc: "European Soccer"}
- {id: 101, cat: TV/Sport, desc: "EuroCup"}
- {id: 102, cat: TV/Sport, desc: "Ultimate Diskk"}
- {id: 52, cat: TV/Sport, desc: "Field Hockey"}
- {id: 103, cat: TV/Sport, desc: "Basketball Champions"}
- {id: 58, cat: TV/Sport, desc: "UFC"}
- {id: 57, cat: TV/Sport, desc: "NRL"}

View File

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

@@ -1,17 +1,19 @@
---
id: torrentcontrol
name: TorrentControl (API)
description: "TorrentControl (API) is a Public Torrent Tracker for MOVIES / TV"
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}
- {id: series, cat: TV, desc: Series}
- {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]
@@ -21,20 +23,26 @@ caps:
settings: []
search:
# docs: https://torrentcontrol.pw/en/api-docs
paths:
# docs: https://torrentcontrol.pw/openapi.yaml
- path: api/v1/torrents
# 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]
inputs:
per_page: 100
search: "{{ .Keywords }}"
- 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
# filters:
# - name: andmatch
fields:
category:
@@ -65,7 +73,7 @@ search:
- 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 }}"
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 }}"

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,13 +7,9 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq389.com/
- https://torrentegg79.com/
- https://torrentqq391.com/
- https://torrentegg81.com/
legacylinks:
- https://torrentegg65.com/
- https://torrentqq374.com/
- https://torrentegg66.com/
- https://torrentqq375.com/
- https://torrentegg67.com/
- https://torrentqq376.com/
- https://torrentegg68.com/
@@ -39,6 +35,10 @@ legacylinks:
- https://torrentegg77.com/
- https://torrentqq388.com/
- https://torrentegg78.com/
- https://torrentqq389.com/
- https://torrentegg79.com/
- https://torrentqq390.com/
- https://torrentegg80.com/
caps:
categorymappings:

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
---
id: turktorrent
name: TurkTorrent
description: "TurkTorrent (TT) is a TURKISH Private Torrent Tracker for MOVIES / TV / GENERAL"
description: "TurkTorrent (TT) is a TURKISH Private PAY2DL Torrent Tracker for MOVIES / TV / GENERAL"
language: tr-TR
type: private
encoding: UTF-8
@@ -117,7 +117,7 @@ login:
cookie: "{{ .Config.cookie }}"
test:
path: ?p=home&pid=1
selector: div#member_info_bar
selector: a#logout
search:
headers:
@@ -130,7 +130,7 @@ search:
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
keywords: "{{ .Keywords }}"
# name description both uploader
search_type: name
search_type: names
"sortOptions[sortBy]": "{{ .Config.sort }}"
"sortOptions[sortOrder]": "{{ .Config.type }}"
@@ -139,7 +139,7 @@ search:
args: ["\\b(\\d{4})\\.(\\d{2})\\.(\\d{2})\\b", "$3.$2.$1"]
rows:
selector: "table#torrents_table_classic > tbody > tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
selector: "table#torrents_tables_classic > tbody > tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
fields:
category:
@@ -199,9 +199,6 @@ search:
selector: a[rel="torrent_leechers"]
grabs:
selector: a[rel="times_completed"]
poster:
selector: a[rel="fancybox"]
attribute: href
downloadvolumefactor:
case:
"img[src$=\"/freedownload.gif\"]": 0

View File

@@ -125,7 +125,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 +230,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 +414,7 @@ search:
# unix
selector: td:last-child > u
downloadvolumefactor:
text: 1
text: 0
uploadvolumefactor:
text: 1
description:

View File

@@ -7,11 +7,12 @@ type: private
encoding: windows-1252
requestDelay: 2.5
links:
- https://xthor.tk/
- https://xthor.help/
legacylinks:
- https://xthor.bz/
- https://xthor.to/
- https://xthor.tk
- https://xthor.tk/
caps:
categorymappings:
@@ -95,7 +96,7 @@ settings:
- name: info_key
type: info
label: About your Passkey
default: "Find your Passkey on <a href=\"https://xthor.tk/api_doc.php\" target =_blank>Xthor > API page</a>."
default: "Find your Passkey on <a href=\"https://xthor.help/api_doc.php\" target =_blank>Xthor > API page</a>."
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -121,7 +122,7 @@ settings:
default: false
login:
path: "https://api.xthor.tk/"
path: "https://api.xthor.help/"
method: get
inputs:
passkey: "{{ .Config.passkey }}"
@@ -132,8 +133,8 @@ login:
search:
paths:
# https://api.xthor.tk/?passkey=<redacted>&search=&category=&freeleech=&tmdbid=&size=&accent=&price=&page=
- path: "https://api.xthor.tk/"
# https://api.xthor.help/?passkey=<redacted>&search=&category=&freeleech=&tmdbid=&size=&accent=&price=&page=
- path: "https://api.xthor.help/"
inputs:
passkey: "{{ .Config.passkey }}"
category: "{{ if .Categories }}{{ range .Categories }}{{.}}+{{end}}{{ else }}{{ end }}"

View File

@@ -7,11 +7,9 @@ description: "ZkTorrent is a FRENCH Public site for MOVIES / TV / GENERAL"
language: fr-FR
type: public
encoding: UTF-8
certificates:
- 6daab5aed021a47614f439584fc450bde16cb528 # cloudflare
# to fetch current domain use https://www.rantop.my/
links:
- https://www.zktorrent6.com/
- https://www.zktorrent.town/
legacylinks:
# latest domains list
- https://www.rantop.my/
@@ -27,7 +25,6 @@ legacylinks:
- https://gktorrent.news/
- https://www.site-torrent.com/
# actual legacylinks
- https://www.gktorrent.gy/
- https://www.gktorrent.si/
- https://www.gktorrent.my/
- https://www.gktorrent.cz/
@@ -42,6 +39,7 @@ legacylinks:
- https://www.zktorrent4.com/
- https://www.zktorrent5.com/
- https://www.zktorrent.net/
- https://www.zktorrent6.com/
caps:
categorymappings:

View File

@@ -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.live/";
public override string[] AlternativeSiteLinks => new[]
{
"https://dontorrent.kids/",
"https://dontorrent.live/",
"https://todotorrents.org/",
"https://tomadivx.net/",
"https://seriesblanco.one/",
@@ -41,8 +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/",
@@ -56,6 +54,8 @@ namespace Jackett.Common.Indexers.Definitions
"https://dontorrent.lighting/",
"https://dontorrent.istanbul/",
"https://dontorrent.onl/",
"https://dontorrent.kids/",
"https://dontorrent.kiwi/",
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -0,0 +1,209 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;
using Jackett.Common.Extensions;
using Jackett.Common.Indexers.Definitions.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using Jackett.Common.Utils.Clients;
using NLog;
using WebClient = Jackett.Common.Utils.Clients.WebClient;
namespace Jackett.Common.Indexers.Definitions
{
public class HDRTorrent : PublicBrazilianIndexerBase
{
public override string Id => "hdrtorrent";
public override string Name => "HDRTorrent";
public override string SiteLink { get; protected set; } = "https://hdrtorrent.com/";
public HDRTorrent(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService, wc, l, ps, cs)
{
}
public override IParseIndexerResponse GetParser() => new HDRTorrentParser(webclient);
public override IIndexerRequestGenerator GetRequestGenerator() => new SimpleRequestGenerator(SiteLink, searchQueryParamsKey: "index.php?s=");
}
public class HDRTorrentParser : PublicBrazilianParser
{
private readonly WebClient _webclient;
protected string Tracker;
public HDRTorrentParser(WebClient webclient)
{
_webclient = webclient;
Tracker = "HDRTorrent";
}
private Dictionary<string, string> ExtractFileInfo(IDocument detailsDom)
{
var fileInfo = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
var infoSection = detailsDom.QuerySelector("div.infos p");
if (infoSection == null)
return fileInfo;
var lines = infoSection.InnerHtml.Split(new[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var line in lines)
{
if (line.Contains("<b>") && line.Contains(":"))
{
var parts = line.Split(new[] { ':' }, 2);
if (parts.Length == 2)
{
var key = parts[0].Replace("<b>", "").Replace("</b>", "").Trim();
var value = parts[1]
.Replace("<b>", "")
.Replace("</b>", "")
.Replace("<strong>", "")
.Replace("</strong>", "")
.Trim();
if (value.Contains("<"))
{
var tempDoc = new HtmlParser().ParseDocument(value);
value = tempDoc.Body.TextContent.Trim();
}
value = value switch
{
var v when v.Contains("Dual Áudio") => v.Replace("Dual Áudio", "Dual"),
var v when v.Contains("Dual Audio") => v.Replace("Dual Audio", "Dual"),
var v when v.Contains("Full HD") => v.Replace("Full HD", "1080p"),
var v when v.Contains("4K") => v.Replace("4K", "2160p"),
var v when v.Contains("SD") => v.Replace("SD", "480p"),
var v when v.Contains("WEB") => v.Replace("WEB", "WEB-DL"),
_ => value
};
if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
{
fileInfo[key] = value;
}
}
}
}
return fileInfo;
}
public override IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
{
var releases = new List<ReleaseInfo>();
var parser = new HtmlParser();
var dom = parser.ParseDocument(indexerResponse.Content);
var rows = dom.QuerySelectorAll("div.capa-img");
foreach (var row in rows)
{
var h2Anchor = row.QuerySelector("h2 a");
if (h2Anchor == null)
continue;
var title = h2Anchor.TextContent.Trim();
var detailUrlStr = h2Anchor.GetAttribute("href")?.Trim();
if (string.IsNullOrEmpty(detailUrlStr))
continue;
var detailUrl = new Uri(detailUrlStr);
var releaseCommonInfo = new ReleaseInfo
{
Title = CleanTitle(title),
Details = detailUrl,
Guid = detailUrl,
Seeders = 1
};
var detailsPage = _webclient.GetResultAsync(new WebRequest(detailUrl.ToString())).Result;
var detailsDom = parser.ParseDocument(detailsPage.ContentString);
var fileInfoDict = ExtractFileInfo(detailsDom);
var fileInfo = PublicBrazilianIndexerBase.FileInfo.FromDictionary(fileInfoDict);
var publishedMeta = detailsDom.QuerySelector("meta[property='article:published_time']")?.GetAttribute("content");
if (!string.IsNullOrEmpty(publishedMeta) && DateTime.TryParse(publishedMeta, out var parsedDate))
{
releaseCommonInfo.PublishDate = parsedDate;
}
else
{
releaseCommonInfo.PublishDate = DateTime.Today;
}
var magnetLinks = detailsDom.QuerySelectorAll("a[href^='magnet:?']");
foreach (var magnetLink in magnetLinks)
{
var magnet = magnetLink.GetAttribute("href");
if (string.IsNullOrEmpty(magnet))
continue;
var release = releaseCommonInfo.Clone() as ReleaseInfo;
release.Guid = release.MagnetUri = new Uri(magnet);
var parentText = magnetLink.ParentElement?.TextContent?.Trim();
if (!string.IsNullOrEmpty(parentText))
{
parentText = Regex.Replace(parentText, "DOWNLOAD TORRENT", "", RegexOptions.IgnoreCase)
.Replace("DUAL ÁUDIO", "Dual")
.Replace("DUAL AUDIO", "Dual")
.Replace("ÁUDIO", "Audio")
.Replace("AUDIO", "Audio")
.Replace("DUBLADO", "Dubbed")
.Replace("LEGENDADO", "Subbed")
.Replace("MKV", "")
.Replace("MP4", "")
.Replace("MAGNET", "")
.Replace("TORRENT", "")
.Replace("LINK", "")
.Trim();
if (!string.IsNullOrEmpty(parentText))
{
release.Title = $"{release.Title} {parentText}".Trim();
}
}
var resolution = fileInfo.Quality ?? fileInfo.VideoQuality ?? string.Empty;
if (!string.IsNullOrEmpty(resolution))
release.Title = $"{release.Title} {resolution}".Trim();
release.Category = magnetLink.ExtractCategory(release.Title);
var size = RowParsingExtensions.GetBytes(fileInfo.Size ?? string.Empty);
release.Size = size > 0 ? size : ExtractSizeByResolution(release.Title);
release.DownloadVolumeFactor = 0;
release.UploadVolumeFactor = 1;
release.Languages = fileInfo.Audio?.ToList() ?? release.Languages;
release.Genres = fileInfo.Genres?.ToList() ?? release.Genres;
release.Subs = string.IsNullOrEmpty(fileInfo.Subtitle) ? release.Subs : new[] { fileInfo.Subtitle };
if (release.Title.IsNotNullOrWhiteSpace())
releases.Add(release);
}
}
return releases;
}
protected override INode GetTitleElementOrNull(IElement downloadButton)
{
var description = downloadButton.PreviousSibling;
while (description != null && description.NodeType != NodeType.Text)
{
description = description.PreviousSibling;
}
return description;
}
}
}

View File

@@ -27,10 +27,9 @@ namespace Jackett.Common.Indexers.Definitions
public override string Id => "mejortorrent";
public override string Name => "MejorTorrent";
public override string Description => "MejorTorrent is a Public site - Hay veces que un torrent viene mejor! :)";
public override string SiteLink { get; protected set; } = "https://www37.mejortorrent.eu/";
public override string SiteLink { get; protected set; } = "https://www38.mejortorrent.eu/";
public override string[] LegacySiteLinks => new[]
{
"https://www20.mejortorrent.zip/",
"https://www21.mejortorrent.zip/",
"https://www22.mejortorrent.zip/",
"https://www23.mejortorrent.zip/",
@@ -46,6 +45,7 @@ namespace Jackett.Common.Indexers.Definitions
"https://www34.mejortorrent.eu/",
"https://www35.mejortorrent.eu/",
"https://www36.mejortorrent.eu/",
"https://www37.mejortorrent.eu/",
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -1,83 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using Jackett.Common.Indexers.Definitions.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
using NLog;
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;
using WebClient = Jackett.Common.Utils.Clients.WebClient;
namespace Jackett.Common.Indexers.Definitions
{
[ExcludeFromCodeCoverage]
public class PhoenixProject : GazelleTracker
{
public override string Id => "phoenixproject";
public override string Name => "Phoenix Project";
public override string Description => "Phoenix Project is a Private MacOS software tracker";
public override string SiteLink { get; protected set; } = "https://phoenixproject.app/";
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
protected override string AuthorizationFormat => "token {0}";
protected override int ApiKeyLength => 118;
public PhoenixProject(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs,
supportsFreeleechTokens: true,
useApiKey: true,
instructionMessageOptional: "<ol><li>Go to PhoenixProject's site and open your account settings.</li><li>Go to <b>Access Settings</b> tab use the <b>API Keys: click here to create a new token</b> link.</li><li>Give it a name and click <b>Generate</b>.</li><li>Finally, copy/paste the token to your Jackett config APIKey input box.</li></ol>"
)
{
configData.AddDynamic("Account Inactivity", new DisplayInfoConfigurationItem("Account Inactivity", "To keep your account active, sign in and browse the site at least once every 120 days. Seeding torrents does not count as account activity, so in order to remain active you need to sign in and browse the site. Power Users (and above) are immune to the inactivity timer, but logging in regularly is recommended to learn about special events and new features. Donors are exempt from automatic account disabling due to inactivity. If you wish to always maintain an active account consider donating."));
}
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.PCMac, "Applications");
caps.Categories.AddCategoryMapping(2, TorznabCatType.PCGames, "Games");
caps.Categories.AddCategoryMapping(3, TorznabCatType.PCMobileiOS, "IOS Applications");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCMobileiOS, "IOS Games");
caps.Categories.AddCategoryMapping(5, TorznabCatType.Other, "Graphics");
caps.Categories.AddCategoryMapping(6, TorznabCatType.Audio, "Audio");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Other, "Tutorials");
caps.Categories.AddCategoryMapping(8, TorznabCatType.Other, "Other");
return caps;
}
protected override Uri GetDownloadUrl(int torrentId, bool canUseToken)
{
return new Uri($"{SiteLink}ajax.php?action=download{(useTokens && canUseToken ? "&usetoken=1" : "")}&id={torrentId}");
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var releases = await base.PerformQuery(query);
foreach (var release in releases)
{
release.MinimumRatio = 0.6;
release.MinimumSeedTime = 259200;
}
return releases;
}
}
}

View File

@@ -684,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",