Compare commits

...

83 Commits

Author SHA1 Message Date
ilike2burnthing
efc1602936 trezzor: update, add separate cookie indexer. resolves #14376 (#14379) 2023-05-27 03:47:17 +01:00
Garfield69
906b8e1ff8 index.html: fix for= not using id. #14375
not a fix for the problem, but eliminating some errors as reported by browser  development tools
2023-05-27 12:04:31 +12:00
ilike2burnthing
bf4228b0dc assorted: update trusted certs (#14378) 2023-05-26 22:40:17 +01:00
Garfield69
0a00e4edcd turktorrent: add new cat 2023-05-27 08:37:24 +12:00
Garfield69
abbf37060d generationfree: update freeleech search and add info about web site participation 2023-05-27 08:05:44 +12:00
Garfield69
f6108ee852 torrentsir: bump domain 2023-05-27 07:12:26 +12:00
Garfield69
a6bde9f001 torrentqq: bump domain 2023-05-27 07:12:07 +12:00
Bogdan
2594fdba13 bakabt: add freeleech only option (#14377) 2023-05-26 20:44:36 +03:00
Garfield69
97873506e3 assorted unit3d v5 and v6: remove redundant meta.total and page 1
cardigann can handle data[] so count meta.total is not required
page 1 is the default page so we don't need this.

this prepares Jackett for these site moving to unit3d v7 without the need for us to wait for it to happen.
2023-05-26 20:49:26 +12:00
ilike2burnthing
4944aef039 ptfiles: revert to credentials login. #14376 2023-05-26 05:13:24 +01:00
Bogdan
a63fd138a8 aither-api: 7.0.0 cursor paginate update
even if the tag still says 6.5.0
2023-05-25 22:38:33 +03:00
Bogdan
e4af5f1db2 schema: format array list 2023-05-25 20:54:47 +03:00
Garfield69
25e45daa20 torrentproject2: add day date parse. 2023-05-25 21:08:06 +12:00
Garfield69
468ea2472b Update README.md 2023-05-25 20:14:44 +12:00
Garfield69
49f57a9833 assorted: set language to nearest valid set 2023-05-25 19:13:53 +12:00
Garfield69
63c7bf6aed schema: add language validation. resolves #14374 2023-05-25 19:13:18 +12:00
bakerboy448
f5b787562f chilebt: fix invalid language code (#14373) 2023-05-25 16:21:32 +12:00
ilike2burnthing
182de9c60a Revert "nebulance: CA expired." 2023-05-25 01:24:52 +01:00
Garfield69
497e02e80c Revert scenehd: tidy 2023-05-25 12:03:44 +12:00
Garfield69
fba5201ccd Revert "lostfilm: tidy"
This reverts commit 5b69bdfef4.
2023-05-25 12:01:20 +12:00
Garfield69
8c2baf3bd2 lint 2023-05-25 09:38:25 +12:00
Garfield69
5b69bdfef4 lostfilm: tidy 2023-05-25 09:30:47 +12:00
Garfield69
844855e3ba scenehd: tidy 2023-05-25 09:27:24 +12:00
Garfield69
ddb5e95785 nebulance: CA expired. 2023-05-25 09:26:30 +12:00
Garfield69
ef714804ee dontorrent: new domain 2023-05-25 08:42:33 +12:00
Garfield69
3aab5de496 tvchaosuk: season packs. resolves #14369 2023-05-25 07:07:24 +12:00
ilike2burnthing
fbe225bbf6 Update locadora.yml 2023-05-24 18:23:30 +01:00
ilike2burnthing
897156176a utopia: add Ukrainian private tracker. resolves #14368 (#14372) 2023-05-24 18:19:14 +01:00
ilike2burnthing
2db0ca6d52 acervos-api: removed, down for 30 days. resolves #13324 (#14371)
Also updated `invited needed` statuses in readme.
2023-05-24 14:44:01 +01:00
ilike2burnthing
63faed4687 lightning-tor: removed, down for 30 days. resolves #14160 (#14370) 2023-05-24 14:26:38 +01:00
Garfield69
0806e4182b sharkpt: removed. resolves #13904 2023-05-24 15:46:08 +12:00
Bogdan
91307ff044 animetorrents: replace non-word chars with wildcard in search term 2023-05-24 01:08:22 +03:00
Garfield69
0f5e919f33 sktorrent: new cat 2023-05-24 08:59:07 +12:00
Garfield69
051cbabbcf btsow: new domain 2023-05-24 08:58:51 +12:00
Garfield69
bd3ec7533d anilibra: update api paths 2023-05-23 07:40:31 +12:00
Garfield69
78fecaced2 krazyzone: cat can be missing, provide default. 2023-05-23 07:15:56 +12:00
Bogdan
4142a9d037 rutracker: improve error message for failed logins 2023-05-22 14:14:30 +03:00
Garfield69
1d89c135a3 lint 2023-05-22 17:35:02 +12:00
Garfield69
16c2d6f9ca add lesbians4u a private site. resolves #14364 2023-05-22 17:15:44 +12:00
Garfield69
5c42955ba8 torrentwhiz: bump domain 2023-05-22 15:19:20 +12:00
Garfield69
64ee0c912d torrentview: bump domain 2023-05-22 15:19:09 +12:00
Bogdan
a48aa7a6e1 Bump version to 0.21 (#14365) 2023-05-22 01:19:04 +01:00
Bogdan
c56f32695a arabtorrents: update layout 2023-05-22 02:47:22 +03:00
Garfield69
c53933f307 torrentproject2: add new cat. resolves #14361 2023-05-22 09:38:35 +12:00
Garfield69
baa8439781 torrent9: fix wrong domain. resolves #14360 2023-05-22 09:24:27 +12:00
Garfield69
c2aec85893 imetorrentsclone: fix anime cat detection. 2023-05-22 09:14:59 +12:00
Garfield69
e146ad227c limetorrents: fix anime cat detection. resolves #14359 2023-05-22 09:14:30 +12:00
Garfield69
675b259e0a frozenlayer: update category selector. resolves #14358 2023-05-22 08:16:26 +12:00
Bogdan
04e24bacb3 torznab: add support for languages and subtitles 2023-05-21 22:07:10 +03:00
Garfield69
9638823cf1 scenetime: update cats. resolves #14357 2023-05-22 06:53:05 +12:00
ilike2burnthing
05dfda2736 ebookbay: missing category. resolves #14356 2023-05-21 19:13:55 +01:00
Bogdan
c6f4a55444 common: simplify normalizing IMDb Id and add tests 2023-05-21 12:09:32 +03:00
Garfield69
e29f409164 lint 2023-05-21 18:01:54 +12:00
Garfield69
f68381010f add central torrent a Polish private site. resolves #14355 2023-05-21 17:02:30 +12:00
ilike2burnthing
c12c050ed7 metalguru: remove seeders & leechers selectors 2023-05-20 18:31:33 +01:00
Webster
558d3530fa GGN API: Fix empty result (#14352), resolves #13544 2023-05-20 21:05:02 +12:00
Garfield69
a5331e20c2 learnbits, ztracker, moviesite: restore logintype key 2023-05-20 20:50:58 +12:00
Garfield69
ffdd0348c2 add party-tracker a Hungarian private site. resolves #14351 2023-05-20 20:48:19 +12:00
Bogdan
a012c9d686 cardigann: ignore disabled or unchecked inputs in login (#14338) 2023-05-20 02:50:55 +03:00
ilike2burnthing
7e33461c7f assorted: update login inputs. #14338 (#14348) 2023-05-20 00:41:52 +01:00
Garfield69
4000c46be1 add masters-tb a Bulgarian semi-private site. resolves #14346 2023-05-20 11:00:02 +12:00
ilike2burnthing
f018aa252c ztracker: update login inputs, again
follow up to https://github.com/Jackett/Jackett/pull/14347
2023-05-19 23:51:27 +01:00
ilike2burnthing
5f1445d59b metalguru: typo fix 2023-05-19 23:15:09 +01:00
ilike2burnthing
25cdf412c1 learnbits & ztracker: update login inputs (#14347)
* Update learnbits.yml

* Update ztracker.yml
2023-05-19 22:53:33 +01:00
Garfield69
02a818f71f mdan: update seeders/leechers selector 2023-05-20 08:07:48 +12:00
Garfield69
ca35c57d78 mazepa: new cats 2023-05-20 08:07:21 +12:00
Garfield69
76343fd56a dreamtracker: new cat 2023-05-20 08:07:09 +12:00
Garfield69
dd9feca37b arenabg: new cat 2023-05-20 08:06:56 +12:00
ilike2burnthing
6ab273651d learnbits: removed logintype & filter date 2023-05-19 18:59:29 +01:00
Garfield69
d3599c9c3a infire: new cat 2023-05-19 15:15:17 +12:00
Garfield69
f701bba1ef torrentqq: bump domain 2023-05-19 15:02:01 +12:00
Garfield69
7907e2b620 xspeeds: update cats. resolves #14341 2023-05-19 13:00:50 +12:00
Garfield69
78d673f491 add mdan a Brazilian private Anime site. resolves #14339 2023-05-19 11:09:06 +12:00
Bogdan
b7756508e1 learnbits: disable automatic logout and secure login 2023-05-18 13:50:12 +03:00
Garfield69
0210b7dc5b partis: update engine tag 2023-05-18 21:43:41 +12:00
Garfield69
efb8de4d4c add infire a Slovenian private site. resolves #14337 2023-05-18 21:43:26 +12:00
Garfield69
dee88f618a add PT分享站 (itzmx) a Chinese private site. resolves #14335 2023-05-18 20:04:32 +12:00
Garfield69
4e0c5814f4 add metalguru a private music site. resolves #14326 2023-05-18 16:31:41 +12:00
Bogdan
df48a6ed41 greatposterwall: fetch latest 50 releases with grouped torrents (#14333) 2023-05-18 04:07:43 +03:00
Bogdan
aed390f7ba ui: show hours ago with one decimal (#14332) 2023-05-18 03:34:46 +03:00
Bogdan
b0adee0047 greatposterwall: fix timezone in publish dates 2023-05-18 03:13:11 +03:00
Bogdan
d634670ad8 gazelle: don't use usetoken=0 when useTokens is not enabled
See Prowlarr/Prowlarr#1668
2023-05-18 02:34:55 +03:00
Garfield69
8f260f7f97 restore cinefilhd. resolves #490 2023-05-18 11:27:28 +12:00
110 changed files with 2071 additions and 659 deletions

View File

@@ -14,7 +14,7 @@ Please see our [troubleshooting and contributing guidelines](CONTRIBUTING.md) be
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar3](https://github.com/mylar3/mylar3), [Lidarr](https://github.com/lidarr/lidarr), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), [Nefarious](https://github.com/lardbit/nefarious) etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
Developer note: The software implements the [Torznab](https://web.archive.org/web/20220517013745/https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with hybrid [nZEDb](https://github.com/nZEDb/nZEDb/blob/b485fa326a0ff1f47ce144164eb1f070e406b555/resources/db/schema/data/10-categories.tsv)/[Newznab](https://newznab.readthedocs.io/en/latest/misc/api/#predefined-categories) [category numbering](https://github.com/Jackett/Jackett/wiki/Jackett-Categories)) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
Developer note: The software implements the [Torznab](https://torznab.github.io/spec-1.3-draft/index.html) (with hybrid [nZEDb](https://github.com/nZEDb/nZEDb/blob/b485fa326a0ff1f47ce144164eb1f070e406b555/resources/db/schema/data/10-categories.tsv)/[Newznab](https://newznab.readthedocs.io/en/latest/misc/api/#predefined-categories) [category numbering](https://github.com/Jackett/Jackett/wiki/Jackett-Categories)) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](https://github.com/webtor-io/go-jackett)
@@ -188,10 +188,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Il CorSaRo Blu
* Kinorun
* Kinozal
* Lightning-Tor
* LostFilm.tv
* Magnetico (Local DHT) [[site](https://github.com/boramalper/magnetico)]
* Marine Tracker
* Masters-TB
* Mazepa
* Metal Tracker
* Moviesite
@@ -236,14 +236,13 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* 1ptbar
* 2 Fast 4 You [![(invite needed)][inviteneeded]](#)
* 2xFree
* 3ChangTrai (3CT) [![(invite needed)][inviteneeded]](#)
* 3ChangTrai (3CT)
* 3D Torrents (3DT)
* 4thD (4th Dimension)
* 52PT
* 720pier
* Abnormal
* ABtorrents (ABT + RNS)
* Acervos [![(invite needed)][inviteneeded]](#)
* Acid Lounge (A-L)
* AcrossTheTasman [![(invite needed)][inviteneeded]](#)
* Aftershock
@@ -266,7 +265,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* AudioNews (AN)
* Aussierul.es [![(invite needed)][inviteneeded]](#)
* AvistaZ (AsiaTorrents)
* Back-ups [![(invite needed)][inviteneeded]](#)
* Back-ups
* BakaBT
* BeiTai
* Best-Core
@@ -302,10 +301,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CartoonChaos (CC)
* Cathode-Ray.Tube (CRT)
* CCFBits [![(invite needed)][inviteneeded]](#)
* Central Torrent
* CeskeForum
* CGPeers [![(invite needed)][inviteneeded]](#)
* CHDBits [![(invite needed)][inviteneeded]](#)
* ChileBT
* CiNEFiLHD
* Cinemageddon [![(invite needed)][inviteneeded]](#)
* CinemaMovieS_ZT
* Cinematik [![(invite needed)][inviteneeded]](#)
@@ -350,7 +351,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* GainBound [![(invite needed)][inviteneeded]](#)
* Gay-Torrents.org
* GAYtorrent.ru
* GazelleGames (GGn) [![(invite needed)][inviteneeded]](#)
* GazelleGames (GGn)
* Generation-Free
* GigaTorrents
* GimmePeers (formerly ILT)
@@ -396,6 +397,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* ImmortalSeed (iS)
* Immortuos
* Indietorrents [![(invite needed)][inviteneeded]](#)
* Infire
* Insane Tracker
* IPTorrents (IPT)
* ItaTorrents
@@ -417,19 +419,22 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* leech24
* LemonHD
* Les-Cinephiles
* Lesbians4u
* Libble
* LibraNet (LN)
* LinkoManija [![(invite needed)][inviteneeded]](#)
* Locadora
* LosslessClub [![(invite needed)][inviteneeded]](#)
* LST
* M-Team TP (MTTP) [![(invite needed)][inviteneeded]](#)
* M-Team TP (MTTP)
* MaDs Revolution
* magic-heaven
* Magico (Trellas) [![(invite needed)][inviteneeded]](#)
* Majomparádé (TurkDepo)
* Mansão dos Animes (MDAN)
* MegamixTracker
* MeseVilág (Fairytale World)
* MetalGuru
* Milkie
* MIRcrew
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
@@ -455,6 +460,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* OurBits (HDPter)
* P2PBG
* Partis
* Party-Tracker
* PassThePopcorn (PTP)
* Peeratiko
* Peers.FM
@@ -474,6 +480,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* PTerClub
* PTFiles (PTF)
* PThome [![(invite needed)][inviteneeded]](#)
* PT分享站 (itzmx)
* PTSBAO
* PTtime
* Punk's Horror Tracker
@@ -494,15 +501,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* RevolutionTT
* Romanian Metal Torrents (RMT) [![(invite needed)][inviteneeded]](#)
* RPTorrents
* SceneHD [![(invite needed)][inviteneeded]](#)
* SceneHD [![(invite needed)][inviteneeded]](#)
* SceneRush
* SceneTime
* SDBits [![(invite needed)][inviteneeded]](#)
* Secret Cinema
* SeedFile
* Shareisland
* SharkPT
* Shazbat [![(invite needed)][inviteneeded]](#)
* Shazbat
* SiamBIT
* SkipTheCommercials
* SkipTheTrailers
@@ -569,8 +575,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* TorrentSeeds (TS)
* TotallyKids (TK)
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
* TranceTraffic [![(invite needed)][inviteneeded]](#)
* Trezzor [![(invite needed)][inviteneeded]](#)
* TranceTraffic
* TreZzoR [![(invite needed)][inviteneeded]](#)
* TurkSeed
* TurkTorrent (TT)
* TV Chaos UK (TVCUK)
@@ -584,6 +590,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* UnleashTheCartoons
* UnlimitZ
* Uploads
* UTOPIA
* White Angel
* World-In-HD [![(invite needed)][inviteneeded]](#)
* World-of-Tomorrow

View File

@@ -2,7 +2,7 @@
name: $(majorVersion).$(minorVersion).$(patchVersion)
variables:
majorVersion: 0
minorVersion: 20
minorVersion: 21
patchVersion: $[counter(variables['minorVersion'], 1)] # this will reset when we bump minor
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
buildConfiguration: Release

View File

@@ -529,10 +529,10 @@
</div>
<div class="modal-body">
<p>You can search all configured indexers from this screen.</p>
<label for="text">Query</label>
<label for="searchquery">Query</label>
<input class="form-control" type="text" name="query" id="searchquery" />
{{#if filters}}
<label for="filter">Filter</label>
<label for="searchFilter">Filter</label>
<select name="filter" id="searchFilter">
<option value="all">all</option>
{{#each filters}}
@@ -540,9 +540,9 @@
{{/each}}
</select>
{{/if}}
<label for="tracker">Tracker</label>
<label for="searchTracker">Tracker</label>
<select name="tracker" id="searchTracker" multiple="multiple"></select>
<label for="category">Category</label>
<label for="searchCategory">Category</label>
<select name="category" id="searchCategory" multiple="multiple"></select>
<button id="jackett-search-perform" class="btn btn-success btn-sm"><span class="fa fa-search"></span></button>
<div id="searchResults"></div>

View File

@@ -20,7 +20,7 @@ Handlebars.registerHelper('jacketTimespan', function (context, block) {
var hours = timeSpan.asHours();
if (hours < 48) {
return Math.round(hours) + 'h ago';
return parseFloat(hours).toFixed(1) + 'h ago';
}
var days = timeSpan.asDays();

View File

@@ -89,7 +89,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -98,8 +97,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -31,7 +31,7 @@ settings:
search:
paths:
# https://github.com/anilibria/docs/blob/master/api_v3.md
- path: "https://api.anilibria.tv/v3/{{ if .Keywords }}searchTitles{{ else }}getUpdates{{ end }}"
- path: "https://api.anilibria.tv/v3/title/{{ if .Keywords }}search{{ else }}updates{{ end }}"
response:
type: json

View File

@@ -91,7 +91,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -100,8 +99,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -94,13 +94,10 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
categorydesc:

View File

@@ -6,8 +6,6 @@ language: en-US
type: public
encoding: UTF-8
requestDelay: 2
certificates:
- 7b36f0dc75d3340727b6f74bbdbde46ec59b7037 # expired 12 Feb 2023
links:
- https://asnet.pw/

View File

@@ -2,7 +2,7 @@
id: arabp2p
name: ArabP2P
description: "ArabP2P is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ar-AR
language: ar-AE
type: private
encoding: UTF-8
links:

View File

@@ -2,7 +2,7 @@
id: arabtorrents
name: ArabTorrents
description: "ArabTorrents is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ar-AR
language: ar-AE
type: private
encoding: windows-1256
requestDelay: 2
@@ -145,7 +145,7 @@ download:
path: takethanks.php
method: post
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
torrentid: "{{ re_replace .DownloadUri.PathAndQuery \".*download-torrent-(\\d+).*\" \"$1\"}}"
search:
paths:
@@ -169,22 +169,22 @@ search:
args: ["^(.+)$", "*$1*"]
rows:
selector: table#sortabletable > tbody > tr:has(div > a[href*="details.php?id="])
selector: table#sortabletable > tbody > tr:has(span > a[href*="details.php?id="])
fields:
category:
selector: td a[href*="/browse.php?category="]
selector: td a[href*="/torrent-category-"]
attribute: href
filters:
- name: querystring
args: category
- name: regexp
args: "torrent-category-(\\d+)\/"
title:
selector: td a[href*="/details.php?id="]
selector: td div.tooltip-target
details:
selector: td a[href*="/details.php?id="]
selector: span a[href*="/details.php?id="]
attribute: href
download:
selector: a[href*="/download.php?id="]
selector: a[href*="/download-torrent-"]
attribute: href
date:
selector: td:nth-child(2) > div:nth-child(3)

View File

@@ -28,6 +28,7 @@ caps:
- {id: 20, cat: Movies/HD, desc: "Movies / Movies HD"}
- {id: 21, cat: Movies/HD, desc: "Movies / x265"}
- {id: 22, cat: Movies/UHD, desc: "Movies / 4K"}
- {id: 59, cat: Movies/HD, desc: "Movies / AV1"}
- {id: 2, cat: TV, desc: "Series"}
- {id: 23, cat: TV/HD, desc: "Series / TV Episodes HD"}
- {id: 24, cat: TV, desc: "Series / TV Episodes"}

View File

@@ -78,7 +78,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -87,8 +86,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -7,11 +7,8 @@ type: public
encoding: UTF-8
# use https://tellme.pw/btsow to find the new domain
links:
- https://btsow.hair/
- https://btsow.bond/
legacylinks:
- https://btsow.surf/
- https://btsow.com/
- https://btsow.cam/
- https://btsow.digital/
- https://btsow.shop/
- https://btsow.us/
@@ -26,6 +23,7 @@ legacylinks:
- https://btsow.beauty/
- https://btsow.mom/
- https://btsow.boats/
- https://btsow.hair/
caps:
categories:

View File

@@ -0,0 +1,155 @@
---
id: centraltorrent
name: Central Torrent
description: "Central Torrent is a POLISH Private Torrent Tracker for MOVIES / MUSIC"
language: pl-PL
type: private
encoding: ISO-8859-2
links:
- http://central-torrent.eu/ # site does not support https NET::ERR_CERT_AUTHORITY_INVALID
caps:
categorymappings:
- {id: 23, cat: TV/Anime, desc: "Animowane"}
- {id: 1, cat: PC, desc: "Aplikacje"}
- {id: 26, cat: Movies, desc: "Dzieci/Bajki"}
- {id: 29, cat: Books/EBook, desc: "E-books"}
- {id: 20, cat: Movies/SD, desc: "Filmy/DVD"}
- {id: 22, cat: Movies/SD, desc: "Filmy/RMVB"}
- {id: 35, cat: Movies/UHD, desc: "Filmy/UHD"}
- {id: 24, cat: Movies/HD, desc: "Filmy/x264"}
- {id: 36, cat: Movies/HD, desc: "Filmy/x265"}
- {id: 19, cat: Movies/SD, desc: "Filmy/XviD"}
- {id: 21, cat: Movies/SD, desc: "Filmy/XviD PL"}
- {id: 12, cat: PC/Games, desc: "Gry"}
- {id: 17, cat: PC/Games, desc: "Gry/Konsole"}
- {id: 4, cat: PC/Games, desc: "Gry/PC ISO"}
- {id: 28, cat: Other, desc: "GSM/PDA"}
- {id: 32, cat: Movies/BluRay, desc: "HD/Blu-ray"}
- {id: 31, cat: Audio/Lossless, desc: "Music/Lossless"}
- {id: 6, cat: Audio, desc: "Muzyka"}
- {id: 30, cat: Other, desc: "Rozne"}
- {id: 25, cat: TV/Sport, desc: "Sport"}
- {id: 27, cat: Audio/Video, desc: "Teledyski"}
- {id: 7, cat: TV, desc: "TV/Seriale"}
- {id: 9, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-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
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
captcha:
type: image
selector: img.cimage
input: captcha
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))
test:
path: my.php
download:
selectors:
- selector: a[href^="download.php/"]
attribute: href
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 all, 2 dead, 3 freeleech
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
# 0 all, 1 polish, 2 non-polish
polish: 0
# 0 name
blah: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table[onMouseover] > tbody > tr:has(a[href^="details.php?id="])
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(5)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
downloadvolumefactor:
case:
img[src="pic/freedownload.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# tbsource

View File

@@ -2,7 +2,7 @@
id: chilebt
name: ChileBT
description: "ChileBT is a CHILEAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: es-419
language: es-CL
type: private
encoding: UTF-8
links:

View File

@@ -0,0 +1,172 @@
---
id: cinefilhd
name: CiNEFiLHD
description: "CiNEFiLHD is a Private Torrent Tracker for MOVIES / TV / MUSIC"
language: en-US
type: private
encoding: UTF-8
links:
- http://cinefilhd.sytes.net/
legacylinks:
- http://www.cinefilhd.org/
caps:
categorymappings:
- {id: 37, cat: Movies/HD, desc: "Internal/HD-1080p"}
- {id: 17, cat: Movies/HD, desc: "Internal/HD-720p"}
- {id: 30, cat: TV/HD, desc: "Internal/HDTV"}
- {id: 15, cat: Movies/HD, desc: "Internal/mHD"}
- {id: 40, cat: Movies, desc: "Internal/Mp4"}
- {id: 26, cat: Movies, desc: "Internal/Remux"}
- {id: 45, cat: Movies/WEB-DL, desc: "Internal/WEB-DL"}
- {id: 5, cat: Movies/BluRay, desc: "Movies/BluRay"}
- {id: 38, cat: Movies/HD, desc: "Movies/HD-1080p"}
- {id: 10, cat: Movies/HD, desc: "Movies/HD-720p"}
- {id: 29, cat: Movies/HD, desc: "Movies/mHD"}
- {id: 41, cat: Movies, desc: "Movies/Mp4"}
- {id: 39, cat: Movies, desc: "Movies/Remux"}
- {id: 44, cat: Movies/WEB-DL, desc: "Movies/WEB-DL"}
- {id: 23, cat: Audio/Lossless, desc: "Lossless"}
- {id: 14, cat: Audio/MP3, desc: "MP3-Packs"}
- {id: 22, cat: Audio/MP3, desc: "Music-MP3"}
- {id: 43, cat: Audio/Video, desc: "Music/1080p"}
- {id: 42, cat: Audio/Video, desc: "Music/720p"}
- {id: 12, cat: TV/HD, desc: "HDTV-Packs"}
- {id: 21, cat: TV/HD, desc: "Movies/HDTV"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, genre]
movie-search: [q, imdbid, genre]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 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
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submitme: LOGIN
error:
- selector: h2:contains("failed")
message:
selector: td.colhead2
test:
path: index.php
selector: a[href^="logout.php?hash_please="]
search:
paths:
- path: browse.php
inputs:
# note: site uses the catsX[]=nn method which cardigann does not support.
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.Genre }}{{ .Query.Genre }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.Genre }}{{ else }}{{ .Keywords }}{{ end }}"
# title, descr, genre, all
searchin: "{{ if .Query.IMDBID }}descr{{else}}{{end}}{{ if .Query.Genre }}genre{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.Genre }}{{ else }}title{{ end }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 no, 1 yes
only_free: "{{ if .Config.freeleech }}1{{else}}0{{end}}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table.mainouter table > tbody > tr:has(a[href^="details.php?id="]), table.mainouter table > tbody > tr[id^="kdescr"]
after: 1
filters:
- name: andmatch
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
# onmouseover="Tip('<img class=\'pup\' src=\'https://image.tmdb.org/t/p/original/x96AdPlpl4MjUP2DeUhRJifhCMd.jpg\' width=
- name: regexp
args: src=\\'(.*?)\\'
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
files:
selector: td:nth-child(4)
date_day:
# Today<br/>10:20 AM
# Yesterday<br/>08:03 PM
selector: td:nth-child(6):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
# Feb 14 2019<br/>10:20 AM
selector: td:nth-child(6):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "MMM d yyyy hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
genre:
selector: td:nth-child(2)
remove: a, font
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
tr.freeleech_color: 0
tr.highlight: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# U-232 v3

View File

@@ -90,7 +90,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -99,8 +98,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -83,7 +83,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -92,8 +91,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -92,6 +92,7 @@ caps:
- {id: 117, cat: Audio, desc: "Compact Disc Club"}
- {id: 20, cat: Audio/Video, desc: "Music Videos"}
- {id: 118, cat: Audio, desc: "Dream Radio Music"}
- {id: 124, cat: Movies, desc: "VIP Movies"}
modes:
search: [q]

View File

@@ -14,6 +14,7 @@ caps:
- {id: "Action/Adventure", cat: Books/EBook, desc: "Action/Adventure"}
- {id: "Animals", cat: Books/EBook, desc: "Animals"}
- {id: "Arts", cat: Books/EBook, desc: "Arts"}
- {id: "Audio Books", cat: Audio/Audiobook, desc: "Audio Books"}
- {id: "Beauty", cat: Books/EBook, desc: "Beauty"}
- {id: "Business", cat: Books/EBook, desc: "Business"}
- {id: "Certification", cat: Books/EBook, desc: "Certification"}
@@ -29,7 +30,7 @@ caps:
- {id: "Fantasy", cat: Books/EBook, desc: "Fantasy"}
- {id: "Gardening", cat: Books/EBook, desc: "Gardening"}
- {id: "Health", cat: Books/EBook, desc: "Health"}
- {id: "Historical", cat: Books/EBook, desc: "Historical"}
- {id: "Historical Fiction", cat: Books/EBook, desc: "Historical Fiction"}
- {id: "History", cat: Books/EBook, desc: "History"}
- {id: "Horror", cat: Books/EBook, desc: "Horror"}
- {id: "Humorous", cat: Books/EBook, desc: "Humorous"}
@@ -64,6 +65,7 @@ caps:
modes:
search: [q]
book-search: [q]
music-search: [q]
settings: []
@@ -101,8 +103,10 @@ search:
optional: true
default: Other
filters:
- name: re_replace
args: ["(?i)\\bEbooks?\\b", ""]
- name: regexp
args: "E book under:\\s+(.+?)\\s"
args: "E book under:\\s+(.+?)\\s?\\\xA0"
title:
selector: div.postname a
details:

View File

@@ -60,6 +60,8 @@ search:
selector: table#descargas > tbody > tr:has(td:has(a[href^="magnet:?"]))
fields:
category:
text: "{{ if eq .Config.category \"todos\" }}Anime{{ else }}{{ .Config.category }}{{ end }}"
title:
selector: td.tit a
filters:
@@ -84,10 +86,6 @@ search:
magnet:
selector: td:nth-child(1) a[href^="magnet:?"]
attribute: href
category:
selector: td.tit span
optional: true
default: Anime
date_day:
# 1d
# 2d 3h

View File

@@ -77,7 +77,10 @@ settings:
options:
desc: desc
asc: asc
- name: info_news
type: info
label: Reminder from GF-Free Admin
default: "Attention users of third-party software like Jackett or Radarr, Sonarr or similar:<br>Despite your seed downloads you must physically connect to the web site with your browser or risk being <b>Banned for non-participation</b>...<br><ol>We ask :<li>Remain in seed at least 48 hours on the media to avoid H$R</li><li>And much more depending on your storage means</li><li>Participate in the life of the site shout forum...</li><li>Connect regularly to possibly read your private messages.</li></ol>"
login:
path: /api/torrents
method: get
@@ -106,11 +109,10 @@ search:
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
page: 1
keywordsfilters:
- name: re_replace
@@ -119,8 +121,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -76,7 +76,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -85,8 +84,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
categorydesc:

View File

@@ -82,7 +82,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -91,8 +90,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -85,13 +85,10 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
categorydesc:

View File

@@ -0,0 +1,158 @@
---
id: infire
name: Infire
description: "Infire is a SLOVENIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: sl-SI
type: private
encoding: UTF-8
links:
- https://infire.si/
caps:
categorymappings:
- {id: 15, cat: Movies/HD, desc: "HD 720p"}
- {id: 16, cat: Movies/HD, desc: "HD 1080p"}
- {id: 17, cat: Movies/DVD, desc: "DVD"}
- {id: 18, cat: TV/Documentary, desc: "Dokumentarci"}
- {id: 19, cat: Movies/DVD, desc: "DVD/R5"}
- {id: 20, cat: Movies/WEB-DL, desc: "WEB/Rip"}
- {id: 21, cat: Movies/WEB-DL, desc: "WEB/Download"}
- {id: 14, cat: Movies/SD, desc: "XviD"}
- {id: 32, cat: XXX, desc: "XXX"}
- {id: 50, cat: Movies/BluRay, desc: "BluRay 1080p"}
- {id: 49, cat: Movies/UHD, desc: "HD 2160p"}
- {id: 23, cat: TV, desc: "TV"}
- {id: 24, cat: TV/HD, desc: "HD TV"}
- {id: 26, cat: TV/Anime, desc: "Animirano"}
- {id: 28, cat: PC/Games, desc: "PC"}
- {id: 29, cat: PC/ISO, desc: "PC ISO"}
- {id: 30, cat: Console/Other, desc: "GBA"}
- {id: 31, cat: Console/PS3, desc: "PS2"}
- {id: 33, cat: Audio, desc: "Glasba"}
- {id: 34, cat: Console/PS3, desc: "PS3"}
- {id: 35, cat: Console/XBox, desc: "Xbox"}
- {id: 36, cat: Console/PSP, desc: "PSP"}
- {id: 37, cat: TV/Sport, desc: "Sport"}
- {id: 38, cat: PC, desc: "Programi"}
- {id: 39, cat: Books/EBook, desc: "eKnjige"}
- {id: 40, cat: Other, desc: "Slike"}
- {id: 41, cat: Audio/Audiobook, desc: "AudioBook"}
- {id: 42, cat: Audio/Video, desc: "Music DVD"}
- {id: 43, cat: TV/Other, desc: "Videospoti"}
- {id: 44, cat: PC/Mobile-Android, desc: "Android"}
- {id: 45, cat: PC/Mobile-iOS, desc: "iOS"}
- {id: 46, cat: PC/Mac, desc: "Mac"}
- {id: 47, cat: PC, desc: "Linux"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-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
- name: sort
type: select
label: Sort requested from site
default: data
options:
data: created
seeds: seeders
size: size
filename: title
- name: type
type: select
label: Order requested from site
default: DESC
options:
DESC: desc
ASC: asc
login:
method: post
path: login.php
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: font[color="#FF0000"]
test:
path: index.php
selector: a[href^="logout.php"]
search:
paths:
- path: torrents.php
inputs:
# does not support multi categories, defaulting to all.
search: "{{ .Keywords }}"
# 0 all, 1 active, 2 dead
active: 0
# 0 all, 1 classic, 2 silver, 3 gold, 4 gold & silver
gold: "{{ if .Config.freeleech }}3{{ else }}0{{ end }}"
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
rows:
selector: table.lista > tbody > tr.a
fields:
category:
selector: a[href^="torrents.php?category="]
attribute: href
filters:
- name: querystring
args: category
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img
attribute: src
size:
selector: td:nth-child(7)
date:
selector: td:nth-child(6)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy HH:mm:ss"
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
grabs:
selector: td:nth-child(11)
genre:
selector: td:nth-child(2) span
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
img[src="images/gold.png"]: 0
img[src="images/silver.png"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 30 hours (as seconds = 30 x 60 x 60)
text: 108000
# BtiTracker 1.5.8

View File

@@ -88,7 +88,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -99,8 +98,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -90,7 +90,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -99,8 +98,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
categorydesc:

View File

@@ -2,7 +2,7 @@
id: korsar
name: Korsar
description: "Korsar is a RUSSIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ru-ru
language: ru-RU
type: private
encoding: UTF-8
links:

View File

@@ -136,6 +136,8 @@ search:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
optional: true
default: 95
filters:
- name: querystring
args: cat

View File

@@ -94,7 +94,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -103,8 +102,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -131,6 +131,7 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logintype: yes
error:
- selector: table:contains("An error has occured!")
test:
@@ -207,6 +208,8 @@ search:
optional: true
remove: a, b, img, span
filters:
- name: replace
args: ["|", ""]
- name: dateparse
args: "yyyy-MM-dd hh:mm tt"
date:

View File

@@ -0,0 +1,167 @@
---
id: lesbians4u
name: Lesbians4u
description: "Lesbians4u is a Private Torrent Tracker for 3X"
language: en-US
type: private
encoding: UTF-8
links:
- http://lesbians4u.org/ # does not support https, CA invalid
caps:
categorymappings:
- {id: 7, cat: XXX, desc: "Amateur"}
- {id: 12, cat: XXX, desc: "Anime &Hentai &JAV"}
- {id: 17, cat: XXX, desc: "Appz"}
- {id: 3, cat: XXX, desc: "Classics"}
- {id: 6, cat: XXX, desc: "Clips &Siterips"}
- {id: 16, cat: XXX, desc: "DVD"}
- {id: 15, cat: XXX, desc: "EX-V.I.P. Torrents"}
- {id: 9, cat: XXX, desc: "Fetish"}
- {id: 8, cat: XXX, desc: "Games"}
- {id: 11, cat: XXX, desc: "Misc."}
- {id: 10, cat: XXX, desc: "Movie"}
- {id: 5, cat: XXX, desc: "Solo"}
- {id: 14, cat: XXX, desc: "V.I.P."}
- {id: 13, cat: XXX, desc: "Watersport"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: 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: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
error:
- selector: table:has(a[href*="login.php?error=1"])
message:
text: "ERROR: Incorrect username!"
- selector: table:has(a[href*="login.php?error=4"])
message:
text: "ERROR: Incorrect password!"
- selector: table:has(a[href*="login.php?error="])
message:
text: "ERROR: Something went wrong during login!"
test:
path: index.php
selector: a[href*="/logout.php?logouthash="]
download:
before:
path: takethanks.php
method: post
inputs:
torrentid: "{{ re_replace .DownloadUri.PathAndQuery \".*torrent-details-(\\d+).*\" \"$1\"}}"
selectors:
- selector: a[href*="download-torrent-"]
attribute: href
search:
paths:
- path: browse.php
keywordsfilters:
# prefix and postfix percent wildcard as well as replacing spaces between words
- name: re_replace
args: ["\\W+", "%"]
- name: re_replace
args: ["^(.+)$", "%$1%"]
inputs:
do: search
keywords: "{{ .Keywords }}"
# t_name, t_description, t_both, t_uploader, t_genre
search_type: t_name
# does not support multi category searching so defaulting to all.
category: 0
include_dead_torrents: yes
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
rows:
selector: "table.sortable tr:has(a[href*=\"/download-torrent-\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href*="torrent-category-"]
attribute: href
filters:
- name: regexp
args: torrent-category-(\d+)
title_default:
# is often abbreviated
selector: a[href*="torrent-details-"]
title:
# usually longer than details title
selector: div[id^="port-content-"] div
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href*="torrent-details-"]
attribute: href
download:
selector: a[href*="torrent-details-"]
attribute: href
poster:
selector: div[id^="port-content-"] img
attribute: src
date:
selector: td:nth-child(2) > div:last-child
filters:
- name: regexp
args: (\d{2}-\d{2}-\d{4} \d{2}:\d{2})
- name: append
args: " +00:00" # auto adjusted by site account profile
- name: dateparse
args: "dd-MM-yyyy HH:mm zzz"
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
downloadvolumefactor:
case:
img[src$="/freedownload.gif"]: 0
img[src$="/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="/x2.gif"]: 2
"*": 1
minimumratio:
text: 1.0
# TS Special Edition v.7.3

View File

@@ -1,172 +0,0 @@
---
id: lightning-tor
name: Lightning-Tor
description: "Lightning-Tor is a DUTCH Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
language: nl-NL
type: semi-private
encoding: UTF-8
links:
- https://lightning-tor.org/
caps:
categorymappings:
# the search pull down cats disagrees with the prior category count links, so merged the two lists, with count overriding pull
- {id: 2, cat: Movies/DVD, desc: "DVD Retail"}
- {id: 17, cat: Movies/Other, desc: "DVD Promo/R5"}
- {id: 3, cat: Audio/Video, desc: "DVD Muziek"}
- {id: 4, cat: Movies/SD, desc: " DVD Cam"}
- {id: 18, cat: Movies/Other, desc: "DVD Kinderen"}
- {id: 6, cat: TV, desc: "Tv Serie"}
- {id: 19, cat: XXX/DVD, desc: "DVD XXX"}
- {id: 20, cat: TV/Documentary, desc: "Docomentaire"}
- {id: 45, cat: Audio/Video, desc: "Cabaret Div."}
- {id: 9, cat: PC/Games, desc: "Spelletjes Pc"}
- {id: 10, cat: Console/NDS, desc: "Ps2/NDS"}
- {id: 11, cat: Console/XBox, desc: "XBoX"}
- {id: 22, cat: Console/Wii, desc: "Wii"}
- {id: 8, cat: Audio, desc: "Muziek Album"}
- {id: 23, cat: Audio/Other, desc: "Muziek Diversen"}
- {id: 1, cat: Other, desc: "Kinderen Diversen"}
- {id: 13, cat: Other, desc: "Afbeeldingen"}
- {id: 14, cat: PC/Mobile-Other, desc: "GSM/Navigatie"}
- {id: 7, cat: PC, desc: "Software PC"}
- {id: 12, cat: PC/0day, desc: "Microsoft"}
- {id: 21, cat: PC/Mobile-Other, desc: "Software PDA"}
- {id: 5, cat: Movies/SD, desc: "Xvid Film"}
- {id: 15, cat: XXX/SD, desc: "Xvid XXX"}
- {id: 24, cat: Other, desc: "Xvid Diversen"}
- {id: 16, cat: Other/Misc, desc: "Overigen"}
- {id: 50, cat: Books, desc: "E-books"}
- {id: 48, cat: Movies/HD, desc: "movies 264"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: thankyou
type: text
label: Thank You Comment
- name: info
type: info
label: Thank you comment
default: This site requires you to leave a Thank You comment before you can download. Enter your personalised comment above.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Aanmelden mislukt")
test:
path: index.php
selector: a[href="logout.php"]
download:
before:
# https://lightning-tor.org/comment.php?action=add&tid=166386
path: comment.php
method: post
inputs:
action: add
tid: "{{ .DownloadUri.Query.id }}"
text: "{{ .Config.thankyou }}"
selectors:
- selector: a[href^="download.php?id="]
attribute: href
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 1
# does not support imdbid search and does not return imdb link in results
keywordsfilters:
- name: re_replace # S01E02 to 1 2
args: ["(?i)\\bS0*(\\d{1,2})\\s*E0*(\\d{1,2})\\b", "$1 $2"]
- name: re_replace # S01 to 1
args: ["(?i)\\bS0*(\\d{1,2})\\b", "$1"]
rows:
selector: table.embedded[width="99%"][border="1"][cellspacing="0"][cellpadding="0"]
filters:
- name: andmatch
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
filters:
- name: re_replace
args: ["(?i)(seizoen\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "S$2-$4"]
- name: re_replace
args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"]
- name: re_replace
args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "E$2-$4"]
- name: re_replace
args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})", "E$2"]
- name: re_replace
args: ["(?i)compleet", "Complete"]
details:
# using the download link because the details link has an error
selector: a[href^="download.php?id="]
attribute: href
filters:
- name: replace
args: ["download", "details"]
download:
# need to say thanks first
text: "{{ .Result.details }}"
size:
selector: a[href^="details_bestanden.php?torrent_id="]
filters:
- name: regexp
args: "(.+?) in"
files:
selector: a[href^="details_bestanden.php?torrent_id="]
filters:
- name: regexp
args: "in (\\d+) bestan"
grabs:
selector: table table tr:nth-child(2) td:nth-child(1)
date:
selector: table tr:nth-child(3) td:nth-child(7)
filters:
- name: regexp
args: (\d+)
- name: append
args: " hours ago"
- name: timeago
seeders:
selector: table tr:nth-child(3) td:nth-child(5) font b
optional: true
default: 0
leechers:
selector: table tr:nth-child(3) td:nth-child(5) font b:nth-child(2)
optional: true
default: 0
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# engine n/a

View File

@@ -127,7 +127,7 @@ search:
default: "{{ if .Result.category_is_tv_show }}TV shows{{ else }}Other{{ end }}"
filters:
- name: regexp
args: " in (.+?)$"
args: " in (.+?)[.]?$"
details:
selector: div.tt-name > a[href^="/"]
attribute: href

View File

@@ -98,7 +98,7 @@ search:
default: "{{ if .Result.category_is_tv_show }}TV shows{{ else }}Other{{ end }}"
filters:
- name: regexp
args: " in (.+?)$"
args: " in (.+?)[.]?$"
details:
selector: div.tt-name > a[href^="/"]
attribute: href

View File

@@ -1,7 +1,7 @@
---
id: locadora
name: Locadora
description: "Locadora is a Brazilian tracker for Movies and TV Shows"
description: "Locadora is a BRAZILIAN Private Tracker for MOVIES and TV"
language: pt-BR
type: private
encoding: UTF-8
@@ -12,15 +12,16 @@ legacylinks:
caps:
categorymappings:
- {id: 1, cat: Movies}
- {id: 2, cat: TV}
- {id: 6, cat: TV/Anime}
- {id: 7, cat: Movies, desc: "Concerts"}
- {id: 1, cat: Movies, desc: "Filmes"}
- {id: 2, cat: TV, desc: "Series"}
- {id: 6, cat: TV/Anime, desc: "Animes"}
- {id: 7, cat: Audio/Video, desc: "Shows"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
settings:
- name: apikey
@@ -83,7 +84,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -92,8 +92,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -88,7 +88,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -97,8 +96,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -0,0 +1,159 @@
---
id: masters-tb
name: Masters-TB
description: "Masters-TB is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GENERAL"
language: bg-BG
type: semi-private
encoding: windows-1251
links:
- https://masters-tb.com/
caps:
categorymappings:
- {id: 23, cat: TV/Anime, desc: "Анимации"}
- {id: 56, cat: PC/Mobile-Android, desc: "Android"}
- {id: 53, cat: Books/EBook, desc: "e-Books"}
- {id: 17, cat: Console, desc: "Игри/конзоли"}
- {id: 4, cat: PC/Games, desc: "Игри/PC ISO"}
- {id: 21, cat: PC/Games, desc: "Игри/PC Rip"}
- {id: 1, cat: PC/ISO, desc: "Програми/PC ISO"}
- {id: 22, cat: PC, desc: "Програми/други"}
- {id: 57, cat: TV, desc: "Препоръчано MastersTB"}
- {id: 57, cat: Movies, desc: "Препоръчано MastersTB"}
- {id: 6, cat: Audio, desc: "Музика"}
- {id: 12, cat: Audio/Video, desc: "Музика/Видео"}
- {id: 33, cat: Audio/Video, desc: "Музика/DVD-R"}
- {id: 52, cat: Audio/Lossless, desc: "Музика/Lossless"}
- {id: 35, cat: TV, desc: "Сериали/BoxSet"}
- {id: 7, cat: TV, desc: "Сериали/TV"}
- {id: 32, cat: Movies, desc: "Филми/БГ"}
- {id: 55, cat: Movies, desc: "Филми/Asian"}
- {id: 36, cat: Movies, desc: "Филми/BoxSet"}
- {id: 28, cat: Movies, desc: "Филми/Руски"}
- {id: 34, cat: Movies/DVD, desc: "Филми/Руски DVD-R"}
- {id: 20, cat: Movies/DVD, desc: "Филми/DVD-R"}
- {id: 37, cat: Movies/HD, desc: "Филми/HD"}
- {id: 30, cat: TV/Sport, desc: "Филми/Спорт"}
- {id: 19, cat: Movies/SD, desc: "Филми/XviD"}
- {id: 29, cat: TV/Documentary, desc: "Филми/Документални"}
- {id: 54, cat: TV, desc: "TV Show"}
- {id: 2, cat: Other, desc: "Други"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter freeleech only
default: false
- name: 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>Tоренти на страница:</b> setting to <b>100</b> on your account profile. The default is <i>20</i>.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: my.php
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 all, 2 dead
incldead: 1
# 0 name, 1 descr
searchrs: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: "table[width=\"65%\"] > tbody > tr[onmouseover]{{ if .Config.freeleech }}:has(img[src=\"pic/freeleech.png\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
optional: true
attribute: href
poster:
selector: a[href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
files:
selector: td:nth-last-child(8)
date:
# 2023-05-19<br/>14:10:17
selector: td:nth-last-child(6)
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
size:
selector: td:nth-last-child(4)
grabs:
selector: td:nth-last-child(3)
seeders:
selector: td:nth-last-child(2)
leechers:
selector: td:nth-last-child(1)
downloadvolumefactor:
case:
img[src="pic/freeleech.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# engine tbd

View File

@@ -77,6 +77,11 @@ caps:
- {id: 96, cat: Books, desc: " |- Українська художня література"}
- {id: 95, cat: Books, desc: " |- Зарубіжна художня література"}
- {id: 94, cat: Books, desc: " |- Історія, біографістика, спогади"}
- {id: 168, cat: PC, desc: "Програмне забезпечення Операційні системи"}
- {id: 169, cat: PC, desc: "Програмне забезпечення Системні програми"}
- {id: 170, cat: PC, desc: "Програмне забезпечення Офіс, текстові редактори"}
- {id: 171, cat: PC, desc: "Програмне забезпечення Аудіо, відео обробка"}
- {id: 173, cat: PC, desc: "Програмне забезпечення Операційні системи Інше"}
- {id: 23, cat: Movies, desc: "Архів"} # Archive - unlisted
modes:

View File

@@ -0,0 +1,159 @@
---
id: mdan
name: MDAN
description: "Mansão dos Animes (MDAN) is a BRAZILIAN Private Torrent Tracker for ANIME"
language: pt-BR
type: private
encoding: UTF-8
links:
- https://bt.mdan.org/
caps:
categorymappings:
- {id: 5, cat: TV/Anime, desc: "Animes Completo"}
- {id: 1, cat: TV/Anime, desc: "Animes Episódios"}
- {id: 2, cat: TV/Anime, desc: "Animes OVAs"}
- {id: 3, cat: Movies, desc: "Filmes"}
- {id: 6, cat: Movies/Other, desc: "Live"}
- {id: 7, cat: Books/Comics, desc: "Mangá"}
- {id: 4, cat: Audio, desc: "OST"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-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
- 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 por página (Torrents per Page):</b> setting to <b>100</b> on your Perfil (Profile). The default is <i>30</i>.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: :contains("incorret")
test:
path: index.php
selector: a[href^="logout.php?hash_please="]
search:
paths:
- path: browse.php
inputs:
# note: site uses the catsX[]=nn method which cardigann does not support.
search: "{{ .Keywords }}"
# title, descr, genre, all
searchin: title
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 no, 1 yes
only_free: "{{ if .Config.freeleech }}1{{else}}{{end}}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table[style^="width"] > tbody > tr:has(a[href^="details.php?id="]), table[style^="width"] > tbody > tr[id^="kdescr"]
after: 1
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
# titles are abbreviated :-(
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
_id:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: querystring
args: id
download:
text: "download.php?torrent={{ .Result._id }}&ssl=1"
poster:
selector: td:nth-child(9) img
attribute: src
date_day:
# 10:50<br/>Hoje
# 13:15<br/>Ontem
selector: td:nth-child(7):contains("e")
# auto adjusted by site account profile
optional: true
filters:
- name: replace
args: ["Hoje", "Today"]
- name: replace
args: ["Ontem", "Yesterday"]
date_year:
# 18:55<br/>03-05-2023
selector: td:nth-child(7):not(:contains("e"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "HH:mm dd-MM-yyyy"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(6)
files:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(4)
seeders:
selector: a[href$="seeders"]
optional: true
default: 0
leechers:
selector: a[href$="leechers"]
optional: true
default: 0
downloadvolumefactor:
case:
img[src="./pic/free.gif"]: 0
img[src="./pic/silver2.gif"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.4
# U-232

View File

@@ -0,0 +1,169 @@
---
id: metalguru
name: MetalGuru
description: "MetalGuru is a Private Torrent Tracker for General with focus on Music"
language: en-US
type: private
encoding: UTF-8
links:
- https://metalguru.me/
caps:
categorymappings:
- {id: 51, cat: Audio/Lossless, desc: "24bit"}
- {id: 58, cat: TV/Anime, desc: "Anime"}
- {id: 39, cat: PC/Mobile-Other, desc: "Anything Mobile"}
- {id: 1, cat: PC, desc: "Applications"}
- {id: 2, cat: Books, desc: "Books Ebooks & mags"}
- {id: 59, cat: Movies/SD, desc: "Cams"}
- {id: 46, cat: Books, desc: "Documents"}
- {id: 47, cat: Audio/Lossless, desc: "Flac/HD Audio"}
- {id: 61, cat: Console, desc: "Games"}
- {id: 62, cat: Audio, desc: "Karaoke"}
- {id: 45, cat: Other, desc: "Misc"}
- {id: 57, cat: Movies, desc: "Movie Packs"}
- {id: 10, cat: Movies, desc: "Movies"}
- {id: 50, cat: Audio, desc: "MQA"}
- {id: 29, cat: Audio, desc: "Music"}
- {id: 31, cat: Audio/Video, desc: "Music| Movie/Videos"}
- {id: 32, cat: Audio, desc: "Music| Packs"}
- {id: 60, cat: TV, desc: "Toons"}
- {id: 54, cat: TV, desc: "TV"}
- {id: 63, cat: TV, desc: "TV Packs"}
- {id: 56, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-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
- 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
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
use_ssl: 1
submitme: X
error:
- selector: h2:contains("failed")
message:
selector: td.colhead2
test:
path: browse.php
selector: a[href*="logout.php?hash_please="]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
# title, descr, genre, all
searchin: "{{ if .Query.IMDBID }}descr{{else}}title{{ end }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 no, 1 yes
only_free: "{{ if .Config.freeleech }}1{{else}}0{{end}}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
# no imdbid in results
rows:
selector: table.table-bordered > tbody > tr:has(a[href^="details.php?id="])
# filters:
# - name: andmatch
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
# onmouseover="Tip('<img src=\'https://metalguru.me/bucket/2023/05/75ad78_theofficialtop40singleschart12-05-2023.jpg\' width=
- name: regexp
args: src=\\'(.*?)\\'
files:
selector: td:nth-child(5)
date_day:
# Today<br/>10:20 AM
# Yesterday<br/>08:03 PM
selector: td:nth-child(7):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
# Feb 14 2019<br/>10:20 AM
selector: td:nth-child(7):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "MMM d yyyy hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
case:
a.infofree: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 48h freeleech (as seconds = 48 x 60 x 60)
# 36h notfree (as seconds = 36 x 60 x 60)
case:
a.infofree: 172800
"*": 129600
# U-232 v5

View File

@@ -87,7 +87,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -96,8 +95,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -75,7 +75,6 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
logintype: yes
error:
- selector: table:contains("Hiba történt!")

View File

@@ -89,7 +89,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -98,8 +97,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -162,4 +162,4 @@ search:
text: 1.0
description:
selector: short_description
# engine n/a
# engine BtiTracker

View File

@@ -0,0 +1,171 @@
---
id: party-tracker
name: Party-Tracker
description: "Party-Tracker is a HUNGARIAN private tracker for MOVIES / TV / GENERAL"
language: hu-HU
type: private
encoding: ISO-8859-2
links:
- https://party-tracker.info/
caps:
categorymappings:
- {id: 47, cat: Console/XBox, desc: "Játék/Xbox"}
- {id: 46, cat: Console/PS3, desc: "Játék/Ps2"}
- {id: 45, cat: PC/Games, desc: "Játék/Pc"}
- {id: 44, cat: Movies/SD, desc: "Cam/hun"}
- {id: 69, cat: Movies/SD, desc: "Cam/eng"}
- {id: 43, cat: Movies/SD, desc: "Film/Hun/XviD"}
- {id: 42, cat: Movies/SD, desc: "Film/Eng/XviD"}
- {id: 41, cat: Movies/DVD, desc: "Film/Hun/DVD"}
- {id: 40, cat: Movies/DVD, desc: "Film/Eng/DVD"}
- {id: 39, cat: Books/EBook, desc: "E-book"}
- {id: 38, cat: TV/HD, desc: "HD/Hun"}
- {id: 57, cat: TV/SD, desc: "Sorozat/Eng"}
- {id: 66, cat: TV/HD, desc: "HD/Eng"}
- {id: 50, cat: PC/Mobile-Other, desc: "Mobil"}
- {id: 51, cat: PC/0day, desc: "Programok"}
- {id: 52, cat: TV/SD, desc: "Sorozat/Hun"}
- {id: 53, cat: XXX/x264, desc: "XXX/Film"}
- {id: 54, cat: XXX/ImageSet, desc: "XXX/Kép"}
- {id: 48, cat: Other, desc: "Képek"}
- {id: 49, cat: TV/Anime, desc: "Mese"}
- {id: 55, cat: Audio, desc: "Zene/Eng"}
- {id: 56, cat: Audio, desc: "Zene/Hun"}
- {id: 65, cat: Audio/Audiobook, desc: "Hangoskönyv"}
- {id: 67, cat: Audio/Video, desc: "Klipp"}
- {id: 68, cat: Books/EBook, desc: "Ebook/eng"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-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
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: added
5: size
7: seeders
- 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>Torrent oldalanként:</b> setting to <b>100</b> on your account profile.
login:
method: post
path: takelogin.php
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Hiba")
test:
path: index.php
selector: a[href^="logout.php?url="]
search:
paths:
- path: letoltes.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# title, descr, actor, tag
ker: 0
# 0 active, 1 active+idead, 2 dead, 3 free, 4 x2, 6 my torrents
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
# does not support imdbid searches
keywordsfilters:
# replace spaces between words with percent wildcard
- name: re_replace
args: ["\\W+", "%"]
rows:
selector: table.main > tbody > tr:has(a[href^="letoltes.php?tipus="])
fields:
category:
selector: a[href^="letoltes.php?tipus="]
attribute: href
filters:
- name: querystring
args: tipus
title:
selector: a[href^="details.php?id="]
attribute: title
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: span[onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: src=([^\s]+)
genre:
selector: a[href^="/letoltes.php?cimke="]
description:
text: "{{ .Result.genre }}"
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
date:
selector: td:nth-child(5)
remove: font
filters:
- name: replace
args: ["\xA0", ""]
- name: append
args: " +01:00" # CET
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
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:
img[src="fajlok/kepek/free.gif"]: 0
"*": 1
uploadvolumefactor:
case:
img[src="fajlok/kepek/x2.gif"]: 2
"*": 1
minimumratio:
text: 1.0
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# engine n/a

View File

@@ -88,7 +88,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -97,8 +96,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -5,6 +5,8 @@ description: "PTFiles (PTF) is a Private site for TV / MOVIES / GENERAL"
language: en-US
type: private
encoding: windows-1252
certificates:
- 69901C31636B4D413903F4B32573ED6E8F5961FE # expired 26 May 2023
links:
- https://ptfiles.net/
@@ -42,13 +44,12 @@ caps:
book-search: [q]
settings:
- name: cookie
- name: username
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -71,9 +72,20 @@ settings:
asc: asc
login:
method: cookie
path: loginproc/
method: form
form: form#login
inputs:
cookie: "{{ .Config.cookie }}"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
force_ssl: on
ssl: ""
selectorinputs:
hash:
selector: input[name="hash"]
attribute: value
error:
- selector: p.error:contains(strong)
test:
path: browse.php

View File

@@ -0,0 +1,167 @@
---
id: ptitzmx
name: PT分享站
description: "PT分享站 (itzmx) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://pt.itzmx.com/
caps:
categorymappings:
- {id: 405, cat: TV/Anime, desc: "Anime.动画"}
- {id: 404, cat: Books/Comics, desc: "Comics.漫画"}
- {id: 408, cat: Audio, desc: "Music.音乐"}
- {id: 401, cat: Movies, desc: "Movies.电影"}
- {id: 402, cat: TV, desc: "TV.电视剧"}
- {id: 414, cat: Movies/BluRay, desc: "MoviesBluray.蓝光"}
- {id: 410, cat: PC, desc: "Appz.软件"}
- {id: 411, cat: Console, desc: "Games.游戏"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-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
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
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 .Query.DoubanID }}{{ .Query.DoubanID }} {{ else }}{{ end }}{{ .Keywords }}"
# 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 (does not work)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 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:
selector: a[href^="details.php?id="]
attribute: title
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
date_elapsed:
# time type: time elapsed (default)
selector: td: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: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 }}"
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: 1.0
description:
selector: td:nth-child(2)
remove: a, img
# NexusPHP v1.5 2014-04-14

View File

@@ -112,7 +112,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -121,8 +120,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
categorydesc:

View File

@@ -98,7 +98,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -107,8 +106,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -86,7 +86,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -95,8 +94,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -82,7 +82,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -91,8 +90,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -5,8 +5,6 @@ description: "RPTorrents is a Private tracker for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
certificates:
- e674aa17bf38af08a119626025298e1bb4d2d5cb # Expired 29 April 2023
links:
- https://rptorrents.com/

View File

@@ -16,7 +16,8 @@
"type": "string"
},
"language": {
"type": "string"
"type": "string",
"enum": ["af", "af-ZA", "ar", "ar-AE", "ar-BH", "ar-DZ", "ar-EG", "ar-IQ", "ar-JO", "ar-KW", "ar-LB", "ar-LY", "ar-MA", "ar-OM", "ar-QA", "ar-SA", "ar-SY", "ar-TN", "ar-YE", "az", "az-AZ", "be", "be-BY", "bg", "bg-BG", "bs-BA", "ca", "ca-ES", "cs", "cs-CZ", "cy", "cy-GB", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "de-LI", "de-LU", "dv", "dv-MV", "el", "el-GR", "en", "en-AU", "en-BZ", "en-CA", "en-CB", "en-GB", "en-IE", "en-JM", "en-NZ", "en-PH", "en-TT", "en-US", "en-ZA", "en-ZW", "eo", "es", "es-AR", "es-BO", "es-CL", "es-CO", "es-CR", "es-DO", "es-EC", "es-ES", "es-GT", "es-HN", "es-MX", "es-NI", "es-PA", "es-PE", "es-PR", "es-PY", "es-SV", "es-UY", "es-VE", "et", "et-EE", "eu", "eu-ES", "fa", "fa-IR", "fi", "fi-FI", "fo", "fo-FO", "fr", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "fr-LU", "fr-MC", "gl", "gl-ES", "gu", "gu-IN", "he", "he-IL", "hi", "hi-IN", "hr", "hr-BA", "hr-HR", "hu", "hu-HU", "hy", "hy-AM", "id", "id-ID", "is", "is-IS", "it", "it-CH", "it-IT", "ja", "ja-JP", "ka", "ka-GE", "kk", "kk-KZ", "kn", "kn-IN", "ko", "ko-KR", "kok", "kok-IN", "ky", "ky-KG", "lt", "lt-LT", "lv", "lv-LV", "mi", "mi-NZ", "mk", "mk-MK", "mn", "mn-MN", "mr", "mr-IN", "ms", "ms-BN", "ms-MY", "mt", "mt-MT", "nb", "nb-NO", "nl", "nl-BE", "nl-NL", "nn-NO", "ns", "ns-ZA", "pa", "pa-IN", "pl", "pl-PL", "ps", "ps-AR", "pt", "pt-BR", "pt-PT", "qu", "qu-BO", "qu-EC", "qu-PE", "ro", "ro-RO", "ru", "ru-RU", "sa", "sa-IN", "se", "se-FI", "se-NO", "se-SE", "sk", "sk-SK", "sl", "sl-SI", "sq", "sq-AL", "sr-BA", "sr-SP", "sv", "sv-FI", "sv-SE", "sw", "sw-KE", "syr", "syr-SY", "ta", "ta-IN", "te", "te-IN", "th", "th-TH", "tl", "tl-PH", "tn", "tn-ZA", "tr", "tr-TR", "tt", "tt-RU", "ts", "uk", "uk-UA", "ur", "ur-PK", "uz", "uz-UZ", "vi", "vi-VN", "xh", "xh-ZA", "zh", "zh-CN", "zh-HK", "zh-MO", "zh-SG", "zh-TW", "zu", "zu-ZA", "af", "af-ZA", "ar", "ar-AE", "ar-BH", "ar-DZ", "ar-EG", "ar-IQ", "ar-JO", "ar-KW", "ar-LB", "ar-LY", "ar-MA", "ar-OM", "ar-QA", "ar-SA", "ar-SY", "ar-TN", "ar-YE", "az", "az-AZ", "be", "be-BY", "bg", "bg-BG", "bs-BA", "ca", "ca-ES", "cs", "cs-CZ", "cy", "cy-GB", "da", "da-DK", "de", "de-AT", "de-CH", "de-DE", "de-LI", "de-LU", "dv", "dv-MV", "el", "el-GR", "en", "en-AU", "en-BZ", "en-CA", "en-CB", "en-GB", "en-IE", "en-JM", "en-NZ", "en-PH", "en-TT", "en-US", "en-ZA", "en-ZW", "eo", "es", "es-AR", "es-BO", "es-CL", "es-CO", "es-CR", "es-DO", "es-EC", "es-ES", "es-GT", "es-HN", "es-MX", "es-NI", "es-PA", "es-PE", "es-PR", "es-PY", "es-SV", "es-UY", "es-VE", "et", "et-EE", "eu", "eu-ES", "fa", "fa-IR", "fi", "fi-FI", "fo", "fo-FO", "fr", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "fr-LU", "fr-MC", "gl", "gl-ES", "gu", "gu-IN", "he", "he-IL", "hi", "hi-IN", "hr", "hr-BA", "hr-HR", "hu", "hu-HU", "hy", "hy-AM", "id", "id-ID", "is", "is-IS", "it", "it-CH", "it-IT", "ja", "ja-JP", "ka", "ka-GE", "kk", "kk-KZ", "kn", "kn-IN", "ko", "ko-KR", "kok", "kok-IN", "ky", "ky-KG", "lt", "lt-LT", "lv", "lv-LV", "mi", "mi-NZ", "mk", "mk-MK", "mn", "mn-MN", "mr", "mr-IN", "ms", "ms-BN", "ms-MY", "mt", "mt-MT", "nb", "nb-NO", "nl", "nl-BE", "nl-NL", "nn-NO", "ns", "ns-ZA", "pa", "pa-IN", "pl", "pl-PL", "ps", "ps-AR", "pt", "pt-BR", "pt-PT", "qu", "qu-BO", "qu-EC", "qu-PE", "ro", "ro-RO", "ru", "ru-RU", "sa", "sa-IN", "se", "se-FI", "se-NO", "se-SE", "sk", "sk-SK", "sl", "sl-SI", "sq", "sq-AL", "sr-BA", "sr-SP", "sv", "sv-FI", "sv-SE", "sw", "sw-KE", "syr", "syr-SY", "ta", "ta-IN", "te", "te-IN", "th", "th-TH", "tl", "tl-PH", "tn", "tn-ZA", "tr", "tr-TR", "tt", "tt-RU", "ts", "uk", "uk-UA", "ur", "ur-PK", "uz", "uz-UZ", "vi", "vi-VN", "xh", "xh-ZA", "zh", "zh-CN", "zh-HK", "zh-MO", "zh-SG", "zh-TW", "zu", "zu-ZA"]
},
"type": {
"type": "string",

View File

@@ -90,7 +90,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: diacritics
@@ -105,8 +104,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -1,153 +0,0 @@
---
id: sharkpt
name: SharkPT
description: "SharkPT is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://sharkpt.net/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 402, cat: TV, desc: "TV Series/电视连续剧"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 406, cat: Audio/Video, desc: "MusicVideo/音乐视频"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 408, cat: Audio, desc: "Music/HQ Audio"}
- {id: 409, cat: Other, desc: "Misc/其他"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, doubanid]
movie-search: [q, imdbid, doubanid]
music-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- 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.
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.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 (4 does not appear to work)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: div.torrent-item
fields:
category:
selector: div.torrent-category
case:
img[src$="movies64.png"]: 401
img[src$="tvseries64.png"]: 402
img[src$="tvshows64.png"]: 403
img[src$="doc64.png"]: 404
img[src$="anime64.png"]: 405
img[src$="mv64.png"]: 406
img[src$="sports64.png"]: 407
img[src$="hqaudio64.png"]: 408
img[src$="misc64.png"]: 409
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
_id:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: querystring
args: id
download:
text: "download.php?id={{ .Result._id }}"
imdbid:
selector: shark-tag-group[onClick*="imdb.com/title/tt"]
attribute: onClick
doubanid:
selector: shark-tag-group[onClick*="movie.douban.com/subject/"]
attribute: onClick
description:
selector: div.torrent-subtitle
date:
selector: div.torrent-when > span
attribute: title
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: div.torrent-size
seeders:
selector: div.torrent-seeders
leechers:
selector: div.torrent-leechers
grabs:
selector: div.torrent-snatches
downloadvolumefactor:
case:
"span.s-tag:contains(\"FREE\")": 0
"span.s-tag:contains(\"50%\")": 0.5
"span.s-tag:contains(\"30%\")": 0.3
"*": 1
uploadvolumefactor:
case:
"span.s-tag:contains(\"2X\")": 2
"*": 1
minimumseedtime:
# 7 day (as seconds = 7 x 24 x 60 x 60)
text: 604800
# NexusPHP Standard v1.5 Beta 4 2010-09-19

View File

@@ -78,7 +78,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -87,8 +86,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -78,7 +78,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -87,8 +86,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -16,8 +16,8 @@ caps:
- {id: 9, cat: XXX, desc: "xXx"}
- {id: 23, cat: Books, desc: "Knihy a Časopisy"}
- {id: 25, cat: Other, desc: "Ostatní"}
- {id: 5, cat: Movies, desc: "Filmy Kreslené"}
- {id: 1, cat: Movies, desc: "Filmy CZ/SK dabing"}
- {id: 5, cat: Movies, desc: "Filmy Kreslené"}
- {id: 14, cat: Movies/Other, desc: "Filmy Kamera"}
- {id: 15, cat: Movies, desc: "Filmy s titulkama"}
- {id: 20, cat: Movies/DVD, desc: "Filmy DVD"}
@@ -32,6 +32,7 @@ caps:
- {id: 37, cat: PC/Games, desc: "Hry na Linux"}
- {id: 59, cat: PC/Games, desc: "Hry na Mac"}
- {id: 60, cat: PC/Games, desc: "xXx hry (18+)"}
- {id: 63, cat: PC/Games, desc: "VR Hry"}
- {id: 16, cat: TV, desc: "TV Seriál"}
- {id: 17, cat: TV/Documentary, desc: "TV Dokument"}
- {id: 42, cat: TV, desc: "TV Pořad"}

View File

@@ -2,7 +2,7 @@
id: superbits
name: Superbits
description: "Superbits is a SWEDISH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: sv-SW
language: sv-SE
type: private
encoding: UTF-8
links:

View File

@@ -90,7 +90,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -99,8 +98,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -79,7 +79,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -88,8 +87,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -92,7 +92,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -101,8 +100,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:

View File

@@ -7,7 +7,6 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://www.torrent9.fi/
- https://www.torrent9.fm/
- https://torrent9.unblockninja.com/
legacylinks:
@@ -44,6 +43,7 @@ legacylinks:
- https://www.oxtorrent.me/ # http 522 Connection timed out
- https://www.torrent9.gg/
- https://torrent9.to/ # no response data
- https://www.torrent9.fi/ # this is the torrent9clone domain
caps:
# dont forget to update the search fields category case block

View File

@@ -28,6 +28,7 @@ caps:
- {id: Documentaries, cat: TV/Documentary, desc: Documentaries}
- {id: XXX, cat: XXX, desc: XXX}
- {id: Other, cat: Other, desc: Other}
- {id: Anime, cat: TV/Anime, desc: Anime}
modes:
search: [q]
@@ -83,6 +84,17 @@ search:
download:
selector: span > a
attribute: href
date_day:
# 10am May. 24th
selector: div > span:nth-child(4):contains("."):not(:contains(":"))
optional: true
filters:
- name: re_replace
args: ["(?i)(st|nd|rd|th)", ""]
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "htt MMM. d zzz"
date_year:
# Sep. 7th '10
selector: div > span:nth-child(4):not(:contains(":"))
@@ -106,7 +118,7 @@ search:
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_year .Result.date_time }}{{ or .Result.date_year .Result.date_time }}{{ else }}now{{ end }}"
text: "{{ if or .Result.date_day .Result.date_year .Result.date_time }}{{ or .Result.date_day .Result.date_year .Result.date_time }}{{ else }}now{{ end }}"
size:
selector: div > span:nth-child(5)
seeders:

View File

@@ -7,10 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq256.com/
- https://torrentqq258.com/
legacylinks:
- https://torrentqq241.com/
- https://torrentqq242.com/
- https://torrentqq243.com/
- https://torrentqq244.com/
- https://torrentqq245.com/. # typo
@@ -25,6 +23,8 @@ legacylinks:
- https://torrentqq253.com/
- https://torrentqq254.com/
- https://torrentqq255.com/
- https://torrentqq256.com/
- https://torrentqq257.com/
caps:
categorymappings:

View File

@@ -89,7 +89,6 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: replace # avoid conflict when prepending + to words
@@ -102,8 +101,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
categorydesc:

View File

@@ -7,11 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentsir105.com/
- https://torrentsir106.com/
legacylinks:
- https://torrentsir90.com/
- http://torrentsir91.com/
- https://torrentsir91.com/
- http://torrentsir92.com/
- https://torrentsir92.com/
- http://torrentsir93.com/
@@ -33,6 +30,8 @@ legacylinks:
- http://torrentsir104.com/
- https://torrentsir104.com/
- http://torrentsir105.com/
- https://torrentsir105.com/
- http://torrentsir106.com/
caps:
categorymappings:

View File

@@ -7,11 +7,10 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://viewtorrent8.com/
- https://viewtorrent10.com/
legacylinks:
- https://torrentview.net/
- https://torrentview.co/
- https://torrentview57.com/
- https://torrentview60.com/
- https://torrentview62.com/
- https://torrentview63.com/
@@ -25,6 +24,7 @@ legacylinks:
- https://viewtorrent5.com/
- https://viewtorrent6.com/
- https://viewtorrent7.com/
- https://viewtorrent8.com/
caps:
categorymappings:

View File

@@ -7,9 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentwiz57.com/
- https://torrentwiz58.com/
legacylinks:
- https://torrentwiz39.com/
- https://torrentwiz40.com/
- https://torrentwiz41.com/
- https://torrentwiz42.com/
@@ -25,6 +24,7 @@ legacylinks:
- https://torrentwiz54.com/
- https://torrentwiz55.com/
- https://torrentwiz56.com/
- https://torrentwiz57.com/
caps:
categorymappings:

View File

@@ -1,7 +1,7 @@
---
id: trezzor
name: Trezzor
description: "Trezzor is a CZECH Private site for TV / MOVIES / GENERAL"
name: TreZzoR
description: "TreZzoR is a CZECH Private site for TV / MOVIES / GENERAL"
language: cs-CZ
type: private
encoding: windows-1250
@@ -10,74 +10,103 @@ links:
caps:
categorymappings:
- {id: 1, cat: Movies/DVD, desc: "DVD CZ/SK dabing"}
- {id: 2, cat: Movies/DVD, desc: "DVD CZ/SK titulky"}
- {id: 3, cat: Audio/Video, desc: "DVD Hudební video"}
- {id: 4, cat: Movies/SD, desc: "XviD, DivX CZ/SK dabing"}
- {id: 13, cat: Audio, desc: "Hudba CZ/SK scéna"}
- {id: 24, cat: Audio, desc: "Mluv. slovo CZ/SK dabing"}
- {id: 10, cat: Audio/Other, desc: "DTS audio"}
- {id: 14, cat: PC/Games, desc: "Hry"}
- {id: 17, cat: PC, desc: "Programy"}
- {id: 14, cat: PC, desc: "Cestiny,patche,upgrady"}
- {id: 18, cat: Books, desc: "Knihy CZ/SK lokalizace"}
- {id: 18, cat: Books/Comics, desc: "Komiks CZ/SK lokalizace"}
- {id: 16, cat: Other, desc: "Foto,obrázky"}
- {id: 20, cat: Console, desc: "Konzole"}
- {id: 21, cat: PC/Mobile-Other, desc: "Mobilmánia"}
- {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"}
- {id: 23, cat: Other, desc: "Na prani non CZ/SK"}
- {id: 27, cat: Other, desc: "TreZzoR rls"}
- {id: 35, cat: Audio/Video, desc: "HDTV Hudební video"}
- {id: 36, cat: Movies/SD, desc: "XviD, DivX CZ/SK titulky"}
- {id: 31, cat: Movies/HD, desc: "HDTV CZ/SK Dabing"}
- {id: 33, cat: Movies/HD, desc: "HDTV CZ/SK Titulky"}
- {id: 39, cat: Movies/3D, desc: "3D HDTV CZ/SK Dabing"}
- {id: 40, cat: Movies/3D, desc: "3D HDTV CZ/SK Titulky"}
- {id: 5, cat: Movies/SD, desc: "TV-rip CZ/SK dabing"}
- {id: 31, cat: Movies/HD, desc: "HD CZ/SK Dabing"}
- {id: 33, cat: Movies/HD, desc: "HD CZ/SK Titulky"}
- {id: 41, cat: TV/HD, desc: "HD Seriály CZ/SK dabing"}
- {id: 42, cat: TV/HD, desc: "HD Seriály CZ/SK titulky"}
- {id: 1, cat: Movies/BluRay, desc: "Full disc CZ/SK dabing"}
- {id: 2, cat: Movies/BluRay, desc: "Full disc CZ/SK titulky"}
- {id: 4, cat: Movies/SD, desc: "SD CZ/SK dabing"}
- {id: 36, cat: Movies/SD, desc: "SD CZ/SK titulky"}
- {id: 7, cat: TV/SD, desc: "Seriály CZ/SK dabing"}
- {id: 37, cat: TV/SD, desc: "Seriály CZ/SK titulky"}
- {id: 9, cat: XXX/XviD, desc: "XXX CZ/SK dabing"}
- {id: 32, cat: XXX/x264, desc: "XXX HD CZ/SK dabing"}
- {id: 35, cat: Audio/Video, desc: "Hudebni video"}
- {id: 32, cat: XXX, desc: "XXX CZ/SK"}
- {id: 13, cat: Audio, desc: "Hudba"}
- {id: 24, cat: Audio/Audiobook, desc: "Mluv. slovo CZ/SK dabing"}
- {id: 14, cat: PC/Games, desc: "Hry"}
- {id: 17, cat: PC/0day, desc: "Programy"}
- {id: 15, cat: PC/Games, desc: "Cestiny,patche,upgrady"}
- {id: 18, cat: Books, desc: "Knihy CZ/SK lokalizace"}
- {id: 19, cat: Books/Comics, desc: "Komiks CZ/SK lokalizace"}
- {id: 16, cat: Other, desc: "Foto,obrázky"}
- {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"}
- {id: 20, cat: Console, desc: "Konzole"}
- {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"}
- {id: 23, cat: Other, desc: "Na prani non CZ/SK"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
tv-search: [q, season, ep, year]
movie-search: [q, year]
music-search: [q]
book-search: [q]
settings:
- name: cookie
- name: username
type: text
label: Cookie
- name: info
label: Username
- name: password
type: password
label: Password
- name: freeleech
type: checkbox
label: Filter FreeLeech only
default: false
- name: sort
type: select
label: Sort requested from site
default: data
options:
data: created
seeds: seeders
size: size
filename: title
- name: type
type: select
label: Order requested from site
default: DESC
options:
DESC: desc
ASC: asc
- name: info_tpp
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
label: Results Per Page
default: For best results, change the <b>Torrentu na strance:</b> setting to <b>100</b> on your account profile.
- name: info_xxx
type: info
label: XXX Results
default: To include XXX in results, click <b>Kategoria XXX sa nezobrazuje!!!. povolit zobrazenie</b> on the tracker search page.
login:
method: cookie
path: prihlasenie.php
method: post
inputs:
cookie: "{{ .Config.cookie }}"
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: div > font:has(a[href="neregpodp.php"])
test:
path: torrents.php
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
keywordsfilters:
- name: re_replace
args: ["(?i)S(\\d{2})E(\\d{2})", "$1 $2"]
inputs:
search: "{{ .Keywords }}"
category: 0
active: 1
# 0 all, 1 active, 2 dead
active: 0
rok: "{{ .Query.Year }}"
# can search for genre but you need to know the id. &genres=57466 for Akční
keywordsfilters:
- name: re_replace
args: ["(?i)S(\\d{2})E(\\d{2})", "$1 $2"]
rows:
selector: tr.torrenty_lista
selector: "tr.torrenty_lista{{ if .Config.freeleech }}:has(a[href^=\"details.php?slug=\"] b span[style=\"color:darkmagenta\"]){{ else }}{{ end }}"
fields:
category:
@@ -90,17 +119,36 @@ search:
selector: a[href^="details.php?slug="]
attribute: title
filters:
# Czech, English
- name: re_replace
args: ["(?i)(Zobrazit detaily: |View details: )", ""]
args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""]
- name: re_replace
args: ["(Detaily: )", ""]
args: ["(?i)[\\s\\->]*FREELEECH.*", ""]
- name: re_replace
args: ["(\\w)\\.(\\w)", "$1 $2"]
args: [".*?/ ", ""]
- name: re_replace
args: [".*? / ", ""]
- name: diacritics
args: replace
args: ["(?i)\\b(\\d{1,3})x(\\d{1,3})\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]*Epizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)[\\.,\\s]*(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]+(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3})[-\\+\\.,\\s]+(\\d+)\\b", "S$1-$2"]
- name: re_replace
args: ["(?i)\\b(\\d{1,3})[-\\+\\.\\s]+(\\d+)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1-$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)\\b", "S$1"]
- name: re_replace
args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1"]
- name: re_replace
args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+)[-\\+\\.,\\s]+(\\d+)\\b", "E$1-$2"]
- name: re_replace
args: ["(?i)\\b(\\d+)[-\\+\\.,\\s]+(\\d+)[\\s\\.]*Epizoda\\b", "E$1-$2"]
- name: re_replace
args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "E$1"]
- name: re_replace
args: ["(?i)\\b(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "E$1"]
details:
selector: a[href^="details.php?slug="]
attribute: href
@@ -123,7 +171,17 @@ search:
grabs:
selector: td:nth-child(10)
downloadvolumefactor:
text: 1
case:
a[href^="details.php?slug="] b span[style="color:darkmagenta"]: 0
"*": 1
uploadvolumefactor:
text: 1
description:
selector: a[href^="details.php?slug="]
attribute: title
filters:
- name: re_replace
args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""]
- name: re_replace
args: ["(?i)[\\s\\->]*FREELEECH.*", ""]
# engine tbd

View File

@@ -0,0 +1,184 @@
---
id: trezzorcookie
name: TreZzoRCookie
description: "TreZzoR is a CZECH Private site for TV / MOVIES / GENERAL. This uses the cookie method for access"
language: cs-CZ
type: private
encoding: windows-1250
links:
- https://tracker.czech-server.com/
caps:
categorymappings:
- {id: 31, cat: Movies/HD, desc: "HD CZ/SK Dabing"}
- {id: 33, cat: Movies/HD, desc: "HD CZ/SK Titulky"}
- {id: 41, cat: TV/HD, desc: "HD Seriály CZ/SK dabing"}
- {id: 42, cat: TV/HD, desc: "HD Seriály CZ/SK titulky"}
- {id: 1, cat: Movies/BluRay, desc: "Full disc CZ/SK dabing"}
- {id: 2, cat: Movies/BluRay, desc: "Full disc CZ/SK titulky"}
- {id: 4, cat: Movies/SD, desc: "SD CZ/SK dabing"}
- {id: 36, cat: Movies/SD, desc: "SD CZ/SK titulky"}
- {id: 7, cat: TV/SD, desc: "Seriály CZ/SK dabing"}
- {id: 37, cat: TV/SD, desc: "Seriály CZ/SK titulky"}
- {id: 35, cat: Audio/Video, desc: "Hudebni video"}
- {id: 32, cat: XXX, desc: "XXX CZ/SK"}
- {id: 13, cat: Audio, desc: "Hudba"}
- {id: 24, cat: Audio/Audiobook, desc: "Mluv. slovo CZ/SK dabing"}
- {id: 14, cat: PC/Games, desc: "Hry"}
- {id: 17, cat: PC/0day, desc: "Programy"}
- {id: 15, cat: PC/Games, desc: "Cestiny,patche,upgrady"}
- {id: 18, cat: Books, desc: "Knihy CZ/SK lokalizace"}
- {id: 19, cat: Books/Comics, desc: "Komiks CZ/SK lokalizace"}
- {id: 16, cat: Other, desc: "Foto,obrázky"}
- {id: 21, cat: PC/Mobile-Android, desc: "Mobilmánia"}
- {id: 20, cat: Console, desc: "Konzole"}
- {id: 22, cat: Other, desc: "Ostatní CZ/SK scéna"}
- {id: 23, cat: Other, desc: "Na prani non CZ/SK"}
modes:
search: [q]
tv-search: [q, season, ep, year]
movie-search: [q, year]
music-search: [q]
book-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Filter FreeLeech only
default: false
- name: sort
type: select
label: Sort requested from site
default: data
options:
data: created
seeds: seeders
size: size
filename: 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>Torrentu na strance:</b> setting to <b>100</b> on your account profile.
- name: info_xxx
type: info
label: XXX Results
default: To include XXX in results, click <b>Kategoria XXX sa nezobrazuje!!!. povolit zobrazenie</b> on the tracker search page.
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
search: "{{ .Keywords }}"
category: 0
# 0 all, 1 active, 2 dead
active: 0
rok: "{{ .Query.Year }}"
# can search for genre but you need to know the id. &genres=57466 for Akční
keywordsfilters:
- name: re_replace
args: ["(?i)S(\\d{2})E(\\d{2})", "$1 $2"]
rows:
selector: "tr.torrenty_lista{{ if .Config.freeleech }}:has(a[href^=\"details.php?slug=\"] b span[style=\"color:darkmagenta\"]){{ else }}{{ end }}"
fields:
category:
selector: a[href^="torrents.php?onlycat="]
attribute: href
filters:
- name: querystring
args: onlycat
title:
selector: a[href^="details.php?slug="]
attribute: title
filters:
- name: re_replace
args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""]
- name: re_replace
args: ["(?i)[\\s\\->]*FREELEECH.*", ""]
- name: re_replace
args: [".*?/ ", ""]
- name: re_replace
args: ["(?i)\\b(\\d{1,3})x(\\d{1,3})\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]*Epizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)[\\.,\\s]*(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)[\\.,\\s]+(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "S$1E$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3})[-\\+\\.,\\s]+(\\d+)\\b", "S$1-$2"]
- name: re_replace
args: ["(?i)\\b(\\d{1,3})[-\\+\\.\\s]+(\\d+)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1-$2"]
- name: re_replace
args: ["(?i)\\b(?:Sezona|Series?|Seria|Season)[\\s\\.]*(\\d{1,3}(?:-\\d+)?)\\b", "S$1"]
- name: re_replace
args: ["(?i)\\b(\\d{1,3}(?:-\\d+)?)[\\s\\.]*(?:Sezona|Series?|Seria|Season)\\b", "S$1"]
- name: re_replace
args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+)[-\\+\\.,\\s]+(\\d+)\\b", "E$1-$2"]
- name: re_replace
args: ["(?i)\\b(\\d+)[-\\+\\.,\\s]+(\\d+)[\\s\\.]*Epizoda\\b", "E$1-$2"]
- name: re_replace
args: ["(?i)\\bEpizoda[\\s\\.]*(\\d+(?:-\\d+)?)\\b", "E$1"]
- name: re_replace
args: ["(?i)\\b(\\d+(?:-\\d+)?)[\\s\\.]*Epizoda\\b", "E$1"]
details:
selector: a[href^="details.php?slug="]
attribute: href
download:
selector: a[href^="download.php?slug="]
attribute: href
date:
selector: td:nth-child(6)
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "d/M/yyyy HH:mm zzz"
size:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8) a
leechers:
selector: td:nth-child(9) a
grabs:
selector: td:nth-child(10)
downloadvolumefactor:
case:
a[href^="details.php?slug="] b span[style="color:darkmagenta"]: 0
"*": 1
uploadvolumefactor:
text: 1
description:
selector: a[href^="details.php?slug="]
attribute: title
filters:
- name: re_replace
args: ["(?i)^(Zobrazit detaily|View details|Detaily): ", ""]
- name: re_replace
args: ["(?i)[\\s\\->]*FREELEECH.*", ""]
# engine tbd

View File

@@ -35,6 +35,7 @@ caps:
- {id: 39, cat: TV, desc: "Netflix Film"}
- {id: 38, cat: TV, desc: "Netflix Dizi"}
- {id: 40, cat: TV, desc: "Netflix Belgesel"}
- {id: 104, cat: TV, desc: "Netflix Reality/Yarışma"}
- {id: 47, cat: PC, desc: "Programlar"}
- {id: 48, cat: PC, desc: "Programlar Windows"}
- {id: 96, cat: PC, desc: "Programlar Linux"}

View File

@@ -92,6 +92,12 @@ search:
qty: 100
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
# can search by genre but need range support. &genres[]=Action&genres[]=Comedy for Action and Comedy
keywordsfilters:
# if searching for season packs switch S01 to Series 1 #14369
- name: re_replace
args: ["(?i)(S0)(\\d{1,2})$", "Series $2"]
- name: re_replace
args: ["(?i)(S)(\\d{1,3})$", "Series $2"]
rows:
selector: table > tbody > tr
@@ -105,6 +111,9 @@ search:
args: "/categories/(\\d+)"
title:
selector: a.view-torrent
filters:
- name: re_replace
args: ["(?i)Series[\\s]+(\\d+)", "S$1"]
download:
selector: a[href*="/download/"]
attribute: href

View File

@@ -1,32 +1,22 @@
---
id: acervos
name: Acervos (API)
description: "Acervos is a Brazilian tracker for movies, tv shows, and others."
language: pt-BR
id: utopia
name: UTOPIA
description: "UTOPIA is a UKRAINIAN Private Tracker for HD MOVIES and TV"
language: uk-UA
type: private
encoding: UTF-8
links:
- https://acervos.cc/
- https://utp.to/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Filmes"}
- {id: 2, cat: TV, desc: "Séries"}
- {id: 6, cat: TV/Anime, desc: "Animes"}
- {id: 3, cat: TV/Documentary, desc: "Documentários"}
- {id: 7, cat: Audio/Video, desc: "Shows"}
- {id: 4, cat: Console, desc: "Games"}
- {id: 8, cat: Other, desc: "Cursos"}
- {id: 9, cat: Books, desc: "eBooks / Revistas / Apostilas"}
- {id: 5, cat: PC, desc: "Programas"}
- {id: 10, cat: Other, desc: "Materiais de Apoio"}
- {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]
book-search: [q]
music-search: [q]
settings:
- name: apikey
@@ -35,7 +25,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://acervos.cc/\" target=\"_blank\">Acervos</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://utp.to/\" target=\"_blank\">UTOPIA</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -89,19 +79,14 @@ search:
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
- name: re_replace
args: ["(?i)\\bS(\\d+)", "T$1"]
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:
@@ -110,27 +95,15 @@ search:
selector: name
filters:
- name: re_replace
args:
- "\\bDUAL\\b"
- "Portuguese (Brazil) English"
args: ["\\.", " "]
details:
selector: details_link
_cat:
selector: category
_type:
selector: type
_res:
selector: resolution
optional: true
_reg:
selector: region
optional: true
download:
selector: download_link
infohash:
selector: info_hash
poster:
selector: meta.poster
selector: poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
@@ -140,15 +113,6 @@ search:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Ficção científica)", "Ficção_científica"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result._cat }} {{ .Result._type }} {{ .Result._res }} {{ .Result._reg }} {{ .Result.genre }}"
files:
selector: num_file
seeders:
@@ -183,10 +147,10 @@ search:
case:
0: 1 # normal
1: 2 # double
# global MR is 0.4 but torrents must be seeded for 5 days regardless of ratio
# global MR is 0.4 but torrents must be seeded for 3 days regardless of ratio
# minimumratio:
# text: 0.4
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 6.4.1 (custom)
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# json UNIT3D 6.2.1

View File

@@ -89,6 +89,7 @@ login:
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logintype: yes
error:
- selector: div.error
- selector: table:has(img[src="/pic/ts_error/error.jpg"])

View File

@@ -209,7 +209,7 @@ namespace Jackett.Common.Indexers.Abstract
var jMovieTv = row.Value<JToken>("movie_tv");
if (jMovieTv != null && jMovieTv.HasValues)
{
imdb = ParseUtil.GetImdbID(jMovieTv.Value<string>("imdb"));
imdb = ParseUtil.GetImdbId(jMovieTv.Value<string>("imdb"));
if (long.TryParse(jMovieTv.Value<string>("tvdb"), out var tvdbParsed))
tvdb = tvdbParsed;
if (long.TryParse(jMovieTv.Value<string>("tmdb"), out var tmdbParsed))
@@ -253,7 +253,9 @@ namespace Jackett.Common.Indexers.Abstract
DownloadVolumeFactor = row.Value<double>("download_multiply"),
UploadVolumeFactor = row.Value<double>("upload_multiply"),
MinimumRatio = 1,
MinimumSeedTime = 172800 // 48 hours
MinimumSeedTime = 172800, // 48 hours
Languages = row.Value<JArray>("audio")?.Select(x => x.Value<string>("language")).ToList() ?? new List<string>(),
Subs = row.Value<JArray>("subtitle")?.Select(x => x.Value<string>("language")).ToList() ?? new List<string>(),
};
releases.Add(release);

View File

@@ -98,7 +98,7 @@ namespace Jackett.Common.Indexers.Abstract
Link = new Uri((string)r["download_url"])
};
release.Guid = release.Link;
release.Imdb = ParseUtil.GetImdbID((string)r["imdb_id"]);
release.Imdb = ParseUtil.GetImdbId((string)r["imdb_id"]);
var freeleech = (bool)r["freeleech"];
if (freeleech)
release.DownloadVolumeFactor = 0;

View File

@@ -27,13 +27,13 @@ namespace Jackett.Common.Indexers.Abstract
protected virtual string LoginUrl => SiteLink + "login.php";
protected virtual string APIUrl => SiteLink + "ajax.php";
protected virtual string DownloadUrl => SiteLink + "torrents.php?action=download&usetoken=" + (useTokens ? "1" : "0") + (usePassKey ? "&torrent_pass=" + configData.PassKey.Value : "") + (useAuthKey ? "&authkey=" + configData.AuthKey.Value : "") + "&id=";
protected virtual string DownloadUrl => SiteLink + "torrents.php?action=download" + (useTokens ? "&usetoken=1" : "") + (usePassKey ? "&torrent_pass=" + configData.PassKey.Value : "") + (useAuthKey ? "&authkey=" + configData.AuthKey.Value : "") + "&id=";
protected virtual string DetailsUrl => SiteLink + "torrents.php?torrentid=";
protected virtual string PosterUrl => SiteLink;
protected virtual string AuthorizationName => "Authorization";
protected virtual string AuthorizationFormat => "{0}";
protected virtual int ApiKeyLength => 41;
protected virtual string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "usetoken=0");
protected virtual string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
protected bool useTokens;
protected string cookie = "";
@@ -270,7 +270,7 @@ namespace Jackett.Common.Indexers.Abstract
if (imdbInTags)
release.Imdb = tags
.Select(tag => ParseUtil.GetImdbID((string)tag))
.Select(tag => ParseUtil.GetImdbId((string)tag))
.Where(tag => tag != null).FirstIfSingleOrDefault();
if (r["torrents"] is JArray)
@@ -294,7 +294,7 @@ namespace Jackett.Common.Indexers.Abstract
OnParseError(response.ContentString, ex);
}
return releases;
return releases.OrderByDescending(o => o.PublishDate).ToArray();
}
// hook to add/modify the parsed information, return false to exclude the torrent from the results
@@ -418,7 +418,7 @@ namespace Jackett.Common.Indexers.Abstract
|| html.Contains("This torrent is too large.")
|| html.Contains("You cannot use tokens here"))
{
// download again with usetoken=0
// download again without usetoken=1
var requestLinkNew = FlipOptionalTokenString(requestLink);
content = await base.Download(new Uri(requestLinkNew), RequestType.GET, headers: headers);
}

View File

@@ -117,8 +117,8 @@ namespace Jackett.Common.Indexers
var searchString = query.GetQueryString().Trim();
// replace any space, special char, etc. with % (wildcard)
searchString = Regex.Replace(searchString, "[^a-zA-Z0-9]+", "%");
// replace non-word characters with % (wildcard)
searchString = Regex.Replace(searchString, @"[\W]+", "%");
var searchUrl = SearchUrl;

View File

@@ -164,6 +164,14 @@ namespace Jackett.Common.Indexers
foreach (var row in rows)
{
var downloadVolumeFactor = row.QuerySelector("span.freeleech") != null ? 0 : 1;
// Skip non-freeleech results when freeleech only is set
if (configData.FreeleechOnly.Value && downloadVolumeFactor != 0)
{
continue;
}
var qTitleLink = row.QuerySelector("a.title, a.alt_title");
if (qTitleLink == null)
continue;
@@ -247,7 +255,7 @@ namespace Jackett.Common.Indexers
else
release.PublishDate = DateTime.ParseExact(dateStr, "dd MMM yy", CultureInfo.InvariantCulture);
release.DownloadVolumeFactor = row.QuerySelector("span.freeleech") != null ? 0 : 1;
release.DownloadVolumeFactor = downloadVolumeFactor;
release.UploadVolumeFactor = 1;
releases.Add(release);

View File

@@ -124,7 +124,7 @@ namespace Jackett.Common.Indexers
else if (query.IsMovieSearch)
postData.Add(BHDParams.categories, "Movies");
var imdbId = ParseUtil.GetImdbID(query.ImdbID);
var imdbId = ParseUtil.GetImdbId(query.ImdbID);
if (imdbId != null)
postData.Add(BHDParams.imdb_id, imdbId.ToString());
if (query.IsTmdbQuery)
@@ -158,7 +158,7 @@ namespace Jackett.Common.Indexers
};
if (!string.IsNullOrEmpty(bhdResult.imdb_id))
releaseInfo.Imdb = ParseUtil.GetImdbID(bhdResult.imdb_id);
releaseInfo.Imdb = ParseUtil.GetImdbId(bhdResult.imdb_id);
releaseInfo.DownloadVolumeFactor = 1;
releaseInfo.UploadVolumeFactor = 1;

View File

@@ -161,7 +161,7 @@ namespace Jackett.Common.Indexers
descriptions.Add("Origin: " + btnResult.Origin);
if (!string.IsNullOrWhiteSpace(btnResult.Series))
descriptions.Add("Youtube Trailer: <a href=\"" + btnResult.YoutubeTrailer + "\">" + btnResult.YoutubeTrailer + "</a>");
var imdb = ParseUtil.GetImdbID(btnResult.ImdbID);
var imdb = ParseUtil.GetImdbId(btnResult.ImdbID);
var link = new Uri(btnResult.DownloadURL);
var details = new Uri($"{SiteLink}torrents.php?id={btnResult.GroupID}&torrentid={btnResult.TorrentID}");
var publishDate = DateTimeUtil.UnixTimestampToDateTime(btnResult.Time);

View File

@@ -9,8 +9,10 @@ using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Dom;
using AngleSharp.Html;
using AngleSharp.Html.Dom;
using AngleSharp.Html.Parser;
using AngleSharp.Text;
using AngleSharp.Xml.Parser;
using Jackett.Common.Helpers;
using Jackett.Common.Models;
@@ -608,8 +610,18 @@ namespace Jackett.Common.Indexers
foreach (var input in inputs)
{
var name = input.GetAttribute("name");
if (name == null)
if (name == null || input.IsDisabled())
{
continue;
}
if (input is IHtmlInputElement element &&
element.Type.IsOneOf(InputTypeNames.Checkbox, InputTypeNames.Radio) &&
!input.IsChecked())
{
continue;
}
var value = input.GetAttribute("value") ?? "";

View File

@@ -25,10 +25,10 @@ namespace Jackett.Common.Indexers
public override string Id => "dontorrent";
public override string Name => "DonTorrent";
public override string Description => "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL";
public override string SiteLink { get; protected set; } = "https://dontorrent.discount/";
public override string SiteLink { get; protected set; } = "https://dontorrent.dad/";
public override string[] AlternativeSiteLinks => new[]
{
"https://dontorrent.discount/",
"https://dontorrent.dad/",
"https://todotorrents.net/",
"https://tomadivx.net/",
"https://seriesblanco.one/",
@@ -37,7 +37,6 @@ namespace Jackett.Common.Indexers
};
public override string[] LegacySiteLinks => new[]
{
"https://dontorrent.surf/",
"https://dontorrent.how/",
"https://dontorrent.casa/",
"https://dontorrent.chat/",
@@ -51,8 +50,8 @@ namespace Jackett.Common.Indexers
"https://dontorrent.care/",
"https://dontorrent.cash/",
"https://dontorrent.observer/",
"https://dontorrent.company/"
"https://dontorrent.company/",
"https://dontorrent.discount/",
};
public override string Language => "es-ES";
public override string Type => "public";

View File

@@ -158,7 +158,7 @@ namespace Jackett.Common.Indexers
var publishDate = DateTime.Parse(row.Value<string>("upload_date") + " +0300", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
var downloadVolumeFactor = isFreeleech ? 0 : 1;
var uploadVolumeFactor = row.Value<bool>("doubleup") ? 2 : 1;
var imdbId = ((JObject)row).ContainsKey("imdb") ? ParseUtil.GetImdbID(row.Value<string>("imdb")) : null;
var imdbId = ((JObject)row).ContainsKey("imdb") ? ParseUtil.GetImdbId(row.Value<string>("imdb")) : null;
var link = new Uri(row.Value<string>("download_link"));
var release = new ReleaseInfo

View File

@@ -33,7 +33,7 @@ namespace Jackett.Common.Indexers
protected override string APIUrl => SiteLink + "api.php";
protected override string AuthorizationName => "X-API-Key";
protected override int ApiKeyLength => 64;
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "");
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
public GazelleGamesApi(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(configService: configService,
@@ -240,6 +240,11 @@ namespace Jackett.Common.Indexers
{
var group = gObj.Value as JObject;
if (group["Torrents"].Type == JTokenType.Array && group["Torrents"] is JArray array && array.Count == 0)
{
continue;
}
foreach (var tObj in JObject.FromObject(group["Torrents"]))
{
var torrent = tObj.Value as JObject;

View File

@@ -1,8 +1,12 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Extensions;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
@@ -67,7 +71,14 @@ namespace Jackett.Common.Indexers
query.ImdbID = null;
}
return await base.PerformQuery(query);
var releases = await base.PerformQuery(query);
if (query.SearchTerm.IsNullOrWhiteSpace())
{
releases = releases.Take(50).ToList();
}
return releases;
}
protected override bool ReleaseInfoPostParse(ReleaseInfo release, JObject torrent, JObject result)
@@ -144,7 +155,7 @@ namespace Jackett.Common.Indexers
var imdbID = (string)result["imdbId"];
if (!string.IsNullOrEmpty(imdbID))
release.Imdb = ParseUtil.GetImdbID(imdbID);
release.Imdb = ParseUtil.GetImdbId(imdbID);
release.MinimumRatio = 1;
release.MinimumSeedTime = 172800; // 48 hours
@@ -152,6 +163,15 @@ namespace Jackett.Common.Indexers
release.Category = new List<int> { TorznabCatType.Movies.ID };
if (!string.IsNullOrEmpty(groupSubName))
release.Description = groupSubName;
var time = torrent.Value<string>("time");
if (time.IsNotNullOrWhiteSpace())
{
// Time is Chinese Time, add 8 hours difference from UTC
release.PublishDate = DateTime.ParseExact($"{time} +08:00", "yyyy-MM-dd HH:mm:ss zzz", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);
}
return true;
}
}

View File

@@ -97,7 +97,7 @@ namespace Jackett.Common.Indexers
{
var requestData = new JObject();
var queryString = query.GetQueryString();
var imdbId = ParseUtil.GetImdbID(query.ImdbID);
var imdbId = ParseUtil.GetImdbId(query.ImdbID);
if (imdbId != null)
requestData["imdb"] = new JObject
@@ -175,7 +175,7 @@ namespace Jackett.Common.Indexers
};
if (r.ContainsKey("imdb"))
release.Imdb = ParseUtil.GetImdbID((string)r["imdb"]["id"]);
release.Imdb = ParseUtil.GetImdbId((string)r["imdb"]["id"]);
if (r.ContainsKey("tvdb"))
release.TVDBId = (long)r["tvdb"]["id"];

View File

@@ -195,7 +195,7 @@ namespace Jackett.Common.Indexers
var imdbLink = row.Children[1].QuerySelector("a[href*=imdb]");
if (imdbLink != null)
release.Imdb = ParseUtil.GetImdbID(imdbLink.GetAttribute("href").Split('/').Last());
release.Imdb = ParseUtil.GetImdbId(imdbLink.GetAttribute("href").Split('/').Last());
var dateStr = row.Children[4].TextContent.Trim();
//"July 11, 2015, 13:34:09", "Today|Yesterday at 20:04:23"

View File

@@ -24,7 +24,7 @@ namespace Jackett.Common.Indexers
protected override string DownloadUrl => SiteLink + "ajax.php?action=download" + (useTokens ? "&usetoken=1" : "") + "&id=";
protected override string AuthorizationFormat => "token {0}";
protected override int ApiKeyLength => 118;
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "");
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("&usetoken=1", "");
public Orpheus(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(configService: configService,

View File

@@ -237,7 +237,7 @@ namespace Jackett.Common.Indexers
var episodeInfo = item.Value<JToken>("episode_info");
if (episodeInfo.HasValues)
{
release.Imdb = ParseUtil.GetImdbID(episodeInfo.Value<string>("imdb"));
release.Imdb = ParseUtil.GetImdbId(episodeInfo.Value<string>("imdb"));
release.TVDBId = episodeInfo.Value<long?>("tvdb");
release.RageID = episodeInfo.Value<long?>("tvrage");
release.TMDb = episodeInfo.Value<long?>("themoviedb");

View File

@@ -22,7 +22,7 @@ namespace Jackett.Common.Indexers
public override TorznabCapabilities TorznabCaps => SetCapabilities();
protected override string DownloadUrl => SiteLink + "ajax.php?action=download&usetoken=" + (useTokens ? "1" : "0") + "&id=";
protected override string DownloadUrl => SiteLink + "ajax.php?action=download" + (useTokens ? "&usetoken=1" : "") + "&id=";
public Redacted(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,

View File

@@ -190,7 +190,7 @@ namespace Jackett.Common.Indexers
var category = row.QuerySelector(".br_type > a").GetAttribute("href").Replace("browse.php?cat=", string.Empty);
var qImdb = row.QuerySelector("a[href*=\"www.imdb.com/\"]");
var imdb = qImdb != null ? ParseUtil.GetImdbID(qImdb.GetAttribute("href").Split('/').Last()) : null;
var imdb = qImdb != null ? ParseUtil.GetImdbId(qImdb.GetAttribute("href").Split('/').Last()) : null;
var release = new ReleaseInfo
{

View File

@@ -1441,17 +1441,11 @@ namespace Jackett.Common.Indexers
var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, CookieHeader, true, null, LoginUrl, true);
await ConfigureIfOK(result.Cookies, result.ContentString != null && result.ContentString.Contains("id=\"logged-in-username\""), () =>
{
var errorMessage = "Unknown error message, please report";
var parser = new HtmlParser();
var doc = parser.ParseDocument(result.ContentString);
var errormsg = doc.QuerySelector("div.msg-main");
if (errormsg != null)
errorMessage = errormsg.TextContent;
errormsg = doc.QuerySelector("h4[class=\"warnColor1 tCenter mrg_16\"]");
if (errormsg != null)
errorMessage = errormsg.TextContent;
var errorMessage = doc.QuerySelector("h4.warnColor1.tCenter.mrg_16, div.msg-main")?.TextContent.Trim();
throw new ExceptionWithConfigData(errorMessage, configData);
throw new ExceptionWithConfigData(errorMessage ?? "RuTracker authentication failed", configData);
});
return IndexerConfigurationStatus.RequiresTesting;
}

View File

@@ -149,7 +149,7 @@ namespace Jackett.Common.Indexers
Files = item.Value<long>("numfiles"),
Seeders = item.Value<int>("seeders"),
Peers = item.Value<int>("leechers") + item.Value<int>("seeders"),
Imdb = ParseUtil.GetImdbID(item.Value<string>("imdbid")),
Imdb = ParseUtil.GetImdbId(item.Value<string>("imdbid")),
MinimumRatio = 1,
MinimumSeedTime = 0,
DownloadVolumeFactor = dlVolumeFactor,

View File

@@ -72,25 +72,26 @@ namespace Jackett.Common.Indexers
caps.Categories.AddCategoryMapping(57, TorznabCatType.MoviesSD, "Movies SD");
caps.Categories.AddCategoryMapping(59, TorznabCatType.MoviesHD, "Movies HD");
caps.Categories.AddCategoryMapping(64, TorznabCatType.Movies3D, "Movies 3D");
caps.Categories.AddCategoryMapping(82, TorznabCatType.MoviesOther, "Movies CAM-TS");
caps.Categories.AddCategoryMapping(82, TorznabCatType.MoviesOther, "Movies CAM/TS");
caps.Categories.AddCategoryMapping(16, TorznabCatType.MoviesUHD, "Movies UHD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVUHD, "TV UHD");
caps.Categories.AddCategoryMapping(43, TorznabCatType.TV, "TV Packs");
caps.Categories.AddCategoryMapping(9, TorznabCatType.TVHD, "TV HD");
caps.Categories.AddCategoryMapping(77, TorznabCatType.TVSD, "TV SD");
caps.Categories.AddCategoryMapping(6, TorznabCatType.PCGames, "Games PC ISO");
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVAnime, "TV ANIME");
caps.Categories.AddCategoryMapping(6, TorznabCatType.PCGames, "Games PC-ISO");
caps.Categories.AddCategoryMapping(48, TorznabCatType.ConsoleXBox, "Games XBOX");
caps.Categories.AddCategoryMapping(51, TorznabCatType.ConsoleWii, "Games Wii");
caps.Categories.AddCategoryMapping(55, TorznabCatType.ConsoleNDS, "Games Nintendo DS");
caps.Categories.AddCategoryMapping(12, TorznabCatType.ConsolePS4, "Games/PS");
caps.Categories.AddCategoryMapping(55, TorznabCatType.ConsoleNDS, "Games Nintendo");
caps.Categories.AddCategoryMapping(12, TorznabCatType.ConsolePS4, "Games PS");
caps.Categories.AddCategoryMapping(15, TorznabCatType.ConsoleOther, "Games Dreamcast");
caps.Categories.AddCategoryMapping(52, TorznabCatType.PCMac, "Mac/Linux");
caps.Categories.AddCategoryMapping(53, TorznabCatType.PC0day, "Apps");
caps.Categories.AddCategoryMapping(24, TorznabCatType.PCMobileOther, "Mobile Apps");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Books, "Books and Magazines");
caps.Categories.AddCategoryMapping(65, TorznabCatType.BooksComics, "Books Comic");
caps.Categories.AddCategoryMapping(65, TorznabCatType.BooksComics, "Books Comics");
caps.Categories.AddCategoryMapping(4, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(116, TorznabCatType.Audio, "Music Pack");
caps.Categories.AddCategoryMapping(116, TorznabCatType.Audio, "Music Packs");
return caps;
}

Some files were not shown because too many files have changed in this diff Show More