Compare commits

...

259 Commits

Author SHA1 Message Date
Garfield69
8689fb2bd1 drugari: add MR 2023-06-20 15:55:07 +12:00
Garfield69
ddd37f09c0 add dajiao a Chinese private site. resolves #14484 2023-06-20 15:26:22 +12:00
Garfield69
3703216bad add shadowflow a Chinese private site. resolves #14483 2023-06-20 14:56:27 +12:00
Garfield69
6d55a50c9c add musebootlegs a semi-private site. resolves #14482 2023-06-20 13:51:09 +12:00
Garfield69
b0ccae909b panda: correct date selector. resolves #14474 2023-06-20 05:25:56 +12:00
Garfield69
c65bb0411e add azusa a Chinese private site. resolves #14478 2023-06-19 22:39:37 +12:00
Garfield69
c89a2742c1 add drugari a Croatian private site. resolves #14342 2023-06-19 21:36:38 +12:00
Garfield69
82bbf8f23a add panda a Chinese private site. resolves #14474 2023-06-19 14:25:03 +12:00
ilike2burnthing
7f3d19e37a dimeadozen: type=private. resolves #14475 (#14476) 2023-06-19 00:42:31 +01:00
Garfield69
39cd9ba9dd pwtorrents: new cat 2023-06-19 08:17:57 +12:00
Garfield69
8f0755e8fc nordichd: refresh cats 2023-06-19 08:17:45 +12:00
Garfield69
58f458d135 marinetracker: new cat 2023-06-19 07:39:49 +12:00
Garfield69
8ef13a0130 frozenlayer: CA expired 2023-06-19 07:16:16 +12:00
Bogdan
07f0ccf5a3 fix CS in TooManyRequestsException 2023-06-18 13:08:31 +03:00
Bogdan
99204599d9 core: fix parsing Retry-After header in TooManyRequestsException 2023-06-18 13:00:30 +03:00
Bogdan
cc44db15a4 assorted: fix response status checks 2023-06-18 13:00:30 +03:00
Garfield69
df02e2dcf1 Revert "kufei: new CA resolves #14451"
This reverts commit d1bbda3438.
2023-06-18 21:41:59 +12:00
Garfield69
d1bbda3438 kufei: new CA resolves #14451 2023-06-18 21:28:43 +12:00
Garfield69
8ea53cebc8 electro-torrent: switch to cookie + UA. resolves #13951 2023-06-18 19:01:06 +12:00
Bogdan
f1f8dd2f10 xwtorrents: update categories 2023-06-18 06:29:45 +03:00
Garfield69
6bd5068541 core: amend messages about indexers loaded 2023-06-18 07:51:33 +12:00
ilike2burnthing
99e7e2428f assorted: drop inaccessible mrunblock proxies (#14470) 2023-06-17 12:57:17 +01:00
ilike2burnthing
6acba8684a torrent-explosiv: category can be missing 2023-06-17 05:32:35 +01:00
ilike2burnthing
92ef4068ea coastalcrew: add new category 2023-06-17 05:23:08 +01:00
ilike2burnthing
bf2659f55d exttorrents: category can be missing 2023-06-17 05:16:30 +01:00
Garfield69
4dc99b2fd9 btsow: new domain 2023-06-17 06:27:04 +12:00
ilike2burnthing
12dc639822 movieworld: remove recommended results 2023-06-16 17:58:14 +01:00
ilike2burnthing
b3477fb70c kufei: cat typo fix 2023-06-16 16:22:41 +01:00
ilike2burnthing
4d2ac5b6a9 thedarkcommunity: removed, down for 30 days. resolves #13923 (#14465) 2023-06-16 04:51:44 +01:00
Bogdan
208b0bdb5b core: use debug logging for loaded indexers (#14464) 2023-06-15 23:57:12 +03:00
Bogdan
84ca9a06d8 cardigann: apply template text to switch cases (#14463)
* Revert "cardigann: parse result with template (#14462)"

This reverts commit 6aee6d732a.

* cardigann: apply template text to switch cases
2023-06-15 23:36:47 +03:00
Garfield69
aa16e7424c torrentqq: bump domain 2023-06-16 08:15:51 +12:00
Garfield69
92f582e910 bitsearch: drop mrunblock proxy 2023-06-16 08:15:40 +12:00
ilike2burnthing
e3880b9143 u2: fix custom dlvf & ulvf. resolves #14457 (#14461) 2023-06-16 06:44:12 +12:00
Trim21
6aee6d732a cardigann: parse result with template (#14462) 2023-06-16 06:35:39 +12:00
ilike2burnthing
da80bde7d8 u2: use correct freeleech search value. resolves #14458 2023-06-15 13:40:33 +01:00
Bogdan
5a388b59d0 GazelleTracker: throw exception on HTTP errors 2023-06-15 14:40:48 +03:00
Bogdan
d7404e9cd4 fixup! GazelleTracker: throw exception on empty response 2023-06-15 14:28:30 +03:00
Bogdan
373b15cb8e GazelleTracker: throw exception on empty response
Closes #14459
2023-06-15 14:24:59 +03:00
Garfield69
19de5f46b0 add kufei a privat eChinese site. resolves #14451 2023-06-15 20:50:10 +12:00
Garfield69
e74e7b3cf7 add movieworld a semi-private site. resolves #14454 2023-06-15 20:03:29 +12:00
Garfield69
a3c361fac1 world-of-tomorrow: cats refresh
the wott-filme still has some series loaded from earlier when 109 was not available
2023-06-15 08:21:01 +12:00
Garfield69
03776c5fe1 electro-torrent: new login path, plus site forcing https 2023-06-15 07:17:50 +12:00
Garfield69
43f1fabae0 dontorrent: new domain 2023-06-14 06:41:27 +12:00
Garfield69
3a0c6a75e1 torrentsir: bump domain 2023-06-14 06:40:45 +12:00
Garfield69
7a327230f1 happyfappy: new cats 2023-06-13 07:42:28 +12:00
Bogdan
7e8fdfa2b1 bitsearch: update title selector 2023-06-12 04:47:48 +03:00
Bogdan
35e1218861 common: bump Newtonsoft.Json to 13.0.3 2023-06-11 23:34:42 +03:00
Bogdan
af54a3f9d0 core: use project name as relative path in builds (#14447) 2023-06-11 23:24:19 +03:00
Bogdan
04cc9939a6 add ids to bug report issue template 2023-06-11 22:36:42 +03:00
Bogdan
5640a86838 cardigann: use CheckIfLoginIsNeeded in response type is json (#14444) 2023-06-11 09:54:01 +03:00
ilike2burnthing
bcc00f91bb lostfilm: remove down *.run domain. resolves #14441 2023-06-10 23:18:04 +01:00
Bogdan
6905cdc103 arabafenice: add login test selector 2023-06-10 23:54:05 +03:00
Garfield69
f1415f32c6 mejortorrent: new domain 2023-06-10 05:53:15 +12:00
Bogdan
4e55187bdb cardigann: catch JsonReaderException when parsing JSON
Fixes #14439
2023-06-09 01:47:22 +03:00
Garfield69
967ff6db99 torrentqq: bump domain 2023-06-09 05:46:57 +12:00
Bogdan
23cff411ed logging: cleanse messages in log files (#14433)
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2023-06-08 18:09:16 +03:00
Garfield69
f42b76fb36 add fappaizuri a private site for hentai/jav resolves #14438
new site, expect changes.
2023-06-08 21:40:30 +12:00
Garfield69
28c5c427e8 mejortorrent: fix cat detection. resolves #14435 2023-06-08 17:30:14 +12:00
Garfield69
68205b13ca torrentland: new layout. resolves #14437 2023-06-08 09:22:06 +12:00
Bogdan
dcec23434f hdolimpo-api: add auth header 2023-06-07 20:59:07 +03:00
Garfield69
09dc556140 assorted: new unblockit domain 2023-06-07 22:04:49 +12:00
Garfield69
0d69d7ba1b add therebels a Brazilian private site. resolves #14434 2023-06-07 21:53:13 +12:00
Bogdan
cc8a980a70 abtorrents: fix publish date 2023-06-07 04:47:27 +03:00
Bogdan
e9f7e4d13f unit3d: move api key auth in headers (#14429) 2023-06-07 02:48:56 +03:00
Bogdan
c6180f6860 lesaloon: update base url (#14431) 2023-06-06 21:56:46 +03:00
Garfield69
8c5fb64aec assorted unit3d: replacement API docs
https://github.com/HDInnovations/UNIT3D-Community-Edition/discussions/2816
2023-06-07 06:01:26 +12:00
Garfield69
a293346ce8 assorted unit3d: update api doc links 2023-06-06 20:43:36 +12:00
Garfield69
c0a5e24186 Update ptchina.yml 2023-06-06 16:05:10 +12:00
Garfield69
0e043a5792 assorted nexusphp: update engine tag 2023-06-06 16:01:49 +12:00
Bogdan
98f7e720e7 cardigann: allow empty inputs for login.method get (#14430) 2023-06-06 05:56:14 +03:00
Bogdan
8154acb47b cardigann: allow empty inputs for login.method get 2023-06-06 01:02:45 +03:00
Garfield69
df94aaf930 cinecalidad: new domain 2023-06-06 09:23:56 +12:00
Bogdan
d8dc0d221a torrentleech: use login form (#14428) resolves #14410 2023-06-06 09:11:58 +12:00
Garfield69
3ba502a378 YTS: correct sort
the default is date_added so using sort=date_added instead of sort_by=date_added did not make any difference but at least now we are in line with the api docs ;-)
2023-06-06 07:33:07 +12:00
Bogdan
b9655f1302 digitalcore: add search P2P releases only option 2023-06-05 19:46:34 +03:00
Garfield69
422eff86f4 hdtorrentsit: removed. resolves #14411 2023-06-05 17:21:55 +12:00
Garfield69
e66d88bbcf hd-unit3d: update engine tag 2023-06-05 15:47:08 +12:00
Garfield69
669ddae0b0 theoldschool: drop page 2023-06-05 15:46:44 +12:00
Garfield69
0b0d08dd7c bwtorrents: new cat 2023-06-05 07:39:54 +12:00
Garfield69
bf5b24a5a7 ccfbits: removed. resolves #14306 2023-06-04 20:08:56 +12:00
Garfield69
228089b35b torrenteros: new cat 2023-06-04 15:32:55 +12:00
Bogdan
f334cc89d6 indexers: improve test indexer message on failure (#14421) 2023-06-04 06:11:35 +03:00
Bogdan
3a9360add9 hdtorrents: add error message selector 2023-06-04 02:53:15 +03:00
Bogdan
207dd1d51a torrentdownloads: add raw search support
Fixes #14420
2023-06-04 02:00:33 +03:00
Garfield69
47e78fc70c torrenteros: amend MR MST based on OP #11925 2023-06-03 20:04:09 +12:00
Garfield69
36d3f67fdc add torrenteros a Spanish private site. resolves #11925
Early stages, still setting up by the looks of it, has just some movies, so cannot tell what the series filename season structure will be like.
No Rules or FAQ ATM so defaulting to MR 1.0
Expect changes.
2023-06-03 19:48:01 +12:00
Bogdan
41a5d3165e torrentleech: add login page form as error selector (#14414) 2023-06-03 02:44:59 +03:00
Bogdan
2b9d950f39 speedapptracker: add freeleech only (#14415) 2023-06-02 23:42:00 +03:00
Garfield69
7be7d6770f cinefilhd: new preferred domain 2023-06-02 19:09:02 +12:00
Garfield69
ff36eecfae xxxclub: new layout 2023-06-02 07:47:03 +12:00
Garfield69
0438ffdfc0 torrentqq: bump domain 2023-06-02 07:46:51 +12:00
Bogdan
b614a8dc42 torrentz2eu: fix dateparse and check for TV Show in title 2023-06-01 19:42:21 +03:00
ilike2burnthing
1eae091ab8 core: update magnet trackers 2023-06-01 06:01:15 +01:00
Garfield69
17d08d3f8c cinecalidad: new domain 2023-06-01 11:44:16 +12:00
Garfield69
d70bdbb26d dontorrent: new domain 2023-06-01 11:31:19 +12:00
ilike2burnthing
8d0edcdfb8 rarbg: removed, dead. resolves #14406 (#14407) 2023-05-31 15:07:17 +01:00
Garfield69
34193e11df thegeeks: new cat 2023-05-31 06:46:27 +12:00
Garfield69
57b8cbd407 bitbazis: new cat 2023-05-31 06:32:54 +12:00
Garfield69
c2dbf6a80d cinecalidad: new domain 2023-05-30 06:50:44 +12:00
ilike2burnthing
ff5586c4fa lostfilm: restore domains. #14398 2023-05-29 16:13:36 +01:00
Bogdan
48ff6821e6 cardigann: use MissingAttributeEqualsNoResults for Search.Rows.Attribute
Fixes #14400
2023-05-29 17:33:02 +03:00
Bogdan
e282ff76a5 core: show app version in exceptions 2023-05-29 16:56:45 +03:00
Garfield69
8affee4b2d lostfilm: domain fixes. resolves #14398 2023-05-29 18:41:17 +12:00
Garfield69
dc352744c7 assorted: follow up ef5276da64 2023-05-29 16:01:59 +12:00
Garfield69
ef5276da64 assorted: simplify future path category maintenance
in the event new cats get added or removed  there is now fewer places we have to remember to cross check
2023-05-29 15:32:15 +12:00
Garfield69
32360070ad metalguru: add new cats 2023-05-29 13:12:52 +12:00
ilike2burnthing
633d1631c2 vstorrent: add public VST site. resolves #14385 (#14397) 2023-05-28 23:57:15 +01:00
ilike2burnthing
d4fc8ab071 vsttorrents: change cat to PC, add date 2023-05-28 23:53:23 +01:00
ilike2burnthing
08713ae7b8 vsthouse: remove unused mode 2023-05-28 23:52:26 +01:00
ilike2burnthing
836f5372b3 vsthouse: change cat to PC 2023-05-28 23:51:15 +01:00
Bogdan
7e7ace05be cardigann: respect the categories from search paths (#14395) 2023-05-29 00:53:42 +03:00
ilike2burnthing
12da8b6131 bitbazis: update for 3x search 2023-05-28 22:20:35 +01:00
Bogdan
abc2f43f9c mteamtp: increase request delay to 4s 2023-05-28 20:19:13 +03:00
Bogdan
1a49430b45 rutracker: use supported 200 categories per search request 2023-05-28 19:52:14 +03:00
Aleksei
147549cbf8 rutracker: update cats (#14394)
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2023-05-28 17:41:35 +01:00
ilike2burnthing
fd884a8597 coastalcrew: update categories 2023-05-28 03:03:16 +01:00
Bogdan
fff9f0730b anidex: fix search will all categories selected 2023-05-28 02:21:43 +03:00
ilike2burnthing
951e510c1a hdgalaktik: translate timeago dates 2023-05-27 22:45:26 +01:00
Bogdan
bfa2757c98 ui: overwrite modals element (#14381) 2023-05-27 19:41:35 +03:00
Bogdan
623f48d83c add pull request template (#14382) 2023-05-27 19:26:48 +03:00
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
Garfield69
9e5973af5c hellashut: removed. resolves #13706 2023-05-17 08:21:55 +12:00
Garfield69
e28e93ce08 dontorrent: new domain 2023-05-17 08:21:18 +12:00
ilike2burnthing
927ffdff39 gimmepeers: update imdb search
https://github.com/Prowlarr/Indexers/pull/338
2023-05-16 05:32:41 +01:00
Garfield69
88d5142cd7 torrentsir: bump domain 2023-05-16 08:51:50 +12:00
ilike2burnthing
5f754847b9 hdcztorrent: remove recommended results, add magnet 2023-05-15 16:35:04 +01:00
Garfield69
6e69f3611d hd-cztorrent: new layout 2023-05-15 09:30:38 +12:00
Garfield69
a25dad6d09 subsplease: update mrunblock 2023-05-15 09:03:06 +12:00
Garfield69
9c641e624a erairaws: add nocensor and update mrunblock 2023-05-15 09:02:39 +12:00
Garfield69
e2c25d78c9 assorted: add working nocensor domain 2023-05-15 08:43:27 +12:00
ilike2burnthing
4b5c36f056 fantastiko: change to https 2023-05-14 06:39:43 +01:00
Bogdan
5ff2071094 oldtoonsworld: add error selector for when maximum no. of failed login attempts is reached 2023-05-13 16:59:46 +03:00
Garfield69
5aa616a6ee oshenpt: bump engine tag 2023-05-13 12:37:13 +12:00
Garfield69
6932b9afbc mejortorrent: new domain 2023-05-13 09:21:00 +12:00
Garfield69
8eca7c2f14 divxtotal: new domain 2023-05-13 09:20:35 +12:00
Garfield69
214a0a6960 add itatorrents an Italian private site. resolves #14321 2023-05-12 16:02:27 +12:00
Garfield69
816ff9aa5d Update brsociety-api.yml 2023-05-12 15:11:01 +12:00
ilike2burnthing
d0bfbbfc81 brsociety: update indexer. #12233 (#14320) 2023-05-12 03:42:39 +01:00
Bogdan
b68373b4f0 assorted: fix regex to replace multiple matches with one space 2023-05-12 01:40:54 +03:00
Garfield69
d8c988c976 dontorrent: new domain 2023-05-12 07:20:49 +12:00
Garfield69
922c27f1ac torrentqq: bump domain 2023-05-12 07:20:35 +12:00
Bogdan
f84cb6e334 animetorrents: add current time of day if date added is today 2023-05-11 16:48:47 +03:00
Garfield69
c1fe13a3a6 krazyzone: update freeleech selector 2023-05-11 08:25:50 +12:00
Garfield69
7aae16f4d3 file-tracker: update cats 2023-05-11 07:54:09 +12:00
Garfield69
db1785f49c soulvoice: bump engine tag 2023-05-11 07:40:04 +12:00
ilike2burnthing
d38a3f0210 krazyzone: remove VIP results if not VIP 2023-05-10 11:49:47 +01:00
Garfield69
11bdb939b1 hdolimpo: fix freeleech detection 2023-05-10 11:47:59 +12:00
Garfield69
8851fc00e6 hdmayi: new cat 2023-05-10 08:49:08 +12:00
Garfield69
6a9de0ce34 krazyzone: selector updates 2023-05-10 08:26:24 +12:00
Garfield69
069e9d180a torrentsir: bump domain 2023-05-10 07:57:31 +12:00
ilike2burnthing
e6d9417f86 nyaasi: add radarr compatibility setting 2023-05-09 22:18:23 +03:00
ilike2burnthing
f86b239469 hdtime: update version. resolves #7015 2023-05-09 09:48:45 +01:00
Garfield69
5b433c412d torrent-explosiv: cat amendment 2023-05-09 14:27:24 +12:00
ilike2burnthing
bb933fd553 amigosshare: replace 4k with 2160p in title. resolves #14316 2023-05-09 03:03:13 +01:00
bakerboy448
60d674d24e torrentleech: replace 2FA with alt2FAToken (#14314) 2023-05-08 20:15:27 +01:00
Garfield69
44af214b09 assorted nuxes: update version stamp 2023-05-09 07:01:00 +12:00
Garfield69
79347c3d7b restore dark-shadow a German private site. resolves #7892 2023-05-08 21:09:14 +12:00
ilike2burnthing
3beb406eed brasiltracker: update freeleech selector 2023-05-08 06:41:17 +01:00
Garfield69
0cffd5a181 brasiltracker: remove obsolete config info 2023-05-08 17:34:35 +12:00
ilike2burnthing
571bd12a47 brasiltracker: fix title, add categories. #14312 2023-05-08 06:15:32 +01:00
Garfield69
c2adac3257 torrent-turk: new cat 2023-05-08 15:42:00 +12:00
Garfield69
c08262ce55 torrent-turk: MR bumped from 0.5 to 0.7 2023-05-08 15:24:35 +12:00
Garfield69
ecc1d13025 turktorrent: new cat 2023-05-08 15:10:59 +12:00
Garfield69
c3e13d795c houseofdevil: update cat 2023-05-08 15:04:58 +12:00
Garfield69
c2607f95e4 rutracker-ru: new cat 2023-05-08 14:40:25 +12:00
Garfield69
12e76e7b74 brasiltracker: switch to cookie login. resolves #14312 2023-05-08 09:45:15 +12:00
Garfield69
0fd7538c80 nordichd: lint 2023-05-08 08:32:11 +12:00
Garfield69
47c986f65d restore nordichd a private site. resolves #6708 2023-05-08 08:23:22 +12:00
Garfield69
23bc0c7f13 sharkpt: update cat selectors, add imdb douban tags 2023-05-08 06:29:33 +12:00
ilike2burnthing
acced753dd hdfans: update version 2023-05-07 15:29:03 +01:00
Garfield69
859815f758 assorted: new unblockit domain 2023-05-07 21:47:03 +12:00
Garfield69
e903e4baeb torrentdfownloads: restored. reverses #13291 2023-05-07 18:56:44 +12:00
ilike2burnthing
0ca43276b8 sportscult: change to post login
https://github.com/Prowlarr/Prowlarr/issues/1647
2023-05-07 01:01:27 +01:00
Garfield69
f18f2274ca rus-media: removed. resolves #6381 2023-05-07 06:35:07 +12:00
ilike2burnthing
c74e8ee437 pignetwork: change to cookie login, login page disabled. resolves #14310 2023-05-06 17:42:49 +01:00
ilike2burnthing
e03f563425 ultrahd: change to cookie login, login page disabled 2023-05-06 16:28:44 +01:00
238 changed files with 5919 additions and 2716 deletions

View File

@@ -2,6 +2,7 @@ name: Bug report
description: Create a report of your issue
body:
- type: checkboxes
id: troubleshooting
attributes:
label: Have you checked our Troubleshooting page for your issue?
description: Please read the <a href="https://github.com/Jackett/Jackett/wiki/Troubleshooting">Troubleshooting</a> page for steps to resolve common issues.
@@ -9,6 +10,7 @@ body:
- label: I have checked the Troubleshooting page
required: true
- type: checkboxes
id: already-an-issue
attributes:
label: Is there already an issue for your problem?
description: Please make sure you are not creating an already submitted <a href="https://github.com/Jackett/Jackett/issues">Issue</a>. Check closed issues as well, because your issue may have already been fixed.
@@ -16,6 +18,7 @@ body:
- label: I have checked older issues, open and closed
required: true
- type: checkboxes
id: contributing-guidelines
attributes:
label: Have you read our Contributing Guidelines?
description: Please read our <a href="https://github.com/Jackett/Jackett/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> before submitting your issue to ensure a prompt response to your bug.
@@ -23,6 +26,7 @@ body:
- label: I have read the Contributing Guidelines
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Please provide the details of the system Jackett is running on. The best way to do this is to restart Jackett, access the dashboard, view the log, and copy/paste replacing the example below with the last 10 Info lines at the bottom of the log.
@@ -40,12 +44,14 @@ body:
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: List steps to reproduce the error and details on what happens and what you expected to happen.
validations:
required: true
- type: textarea
id: error-logs
attributes:
label: Logged Error Messages
description: |
@@ -55,6 +61,7 @@ body:
validations:
required: true
- type: textarea
id: screenshots
attributes:
label: Screenshots
description: Place any screenshots of the issue here if needed

8
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,8 @@
#### Description
A few sentences describing the overall goals of the pull request's commits.
#### Screenshot (if UI related)
#### Issues Fixed or Closed by this PR
* Fixes #XXXX

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)
@@ -106,9 +106,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* PornoTorrent
* ProPorn
* Rapidzona
* RARBG
* RinTorNeT
* Rus-media
* RuTor
* RuTracker.RU
* Seedoff
@@ -130,6 +128,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Torrent9 clone
* Torrent911
* TorrentFunk
* TorrentDownloads
* TorrentGalaxy (TGx)
* TorrentKitty
* TorrentProject2
@@ -144,7 +143,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* truPornolabs
* UnionDHT
* VSTHouse
* VST Torrents
* VST Torrentz
* VSTorrent
* xxxAdultTorrent
* XXXClub
* xxxtor
@@ -168,7 +168,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Deildu
* Demonoid
* Devil-Torrents
* DimeADozen (EzTorrent)
* DXP (Deaf Experts)
* Electro-Torrent
* EliteTorrent-pl
@@ -188,13 +187,15 @@ 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
* MovieWorld (Flicker)
* MuseBootlegs (MB)
* MVGroup Forum
* MVGroup Main
* NetHD (VietTorrent)
@@ -236,14 +237,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 +266,8 @@ 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]](#)
* Azusa [![(invite needed)][inviteneeded]](#)
* Back-ups
* BakaBT
* BeiTai
* Best-Core
@@ -291,7 +292,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* BroadcasTheNet (BTN)
* BroadCity
* BrokenStones [![(invite needed)][inviteneeded]](#)
* BrSociety [![(invite needed)][inviteneeded]](#)
* BrSociety
* BTNext (BTNT) [![(invite needed)][inviteneeded]](#)
* BTSCHOOL
* BWTorrents
@@ -301,11 +302,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CarPT
* 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]](#)
@@ -316,17 +318,21 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CrazyHD
* CrazySpirits
* CrnaBerza
* Dajiao (打胶) [![(invite needed)][inviteneeded]](#)
* DANISH BYTES
* Dark-Shadow
* DataScene (DS)
* DataTalli
* DesiTorrents
* Diablo Torrent [![(invite needed)][inviteneeded]](#)
* DICMusic
* DigitalCore
* DimeADozen (EzTorrent)
* DiscFan
* DivTeam
* DocsPedia
* Dream Tracker
* Drugari
* Ebooks-Shares
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
* eShareNet
@@ -338,6 +344,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* FANO.IN [![(invite needed)][inviteneeded]](#)
* Fantastic Heaven
* Fantastiko
* Fappaizuri
* Femdomcult
* FileList (FL)
* FinElite (FE)
@@ -349,7 +356,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)
@@ -381,13 +388,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* HDRoute [![(invite needed)][inviteneeded]](#)
* HDSky [![(invite needed)][inviteneeded]](#)
* HDTime
* HDTorrents.it [![(invite needed)][inviteneeded]](#)
* HDTurk
* HDU
* HDVIDEO
* HDZone
* Hebits
* HellasHut
* HHanClub
* House of Devil
* HQMusic
@@ -396,8 +401,10 @@ 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
* JME-REUNIT3D
* JoyHD [![(invite needed)][inviteneeded]](#)
* JPopsuki
@@ -407,6 +414,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Keep Friends [![(invite needed)][inviteneeded]](#)
* Korsar
* KrazyZone
* Kufei (库非)
* Kufirc
* LastFiles
* Le Saloon
@@ -416,19 +424,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]](#)
@@ -445,6 +456,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Nebulance (NBL) (TransmiTheNet)
* NicePT
* NorBits
* NORDiCHD
* Ntelogo
* Old Toons World
* OpenCD [![(invite needed)][inviteneeded]](#)
@@ -452,7 +464,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* OshenPT
* OurBits (HDPter)
* P2PBG
* Panda
* Partis
* Party-Tracker
* PassThePopcorn (PTP)
* Peeratiko
* Peers.FM
@@ -472,6 +486,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
@@ -492,15 +507,15 @@ 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
* Shadowflow (影) [![(invite needed)][inviteneeded]](#)
* Shareisland
* SharkPT
* Shazbat [![(invite needed)][inviteneeded]](#)
* Shazbat
* SiamBIT
* SkipTheCommercials
* SkipTheTrailers
@@ -538,9 +553,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* The Vault [![(invite needed)][inviteneeded]](#)
* The-Crazy-Ones
* The-New-Fun
* TheDarkCommunity (TDC)
* TheEmpire (TE)
* TheLeachZone (TLZ)
* TheRebels
* TheScenePlace (TSP)
* Thor's Land
* TJUPT
@@ -557,6 +572,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* TorrentBytes (TBy)
* TorrentCCF (TCCF)
* TorrentDay (TD)
* Torrenteros (TTR)
* TorrentHeaven [![(invite needed)][inviteneeded]](#)
* TorrentHR [![(invite needed)][inviteneeded]](#)
* Torrenting (TT)
@@ -567,8 +583,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)
@@ -582,6 +598,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
@@ -599,7 +616,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* ZonaQ
</details>
Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maintainer and may be missing features or be broken. If you have an invite for them please send it to garfieldsixtynine -at- gmail.com to get them fixed/improved.
Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maintainer and may be missing features or be broken. If you have an invite for them please send it to garfieldsixtynine -at- gmail.com or jacketttest -at- gmail.com to get them fixed/improved.
### Aggregate indexers

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

13
src/Directory.Build.props Normal file
View File

@@ -0,0 +1,13 @@
<Project>
<!-- Common to all Jackett Projects -->
<PropertyGroup>
<!-- Specifies whether it's one of our own libraries -->
<JackettProject>false</JackettProject>
<JackettProject Condition="$(MSBuildProjectName.StartsWith('Jackett'))">true</JackettProject>
</PropertyGroup>
<!-- Set the Product and Version info for our own projects -->
<PropertyGroup Condition="'$(JackettProject)'=='true'">
<PathMap>$(MSBuildProjectDirectory)=./$(MSBuildProjectName)/</PathMap>
</PropertyGroup>
</Project>

View File

@@ -461,7 +461,7 @@ function displayUnconfiguredIndexersList() {
$('#indexers div.dataTables_filter input').focusWithoutScrolling();
});
$("#modals").append(UnconfiguredIndexersDialog);
$("#modals").html(UnconfiguredIndexersDialog);
$('#add-selected-indexers').click(function () {
var selectedIndexers = $('#unconfigured-indexer-datatable').DataTable().$('input[type="checkbox"]');
@@ -799,7 +799,7 @@ function newConfigModal(title, config, caps, link, alternativesitelinks, descrip
link: link,
description: description
}));
$("#modals").append(configForm);
$("#modals").html(configForm);
populateConfigItems(configForm, config);
if (alternativesitelinks.length >= 1) {
@@ -1043,14 +1043,13 @@ function showSearch(selectedFilter, selectedIndexer, query, category) {
var selectedIndexers = [];
if (selectedIndexer)
selectedIndexers = selectedIndexer.split(",");
$('#select-indexer-modal').remove();
var releaseTemplate = Handlebars.compile($("#jackett-search").html());
var releaseDialog = $(releaseTemplate({
filters: availableFilters,
active: selectedFilter
}));
$("#modals").append(releaseDialog);
$("#modals").html(releaseDialog);
releaseDialog.on('shown.bs.modal', function () {
releaseDialog.find('#searchquery').focusWithoutScrolling();
@@ -1581,7 +1580,7 @@ function bindUIButtons() {
});
}
});
$("#modals").append(releaseDialog);
$("#modals").html(releaseDialog);
releaseDialog.modal("show");
}).fail(function () {
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");
@@ -1600,7 +1599,7 @@ function bindUIButtons() {
logs: data
};
var releaseDialog = $(releaseTemplate(item));
$("#modals").append(releaseDialog);
$("#modals").html(releaseDialog);
releaseDialog.modal("show");
}).fail(function () {
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");

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>
@@ -756,6 +756,6 @@
</script>
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
<script type="text/javascript" src="../custom.js?changed=2023041901"></script>
<script type="text/javascript" src="../custom.js?changed=2023052701"></script>
</body>
</html>

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

@@ -13,13 +13,11 @@ links:
- https://x1337x.ws/
- https://x1337x.eu/
- https://x1337x.se/
- https://1337x.unblockit.click/
- https://1337x.unblockit.mov/
- https://1337x.unblockninja.com/
legacylinks:
- https://1337x.is/
- https://1337x.nocensor.work/
- https://1337x.unblockit.how/
- https://1337x.unblockit.cam/
- https://1337x.nocensor.biz/
- https://1337x.gd/
- https://1337x.unblockit.day/
@@ -41,6 +39,8 @@ legacylinks:
- https://1337x.unblockit.boo/
- https://1337x.mrunblock.guru/
- https://1337x.mrunblock.life/ # cloudflare 403
- https://1337x.unblockit.click/
- https://1337x.unblockit.asia/
caps:
categorymappings:

View File

@@ -189,4 +189,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-04-09
# NexusPHP v1.8.3 2023-05-14

View File

@@ -30,13 +30,13 @@ caps:
- {id: 423, cat: XXX, desc: "IV(写真影片)", default: true}
- {id: 424, cat: XXX, desc: "IV(写真图集)", default: true}
# special
- {id: 526, cat: Movies, desc: "VRMovies(3D/VR电影)", default: true}
- {id: 527, cat: TV, desc: "VRSeries(3D/VR剧集)", default: true}
- {id: 528, cat: Audio/Video, desc: "AV(VR无码)", default: true}
- {id: 529, cat: Audio/Video, desc: "AV(VR有码)", default: true}
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)", default: true}
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)", default: true}
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)", default: true}
- {id: 526, cat: Movies, desc: "VRMovies(3D/VR电影)", default: false}
- {id: 527, cat: TV, desc: "VRSeries(3D/VR剧集)", default: false}
- {id: 528, cat: Audio/Video, desc: "AV(VR无码)", default: false}
- {id: 529, cat: Audio/Video, desc: "AV(VR有码)", default: false}
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)", default: false}
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)", default: false}
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)", default: false}
modes:
search: [q]
@@ -110,7 +110,7 @@ login:
search:
paths:
- path: torrents.php
categories: [401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 420, 421, 422, 423, 424]
categories: ["!", 526, 527, 528, 529, 530, 531, 532]
- path: special.php
categories: [526, 527, 528, 529, 530, 531, 532]
inputs:
@@ -213,4 +213,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-01-26
# NexusPHP v1.8.2 2023-05-08

View File

@@ -139,20 +139,22 @@ search:
files:
selector: td:nth-last-child(9)
date_day:
# Yesterday<br/>6:00 AM
selector: td:nth-last-child(7):contains("day")
# auto adjusted by site account profile
# Yesterday, 6:00 AM
selector: td:nth-last-child(7) > span[title*="day"]
attribute: title
optional: true
filters:
- name: fuzzytime
date_year:
# Aug 6 2021<br/>7:25 PM
selector: td:nth-last-child(7):not(:contains("day"))
# auto adjusted by site account profile
# Aug 6 2021, 7:25 PM
selector: td:nth-last-child(7) > span[title]:not([title*="day"])
attribute: title
optional: true
filters:
- name: dateparse
args: "MMM d yyyy h:mm tt"
args: "MMM d yyyy, h:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:

View File

@@ -60,8 +60,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -69,15 +67,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -178,6 +178,9 @@ search:
_quality:
selector: div.list-group-item-content p.m-0 span.badge-primary:contains("1080p"), div.list-group-item-content p.m-0 span.badge-primary:contains("720p"), div.list-group-item-content p.m-0 span.badge-primary:contains("4k")
optional: true
filters:
- name: replace
args: ["4k", "2160p"]
_year:
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#246AB6;"]
optional: true

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

@@ -62,8 +62,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -71,15 +69,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -65,8 +65,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -74,15 +72,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -124,6 +124,7 @@ login:
args: ["');", ""]
test:
path: index.php
selector: a[href="logout.php"]
download:
before:

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

@@ -0,0 +1,173 @@
---
id: azusa
name: Azusa
description: "Azusa is a CHINESE Torrent Tracker focusing on Comics"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://azusa.wiki/
caps:
categorymappings:
- {id: 404, cat: PC/Games, desc: "Game"}
- {id: 402, cat: Books/Comics, desc: "Comic"}
- {id: 403, cat: Books/EBook, desc: "Light Novel"}
- {id: 407, cat: Other, desc: "CG"}
- {id: 409, cat: Audio, desc: "Music"}
modes:
search: [q]
music-search: [q]
book-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 2facode
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Uploads Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: ""
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: "{{ .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
search_area: 0
# 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_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.20 2022-08-05

View File

@@ -23,10 +23,16 @@ caps:
- {id: 95, cat: Movies/HD, desc: "Film/FHD/Eng", default: true}
- {id: 92, cat: Movies/UHD, desc: "Film/UHD/Hun", default: true}
- {id: 93, cat: Movies/UHD, desc: "Film/UHD/Eng", default: true}
- {id: 64, cat: Movies, desc: "Film/Pack", default: true}
- {id: 24, cat: Audio/Video, desc: "Videóklip", default: true}
- {id: 22, cat: TV, desc: "Sorozat/Hun", default: true}
- {id: 58, cat: TV, desc: "Sorozat/Eng", default: true}
- {id: 64, cat: Movies, desc: "Film/Pack", default: true}
- {id: 66, cat: XXX/ImageSet, desc: "Képek/XXX", default: false}
- {id: 33, cat: XXX/SD, desc: "SD/XXX", default: false}
- {id: 89, cat: XXX/x264, desc: "HD/XXX", default: false}
- {id: 24, cat: Audio/Video, desc: "Videóklip", default: true}
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
- {id: 27, cat: Books/EBook, desc: "Könyv/Hun", default: true}
- {id: 50, cat: Books/EBook, desc: "Könyv/Eng", default: true}
- {id: 69, cat: TV/Anime, desc: "Mese/SD", default: true}
- {id: 68, cat: TV/Anime, desc: "Mese/DVD", default: true}
- {id: 91, cat: TV/Anime, desc: "Mese/HD", default: true}
@@ -35,19 +41,13 @@ caps:
- {id: 84, cat: Audio/Lossless, desc: "Lossless/Hun", default: true}
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng", default: true}
- {id: 31, cat: PC/Games, desc: "Játék/PC", default: true}
- {id: 54, cat: Console, desc: "Játék/Konzol", default: true}
- {id: 81, cat: PC/0day, desc: "Program/PC", default: true}
- {id: 67, cat: PC/Mobile-Android, desc: "Program/Mobil", default: true}
- {id: 49, cat: PC/0day, desc: "Program/Rip", default: true}
- {id: 27, cat: Books/EBook, desc: "Könyv/Hun", default: true}
- {id: 50, cat: Books/EBook, desc: "Könyv/Eng", default: true}
- {id: 14, cat: PC, desc: "Program/Egyéb", default: true}
- {id: 65, cat: Other, desc: "Egyéb", default: true}
- {id: 33, cat: XXX/SD, desc: "SD/XXX", default: false}
- {id: 89, cat: XXX/x264, desc: "HD/XXX", default: false}
- {id: 66, cat: XXX/ImageSet, desc: "Képek/XXX", default: false}
# the following are no longer in the cat list in the search page, but are still in the profile cat list
- {id: 54, cat: Console, desc: "Játék/Konzol", default: true}
- {id: 67, cat: PC/Mobile-Android, desc: "Program/Mobil", default: true}
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
- {id: 97, cat: TV/Anime, desc: "Sorozat/Mese", default: true}
modes:
search: [q]
@@ -99,7 +99,7 @@ login:
search:
paths:
- path: browse.php
categories: [85, 86, 15, 16, 17, 19, 83, 82, 94, 95, 92, 93, 64, 24, 22, 58, 69, 68, 91, 25, 26, 84, 71, 31, 81, 49, 27, 50, 14, 65, 54, 67, 70]
categories: ["!", 33, 66, 89]
inputs:
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
incldead: 0
@@ -117,22 +117,26 @@ search:
# can support genre searching but you need to know the id, eg &genre23=1 for Comedy (id is 23)
rows:
selector: "tr[class^=\"toriadatok_\"]{{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
selector: "tr[class^=\"toriadatok\"]{{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
fields:
categorydesc:
selector: img[src^="pic/kategoria/"]
attribute: title
title:
selector: a.preview
selector: font[class="tori"], a.preview
_id:
selector: td.tori_infok
attribute: id
optional: true
filters:
- name: regexp
args: (\d+)
details:
text: "details.php?id={{ .Result._id }}#adatlap"
selector: a[href^="details.php?id="]
attribute: href
optional: true
default: "details.php?id={{ .Result._id }}#adatlap"
download:
text: "download.php?torrent={{ .Result._id }}"
poster:
@@ -142,14 +146,14 @@ search:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td[id^="tsize_"]
selector: td[id^="tsize"]
date:
# 36 perce
# 13 órája és 59 perce
# 2 napja és 10 órája
# 1 hete és 1 napja
# 1 éve és 30 hete
selector: td[id^="t_added_"] > span
selector: td[id^="t_added"] > span
filters:
- name: replace
args: ["és ", " "]

View File

@@ -8,13 +8,14 @@ encoding: UTF-8
requestDelay: 2
links:
- https://bitsearch.to/
- https://bitsearch.mrunblock.life/
- https://bitsearch.nocensor.click/
legacylinks:
- https://bitsearch.nocensor.biz/
- https://bitsearch.nocensor.sbs/
- https://bitsearch.nocensor.world/
- https://bitsearch.nocensor.lol/
- https://bitsearch.mrunblock.guru/
- https://bitsearch.mrunblock.life/ # This web property is not accessible via this address.
caps:
categories:
@@ -92,7 +93,7 @@ search:
category:
selector: a.category
title:
selector: h5
selector: h5 a
details:
selector: h5 a
attribute: href

View File

@@ -54,8 +54,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -63,15 +61,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"

View File

@@ -10,7 +10,7 @@ links:
caps:
categorymappings:
- {id: 1, cat: TV, desc: "Cursos"}
- {id: 1, cat: Other, desc: "Cursos"}
- {id: 2, cat: Books/EBook, desc: "eBooks"}
- {id: 5, cat: Books/Mags, desc: "Revistas"}
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
@@ -55,8 +55,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -64,27 +62,22 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
@@ -93,8 +86,6 @@ search:
rows:
selector: data
attribute: attributes
count:
selector: meta.total
fields:
category:
@@ -110,28 +101,6 @@ search:
optional: true
infohash:
selector: info_hash
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Science Fiction)", "Science_Fiction"]
- name: re_replace
args: ["(?i)(TV Movie)", "TV_Movie"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
@@ -169,6 +138,6 @@ search:
minimumratio:
text: 1.0
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 6.5.0
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
# json UNIT3D 6.5.0 (custom)

View File

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

View File

@@ -123,6 +123,7 @@ caps:
- {id: 217, cat: Movies, desc: "Tamil-Movies | Remuxes BluRay"}
- {id: 218, cat: TV, desc: "TV-Ishara TV"}
- {id: 219, cat: TV, desc: "TV-Bengali Tv"}
- {id: 220, cat: TV, desc: "TV-Shemaroo Umang"}
modes:
search: [q]

View File

@@ -89,7 +89,7 @@ login:
search:
paths:
- path: browse.php
categories: [1, 2, 8, 7, 16, 15, 14, 13, 4, 3, 18, 17, 23, 19, 20, 24, 21, 22, 35, 36, 25, 30, 31, 33, 32, 29, 28, 27, 26]
categories: ["!", 34, 39]
- path: browse.php
categories: [34, 39]
inputs:

View File

@@ -189,4 +189,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.31 2022-11-14
# NexusPHP v1.7.38 2023-05-14

View File

@@ -163,7 +163,7 @@ search:
optional: true
filters:
- name: re_replace
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
args: ["[ ]at|[//\xa0\\s,]+", " "]
date_year:
# February 09, 2019, 06:35:08 AM
selector: td:nth-child(5):not(:contains("day"))
@@ -171,7 +171,7 @@ search:
optional: true
filters:
- name: re_replace
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
args: ["[//\xa0\\s,]+", " "]
- name: dateparse
args: "MMMM dd yyyy hh:mm:ss tt"
date:

View File

@@ -1,152 +0,0 @@
---
id: ccfbits
name: CCFBits
description: "CCFBits is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://ccfbits.org/
caps:
categorymappings:
# 高清电影
- {id: 39, cat: Movies/HD, desc: "HD-DVD原盘"}
- {id: 40, cat: Movies/BluRay, desc: "Blu-ray原盘"}
- {id: 30, cat: Movies/HD, desc: "高清电影1080p"}
- {id: 2, cat: Movies/HD, desc: "高清电影720p"}
# 高清电视剧
- {id: 7, cat: TV/HD, desc: "高清欧美剧"}
- {id: 32, cat: TV/HD, desc: "高清国产剧"}
- {id: 34, cat: TV/HD, desc: "高清港台剧"}
- {id: 36, cat: TV/HD, desc: "高清日韩剧"}
# 其他高清视频
- {id: 12, cat: TV/Documentary, desc: "高清纪录片"}
- {id: 11, cat: TV/Sport, desc: "高清体育"}
- {id: 23, cat: TV/Anime, desc: "高清动漫"}
- {id: 4, cat: Audio/Video, desc: "高清MV/综艺"}
# 电视剧集包
- {id: 38, cat: TV/HD, desc: "欧美剧包"}
- {id: 33, cat: TV/HD, desc: "国产剧包"}
- {id: 35, cat: TV/HD, desc: "港台剧包"}
- {id: 37, cat: TV/HD, desc: "日韩剧包"}
# 非高清和其他
- {id: 43, cat: TV/SD, desc: "HR_HDTV"}
- {id: 20, cat: Movies/DVD, desc: "DVD"}
- {id: 42, cat: Movies/SD, desc: "XviD"}
- {id: 3, cat: Audio, desc: "无损音乐"}
- {id: 22, cat: Other, desc: "杂项"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: 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 }}"
error:
- selector: td.embedded:has(h2:contains("登录失败"))
test:
path: browse.php
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active 1 incldead 2 deadonly
incldead: 1
fullsearch: "{{ if .Query.IMDBID }}1{{ else }}{{ end }}"
sort: "{{ .Config.sort }}"
d: "{{ .Config.sort }}"
rows:
selector: table[border="1"][cellpadding="5"] > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[title][href^="details.php?id="]
attribute: title
filters:
- name: split
args: ["\n", 0]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php/"]
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
files:
selector: a[href$="&filelist=1"]
grabs:
selector: a[href^="snatches.php?id"]
filters:
- name: replace
args: ["次", ""]
size:
selector: td:nth-child(7)
remove: a
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
date:
selector: td:nth-child(5)
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
downloadvolumefactor:
case:
"font[color=\"#C20603\"]:contains(\"免费\")": 0
"font:has([src=\"/pic/arrowdown1.gif\"]):contains(\"0.5x\")": 0.5
"*": 1
uploadvolumefactor:
case:
"font:has([src=\"/pic/arrowup1.gif\"]):contains(\"1.5x\")": 1.5
"font:has([src=\"/pic/arrowup1.gif\"]):contains(\"2x\")": 2
"*": 1
description:
selector: td:nth-child(2) > table > tbody > tr:nth-child(2)
remove: a, img
# Discuz! 7.2

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,173 @@
---
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.xyz/
- 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

@@ -10,11 +10,10 @@ links:
caps:
categorymappings:
- {id: 62, cat: Books/EBook, desc: "EBook"}
- {id: 69, cat: Books/Mags, desc: "Zeitung"}
- {id: 30, cat: TV/Anime, desc: "Filme - Animie"}
- {id: 28, cat: Movies/BluRay, desc: "Filme - Bluray"}
- {id: 31, cat: Movies/Other, desc: "Filme - Bollywood"}
- {id: 77, cat: TV/Documentary, desc: "Filme - DokusHD"}
- {id: 32, cat: Movies/DVD, desc: "Filme - DVD"}
- {id: 33, cat: Movies/HD, desc: "Filme - HD"}
- {id: 34, cat: Movies, desc: "Filme - Klassiker"}
@@ -22,14 +21,17 @@ caps:
- {id: 36, cat: Movies/SD, desc: "Filme - SD"}
- {id: 37, cat: Movies/UHD, desc: "Filme - UHD"}
- {id: 38, cat: Movies/HD, desc: "Filme - x264"}
- {id: 63, cat: Movies, desc: "Fuer Unsere Kleinsten"}
- {id: 64, cat: PC/Mobile-Other, desc: "Handy-Stuff"}
- {id: 39, cat: Audio, desc: "Musik - Alben"}
- {id: 72, cat: Audio, desc: "Musik - Charts"}
- {id: 40, cat: Audio, desc: "Musik - Diskografie"}
- {id: 75, cat: Audio/Lossless, desc: "Musik - Flac"}
- {id: 41, cat: Audio/Audiobook, desc: "Musik - Hoerbuch"}
- {id: 74, cat: Audio/Other, desc: "Musik - Kids"}
- {id: 42, cat: Audio, desc: "Musik - Mixe"}
- {id: 43, cat: Audio/MP3, desc: "Musik - MP3"}
- {id: 66, cat: Audio, desc: "Musik - Pack"}
- {id: 70, cat: Audio, desc: "Musik - Sampler Deu."}
- {id: 71, cat: Audio, desc: "Musik - Sampler Int."}
- {id: 76, cat: Audio/Other, desc: "Musik - Soundtrack"}
- {id: 44, cat: Audio/Video, desc: "Musik - Video"}
- {id: 45, cat: PC, desc: "Programme - Linux"}
- {id: 48, cat: PC/Mac, desc: "Programme - Mac"}
@@ -39,7 +41,11 @@ caps:
- {id: 51, cat: TV, desc: "Serien - Klassiker"}
- {id: 52, cat: TV, desc: "Serien - Pack"}
- {id: 53, cat: TV/Sport, desc: "Serien - Sport"}
- {id: 62, cat: Books/EBook, desc: "EBook"}
- {id: 63, cat: Movies, desc: "Fuer Unsere Kleinsten"}
- {id: 64, cat: PC/Mobile-Other, desc: "Handy-Stuff"}
- {id: 60, cat: Other, desc: "Sonstiges"}
- {id: 69, cat: Books/Mags, desc: "Zeitung"}
- {id: 54, cat: PC/Mobile-Other, desc: "Spiele - Handy"}
- {id: 55, cat: Console, desc: "Spiele - Konsolen"}
- {id: 57, cat: PC/Games, desc: "Spiele - Mac / Linux / PC"}

View File

@@ -0,0 +1,194 @@
---
id: dajiao
name: Dajiao
description: "Dajiao (打胶) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://dajiao.cyou/
caps:
categorymappings:
- {id: 414, cat: Console, desc: "Games/游戏"}
- {id: 412, cat: Audio/Audiobook, desc: "Audio Books/有声书"}
- {id: 409, cat: Other, desc: "Others/音乐"}
- {id: 411, cat: Books/Comics, desc: "Manga/漫画"}
- {id: 413, cat: Books/EBook, desc: "E-Books/电子书"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 403, cat: TV, desc: "TV Variety Shows/综艺"}
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 401, cat: Movies, desc: "Movies/电影"}
- {id: 416, cat: TV, desc: "TV Shows/电视节目"}
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: 2facode
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Kufei Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
minimumratio:
text: 1.0
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.4 2023-06-13

View File

@@ -68,8 +68,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -81,8 +79,10 @@ search:
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
search: "{{ .Keywords }}"
imdb: "{{ .Query.IMDBIDShort }}"

View File

@@ -0,0 +1,202 @@
---
id: dark-shadow
name: Dark-Shadow
description: "Dark-Shadow is a GERMAN Private site for TV / MOVIES / GENERAL"
language: de-DE
type: private
encoding: UTF-8
links:
- https://projekt.dark-shadow.me/
legacylinks:
- https://dark-shadow.ml/
- https://dark-shadow.me/
caps:
categorymappings:
# Movie
- {id: 28, cat: Movies/SD, desc: "Filme SD"}
- {id: 32, cat: Movies/HD, desc: "Filme HD"}
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"}
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"}
- {id: 138, cat: Movies, desc: "Filme Pack`s"}
# Serien
- {id: 60, cat: TV/SD, desc: "Serien SD"}
- {id: 57, cat: TV/HD, desc: "Serien HD"}
- {id: 139, cat: TV/UHD, desc: "Serien UHD"}
- {id: 59, cat: TV, desc: "Serien Pack`s"}
# Audio
- {id: 110, cat: Audio/MP3, desc: "Audio MP3"}
- {id: 48, cat: Audio/Lossless, desc: "Audio Flac"}
- {id: 52, cat: Audio, desc: "Audio Pack"}
- {id: 63, cat: Audio/Audiobook, desc: "Audio Hörbuch"}
- {id: 120, cat: Audio/Video, desc: "Audio Videos"}
# Apps
- {id: 12, cat: PC/0day, desc: "Apps Windows"}
- {id: 125, cat: PC/Mac, desc: "Apps Mac-OSX"}
- {id: 11, cat: PC/Mobile-Other, desc: "Apps Mobil"}
- {id: 141, cat: PC/ISO, desc: "Apps Other"}
# Doku
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
- {id: 123, cat: TV/Documentary, desc: "Doku Reihe"}
# Spiel
- {id: 126, cat: Console/Other, desc: "Spiel Mobil"}
- {id: 17, cat: PC/Games, desc: "Spiel PC"}
- {id: 24, cat: Console, desc: "Spiel Konsole"}
- {id: 121, cat: Console, desc: "Spiel Wimmelbild"}
# Sport
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
# ePaper
- {id: 96, cat: Books/Mags, desc: "ePaper Zeitungen"}
- {id: 136, cat: Books/EBook, desc: "ePaper E-Book"}
- {id: 137, cat: Books/Comics, desc: "ePaper Comics"}
# XXX
- {id: 76, cat: XXX/XviD, desc: "XXX SD"}
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
- {id: 142, cat: XXX/ImageSet, desc: "XXX Pic´s"}
# Internal
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
- {id: 131, cat: TV/SD, desc: "Internal Serie SD"}
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
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: added
options:
added: created
seeds: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login.php
method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div#login_error
test:
path: selection.php
search:
paths:
- path: selection.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 name, 1 descr, 2 both
blah: 0
orderby: "{{ .Config.sort }}"
sort: "{{ .Config.type }}"
keywordsfilters:
# prefix and postfix percent wildcard as well as replacing spaces between words
- name: re_replace
args: ["\\W+", "%"]
- name: re_replace
args: ["^(.+)$", "%$1%"]
rows:
selector: "div.selection_wrap{{ if .Config.freeleech }}:root:has(div.onlyup){{ else }}{{ end }}"
fields:
category_p1:
selector: div.kat_cat_pic_name
category_p2:
selector: div.kat_cat_pic_name_b
categorydesc:
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
title:
selector: a.selection_a
filters:
# remove [REQ] and anything else in [] that prefixes titles
- name: re_replace
args: ["^(\\[.*\\])(.*)", "$2"]
details:
selector: a.selection_a
attribute: href
download:
selector: a[href^="download_ssl.php?torrent="]
attribute: href
poster:
selector: div[id^="details"] img
attribute: src
size:
selector: div.selection_unter_ad
grabs:
selector: div.selection_unter_ae
date_day:
# Heute 13:30:04
# Gestern 09:10:10
selector: div.selection_unter_ab:not(:contains("."))
optional: true
filters:
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
- name: append
args: " +01:00" # CET
date_year:
# 30.02.2018 um 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace
args: [" um", ""]
- name: append
args: " +01:00" # CET
- name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
description:
selector: selection_unter_af
seeders:
selector: div.selection_unter_aa
leechers:
selector: div.selection_unter_aaa
downloadvolumefactor:
case:
":root:has(div.onlyup)": 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 36 hours (as seconds = 36 x 60 x 60)
text: 129600
# 3xT

View File

@@ -61,8 +61,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -70,15 +68,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -10,13 +10,11 @@ links:
- https://www.demonoid.is/
- https://www.dnoid.to/
- https://www.dnoid.pw/
- https://demonoid.unblockit.click/
- https://demonoid.unblockit.mov/
- https://demonoid.torrentbay.net/
- https://demonoid.mrunblock.life/
- https://demonoid.nocensor.click/
legacylinks:
- https://demonoid.unblockit.how/
- https://demonoid.unblockit.cam/
- https://demonoid.nocensor.biz/
- https://demonoid.unblockit.day/
- https://demonoid.unblockit.llc/
@@ -42,6 +40,8 @@ legacylinks:
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.tor2web.link/ # Origin is unreachable Error code 523
- https://demonoid.mrunblock.guru/
- https://demonoid.torrentbay.to/
- https://demonoid.unblockit.click/
- https://demonoid.unblockit.asia/
caps:
categorymappings:

View File

@@ -54,8 +54,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -63,15 +61,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -71,6 +71,10 @@ settings:
type: checkbox
label: Search freeleech only
default: false
- name: p2p_releases_only
type: checkbox
label: Search P2P releases only
default: false
- name: sort
type: select
label: Sort requested from site
@@ -109,6 +113,7 @@ search:
index: 0
limit: 100
order: "{{ .Config.type }}"
p2p: "{{ if .Config.p2p_releases_only }}true{{ else }}{{ end }}"
page: search
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
section: all

View File

@@ -1,9 +1,9 @@
---
id: dimeadozen
name: DimeADozen
description: "DimeADozen (EzTorrent) is a Semi-Private Torrent Tracker for BOOTLEG MUSIC"
description: "DimeADozen (EzTorrent) is a Private Torrent Tracker for BOOTLEG MUSIC"
language: en-GB
type: semi-private
type: private
encoding: UTF-8
links:
- http://www.dimeadozen.org/ # site does not support https ERR_CONNECTION_REFUSED

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

@@ -0,0 +1,217 @@
---
id: drugari
name: Drugari
description: "Drugari is a CROATIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: hr-HR
type: private
encoding: UTF-8
links:
- http://drugari.org/ # does not support https, ERR_CONNECTION_CLOSED
caps:
categorymappings:
- {id: 3, cat: TV/Anime, desc: "ANIMIRANI"}
- {id: 4, cat: PC, desc: "Appz"}
- {id: 1, cat: Movies, desc: "BEZ PRAVILA"}
- {id: 39, cat: Movies, desc: "BEZ PREVODA"}
- {id: 41, cat: Movies, desc: "BEZ PREVODA Filmovi"}
- {id: 40, cat: TV, desc: "BEZ PREVODA Serije"}
- {id: 7, cat: TV/Documentary, desc: "DOKUMENTARNI"}
- {id: 18, cat: Movies, desc: "DOMACI FILMOVI"}
- {id: 49, cat: Movies, desc: "DOMACI FILMOVI Predstava"}
- {id: 10, cat: Movies/DVD, desc: "DVD FILMOVI"}
- {id: 37, cat: TV, desc: "Emisije"}
- {id: 8, cat: Movies, desc: "FILM"}
- {id: 34, cat: Movies, desc: "FILM Kolekcije"}
- {id: 48, cat: Movies, desc: "FILM Ruski Film"}
- {id: 23, cat: Movies/SD, desc: "FILM TS"}
- {id: 24, cat: Movies, desc: "FILM TV RIP"}
- {id: 38, cat: Movies, desc: "FILM- Western"}
- {id: 22, cat: Movies/HD, desc: "FILM x264/x265-Filmovi"}
- {id: 21, cat: Movies/SD, desc: "FILM XviD/Strani Filmovi"}
- {id: 15, cat: Console, desc: "IGRE"}
- {id: 19, cat: Books, desc: "KNJIGE"}
- {id: 53, cat: Audio/Audiobook, desc: "KNJIGE Audio"}
- {id: 52, cat: Books/Mags, desc: "KNJIGE Casopisi"}
- {id: 55, cat: Books/EBook, desc: "KNJIGE pdf"}
- {id: 14, cat: Audio, desc: "MUZIKA"}
- {id: 50, cat: Audio, desc: "MUZIKA Domaca Diskografija"}
- {id: 29, cat: Audio, desc: "MUZIKA DVD Muzika"}
- {id: 33, cat: Audio/Lossless, desc: "MUZIKA FLAC"}
- {id: 35, cat: Audio, desc: "MUZIKA Karaoke"}
- {id: 32, cat: Audio/MP3, desc: "MUZIKA MP3"}
- {id: 31, cat: Audio/Other, desc: "MUZIKA Muzika Ostalo"}
- {id: 51, cat: Audio, desc: "MUZIKA Strana Diskografija"}
- {id: 30, cat: Audio/Video, desc: "MUZIKA Video Muzika"}
- {id: 11, cat: Other, desc: "RAZNO"}
- {id: 20, cat: TV, desc: "SERIJE"}
- {id: 27, cat: TV, desc: "SERIJE Domace Serije"}
- {id: 54, cat: TV, desc: "SERIJE Ruske Serije"}
- {id: 28, cat: TV, desc: "SERIJE Strane Serije"}
- {id: 16, cat: Other, desc: "SLIKE"}
- {id: 12, cat: TV/Sport, desc: "SPORT"}
- {id: 6, cat: Other, desc: "STRANI TORENTI"}
- {id: 5, cat: Other, desc: "STRIP"}
- {id: 13, cat: Other, desc: "UPUTSTVA"}
- {id: 25, cat: XXX, desc: "XXX"}
- {id: 47, cat: XXX, desc: "XXX XXX-Strip"}
- {id: 42, cat: TV, desc: "Za Decu"}
- {id: 43, cat: TV, desc: "Za Decu Edukativni Programi"}
- {id: 44, cat: Console, desc: "Za Decu Igrice"}
- {id: 45, cat: Books, desc: "Za Decu Knjige"}
- {id: 46, cat: Audio, desc: "Za Decu Muzika"}
modes:
search: [q]
tv-search: [q, season, ep]
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: 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
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>40</b> on your account profile. The Default is <i>30</i>.
- name: info_results
type: info
label: Search results
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and read any new mail you may have received. You cannot browse torrents with unread mail outstanding."
login:
path: login.php?
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img#regimage
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
logout: ""
error:
- selector: table:contains("Greska")
test:
path: index.php
selector: a[href*="/logout.php?logouthash="]
download:
before:
path: takethanks.php
method: post
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
selectors:
- selector: a[href*="download.php?id="]
attribute: href
search:
paths:
- path: browse.php
keywordsfilters:
- name: re_replace
args: ["[\\s]+", "%"]
inputs:
do: search
keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# t_name, t_description, t_both, t_uploader, t_genre
search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}"
# does not support multi category searching so defaulting to all.
category: 0
# yes, no
include_dead_torrents: yes
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
# does not return imdb link in results
rows:
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
filters:
- name: strdump
fields:
category:
selector: a[href*="/browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
title_default:
# is usually abbreaviated
selector: a[href*="/details.php?id="]
title:
# while still abbreviated, is usually longer than the default
selector: div.tooltip-content div
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href*="/details.php?id="]
attribute: href
download:
selector: a[href*="/details.php?id="]
attribute: href
poster:
selector: img[src*="/torrents/images/"]
attribute: src
date:
selector: td:nth-child(2)
# auto adjusted by site account profile
filters:
- name: regexp
args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})"
- name: dateparse
args: "dd-MM-yyyy HH:mm"
size:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
description:
# Wait: 4 h
# Cekanje: 4 h
selector: div.tooltip-content > div:last-child
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.1
minimumseedtime:
# 60 hours (as seconds = 60 x 60 x 60)
text: 216000
# TS Special Edition v.8.0

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

@@ -6,6 +6,8 @@ language: pl-PL
type: semi-private
encoding: UTF-8
links:
- https://electro-torrent.pl/
legacylinks:
- http://electro-torrent.pl/
caps:
@@ -49,12 +51,20 @@ caps:
book-search: [q]
settings:
- name: username
- name: cookie
type: text
label: Username
- name: password
type: password
label: Password
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: useragent
type: text
label: User-Agent
- name: info_useragent
type: info
label: How to get the User-Agent
default: "<ol><li>From the same place you fetched the cookie,</li><li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</li></ol>"
- name: multilang
type: checkbox
label: Replace MULTi by another language in release name
@@ -68,25 +78,17 @@ settings:
MULTi POLISH: MULTi POLISH
login:
path: logowanie
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[src^="img.php?size=3"]
input: vImageCodP
method: cookie
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: ""
error:
- selector: div#center-side:contains("Logowanie nie")
cookie: "{{ .Config.cookie }}"
test:
path: /
selector: a[href$="/logout.php"]
search:
# http://electro-torrent.pl/szukaj.php?search=&typ=torrent&cat=0
headers:
User-Agent: ["{{ .Config.useragent }}"]
paths:
- path: szukaj.php
allowEmptyInputs: true

View File

@@ -7,13 +7,11 @@ type: public
encoding: UTF-8
links:
- https://extratorrent.st/
- https://extratorrent.unblockit.click/
- https://extratorrent.unblockit.mov/
- https://extratorrent.mrunblock.life/
- https://extratorrent.nocensor.click/
legacylinks:
- https://extratorrent.nocensor.work/
- https://extratorrent.unblockit.how/
- https://extratorrent.unblockit.cam/
- https://extratorrent.nocensor.biz/
- https://extratorrent.unblockit.day/
- https://extratorrent.unblockit.llc/
@@ -33,6 +31,8 @@ legacylinks:
- https://extratorrent.unblockit.bio/
- https://extratorrent.unblockit.boo/
- https://extratorrent.mrunblock.guru/
- https://extratorrent.unblockit.click/
- https://extratorrent.unblockit.asia/
caps:
categorymappings:

View File

@@ -123,6 +123,8 @@ search:
category:
selector: td:nth-child(1) div div a:last-child
attribute: href
optional: true
default: "/other/"
title:
selector: td:nth-child(1) div a
details:

View File

@@ -13,7 +13,7 @@ links:
- https://eztv.yt/
- https://eztv1.xyz/
- https://eztv.unblockninja.com/
- https://eztv.unblockit.click/
- https://eztv.unblockit.mov/
- https://eztv.mrunblock.life/
- https://eztv.nocensor.click/
legacylinks:
@@ -40,6 +40,8 @@ legacylinks:
- https://eztv.unblockit.bio/
- https://eztv.unblockit.boo/
- https://eztv.mrunblock.guru/
- https://eztv.unblockit.click/
- https://eztv.unblockit.asia/
caps:
categories:

View File

@@ -6,7 +6,9 @@ language: el-GR
type: private
encoding: UTF-8
links:
- http://fantastiko.space/ # https is not supported
- https://fantastiko.space/
legacylinks:
- http://fantastiko.space/
caps:
categorymappings:

View File

@@ -0,0 +1,139 @@
---
id: fappaizuri
name: Fappaizuri
description: "Fappaizuri is a Private Torrent Tracker for HENTAI / JAV"
language: en-US
type: private
encoding: UTF-8
links:
- https://fappaizuri.me/
caps:
categorymappings:
- {id: 8, cat: TV/Anime, desc: "Hentai"}
- {id: 7, cat: Console, desc: "H-games"}
- {id: 5, cat: XXX, desc: "JAV"}
- {id: 6, cat: Books, desc: "Manga"}
modes:
search: [q]
tv-search: [q, season, ep]
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: lang
type: select
label: Language
default: 0
options:
0: All
4: Japanese
5: Chinese
6: Malaysia
7: North Korea
8: English
- name: sort
type: select
label: Sort requested from site
default: id
options:
id: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
method: post
path: account-login.php
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: b:contains("The specified username or password was incorrect.")
test:
path: account.php
search:
paths:
# https://fappaizuri.me/torrents-search.php?search=&c8=1&c6=1&incldead=1&freeleech=0&lang=0
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}&c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 all, 1 notfree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}{{ .Config.freeleech }}2{{ else }}0{{ end }}"
lang: "{{ .Config.lang }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
rows:
selector: tr.t-row:has(a[href^="download.php?id="])
fields:
category:
selector: a[href^="search-torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="] > b
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="torrents-details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: src=(.+?)>
_language:
selector: img[src*="images/languages/"]
attribute: alt
description:
selector: font[color="red"]
filters:
- name: append
args: " - {{ .Result._language }}"
size:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
date:
text: now
downloadvolumefactor:
case:
img[src="images/free.png"]: 0
"*": 1
uploadvolumefactor:
case:
img[src="images/doubleupload.gif"]: 2
"*": 1
minimumratio:
text: 1.0
# evolution

View File

@@ -20,14 +20,13 @@ caps:
- {id: 601, cat: TV/Anime, desc: " |- Мультсериалы DVD Master's"}
# Кино, видео, мультипликация и ТВ
# Film, video, animation and TV
- {id: 995, cat: Movies, desc: " |- Экранки с рекламой (фильмы, мультфильмы)"}
- {id: 994, cat: Movies, desc: " |- Новинки с рекламой (фильмы, мультфильмы)"}
- {id: 385, cat: Movies, desc: " |- Экранки (фильмы , мультфильмы)"}
- {id: 987, cat: Movies, desc: " |- Зарубежное кино"}
- {id: 988, cat: Movies, desc: " |- Кино России и СНГ"}
- {id: 337, cat: Movies, desc: " |- Мультфильмы"}
- {id: 72, cat: Movies, desc: " |- DVD, HD Видео (фильмы , мультфильмы)"}
- {id: 1001, cat: Movies, desc: " |- UHD Видео (фильмы , мультфильмы)"}
- {id: 1002, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы [HD/UHD]"}
- {id: 987, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы [SD]"}
- {id: 1003, cat: Movies, desc: " |- Отечественные фильмы , мультфильмы [HD/UHD]"}
- {id: 988, cat: Movies, desc: " |- Отечественные фильмы , мультфильмы [SD]"}
- {id: 337, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы на других языках [SD/HD/UHD]"}
- {id: 994, cat: Movies, desc: " |- Новинки с рекламой (фильмы, мультфильмы) [SD/HD/UHD]"}
- {id: 385, cat: Movies, desc: " |- Экранки (фильмы , мультфильмы) [SD/HD/UHD]"}
- {id: 999, cat: Movies, desc: " |- Фильмы (2021-2022)"}
- {id: 996, cat: Movies, desc: " |- Фильмы (2019-2020)"}
- {id: 921, cat: Movies, desc: " |- Фильмы (2016-2018)"}
@@ -51,7 +50,6 @@ caps:
- {id: 62, cat: Movies, desc: " |- Кино для детей"}
- {id: 962, cat: Movies, desc: " |- Антология отечественного кино"}
- {id: 990, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы и сериалы на языках ближнего.."}
- {id: 993, cat: Movies, desc: " |- Фильмы , мультфильмы и сериалы ближнего зарубежья и СНГ в ор.."}
- {id: 991, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы и сериалы в оригинале"}
- {id: 74, cat: Movies, desc: " |- Зарубежные мультфильмы"}
- {id: 73, cat: Movies, desc: " |- Отечественные мультфильмы"}

View File

@@ -6,6 +6,8 @@ language: es-ES
type: public
encoding: UTF-8
requestDelay: 2
certificates:
- 1c5fd7a2e0464ac60f947eda247c2fe209768834 # expired 18 June 2023
links:
- https://www.frozen-layer.com/
@@ -60,6 +62,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 +88,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,12 +77,13 @@ 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
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -90,15 +91,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -96,8 +96,8 @@ search:
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.Genre }} genre:{{ .Query.Genre }}{{ else }}{{ end }}"
# 0 title, 1 nfo, 2 filelist, 3 title+nfo
blah: "{{ if or .Query.IMDBID .Query.Genre }}3{{ else }}0{{ end }}"
# 0 title, 1 nfo, 2 filelist, 3 title+nfo, 4 imdb
blah: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.Genre }}3{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.Genre }}{{ else }}0{{ end }}"
# 0 active only, 1 dead only
incldead: 0
sort: "{{ .Config.sort }}"

View File

@@ -9,6 +9,7 @@ followredirect: true
# to fetch current domain use https://www.protege-liens.com/Gktorrent
links:
- https://www.gktorrents.cc/
- https://gktorrent.nocensor.click/
legacylinks:
- https://www.gktorrent.org/
- https://www.gktorrent.me/

View File

@@ -10,15 +10,13 @@ links:
- https://glodls.to/
- https://gtdb.cc/
- https://www.gtdb.to/
- https://glotorrents.unblockit.click/
- https://glotorrents.unblockit.mov/
- https://glotorrents.mrunblock.life/
- https://glodls.unblockninja.com/
- https://glotorrents.nocensor.click/
legacylinks:
- https://glodls.rocks/
- https://gtdb.to/
- https://glotorrents.unblockit.how/
- https://glotorrents.unblockit.cam/
- https://glotorrents.nocensor.biz/
- https://glotorrents.unblockit.day/
- https://glotorrents.unblockit.llc/
@@ -38,6 +36,8 @@ legacylinks:
- https://glotorrents.unblockit.bio/
- https://glotorrents.unblockit.boo/
- https://glotorrents.mrunblock.guru/
- https://glotorrents.unblockit.click/
- https://glotorrents.unblockit.asia/
caps:
categorymappings:

View File

@@ -77,7 +77,7 @@ login:
search:
paths:
- path: torrents.php
categories: [1, 4091, 4097, 4098, 4099, 4101, 4104, 4105]
categories: ["!", 4103]
- path: live.php
categories: [4103]
inputs:

View File

@@ -10,10 +10,13 @@ links:
caps:
categorymappings:
- {id: 11, cat: XXX, desc: "Asian"}
- {id: 3, cat: XXX, desc: "Gay"}
- {id: 4, cat: XXX, desc: "Interracial"}
- {id: 5, cat: XXX, desc: "Lesbian"}
- {id: 6, cat: XXX, desc: "Onlyfans"}
- {id: 9, cat: XXX, desc: "Packs"}
- {id: 10, cat: XXX, desc: "Pics"}
- {id: 1, cat: XXX, desc: "Pron"}
- {id: 8, cat: XXX, desc: "Retro"}
- {id: 7, cat: XXX, desc: "VR"}

View File

@@ -50,8 +50,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -59,14 +57,16 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
imdbId: "{{ .Query.IMDBIDShort }}"
@@ -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

@@ -53,8 +53,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -62,15 +60,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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:
@@ -151,4 +148,4 @@ search:
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# json UNIT3D 6.3.0
# json UNIT3D 6.4.1

View File

@@ -175,4 +175,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-04-16
# NexusPHP v1.8.2 2023-05-08

View File

@@ -146,4 +146,4 @@ search:
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
# NexusPHP 2c858e7 (Customised)
# NexusPHP 4e16128 (Customised)

View File

@@ -122,7 +122,7 @@ search:
by: "{{ .Config.type }}"
rows:
selector: td#mcol table.lista > tbody > tr:has(a[href*=bookmark])
selector: td#mcol table.lista > tbody > tr:has(a[href^="magnet:?xt="])
fields:
category:
@@ -132,13 +132,16 @@ search:
- name: querystring
args: category
title:
selector: td:nth-child(2) > a
selector: a[href^="index.php?page=torrent-details"]
details:
selector: a[href^="index.php?page=torrent-details"]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
magnet:
selector: a[href^="magnet:?xt="]
attribute: href
poster:
selector: a[href^="index.php?page=torrent-details"]
attribute: onmouseover
@@ -146,17 +149,19 @@ search:
- name: regexp
args: "src=(.+?) "
date:
selector: td:nth-child(6)
selector: td:nth-child(7)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd/MM/yyyy"
size:
selector: td:nth-child(11)
selector: td:nth-child(12)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
grabs:
selector: td:nth-child(11)
downloadvolumefactor:
case:
img[src$="freeleech.gif"]: 0

View File

@@ -103,14 +103,14 @@ search:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
@@ -139,12 +139,14 @@ search:
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td:nth-child(4) > span[title]
@@ -193,4 +195,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.0 2023-01-20
# NexusPHP v1.8.4 2023-05-27

View File

@@ -103,7 +103,7 @@ search:
# 1 active, 2 dead, 3 gold, 4 sticky, lots of others
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
sort: "{{ .Config.sort }}"
ascdesc: "{{ .Config.type }}"
type: "{{ .Config.type }}"
keywordsfilters:
- name: re_replace # S01 to сезон 1
@@ -225,6 +225,23 @@ search:
# 1 day ago
selector: a[href^="browse.php?date="]
filters:
# translations for Russian|Romanian|Ukrainian
- name: re_replace
args: ["(?i)\\b(назад|În urmă)\\b", "ago"]
- name: re_replace
args: ["(?i)\\b(секунд(а|и|ы)?|secund(a|ă|e))\\b", "seconds"]
- name: re_replace
args: ["(?i)\\b(минуты?|minute?|хвилини?)\\b", "minutes"]
- name: re_replace
args: ["(?i)\\b(час(а|ов)?|or(e|ă)|години?)\\b", "hours"]
- name: re_replace
args: ["(?i)\\b(де?не?(ь|я|й|ів)|zi(le)?)\\b", "days"]
- name: re_replace
args: ["(?i)\\b(недел(ю|и)|săptămân(ă|i)|тиж(день|ні))\\b", "weeks"]
- name: re_replace
args: ["(?i)\\b(месяц(а|ев)?|lun(ă|i)|місяц(ь|я|ів))\\b", "months"]
- name: re_replace
args: ["(?i)\\b(года?|an|р(ік|оки))\\b", "years"]
- name: timeago
downloadvolumefactor:
case:

View File

@@ -19,6 +19,7 @@ caps:
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 409, cat: Other, desc: "Misc/其他"}
- {id: 408, cat: Audio, desc: "Music/音乐"}
- {id: 410, cat: PC, desc: "Softs/软件"}
modes:
search: [q]
@@ -170,4 +171,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.29 2022-10-12
# NexusPHP v1.8.3 2023-05-13

View File

@@ -56,23 +56,28 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: api/torrents/filter
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
api_token: "{{ .Config.apikey }}"
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
@@ -80,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:
@@ -182,11 +184,15 @@ search:
size:
selector: size
downloadvolumefactor:
# api returns 0=false, 1=true
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0: 1 # not free
1: 0 # freeleech
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
@@ -196,4 +202,4 @@ search:
minimumseedtime:
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
# json UNIT3D ???
# json UNIT3D 6.0.4

View File

@@ -98,8 +98,8 @@ search:
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl (not working)
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 1 OR, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
@@ -188,4 +188,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.33 2023-01-04
# NexusPHP v1.8.4 2023-06-04

View File

@@ -1,161 +0,0 @@
---
id: hdtorrentsit
name: HDTorrents.it
description: "HDTorrents.it is an ITALIAN Private site for TV / MOVIES"
language: it-IT
type: private
encoding: UTF-8
links:
- https://hdtorrents.xyz/ # Italian IP address filtering
legacylinks:
- http://hdtorrents.it/
- http://hdtorrents.xyz/
caps:
categorymappings:
- {id: 2040, cat: Movies/HD}
- {id: 5040, cat: TV/HD}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: ip_filtering
type: info
label: "IP Filtering"
default: "The <b>404 Not Found</b> error means your IP was not accepted. Check the <a href=\"https://check-host.net/check-report/e5b649bkfa\" target=\"_blank\">Locations report</a>, only those with a Status of <b>OK</b> will be accepted."
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.error
- selector: h1:contains("404 Not Found")
test:
path: browse.php
search:
paths:
- path: browse.php
method: post
allowEmptyInputs: true
keywordsfilters:
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%"]
- name: diacritics
args: replace
- name: re_replace # remove SXXEYY from research
args: ["(?i)(S\\d{1,2}E\\d{1,2})", ""]
- name: re_replace # remove SXX from research
args: ["(?i)(S\\d{1,2})", ""]
inputs:
ajax: false
search: "{{ .Keywords }}"
# 0 active 1 incldead 2 onlydead 3 gold 4 no seeders
incldead: 0
rows:
selector: tbody#highlighted tr
fields:
year:
selector: td:nth-child(2) a:nth-child(1)
filters:
- name: regexp # find torrent year
args: (\d{4})
_quality: # (BDRip 1080, BDRip 720p etc)
selector: td:nth-child(1) a:nth-child(1) img
attribute: alt
_audio: # ita audio TAG
selector: a[href^="download.php?id="]
attribute: href
filters:
- name: querystring
args: name
- name: regexp
args: (DTS AC3 ITA|DTS ITA|AC3 ITA)
- name: re_replace
args: ["ITA", ""]
title:
selector: td:nth-child(2) a:nth-child(1)
filters:
- name: re_replace # separate title
args: ["(\\s+\\/\\s+|\\/\\s+|\\s+\\/|\\/)(.*)\\s\\(", " ("]
- name: re_replace # remove (yyyy) from the title
args: ["(\\(\\d{4}\\)?\\s?)", ""]
- name: re_replace # remove |
args: ["(\\s\\||\\s\\/)", ""]
- name: re_replace # Stagione X --> S0X
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
- name: re_replace # Stagione XX --> SXX
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
- name: re_replace # / Episodio [YY-YY --> EYY-YY
args: ["(?i)(\\s\\/?\\s?Episodi[o]?)\\s\\[", "E"]
- name: re_replace # Episodio 4 to E4
args: ["(?i)\\b(?:[\\s\\/\\|]?Episodi[o]?\\s?(\\d+)|Puntata\\s?(\\d+))", "E$1$2"]
- name: re_replace # / Completa [episodi YY-YY --> EYY-YY
args: ["(?i)(\\s\\/\\sCompleta\\s\\[episodi\\s)", "E"]
- name: re_replace # remove di YY] | remove /YY]
args: ["(?i)(\\sdi\\s\\d{1,2}|\\/\\d{1,2})\\]", " "]
- name: re_replace # remove various
args: ["(?i)(Serie completa|Completa|\\[in pausa\\])", ""]
- name: append
args: " ({{ .Result.year }}) [{{ .Result._quality }} - {{ .Result._audio }} ITA]"
- name: re_replace # replace multiple spaces
args: ["[ ]{2,}", " "]
details:
selector: td:nth-child(2) a:nth-child(1)
attribute: href
poster:
selector: td:nth-child(2)[onmousemove]
attribute: onmousemove
filters:
- name: regexp
args: ".*\\(.*,.*,.*,'(.*?)'\\)"
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(3)
seeders:
selector: td:nth-child(4)
optional: true
default: 1
filters:
- name: re_replace
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$1"]
leechers:
selector: td:nth-child(4)
optional: true
default: 1
filters:
- name: re_replace
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$2"]
date:
selector: td:nth-child(2) i
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
category:
case:
"a[href^=\"details.php\"]:contains(\"Stagione\")": 5040 # TV/HD
"*": 2040 # default to Movies/HD
downloadvolumefactor:
case:
img[src="pic/freedownload.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
# engine tbd

View File

@@ -1,193 +0,0 @@
---
id: hellashut
name: HellasHut
description: "HellasHut is a GREEK Private Torrent Tracker for MOVIES / TV / GENERAL"
language: el-GR
type: private
encoding: UTF-8
testlinktorrent: false
links:
- https://hellashut.de/
caps:
categorymappings:
- {id: 28, cat: TV/Anime, desc: "Anime/Cartoon HD"}
- {id: 47, cat: TV/Anime, desc: "Anime/Cartoon HDTV"}
- {id: 48, cat: TV/Anime, desc: "Anime/Cartoon SD"}
- {id: 50, cat: TV/Anime, desc: "Anime/Cartoon SD Emb"}
- {id: 51, cat: TV/Anime, desc: "Anime/Cartoon TV"}
- {id: 77, cat: PC, desc: "Applications DOS"}
- {id: 20, cat: PC, desc: "Applications Linux"}
- {id: 19, cat: PC/Mac, desc: "Applications MAC"}
- {id: 68, cat: PC, desc: "Applications OS2 WARP"}
- {id: 21, cat: PC, desc: "Applications Other"}
- {id: 18, cat: PC/0day, desc: "Applications Windows"}
- {id: 52, cat: Books, desc: "Books/Magazines All"}
- {id: 9, cat: TV/Documentary, desc: "Documentaries All"}
- {id: 53, cat: TV/Documentary, desc: "Documentaries Greek"}
- {id: 54, cat: TV/Documentary, desc: "Documentaries HD"}
- {id: 55, cat: Movies/DVD, desc: "DVD-R All"}
- {id: 17, cat: Console/Other, desc: "Games Other"}
- {id: 11, cat: Console/PS4, desc: "Games PSX"}
- {id: 10, cat: PC/Games, desc: "Games Windows"}
- {id: 13, cat: Console/XBox, desc: "Games Xbox"}
- {id: 56, cat: Other, desc: "Miscellaneous All"}
- {id: 57, cat: PC/Mobile-Other, desc: "Mobile All"}
- {id: 1, cat: Movies/3D, desc: "Movies 3D"}
- {id: 2, cat: Movies/UHD, desc: "Movies 4K"}
- {id: 42, cat: Movies/BluRay, desc: "Movies BluRay"}
- {id: 58, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 4, cat: Movies/HD, desc: "Movies HD"}
- {id: 69, cat: Movies/HD, desc: "Movies HD Packs"}
- {id: 3, cat: Movies/SD, desc: "Movies SD"}
- {id: 67, cat: Movies/SD, desc: "Movies SD Packs"}
- {id: 71, cat: Audio, desc: "Music CDA"}
- {id: 59, cat: Audio, desc: "Music Discographies"}
- {id: 23, cat: Audio/Lossless, desc: "Music FLAC"}
- {id: 22, cat: Audio/MP3, desc: "Music MP3"}
- {id: 25, cat: Audio/Video, desc: "Music Video"}
- {id: 75, cat: Movies/HD, desc: "NO IN SUBS Movies HD"}
- {id: 76, cat: Movies/UHD, desc: "NO SUBS IN Movies 4K"}
- {id: 35, cat: TV/Sport, desc: "Sports HD"}
- {id: 34, cat: TV/Sport, desc: "Sports SD"}
- {id: 5, cat: TV, desc: "TV Greek Movies"}
- {id: 6, cat: TV, desc: "TV Greek Series"}
- {id: 7, cat: TV, desc: "TV Greek Series Packs"}
- {id: 60, cat: TV, desc: "TV Greek Shows"}
- {id: 41, cat: TV/HD, desc: "TV HD"}
- {id: 61, cat: TV, desc: "TV Series"}
- {id: 62, cat: TV, desc: "TV Series Emb"}
- {id: 63, cat: TV, desc: "TV Series Emb Packs"}
- {id: 64, cat: TV/HD, desc: "TV Series HD"}
- {id: 65, cat: TV/HD, desc: "TV Series HD Packs"}
- {id: 66, cat: TV, desc: "TV Series Packs"}
- {id: 73, cat: Movies/BluRay, desc: "UNTOUCHED BluRay"}
- {id: 72, cat: Movies/DVD, desc: "UNTOUCHED DVD"}
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: id
options:
id: 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: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: /
error:
- selector: td.embedded:contains("Access Denied")
test:
path: /
selector: a[href="account-logout.php"]
download:
selectors:
- selector: a[href^="download.php?id="], a[href^="magnet:?xt="]
attribute: href
search:
paths:
# https://hellashut.de/torrents-search.php?c52=1&search=&cat=0&incldead=1&advanced=1&lang=0&blah=0&freeleech=0&sort=id&order=desc
- path: torrents-search.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 incldead, 2 onlydead
incldead: 1
# 0 all, 1 notfree, 2 onlyfree
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 all, 1 English, 2 French, 3 German, 4 Italian, 5 Japanese, 6 Spanish, 7 Russian, 8 Greek
lang: 0
# 0 name, 1 descr, 2 uploader
blah: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
# 0 all
team: 0
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# does not return imdb link in results
rows:
selector: table.ttable_headinner tr.t-row
fields:
category:
selector: a[href*="cat="]
attribute: href
optional: true
default: 56
filters:
- name: querystring
args: cat
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["&hit=1", ""] # avoid redirect
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["&hit=1", ""] # avoid redirect
size:
selector: td:nth-last-child(7)
date:
selector: td:nth-last-child(6)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd-MM-yyyy HH:mm:ss"
grabs:
selector: td:nth-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
downloadvolumefactor:
case:
img[src="pic/freedownload.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 10 day (as seconds = 10 x 24 x 60 x 60)
text: 864000
# TorrentTrader v2-svn

View File

@@ -169,4 +169,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.34 2023-01-16
# NexusPHP v1.7.39 2023-05-15

View File

@@ -29,7 +29,7 @@ caps:
- {id: 127, cat: Movies, desc: "Fuer Unsere Kleinsten"}
- {id: 121, cat: PC/Mobile-Other, desc: "Handy-Stuff"}
- {id: 124, cat: Audio, desc: "Musik - Alben"}
- {id: 140, cat: Audio, desc: "Musik - Diskografie"}
- {id: 141, cat: Audio, desc: "Musik - Diskografie"}
- {id: 122, cat: Audio/Audiobook, desc: "Musik - Hoerbuch"}
- {id: 123, cat: Audio, desc: "Musik - Mixe"}
- {id: 133, cat: Audio/MP3, desc: "Musik - MP3"}

View File

@@ -21,9 +21,9 @@ caps:
- {id: 409, cat: Other, desc: "Misc/其他", default: true}
- {id: 408, cat: Audio, desc: "Music/音乐", default: true}
# special
- {id: 410, cat: Movies, desc: "Video/视频资料", default: true}
- {id: 411, cat: Audio, desc: "Audio/音频资料", default: true}
- {id: 412, cat: Other, desc: "Other/其他资料", default: true}
- {id: 410, cat: Movies, desc: "Video/视频资料", default: false}
- {id: 411, cat: Audio, desc: "Audio/音频资料", default: false}
- {id: 412, cat: Other, desc: "Other/其他资料", default: false}
modes:
search: [q]
@@ -96,7 +96,7 @@ login:
search:
paths:
- path: torrents.php
categories: [401, 402, 403, 404, 405, 406, 407, 408, 409]
categories: ["!", 410, 411, 412]
- path: special.php
categories: [410, 411, 412]
inputs:
@@ -189,4 +189,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.1 2023-04-21
# NexusPHP v1.8.2 2023-05-08

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

@@ -0,0 +1,177 @@
---
id: itatorrents
name: ItaTorrents
description: "ItaTorrents is an ITALIAN Private tracker for MOVIES / TV / GENERAL"
language: it-IT
type: private
encoding: UTF-8
links:
- https://itatorrents.xyz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Film"}
- {id: 2, cat: TV, desc: "Serie TV"}
- {id: 3, cat: Audio, desc: "Musica"}
- {id: 4, cat: Console, desc: "Giochi"}
- {id: 5, cat: PC, desc: "Applicazioni"}
- {id: 6, cat: Books/Mags, desc: "Edicola"}
- {id: 7, cat: Books/EBook, desc: "E-Book"}
- {id: 8, cat: Audio/Audiobook, desc: "AudioLibri"}
- {id: 12, cat: Other, desc: "Corsi"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
movie-search: [q, imdbid, tmdbid]
music-search: [q]
book-search: [q]
settings:
- name: apikey
type: text
label: APIKey
- name: info_key
type: info
label: About your API key
default: "Find or Generate a new API Token by accessing your <a href=\"https://itatorrents.xyz/\" target=\"_blank\">ItaTorrents</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: created_at
options:
created_at: created
seeders: seeders
size: size
name: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: /api/torrents
method: get
error:
- selector: a[href*="/login"]
message:
text: "The API key was not accepted by {{ .Config.sitelink }}."
search:
paths:
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
- name: re_replace # S01 to Stagione 1
args: ["(?i)\\bS0*(\\d+)\\b", "Stagione $1"]
rows:
selector: data
attribute: attributes
fields:
category:
selector: category_id
title:
selector: name
filters:
- name: re_replace
args: ["\\.", " "]
- name: re_replace # Stagione X --> S0X
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
- name: re_replace # Stagione XX --> SXX
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
details:
selector: details_link
download:
selector: download_link
infohash:
selector: info_hash
poster:
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(televisione film)", "televisione_film"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result.genre }}"
files:
selector: num_file
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
date:
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
selector: created_at
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
# api returns 0%, 25%, 50%, 75%, 100%
selector: freeleech
case:
0%: 1 # not free
25%: 0.75
50%: 0.5
75%: 0.25
100%: 0 # freeleech
"*": 0 # catch errors
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
case:
0: 1 # normal
1: 2 # double
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 6.5.0

View File

@@ -61,8 +61,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -70,15 +68,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -179,4 +179,4 @@ search:
description:
selector: td.rowfollow:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.7.26 2022-09-15
# NexusPHP v1.8.2 2023-05-08

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

@@ -9,8 +9,6 @@ links:
- https://krazyzone.net/
legacylinks:
- http://krazyzone.net/
certificates:
- 867fcd460bed7ded541674414267a54cc13f6d02 # selfsigned
caps:
categorymappings:
@@ -112,11 +110,6 @@ login:
path: index.php
selector: a[href="account-logout.php"]
download:
selectors:
- selector: td a[href^="download.php?id="]
attribute: href
search:
paths:
# https://krazyzone.net/torrents-search.php?incldead=1&freeleech=0&inclrosub=0&sort=id&order=desc
@@ -135,7 +128,7 @@ search:
order: "{{ .Config.type }}"
rows:
selector: table.ttable_headinner > tbody > tr
selector: table.ttable_headinner > tbody > tr:has(a[href^="download.php?id="])
filters:
- name: andmatch
@@ -143,6 +136,8 @@ search:
category:
selector: a[href^="torrents.php?cat="]
attribute: href
optional: true
default: 95
filters:
- name: querystring
args: cat
@@ -156,7 +151,7 @@ search:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="torrents-details.php?id="]
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: a[href^="torrents-details.php?id="]
@@ -185,23 +180,23 @@ search:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: td:nth-child(3)
selector: td:nth-child(4)
date:
# 24.Jul<br>2022<br>07:47
selector: td:nth-child(4)
selector: td:nth-child(5)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "d.MMMyyyyHH:mm"
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
downloadvolumefactor:
case:
img[src="images/free.png"]: 0
img[src="images/free.gif"]: 0
"*": 1
uploadvolumefactor:
text: 1

View File

@@ -0,0 +1,199 @@
---
id: kufei
name: Kufei
description: "Kufei (库非) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
links:
- https://kufei.org/
caps:
categorymappings:
- {id: 410, cat: Console, desc: "Games/游戏"}
- {id: 411, cat: Books, desc: "E-Books/电子书"}
- {id: 408, cat: Audio, desc: "Music/音乐"}
- {id: 412, cat: PC, desc: "Software/软件"}
- {id: 415, cat: TV, desc: "Drama/戏剧"}
- {id: 416, cat: Audio/Audiobook, desc: "Audio Books/有声读物"}
- {id: 409, cat: Other, desc: "Others/其他"}
- {id: 413, cat: Other, desc: "Education/教育"}
- {id: 414, cat: Audio/Video, desc: "Concert/演唱会"}
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐、视频"}
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
- {id: 405, cat: TV/Anime, desc: "Animations/动画、动漫"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
- {id: 401, cat: Movies, desc: "Movies/电影"}
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: 2facode
type: text
label: 2FA code
- name: info_2fa
type: info
label: "About 2FA code"
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Kufei Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
secret: ""
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: yes
error:
- selector: td.embedded:has(h2:contains("失败"))
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
# 0 incldead, 1 active, 2 dead
incldead: 0
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
# 0 title, 1 descr, 3 uploader, 4 imdburl
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
# 0 AND, 2 exact
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title:
selector: a[title][href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
poster:
selector: img[data-src]
attribute: data-src
imdbid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="imdb.com/title/tt"]
attribute: href
doubanid:
# site currently only has a badge and rating, the id is not present. just in case a future update.
selector: a[href*="movie.douban.com/subject/"]
attribute: href
date_elapsed:
# time type: time elapsed (default)
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
img.pro_free2up: 0
img.pro_50pctdown: 0.5
img.pro_50pctdown2up: 0.5
img.pro_30pctdown: 0.3
"*": 1
uploadvolumefactor:
case:
img.pro_50pctdown2up: 2
img.pro_free2up: 2
img.pro_2up: 2
"*": 1
minimumratio:
text: 1.0
description:
selector: td:nth-child(2)
remove: a, b, font, img, span
# NexusPHP v1.8.4 2023-06-13

View File

@@ -121,7 +121,7 @@ search:
# https://www.last-torrents.org/externalid?searchex=tt5834760&search_by=imdbid
# cannot support imdbid or tmdbid searches while using path category filters
- path: browse.php
categories: [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 42, 43, 44, 49, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 81, 82]
categories: ["!", 27, 60]
- path: browseadult.php
categories: [27, 60]

View File

@@ -65,8 +65,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -74,15 +72,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -6,8 +6,9 @@ language: fr-FR
type: private
encoding: UTF-8
links:
- https://lesaloonv2-0.net/
- https://lesaloonv2-0.xyz/
legacylinks:
- https://lesaloonv2-0.net/
- http://lesaloonv2-0.net/ # site forces https
caps:
@@ -121,7 +122,7 @@ settings:
default: false
login:
# https://lesaloonv2-0.net/yupy_login.php
# https://lesaloonv2-0.xyz/yupy_login.php
path: yupy_login.php
method: form
form: form[action^="login"]
@@ -137,7 +138,7 @@ login:
search:
paths:
# http://lesaloonv2-0.net/index.php?page=torrents&search=supernatural+s13e20&parentcategory=0&category=0&genre=0&options=0&active=0
# http://lesaloonv2-0.xyz/index.php?page=torrents&search=supernatural+s13e20&parentcategory=0&category=0&genre=0&options=0&active=0
- path: index.php
inputs:
page: torrents

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

@@ -9,7 +9,7 @@ followredirect: true
# changes to this indexer should also be made to limetorrentsclone
links:
- https://www.limetorrents.lol/
- https://limetorrents.unblockit.click/
- https://limetorrents.unblockit.mov/
- https://limetorrents.unblockninja.com/
- https://limetorrents.mrunblock.life/
- https://limetorrents.nocensor.click/
@@ -37,6 +37,8 @@ legacylinks:
- https://limetorrents.unblockit.bio/
- https://limetorrents.unblockit.boo/
- https://limetorrents.mrunblock.guru/
- https://limetorrents.unblockit.click/
- https://limetorrents.unblockit.asia/
caps:
categorymappings:
@@ -126,7 +128,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
@@ -54,8 +55,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -63,15 +62,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -59,8 +59,6 @@ settings:
login:
path: /api/torrents
method: get
inputs:
api_token: "{{ .Config.apikey }}"
error:
- selector: a[href*="/login"]
message:
@@ -68,15 +66,17 @@ login:
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
- path: "/api/torrents/filter"
response:
type: json
headers:
Authorization: ["Bearer {{ .Config.apikey }}"]
inputs:
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
name: "{{ .Keywords }}"
seasonNumber: "{{ .Query.Season }}"
@@ -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

@@ -82,11 +82,11 @@ login:
search:
paths:
- path: letoltes.php
categories: [4, 5, 48, 50, 75, 76, 26, 25, 58, 59, 42, 51, 38, 24, 85, 87, 47, 36, 6, 7, 56, 33, 44, 28, 32, 30, 53, 74, 40, 41, 34, 35, 46]
categories: ["!", 70, 39, 57]
inputs:
tipus: 1
- path: letoltes.php
categories: [4, 5, 48, 50, 75, 76, 26, 25, 58, 59, 42, 51, 38, 24, 85, 87, 47, 36, 6, 7, 56, 33, 44, 28, 32, 30, 53, 74, 40, 41, 34, 35, 46]
categories: ["!", 70, 39, 57]
inputs:
tipus: 2
- path: xxx.php

View File

@@ -146,6 +146,7 @@ caps:
- {id: 293, cat: Books, desc: "Shipmodeling-Radio controlled models"}
- {id: 292, cat: Books, desc: "Shipmodeling-Marine Modelling Magazines"}
- {id: 291, cat: Books, desc: "Shipmodeling-Drawings and models of ships (CAD, 3D)"}
- {id: 346, cat: Books, desc: "Shipmodeling-Raster drawings (JPG, PDF, TIFF)"}
- {id: 290, cat: Books, desc: "Shipmodeling-Reference Material"}
- {id: 289, cat: Books, desc: "Shipmodeling-Ships in Bottles"}
- {id: 197, cat: Books, desc: "Marine bulletins"}

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,171 @@
---
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: 52, cat: Audio, desc: "DJ"}
- {id: 53, cat: Audio, desc: "DJ PACKS"}
- {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

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