Compare commits

...

308 Commits

Author SHA1 Message Date
Garfield69
c830af6ee2 thegeeks: new cat 2023-03-22 14:33:58 +13:00
Garfield69
805b7a5302 dontorrents new domain 2023-03-22 14:07:49 +13:00
ilike2burnthing
f69879a2ee assorted yml: use default: statement for optional fields (#14179) 2023-03-22 10:21:33 +13:00
Garfield69
0c5dfd4d62 dark-shadow: removed. #7892 2023-03-22 09:45:58 +13:00
Garfield69
1aff9befb4 assorted unit3d: drop empty inputs
since the cardigann default is that empty inputs will not be added to the query there is little point having them hardcoded as empty
2023-03-22 08:53:08 +13:00
Garfield69
dbf1d43744 assorted yml: use default: statement for optional fields 2023-03-21 18:22:37 +13:00
garfield69
36abce2ef9 Update ParseUtil.cs to avoid null references (#14178) 2023-03-21 14:57:01 +13:00
Garfield69
8a5c55ab6e arabp2p: new cat 2023-03-21 14:25:47 +13:00
Garfield69
fcad92d7f4 assorted unit3d: clean up $raw 2023-03-21 11:43:24 +13:00
Bogdan
a7fec0ba4a common: bump FlareSolverrSharp to 3.0.5 (#14177) 2023-03-21 00:38:27 +02:00
Garfield69
42636b02a7 assorted yml: clean up $raw 2023-03-21 11:12:01 +13:00
Garfield69
7d27cde205 assorted unit3d: clean up $raw now that empty search fields are dropped 2023-03-21 10:52:18 +13:00
Garfield69
76e5157393 assorted yml: use default: statement for optional fields
Size, Seeders, Leechers. Grabs
2023-03-21 10:18:07 +13:00
Garfield69
0f9f173cc5 torrent9: revert bffb505748
we want the phase1 filters to apply to either the default or the optional
so there is little point using the default: statement for this one.
2023-03-21 09:14:12 +13:00
Garfield69
bffb505748 assorted yml: optional title tidy up 2023-03-21 08:18:43 +13:00
Machou
e689e94fc2 update ygg domains (#14176) 2023-03-21 07:26:54 +13:00
Garfield69
980a91cf99 assorted nexusphp: optional title tidy up 2023-03-21 06:58:33 +13:00
Bogdan
8f24aceafb cardigann: add search.allowEmptyInputs (#14088)
* cardigann: add `search.allowEmptyInputs`

* Update electro-torrent.yml

* Update gamestorrents.yml

* teamhd: take adv of default ignoreEmptyInputs

---------

Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
Co-authored-by: garfield69 <garfieldsixtynine@gmail.com>
2023-03-20 18:18:28 +02:00
Bogdan
e59a904936 cardigann: add fields default value (#14069)
* cardigann: add fields default value

* cardigann: re-add inner exception
2023-03-20 18:05:25 +02:00
Garfield69
ea118ef614 ptmsg: removed. resolves #8452 2023-03-20 16:27:00 +13:00
ilike2burnthing
cb625b9823 helltorrents: add semi-private polish tracker. resolves #14164 (#14173) 2023-03-19 22:46:17 +00:00
Bogdan
a63708bfff sharewoodapi: refactor (#14169) 2023-03-19 21:12:35 +02:00
Bogdan
3c42aa15d2 hdspace: simplify error messages (#14172) 2023-03-19 20:39:36 +02:00
Garfield69
a68d1969c0 add ex-torrenty a semi-private Polish site. resolves #13033 2023-03-19 11:14:29 +13:00
Garfield69
6c2ccb5b1d torrentsir: bump domain 2023-03-18 15:39:38 +13:00
missingfile
2059c67370 BrokenStones: new domain (#14170) 2023-03-18 12:59:32 +13:00
Bogdan
fd58412143 xthor-api: add legacy link without slash (#14168) 2023-03-17 19:37:22 +02:00
Bogdan
d4a3f4a84c elitetorrent-pl: fix typo (#14167) 2023-03-17 18:43:07 +02:00
Bogdan
69df16e395 uhdbits: expired certificate (#14166) 2023-03-17 18:41:41 +02:00
Garfield69
ebca542ba7 torrentqq: bump domain 2023-03-17 14:34:37 +13:00
ilike2burnthing
035b31827f lightning-tor: lint fix 2023-03-16 18:09:52 +00:00
Garfield69
9395e8464b add Lightning-Tor a semi-private Dutch site. resolves #14160 2023-03-17 07:02:25 +13:00
Bogdan
20aa0dde29 animetorrents: add freeleech/downloadable only settings & pagination (#14158)
* animetorrents: add freeleech/downloadable only settings & pagination

* fix old typo

---------

Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2023-03-16 18:57:20 +02:00
Bogdan
aff88be54f hdspace: improve error message on login (#14157) 2023-03-16 14:12:19 +02:00
Garfield69
a9b73e9f8c torrent9clone: new domain 2023-03-16 14:16:09 +13:00
Garfield69
479d289597 btsow: new domain 2023-03-16 14:15:57 +13:00
Garfield69
6fa5694691 vtorrent: first page is 1 2023-03-16 06:33:43 +13:00
Bogdan
6bca8d85ec elitetorrent-pl: first page is 1 (#14156) 2023-03-16 06:32:07 +13:00
Garfield69
e80a43e861 btdigg: drop onion.ly and tor2web.to proxies 2023-03-15 21:02:42 +13:00
Garfield69
c0cbe78301 dontorrent: new domain 2023-03-15 15:22:08 +13:00
Garfield69
bb390e59f8 torrent911: new domain 2023-03-15 15:21:56 +13:00
Garfield69
4b483a04ca elitetorrent-pl: switch to semi-private. #14155 2023-03-15 13:31:10 +13:00
Garfield69
30d55e839c add eliteTorrent-pl a private Polish site. resolves #14155 2023-03-15 09:21:40 +13:00
ilike2burnthing
45484006d2 bwtorrents: update sitelinks
https://github.com/Prowlarr/Prowlarr/issues/1534
2023-03-14 19:18:09 +00:00
ilike2burnthing
975a3eaa5c Update README.md 2023-03-14 11:55:31 +00:00
Bogdan
5f023b2335 server: add elapsed time to logs (#14153) 2023-03-13 22:27:09 +02:00
Bogdan
023f863c01 piratethenet: change sitelink to HTTPS (#14154) 2023-03-13 21:29:06 +02:00
Garfield69
3047673bf0 punkshorror: new cat 2023-03-13 15:43:54 +13:00
Bogdan
64ba5e2405 hellashut: update inputs (#14151) 2023-03-13 01:28:28 +02:00
Garfield69
3fcdccf8f8 pornforall: removed. resolves #8557 2023-03-13 05:57:02 +13:00
Garfield69
294e500087 woot: gone. removed. resolves #9828 2023-03-13 05:54:06 +13:00
ilike2burnthing
127471233f kamept: lint fix 2023-03-12 15:30:31 +00:00
ilike2burnthing
b0794de532 kamept: add Chinese 3X tracker. resolves #14145 (#14150) 2023-03-12 15:22:06 +00:00
Garfield69
e48557dd25 mejortorrent: new domain. resolves #14149 2023-03-11 06:08:54 +13:00
Bogdan
6580265d8a indexers: fix site link in setup modal (#14148) 2023-03-10 13:55:24 +02:00
Bogdan
2d3a72b433 indexers: move setting capabilities to methods (#14147) 2023-03-10 13:20:29 +02:00
Garfield69
dd89ef8e73 torrentsir: bump domain 2023-03-10 14:45:22 +13:00
Garfield69
5b880033fb torrentqq: bump domain 2023-03-10 14:45:02 +13:00
Bogdan
c7e9d4e72b indexers: set indexer details as properties (#14131) 2023-03-09 16:06:12 +02:00
Bogdan
7e8111f6cd assorted: move public props at top (#14146) 2023-03-09 14:07:28 +02:00
Bogdan
0a908c988c meta-indexer: disable pagination if offset > 0 (#14144) 2023-03-08 21:36:50 +02:00
Bogdan
b8d4d9a03c assorted: enable ssl/trackerssl for nexusphp-based definitions (#14141) 2023-03-09 07:20:05 +13:00
ilike2burnthing
8cb82021ef dontorrent: change domain *.cloud 2023-03-08 11:33:32 +00:00
Garfield69
a3e0f49cd0 Update README.md 2023-03-08 20:48:23 +13:00
Garfield69
2f93492b98 assorted: new unblockit domain 2023-03-08 20:48:19 +13:00
Bogdan
50f8fc3371 exttorrents: fix second page url generation (#14139) 2023-03-08 11:34:54 +13:00
Rhilip
1b46239ea3 assorted nexusphp: add notnewword param (#14137) 2023-03-08 11:22:49 +13:00
Richard Guan
71eedc7aa8 gazelletracker: add freeleech only setting (#14133)
added add freeleech only setting to gazelletracker-based indexers DIC/AR/GPW
2023-03-07 20:35:28 +02:00
Bogdan
05e8e1e94f core: don't enforce expression body on constructors (#14138) 2023-03-07 20:21:46 +02:00
ilike2burnthing
c1f019bb37 bat&ext: use high requestdelay (#14136) 2023-03-07 03:57:04 +00:00
ilike2burnthing
8f735b474e badasstorrents: reduce to 2 queries 2023-03-07 03:41:07 +00:00
ilike2burnthing
0a4b80a939 exttorrents: fix paths, reduce to 2 queries, and remove UA 2023-03-07 03:03:01 +00:00
Bogdan
7a183ebb83 avistaz/privatehd: add support for searching by ImdbId/TmdbId/TvdbId (#14135) 2023-03-07 03:48:56 +02:00
Bogdan
ec55d71c6c avistaz: set caps limits for pagination to work and set requestDelay to 3s (#14134) 2023-03-07 02:00:54 +02:00
Bogdan
851f02fe48 filelist: add support for search by season+episode (#14130) 2023-03-06 15:07:55 +02:00
Bogdan
6eac3953a3 filelist: enable tvsearch by imdbid (#14129) 2023-03-06 14:51:38 +02:00
ilike2burnthing
0c10704eae Update CONTRIBUTING.md 2023-03-05 21:28:12 +00:00
Bogdan
bbeca179d9 indexers: show real publish date when build has debug set (#14128) 2023-03-05 22:48:08 +02:00
Bogdan
cfa154be16 capabilities: set 100 as default for LimitsDefault and LimitsMax (#14127) 2023-03-05 22:45:40 +02:00
kaso17
dc948d6e75 fix building in Visual Studio 2022 (#14126) 2023-03-06 07:28:41 +13:00
Bogdan
954e1cd37a gazelletracker: ignore artist name searching if VA (#14125) 2023-03-05 14:41:56 +02:00
Bogdan
8729652e86 indexers: add SupportsPagination to prevent fetching the first page multiple times (#14122) 2023-03-05 14:30:40 +02:00
Bogdan
dcaa587853 common: add more string extensions (#14123) 2023-03-05 00:54:29 +02:00
Bogdan
6293a12358 scenetime: cs fixes and enable search for tv by imdbid (#14121) 2023-03-04 21:38:43 +02:00
Garfield69
1d417bf3ad scenetime: add imdb search
and add imdb result if query is imdb search
site rows do not include imdbid so we use the query imdb ;-)
2023-03-05 08:04:01 +13:00
Bogdan
faba3f1b63 assorted: fix closing HTML tags in display info (#14117)
* assorted: fix closing HTML tags in display info
* assorted: wrap lists with `ul`
* assorted: fix closing HTML tags in display info
2023-03-04 12:27:24 +02:00
Garfield69
6878822043 torrentwhiz: bump domain 2023-03-04 12:13:07 +13:00
Garfield69
951a9628b1 torrentview: bump domain 2023-03-04 12:12:48 +13:00
Bogdan
381212f783 linkomanija: add freeleech only setting (#14119) 2023-03-03 23:09:46 +02:00
Bogdan
a51fab1fc9 linkomanija: prepend + to each word (#14118) 2023-03-03 22:55:55 +02:00
ilike2burnthing
80691060ea nyaasi: add prefer magnet link setting
Co-authored-by: mynameisbogdan <mynameisbogdan@users.noreply.github.com>
2023-03-03 19:32:26 +00:00
Garfield69
6e20120c72 brokenstones: new domain. resolves #14116 2023-03-03 16:30:06 +13:00
Garfield69
eecb6f00da rintornet: update cats 2023-03-03 15:53:52 +13:00
Garfield69
9df4e7bbd1 torrentqq: bump domain 2023-03-03 15:53:33 +13:00
ilike2burnthing
6fc1e19184 pornleech: removed, down for 30 days. resolves #7227 (#14115) 2023-03-03 01:44:48 +00:00
ilike2burnthing
e867d5c1aa yggtorrent: update 3x cats (#14112) 2023-03-02 00:41:36 +00:00
Bogdan
5c56661654 bitspyder: update encoding to iso-8859-1 and add login test selector (#14111) 2023-03-01 23:51:03 +02:00
Bogdan
51471adc0b arabtorrents: fix query regex (#14110) 2023-03-01 22:21:11 +02:00
Garfield69
40e7a658e7 arabtorrents: adjust descr 2023-03-02 07:58:22 +13:00
Bogdan
c232eaf7c7 arabtorrents: add new private tracker (#14108) 2023-03-01 20:47:59 +02:00
Garfield69
aa64c75908 dontorrent: new domain 2023-03-01 15:50:11 +13:00
Garfield69
192254d402 world-of-tomorrow: new domain #9213 2023-03-01 12:02:36 +13:00
Bogdan
27c001c08d cardigann: rename missingAttributeEquals0Results to missingAttributeEqualsNoResults (#14105) 2023-02-28 21:42:48 +02:00
Bogdan
e4e625c922 chdbits: add captcha (#14104) 2023-02-28 18:26:53 +02:00
ilike2burnthing
0a2de978b9 soulvoice: lint fix 2023-02-27 23:40:36 +00:00
ilike2burnthing
c2b9a42f31 soulvoice: update layout. resolves #8451 2023-02-27 23:37:38 +00:00
Garfield69
9f913d14d7 les-cinephiles: found a way to use cat id 2023-02-28 09:30:57 +13:00
Garfield69
579fd81e87 sharkpt: use cookie method
site has closed the login form, uses a direct passkey instead.
switched to use the cookie method
2023-02-28 07:13:13 +13:00
Garfield69
8ca2c23641 les-cinephiles: thanks before DL. resolves #14101 2023-02-28 06:51:45 +13:00
Bogdan
02fa828f44 losslessclub: fix description (#14102) 2023-02-27 18:08:44 +02:00
ilike2burnthing
69e4061d0b datascene-api: update to 6.5.0 2023-02-27 15:22:32 +00:00
Garfield69
aa6e8e4bf1 teamhd: prevent redirect
site now removes default parms by performing a redirect.
to avoid this we need to only code those parms that have values.
2023-02-27 17:41:38 +13:00
ilike2burnthing
a3f0bd5b87 cinemaz: remove audio cat 2023-02-27 00:41:58 +00:00
Bogdan
045f39313c cardigann: Use GetValueOrDefault to prevent possible InvalidOperation (#14100) 2023-02-26 23:07:45 +02:00
Bogdan
1d62b859e0 nebulance: add tvmaze support (#14098) related to #6413 2023-02-27 07:42:03 +13:00
Bogdan
fdb2e68efd audiobookbay: increase requestDelay (#14099) 2023-02-26 14:14:58 +02:00
Garfield69
f7b6813e21 nebulance: add supportsRawSearch. #6413 2023-02-26 22:14:19 +13:00
Qstick
c0dbf39cf6 1337x: Add cat/Other to default paths for ebooks (#14097) 2023-02-26 17:35:34 +13:00
ilike2burnthing
e293aa9e4b cloudtorrents: removed, UA blocked again. #14065 (#14096) 2023-02-26 01:22:28 +00:00
Bogdan
2a9702cad6 cardigann: move check for Rfc1123ZPattern (#14095) 2023-02-25 23:33:07 +02:00
Bogdan
a99093386a cardigann: improve GetLongFromString and parse fields (#14094) 2023-02-25 23:11:53 +02:00
Bogdan
f7e6884720 cardigann: invariant date string parsing (#14074) 2023-02-25 23:00:15 +02:00
Bogdan
37ff7ed991 editorconfig: change indent_size to 4 for js,ts,json,html,cshtml (#14090) 2023-02-25 21:49:30 +02:00
Bogdan
39129cf0f8 cache: ignore the Cache property on TorznabQuery (#14092) 2023-02-25 18:23:06 +02:00
Bogdan
378d5eeaa4 torrent9: fix titles with broken HTML highlight (#14091)
Related to #11199
2023-02-25 14:52:43 +02:00
Bogdan
b2e8c08311 hdtorrentsit: fix info link (#14089) 2023-02-25 14:16:11 +02:00
Garfield69
90fb5137b7 partis: add cat 2023-02-25 16:08:50 +13:00
Garfield69
49ee065a5a torrentsir: bump domain 2023-02-25 15:21:19 +13:00
Garfield69
1da4332901 torrentqq: fix prior update 2023-02-25 12:46:09 +13:00
Bogdan
7e52ea52e1 assorted: move getbytes to parseutil and add tests (#14076) 2023-02-25 01:22:13 +02:00
Bogdan
37455119e1 cardigann: add dateparse schema validation. related to #14072 (#14087) 2023-02-25 00:17:22 +02:00
Bogdan
1ec507b6e0 assorted yml: dateparse update. related to #14072 (#14086) 2023-02-24 23:33:43 +02:00
Bogdan
8de1592d1f assorted yml: dateparse update. related to #14072 (#14084) 2023-02-24 22:21:10 +02:00
Bogdan
8b3d9f4b5c assorted yml: dateparse update. related to #14072 (#14083) 2023-02-24 22:18:38 +02:00
Bogdan
90438e04cb assorted yml: dateparse update. related to #14072 (#14082) 2023-02-24 22:16:23 +02:00
Bogdan
adac51b136 assorted yml: dateparse update. related to #14072 (#14081) 2023-02-24 22:14:04 +02:00
Bogdan
011a2ec61a assorted yml: dateparse update. related to #14072 (#14080) 2023-02-24 22:11:06 +02:00
Bogdan
de1dc433cb assorted yml: dateparse update. related to #14072 (#14079) 2023-02-24 22:08:29 +02:00
Bogdan
0465dd3f82 assorted yml: dateparse update. related to #14072 (#14078) 2023-02-24 22:06:05 +02:00
Bogdan
0f17c4b499 assorted yml: dateparse update. related to #14072 (#14077) 2023-02-24 21:59:31 +02:00
Bogdan
8c9cb785a5 parseutil: add tests (#14075) 2023-02-24 20:55:13 +02:00
Garfield69
fd65431f74 assorted yml: dateparse update. related to #14072 2023-02-24 21:16:43 +13:00
Garfield69
df83d786a7 assorted yml: dateparse update. related to #14072 2023-02-24 21:16:05 +13:00
Garfield69
5b26eec5a4 assorted yml: dateparse update. related to #14072 2023-02-24 21:14:58 +13:00
Garfield69
1d5ae12886 assorted yml: dateparse update. related to #14072 2023-02-24 21:14:02 +13:00
Garfield69
c122921fc8 assorted yml: dateparse update. related to #14072 2023-02-24 21:13:15 +13:00
Garfield69
38dc2f123b assorted yml: dateparse update. related to #14072 2023-02-24 21:12:09 +13:00
Garfield69
96ab46566c assorted yml: dateparse update. related to #14072 2023-02-24 21:10:48 +13:00
Garfield69
a16873dfdc assorted yml: dateparse update. related to #14072 2023-02-24 21:09:47 +13:00
Garfield69
01347b9792 assorted yml: dateparse update. related to #14072 2023-02-24 21:08:25 +13:00
Garfield69
ede19a9b73 assorted yml: dateparse update. related to #14072 2023-02-24 21:07:29 +13:00
Garfield69
91c7c52f19 assorted yml: dateparse update. related to #14072 2023-02-24 21:06:35 +13:00
Garfield69
e07024b371 assorted yml: dateparse update. related to #14072 2023-02-24 21:05:24 +13:00
Garfield69
f126663e2e assorted yml: dateparse update. related to #14072 2023-02-24 21:03:05 +13:00
Garfield69
653888f6d9 assorted yml: dateparse update. related to #14072 2023-02-24 21:01:25 +13:00
Garfield69
f7c12f9522 assorted yml: dateparse update. related to #14072 2023-02-24 21:00:38 +13:00
Garfield69
fdaedb46bf assorted yml: dateparse update. related to #14072 2023-02-24 20:59:43 +13:00
Garfield69
4f052f9f1f assorted yml: dateparse update. related to #14072 2023-02-24 20:58:10 +13:00
Garfield69
3ac0528766 assorted yml: dateparse update. related to #14072 2023-02-24 20:54:26 +13:00
Garfield69
692f8d07a8 assorted yml: dateparse update. related to #14072 2023-02-24 20:53:44 +13:00
Garfield69
ab0835c0e8 assorted yml: dateparse update. related to #14072 2023-02-24 20:52:46 +13:00
Garfield69
52adc219db assorted yml: dateparse update. related to #14072 2023-02-24 20:52:10 +13:00
Garfield69
a16cb0d40f assorted yml: dateparse update. related to #14072 2023-02-24 20:51:35 +13:00
Garfield69
419723ec38 assorted yml: dateparse update. related to #14072 2023-02-24 20:50:41 +13:00
Garfield69
8a078aede6 assorted yml: dateparse update. related to #14072 2023-02-24 20:49:50 +13:00
Garfield69
1829090c99 assorted yml: dateparse update. related to #14072 2023-02-24 20:48:14 +13:00
Garfield69
5ce4e5ee6f assorted yml: dateparse update. related to #14072 2023-02-24 20:47:23 +13:00
Garfield69
b4f682660c assorted yml: dateparse update. related to #14072 2023-02-24 20:46:25 +13:00
Garfield69
b7025d48e5 assorted yml: dateparse update. related to #14072 2023-02-24 20:45:02 +13:00
Garfield69
d0b5d36208 assorted yml: dateparse update. related to #14072 2023-02-24 20:43:13 +13:00
Garfield69
bfcee86892 assorted yml: dateparse update. related to #14072 2023-02-24 20:41:28 +13:00
Garfield69
4014d98ebd assorted yml: dateparse update. related to #14072 2023-02-24 20:40:10 +13:00
Garfield69
c2d530f1ea assorted yml: dateparse update. related to #14072 2023-02-24 20:39:18 +13:00
Garfield69
ae56ab5c05 assorted yml: dateparse update. related to #14072 2023-02-24 20:37:36 +13:00
Garfield69
4dac28fdde assorted yml: dateparse update. related to #14072 2023-02-24 20:35:52 +13:00
Garfield69
8d3a2b229f assorted yml: dateparse update. related to #14072 2023-02-24 20:34:06 +13:00
Garfield69
c92dcb1cac assorted yml: dateparse update. related to #14072 2023-02-24 20:30:24 +13:00
Garfield69
a846613c7b assorted yml: dateparse update. related to #14072 2023-02-24 20:28:10 +13:00
Garfield69
17d85d4df1 assorted yml: dateparse update. related to #14072 2023-02-24 20:26:36 +13:00
Garfield69
e96f8a8422 assorted yml: dateparse update. related to #14072 2023-02-24 20:25:18 +13:00
Garfield69
f7c7e0693e assorted yml: dateparse update. related to #14072 2023-02-24 20:25:12 +13:00
Garfield69
45440d575d assorted yml: dateparse update. related to #14072 2023-02-24 20:22:24 +13:00
Garfield69
2b22c249a5 assorted yml: dateparse update. related to #14072 2023-02-24 20:20:23 +13:00
Garfield69
a4b9b023dc assorted yml: dateparse update. related to #14072 2023-02-24 20:18:33 +13:00
Garfield69
007873a16a assorted yml: dateparse update. related to #14072 2023-02-24 20:16:41 +13:00
Garfield69
07ce6c3318 assorted yml: dateparse update. related to #14072 2023-02-24 20:12:04 +13:00
Garfield69
760066e93c assorted yml: dateparse update. related to #14072 2023-02-24 20:02:57 +13:00
Garfield69
2c3dcf399e pignetwork: time elapsed not supported.
they have changed layout and time elapsed is in Chinese without the  hidden datestamp.
2023-02-24 16:33:15 +13:00
Garfield69
15d0ba5725 torrentqq: bump domain 2023-02-24 15:43:44 +13:00
Bogdan
4f9b2210e1 cardigann: switch to standard datetime format (#14072) 2023-02-24 00:28:03 +02:00
ilike2burnthing
37fb4b32f0 cloudtorrents: remove UA and requestdelay. #14065 2023-02-23 22:07:37 +00:00
ilike2burnthing
d49d9fa691 cloudtorrents: change UA, add high requestdelay. #14065 2023-02-23 12:47:16 +00:00
Bogdan
d3df21459e cardigann: minor changes (#14071) 2023-02-23 12:00:11 +02:00
Garfield69
cd800b58de dontorrent: new domain 2023-02-23 15:22:01 +13:00
Bogdan
b751db6936 cardigann: minor improvements (#14070) 2023-02-22 22:44:16 +02:00
ilike2burnthing
ff305cdef7 cloudtorrents & polishsource: change user-agent. resolves #14065 (#14068) 2023-02-22 13:50:14 +00:00
Bogdan
b7646ec2b3 cardigann: show request url with params in logs (#14067) 2023-02-22 15:33:01 +02:00
Bogdan
b484be361a kinozal: fix login test (#14066) 2023-02-22 13:22:32 +00:00
Garfield69
ae90c982f3 torrentoyunindir: new domain 2023-02-22 15:20:42 +13:00
ilike2burnthing
d87f613171 legittorrents: removed, down for 30 days. resolves #6426 (#14064) 2023-02-22 00:35:37 +00:00
Bogdan
ad2377a53b gazelle config data: fix typo (#14063) 2023-02-22 01:44:31 +02:00
Garfield69
8ae91c23c1 Revert "hd4fans: common practice"
This reverts commit 0f02c1b87c.
2023-02-22 08:55:11 +13:00
Garfield69
0f02c1b87c hd4fans: common practice 2023-02-22 08:16:59 +13:00
Bogdan
5edb39dafb core: bump deps (#14045) 2023-02-22 07:59:08 +13:00
Garfield69
d2353c4611 turktorrent: MST 3d 2023-02-21 17:08:22 +13:00
Garfield69
61a8bf73d8 huntorrent: new domain 2023-02-21 16:45:13 +13:00
Garfield69
37d144b71c torrentby: new DL link 2023-02-21 16:42:12 +13:00
Garfield69
a0c28b201e dontorrent: new domain 2023-02-21 16:36:14 +13:00
Garfield69
94a2960003 torrent911: new domain 2023-02-21 16:35:59 +13:00
ilike2burnthing
e796754e2c partis: remove unnecessary slash 2023-02-21 00:50:10 +00:00
ilike2burnthing
e71f01cd42 partis: migrate to yml (#14062) 2023-02-21 00:39:03 +00:00
Bogdan
9fdd5d322f hellashut: remove prepending + to word (#14061) 2023-02-20 23:50:52 +00:00
Bogdan
9d023d05e2 torznabquery: allow accents in match query (#14053) 2023-02-20 23:34:04 +00:00
Bogdan
d4ca65c641 cardigann: custom headers in login and download (#14048) 2023-02-20 20:48:36 +00:00
Bogdan
2543ebdcac rarbg: set request delay based on query mode (#14057) 2023-02-20 20:48:15 +00:00
ilike2burnthing
ad626d688a assorted french: tidy year fix (#14059) 2023-02-20 19:44:13 +00:00
alikhanz
0150e10671 lossless: change encoding to UTF-8 (#14054)
Co-authored-by: Закиров Алихан <zakirov@tutu.ru>
2023-02-20 18:59:08 +00:00
ilike2burnthing
6f49388b5c yggtorrent: update cats (#14058) 2023-02-20 18:55:30 +00:00
alikhanz
e4c327bd1f noname-club: replace RUSSIAN postfix for non-russian cat. resolves #14038 (#14049)
Co-authored-by: Закиров Алихан <zakirov@tutu.ru>
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2023-02-20 18:30:58 +00:00
Bogdan
c3e3a33164 hellashut: fix date parsing (#14056) 2023-02-20 19:47:37 +02:00
ilike2burnthing
b34c881a8c hhanclub: switch to cookie method
because of course they change it a few hours later...
2023-02-20 09:48:37 +00:00
ilike2burnthing
35cfd7145f noname-club: update cats (#14050) 2023-02-19 21:26:34 +00:00
ilike2burnthing
2b34be06a7 acgsou: try high requestdelay to prevent UA block 2023-02-19 20:09:27 +00:00
ilike2burnthing
5512d86f29 acgsou: remove user-agent header
They're now blocking the altered UA but not the real one. If they block it again, will just remove the indexer.
2023-02-19 19:41:34 +00:00
Bogdan
c32fb862ee yts: update title naming (#14047) 2023-02-19 17:15:42 +00:00
Bogdan
fcbe60afb8 torrentleech: add 2fa support. resolves #13772 (#14046) 2023-02-19 17:07:45 +00:00
ilike2burnthing
aede7449f7 hhanclub: update login test selector, logout removed 2023-02-19 16:45:24 +00:00
Bogdan
bb298424f0 anidex: update capabilities to match categories (#14044) 2023-02-19 13:52:42 +02:00
Bogdan
2321c14584 rarbg: implement retry strategy with 429 response (#14000) 2023-02-19 13:26:49 +02:00
Garfield69
3adf750973 megapeer: add referer for search. resolves #14043 2023-02-19 18:30:24 +13:00
Garfield69
34ab812355 acervos: update cats 2023-02-19 07:34:49 +13:00
ilike2burnthing
376c8ba13b acervos-api: unit3d 6.4.1 custom 2023-02-18 12:06:22 +00:00
frias0
6fb12e1732 beyond-hd (api): add freeleech filters (#14034) 2023-02-18 15:58:34 +13:00
Garfield69
3ceb131ce8 torrentsir: bump domain 2023-02-18 15:32:43 +13:00
ilike2burnthing
8b511127ff dicmusic: restore indexer. resolves #14039 (#14040) 2023-02-18 00:08:55 +00:00
Bogdan
d0820cc9ad torrentleech: add exclude scene (#14037) 2023-02-17 19:55:50 +00:00
alikhanz
efc0a1ca69 [rutor] add striprussian option (#14033)
Co-authored-by: Закиров Алихан <zakirov@tutu.ru>
2023-02-17 12:44:24 +00:00
Garfield69
b0e9392ddb anilibria: add movie search 2023-02-17 17:58:52 +13:00
Garfield69
e14a89643e bitbazis: new layout 2023-02-17 16:08:40 +13:00
Garfield69
b0b719b163 crnaberza: add new cat 2023-02-17 15:44:01 +13:00
Garfield69
56b7449dbe torrentqq: bump domain 2023-02-17 15:29:11 +13:00
Garfield69
7d565cd0e9 torrent9clone: new domain
also, mrunblock directs to 1337x
add nocensor back for now
2023-02-17 15:28:58 +13:00
Garfield69
313df3e1b6 btsow: new domain 2023-02-17 15:27:34 +13:00
Bogdan
0ca18d1664 assorted: fix "Strip Russian Letters" (#14036) 2023-02-17 01:31:33 +02:00
Bogdan
d5e8d4f0f0 hqmusic: fix search by Lidarr for "VA" (#14035) 2023-02-17 01:20:07 +02:00
Bogdan
1f30b653d1 uhdbits: fix parsing the last word as release group for music (#14031) 2023-02-16 19:05:11 +00:00
ilike2burnthing
0acade153b scenehd: update cert. resolves #14030 2023-02-16 16:38:03 +00:00
Bogdan
104eb3da60 uhdbits: refactor title cleanup, allow search by imdb+season (#14029) 2023-02-16 13:31:31 +02:00
Garfield69
aaf567a87d dontorrent: new domain 2023-02-16 15:33:45 +13:00
alikhanz
556b0ee7dd Rutracker-ru add russian option (#14022)
Co-authored-by: garfield69 <garfieldsixtynine@gmail.com>
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2023-02-15 22:37:06 +00:00
Bogdan
c89cd64190 polishsource: add requestDelay and fake user-agent to bypass blocking (#14027) 2023-02-15 20:52:42 +00:00
Garfield69
cbdb599027 world-of-tomorrow: new domain and updates. resolves #9213 2023-02-16 08:13:10 +13:00
ilike2burnthing
f82bdc3808 anilibria: update to v3 api, add strip russian & append rus settings. resolves #14019 (#14024)
credits: @alikhanz @mynameisbogdan
2023-02-15 16:24:38 +00:00
Bogdan
41e56f1f30 audiobookbay: clean titles (#14025) 2023-02-15 13:04:24 +02:00
Bogdan
fc79f23d32 audiobookbay: migrate to C#. resolves #8687 (#14015) 2023-02-15 05:29:13 +00:00
Garfield69
0d3bc6a503 torrentwhiz: bump domain 2023-02-15 15:39:20 +13:00
Garfield69
008f6307ec torrentview: bump domain 2023-02-15 15:39:04 +13:00
Bogdan
bb7c97a590 rutracker: add option to append RUS to movies/tv shows titles (#14018) 2023-02-14 23:06:34 +02:00
Bogdan
f78bc29140 uniotaku: add a Brazilian semi-private anime site. resolves #8340 (#14012) 2023-02-14 13:12:03 +00:00
Bogdan
5c81983434 rutracker: add option to use magnet links (#14014) 2023-02-14 12:40:39 +00:00
ilike2burnthing
a445696bc6 winget: update to v2 2023-02-14 12:09:28 +00:00
ilike2burnthing
91710c8454 ibit: removed, down for 30 days. resolves #6772 (#14013) 2023-02-14 04:32:14 +00:00
Bogdan
b03d3fb8e2 satclubbing: add info about torrents per page (#14011) 2023-02-13 21:33:49 +02:00
ilike2burnthing
cfc23d1b45 readme: search modes and parameters. #14009 2023-02-13 17:49:52 +00:00
Bogdan
a595432b87 lostfilm: use DateTime.TryParse (#14010) 2023-02-13 15:41:43 +00:00
Bogdan
eb63aecf8b apisearch: parse season/episode only if it's at the end of the query (#14007) 2023-02-13 12:31:37 +02:00
Garfield69
d7437f2a0f Revert "slosoul: removed. resolves #12435"
This reverts commit 6b69808183.
2023-02-12 17:43:45 +13:00
Garfield69
bd3baeb657 anisource: CA expired 2023-02-12 16:54:53 +13:00
ilike2burnthing
e27f784736 Revert "puurhollands: gone. removed. resolves #9775" (#14005) 2023-02-12 03:10:53 +00:00
Bogdan
2125c9a42e mteamtp: add MR and MST (#14004) 2023-02-12 00:28:04 +02:00
Garfield69
325a998c8f spidertk: add new cats 2023-02-12 06:43:09 +13:00
ilike2burnthing
7f7437c7f1 thefallingangels: update cat desc 2023-02-11 15:16:53 +00:00
Bogdan
c454973730 cardigann: log error with redirect url when redirected (#14003) 2023-02-11 15:49:21 +02:00
Bogdan
cc86e63b57 mteamtp: use download links from listing and increase delay (#14002) 2023-02-11 15:47:58 +02:00
Garfield69
0d06426aed animeclipse: 403 forbidden. removed. #10171 2023-02-11 20:20:34 +13:00
Garfield69
35628e93d8 scenerush: new category selector
the site has broken their HTML for the category selector
resorting to a case block to detect cat
2023-02-11 16:13:33 +13:00
Garfield69
f00b421539 torrentsir: bump domain 2023-02-11 15:41:49 +13:00
ilike2burnthing
5fe25448fa leech24: invalid cert. resolves #12553 2023-02-11 01:30:58 +00:00
Machou
99d67575f0 cpabien: new domain (#14001) 2023-02-11 11:27:36 +13:00
Garfield69
b6634f8329 tjupt: switch to cookie method. resolves #13999 2023-02-11 06:48:54 +13:00
Bogdan
49ec063ee7 iptorrents: add support for tvsearch by imdbid (#13997) 2023-02-10 13:37:08 +00:00
ilike2burnthing
4791401843 torrent-explosiv: fix size selector
https://github.com/Prowlarr/Prowlarr/issues/1414
2023-02-10 11:41:39 +00:00
Garfield69
45a68fa915 torrentslocal: expired CA 2023-02-10 16:31:45 +13:00
Garfield69
cc628ff5b9 backups: add new cat 2023-02-10 16:21:22 +13:00
Garfield69
eb93dbb903 animeclipse: fetch 100 items. resolves #10171 2023-02-10 13:23:32 +13:00
Garfield69
f7c08f69e1 torrentqq: bump domain 2023-02-10 13:22:22 +13:00
Garfield69
372b526ad0 pterclub: use cookie. resolves #13995 2023-02-10 06:21:15 +13:00
Bogdan
a2729841c0 shazbat: simplify conditions for relogin check (#13993) 2023-02-09 13:54:12 +02:00
Bogdan
8572ebf3b6 core torznabquery: standardize dashes/single quotes in search term (#13989) 2023-02-09 15:09:41 +13:00
Garfield69
9231506ddb tjupt: update login test. resolves #13988 2023-02-09 06:25:06 +13:00
Garfield69
66c8dad9ca gfxpeers: removed. resolves #10161 2023-02-08 20:10:34 +13:00
Bogdan
d733a71bac ebookbay: add a public torrent tracker (#13984) 2023-02-08 18:30:57 +13:00
Garfield69
ebf6838b3f anime-free: new domain 2023-02-08 15:28:30 +13:00
ilike2burnthing
a53b5d4ce0 assorted: replace nocensor proxies with mrunblock (#13986) 2023-02-07 19:38:59 +00:00
Garfield69
c50b9dfb0b acervos: -> fix description #13324 2023-02-08 08:09:37 +13:00
Garfield69
2fbcea8b5b acervos: -> 6.5.0 resolves #13324 2023-02-08 08:03:58 +13:00
ilike2burnthing
4e0538fa2a hdai: removed, down for over 30 days. resolves #12304 (#13983) 2023-02-07 18:35:13 +00:00
Garfield69
7f9de141e3 brsociety: -> 6.5.0 2023-02-08 07:34:16 +13:00
ilike2burnthing
971934dbad Update README.md 2023-02-07 18:07:38 +00:00
Garfield69
bbc0706c0a assorted: new unblockit domain 2023-02-08 06:49:12 +13:00
Bogdan
300825ebbf shazbat: remove just the year/air date (#13982) 2023-02-07 17:33:24 +00:00
ilike2burnthing
04872dfc4c ourbits: remove junk from description
also add imdbid and doubanid placeholder selectors
2023-02-07 04:45:48 +00:00
ilike2burnthing
64503396c7 learnflakes: add genre, correct MR 2023-02-07 04:07:54 +00:00
Garfield69
4f817e9dfb bitbazis: update for new layout
new row selector
add imdbid
new download selector
new date selector
2023-02-07 16:29:53 +13:00
Garfield69
be6c5c49db audionews: update cats 2023-02-07 16:03:39 +13:00
Garfield69
3e1270f961 dontorrent: new domain 2023-02-07 15:42:57 +13:00
Bogdan
fe93e54ac1 shazbat: refactor search and parsing (#13979) 2023-02-07 15:29:23 +13:00
ilike2burnthing
8a35175d31 assorted: normalise multi/vostfr/subfrench/pl replacements (#13980) 2023-02-07 15:27:32 +13:00
588 changed files with 12152 additions and 10397 deletions

View File

@@ -75,7 +75,7 @@ indent_size=2
# JavaScript/HTML
[*.{js,ts,json,html,cshtml}]
indent_size=2
indent_size=4
# Code files
[*.{cs,csx,vb,vbx}]
@@ -220,7 +220,7 @@ csharp_style_var_when_type_is_apparent=true:suggestion
csharp_style_var_elsewhere=true:suggestion
# Expression-bodied members
csharp_style_expression_bodied_methods=when_on_single_line:suggestion
csharp_style_expression_bodied_constructors=when_on_single_line:suggestion
csharp_style_expression_bodied_constructors=false:suggestion
csharp_style_expression_bodied_operators=when_on_single_line:suggestion
csharp_style_expression_bodied_properties=true:suggestion
csharp_style_expression_bodied_indexers=true:suggestion

View File

@@ -8,7 +8,7 @@ jobs:
publish:
runs-on: windows-latest
steps:
- uses: vedantmgoyal2009/winget-releaser@v1
- uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: Jackett.Jackett
token: ${{ secrets.WINGET }}

View File

@@ -33,19 +33,13 @@ Before you submit a bug-report or do any other troubleshooting, make sure your J
We are releasing bug fixes almost daily, so your issue may have been fixed already.
Bugs that are submitted without being on the latest version may be closed.
**Error "An error occurred while sending the request: Error: TrustFailure (A call to SSPI failed, see inner exception.)"**
This is often caused by missing CA certificates.
Try reimporting the certificates in this case:
- On Linux (as user root): `wget -O - https://curl.haxx.se/ca/cacert.pem | cert-sync /dev/stdin`
- On macOS: `curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin`
**Tracker isn't working**
If you are experiencing an issue with a tracker, then:
- Use your browser to check you can access the site directly, and if a login is required,
check you can login and that you do not have any outstanding account issues.
- If you haven't already, try upgrading to the latest version of Jackett.
- Check our [Troubleshooting wiki](https://github.com/Jackett/Jackett/wiki/Troubleshooting) for common issues.
- If it is still not working for you, then a **full enhanced log must be included**.
**Enable enhanced logging**
@@ -68,9 +62,9 @@ Your issue should have the following information.
- **Descriptive Title** - The title of your bug should include keywords and a descriptive summary of what you're experiencing
to help others avoid duplicating your bug report
- Keywords in the title should be as follows:
- Tracker bugs should start with the tracker in brackets e.g. [**AnimeBytes**]
- Feature requests should start with [**REQ**]
- New trackers should begin with [**New**] and the tracker type [**Public**/**Private**/**Semi-Private**] e.g. **[New][Public] ThePirateBay**
- Indexer bugs should start with the indexer ID in brackets e.g. **[thepiratebay]**
- Feature requests should start with **[req]**
- Indexers requests should start with **[req]** and the name of the tracker e.g. **[req] ThePirateBay**
- **Environment Details** - These are things like your OS version, Jackett type and version, mono/.Net-core/framework version(s).
These are asked for by the issue template when you create a new issue on GitHub.
- **Steps** to cause the problem, if applicable. These should be specific and repeatable.
@@ -112,15 +106,15 @@ If you use something else, please add it here for others.
<details open=true> <summary> Visual Studio 2022 </summary>
- Install [Visual Studio Community 2022](https://visualstudio.microsoft.com/vs/) for free.
- About 2GB download. 8GB installed.
- About 2GB download, 8GB installed.
- Make sure it includes the following Workload and Individual Components:
- .NET desktop development
- .Net Framework 4.6.1 SDK
- .Net Framework 4.6.1 targeting pack
- .Net Framework 4.6.2 SDK
- .Net Framework 4.6.2 targeting pack
- From the `Get Started` screen:
- `Clone a repository -> Browse a repository -> GitHub -> Sign in -> clone your forked repository`
- Double-click `Jackett.sln` in `Solution Explorer` to load your project
- Ensure `Jackett.Server` is the Startup Project (instead of `Jackett.Service`) and the Run Target (instead of `IIS Express`)
- Ensure `Jackett.Server` is the Startup Project and the Run Target (instead of `Jackett.Service`)
- Open `Tools -> NuGet Package Manager -> Package Manager Console`
- From the PMC, with `Jackett.Service` as the default project, run:
- `dotnet tool install -g dotnet-format`

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://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://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.
A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](https://github.com/webtor-io/go-jackett)
@@ -31,7 +31,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* ACGsou (36DM)
* Anidex
* AniLibria
* AnimeClipse
* Anime Tosho
* AniRena
* AniSource
@@ -48,7 +47,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* BTSOW
* BullTorrent
* Byrutor
* CloudTorrents
* comicat
* ConCen
* cpasbien
@@ -59,6 +57,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* dmhy
* Dodder (菟丝子资源社区)
* DonTorrent
* EBook Bay (EBB)
* E-Hentai
* EpubLibre
* EXT Torrents
@@ -73,7 +72,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* GkTorrent
* GloDLS
* GTorrent.pro
* IBit
* Idope
* Il CorSaRo Blu
* Il Corsaro Nero
@@ -84,7 +82,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* kickasstorrents.to
* kickasstorrents.ws
* Knaben
* Legit Torrents
* LePorno.info
* LimeTorrents
* LimeTorrents clone
@@ -107,8 +104,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* ParnuXi
* PC-torrent
* PiratBit
* Pornforall
* PornLeech
* PornosLab
* PornoTorrent
* Portugas
@@ -183,8 +178,10 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* DimeADozen (EzTorrent)
* DXP (Deaf Experts)
* Electro-Torrent
* EliteTorrent-pl
* EniaHD
* Erai-Raws
* Ex-torrenty
* ExKinoRay
* ExtremlymTorrents
* Fenyarnyek-Tracker
@@ -192,10 +189,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Gay-Torrents.net
* Genesis-Movement
* HD-CzTorrent
* HellTorrents
* HDGalaKtik
* HunTorrent
* Kinorun
* Kinozal
* Lightning-Tor
* LostFilm.tv
* Magnetico (Local DHT) [[site](https://github.com/boramalper/magnetico)]
* Marine Tracker
@@ -224,6 +223,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Torrents-Local
* TribalMixes
* Union Fansub
* UniOtaku
* vTorrent
* xTorrenty
* YggTorrent (YGG)
@@ -243,7 +243,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* 52PT
* Abnormal
* ABtorrents (ABT + RNS)
* Acervos
* Acervos [![(invite needed)][inviteneeded]](#)
* Acid Lounge (A-L)
* AcrossTheTasman [![(invite needed)][inviteneeded]](#)
* Aftershock
@@ -253,11 +253,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* AmigosShareClub
* AnimeBytes (AB)
* AnimeTracker
* AnimeTorrents (AnT) [![(invite needed)][inviteneeded]](#)
* AnimeTorrents (AnT)
* AnimeWorld
* Anthelion
* Araba Fenice (Phoenix) [![(invite needed)][inviteneeded]](#)
* ArabP2P
* ArabTorrents [![(invite needed)][inviteneeded]](#)
* aro.lol
* AsianCinema
* AsianDVDClub
@@ -290,7 +291,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* BroadcasTheNet (BTN)
* BroadCity
* BrokenStones [![(invite needed)][inviteneeded]](#)
* BrSociety
* BrSociety [![(invite needed)][inviteneeded]](#)
* BTNext (BTNT) [![(invite needed)][inviteneeded]](#)
* BTSCHOOL
* BWTorrents
@@ -318,11 +319,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* CrnaBerza
* DANISH BYTES
* Darius Tracker
* Dark-Shadow
* DataScene (DS)
* DataTalli
* DesiTorrents
* Diablo Torrent [![(invite needed)][inviteneeded]](#)
* DICMusic
* DigitalCore
* DiscFan
* DivTeam
@@ -347,12 +348,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* FunFile (FF)
* FunkyTorrents (FT)
* Fuzer (FZ)
* GainBound
* GainBound [![(invite needed)][inviteneeded]](#)
* Gay-Torrents.org
* GAYtorrent.ru
* GazelleGames (GGn) [![(invite needed)][inviteneeded]](#)
* Generation-Free
* GFXPeers
* GigaTorrents
* GimmePeers (formerly ILT)
* GiroTorrent
@@ -371,7 +371,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* HD-Torrents (HDT)
* HD-UNiT3D
* HD4FANS [![(invite needed)][inviteneeded]](#)
* HDAI
* HDArea (HDA)
* HDAtmos
* HDBits [![(invite needed)][inviteneeded]](#)
@@ -404,6 +403,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* JoyHD [![(invite needed)][inviteneeded]](#)
* JPopsuki
* JPTV
* KamePT [![(invite needed)][inviteneeded]](#)
* Karagarga
* Keep Friends [![(invite needed)][inviteneeded]](#)
* Korsar
@@ -471,12 +471,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* PTerClub
* PTFiles (PTF)
* PThome [![(invite needed)][inviteneeded]](#)
* PTMSG
* PTSBAO
* PTtime
* Punk's Horror Tracker
* PuntoTorrent
* PuTao
* Puur-Hollands
* PWTorrents (PWT)
* R3V WTF! [![(invite needed)][inviteneeded]](#)
* Racing4Everyone (R4E)
@@ -501,6 +501,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* SiamBIT
* SkipTheCommercials
* SkipTheTrailers
* slosoul
* SnowPT (SSPT)
* SoulVoice
* SpeedApp (SceneFZ, XtreMeZone / MYXZ, ICE Torrent)
@@ -576,7 +577,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* UnleashTheCartoons
* UnlimitZ
* White Angel
* wOOt [![(invite needed)][inviteneeded]](#)
* World-In-HD [![(invite needed)][inviteneeded]](#)
* World-of-Tomorrow
* x-ite.me (XM)
@@ -636,6 +636,39 @@ The "filter" indexer at `/api/v2.0/indexers/tag:group1,!type:private+lang:en/res
Example 2:
The "filter" indexer at `/api/v2.0/indexers/!status:failing,test:passed` will query all the configured indexers not `failing` or which `passed` its last test.
### Search modes and parameters
A list of supported API search modes and parameters:
```
t=search:
params : q
t=tvsearch:
params : q, season, ep, imdbid, tvdbid, rid, tmdbid, tvmazeid, traktid, doubanid, year, genre
t=movie:
params : q, imdbid, tmdbid, traktid, doubanid, year, genre
t=music:
params : q, album, artist, label, track, year, genre
t=book:
params : q, title, author, publisher, year, genre
```
Examples:
```
.../api?apikey=APIKEY&t=search&cat=1,3&q=Show+Title+S01E02
.../api?apikey=APIKEY&t=tvsearch&cat=1,3&q=Show+Title&season=1&ep=2
.../api?apikey=APIKEY&t=tvsearch&cat=1,3&genre=comedy&season=2023&ep=02/13
.../api?apikey=APIKEY&t=movie&cat=2&q=Movie+Title&year=2023
.../api?apikey=APIKEY&t=movie&cat=2&imdbid=tt1234567
.../api?apikey=APIKEY&t=music&cat=4&album=Title&artist=Name
.../api?apikey=APIKEY&t=book&cat=5,6&genre=horror&publisher=Stuff
```
## Installation on Windows
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.

View File

@@ -385,7 +385,7 @@ stages:
npm install -g ajv-cli-servarr ajv-formats
# set fail as false
fail=0
ajv test -d "src/Jackett.Common/Definitions/*.yml" -s "src/Jackett.Common/Definitions/schema.json" --valid --all-errors -c ajv-formats
ajv test -d "src/Jackett.Common/Definitions/*.yml" -s "src/Jackett.Common/Definitions/schema.json" --valid --all-errors -c ajv-formats --spec=draft2019
if [ "$?" -ne 0 ]; then
fail=1
fi

View File

@@ -322,8 +322,8 @@ function displayUnconfiguredIndexersList() {
indexersTable.find('.indexer-setup').each(function (i, btn) {
var indexer = unconfiguredIndexers[i];
$(btn).click(function () {
$('#select-indexer-modal').modal('hide').on('hidden.bs.modal', function (e) {
displayIndexerSetup(indexer.id, indexer.name, indexer.caps, indexer.link, indexer.alternativesitelinks, indexer.description);
$('#select-indexer-modal').modal('hide').on('hidden.bs.modal', function () {
displayIndexerSetup(indexer.id, indexer.name, indexer.caps, indexer.site_link, indexer.alternativesitelinks, indexer.description);
});
});
});
@@ -660,7 +660,7 @@ function prepareSetupButtons(element) {
var indexer = configuredIndexers.find(i => i.id === id);
if (indexer)
$btn.click(function () {
displayIndexerSetup(indexer.id, indexer.name, indexer.caps, indexer.link, indexer.alternativesitelinks, indexer.description);
displayIndexerSetup(indexer.id, indexer.name, indexer.caps, indexer.site_link, indexer.alternativesitelinks, indexer.description);
});
});
}

View File

@@ -700,7 +700,7 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">{{title}} - <a target="_blank" href="{{link}}">{{link}}</a></h4>
<h4 class="modal-title">{{title}} - <a target="_blank" href="{{link}}" rel="noreferrer">{{link}}</a></h4>
{{#if description}}
<div class="alert alert-info">{{description}}</div>
{{/if}}

View File

@@ -151,7 +151,7 @@ search:
- name: append
args: " +03:00" # MSK
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-child(4)
filters:

View File

@@ -13,14 +13,12 @@ links:
- https://x1337x.ws/
- https://x1337x.eu/
- https://x1337x.se/
- https://1337x.unblockit.ink/
- https://1337x.nocensor.art/
- https://1337x.unblockit.boo/
- https://1337x.mrunblock.guru/
- https://1337x.unblockninja.com/
legacylinks:
- https://1337x.is/
- https://1337x.nocensor.work/
- https://1337x.unblockit.bz/
- https://1337x.unblockit.tv/
- https://1337x.unblockit.how/
- https://1337x.unblockit.cam/
- https://1337x.nocensor.biz/
@@ -38,6 +36,9 @@ legacylinks:
- https://1337x.unblockit.page/
- https://1337x.unblockit.pet/
- https://1337x.nocensor.lol/
- https://1337x.unblockit.ink/
- https://1337x.nocensor.art/
- https://1337x.unblockit.bio/
caps:
categorymappings:
@@ -183,6 +184,7 @@ search:
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Movies{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/1/"
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/TV{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}2{{ else }}1{{ end }}/"
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Music{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}3{{ else }}1{{ end }}/"
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Other{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}4{{ else }}1{{ end }}/"
rows:
selector: tr:has(a[href^="/torrent/"])
@@ -255,7 +257,7 @@ search:
- name: re_replace
args: ["st|nd|rd|th", ""]
- name: dateparse
args: "3pm Jan. 2"
args: "htt MMM. d"
date_years:
# (more than a year ago) Apr. 18th '11
optional: true
@@ -266,7 +268,7 @@ search:
- name: re_replace
args: ["st|nd|rd|th", ""]
- name: dateparse
args: "Jan. 2 06"
args: "MMM. d yy"
date_today:
# (today) 12:25am
optional: true

View File

@@ -36,7 +36,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -85,6 +85,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -98,12 +99,11 @@ search:
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -125,7 +125,7 @@ search:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-last-of-type(6):not(:has(span))
@@ -134,7 +134,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -97,22 +97,22 @@ settings:
default: false
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: "FRENCH"
MULTI.FRENCH: "MULTI.FRENCH"
ENGLISH: "ENGLISH"
MULTI.ENGLISH: "MULTI.ENGLISH"
VOSTFR: "VOSTFR"
MULTI.VOSTFR: "MULTI.VOSTFR"
FRENCH: FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
- name: sort
type: select
@@ -178,22 +178,20 @@ search:
filters:
- name: replace
args: [" - (Nouveau!)", ""]
title_multilang:
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_vostfr:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
- name: re_replace
args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a[href^="torrents-details.php?id="]
attribute: href

View File

@@ -127,6 +127,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
@@ -140,12 +141,11 @@ search:
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -172,7 +172,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
@@ -181,7 +181,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -99,6 +99,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
# does not return imdb link in results
rows:
@@ -113,12 +114,11 @@ search:
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -140,7 +140,7 @@ search:
- name: append
args: " +07:00" # ICT
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(5):not(:has(span))
@@ -149,7 +149,7 @@ search:
- name: append
args: " +07:00" # ICT
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -131,18 +131,17 @@ search:
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "02/01/2006 -07:00"
args: "dd/MM/yyyy zzz"
size:
selector: td:nth-last-child(4)
seeders:
selector: a[href^="index.php?page=peers"]
leechers:
selector: td:has(a[href^="index.php?page=peers"]) + td
grabs_optional:
grabs:
selector: a[href^="index.php?page=torrent_history"]
optional: true
grabs:
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
default: 0
downloadvolumefactor:
case:
img[src="images/50off.png"]: 0.5

View File

@@ -35,7 +35,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -89,6 +89,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
# does not return imdb or doubanid in results
rows:
@@ -97,12 +98,11 @@ search:
fields:
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
category:
selector: a[href^="?cat="]
attribute: href
@@ -124,7 +124,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
@@ -133,7 +133,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -156,43 +156,39 @@ search:
selector: table.tableinborder > tbody > tr:has(a[href^="/download.php"])
fields:
title:
selector: a[href^="details.php"]
attribute: title
category:
selector: a[href^="/browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php"]
attribute: title
details:
selector: a[href^="details.php"]
attribute: href
download:
selector: a[href^="/download.php"]
attribute: href
grabs_optional:
grabs:
selector: a[title="Snatcher"]
optional: true
grabs:
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
files_optional:
default: 0
files:
selector: a[title="Files"]
optional: true
files:
text: "{{ if .Result.files_optional }}{{ .Result.files_optional }}{{ else }}0{{ end }}"
default: 0
size:
selector: td:nth-child(6)
seeders_optional:
seeders:
selector: a[title="Seeder"]
optional: true
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
default: 0
leechers:
selector: a[title="Leecher"]
optional: true
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
default: 0
# 2 flavours of dates
date_day:
# Heute 13:30:04
@@ -218,7 +214,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "02.01.2006 15:04:05 -07:00"
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 }}"
downloadvolumefactor:

View File

@@ -37,22 +37,22 @@ settings:
label: Password
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTI.FRENCH: MULTI.FRENCH
MULTi.FRENCH: MULTi.FRENCH
ENGLISH: ENGLISH
MULTI.ENGLISH: MULTI.ENGLISH
MULTi.ENGLISH: MULTi.ENGLISH
VOSTFR: VOSTFR
MULTI.VOSTFR: MULTI.VOSTFR
MULTi.VOSTFR: MULTi.VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
- name: freeleech
type: checkbox
@@ -124,22 +124,20 @@ search:
args: SelectedCats
title_phase1:
selector: td.grid-release-column > a
title_multilang:
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)(\\.multi\\.)", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_vostfr:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)(\\.vostfr\\.)", " ENGLISH "]
- name: re_replace
args: ["(?i)(\\.subfrench\\.)", " ENGLISH "]
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a[href^="/Torrent/Details?ReleaseId="]
attribute: href

View File

@@ -89,7 +89,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -152,7 +152,7 @@ search:
optional: true
filters:
- name: dateparse
args: "Jan 2 2006 3:04 PM"
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

@@ -12,14 +12,14 @@ caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Filmes"}
- {id: 2, cat: TV, desc: "Séries"}
- {id: 8, cat: TV/Anime, desc: "Animes"}
- {id: 5, cat: Other, desc: "Cursos"}
- {id: 6, cat: Other, desc: "Materiais de Apoio"}
- {id: 7, cat: Books, desc: "eBooks / Revistas / Apostilas"}
- {id: 9, cat: Audio/Video, desc: "Shows"}
- {id: 10, cat: PC, desc: "Programas"}
- {id: 11, cat: TV/Documentary, desc: "Documentários"}
- {id: 6, cat: TV/Anime, desc: "Animes"}
- {id: 3, cat: TV/Documentary, desc: "Documentários"}
- {id: 7, cat: Audio/Video, desc: "Shows"}
- {id: 4, cat: Console, desc: "Games"}
- {id: 8, cat: Other, desc: "Cursos"}
- {id: 9, cat: Books, desc: "eBooks / Revistas / Apostilas"}
- {id: 5, cat: PC, desc: "Programas"}
- {id: 10, cat: Other, desc: "Materiais de Apoio"}
modes:
search: [q]
@@ -78,8 +78,14 @@ search:
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 }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -119,14 +125,12 @@ search:
_reg:
selector: region
optional: true
description:
text: "{{ .Result._cat }} {{ .Result._type }} {{ .Result._res }} {{ .Result._reg }}"
download:
selector: download_link
infohash:
selector: info_hash
poster:
selector: poster
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
@@ -136,6 +140,15 @@ search:
selector: tmdb_id
tvdbid:
selector: tvdb_id
genre:
selector: meta.genres
filters:
- name: re_replace
args: ["(?i)(Ficção científica)", "Ficção_científica"]
- name: replace
args: [" & ", "_&_"]
description:
text: "{{ .Result._cat }} {{ .Result._type }} {{ .Result._res }} {{ .Result._reg }} {{ .Result.genre }}"
files:
selector: num_file
seeders:
@@ -151,7 +164,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
@@ -176,4 +189,4 @@ search:
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 6.1.0
# json UNIT3D 6.4.1 (custom)

View File

@@ -6,6 +6,7 @@ language: zh-CN
type: public
followredirect: true
encoding: UTF-8
requestDelay: 5
links:
- https://www.36dm.club/
- https://www.36dm.com/
@@ -61,10 +62,6 @@ search:
# https://www.acgsou.com/search.php?keyword=test
- path: "{{ if .Keywords }}search.php?keyword={{ .Keywords }}{{ else }}1.html{{ end }}"
headers:
# site blocks Jackett's User-Agents, so slightly alter it here (e.g. Safari/537.36 > Safari/537.35)
User-Agent: ["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"]
rows:
selector: table tbody tr[class^="alt"]:has(td:nth-child(3) a)
@@ -90,7 +87,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "01/02 15:04 -07:00"
args: "MM/dd HH:mm zzz"
date_years:
selector: td:nth-child(1):not(:contains(":"))
optional: true
@@ -98,7 +95,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006/01/02 -07:00"
args: "yyyy/MM/dd zzz"
date:
text: "{{ if or .Result.date_year .Result.date_years }}{{ or .Result.date_year .Result.date_years }}{{ else }}now{{ end }}"
size:

View File

@@ -157,7 +157,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td.torrent_table_size
grabs:

View File

@@ -65,7 +65,7 @@ search:
selector: td:nth-child(1)
filters:
- name: dateparse
args: "Jan 02, 2006"
args: "MMM dd, yyyy"
title:
selector: td:nth-child(4) > span:nth-child(1)
filters:

View File

@@ -168,7 +168,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
downloadvolumefactor:
case:
span.icon_gift: 0

View File

@@ -38,7 +38,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -118,7 +118,7 @@ search:
# auto adjusted by site account profile
filters:
- name: dateparse
args: "060102 15:04:05"
args: "yyMMdd HH:mm:ss"
downloadvolumefactor:
case:
img[src="images/freeleech.png"]: 0 # dl not counted

View File

@@ -78,8 +78,14 @@ search:
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 }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
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
@@ -143,7 +149,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:

View File

@@ -297,19 +297,18 @@ search:
"[src$=\"/Scripts.png\"]": 128
"[src$=\"/Vetores.png\"]": 124
"[src$=\"/outros2.png\"]": 130
date_optional:
date:
selector: p:contains("Lançado:")
# auto adjusted by site account profile
optional: true
default: now
filters:
- name: regexp
args: "Lançado: (.+?)$"
- name: re_replace
args: [" (\\d:)", " 0$1"]
- name: dateparse
args: "02/01/06 15:04:05"
date:
text: "{{ if .Result.date_optional }}{{ .Result.date_optional }}{{ else }}now{{ end }}"
args: "dd/MM/yy HH:mm:ss"
size:
selector: div.list-group-item-content p.m-0 span.badge-info
seeders:

View File

@@ -9,35 +9,53 @@ links:
- https://www.anilibria.tv/
caps:
categorymappings:
- {id: 1, cat: TV/Anime, desc: Anime}
categories:
Anime: TV/Anime
Movies: Movies/Other
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
settings:
- name: striprussian
type: checkbox
label: Strip Russian
default: false
- name: addrussian
type: checkbox
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
default: false
search:
paths:
# https://github.com/anilibria/docs/blob/master/api_v2.md
- path: "https://api.anilibria.tv/v2/{{ if .Keywords }}searchTitles?filter=names,poster.url,code,torrents.list,season.year&limit=100&search={{ .Keywords }}{{ else }}getUpdates?filter=names,poster.url,code,torrents.list,season.year&limit=100{{ end }}"
# https://github.com/anilibria/docs/blob/master/api_v3.md
- path: "https://api.anilibria.tv/v3/{{ if .Keywords }}searchTitles{{ else }}getUpdates{{ end }}"
response:
type: json
inputs:
search: "{{ .Keywords }}"
filter: "names,posters.small.url,code,torrents.list,season.year,description"
limit: 100
keywordsfilters:
# strip season and ep
- name: re_replace
args: ["(?i)(?:[SE]?\\d{1,4}){1,2}$", ""]
rows:
selector: $
selector: list
attribute: torrents.list
multiple: true
fields:
_episodes:
selector: episodes.string
optional: true
category:
text: 1
text: "{{ if eq .Result._episodes \"Фильм\" }}Movies{{ else }}Anime{{ end }}"
title_ru:
selector: ..names.ru
title_en:
@@ -45,15 +63,26 @@ search:
title_alternative:
selector: ..names.alternative
optional: true
filters:
- name: re_replace
args: ["([А-Яа-яЁё]+)", "{{ if .Config.striprussian }}{{ else }}$1{{ end }}"]
- name: re_replace
args: ["^[\\.\\s\\d,\\-—:]+", ""]
- name: re_replace
args: ["^OVA$", ""]
year:
selector: ..season.year
_quality:
selector: quality.string
_series:
selector: series.string
optional: true
title:
text: "{{ .Result.title_ru }} / {{ .Result.title_en }}{{ if .Result.title_alternative }} / {{ .Result.title_alternative }}{{ else }}{{ end }} ({{ .Result.year }}) [{{ .Result._quality }}]{{ if .Result._series }} - {{ .Result._series }}{{ else }}{{ end }}"
text: "{{ if .Config.striprussian }}{{ else }}{{ .Result.title_ru }} / {{ end }}{{ .Result.title_en }}{{ if .Result.title_alternative }} / AKA {{ .Result.title_alternative }}{{ else }}{{ end }} ({{ .Result.year }}) [{{ .Result._quality }}]{{ if .Result._episodes }} - E{{ .Result._episodes }}{{ else }}{{ end }}"
filters:
- name: re_replace
args: [" - \\bEФильм\\b", " - MOVIE"]
- name: re_replace
args: [" - \\bEOVA\\b", " - OVA"]
- name: append
args: "{{ if .Config.addrussian }} - RUS{{ else }}{{ end }}"
_code:
selector: ..code
details:
@@ -63,11 +92,13 @@ search:
filters:
- name: prepend
args: "{{ .Config.sitelink }}"
magnet:
selector: magnet
poster:
selector: ..poster.url
selector: ..posters.small.url
filters:
- name: prepend
args: "https://static.anilibria.tv/"
args: "https://static.anilibria.tv"
seeders:
selector: seeders
leechers:
@@ -83,4 +114,6 @@ search:
text: 0
uploadvolumefactor:
text: 1
# json api v2
description:
selector: ..description
# json api v3

View File

@@ -7,9 +7,11 @@ type: semi-private
encoding: windows-1251
testlinktorrent: false
links:
- https://anime-free.biz/
- https://anime-free.one/
legacylinks:
- https://anime-free.net/ # redirects to *.biz
- https://anime-free.biz/
- http://anime-free.one/
caps:
categorymappings:
@@ -50,7 +52,6 @@ login:
inputs:
login_name: "{{ .Config.email }}"
login_password: "{{ .Config.password }}"
login: submit
error:
- selector: div.berrors
test:
@@ -87,10 +88,11 @@ search:
selector: article
fields:
category_optional:
optional: true
category:
selector: a[href*="category="]
attribute: href
optional: true
default: 54
case:
a[href$="3d_hentai"]: 51
a[href$="3dcg_game"]: 55
@@ -109,8 +111,6 @@ search:
a[href$="original_hentai"]: 48
a[href$="rus-game"]: 57
a[href$="uncensored"]: 45
category:
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}54{{ end }}"
title:
selector: h2.title a
details:
@@ -129,16 +129,15 @@ search:
selector: li:has(img#adddate)
filters:
- name: dateparse
args: "02-01-2006, 15:04"
args: "dd-MM-yyyy, HH:mm"
seeders:
text: 1
leechers:
text: 1
size_optional:
optional: true
selector: b.file_size
size:
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
selector: b.file_size
optional: true
default: 0 B
downloadvolumefactor:
text: 0
uploadvolumefactor:

View File

@@ -1,90 +0,0 @@
---
id: animeclipse
name: AnimeClipse
description: "AnimeClipse is a Public site for Hellenic Fansubs Anime."
language: el-GR
type: public
encoding: UTF-8
links:
- http://www.animeclipse.com/ # does not support https ERR_CONNECTION_REFUSED
settings:
- name: sort
type: select
label: Sort requested from site
default: added
options:
added: created
seeders: seeders
size: size
- name: type
type: select
label: Order requested from site
default: DESC
options:
DESC: desc
ASC: asc
caps:
categorymappings:
- {id: 1, cat: TV/Anime, desc: "Anime"}
modes:
search: [q]
tv-search: [q, season, ep]
search:
paths:
# http://www.animeclipse.com/index.php?ind=btitracker&search=sword&category=0&active=0&tor_page=10
- path: index.php
inputs:
ind: btitracker
# replace spaces with wildcard (percent symbol) as site's default search is exact string.
search: "{{ re_replace .Keywords \"[\\s]+\" \"%\" }}"
# does not support multi cats searching so defaulting to all.
category: 0
# 0 all, 1 active, 2 dead
active: 0
tor_page: 50
order: "{{ .Config.sort }}"
by: "{{ .Config.type }}"
rows:
selector: tr.torrentRow
fields:
category:
text: 1
title:
selector: a[href*="/download/"]
filters:
# move group to the end
- name: re_replace
args: ["^(\\[.+?\\])(.+?)$", "$2 $1"]
- name: re_replace
args: ["(_|\\[|\\])", " "]
details:
text: "{{ .Config.sitelink }}"
download:
selector: a[href*="/download/"]
attribute: href
size:
selector: td:contains("[size:") > span.torrentInfoData
date:
selector: td:contains("[Added:") > span.torrentInfoData
filters:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "02/01/2006 15:04:05 -07:00"
grabs:
selector: td:contains("[Completed:") > span.torrentInfoData
seeders:
selector: td:contains("Seeders") > span.torrentInfoData
leechers:
selector: td:contains("Leechers") > span.torrentInfoData
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# btitracker

View File

@@ -80,8 +80,14 @@ search:
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 }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -143,7 +149,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:

View File

@@ -83,8 +83,14 @@ search:
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 }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range $i, $e := .Categories }}&categories[{{$i}}]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
seasonNumber: "{{ .Query.Season }}"
episodeNumber: "{{ .Query.Ep }}"
imdbId: "{{ .Query.IMDBIDShort }}"
tmdbId: "{{ .Query.TMDBID }}"
tvdbId: "{{ .Query.TVDBID }}"
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -131,7 +137,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:

View File

@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
requestDelay: 2
certificates:
- f400d50a4dac4dd6546c869ac75669846205a0d2 # expired 26 Aug 2022
- 7b36f0dc75d3340727b6f74bbdbde46ec59b7037 # expired 12 Feb 2023
links:
- https://asnet.pw/
@@ -70,7 +70,7 @@ search:
- name: append
args: " -09:00" # CUS
- name: dateparse
args: "2006-01-02 15:04 -07:00"
args: "yyyy-MM-dd HH:mm zzz"
size:
selector: font[color="Black"]
filters:

View File

@@ -206,7 +206,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "02/01/2006 -07:00"
args: "dd/MM/yyyy zzz"
grabs:
selector: td:nth-last-child(6)
seeders:

View File

@@ -88,6 +88,7 @@ caps:
- {id: 65, cat: Other, desc: "صور (Images)"}
- {id: 56, cat: Other, desc: "رياضي (Sport)"}
- {id: 46, cat: Other, desc: "منوع (Misc)"}
- {id: 112, cat: Other, desc: "رمضان 2023"}
modes:
search: [q]
@@ -151,7 +152,7 @@ search:
# auto adjusted by site account profile
filters:
- name: dateparse
args: "2006-01-02 15:04:05"
args: "yyyy-MM-dd HH:mm:ss"
seeders:
selector: td:nth-child(5)
leechers:

View File

@@ -0,0 +1,221 @@
---
id: arabtorrents
name: ArabTorrents
description: "ArabTorrents is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ar-AR
type: private
encoding: windows-1256
requestDelay: 2
links:
- https://arab-torrents.net/
caps:
categorymappings:
# Movies
- {id: 36, cat: Movies, desc: "Movies/Dubbed"}
- {id: 134, cat: Movies, desc: "HD Section"}
- {id: 135, cat: Movies/HD, desc: "Movies/HD Section"}
- {id: 204, cat: Movies/HD, desc: "R5/HD Section"}
- {id: 119, cat: Movies/SD, desc: "Movies/SD TV"}
- {id: 205, cat: Movies/Foreign, desc: "Foreign"}
- {id: 208, cat: Movies/Foreign, desc: "Stranger/Foreign"}
- {id: 209, cat: Movies/Foreign, desc: "Turkish/Foreign"}
- {id: 207, cat: Movies/Foreign, desc: "Indian/Foreign"}
- {id: 191, cat: Movies, desc: "Movies/Golden-VIP"}
- {id: 190, cat: Movies, desc: "Movies/Super VIP"}
- {id: 212, cat: Movies, desc: "Movies/VIP"}
- {id: 181, cat: Movies, desc: "Classic Movies/WEB-DL"}
- {id: 167, cat: Movies, desc: "Movies/WEB-DL"}
# Shows
- {id: 186, cat: TV, desc: "Dubbed"}
- {id: 166, cat: TV/WEB-DL, desc: "WEB-DL"}
- {id: 168, cat: TV/WEB-DL, desc: "Series/WEB-DL"}
- {id: 171, cat: TV/WEB-DL, desc: "TV Shows/WEB-DL"}
- {id: 180, cat: TV/WEB-DL, desc: "Classic Series/WEB-DL"}
- {id: 169, cat: TV/WEB-DL, desc: "Full-Pack/WEB-DL"}
- {id: 210, cat: Other, desc: "VIP"}
- {id: 211, cat: TV, desc: "TV Shows/VIP"}
- {id: 213, cat: TV, desc: "Full-Pack/VIP"}
- {id: 94, cat: TV, desc: "Super VIP"}
- {id: 189, cat: TV, desc: "TV Shows/Super VIP"}
- {id: 201, cat: TV, desc: "Full-Pack/Super VIP"}
- {id: 197, cat: TV, desc: "TV Shows/Ramadan 2022"}
- {id: 148, cat: TV/Other, desc: "Series/OSN"}
- {id: 149, cat: TV/Other, desc: "TV Show/OSN"}
- {id: 165, cat: TV, desc: "Golden-VIP"}
- {id: 185, cat: TV, desc: "Series/Golden-VIP"}
- {id: 200, cat: TV, desc: "Full-Pack/Golden-VIP"}
- {id: 26, cat: TV/SD, desc: "SD TV"}
- {id: 78, cat: TV/SD, desc: "Series/SD TV"}
- {id: 124, cat: TV/SD, desc: "FullPack/SD TV"}
- {id: 136, cat: TV/HD, desc: "Series/HD Section"}
- {id: 137, cat: TV/HD, desc: "TV Shows/HD Section"}
- {id: 182, cat: TV/HD, desc: "Full Pack/HD Section"}
- {id: 187, cat: TV/Foreign, desc: "TV Shows/Dubbed"}
- {id: 188, cat: TV/Foreign, desc: "Full-Pack/Dubbed"}
# Anime
- {id: 33, cat: TV/Anime, desc: "Anime"}
- {id: 51, cat: TV/Anime, desc: "Series/Anime"}
- {id: 129, cat: Movies/BluRay, desc: "Blu-Ray/Anime"}
- {id: 125, cat: TV, desc: "Full-Pack/Anime"}
- {id: 50, cat: Movies, desc: "Movies/Anime"}
# Islamic
- {id: 67, cat: Other, desc: "Islamic"}
- {id: 126, cat: TV, desc: "Full-Packs/Islamic"}
- {id: 91, cat: Audio/MP3, desc: "MP3/Islamic"}
- {id: 92, cat: Other, desc: "Video/Islamic"}
# Music
- {id: 16, cat: Audio, desc: "Music"}
- {id: 177, cat: Audio, desc: "Flac/Music"}
- {id: 127, cat: Audio, desc: "Full-Packs/Music"}
- {id: 17, cat: Audio/MP3, desc: "MP3/Music"}
- {id: 19, cat: Audio/Video, desc: "Videos/Music"}
# OSN
- {id: 146, cat: TV/Other, desc: "OSN"}
- {id: 147, cat: TV/Other, desc: "Arabic/OSN"}
- {id: 153, cat: TV/Other, desc: "English/OSN"}
- {id: 179, cat: TV/Other, desc: "Old/OSN"}
# Ramadan 2022
- {id: 192, cat: Other, desc: "Ramadan 2022"}
- {id: 198, cat: Other, desc: "Full Pack/Ramadan 2022"}
- {id: 193, cat: Other, desc: "Ramadan HD/Ramadan 2022"}
- {id: 195, cat: Other, desc: "Ramadan Khaliji/Ramadan 2022"}
- {id: 194, cat: Other, desc: "Ramadan SD/Ramadan 2022"}
- {id: 196, cat: Other, desc: "Ramadan Web/Ramadan 2022"}
# Sports
- {id: 120, cat: TV/Sport, desc: "Sports"}
- {id: 159, cat: TV/Sport, desc: "Full Matches/Sports"}
- {id: 155, cat: TV/Sport, desc: "Goals/Sports"}
# Rest
- {id: 102, cat: TV/Other, desc: "Other/SD TV"}
- {id: 202, cat: Other, desc: "AT"}
- {id: 203, cat: Other, desc: "AT/AT"}
- {id: 34, cat: Other, desc: "Misc"}
- {id: 132, cat: PC/Mobile-Android, desc: "Android/Misc"}
- {id: 163, cat: TV/Documentary, desc: "Documentary/Misc"}
- {id: 122, cat: Other, desc: "Other/Misc"}
- {id: 121, cat: Other, desc: "Theater/Misc"}
- {id: 214, cat: Other, desc: "Other/VIP"}
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: 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: table:has(td.thead:contains("حدث خطأ"))
test:
path: index.php
selector: a[href*="logout.php"]
download:
before:
path: takethanks.php
method: post
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
search:
paths:
- path: browse.php
inputs:
do: search
keywords: "{{ .Keywords }}"
# t_name, t_description, t_both, t_uploader, t_genre
search_type: t_both
# does not support multi category searching so defaulting to all.
category: 0
include_dead_torrents: yes
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
keywordsfilters:
- name: re_replace
args: ["\\W+", "*"]
- name: re_replace
args: ["^(.+)$", "*$1*"]
rows:
selector: table#sortabletable > tbody > tr:has(div > a[href*="details.php?id="])
fields:
category:
selector: td a[href*="/browse.php?category="]
attribute: href
filters:
- name: querystring
args: category
title:
selector: td a[href*="/details.php?id="]
details:
selector: td a[href*="/details.php?id="]
attribute: href
download:
selector: a[href*="/download.php?id="]
attribute: href
date:
selector: td:nth-child(2) > div:nth-child(3)
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-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
poster:
selector: div.tooltip-content > img[src*="/torrents/"]
attribute: src
downloadvolumefactor:
case:
img[src$="torrent_flags/freedownload.gif"]: 0
img[src$="torrent_flags/silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="torrent_flags/x2.gif"]: 2
"*": 1
minimumratio:
text: 1.05
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# TS Special Edition v.7.4

View File

@@ -187,7 +187,7 @@ search:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "2 January 2006, Monday @ 15:04 -07:00"
args: "d MMMM yyyy, dddd @ HH:mm zzz"
size:
selector: td:nth-child(3)
seeders:

View File

@@ -72,15 +72,9 @@ search:
inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: "{{ .Query.TVDBID }}"
tmdb: "{{ .Query.TMDBID }}"
mal: ""
igdb: ""
start_year: ""
end_year: ""
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100

View File

@@ -36,7 +36,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -86,6 +86,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -121,7 +122,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
@@ -130,7 +131,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -1,198 +0,0 @@
---
id: audiobookbay
name: AudioBookBay
description: "AudioBook Bay (ABB) is a public Torrent Tracker for AUDIOBOOKS"
language: en-US
type: public
encoding: UTF-8
requestDelay: 2
links:
- https://audiobookbay.li/
- https://audiobookbay.se/
- https://audiobookbay.unblockit.ink/
legacylinks:
- https://audiobookbay.la/
- http://audiobookbay.net/
- https://audiobookbay.unblockit.bz/
- https://audiobookbay.unblockit.tv/
- http://audiobookbay.nl/
- http://audiobookbay.ws/
- https://audiobookbay.unblockit.how/
- https://audiobookbay.unblockit.cam/
- https://audiobookbay.unblockit.biz/
- https://audiobookbay.unblockit.day/
- https://audiobookbay.unblockit.llc/
- https://audiobookbay.unblockit.blue/
- https://audiobookbay.unblockit.name/
- http://audiobookbay.fi/
- http://audiobookbay.se/
- http://audiobookbayabb.com/
- https://audiobookbay.unblockit.ist/
- https://audiobookbay.unblockit.bet/
- https://audiobookbay.unblockit.cat/
- https://audiobookbay.unblockit.nz/
- https://audiobookbay.fi/
- https://audiobookbay.unblockit.page/
- https://audiobookbay.unblockit.pet/
caps:
categorymappings:
- {id: "(Post)apocalyptic", cat: Audio/Audiobook, desc: "(Post)apocalyptic"}
- {id: Action, cat: Audio/Audiobook, desc: "Action"}
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
- {id: Adventure, cat: Audio/Audiobook, desc: "Adventure"}
- {id: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
- {id: Art, cat: Audio/Audiobook, desc: "Art"}
- {id: Autobiography, cat: Audio/Audiobook, desc: "Autobiography & Biographies"}
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
- {id: Business, cat: Audio/Audiobook, desc: "Business"}
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
- {id: Computer, cat: Audio/Audiobook, desc: "Computer"}
- {id: Contemporary, cat: Audio/Audiobook, desc: "Contemporary"}
- {id: Crime, cat: Audio/Audiobook, desc: "Crime"}
- {id: Detective, cat: Audio/Audiobook, desc: "Detective"}
- {id: Doctor, cat: Audio/Audiobook, desc: "Doctor Who"}
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
- {id: Education, cat: Audio/Audiobook, desc: "Education"}
- {id: Fantasy, cat: Audio/Audiobook, desc: "Fantasy"}
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
- {id: Gay, cat: Audio/Audiobook, desc: "Gay"}
- {id: General, cat: Audio/Audiobook, desc: "General Fiction"}
- {id: Historical, cat: Audio/Audiobook, desc: "Historical Fiction"}
- {id: History, cat: Audio/Audiobook, desc: "History"}
- {id: Horror, cat: Audio/Audiobook, desc: "Horror"}
- {id: Humor, cat: Audio/Audiobook, desc: "Humor"}
- {id: Lecture, cat: Audio/Audiobook, desc: "Lecture"}
- {id: Lesbian, cat: Audio/Audiobook, desc: "Lesbian"}
- {id: LGBT, cat: Audio/Audiobook, desc: "LGBT"}
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
- {id: LitRPG, cat: Audio/Audiobook, desc: "LitRPG"}
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
- {id: Misc., cat: Audio/Audiobook, desc: "Misc. Non-fiction"}
- {id: Mystery, cat: Audio/Audiobook, desc: "Mystery"}
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
- {id: Other, cat: Audio/Audiobook, desc: "Other"}
- {id: Paranormal, cat: Audio/Audiobook, desc: "Paranormal"}
- {id: Plays, cat: Audio/Audiobook, desc: "Plays & Theater"}
- {id: Poetry, cat: Audio/Audiobook, desc: "Poetry"}
- {id: Political, cat: Audio/Audiobook, desc: "Political"}
- {id: Radio, cat: Audio/Audiobook, desc: "Radio Productions"}
- {id: Romance, cat: Audio/Audiobook, desc: "Romance"}
- {id: Sci-Fi, cat: Audio/Audiobook, desc: "Sci-Fi"}
- {id: Science, cat: Audio/Audiobook, desc: "Science"}
- {id: Self-help, cat: Audio/Audiobook, desc: "Self-help"}
- {id: Sex, cat: Audio/Audiobook, desc: "Sex Scenes"}
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
- {id: Spiritual, cat: Audio/Audiobook, desc: "Spiritual & Religious"}
- {id: Sport, cat: Audio/Audiobook, desc: "Sport & Recreation"}
- {id: Suspense, cat: Audio/Audiobook, desc: "Suspense"}
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
- {id: Thriller, cat: Audio/Audiobook, desc: "Thriller"}
- {id: "True", cat: Audio/Audiobook, desc: "True Crime"}
- {id: Tutorial, cat: Audio/Audiobook, desc: "Tutorial"}
- {id: Violence, cat: Audio/Audiobook, desc: "Violence"}
- {id: Westerns, cat: Audio/Audiobook, desc: "Westerns"}
- {id: Zombies, cat: Audio/Audiobook, desc: "Zombies"}
modes:
search: [q]
book-search: [q]
settings: []
download:
infohash:
hash:
selector: td:contains("Info Hash:") ~ td
filters:
- name: regexp
args: ([A-F|a-f|0-9]{40})
title:
selector: h1
filters:
- name: trim
- name: validfilename
search:
paths:
# with just 7 results per page, try to grab up to 35 results
# http://audiobookbay.nl/?s=teeth
# http://audiobookbay.nl/page/2/?s=teeth
- path: "{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
- path: "page/2/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
- path: "page/3/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
- path: "page/4/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
- path: "page/5/{{ if .Keywords }}?s={{ .Keywords }}&tt=1{{ else }}{{ end }}"
rows:
selector: div.post:has(div[class="postTitle"])
filters:
- name: andmatch
fields:
category:
selector: div.postInfo
filters:
- name: regexp
args: "Category: (.+?)\\s"
_format:
optional: true
selector: div.postContent
filters:
- name: regexp
args: "Format: (.+?) /"
- name: replace
args: ["?", ""]
_bitrate:
optional: true
selector: div.postContent
filters:
- name: regexp
args: "Bitrate: (.+?)File"
- name: replace
args: ["?", ""]
title:
selector: div.postTitle
filters:
- name: append
args: "{{ if .Result._format }} [{{ .Result._format }}]{{ else }}{{ end }}{{ if .Result._bitrate }} [{{ .Result._bitrate }}]{{ else }}{{ end }}"
details:
selector: div.postTitle h2 a
attribute: href
download:
selector: div.postTitle h2 a
attribute: href
poster:
selector: img
attribute: src
date_optional:
optional: true
selector: div.postContent
filters:
- name: regexp
args: "(\\d{1,2} \\D{3} \\d{4})"
- name: dateparse
args: "2 Jan 2006"
date:
text: "{{ if .Result.date_optional }}{{ .Result.date_optional }}{{ else }}now{{ end }}"
size_optional:
optional: true
selector: div.postContent
filters:
- name: regexp
args: "File Size: (.+?)$"
- name: replace
args: ["s", ""]
size:
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -184,11 +184,14 @@ caps:
- {id: 228, cat: Other, desc: "GFXNEWS PHOTOSHOP Actions, Pattern & Styles"}
- {id: 229, cat: Other, desc: "GFXNEWS PHOTOSHOP Background & PSD Source"}
- {id: 230, cat: Other, desc: "GFXNEWS PHOTOSHOP Brushes & Gradient"}
- {id: 246, cat: Other, desc: "GFXNEWS PHOTOSHOP Mockup"}
- {id: 247, cat: Other, desc: "GFXNEWS PHOTOSHOP Overlays"}
- {id: 249, cat: Other, desc: "GFXNEWS PHOTOSHOP Preset"}
- {id: 231, cat: Other, desc: "GFXNEWS PHOTOSHOP Toolkits, Papers & Objects"}
- {id: 245, cat: Other, desc: "GFXNEWS PLUGINS"}
- {id: 225, cat: Other, desc: "GFXNEWS PLUGINS LINUX"}
- {id: 223, cat: Other, desc: "GFXNEWS PLUGINS MAC"}
- {id: 210, cat: Other, desc: "GFXNEWS PLUGINS WIN"}
- {id: 223, cat: Other, desc: "GFXNEWS PLUGINS MAC"}
- {id: 225, cat: Other, desc: "GFXNEWS PLUGINS LINUX"}
- {id: 217, cat: Other, desc: "GFXNEWS SCRIPTS - WEB PROGRAMMING"}
- {id: 218, cat: Other, desc: "GFXNEWS TEMPLATES"}
- {id: 232, cat: Other, desc: "GFXNEWS TEXTURES"}
@@ -280,7 +283,7 @@ search:
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "01-02-2006 -07:00"
args: "MM-dd-yyyy zzz"
fields:
title:
@@ -297,26 +300,22 @@ search:
filters:
- name: querystring
args: f
size_optional:
optional: true
selector: td:contains(\00a0GB), td:contains(\00a0MB), td:contains(\00a0kB), td:contains(\00a0B)
size:
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
seeders_optional:
selector: td:contains(\00a0GB), td:contains(\00a0MB), td:contains(\00a0kB), td:contains(\00a0B)
optional: true
selector: td[title="Seeders"]
default: 0
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
selector: td[title="Seeders"]
optional: true
selector: td[title="Leechers"]
default: 0
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
grabs_optional:
selector: td[title="Leechers"]
optional: true
selector: td[title^="Replies:"]
default: 0
grabs:
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
selector: td[title^="Replies:"]
optional: true
default: 0
downloadvolumefactor:
text: 1
uploadvolumefactor:

View File

@@ -79,7 +79,7 @@ search:
selector: td:nth-child(2) > div:nth-child(2)
filters:
- name: dateparse
args: "2-01-2006 15:04"
args: "d-MM-yyyy HH:mm"
size:
selector: td:nth-child(5)
grabs:

View File

@@ -15,6 +15,7 @@ caps:
- {id: 51, cat: PC/Mac, desc: "Apple"}
- {id: 3, cat: PC, desc: "Apps"}
- {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"}
- {id: 71, cat: Console, desc: "Batocera"}
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
- {id: 22, cat: Console, desc: "CoinOps"}
- {id: 42, cat: Console, desc: "CoinOPS Official"}
@@ -121,11 +122,10 @@ search:
args: category
title_default:
selector: a[href*="/details.php?id="]
title_optional:
optional: true
selector: div.tooltip-content > div
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
selector: div.tooltip-content > div
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href*="/details.php?id="]
attribute: href
@@ -162,5 +162,5 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "02-01-2006 15:04 -07:00"
args: "dd-MM-yyyy HH:mm zzz"
# TS Special Edition v.8.0

View File

@@ -5,16 +5,17 @@ description: "Badass Torrents is a Public torrent site for MOVIES / TV / GENERAL
language: en-US
type: public
encoding: UTF-8
requestDelay: 2
requestDelay: 5
links:
- https://badasstorrents.com/
- https://badasstorrents.nocensor.art/
- https://badasstorrents.mrunblock.guru/
legacylinks:
- https://badasstorrents.nocensor.work/
- https://badasstorrents.nocensor.biz/
- https://badasstorrents.nocensor.sbs/
- https://badasstorrents.nocensor.world/
- https://badasstorrents.nocensor.lol/
- https://badasstorrents.nocensor.art/
caps:
categories:
@@ -81,8 +82,6 @@ search:
paths:
- path: "torrents/{{ if .Keywords }}search/{{ .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}"
- path: "torrents/{{ if .Keywords }}search/{{ .Keywords }}/{{ else }}{{ end }}26/{{ .Config.sort }}/{{ .Config.type }}"
- path: "torrents/{{ if .Keywords }}search/{{ .Keywords }}/{{ else }}{{ end }}51/{{ .Config.sort }}/{{ .Config.type }}"
- path: "torrents/{{ if .Keywords }}search/{{ .Keywords }}/{{ else }}{{ end }}76/{{ .Config.sort }}/{{ .Config.type }}"
rows:
selector: table.table-hover > tbody > tr:has(a[href*="/torrent/"])

View File

@@ -64,11 +64,10 @@ search:
date:
# 2021-10-19T06:10:15.772Z
selector: publish_time
size_optional:
optional: true
selector: size
size:
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
selector: size
optional: true
default: 0 B
grabs:
selector: downloads
seeders:

View File

@@ -90,6 +90,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -97,12 +98,11 @@ search:
fields:
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
category:
selector: a[href^="?cat="]
attribute: href
@@ -127,7 +127,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
@@ -136,7 +136,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -135,13 +135,12 @@ search:
title_default:
# can be abbreviated
selector: a[href^="details.php?id="]
title_optional:
title:
# usually full length
selector: a[href^="details.php?id="]
attribute: title
optional: true
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -169,7 +168,7 @@ search:
- name: replace
args: ["\xA0", " "]
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
files:
selector: td:nth-child(5)
size:

View File

@@ -76,7 +76,6 @@ search:
inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tmdb: "{{ .Query.TMDBID }}"
sorting: "{{ .Config.sort }}"
@@ -87,15 +86,14 @@ search:
selector: div.table-torrents > table > tbody > tr[id^="torrentposter"]
fields:
category_optional:
category:
selector: a[href*="/categories/"]
optional: true
attribute: href
optional: true
default: 1
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
category:
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}1{{ end }}"
title:
selector: a.torrent-name
details:

View File

@@ -80,14 +80,13 @@ search:
div[title="Comics"]: 4
div[title="Ebooks"]: 5
div[title="Magazines"]: 7
author_optional:
selector: .authorLink
optional: true
_editor:
selector: .editorLink
optional: true
author:
text: "{{ or .Result.author_optional .Result._editor }}"
selector: .authorLink
optional: true
default: "{{ .Result._editor }}"
year:
selector: .torYear
optional: true
@@ -108,9 +107,10 @@ search:
selector: .title a
attribute: href
date:
optional: true
selector: .t_files_size_added time
attribute: datetime
optional: true
default: now
download:
selector: a[title="Download"]
attribute: href
@@ -122,21 +122,18 @@ search:
size:
selector: .t_files_size_added span
attribute: data-bytecount
seeders_optional:
optional: true
selector: .seeders
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
selector: .seeders
optional: true
selector: .leechers
default: 0
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
grabs_optional:
selector: .leechers
optional: true
selector: .snatches
default: 0
grabs:
text: "{{ if .Result.grabs_optional }}{{ .Result.grabs_optional }}{{ else }}0{{ end }}"
selector: .snatches
optional: true
default: 0
downloadvolumefactor:
text: 1
uploadvolumefactor:

View File

@@ -183,7 +183,7 @@ search:
- name: append
args: " +03:00" # MSK
- name: dateparse
args: "2 January 2006 15:04:05 -07:00"
args: "d MMMM yyyy HH:mm:ss zzz"
downloadvolumefactor:
text: 0
uploadvolumefactor:

View File

@@ -63,7 +63,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Filter freeleech only
@@ -117,49 +117,39 @@ search:
# can support genre searching but you need to know the id, eg &genre23=1 for Comedy (id is 23)
rows:
selector: "table[width=\"100%\"][align=\"center\"]:first-child tbody tr:has(div.tooltip){{ 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
genre:
selector: span.tooltiptext
description:
text: "{{ .Result.genre }}"
title:
selector: div.tooltip
remove: span
selector: a.preview
_id:
selector: td.tori_infok
attribute: id
filters:
- name: regexp
args: (\d+)
details:
selector: a[href^="details.php?id="]
attribute: href
text: "details.php?id={{ .Result._id }}#adatlap"
download:
text: "download.php?torrent={{ .Result._id }}"
poster:
selector: a.preview
attribute: href
download_1:
selector: a[href^="download.php?torrent="]
optional: true
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
download_2:
selector: input[onclick*="download.php?torrent="]
optional: true
attribute: onclick
filters:
- name: replace
args: ["window.open('", ""]
- name: replace
args: ["', '_self');", ""]
download:
text: "{{ if or .Result.download_1 .Result.download_2 }}{{ or .Result.download_1 .Result.download_2 }}{{ else }}{{ end }}"
size:
selector: td:nth-child(6)
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:nth-child(7) span:last-child
selector: td[id^="t_added_"] > span
filters:
- name: replace
args: ["és ", " "]
@@ -180,6 +170,10 @@ search:
selector: td:nth-child(3)
leechers:
selector: td:nth-child(4)
genre:
selector: span[style="font-size:small;"]
description:
text: "{{ .Result.genre }}"
downloadvolumefactor:
case:
"i:contains(\"(Free)\")": 0

View File

@@ -126,7 +126,7 @@ search:
- name: append
args: " +07:00" # ICT
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
args: "yyyy-MM-ddHH:mm:ss zzz"
size:
selector: td:nth-last-child(5)
grabs:

View File

@@ -59,7 +59,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -137,7 +137,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
downloadvolumefactor:
case:
img[title="Ingyenes letöltés"]: 0

View File

@@ -87,12 +87,11 @@ search:
args: "/invalid.torrent"
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -126,14 +125,13 @@ search:
selector: td:nth-child(6) > u
downloadvolumefactor:
text: 0
uploadvolumefactor_optional:
optional: true
uploadvolumefactor:
selector: td:nth-child(5) > nobr > font:contains(" × ")
optional: true
default: 1
filters:
- name: replace
args: ["×", ""]
uploadvolumefactor:
text: "{{ if .Result.uploadvolumefactor_optional }}{{ .Result.uploadvolumefactor_optional }}{{ else }}1{{ end }}"
date_year:
selector: td:nth-child(5):contains('.')
optional: true

View File

@@ -111,7 +111,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
downloadvolumefactor:
text: 1
uploadvolumefactor:

View File

@@ -131,7 +131,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-child(5)
grabs:

View File

@@ -166,7 +166,7 @@ search:
- name: append
args: " +03:00" # MSK
- name: dateparse
args: "02 January 2006 15:04 -07:00"
args: "dd MMMM yyyy HH:mm zzz"
date:
text: "{{ if or .Result.date_today .Result.date_year }}{{ or .Result.date_today .Result.date_year }}{{ else }}now{{ end }}"
size:

View File

@@ -7,6 +7,7 @@ type: public
encoding: UTF-8
links:
- https://bitsearch.to/
- https://bitsearch.mrunblock.guru/
legacylinks:
- https://bitsearch.nocensor.biz/
- https://bitsearch.nocensor.sbs/
@@ -134,7 +135,7 @@ search:
selector: div.stats div:has(img[alt="Date"])
filters:
- name: dateparse
args: "Jan 2, 2006"
args: "MMM d, yyyy"
downloadvolumefactor:
text: 0
uploadvolumefactor:

View File

@@ -161,7 +161,7 @@ search:
optional: true
filters:
- name: dateparse
args: "Jan 2 2006 03:04 PM"
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:

View File

@@ -4,7 +4,7 @@ name: Bitspyder
description: "Bitspyder is a Private site for Educational BOOKS / AUDIO"
language: en-US
type: private
encoding: windows-1252
encoding: iso-8859-1
links:
- https://bitspyder.net/
legacylinks:
@@ -87,7 +87,8 @@ login:
error:
- selector: td.msg_info > font > b
test:
path: browse.php
path: index.php
selector: a[href="logout.php"]
search:
paths:
@@ -154,7 +155,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_upload:
optional: true
selector: a[title^="Upploaded at"]
@@ -167,7 +168,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_upload .Result.date_added }}{{ or .Result.date_upload .Result.date_added }}{{ else }}now{{ end }}"
downloadvolumefactor:

View File

@@ -96,7 +96,7 @@ settings:
- name: info
type: info
label: Layout
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b><li>And set the <b>Language (Dil)</b> to <b>English</b><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</ol>"
default: "<ol><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b></li><li>And set the <b>Language (Dil)</b> to <b>English</b></li><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</li></ol>"
- name: sort
type: select
label: Sort requested from site
@@ -193,7 +193,7 @@ search:
- name: regexp
args: "Uploaded (.+?) by"
- name: dateparse
args: "02-01-2006 15:04"
args: "dd-MM-yyyy HH:mm"
date_unix:
# within the hour (unix)
selector: abbr[data-time]

View File

@@ -72,8 +72,14 @@ search:
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 }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
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
@@ -137,7 +143,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:

View File

@@ -106,26 +106,22 @@ search:
poster:
selector: img[src*="/thbx/imgx/"]
attribute: src
files_optional:
files:
selector: a[href$="filelist=1"]
optional: true
files:
text: "{{ if .Result.files_optional }}{{ .Result.files_optional }}{{ else }}1{{ end }}"
size_optional:
default: 1
size:
selector: td:nth-child(3)
optional: true
size:
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}0 B{{ end }}"
seeders_optional:
default: 0
seeders:
selector: a[href$="toseeders=1"]
optional: true
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
default: 0
leechers:
selector: a[href$="todlers=1"]
optional: true
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
default: 0
date:
text: now
downloadvolumefactor:

View File

@@ -121,7 +121,7 @@ search:
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
args: "yyyy-MM-ddHH:mm:ss zzz"
size:
selector: td:nth-last-child(5)
grabs:

View File

@@ -49,7 +49,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
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>"
login:
method: cookie
@@ -109,7 +109,7 @@ search:
- name: append
args: " +03:00" # TRT
- name: dateparse
args: "02-01-2006 15:04 -07:00"
args: "dd-MM-yyyy HH:mm zzz"
size:
selector: td:nth-child(5)
grabs:

View File

@@ -66,10 +66,30 @@ 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
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
- path: "/api/torrents/filter"
response:
type: json
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
args: ["\\.", " "]
rows:
selector: data
attribute: attributes
@@ -77,32 +97,41 @@ search:
selector: meta.total
fields:
categorydesc:
selector: category
category:
selector: category_id
title:
selector: name
details:
selector: details_link
download:
selector: download_link
size:
selector: size
magnet:
selector: magnet_link
optional: true
infohash:
selector: info_hash
poster:
selector: poster
selector: meta.poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
- name: replace
args: ["https://via.placeholder.com/400x600", ""]
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:
@@ -118,13 +147,19 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
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
@@ -136,4 +171,4 @@ search:
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 5.3.0
# json UNIT3D 6.5.0

View File

@@ -61,7 +61,7 @@ search:
selector: span:nth-last-child(5) b
filters:
- name: dateparse
args: "2006-01-02"
args: "yyyy-MM-dd"
files:
selector: span:nth-last-child(4) b
size:

View File

@@ -7,13 +7,13 @@ type: public
encoding: UTF-8
links:
- https://btdig.com/
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ly/
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.tor2web.to/
legacylinks:
- http://btdiggwzoyrwwbiv.onion.ly/
- https://btdiggwzoyrwwbiv.onion.ly/
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ws/ # redirects to spam
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.pet/ # not found
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.onion.ly/ # 504 gateway timeout
- https://btdigggink2pdqzqrik3blmqemsbntpzwxottujilcdjfz56jumzfsyd.tor2web.to/ # 504 gateway timeout
caps:
categories:
@@ -71,11 +71,10 @@ search:
filters:
- name: replace
args: ["found ", ""]
files_optional:
files:
selector: span.torrent_files
optional: true
files:
text: "{{ if .Result.files_optional }}{{ .Result.files_optional }}{{ else }}1{{ end }}"
default: 1
size:
selector: span.torrent_size
seeders:

View File

@@ -61,7 +61,7 @@ search:
- name: replace
args: [" ", " 0"]
- name: dateparse
args: "01/02 15:04"
args: "MM/dd HH:mm"
size:
selector: td:nth-child(6)
grabs:

View File

@@ -114,7 +114,7 @@ settings:
- name: info
type: info
label: Layout
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Lista de Torrents)</b> option in your profile to <b>Classic (Clássico)</b><li>Using the <i>Moderna</i> theme will prevent results.</ol>"
default: "<ol><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Lista de Torrents)</b> option in your profile to <b>Classic (Clássico)</b></li><li>Using the <i>Moderna</i> theme will prevent results.</li></ol>"
- name: sort
type: select
label: Sort requested from site
@@ -238,7 +238,7 @@ search:
- name: append
args: " +00:00" # WET
- name: dateparse
args: "02-01-2006 15:04 -07:00"
args: "dd-MM-yyyy HH:mm zzz"
date_day:
selector: td.torrent_name:not(:has(abbr.timeago)):contains("day"), td.torrent_name:not(:has(abbr.timeago)):contains("Domingo"), td.torrent_name:not(:has(abbr.timeago)):contains("Sábado"), td.torrent_name:not(:has(abbr.timeago)):contains("Quinta"), td.torrent_name:not(:has(abbr.timeago)):contains("Sexta"), td.torrent_name:not(:has(abbr.timeago)):contains("Quarta"), td.torrent_name:not(:has(abbr.timeago)):contains("Terça"), td.torrent_name:not(:has(abbr.timeago)):contains("Segunda"), td.torrent_name:not(:has(abbr.timeago)):contains("ontem"), td.torrent_name:not(:has(abbr.timeago)):contains("Hoje")
optional: true

View File

@@ -82,6 +82,7 @@ search:
search_mode: 0
sort: 4
type: desc
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -111,7 +112,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
@@ -120,7 +121,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -7,9 +7,8 @@ type: public
encoding: UTF-8
# use https://tellme.pw/btsow to find the new domain
links:
- https://btsow.beauty/
- https://btsow.boats/
legacylinks:
- https://btsow.store/
- https://btsow.surf/
- https://btsow.com/
- https://btsow.cam/
@@ -24,6 +23,8 @@ legacylinks:
- https://btsow.sbs/
- https://btsow.quest/
- https://btsow.autos/
- https://btsow.beauty/
- https://btsow.mom/
caps:
categories:
@@ -72,7 +73,7 @@ search:
- name: append
args: " -00:00" # GMT
- name: dateparse
args: "2006-01-02 -07:00"
args: "yyyy-MM-dd zzz"
size:
selector: div.size
seeders:

View File

@@ -7,6 +7,7 @@ type: public
encoding: UTF-8
links:
- https://www.bulltorrent.com/
- https://toros.mrunblock.guru/
legacylinks:
- https://toros.nocensor.space/
- https://toros.nocensor.work/
@@ -108,7 +109,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2 Jan -07:00"
args: "d MMM zzz"
date:
text: "{{ if or .Result.date_year .Result.date_ago .Result.date_day }}{{ or .Result.date_year .Result.date_ago .Result.date_day }}{{ else }}now{{ end }}"
size:

View File

@@ -7,6 +7,9 @@ type: private
encoding: UTF-8
links:
- https://bwtorrents.tv/
- https://bwtorrents.co/
- https://bwtorrents.cc/
legacylinks:
- https://bwtorrents.fun/
- https://bwtorrents.xyz/
- https://bwtorrents.us/
@@ -187,7 +190,7 @@ search:
# auto adjusted by site account profile
filters:
- name: dateparse
args: "02-01-200615:04:05"
args: "dd-MM-yyyyHH:mm:ss"
size:
selector: td:nth-child(6)
download:

View File

@@ -98,6 +98,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -111,12 +112,11 @@ search:
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -135,7 +135,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-last-of-type(6):not(:has(span))
@@ -144,7 +144,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -383,7 +383,7 @@ search:
- name: regexp
args: ".*/(\\d{4}-\\d{2})/.*"
- name: dateparse
args: "2006-01"
args: "yyyy-MM"
seeders:
text: 1
leechers:
@@ -391,6 +391,7 @@ search:
size_rus:
selector: div.shor_subtitles span:nth-child(2):contains("Б")
optional: true
default: "0 B"
filters:
- name: replace
args: ["ТБ", "TB"]
@@ -400,11 +401,10 @@ search:
args: ["МБ", "MB"]
- name: replace
args: ["КБ", "KB"]
size_eng:
size:
selector: div.shor_subtitles span:nth-child(2):contains("B")
optional: true
size:
text: "{{ if or .Result.size_rus .Result.size_eng }}{{ or .Result.size_rus .Result.size_eng }}{{ else }}0 B{{ end }}"
default: "{{ .Result.size_rus }}"
downloadvolumefactor:
text: 0
uploadvolumefactor:

View File

@@ -57,7 +57,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -154,7 +154,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
files:
selector: td:nth-last-child(7)
size:

View File

@@ -102,6 +102,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
@@ -115,12 +116,11 @@ search:
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -147,7 +147,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
@@ -156,7 +156,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -173,7 +173,7 @@ search:
- name: re_replace
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
- name: dateparse
args: "January 02 2006 03:04:05 PM"
args: "MMMM dd yyyy hh:mm:ss tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
seeders:

View File

@@ -146,7 +146,7 @@ search:
# auto adjusted by site account profile
filters:
- name: dateparse
args: "Jan 02 2006, 15:04"
args: "MMM dd yyyy, HH:mm"
size:
selector: td:nth-child(6)
grabs:

View File

@@ -135,7 +135,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
args: "yyyy-MM-ddHH:mm:ss zzz"
downloadvolumefactor:
case:
"font[color=\"#C20603\"]:contains(\"免费\")": 0

View File

@@ -96,6 +96,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
# can support genre searching but you need to know the id, eg &team10=1 for Drama (id is 10)
rows:
@@ -110,12 +111,11 @@ search:
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -134,7 +134,7 @@ search:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td.rowfollow:nth-child(4):not(:has(span))
@@ -143,7 +143,7 @@ search:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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:

View File

@@ -60,8 +60,13 @@ settings:
asc: asc
login:
path: takelogin.php
method: post
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
@@ -90,6 +95,7 @@ search:
search_mode: 0
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
notnewword: 1
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
@@ -103,12 +109,11 @@ search:
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
optional: true
title:
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
optional: true
default: "{{ .Result.title_default }}"
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -132,7 +137,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
@@ -141,7 +146,7 @@ search:
- name: append
args: " +08:00" # CST
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
args: "yyyy-MM-ddHH:mm:ss zzz"
date:
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
downloadvolumefactor:

View File

@@ -83,12 +83,9 @@ search:
inputs:
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: "{{ .Query.TVDBID }}"
tmdb: "{{ .Query.TMDBID }}"
mal: ""
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100

View File

@@ -84,7 +84,7 @@ search:
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
args: "yyyy-MM-ddHH:mm:ss zzz"
size:
selector: td:nth-child(5)
filters:

View File

@@ -45,7 +45,7 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -56,15 +56,15 @@ settings:
default: false
- name: multilang
type: checkbox
label: Replace MULTI & PL by another language in release name
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI & PL by this language
label: Replace MULTi by this language
default: POLISH
options:
POLISH: POLISH
MULTI.POLISH: MULTI.POLISH
MULTi POLISH: MULTi POLISH
- name: sort
type: select
label: Sort requested from site
@@ -122,9 +122,9 @@ search:
text: "{{ .Result.title_raw }}"
filters:
- name: re_replace
args: ["(?i)(\\[multi\\])", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(MULTI(?!.*(?:POLISH|ENGLISH|\\bPL\\b)))\\b", "{{ .Config.multilanguage }}"]
- name: re_replace
args: ["(?i)(\\[pl\\])", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(pl)\\b", "POLISH"]
title_phase1:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_raw }}{{ end }}"
title_stripped:
@@ -170,7 +170,7 @@ search:
- name: append
args: " +02:00" # EET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-child(4)
seeders:

View File

@@ -1,81 +0,0 @@
---
id: cloudtorrents
name: CloudTorrents
description: "CloudTorrents is a Public Torrent Tracker for MOVIES / TV / GENERAL"
language: en-US
type: public
encoding: UTF-8
links:
- https://cloudtorrents.com/
caps:
categorymappings:
- {id: anime, cat: TV/Anime, desc: Anime}
- {id: applications, cat: PC, desc: Applications}
- {id: books, cat: Books, desc: Books}
- {id: games, cat: Console, desc: Games}
- {id: movies, cat: Movies, desc: Movies}
- {id: music, cat: Audio, desc: Music}
- {id: other, cat: Other, desc: Other}
- {id: tv, cat: TV, desc: TV}
- {id: xxx, cat: XXX, desc: XXX}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings: []
download:
selectors:
- selector: a[href^="magnet:?xt="]
attribute: href
search:
headers:
# site blocks automation User-Agents, so slightly alter it here (e.g. Safari/537.37 > Safari/537.36)
User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36"]
paths:
- path: "{{ if .Keywords }}search?query={{ .Keywords }}{{ else }}latest{{ end }}"
rows:
selector: table > tbody > tr:has(a)
fields:
category:
selector: a
attribute: href
filters:
- name: split
args: ["/", 1]
title:
selector: a b
details:
selector: a
attribute: href
download:
selector: a
attribute: href
seeders:
selector: td[data-title="Se"]
leechers:
selector: td[data-title="Le"]
date:
selector: span[title]
attribute: title
filters:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "02 Jan, 2006 15:04 -07:00"
size:
selector: td[data-title="Size"]
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -71,7 +71,7 @@ settings:
- name: info_free
type: info
label: About Freeleech and OnlyUpload at Coastal Crew
default: <li>FreeLeech are torrents where neither the download or upload is counted. (On the Jackett dashboard search results these are tagged as NoUpload).</li><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech).</li>
default: "<ul><li>FreeLeech are torrents where neither the download or upload is counted. (On the Jackett dashboard search results these are tagged as NoUpload).</li><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech).</li></ul>"
- name: sort
type: select
label: Sort requested from site
@@ -157,7 +157,7 @@ search:
- name: replace
args: ["\xA0", " "]
- name: dateparse
args: "02.01.2006 15:04:05 -07:00"
args: "dd.MM.yyyy HH:mm:ss zzz"
downloadvolumefactor:
case:
img[src="pic/oupic.gif"]: 0 # only upload is counted

View File

@@ -67,7 +67,7 @@ search:
- name: append
args: " +08:00" # CST (China)
- name: dateparse
args: "2006/01/02 -07:00"
args: "yyyy/MM/dd zzz"
date_today:
selector: td:nth-child(1):contains("今天")
optional: true
@@ -77,7 +77,7 @@ search:
- name: append
args: " +08:00" # CST (China)
- name: timeparse
args: "15:04 -07:00"
args: "HH:mm zzz"
date_yday:
selector: td:nth-child(1):contains("昨天")
optional: true

View File

@@ -7,8 +7,9 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://labastidevivante.fr/
- https://cpasbiens911.fr/
legacylinks:
- https://labastidevivante.fr/
- http://www.cpasbiens.cc/
- http://www.cpabien.cm/
- http://cpabien.cm/
@@ -66,22 +67,22 @@ settings:
default: cpasbien does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTI.FRENCH: MULTI.FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTI.ENGLISH: MULTI.ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTI.VOSTFR: MULTI.VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
download:
@@ -109,45 +110,25 @@ search:
fields:
category:
text: Other
_site_date:
selector: a
filters:
# date is at the end of the title, so we get it and name it _site_date
- name: regexp
args: "(19|20\\d{2})$"
title_phase1:
selector: a
filters:
# now we put the date at the right place according scene naming rules using .Result._site_date
- name: re_replace
args: ["(?i)( FRENCH)", " {{ .Result._site_date }} FRENCH"]
- name: re_replace
args: ["(?i)( MULTI)", " {{ .Result._site_date }} MULTI"]
- name: re_replace
args: ["(?i)( TRUEFRENCH)", " {{ .Result._site_date }} TRUEFRENCH"]
- name: re_replace
args: ["(?i)( VOSTFR)", " {{ .Result._site_date }} VOSTFR"]
- name: re_replace
args: ["(?i)( SUBFRENCH)", " {{ .Result._site_date }} SUBFRENCH"]
# and we delete it at the end
- name: re_replace
args: ["(19|20\\d{2})$", ""]
title_multilang:
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_vostfr:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
- name: re_replace
args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a
attribute: href
@@ -158,16 +139,14 @@ search:
selector: div.poid
date:
text: now
seeders_optional:
seeders:
selector: div.up
optional: true
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
default: 0
leechers:
selector: div.down
optional: true
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
default: 0
downloadvolumefactor:
text: 0
uploadvolumefactor:

View File

@@ -39,22 +39,22 @@ settings:
default: cpasbienclone does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTI.FRENCH: MULTI.FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTI.ENGLISH: MULTI.ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTI.VOSTFR: MULTI.VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
- name: sort
type: select
@@ -88,45 +88,25 @@ search:
fields:
category:
text: Other
_site_date:
selector: a
filters:
# year can be at the end of the title, so we get it and name it _site_date
- name: regexp
args: "(19|20\\d{2})$"
title_phase1:
selector: a
filters:
# now we put the date at the right place according scene naming rules using .Result._site_date
- name: re_replace
args: ["(?i)( FRENCH)", " {{ .Result._site_date }} FRENCH"]
- name: re_replace
args: ["(?i)( MULTI)", " {{ .Result._site_date }} MULTI"]
- name: re_replace
args: ["(?i)( TRUEFRENCH)", " {{ .Result._site_date }} TRUEFRENCH"]
- name: re_replace
args: ["(?i)( VOSTFR)", " {{ .Result._site_date }} VOSTFR"]
- name: re_replace
args: ["(?i)( SUBFRENCH)", " {{ .Result._site_date }} SUBFRENCH"]
# and we delete it at the end
- name: re_replace
args: ["(19|20\\d{2})$", ""]
title_multilang:
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_vostfr:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
- name: re_replace
args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a
attribute: href
@@ -159,16 +139,14 @@ search:
args: ["(\\d+)\\.\\d", "$1 MB"]
date:
text: now
seeders_optional:
seeders:
selector: div.up
optional: true
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
default: 0
leechers:
selector: div.down
optional: true
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
default: 0
downloadvolumefactor:
text: 0
uploadvolumefactor:

View File

@@ -24,22 +24,22 @@ settings:
default: cpasbiensi does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTI.FRENCH: MULTI.FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTI.ENGLISH: MULTI.ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTI.VOSTFR: MULTI.VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
download:
@@ -57,45 +57,25 @@ search:
fields:
category:
text: Other
_site_date:
selector: a
filters:
# year can be at the end of the title, so we get it and name it _site_date
- name: regexp
args: "(19|20\\d{2})$"
title_phase1:
selector: a
filters:
# now we put the date at the right place according scene naming rules using .Result._site_date
- name: re_replace
args: ["(?i)( FRENCH)", " {{ .Result._site_date }} FRENCH"]
- name: re_replace
args: ["(?i)( MULTI)", " {{ .Result._site_date }} MULTI"]
- name: re_replace
args: ["(?i)( TRUEFRENCH)", " {{ .Result._site_date }} TRUEFRENCH"]
- name: re_replace
args: ["(?i)( VOSTFR)", " {{ .Result._site_date }} VOSTFR"]
- name: re_replace
args: ["(?i)( SUBFRENCH)", " {{ .Result._site_date }} SUBFRENCH"]
# and we delete it at the end
- name: re_replace
args: ["(19|20\\d{2})$", ""]
title_multilang:
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
title_vostfr:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase2:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_vostfr:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
- name: re_replace
args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
details:
selector: a
attribute: href
@@ -106,16 +86,14 @@ search:
selector: div.poid
date:
text: now
seeders_optional:
seeders:
selector: div.up
optional: true
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
default: 0
leechers:
selector: div.down
optional: true
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
default: 0
downloadvolumefactor:
text: 0
uploadvolumefactor:

View File

@@ -96,14 +96,14 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
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>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</ol>"
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: freeleech
type: checkbox
label: Search freeleech only
@@ -203,7 +203,7 @@ search:
# auto adjusted by site account profile
filters:
- name: dateparse
args: "02/01/2006"
args: "dd/MM/yyyy"
seeders:
selector: div.torrent-seeder
leechers:

View File

@@ -113,29 +113,29 @@ settings:
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
label: Replace MULTi by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
label: Replace MULTi by this language
default: FRENCH
options:
FRENCH: FRENCH
MULTI.FRENCH: MULTI.FRENCH
MULTi FRENCH: MULTi FRENCH
ENGLISH: ENGLISH
MULTI.ENGLISH: MULTI.ENGLISH
MULTi ENGLISH: MULTi ENGLISH
VOSTFR: VOSTFR
MULTI.VOSTFR: MULTI.VOSTFR
MULTi VOSTFR: MULTi VOSTFR
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
label: Replace VOSTFR and SUBFRENCH with ENGLISH
default: false
- name: sort
type: select
@@ -208,22 +208,20 @@ search:
args: ["-NoTag", ""]
title_phase2:
text: "{{ if .Result.title_phase1 }}{{ .Result.title_phase1 }}{{ else }}{{ .Result.title_phase0 }}{{ end }}"
title_multilang:
title_vostfr:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
title_phase3:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
title_vostfr:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
title_multilang:
text: "{{ .Result.title_phase3 }}"
filters:
- name: re_replace
args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
- name: re_replace
args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase3 }}{{ end }}"
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase3 }}{{ end }}"
category:
selector: a[href^="torrents.php?cat="]
attribute: href
@@ -274,7 +272,7 @@ search:
- name: regexp
args: "Partagé Voilà : </b>(.*?)<br"
- name: dateparse
args: "01-02-2006"
args: "MM-dd-yyyy"
downloadvolumefactor:
case:
img[src="images/Torrents/free.png"]: 0

View File

@@ -13,6 +13,7 @@ legacylinks:
caps:
categorymappings:
- {id: 65, cat: Movies/3D, desc: "3D Film"}
- {id: 82, cat: Movies/UHD, desc: "4K video"}
- {id: 79, cat: PC/Mobile-Android, desc: "Android"}
- {id: 37, cat: Movies, desc: "Deca"}
- {id: 43, cat: TV/Documentary, desc: "Dokumentarci"}
@@ -26,12 +27,12 @@ caps:
- {id: 61, cat: Movies/HD, desc: "HD Mesano"}
- {id: 50, cat: PC/Games, desc: "Igre"}
- {id: 44, cat: Books, desc: "Knjige"}
- {id: 80, cat: TV, desc: "Paketi"}
- {id: 46, cat: Audio, desc: "Koncerti"}
- {id: 58, cat: Audio/Lossless, desc: "Lossless/Domaće"}
- {id: 59, cat: Audio/Lossless, desc: "Lossless/Strano"}
- {id: 5, cat: Audio/MP3, desc: "MP3/Domaće"}
- {id: 57, cat: Audio/MP3, desc: "MP3/Strano"}
- {id: 80, cat: TV, desc: "Paketi"}
- {id: 49, cat: PC, desc: "Programi"}
- {id: 28, cat: Other, desc: "Razno"}
- {id: 62, cat: TV/SD, desc: "SD Boxset"}
@@ -155,7 +156,7 @@ search:
optional: true
filters:
- name: dateparse
args: "Jan 2 2006 03:04 PM"
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:

View File

@@ -28,7 +28,7 @@ settings:
- name: info_cookie
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -136,7 +136,7 @@ search:
# auto adjusted by site account profile
filters:
- name: dateparse
args: "Jan 02 2006, 15:04"
args: "MMM dd yyyy, HH:mm"
size:
selector: td:nth-child(6)
grabs:

View File

@@ -77,10 +77,23 @@ login:
search:
paths:
- path: "/api/torrents/v2/filter?api_token={{ .Config.apikey }}&search={{ .Keywords }}{{ if .Query.IMDBIDShort }}&imdb={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdb={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdb={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&freeleech=1{{ else }}{{ end }}&sorting={{ .Config.sort }}&direction={{ .Config.type }}&qty=100&page=1"
- path: api/torrents/v2/filter
response:
type: json
inputs:
api_token: "{{ .Config.apikey }}"
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
search: "{{ .Keywords }}"
imdb: "{{ .Query.IMDBIDShort }}"
tmdb: "{{ .Query.TMDBID }}"
tvdb: "{{ .Query.TVDBID }}"
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sorting: "{{ .Config.sort }}"
direction: "{{ .Config.type }}"
qty: 100
page: 1
rows:
selector: torrents
count:
@@ -124,7 +137,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:

View File

@@ -143,7 +143,7 @@ search:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
args: "yyyy-MM-dd HH:mm:ss zzz"
size:
selector: td:nth-last-child(4) b
grabs:

View File

@@ -1,230 +0,0 @@
---
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://dark-shadow.me/
legacylinks:
- https://dark-shadow.ml/
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"}
# Kids
- {id: 143, cat: Movies, desc: "Kids Filme"}
- {id: 144, cat: TV, desc: "Kids Serien"}
- {id: 145, cat: Audio, desc: "Kids Music"}
- {id: 146, cat: Audio, desc: "Kids Audio"}
- {id: 147, cat: Books, desc: "Kids EBook"}
# 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"}
# App
- {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"}
# Paper
- {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: info_pin
type: info
label: About Pin
default: If you have not set a Pin for your account then leave this box empty.
- name: pin
type: text
label: Pin
- 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
captcha:
type: image
selector: img[src^="cap/captcha_math.php"]
input: stringCaptcha
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
pin: "{{ .Config.pin }}"
error:
- selector: div#login_error
test:
path: selection.php
download:
before:
path: ajax_det_poll.php
method: post
inputs:
set_thanks: thanks
det_id: "{{ .DownloadUri.Query.torrent }}"
ajax: yes
search:
paths:
- path: selection.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 name, 1 descr, 2 both
# name searching is broken. #10788
blah: 1
orderby: "{{ .Config.sort }}"
sort: "{{ .Config.type }}"
rows:
selector: "div.selection_wrap{{ if .Config.freeleech }}:root:has(div.onlyup){{ else }}{{ end }}"
filters:
- name: andmatch
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:
- name: re_replace
args: ["^(\\[.*\\])(.*)", "$2"]
details:
selector: a.selection_a
attribute: href
download:
selector: a.selection_a
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download_ssl.php?torrent="]
poster:
selector: div[id^="details"] img
attribute: src
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
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: "02.01.2006 15:04:05 -07:00"
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:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# 3xT

View File

@@ -79,8 +79,14 @@ search:
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 }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
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
@@ -144,7 +150,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "01/02/2006 15:04:05 -07:00"
args: "MM/dd/yyyy HH:mm:ss zzz"
size:
selector: size
downloadvolumefactor:
@@ -169,4 +175,4 @@ search:
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 6.4.1
# json UNIT3D 6.5.0

View File

@@ -116,7 +116,7 @@ search:
- name: append
args: " +00:00" # GMT
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
args: "yyyy-MM-ddHH:mm:ss zzz"
downloadvolumefactor:
text: 1
uploadvolumefactor:

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