Compare commits

...

218 Commits

Author SHA1 Message Date
Garfield69
c2ff657272 add DesiReleasers an Indian private tracker. 2019-03-25 04:51:23 +13:00
Fippsy
0d3c29df4f Add world-of-tomorrow a private German tracker. (#4951) 2019-03-25 03:39:11 +13:00
Fippsy
8d195f3c8e add das-unerwartete a private German tracker (#4950) 2019-03-25 03:29:55 +13:00
flightlevel
d5dea458cb Separate Windows Appveyor and dev builds 2019-03-24 16:22:12 +11:00
flightlevel
b9b94009bf Update readme for renamed macOS mono install script 2019-03-24 16:02:41 +11:00
flightlevel
8bfe5edc0a Update build script for macOS changes 2019-03-24 16:01:33 +11:00
flightlevel
cc2071dc53 Make macos install scripts executable 2019-03-24 15:59:36 +11:00
flightlevel
e745b02c55 Attempt to make install_service_macos .NET Core compatible 2019-03-24 15:57:11 +11:00
flightlevel
ee162756d1 Rename install_service_macos to install_service_macos_mono 2019-03-24 15:55:59 +11:00
Garfield69
9a571f6f4b Update ISSUE_TEMPLATE.md 2019-03-24 16:07:33 +13:00
Garfield69
1b740f1a04 yggtorrent: add a legacy lnik for #4946 2019-03-24 15:55:38 +13:00
Garfield69
9e695151b7 ourbits: fix size selector. resolves #4944
also update categories
turn on incldead
add login error message selector
2019-03-24 08:48:32 +13:00
Garfield69
c1c86ddd60 btgigs: correction to login error selector 2019-03-24 06:25:29 +13:00
Garfield69
328cf7090a Revert "gazelletracker: implement torznab Limit #4901"
This reverts commit bee30b2c1c.
2019-03-23 16:16:51 +13:00
Garfield69
64f461bc98 Revert "7tor: implement torznab Limit #4901"
This reverts commit 28dbb29513.
2019-03-23 16:16:41 +13:00
Garfield69
c6639e7d9b Revert "720pier: implement torznab Limit #4901"
This reverts commit cf03b6e216.
2019-03-23 16:15:48 +13:00
Garfield69
841fac48f9 Revert "rarbg: implement torznab Limit #4901"
This reverts commit 87c4f26d02.
2019-03-23 16:12:13 +13:00
Garfield69
0a2651e635 Revert "yts: implement torznab Limit #4901"
This reverts commit 022b88ea22.
2019-03-23 16:11:45 +13:00
Garfield69
bee30b2c1c gazelletracker: implement torznab Limit #4901 2019-03-23 14:50:50 +13:00
Garfield69
28dbb29513 7tor: implement torznab Limit #4901 2019-03-23 11:34:38 +13:00
Garfield69
cf03b6e216 720pier: implement torznab Limit #4901 2019-03-23 10:26:51 +13:00
Garfield69
87c4f26d02 rarbg: implement torznab Limit #4901 2019-03-23 09:46:58 +13:00
Garfield69
022b88ea22 yts: implement torznab Limit #4901 2019-03-23 09:27:58 +13:00
Garfield69
858658cdcf add cinefilhd a private site for movies / tv. resolves #4908 2019-03-22 18:57:35 +13:00
Sc4nd4l
16b3c43861 add ChannelX, a private Tracker for High Quality Optimized HD MOVIES / TV #4924 2019-03-22 08:34:36 +13:00
Garfield69
def90ea2fb hdsky: switch to cookie login method 2019-03-21 19:44:36 +13:00
Garfield69
a859f58e8f cpabien: new domain .vg 2019-03-21 17:44:05 +13:00
Garfield69
449c478012 hdsky: upload to show imdb
both http and https
also search now include dead
2019-03-21 15:23:53 +13:00
Garfield69
896df26151 rarbg: fix details link not working
apparently ALL requests to the API server need to include the app_id
2019-03-21 12:26:07 +13:00
Garfield69
50441fbc1d torrent9: drop login 2019-03-21 07:26:44 +13:00
Garfield69
32005e1120 torrent9: drop alternate domain wvw. 2019-03-21 07:08:11 +13:00
Garfield69
33c7b69ee8 racingforeveryone: update categories
and login error detection
2019-03-21 06:21:20 +13:00
Garfield69
4d1c0265c6 romve btstornet, gone. resolves #4875 2019-03-20 21:28:08 +13:00
Garfield69
e1bc60ed29 beyondhd: add new category 2019-03-20 21:24:17 +13:00
Garfield69
fc43bd65be audiobooktorrents: drop redundant tv and movie search 2019-03-20 20:16:11 +13:00
Garfield69
234eed9e66 audiobookbay: add new categories
and supply default seeders, leechers, volumefactors
2019-03-20 20:09:42 +13:00
xfouloux
cf5ebe7909 Update sharewood.yml (#4917)
added cat TV, but TV and Movies are mixed no choices
2019-03-20 19:08:11 +13:00
Garfield69
a2ba3d68f9 animetosho: provide some defaults when not set by API response.
set Seeders and Leechers to 0 is none returned by API
set downloadvolumefactor to 0 (freeleech)
set uploadvolumefactor to 1
2019-03-20 16:56:26 +13:00
Garfield69
2ffbedc2fa anidex: use torznab categories for search, add lang id info in config 2019-03-20 15:26:24 +13:00
lps-rocks
b54c6bfa1f Change release name to use 'title' attribute (#4915)
Use link 'title' attribute. The text gets truncated by the website automatically if its longer than a certain length causing matching problems.
2019-03-20 14:42:10 +13:00
Garfield69
a45cd07434 amigosshare: add new categories 2019-03-20 14:29:15 +13:00
Garfield69
5b75796250 720pier: add missing categories 2019-03-20 11:36:10 +13:00
Garfield69
3d0e57f273 add btdb re-incanation of the public DHT crawler. resolves #4913 2019-03-20 10:03:41 +13:00
Garfield69
68de3e7a6a add casatorrent a French Private tracker. Resolves #4911 2019-03-20 09:09:31 +13:00
Garfield69
693f2b5965 turktorrent: #4871 2019-03-20 06:08:32 +13:00
Garfield69
749a33abc5 remove btxpress, gone. #3339 2019-03-20 03:20:47 +13:00
Garfield69
95a2f38e79 remove redtopia, shutdown. #3660 2019-03-20 03:17:59 +13:00
Garfield69
55e5db4e28 remove 420files, its gone. #4288 2019-03-20 03:15:21 +13:00
Garfield69
204e3f8fd2 3evils: add banner 2019-03-19 22:04:02 +13:00
Garfield69
613a554314 add xktorrent a French private site. resolves #4903 2019-03-19 20:32:56 +13:00
Garfield69
5efc7cd88c tag unit3d yaml 2019-03-19 19:22:15 +13:00
HDVinnie
5462ce0fd9 blutopia: updates for unit3d 1.9.1 (#4910) 2019-03-19 19:12:57 +13:00
Garfield69
d379319050 7tor: update categories 2019-03-19 12:18:34 +13:00
Garfield69
d0daf0d00b add btdigg a public DHT crawler. Resolves #4907 2019-03-19 10:41:02 +13:00
Garfield69
7f1e3dbb62 add pleasuredone, a private games tracker. resolves #4897 2019-03-19 08:53:32 +13:00
Garfield69
36f1b79927 remove archetorrent, gone. resolves #4906 2019-03-19 07:22:27 +13:00
Garfield69
f3302e5d53 add Sharewood, a semi-private French tracker. resolves #4898 2019-03-19 07:13:21 +13:00
Garfield69
b71bbe49c5 3evils: size and date cols have shifted 2019-03-18 18:44:47 +13:00
Garfield69
b3dec55a86 cardigannIndexer: implement torznab Limit for #4901 2019-03-18 17:41:23 +13:00
Garfield69
1bbc01cfcd add bit-titan a German tracker. resolves #4896 2019-03-17 21:00:47 +13:00
Garfield69
502ac57cd4 freedomhd: fix bluray movies cat 2019-03-17 20:19:01 +13:00
Garfield69
37430c5e79 freedomhd: update categories and date 2019-03-17 12:12:47 +13:00
Garfield69
85752ca58c add freetorrent a private tracker. resolves #4894 2019-03-17 11:23:12 +13:00
Garfield69
86881e2ad6 kinozal: sort out tv series for sonarr. #4767
inspired by rutracker
2019-03-16 17:09:45 +13:00
Garfield69
97367a55ac nnm-club: sort out tv series for sonarr. #4767
inspired by rutracker
2019-03-16 16:46:00 +13:00
Garfield69
d52f38efb9 add p2pbg a bulgarian private tracker. resolves #4888 2019-03-16 15:07:28 +13:00
Garfield69
9d3e41cb5c kinozal and nnm-club: #4767
drop adding a leading 0 on numbers
add kubik replacement
drop brackets on sxxexx for nnm-club
2019-03-16 10:28:20 +13:00
Garfield69
093425ac0a add mactorrents a public tracker for mac software. resolves #4889 2019-03-16 09:23:16 +13:00
Garfield69
e5c9fcd58e icetorrent: correct login error selector. #4890 2019-03-16 08:08:43 +13:00
flightlevel
6882715a3f Give scripts execute permission 2019-03-15 20:59:00 +11:00
buckmelanoma
21c206feb7 Raised number of search results returned (#4887) 2019-03-15 18:23:05 +13:00
Garfield69
67d7562882 kinozal: more sonarr stuff 2019-03-15 12:47:47 +13:00
Garfield69
1785b0832c add KikiBT, a Chinese DHT search engine. Reseolves #4886 2019-03-15 06:28:52 +13:00
Garfield69
2fc92e84c4 arenaBG: optionally use .torrent instead of magnet
Also fix date processing.
2019-03-14 16:30:54 +13:00
Garfield69
8db99363b6 kinozal: more for sonarr #4767
drop brackets around the season/episode and around the quality
2019-03-14 14:00:17 +13:00
Garfield69
ffbcd89bce piratbit: new domains 2019-03-14 08:32:54 +13:00
Garfield69
99e49dad9e kinozal: update season match for sonarr #4767 2019-03-14 07:24:49 +13:00
Jorman
57820de1c1 ilcorsaronero: new domain .pizza (#4883)
Changed domain
2019-03-14 06:51:45 +13:00
flightlevel
ca4f08a030 Package update 2019-03-13 20:32:48 +11:00
flightlevel
aa8e106727 Add execute flag to scripts 2019-03-13 20:26:09 +11:00
flightlevel
eda182f2c9 Make systemd scripts executable 2019-03-13 20:20:07 +11:00
Garfield69
83720c6982 hdplus: enable imdbid support. for #4859 2019-03-13 20:21:50 +13:00
Garfield69
43213b8ff4 worldofp2p: enable imdbid support. for #4859 2019-03-13 20:16:34 +13:00
Garfield69
77e9db411e cartoonchaos: enable imdbid support. for #4859 2019-03-13 20:07:31 +13:00
Garfield69
9d3eac2594 update torznabcattype.tt template
correct namespace
add UHD for movies and TV
2019-03-13 15:58:55 +13:00
Garfield69
52e89581cf mejortorrent: new domain .tv
also add volumefactors to results.
2019-03-13 13:54:08 +13:00
Garfield69
895fc4d077 kinozal: oops, forgot a setting. for #4767 2019-03-13 13:20:14 +13:00
Garfield69
bda30d7193 skytorrentsclone: they have switched from itorretns to btdb.eu 2019-03-13 13:04:51 +13:00
Garfield69
08a7641fb9 add moviesUHD to torznabQuery fallback. 2019-03-13 12:12:29 +13:00
leomoty
77e3db2f88 Add missing properties to TorznabQuery#Clone (#4879) 2019-03-13 12:09:09 +13:00
Garfield69
18ed7c88fb hdtorrents: add imdb selector for #4859 2019-03-13 09:15:16 +13:00
Garfield69
f2c7de0845 blutopia: add imdb selector for #4859 2019-03-13 09:01:13 +13:00
Garfield69
ee0d092c2f kinozal: add same title filters as nnm-club. resolves #4767 2019-03-13 08:44:53 +13:00
Garfield69
5ec8045fe0 delete torrof 2019-03-13 08:33:01 +13:00
Garfield69
924a8e9f96 metaltracker: fix login (now forcing https) resolves #4870 2019-03-13 08:11:41 +13:00
Garfield69
5389995b6d blutopia: add alternate freeleech flag. resolves #4872 2019-03-13 06:54:31 +13:00
leomoty
609a222d98 BJShare: Only set quality if available (#4860) 2019-03-13 06:11:58 +13:00
Garfield69
9f913d73f4 cztorrent: support new layout. resolves #4869 2019-03-12 21:04:59 +13:00
Garfield69
0c39616c12 xspeeds: add imdbid search support for #4859 2019-03-12 16:10:50 +13:00
Garfield69
e1e2441b91 tsc: cat43 descr correction 2019-03-12 14:51:02 +13:00
Garfield69
1085c753d7 torrentsectorcrew: rewrite selectors and category processing. resolves #4856 2019-03-12 14:47:32 +13:00
Garfield69
2ea46b5c9f add aftershock a Hungarian private site. for #1445 2019-03-11 20:43:34 +13:00
Jorman
90607d561c Update hdtorrentsit.yml (#4857) for #4839
Workaround due to https://github.com/Jackett/Jackett/issues/4839
Waiting for a c# version of this tracker
2019-03-11 12:28:57 +13:00
Garfield69
266568e4ce add dark-shadow a Private German site. resolves #4573 2019-03-11 11:59:15 +13:00
Garfield69
3378895b4c dragonworldreloaded: fix date parsing 2019-03-11 11:58:05 +13:00
Garfield69
d847b93418 gods: update cats for uhd 2019-03-11 09:47:22 +13:00
Garfield69
e32f02a003 nethd: fix date parsing. resolves #4855 2019-03-11 08:10:04 +13:00
Garfield69
8b0cede8ee torrentseeds: update categories, fix date processing 2019-03-10 20:53:04 +13:00
Garfield69
9f77de381b add hdplus a private tracker. resolves #4843 2019-03-10 19:52:50 +13:00
Garfield69
e060c82cd3 beyondhd: add imdbid support (torznab and dashboard search) resolves #4850 2019-03-10 17:13:32 +13:00
flightlevel
43f0f03b05 Version bump for .NET core support 2019-03-10 12:31:28 +11:00
flightlevel
25c7d84f95 Update install instructions for Linux 2019-03-10 12:21:06 +11:00
flightlevel
37ccf7a7a9 Update build script for different systemd scripts 2019-03-10 12:11:53 +11:00
flightlevel
a2e92da5f6 Add systemd script for .NET Core version of Jackett 2019-03-10 12:06:18 +11:00
flightlevel
d1e57c25d6 Rename systemd to include Mono 2019-03-10 11:59:32 +11:00
Garfield69
db2ba3ba0b digitalcore: update music categories 2019-03-10 13:40:32 +13:00
Joachim Bergstrøm
902961dc5a add digitalcore a Private tracker. (#4847) resolves #4808
Add support for digitalcore.club private tracker
Update README.md
2019-03-10 12:45:03 +13:00
Garfield69
689568d147 beyondhd: add andmatch #4828 2019-03-10 08:08:42 +13:00
Garfield69
1cd05963df beyondhd: now searching using searchin=descr&incldead=1 #4828 2019-03-09 19:53:47 +13:00
Garfield69
fbb3c1bdfc xtremezone is no longer semi-private, invites are needed for registration. 2019-03-09 17:00:34 +13:00
Garfield69
de5b26032e nyaa-pantsu: add alternate domain 2019-03-09 16:12:37 +13:00
Garfield69
0761ad7aee delete idopeclone: no longer suitable for cardigann processing
needs to be rewritten in c# see #4841
2019-03-09 15:53:48 +13:00
Garfield69
6cce59126b btkitty: new domain .pet 2019-03-09 15:06:00 +13:00
Garfield69
347191ab6a readme: note that the omdb is used for the aggregate Indexer. 2019-03-08 20:20:24 +13:00
Garfield69
afac5ad1cf tvstore: prevent index-out-of-range-exception 2019-03-08 20:00:04 +13:00
Garfield69
fa10c625dd delete torrentcouch
no longer suppliying .torrent or magnet
2019-03-08 18:19:28 +13:00
Garfield69
c546fd7ac8 gktorrent: back to .tv domain. 2019-03-08 17:41:01 +13:00
Garfield69
fc96965e54 awesome-hd: correct modes. (untested) 2019-03-08 16:05:34 +13:00
flightlevel
feaf5d4361 Publish Linux ARM builds 2019-03-07 21:11:06 +11:00
flightlevel
f146b3eaa6 Code tidy 2019-03-06 21:25:06 +11:00
flightlevel
d07b6ae863 Enable Linux x64 build 2019-03-06 21:18:28 +11:00
flightlevel
a25f2016dc Make Mono.Posix usage conditional on .NET Core 2019-03-06 21:16:20 +11:00
flightlevel
a5f0e2b5db Code tidy up 2019-03-06 20:20:32 +11:00
flightlevel
6ac9555cb5 Make parameter type HttpRequest
Code tidy
2019-03-06 20:11:50 +11:00
flightlevel
e7d9360b51 Disable Mono.Posix 2019-03-06 19:51:59 +11:00
thetennismaster
5a7091075e Add TotallyKids.tv definition. Resolves #4 (#4825)
* Add TotallyKids.tv definition. Resolves #4
* Add TotallyKids (TK) to the README
2019-03-06 18:10:33 +13:00
flightlevel
2270b13435 Trigger build 2019-03-06 13:05:12 +11:00
flightlevel
80a99ce69f Don't use Path.Combine for Linux paths 2019-03-06 12:59:14 +11:00
flightlevel
c54cbb4cbe Trigger build 2019-03-06 12:32:27 +11:00
flightlevel
de55e6e14e Log paths for debugging 2019-03-06 12:23:03 +11:00
Garfield69
0983540493 Merge branch 'master' of https://github.com/Jackett/Jackett 2019-03-06 13:41:11 +13:00
Garfield69
6cc262a6d3 torrent9: drop apostrophes on keywords. resolves #4822 2019-03-06 13:40:35 +13:00
flightlevel
2484ff16f3 Enable updater on .NET Core 2019-03-06 11:26:38 +11:00
Garfield69
4e1d7ac09b Revert "eztv: fetch magnets from details page. resolves #4813"
This reverts commit a84b1dce4d.
2019-03-06 13:00:28 +13:00
flightlevel
b8aa2a16dd Make execute permission conditional on .NET Core 2019-03-05 22:09:20 +11:00
flightlevel
cf7ca97f9c Make jackett and JackettUpdater executable 2019-03-05 21:25:37 +11:00
Garfield69
cc01b0ca05 add sharingue a Brazilian private tracker. resolves #4817 2019-03-05 19:37:46 +13:00
Garfield69
a84b1dce4d eztv: fetch magnets from details page. resolves #4813 2019-03-05 07:25:56 +13:00
flightlevel
be54f1a532 Fix copy/paste error 2019-03-04 17:52:17 +11:00
flightlevel
064786f379 Disable macOS .NET Core builds for now 2019-03-04 17:44:05 +11:00
Garfield69
9d140b3ab4 beyondhd: set freeleech resolves #4809 2019-03-04 15:40:10 +13:00
Garfield69
a65d855cc4 torrent-turk: fix login form. resolves #4334
switch to new domain .co
also added missing cxategories
fix date processing
add missing volumefactors
2019-03-04 15:34:23 +13:00
Garfield69
2698ac2907 torrentgalaxyorg: new result selectors. resolves #4805 2019-03-04 08:33:41 +13:00
Garfield69
28971c2303 scenerush: add categories. resolves #1775
correct login error meesage detection
upgrade to https
correct date parsing
switch browse post to get
2019-03-04 07:23:30 +13:00
Garfield69
6428a7134b classix: use alternate method of andmatch. for #4788 2019-03-04 06:00:02 +13:00
flightlevel
b33f5764ef Perform Linux build first 2019-03-03 17:42:09 +11:00
flightlevel
ebb855bf45 Release notes for linux 2019-03-03 17:32:47 +11:00
flightlevel
9e90edd397 Linux release notes 2019-03-03 17:22:34 +11:00
flightlevel
ee2743cdc9 Re-enable Windows building 2019-03-03 17:06:14 +11:00
flightlevel
a9731b036c Update file permissions 2019-03-03 16:53:40 +11:00
flightlevel
58ed5421ec Appveyor.yml: Fix casing 2019-03-03 16:35:00 +11:00
flightlevel
dc25480844 Appveyor test casing 2019-03-03 16:31:16 +11:00
flightlevel
789d168648 Build.cake line endings 2019-03-03 16:19:00 +11:00
flightlevel
f6668c9777 Test linux only build 2019-03-03 16:09:55 +11:00
flightlevel
5903e6abdf Enable updater for .NET Core on macOS 2019-03-03 16:09:17 +11:00
flightlevel
0de4c1da43 Push artifacts on Appveyor Linux 2019-03-03 15:51:59 +11:00
flightlevel
53bd7ce0c4 Updater: Add logic for .NET Core 2019-03-03 15:44:18 +11:00
flightlevel
4d4c9fe645 Improve build instructions 2019-03-03 15:32:55 +11:00
flightlevel
caf583a684 Package update 2019-03-03 15:23:33 +11:00
flightlevel
b445072a4d TVStore: Throw exception 2019-03-03 15:09:51 +11:00
flightlevel
82617f961d Force Github update deploy
Trying to avoid downloading artifacts in the second Appveyor job
2019-03-03 15:09:26 +11:00
flightlevel
c28df96332 Build updater for .NET Core macOS 2019-03-03 15:01:07 +11:00
Garfield69
88c6c4af6e classix: add andmatch. resolves #4788 2019-03-02 17:13:22 +13:00
Garfield69
df49bb8578 asiancinema: fix #4798 2019-03-02 13:15:39 +13:00
Garfield69
a968913bc4 add pthome a chinese private tracker. resolves #4795 2019-03-02 09:09:04 +13:00
Jorman
5c9880e410 ilcorsaronero: new domain .live (#4794)
Changed domain
2019-03-01 10:29:48 +13:00
morpheus133
d7af20d4f6 ncore: add offset support (#4792) resolves #4778
* add offset support to ncore indexer
* small correction related to add .hun tag to torrents
* DivideByZeroException  at torrent_per_page
2019-03-01 07:23:00 +13:00
xfouloux
8dc832d64a yggtorrent: tidy up keyword processing (#4791)
trimed stuff on .Keyword in keywordsfilters instead of re_replace in path because it caused having %20%20 in search .Keyword instead of having only one
2019-02-28 22:06:40 +13:00
Garfield69
91b87ee7be 7tor: fix TEST mode for #4784
the getnew search does not appear to be working any longer, so in no keywords are supplied we will use  TEST instead. Not ideal but better than no-results = error.
2019-02-28 13:19:19 +13:00
Garfield69
ee8fc6a78f bigtorrent: fix TEST mode for #1219
and also return a login error message
2019-02-28 10:05:20 +13:00
Garfield69
18f48cb04b icetorrent: attempt to fix for #4783 2019-02-28 09:42:23 +13:00
Garfield69
dd64739af6 torrentbd: attempt to fix login. #1709 #4781 2019-02-28 08:20:13 +13:00
Garfield69
05c4d1e331 polishtracker: display email on login config. resolves #4780 2019-02-28 07:41:53 +13:00
Garfield69
f9ad475aa8 torrent9: add secondary domain 2019-02-27 17:41:54 +13:00
Garfield69
ad17897edd elitetorrent-biz: drop index.php from search path. 2019-02-27 16:10:28 +13:00
SpookyDex
2356ef3837 torrentsectorcrew: new domain .org (#4776) 2019-02-27 07:16:20 +13:00
Garfield69
b63e97fecd torrentscsv: add torznab elements guid and comments for sonarr/radarr. resolves #4774 2019-02-26 13:41:37 +13:00
Garfield69
c025a98cbf skytorrentsclone: update search keyword. resolves #4763 2019-02-26 12:40:40 +13:00
Garfield69
0c84507b51 tp2: add note about categories for Sonarr or Radarr. 2019-02-26 12:30:49 +13:00
Garfield69
875d7a005e EliteTracker: add CA bypass for #4769 2019-02-25 21:50:45 +13:00
Garfield69
b1c25d4c5b gdf76: prevent log errors 2019-02-25 19:04:42 +13:00
Garfield69
5ef6b8601a puntotorrent & unionfansub: handle size 1.018,29 MB 2019-02-25 18:54:31 +13:00
Garfield69
a512a1e6b5 alein: selector adjustments to prevent log errors. 2019-02-25 17:39:11 +13:00
Garfield69
5ba93dd9c2 add racingforme a Private tracker for racing. resolves #1351 2019-02-25 08:28:51 +13:00
snamds
5216b6ece7 Newpct: changed Download link format (#4758) resolves #4757 2019-02-24 11:52:31 +13:00
Garfield69
eb5c8f4dcd solidtorrents: fix cat database 2019-02-24 08:32:56 +13:00
Garfield69
8a6ba04688 TVstore: handle dashboard SnnEnn searching
and if no query supplied, then its a test so juest fetcch 20 entries to shorten response time to 30s (previously set to 100 would cause timeout failure on sonarr indexer test).
2019-02-23 22:01:49 +13:00
Garfield69
287ad3a995 nnm-club: new CA bypass 2019-02-23 19:51:54 +13:00
Garfield69
00494bdac1 add solidtorrents: a Public meta-search engine. resolves #4751 2019-02-23 16:06:42 +13:00
Garfield69
4189aeac0e TVstore: add cats tvhd and tvsd
to match the returned categories processed via the call of TvCategoryParser.ParseTvShowQuality
2019-02-23 08:14:53 +13:00
kaso17
5f66b1a297 RARBG: fix title decoding 2019-02-22 18:33:19 +01:00
kaso17
ad77068a7b RARBG: make torrent download link optional 2019-02-22 18:28:42 +01:00
kaso17
75d53b4026 improve certificate validation error handling 2019-02-22 17:42:42 +01:00
kaso17
a4cd5e0047 The Shinning: fix legacy urls 2019-02-22 17:10:47 +01:00
kaso17
eccafdf4af XSpeeds: update categories
fixes #4519
2019-02-22 17:02:30 +01:00
kaso17
a7fab04e42 add imdbid to tv-search 2019-02-22 16:03:29 +01:00
kaso17
95e17d1741 TorrentCCF: update URL 2019-02-22 15:53:30 +01:00
morpheus133
a6c821762a TVstore: Correct Sonar Test (#4745) 2019-02-22 21:06:27 +13:00
morpheus133
e66a839fb3 add TVstore a Hungarian Private tracker for TV #2590 (#4738)
* Initial version for TvStore.me (#2590)
Only freeleech and upload/download factor handling is needed.
2019-02-22 20:12:15 +13:00
Garfield69
1a8b48f4dc karagarga: update date parsing 2019-02-22 18:52:17 +13:00
Garfield69
e32baf18a4 spacetorrent: they have simplyfied categories and dropped seelders and leechers from main result page 2019-02-22 16:16:25 +13:00
Garfield69
486a5313e4 gktorrent: new domain .cx 2019-02-22 15:40:20 +13:00
Garfield69
79b262569f cpabien: new domain .bz 2019-02-22 15:38:40 +13:00
buckmelanoma
9a2a019ff5 torrents.csv: Fixed categories, updated tracker list (#4744) 2019-02-22 13:42:39 +13:00
Garfield69
2dc4582830 2fast4you: update categories, as per #4743 2019-02-22 07:39:03 +13:00
Garfield69
48d7ce271b 3evils: updates resolves #4737 2019-02-21 20:30:11 +13:00
Garfield69
11acfddd64 theshinning: update for unit3d server. resolves #4735 2019-02-21 15:40:10 +13:00
Garfield69
23f36bb0f8 nostalgic: drop debug logging 2019-02-21 08:02:57 +13:00
134 changed files with 5048 additions and 1529 deletions

View File

@@ -7,7 +7,7 @@ If you are experiencing an issue with a tracker, then:
2. If you haven't already, try upgrading to the latest version of Jackett, your issue may have already been resolved.
3. If it is still not working for you, then a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
**Jackett version**:
**Mono version** (if not using Windows):
(At the bottom of your Jackett Dashboard page) **Jackett version**:
(if you installed using Jackett.Binaries.Mono.tar.gz) **Mono version**:
-------------------------------

View File

@@ -17,7 +17,8 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
#### Supported Systems
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
* Linux and macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
* Linux
* macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
### Supported Public Trackers
* 1337x
@@ -26,8 +27,9 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Anime Tosho
* AniRena
* AudioBook Bay (ABB)
* BTstor.net
* btbit
* BTDB
* BTDigg
* BTKitty
* cpasbien
* cpasbienClone
@@ -39,14 +41,15 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Frozen Layer
* GkTorrent
* Horrible Subs
* IdopeClone
* Il Corsaro Nero <!-- maintained by bonny1992 -->
* Il Corsaro Blu
* Isohunt2
* KATcrs
* KickAssTorrent (KATcr)
* KickAssTorrent (thekat.se clone)
* KikiBT
* LimeTorrents
* MacTorrents
* MagnetDL
* MejorTorrent <!-- maintained by ivandelabeldad -->
* Monova
@@ -61,13 +64,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* shokweb
* ShowRSS
* SkyTorrentsClone
* SolidTorrents
* sukebei.Nyaa.si
* sukebei-Pantsu
* The Pirate Bay (TPB)
* TNTVillage <!-- maintained by bonny1992 -->
* Tokyo Tosho
* Torlock
* TorrentCouch
* Torrent Downloads (TD)
* TorrentFunk
* TorrentGalaxy.org (TGx)
@@ -77,7 +80,6 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Torrent9
* Torernt9 clone (torrents9.ch)
* Torrentz2
* Torrof (Torrentoff)
* World Wide Torrents
* YTS.ag
* Zooqle
@@ -103,6 +105,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* NoName Club (NNM-Club)
* RockBox
* RuTracker
* Sharewood
* SkTorrent
* Union Fansub
* Vanila
@@ -114,10 +117,10 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* 2 Fast 4 You
* 3D Torrents (3DT)
* 3evils
* 420files
* 720pier
* Abnormal
* Acid Lounge (A-L)
* Aftershock
* AlphaRatio (AR)
* AmigosShareClub
* AnimeBytes (AB)
@@ -125,7 +128,6 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Anthelion
* AOX (Chippu)
* Araba Fenice (Phoenix)
* ArcheTorrent
* AsianCinema
* AsianDVDClub
* AST4u
@@ -142,6 +144,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* BigTower
* Bit-City Reloaded
* BIT-HDTV
* BiT-TiTAN
* Bithorlo (BHO)
* BitHUmen
* BitMe
@@ -158,22 +161,28 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* BrokenStones
* BTGigs (TG)
* BTNext (BTNT)
* BTXpress (BTX)
* Carpathians
* CartoonChaos (CC)
* CasaTorrent
* CasStudioTV
* CCFBits
* CGPeers
* CHDBits
* ChannelX
* CiNEFiLHD
* Cinemageddon
* Cinematik
* CinemaZ (EuTorrents)
* Classix
* CrnaBerza
* DanishBits (DB)
* Dark-Shadow
* Das Unerwartete
* DataScene (DS)
* DesiReleasers
* DesiTorrents
* Diablo Torrent
* DigitalCore
* DigitalHive
* DivTeam
* DocumentaryTorrents (DT)
@@ -191,6 +200,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* FileList (FL)
* Femdomcult
* Freedom-HD (Freedom Paradise)
* FreeTorrent
* FullMixMusic
* FunFile (FF)
* FunkyTorrents (FT)
@@ -220,6 +230,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* HDCity
* HDHome (HDBigger)
* HDME
* HDplus
* HDSky
* HDTorrents.it
* Hebits
@@ -257,11 +268,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* notwhat.cd
* Orpheus
* Ourbits (HDPter)
* P2PBG
* Passione Torrent <!-- maintained by bonny1992 -->
* PassThePopcorn (PTP)
* PiratBit
* PirateTheNet (PTN)
* PiXELHD (PxHD)
* Pleasuredome
* PolishSource (PS)
* PolishTracker
* Pretome
@@ -270,12 +283,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Psytorrents
* PT99
* PTFiles (PTF)
* PThome
* PuntoTorrent
* PWTorrents (PWT)
* Racing4Everyone (R4E)
* RacingForMe (RFM)
* Redacted (PassTheHeadphones)
* Red Star Torrent (RST)
* Redtopia (RED)
* RetroFlix
* RevolutionTT
* RGU
@@ -290,6 +304,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Secret Cinema
* Shareisland
* ShareSpaceDB
* Sharingue
* Shazbat
* Shellife (SL)
* SpaceTorrent
@@ -330,22 +345,26 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Torrent-Syndikat
* TOrrent-tuRK (TORK)
* TorViet (HDVNBits)
* TotallyKids (TK)
* ToTheGlory
* TranceTraffic
* Trezzor
* TurkTorrent (TT)
* TV Chaos UK (TVCUK)
* TV-Vault
* TVstore
* u-torrents (SceneFZ)
* UHDBits
* Ultimate Gamer Club (UGC)
* Vizuk
* Waffles
* World-In-HD
* World-of-Tomorrow
* WorldOfP2P (WOP)
* x-ite.me (XM)
* xBytesV2
* XSpeeds (XS)
* XKTorrent
* XWTorrents (XWT)
* Xthor
* ExoticaZ (YourExotic)
@@ -386,7 +405,24 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
## Installation on Linux
## Install on Linux (AMDx64)
1. Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
## Install on Linux (ARMv7 or above)
1. Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
## Installation on Linux (ARMv6 or below)
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
@@ -395,21 +431,12 @@ Jackett can also be run from the command line if you would like to see log messa
* Redhat/Fedora: `yum install libcurl-devel`
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
Detailed instructions for [Ubuntu 14.x](http://www.htpcguides.com/install-jackett-on-ubuntu-14-x-for-custom-torrents-in-sonarr/) and [Ubuntu 15.x](http://www.htpcguides.com/install-jackett-ubuntu-15-x-for-custom-torrents-in-sonarr/)
4. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd_mono.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
### Install as service
1. Install Jackett with the steps from above.
2. Open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service.
2. If the installation was a success, you can close the Terminal window.
The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`.
Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
### Installation on Linux via Ansible
On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/jackett)
@@ -424,7 +451,7 @@ Install [Mono 5.8](http://www.mono-project.com/download/#download-mac) or better
### Install as service
1. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
2. Open the extracted folder and double-click on `install_service_macos`.
2. Open the extracted folder and double-click on `install_service_macos_mono`.
3. If the installation was a success, you can close the Terminal window.
The service will start on each logon. You can always stop it by running `launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist` from Terminal. You can start it again it using `launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist`.
@@ -484,7 +511,7 @@ location /jackett {
The logfiles (log.txt/updater.txt) are stored in `%ProgramData%\Jackett` on Windows and `~/.config/Jackett/` on Linux/macOS.
## Configuring OMDb
This feature is used as a fallback to get the movie/series title if only the IMDB ID is provided in the request.
This feature is used as a fallback (when using the aggregate Indexer) to get the movie/series title if only the IMDB ID is provided in the request.
To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
## Creating an issue
@@ -511,6 +538,8 @@ All contributions are welcome just send a pull request.
### Windows
* Install the .NET Core [SDK](https://www.microsoft.com/net/download/windows)
* Clone Jackett
* From the `src` directory, run `dotnet restore`
* Open the Jackett solution in Visual Studio 2017 (version 15.9 or above)
* Right click on the Jackett solution and click 'Rebuild Solution' to restore nuget packages
* Select Jackett.Server as startup project

View File

@@ -1,8 +1,8 @@
version: 0.10.{build}
version: 0.11.{build}
skip_tags: true
image:
- Visual Studio 2017
image:
- Ubuntu
- Visual Studio 2017
environment:
APPVEYOR_YML_DISABLE_PS_LINUX: true
configuration: Release
@@ -21,19 +21,20 @@ dotnet_csproj:
file_version: '{version}'
informational_version: '{version}'
build_script:
- ps: .\build.ps1 --target=Default
- ps: .\build.ps1 --target=Windows-Appveyor
- sh: ./build.sh --target=Linux
test: off
before_deploy:
- ps: ${env:release_description} = ( Get-Content -LiteralPath BuildOutput/ReleaseNotes.txt -Encoding UTF8 ) -join "`n";
deploy:
- provider: GitHub
tag: v$(appveyor_build_version)
tag: v$(APPVEYOR_BUILD_VERSION)
description: $(release_description)
auth_token:
secure: hOg+16YTIbq4kO9u4D1YVOTbWDqgCX6mAQYMbnmBBSw2CiUsZh7OKbupoUb3FtWa
artifact: /^(?:(?![Ee]xperimental).)*$/
draft: true
force_update: true
on:
branch: master
notifications:

View File

@@ -14,9 +14,11 @@ var configuration = Argument("configuration", "Debug");
// Define directories.
var workingDir = MakeAbsolute(Directory("./"));
var artifactsDirName = "Artifacts";
var testResultsDirName = "TestResults";
var netCoreFramework = "netcoreapp2.2";
string artifactsDirName = "Artifacts";
string testResultsDirName = "TestResults";
string netCoreFramework = "netcoreapp2.2";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string updaterProjectPath = "./src/Jackett.Updater/Jackett.Updater.csproj";
//////////////////////////////////////////////////////////////////////
// TASKS
@@ -89,7 +91,6 @@ Task("Package-Windows-Full-Framework")
.IsDependentOn("Run-Unit-Tests")
.Does(() =>
{
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = "./BuildOutput/net461/win7-x86/Jackett";
DotNetCorePublish(serverProjectPath, "net461", "win7-x86", buildOutputPath);
@@ -119,15 +120,14 @@ Task("Package-Mono-Full-Framework")
.IsDependentOn("Run-Unit-Tests")
.Does(() =>
{
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = "./BuildOutput/net461/linux-x64/Jackett";
DotNetCorePublish(serverProjectPath, "net461", "linux-x64", buildOutputPath);
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
CopyFileToDirectory("./install_service_macos", buildOutputPath);
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
CopyFileToDirectory("./install_service_macos_mono", buildOutputPath);
CopyFileToDirectory("./install_service_systemd_mono.sh", buildOutputPath);
CopyFileToDirectory("./Upstart.config", buildOutputPath);
//There is an issue with Mono 5.8 (fixed in Mono 5.12) where its expecting to use its own patched version of System.Net.Http.dll, instead of the version supplied in folder
@@ -154,30 +154,37 @@ Task("Package-DotNetCore-macOS")
.Does(() =>
{
string runtimeId = "osx-x64";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
string updaterOutputPath = buildOutputPath + "/Updater";
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
CopyFileToDirectory("./install_service_macos", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.macOS.tar.gz");
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.macOS.tar.gz");
});
Task("Package-DotNetCore-LinuxAMD64")
Task("Package-DotNetCore-LinuxAMDx64")
.IsDependentOn("Clean")
.Does(() =>
{
string runtimeId = "linux-x64";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
string updaterOutputPath = buildOutputPath + "/Updater";
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
CopyFileToDirectory("./Upstart.config", buildOutputPath);
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxAMD64.tar.gz");
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxAMDx64.tar.gz");
});
Task("Package-DotNetCore-LinuxARM32")
@@ -185,15 +192,18 @@ Task("Package-DotNetCore-LinuxARM32")
.Does(() =>
{
string runtimeId = "linux-arm";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
string updaterOutputPath = buildOutputPath + "/Updater";
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
CopyFileToDirectory("./Upstart.config", buildOutputPath);
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxARM32.tar.gz");
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM32.tar.gz");
});
Task("Package-DotNetCore-LinuxARM64")
@@ -201,22 +211,25 @@ Task("Package-DotNetCore-LinuxARM64")
.Does(() =>
{
string runtimeId = "linux-arm64";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
string updaterOutputPath = buildOutputPath + "/Updater";
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
CopyFileToDirectory("./Upstart.config", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxARM64.tar.gz");
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM64.tar.gz");
});
Task("Appveyor-Push-Artifacts")
.IsDependentOn("Clean")
.Does(() =>
{
if (AppVeyor.IsRunningOnAppVeyor && IsRunningOnWindows())
if (AppVeyor.IsRunningOnAppVeyor)
{
foreach (var file in GetFiles(workingDir + $"/{artifactsDirName}/*"))
{
@@ -277,11 +290,11 @@ Task("Release-Notes")
});
Task("Windows-Environment")
Task("Windows-Environment-Dev")
.IsDependentOn("Package-Windows-Full-Framework")
.IsDependentOn("Package-Mono-Full-Framework")
.IsDependentOn("Package-DotNetCore-macOS")
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
.IsDependentOn("Package-DotNetCore-LinuxARM32")
.IsDependentOn("Package-DotNetCore-LinuxARM64")
.IsDependentOn("Appveyor-Push-Artifacts")
@@ -291,9 +304,19 @@ Task("Windows-Environment")
Information("Windows-Environment Task Completed");
});
Task("Windows-Environment-Appveyor")
.IsDependentOn("Package-Windows-Full-Framework")
.IsDependentOn("Package-Mono-Full-Framework")
.IsDependentOn("Appveyor-Push-Artifacts")
.IsDependentOn("Release-Notes")
.Does(() =>
{
Information("Windows-Environment Task Completed");
});
Task("Linux-Environment")
.IsDependentOn("Package-DotNetCore-macOS")
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
.IsDependentOn("Package-DotNetCore-LinuxARM32")
.IsDependentOn("Package-DotNetCore-LinuxARM64")
.IsDependentOn("Appveyor-Push-Artifacts")
@@ -380,7 +403,21 @@ private void Gzip(string sourceFolder, string outputDirectory, string tarCdirect
{
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type d -exec chmod 755 {} \;");
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type f -exec chmod 644 {} \;");
//RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))} /Jackett/jackett");
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/jackett");
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/JackettUpdater");
string systemdScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_systemd.sh";
if (FileExists(systemdScript))
{
RunLinuxCommand("chmod", $"755 {systemdScript}");
}
string macOsServiceScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_macos";
if (FileExists(macOsServiceScript))
{
RunLinuxCommand("chmod", $"755 {macOsServiceScript}");
}
RunLinuxCommand("tar", $"-C {sourceFolder} -zcvf {outputDirectory}/{tarFileName}.gz {tarCdirectoryOption}");
}
}
@@ -402,12 +439,19 @@ private void DotNetCorePublish(string projectPath, string framework, string runt
//////////////////////////////////////////////////////////////////////
Task("Default")
.IsDependentOn("Windows-Environment")
.IsDependentOn("Windows-Environment-Dev")
.Does(() =>
{
Information("Default Task Completed");
});
Task("Windows-Appveyor")
.IsDependentOn("Windows-Environment-Appveyor")
.Does(() =>
{
Information("Windows Appveyor Task Completed");
});
Task("Linux")
.IsDependentOn("Linux-Environment")
.Does(() =>

View File

@@ -12,16 +12,12 @@ launchctl remove org.user.Jackett
cd "$(dirname "$0")"
# Check if we're running from Jackett's directory
if [ ! -f ./JackettConsole.exe ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
if [ ! -f ./jackett ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate ./jackett - Is the script in the right directory?"
exit 1
fi
jackettdir="$(pwd)"
# Check if mono is installed
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
monodir="$(dirname $(command -v mono))"
# Check that no other service called Jackett is already running
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
@@ -38,7 +34,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
<string>/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
<key>KeepAlive</key>
<true/>
@@ -46,9 +42,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
<string>org.user.Jackett</string>
<key>ProgramArguments</key>
<array>
<string>${monodir}/mono</string>
<string>--debug</string>
<string>JackettConsole.exe</string>
<string>${jackettdir}/jackett</string>
<string>--NoRestart</string>
</array>
<key>RunAtLoad</key>
@@ -70,7 +64,6 @@ else
cat << EOL
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
Mono directory: \`${monodir}\`
Jackett directory: \`${jackettdir}\`
EOL

77
install_service_macos_mono Executable file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
#Setting up colors
BOLDRED="$(printf '\033[1;31m')"
BOLDGREEN="$(printf '\033[1;32m')"
NC="$(printf '\033[0m')" # No Color
# Stop and unload the service if it's running
launchctl remove org.user.Jackett
# Move working directory to Jackett's
cd "$(dirname "$0")"
# Check if we're running from Jackett's directory
if [ ! -f ./JackettConsole.exe ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
exit 1
fi
jackettdir="$(pwd)"
# Check if mono is installed
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
monodir="$(dirname $(command -v mono))"
# Check that no other service called Jackett is already running
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
exit 1
fi
# Write the plist to LaunchAgents
mkdir -p ~/Library/LaunchAgents/
cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
</dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.user.Jackett</string>
<key>ProgramArguments</key>
<array>
<string>${monodir}/mono</string>
<string>--debug</string>
<string>JackettConsole.exe</string>
<string>--NoRestart</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>${jackettdir}</string>
</dict>
</plist>
EOL
# Run the agent
launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist
# Check that it's running
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
echo "${BOLDGREEN}Agent successfully installed and launched!${NC}"
else
cat << EOL
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
Mono directory: \`${monodir}\`
Jackett directory: \`${jackettdir}\`
EOL
fi

View File

@@ -13,23 +13,19 @@ systemctl stop ${jackettservice}
cd "$(dirname "$0")"
# Check if we're running from Jackett's directory
if [ ! -f ./JackettConsole.exe ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
if [ ! -f ./jackett ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate jackett. Is the script in the right directory?"
exit 1
fi
jackettdir="$(pwd)"
# Check if Jackett's owner is root
jackettuser="$(stat -c "%U" ./JackettConsole.exe)"
jackettuser="$(stat -c "%U" ./jackett)"
if [ "${jackettuser}" == "root" ]; then
echo "${BOLDRED}ERROR${NC}: Jackett shouldn't run as root. Please, change the owner of the Jackett directory."
exit 1
fi
# Check if mono is installed
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
monodir="$(dirname $(command -v mono))"
# Check that no other service called Jackett is already running
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
@@ -50,7 +46,7 @@ Type=simple
User=${jackettuser}
Group=${jackettuser}
WorkingDirectory=${jackettdir}
ExecStart=${monodir}/mono --debug ${jackettdir}/JackettConsole.exe --NoRestart
ExecStart=${jackettdir}/jackett --NoRestart
TimeoutStopSec=20
[Install]

82
install_service_systemd_mono.sh Executable file
View File

@@ -0,0 +1,82 @@
#!/bin/bash
#Setting up colors
BOLDRED="$(printf '\033[1;31m')"
BOLDGREEN="$(printf '\033[1;32m')"
NC="$(printf '\033[0m')" # No Color
# Stop and unload the service if it's running
jackettservice="jackett.service"
systemctl stop ${jackettservice}
# Move working directory to Jackett's
cd "$(dirname "$0")"
# Check if we're running from Jackett's directory
if [ ! -f ./JackettConsole.exe ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
exit 1
fi
jackettdir="$(pwd)"
# Check if Jackett's owner is root
jackettuser="$(stat -c "%U" ./JackettConsole.exe)"
if [ "${jackettuser}" == "root" ]; then
echo "${BOLDRED}ERROR${NC}: Jackett shouldn't run as root. Please, change the owner of the Jackett directory."
exit 1
fi
# Check if mono is installed
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
monodir="$(dirname $(command -v mono))"
# Check that no other service called Jackett is already running
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
exit 1
fi
# Write the systemd service descriptor
cat >"/etc/systemd/system/${jackettservice}" <<EOL
[Unit]
Description=Jackett Daemon
After=network.target
[Service]
SyslogIdentifier=jackett
Restart=always
RestartSec=5
Type=simple
User=${jackettuser}
Group=${jackettuser}
WorkingDirectory=${jackettdir}
ExecStart=${monodir}/mono --debug ${jackettdir}/JackettConsole.exe --NoRestart
TimeoutStopSec=20
[Install]
WantedBy=multi-user.target
EOL
# Reload systemd daemon
systemctl daemon-reload
# Enable the service for following restarts
systemctl enable ${jackettservice}
# Run the service
systemctl start ${jackettservice}
# Check that it's running
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
echo "${BOLDGREEN}Agent successfully installed and launched!${NC}"
else
cat << EOL
${BOLDRED}ERROR${NC}: Could not launch service. The installation might have failed.
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
Mono directory: \`${monodir}\`
Jackett directory: \`${jackettdir}\`
Jackett user: \`${jackettuser}\`
EOL
fi

View File

@@ -15,11 +15,9 @@
- {id: 10, cat: TV/Anime, desc: "Animation: HD720P"}
- {id: 11, cat: TV/Anime, desc: "Animation: HD1080P"}
- {id: 56, cat: TV/Anime, desc: "Animation: DVDRip"}
- {id: 13, cat: TV/Anime, desc: "Animation: DVD"}
- {id: 18, cat: PC/0day, desc: "Applications: PC"}
- {id: 16, cat: PC/Games, desc: "Applications: Jeux"}
- {id: 19, cat: PC/Phone-Android, desc: "Applications: Android"}
- {id: 38, cat: PC/Phone-IOS, desc: "Applications: Mobile Phone"}
- {id: 17, cat: PC/0day, desc: "Applications: Autres"}
- {id: 67, cat: TV, desc: "Autres: Emission TV"}
- {id: 68, cat: TV/Sport, desc: "Autres: Sport"}
@@ -34,6 +32,7 @@
- {id: 53, cat: Books, desc: "E-Books: Livre Anglais"}
- {id: 52, cat: Books, desc: "E-Books: Revue - Journaux"}
- {id: 51, cat: Books, desc: "E-Books: BD"}
- {id: 95, cat: Movies, desc: "Films: Film Divx XviD"}
- {id: 66, cat: Movies, desc: "Films: VOSTFR"}
- {id: 71, cat: Movies/WEBDL, desc: "Films: WEB-DL"}
- {id: 65, cat: Movies, desc: "Films: VO"}
@@ -49,19 +48,13 @@
- {id: 92, cat: Movies/HD, desc: "Films: 4K"}
- {id: 69, cat: Movies/3D, desc: "Films: Film 3D"}
- {id: 3, cat: Movies/DVD, desc: "Films: DVDRIP"}
- {id: 4, cat: Movies/DVD, desc: "Films: DVD5"}
- {id: 5, cat: Movies/DVD, desc: "Films: DVD9"}
- {id: 91, cat: Movies/HD, desc: "Films: RemuX"}
- {id: 89, cat: Movies/HD, desc: "Films: BD/BR Rip"}
- {id: 88, cat: Movies/BluRay, desc: "Films: Full BD/BR"}
- {id: 77, cat: Other, desc: "GPS: Cartes"}
- {id: 78, cat: Other, desc: "GPS: Radars"}
- {id: 97, cat: Movies, desc: "Films: Cours Métrage"}
- {id: 79, cat: TV/Anime, desc: "Mangas: HD"}
- {id: 80, cat: TV/Anime, desc: "Mangas: HD VO"}
- {id: 81, cat: TV/Anime, desc: "Mangas: HD VOSTFR"}
- {id: 82, cat: TV/Anime, desc: "Mangas: DVDRIP"}
- {id: 83, cat: TV/Anime, desc: "Mangas: DVDRIP VO"}
- {id: 84, cat: TV/Anime, desc: "Mangas: DVDRIP VOSTFR"}
- {id: 85, cat: TV/Anime, desc: "Mangas: Web-DL"}
- {id: 86, cat: TV/Anime, desc: "Mangas: TV-RIP"}
- {id: 75, cat: Audio, desc: "Musique: Concert TVRip"}
@@ -70,6 +63,7 @@
- {id: 22, cat: Audio/MP3, desc: "Musique: Album MP3"}
- {id: 23, cat: Audio/Lossless, desc: "Musique: Album Flac"}
- {id: 64, cat: Audio, desc: "Musique: Mégamix Maison"}
- {id: 96, cat: Audio/MP3, desc: "Musique: PlayList MP3"}
- {id: 94, cat: Audio, desc: "Musique: Podcast"}
- {id: 58, cat: Audio, desc: "Musique: Concert"}
- {id: 93, cat: TV, desc: "Serie TV: Saison VOSTFR"}
@@ -80,6 +74,7 @@
- {id: 73, cat: TV/WEB-DL, desc: "Serie TV: WEB-DL"}
- {id: 7, cat: TV, desc: "Serie TV: Episode FR"}
- {id: 6, cat: TV, desc: "Serie TV: Saison FR"}
- {id: 98, cat: TV/Anime, desc: "Serie TV: Manga VOSTFR"}
modes:
search: [q]

View File

@@ -10,12 +10,24 @@
caps:
categorymappings:
- {id: 2, cat: Console, desc: "Games"}
- {id: 3, cat: Movies, desc: "Movies"}
- {id: 4, cat: Audio, desc: "Music"}
- {id: 9, cat: TV/Anime, desc: " Anime"}
- {id: 17, cat: TV, desc: " TV"}
- {id: 18, cat: PC, desc: "Appz"}
- {id: 65, cat: Books, desc: "Books"}
- {id: 27, cat: Console/NDS, desc: "Games/Nintendo-DS"}
- {id: 28, cat: Console/Other, desc: "Games/Switch"}
- {id: 42, cat: PC/Phone-Android, desc: "Mobile/Android"}
- {id: 44, cat: Movies/UHD, desc: "Movies/4K"}
- {id: 13, cat: Movies/BluRay, desc: "Movies/Bluray"}
- {id: 12, cat: Movies/DVD, desc: "Movies/DVD-R"}
- {id: 14, cat: Movies, desc: "Movies/Packs"}
- {id: 67, cat: Movies/HD, desc: "Movies/x264"}
- {id: 55, cat: Movies/HD, desc: "Movies/X265"}
- {id: 45, cat: Movies, desc: "Movies/Remux"}
- {id: 62, cat: Audio, desc: "Music/Audio"}
- {id: 32, cat: Audio, desc: "Music/Packs"}
- {id: 6, cat: TV, desc: "TV/Packs"}
- {id: 3, cat: TV/HD, desc: "TV/x264"}
- {id: 4, cat: TV/HD, desc: "TV/x265"}
- {id: 8, cat: TV/SD, desc: "TV/Xvid"}
- {id: 63, cat: PC/0day, desc: "Windows/Applications"}
modes:
search: [q]
@@ -46,6 +58,7 @@
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{.Keywords}}"
searchin: "title"
incldead: 1
rows:
selector: table.table-bordered tr:has(a[href^="browse.php?cat="])
@@ -77,34 +90,49 @@
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
size:
selector: td:nth-last-child(6)
files:
selector: td:nth-last-child(9)
grabs:
selector: td:nth-last-child(5)
banner:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
- name: replace
args: ["Times", ""]
# onmouseover="Tip('<b>blahblah /><img src=\'/imdb/images/0090293.jpg\' blahblah />');"
- name: regexp
args: "/imdb/(.*?).jpg"
- name: prepend
args: "/imdb/"
- name: append
args: ".jpg"
size:
selector: td:nth-last-child(4)
files:
selector: a[href^="filelist.php?id="]
grabs:
selector: a[href^="snatches.php?id="]
filters:
- name: regexp
args: "(\\d+)"
# 2 flavours of dates
date:
# Today<br />10:20 AM
# Yesterday<br />08:03 PM
# Today<br /> 10:20 AM
# Yesterday<br /> 08:03 PM
optional: true
selector: td:nth-last-child(7):contains("day")
selector: td:nth-last-child(5):contains("day")
date:
# Feb 14 2019<br />10:20 AM
# Feb 14 2019<br /> 10:20 AM
optional: true
selector: td:nth-last-child(7):not(:contains("day"))
selector: td:nth-last-child(5):not(:contains("day"))
filters:
- name: regex # drop break in between date and time
args: ["(.+?)<[^>]*>(.+?)","$1 $2"]
- name: dateparse
args: "Jan 2 2006 03:04 pm"
seeders:
selector: td:nth-last-child(4)
text: "0"
seeders:
optional: true
selector: a[href$="#seeders"]
leechers:
selector: td:nth-last-child(3)
text: "0"
leechers:
optional: true
selector: a[href$="#leechers"]
downloadvolumefactor:
case:
"b:contains(\"[FREE]\")": "0"

View File

@@ -0,0 +1,124 @@
---
site: Das-Unerwartete
name: Das Unerwartete
description: "Das Unerwartete is a Private GERMAN tracker"
language: de-de
type: private
encoding: UTF-8
links:
- https://dasunerwartete.nl
caps:
categorymappings:
- {id: 112, cat: Audio/Audiobook, desc: "Hoerbuecher/Hoerspiele"}
- {id: 51, cat: Audio, desc: "Musik"}
- {id: 124, cat: Audio/Video, desc: "Musikvideo"}
- {id: 103, cat: Movies/DVD, desc: "DVD"}
- {id: 88, cat: Movies, desc: "Kids Only"}
- {id: 43, cat: Movies, desc: "Movie Packs"}
- {id: 105, cat: Movies/HD, desc: "Movie/1080 P"}
- {id: 107, cat: Movies/HD, desc: "Movie/3D"}
- {id: 102, cat: Movies/HD, desc: "Movie/720 P"}
- {id: 101, cat: Movies/BluRay, desc: "Movie/Blueray - HD"}
- {id: 108, cat: Movies, desc: "Movie/Bollywood"}
- {id: 93, cat: TV/Documentary, desc: "Movie/Dokus"}
- {id: 125, cat: Movies/Foreign, desc: "Movie/International"}
- {id: 91, cat: Movies/SD, desc: "Movie/SD"}
- {id: 114, cat: Movies, desc: "Movie/TV-Rip"}
- {id: 132, cat: Movies/HD, desc: "Movie/UHD"}
- {id: 110, cat: Movies/HD, desc: "x264"}
- {id: 106, cat: Console/PS3, desc: "Games/PS3"}
- {id: 109, cat: Console/PSP, desc: "Games/PSP"}
- {id: 113, cat: Console/Wii, desc: "Games/Wii"}
- {id: 86, cat: PC/Games, desc: "Games/Windows"}
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
- {id: 116, cat: PC/Games, desc: "Linux/Spiele"}
- {id: 53, cat: PC/Phone-Android, desc: "Android/Appz/Games/Navi"}
- {id: 126, cat: PC, desc: "Win/Mac/linux"}
- {id: 129, cat: TV/HD, desc: "Serien/Folgen HD"}
- {id: 61, cat: TV/SD, desc: "Serien/Folgen SD"}
- {id: 131, cat: TV/HD, desc: "Serien/Staffeln HD"}
- {id: 130, cat: TV/SD, desc: "Serien/Staffeln SD"}
- {id: 94, cat: Books/Ebook, desc: "Ebooks"}
- {id: 96, cat: TV/Anime, desc: "Anime / Hentai"}
- {id: 9, cat: Other/Misc, desc: "Sonstiges"}
- {id: 115, cat: TV/Sport, desc: "Sport"}
- {id: 69, cat: XXX, desc: "XXX"}
- {id: 122, cat: Books/Magazines, desc: "Zeitschriften/Zeitungen"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: .tablea:contains("Benutzername oder Passwort ungültig")
test:
path: browse.php
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.tableinborder > tbody > tr:has(a[href^="download.php"])
fields:
title:
selector: a[href^="details.php"]
filters:
- name: replace
args: [".torrent", ""]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php"]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(2)
grabs:
selector: .tablea tr:nth-child(2) td:nth-child(3) b
size:
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(1)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(1) font
leechers:
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(3) font
downloadvolumefactor:
case:
img[src="pic/oupic.gif"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,142 @@
---
site: aftershock
name: Aftershock
description: "Aftershock is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
language: hu-hu
type: private
encoding: iso-8859-1
links:
- https://aftershock-tracker.eu/
caps:
categorymappings:
- {id: 7, cat: Movies/SD, desc: "XvidEng"}
- {id: 2, cat: Movies, desc: "AfterShock Release"}
- {id: 190, cat: Movies/DVD, desc: "DVD-9Eng"}
- {id: 191, cat: Movies/DVD, desc: "DVD-9Hun"}
- {id: 1, cat: Movies/DVD, desc: "DVDEng"}
- {id: 4, cat: Movies/DVD, desc: "DVDHun"}
- {id: 23, cat: Books/Ebook, desc: "E-Book"}
- {id: 3, cat: Movies, desc: "Film Pack"}
- {id: 185, cat: Audio/Lossless, desc: "FLACeng"}
- {id: 188, cat: Audio/Lossless, desc: "FLAChu"}
- {id: 173, cat: Audio/Audiobook, desc: "Hangoskönyv"}
- {id: 34, cat: Movies/HD, desc: "HDEng"}
- {id: 33, cat: Movies/HD, desc: "HDHun"}
- {id: 182, cat: XXX/x264, desc: "HDXXX"}
- {id: 12, cat: PC/Games, desc: "JátékIso"}
- {id: 130, cat: Console, desc: "JátékKonzol"}
- {id: 38, cat: Console/PSP, desc: "JátékPS2"}
- {id: 44, cat: Console, desc: "Jatekrip"}
- {id: 131, cat: Console/Xbox, desc: "JátékX-box"}
- {id: 140, cat: Other, desc: "Képek"}
- {id: 141, cat: Other, desc: "Klipek"}
- {id: 154, cat: Other, desc: "MeseEng"}
- {id: 155, cat: Other, desc: "MeseHun"}
- {id: 176, cat: Other, desc: "Mikro HDEng"}
- {id: 174, cat: Other, desc: "Mikro HDHun"}
- {id: 37, cat: PC/Phone-Other, desc: "MobilPDA"}
- {id: 35, cat: PC, desc: "ProgramEgyéb"}
- {id: 170, cat: PC/ISO, desc: "ProgramIso"}
- {id: 24, cat: TV, desc: "Sorozat Eng"}
- {id: 25, cat: TV, desc: "Sorozat Hun"}
- {id: 167, cat: Movies/SD, desc: "Xvid CamEng"}
- {id: 166, cat: Movies/SD, desc: "Xvid CamHun"}
- {id: 9, cat: Movies/SD, desc: "XvidHun"}
- {id: 169, cat: XXX/Imageset, desc: "XXX Képek"}
- {id: 39, cat: XXX, desc: "XXXFilm"}
- {id: 28, cat: Audio, desc: "ZeneEng"}
- {id: 29, cat: Audio, desc: "ZeneHun"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.text:contains("Hiba")
message:
selector: td.text
test:
path: /
selector: a[href="/logout.php"]
ratio:
path: /
selector: p.sajatadatok font
filters:
- name: replace
args: [",", ""]
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 1
rows:
selector: table tbody#torrent_background tr:has(a.index)
fields:
title:
selector: a.index
attribute: href
filters:
- name: querystring
args: name
- name: urldecode
category:
selector: td a[href^="/browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a.index
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
filters:
- name: urldecode
banner:
selector: a[onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) width="
imdb:
optional: true
selector: a[href^="https://www.imdb.com/title"]
attribute: href
files:
selector: td:nth-last-child(6)
size:
selector: td:nth-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
grabs:
selector: td:nth-last-child(2)
date:
selector: td font
filters:
- name: re_replace
args: ["\\s", " "]
- name: dateparse
args: "2006-01-02 15:04:05"
downloadvolumefactor:
case:
span.icon_gift: "0"
"*": "1"
uploadvolumefactor:
case:
span.icon_upload: "2"
"*": "1"

View File

@@ -67,9 +67,6 @@
path: /
selector: :has(a[href="logout.php"])
download:
selector: a[href^="download.php?id="]
search:
paths:
# http://alein.org/index.php?page=torrents&category=1%3B15%3B41%3B14%3B48%3B39%3B20%3B16%3B5%3B21%3B22%3B11&search=venom&active=1
@@ -81,22 +78,35 @@
active: "1"
rows:
selector: tr.trclass
selector: tr.trclass:not(:has(td.lista-cat-rec))
fields:
title:
selector: td.lista-list a
selector: td a[href*="id="]
details:
selector: td.lista-list a
selector: td a[href*="id="]
attribute: href
category:
selector: td.lista-cat a
selector: td a[href*="category="]
attribute: href
filters:
- name: querystring
args: category
download:
selector: td.lista-list a
selector: td a[href*="id="]
attribute: href
filters:
- name: querystring
args: id
- name: prepend
args: "download.php?id="
- name: append
args: "&f={{.Result.title}}.torrent"
banner:
selector: td a[href*="id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?) width="
size:
selector: td:nth-child(6)
seeders:

View File

@@ -12,6 +12,8 @@
caps:
categorymappings:
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
- {id: 108, cat: XXX, desc: "Adultos: Transex/Female"}
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
@@ -59,6 +61,8 @@
- {id: 56, cat: Console/Xbox, desc: "Jogos: Xbox"}
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
- {id: 111, cat: Console, desc: "Jogos: Nintendo Swich"}
- {id: 110, cat: Console, desc: "Jogos: Nintendo Switch"}
- {id: 57, cat: Console, desc: "Jogos: Android"}
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
- {id: 78, cat: Console/Xbox One, desc: "Jogos: Xbox One"}

View File

@@ -31,20 +31,18 @@
tv-search: [q, season, ep]
settings:
- name: cat-id
type: text
label: Category Id
- name: info
type: info
label: Category Id Note
default: "You can filter your searches by using any of the following category numbers (comma delimited):<br>1 :Anime - Sub<br>2 :Anime - Raw<br>3 :Anime - Dub<br>4 :LA - Sub<br>5 :LA - Raw<br>6 :Light Novel<br>7 :Manga - TLed<br>8 :Manga - Raw<br>9 :♫ - Lossy<br>10 :♫ - Lossless<br>11 :♫ - Video<br>12 :Games<br>13 :Applications<br>14 :Pictures<br>15 :Adult Video<br>16 :Other"
- name: lang-id
type: text
label: Language Id
label: Language ID
- name: info
type: info
label: Language ID Note
default: "You can filter your searches using any of the following language ID (comma delimited):<br>19 :Arabic<br>22 :Bengali<br>14 :Bulgarian<br>21 :Chinese (Simplified)<br>24 :Czech<br>20 :Danish<br>5 :Dutch<br>1 :English<br>11 :Finnish<br>10 :French<br>8 :German<br>13 :Greek<br>9 :Hungarian<br>27 :Indonesian<br>6 :Italian<br>2 :Japanese<br>28 :Korean<br>31 :Malaysian<br>25 :Mongolian<br>30 :Persian<br>3 :Polish<br>16 :Portuguese (Brazil)<br>17 :Portuguese (Portugal)<br>23 :Romanian<br>7 :Russian<br>4 :Serbo-Croatian<br>29 :Spanish (LATAM)<br>15 :Spanish (Spain)<br>18 :Swedish<br>26 :Turkish<br>12 :Vietnamese"
search:
paths:
- path: "?{{if .Config.cat-id}}id={{.Config.cat-id }}&{{else}}{{end}}{{if .Config.lang-id}}lang_id={{.Config.lang-id}}&{{else}}{{end}}q={{if .Keywords}}{{.Keywords}}{{else}}{{end}}"
# https://anidex.info/?page=search&id=1,2,3&lang_id=5,1,10&group_id=0&q=rinshi
- path: "?page=search&id={{if .Categories}}{{range .Categories}}{{.}},{{end}}{{else}}0{{end}}{{if .Config.lang-id}}&lang_id={{.Config.lang-id}}{{else}}{{end}}&group_id=0&q={{if .Keywords}}{{.Keywords}}{{else}}{{end}}"
rows:
selector: div.table-responsive > table > tbody > tr
fields:

View File

@@ -1,206 +0,0 @@
---
site: archetorrent
name: ArcheTorrent
description: "ArcheTorrent is a FRENCH Private Torrent Tracker"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://archetorrent.com/
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: filter_title
type: checkbox
label: Try to normalize releases names by moving year after the title
default: false
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
default: false
- name: multilanguage
type: select
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"
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
default: false
caps:
categorymappings:
- {id: 18, cat: PC, desc: "Applications: PC"}
- {id: 19, cat: PC/Mac, desc: "Applications: Mac"}
- {id: 54, cat: PC, desc: "Applications: linux"}
- {id: 56, cat: XXX/Other, desc: "Autres: ebook xxx"}
- {id: 36, cat: Books, desc: "Autres: E-Books"}
- {id: 37, cat: Other, desc: "Autres: Images"}
- {id: 38, cat: PC/Phone-Other, desc: "Autres: Telephone-mobile"}
- {id: 47, cat: Movies, desc: "Films: Animé"}
- {id: 1, cat: Movies/DVD, desc: "Films: DVD"}
- {id: 2, cat: Movies/SD, desc: "Films: Dvdrip"}
- {id: 68, cat: Movies, desc: "Films: TAT Releases"}
- {id: 70, cat: Movies/HD, desc: "Films: UHD 4K"}
- {id: 69, cat: Movies, desc: "Films: Retro"}
- {id: 3, cat: Movies/HD, desc: "Films: HD1080"}
- {id: 42, cat: Movies/HD, desc: "Films: HD720"}
- {id: 4, cat: Movies, desc: "Films: Cam/Ts"}
- {id: 22, cat: Movies/BluRay, desc: "Films: bluray"}
- {id: 23, cat: Movies/3D, desc: "Films: 3D"}
- {id: 24, cat: Movies/Foreign, desc: "Films: VOSTFR"}
- {id: 25, cat: XXX, desc: "Films: Adulte"}
- {id: 48, cat: TV/Documentary, desc: "Films: Documentaire"}
- {id: 49, cat: Movies/Other, desc: "Films: Spectacle"}
- {id: 51, cat: Movies/SD, desc: "Films: R5"}
- {id: 52, cat: Movies/SD, desc: "Films: bdrip"}
- {id: 53, cat: Movies/SD, desc: "Films: brrip"}
- {id: 55, cat: Movies/DVD, desc: "Films: dvd-pack"}
- {id: 57, cat: Movies, desc: "Films: manga"}
- {id: 59, cat: Movies/WEBDL, desc: "Films: Webrip"}
- {id: 63, cat: Movies/SD, desc: "Films: M-HD"}
- {id: 10, cat: PC/Games, desc: "Jeux: PC"}
- {id: 11, cat: Console/Other, desc: "Jeux: PS2"}
- {id: 43, cat: Console/PS3, desc: "Jeux: PS3"}
- {id: 12, cat: Console/PSP, desc: "Jeux: PSP"}
- {id: 14, cat: Console/Xbox 360, desc: "Jeux: Xbox360"}
- {id: 44, cat: Console/Wii, desc: "Jeux: Wii"}
- {id: 45, cat: Console/NDS, desc: "Jeux: DS"}
- {id: 27, cat: Audio/Video, desc: "Musique: Clip Video"}
- {id: 62, cat: TV/SD, desc: "Serie tv: TV BDRip"}
- {id: 5, cat: TV/SD, desc: "Serie tv: Dvdrip"}
- {id: 41, cat: TV/HD, desc: "Serie tv: Hd"}
- {id: 60, cat: TV/SD, desc: "Serie tv: pack série tv"}
- {id: 64, cat: TV/FOREIGN, desc: "Serie tv: vostfr"}
- {id: 65, cat: TV/HD, desc: "Serie tv: Série tv 720P"}
- {id: 66, cat: TV/HD, desc: "Serie tv: Série tv 1080P"}
- {id: 67, cat: TV/HD, desc: "Serie tv: Série tv PackHD"}
- {id: 73, cat: TV/Anime, desc: "Serie tv: Anime "}
- {id: 72, cat: TV/Sport, desc: "Sport: sport"}
- {id: 61, cat: TV/SD, desc: "Tv: DVDRip"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: form:contains("Erreur")
message:
selector: form
remove: table
test:
path: torrents-search.php
search:
keywordsfilters:
- name: replace
args: ["-", " "] # remove special search character (negative search)
- name: replace
args: ["+", " "] # remove special search character (positive search)
- name: re_replace
args: ["(\\w+)", " +$1"] # prepend + to each word
paths:
- path: torrents-search.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: "1"
rows:
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
fields:
download:
selector: a[href^="torrents-details.php?id="]
attribute: href
filters:
- name: replace
args: ["torrents-details.php", "download.php"]
date:
selector: td:nth-child(3) a
attribute: onmouseover
filters:
- name: regexp
args: "Poster le: </b>(.*?)<br />"
- name: dateparse
args: "02-01-2006"
title_normal:
selector: a[href^="torrents-details.php?id="]
filters:
- name: replace
args: [" - (Nouveau!)", ""]
title_filtered:
selector: a[href^="torrents-details.php?id="]
filters:
- name: replace
args: [" - (Nouveau!)", ""]
- name: re_replace
args: ["(?i)^(?:(.+?)((?:[\\.\\-\\s_\\[]+(?:imax|(?:dvd|bd|tv)(?:rip|scr)|bluray(?:\\-?rip)?|720\\s*p?|1080\\s*p?|vof?|vost(?:fr)?|multi|vf(?:f|q)?[1-3]?|(?:true)?french|eng?)[\\.\\-\\s_\\]]*)*)([\\(\\[]?(?:20|1[7-9])\\d{2}[\\)\\]]?)(.*)$|(.*))$", "$1 $3 $2 $4 $5"]
- name: replace
args: [".", " "]
- name: trim
- name: re_replace
args: ["(?i)\\s(mkv|avi|divx|xvid|mp4)$", ""]
- name: re_replace
args: ["(\\s{2,5})", " "]
- name: trim
title_phase1:
text: "{{if .Config.filter_title }}{{ .Result.title_filtered }}{{else}}{{ .Result.title_normal }}{{end}}"
title_multilang:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["[\\.\\s\\[\\-][Mm][Uu][Ll][Tt][Ii][\\.\\s\\]\\-]", ".{{ .Config.multilanguage }}."]
title_phase2:
text: "{{if .Config.multilang }}{{ .Result.title_multilang }}{{else}}{{ .Result.title_phase1 }}{{end}}"
title_vostfr:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["[\\.\\s\\[\\-][Vv][Oo][Ss][Tt][Ff][Rr][\\.\\s\\]\\-]", ".ENGLISH."]
title:
text: "{{if .Config.vostfr }}{{ .Result.title_vostfr }}{{else}}{{ .Result.title_phase2 }}{{end}}"
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
banner:
selector: img.rounded-img
attribute: src
size:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(9) font b
seeders:
selector: td:nth-child(7) font b
leechers:
selector: td:nth-child(8) font b
downloadvolumefactor:
case:
img[title="freeleech"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -68,6 +68,21 @@
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: downloadlink
type: select
label: Download link
default: "magnet:"
options:
"/download/" : ".torrent"
"magnet:": "magnet"
login:
path: /
method: form
@@ -85,7 +100,7 @@
selector: a[href="/users/logout/"]
download:
selector: a[href^="magnet:?"]
selector: a[href^="{{ .Config.downloadlink }}"]
search:
paths:
@@ -122,14 +137,14 @@
selector: td:nth-child(4)
date:
# 08:49:09
selector: td:nth-child(3):has(":")
selector: td:nth-child(3):contains(":")
optional: true
filters:
- name: dateparse
args: "15:04:05"
date:
# 2018-10-19
selector: td:nth-child(3):has("-")
selector: td:nth-child(3):contains("-")
optional: true
filters:
- name: dateparse

View File

@@ -48,11 +48,11 @@
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
selector: a[href*="/category/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
args: "/category/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
@@ -108,3 +108,4 @@
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -11,61 +11,64 @@
caps:
categorymappings:
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
- {id: "(Post)apocalyptic", cat: Audio/Audiobook, desc: "(Post)apocalyptic"}
- {id: "True", cat: Audio/Audiobook, desc: "True Crime"}
- {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: LGBT, cat: Audio/Audiobook, desc: "LGBT"}
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
- {id: Lecture, cat: Audio/Audiobook, desc: "Lecture"}
- {id: Lesbian, cat: Audio/Audiobook, desc: "Lesbian"}
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
- {id: LitRPG, cat: Audio/Audiobook, desc: "LitRPG"}
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
- {id: Misc., cat: Audio/Audiobook, desc: "Misc. Non-fiction"}
- {id: Mystery, cat: Audio/Audiobook, desc: "Mystery"}
- {id: Myth, cat: Audio/Audiobook, desc: "Myth Hunting"}
- {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: Postapocalyptic, cat: Audio/Audiobook, desc: "Postapocalyptic"}
- {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: SHTF, cat: Audio/Audiobook, desc: "SHTF"}
- {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: Sports, cat: Audio/Audiobook, desc: "Sports"}
- {id: Suspense, cat: Audio/Audiobook, desc: "Suspense"}
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
- {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: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
modes:
search: [q]
@@ -130,3 +133,11 @@
filters:
- name: regexp
args: "File Size: (.+?)s"
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1

View File

@@ -43,8 +43,6 @@
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: takelogin.php

View File

@@ -14,7 +14,9 @@
- {id: 2, cat: TV/HD, desc: "TV-Shows"}
modes:
searchstr: [q]
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: cookie

View File

@@ -49,7 +49,7 @@
sent: "yes"
returnto: "/"
error:
- selector: table:contains("Login failed!")
- selector: div.error
test:
path: index.php
@@ -61,7 +61,7 @@
- path: browse.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
search: "{{if .Keywords}}{{ .Keywords }}{{else}} {{end}}"
rows:
selector: table#torrent_table > tbody > tr:has(a[href^="browse.php?cat="])
fields:

View File

@@ -0,0 +1,172 @@
---
site: bit-titan
name: BiT-TiTAN
description: "BiT-TiTAN is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: de-de
type: private
encoding: iso-8859-1
links:
- https://bit-titan.net/
caps:
categorymappings:
- {id: 1, cat: TV/Documentary, desc: "Doku HD"}
- {id: 2, cat: TV/Documentary, desc: "Doku Packs"}
- {id: 3, cat: TV/Documentary, desc: "Doku SD"}
- {id: 4, cat: Movies/FOREIGN, desc: "International"}
- {id: 5, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 6, cat: Movies/3D, desc: "Movies 3D"}
- {id: 7, cat: Movies/HD, desc: "Movies 720p"}
- {id: 36, cat: Movies/BluRay, desc: "Movies BluRay"}
- {id: 8, cat: Movies/DVD, desc: "Movies DVD / HDVD"}
- {id: 37, cat: Movies/HD, desc: "Movies HD Pack"}
- {id: 9, cat: Movies/SD, desc: "Movies SD"}
- {id: 38, cat: Movies/SD, desc: "Movies SD Pack"}
- {id: 10, cat: Movies/UHD, desc: "Movies UHD"}
- {id: 11, cat: TV/HD, desc: "Serien HD"}
- {id: 12, cat: TV/OTHER, desc: "Serien Packs"}
- {id: 13, cat: TV/SD, desc: "Serien SD"}
- {id: 14, cat: TV/Sport, desc: "Sport"}
- {id: 15, cat: XXX/x264, desc: "XXX HD"}
- {id: 16, cat: XXX/XviD, desc: "XXX SD"}
- {id: 17, cat: Audio/Lossless, desc: "Musik FLAC"}
- {id: 18, cat: Audio/MP3, desc: "Musik MP3"}
- {id: 19, cat: Audio/Other, desc: "Musik Sonstiges"}
- {id: 20, cat: Audio/Video, desc: "Musik Videos"}
- {id: 23, cat: Console, desc: "Spiele Handy"}
- {id: 24, cat: Console, desc: "Spiele Linux"}
- {id: 21, cat: Console/NDS, desc: "Spiele Nintendo"}
- {id: 22, cat: Console/PSP, desc: "Spiele PlayStation"}
- {id: 25, cat: Console, desc: "Spiele Sonstige"}
- {id: 40, cat: Console, desc: "Spiele Wimmelbild"}
- {id: 26, cat: PC/Games, desc: "Spiele Windows"}
- {id: 27, cat: Console, desc: "XBOX 360/ONE"}
- {id: 28, cat: PC, desc: "Software Handy"}
- {id: 29, cat: PC, desc: "Software Linux"}
- {id: 30, cat: PC/Mac, desc: "Software Mac Os"}
- {id: 31, cat: PC, desc: "Software Sonstige"}
- {id: 32, cat: PC/0day, desc: "Software Windows"}
- {id: 33, cat: TV/Anime, desc: "Anime"}
- {id: 39, cat: Books/Ebook, desc: "eBook"}
- {id: 34, cat: Audio/Audiobook, desc: "Hörbücher/ -spiele"}
- {id: 35, cat: XXX/Other, desc: "XXX Sonstiges"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: login.php
method: form
form: form[action="takelogin.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 }}"
error:
- selector: div#login_error
test:
path: browse.php
selector: a[href="logout.php"]
ratio:
path: browse.php
selector: div#tom-b-t8
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# seachin 0=name 1=descr 2=both
blah: 0
# include dead 0=active 1=all 2=dead
incldead: 1
orderby: "added"
sort: "desc"
showsearch: 0
rows:
selector: table.tableinborder[border="0"][cellspacing="0"][cellpadding="0"] tr
fields:
category:
selector: td.tableb a
attribute: href
filters:
- name: querystring
args: cat
title:
selector: div a.tor-name
details:
selector: div a.tor-name
attribute: href
download:
selector: div a.tor-name
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
banner:
selector: div[id^="details-"] img
attribute: src
seeders:
selector: div.tor-sl b
leechers:
selector: div.tor-sl b:last-of-type
# 2 flavours of dates
date:
# Heute 13:30:04
# Gestern 09:10:10
selector: div.tor-date:not(:contains("."))
optional: true
filters:
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
date:
# 30.02.2018&nbsp;23:12:50
selector: div.tor-date:contains(".")
optional: true
filters:
- name: replace
args: ["\u00a0", " "]
- name: dateparse
args: "02.01.2006 15:04:05"
size:
selector: div.tor-size
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
grabs:
selector: div.tor-take
filters:
- name: regexp
args: "(\\d+)"
downloadvolumefactor:
case:
img[src="pic/ou_new.png"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -64,14 +64,18 @@
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d\.]+)
imdb:
optional: true
selector: a[href^="https://www.imdb.com/title/"]
attribute: href
date:
selector: time
filters:
@@ -100,11 +104,17 @@
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D

View File

@@ -0,0 +1,64 @@
---
site: btdb
name: BTDB
description: "BTDB is a Public BitTorrent DHT search engine."
language: en-us
type: public
encoding: UTF-8
links:
- https://btdb.eu/
legacylinks:
- https://btdb.to/
- https://btdb.unblocked.app/
caps:
categorymappings:
- {id: 1, cat: Other, desc: "Other"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: info
type: info
label: Category for Sonarr and Radarr
default: BTDB does not use categories. In your Sonarr or Radarr Torznab Indexer settings, set the category to 100001.
search:
paths:
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time{{else}}recent{{end}}"
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time&page=2{{else}}{{end}}"
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time&page=3{{else}}{{end}}"
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time&page=4{{else}}{{end}}"
rows:
selector: li[class$="item"]
fields:
title:
selector: h2[class$="title"] a[href*="/torrent/"]
attribute: title
category:
text: "1"
details:
selector: h2[class$="title"] a[href*="/torrent/"]
attribute: href
magnet:
selector: div[class$="info"] a[href^="magnet:?xt="]
attribute: href
size:
selector: div[class$="info"] span:nth-of-type(1)
files:
selector: div[class$="info"] span:nth-of-type(2)
date:
selector: div[class$="info"] span:nth-of-type(3)
grabs:
selector: div[class$="info"] span:nth-of-type(4)
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,80 @@
---
site: btdigg
name: BTDigg
description: "BTDigg is a Public BitTorrent DHT search engine."
language: en-us
type: public
encoding: UTF-8
links:
- https://btdig.com/
caps:
categories:
1: Other
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: info
type: info
default: BTDigg does not use categories. In your software Indexer settings, set the category to 100001.
search:
# https://btdig.com/search?q=test&order=2
# only 10 results per page
# https://btdig.com/search?q=test&p=1&order=2
paths:
- path: search
- path: search
inputs:
p: 1
- path: search
inputs:
p: 2
- path: search
inputs:
p: 3
- path: search
inputs:
p: 4
inputs:
q: "{{if .Keywords }}{{.Keywords}}{{else}}test{{end}}"
order: 2
rows:
selector: div.one_result
filters:
- name: andmatch
fields:
title:
selector: div.torrent_name a
category:
text: 1
details:
selector: div.torrent_name a
attribute: href
download:
selector: a[href^="magnet:?xt="]
attribute: href
date:
selector: span.torrent_age
filters:
- name: replace
args: ["found ", ""]
files:
text: 1
files:
selector: span.torrent_files
optional: true
size:
selector: span.torrent_size
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -46,7 +46,7 @@
password__dupa: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))aD
- selector: td.embedded:has(h2:contains("Error"))
test:
selector: a[href^="logout.php"]
path: browse.php

View File

@@ -5,8 +5,9 @@
language: en-us
type: public
encoding: UTF-8
followredirect: true
links:
- http://cnbtkitty.ws/
- http://btkitty.pet/
legacylinks:
- https://cnbtkitty.org/
- http://cnbtkitty.org/
@@ -14,6 +15,7 @@
- http://cnbtkitty.com/
- https://cnbtkitty.me/
- http://cnbtkitty.me/
- http://cnbtkitty.ws/
caps:
categorymappings:

View File

@@ -1,78 +0,0 @@
---
site: btstornet
name: BTstor.net
description: "BTstor.net is a Public BT-Scene clone for MOVIES / TV / GENERAL"
language: us-en
type: public
encoding: UTF-8
links:
- https://btstor.net/
caps:
categories:
"anime": TV/Anime
"books": Books
"games": PC/Games
"movies": Movies
"music": Audio
"other": Other
"shows": TV
"software": PC
"video": Movies
"xxx": XXX
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selector: "#dlt_"
search:
# https://btstor.net/
# https://btstor.net/q/midnight+texas+s01e10/date/
keywordsfilters:
# replace space between keywords with +
- name: re_replace
args: [" ", "+"]
paths:
- path: "q/{{ if .Keywords }}{{ .Keywords }}{{else}}test{{end}}/date/"
rows:
selector: table.tor > tbody > tr[class$="_tr"]
filters:
- name: andmatch
fields:
title:
selector: td.tname_index > a
details:
selector: td.tname_index > a
attribute: href
category:
# src="https://btstor.net/templates/btscene/images/shows.png"
selector: td.tname_index > img
attribute: src
filters:
- name: replace
args: [".png", ""]
- name: split
args: ["/", 6]
download:
selector: td.tname_index > a
attribute: href
size:
selector: td.tsize_index
seeders:
selector: td.tseeds_index
leechers:
selector: td.tpeers_index
date:
selector: td.tupd_index
filters:
- name: timeago
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -40,9 +40,9 @@
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: index.php?page=login
@@ -63,9 +63,10 @@
- path: index.php
inputs:
page: torrents
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
options: 0
# options: 0=title, 1=title&descr, 2=descr
options: "{{if .Query.IMDBID}}1{{else}}0{{end}}"
active: 0
rows:

View File

@@ -0,0 +1,141 @@
---
site: casatorrent
name: Casa-Torrent
description: "Casa-Torrent is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://teamctgame.co/
caps:
categorymappings:
- {id: 65, cat: Movies/HD, desc: "BD: BD"}
- {id: 68, cat: Books/Magazines, desc: "Ebooks: Presse"}
- {id: 56, cat: Books/Ebook, desc: "Ebooks: Ebooks"}
- {id: 90, cat: Audio/Audiobook, desc: "Ebooks: Audio books"}
- {id: 84, cat: XXX, desc: "Ebooks: XXX"}
- {id: 95, cat: Books/Comics, desc: "Ebooks: Mangas"}
- {id: 53, cat: Movies/HD, desc: "Films: 4K"}
- {id: 50, cat: Movies/UHD, desc: "Films: 4K-Remux"}
- {id: 72, cat: Movies/HD, desc: "Films: x265"}
- {id: 54, cat: Movies/3D, desc: "Films: 3D"}
- {id: 71, cat: Movies/BluRay, desc: "Films: Full Bluray"}
- {id: 96, cat: Movies, desc: "Films: Remux"}
- {id: 78, cat: Movies/DVD, desc: "Films: DVD-R"}
- {id: 52, cat: Movies/HD, desc: "Films: HD.1080p"}
- {id: 51, cat: Movies/HD, desc: "Films: HD.720p"}
- {id: 87, cat: Movies/HD, desc: "Films: HDRiP"}
- {id: 60, cat: Movies, desc: "Films: Pack"}
- {id: 47, cat: Movies/DVD, desc: "Films: DVDRip"}
- {id: 48, cat: Movies/BluRay, desc: "Films: BDRip / BRRip"}
- {id: 80, cat: Movies/HD, desc: "Films: HDLiGHT / M-HD"}
- {id: 63, cat: Movies/HD, desc: "Films: HD TV"}
- {id: 58, cat: Movies/WEBDL, desc: "Films: Web - DL"}
- {id: 75, cat: TV, desc: "Films: TVRiP"}
- {id: 61, cat: Movies, desc: "Films: Animation"}
- {id: 82, cat: TV/Anime, desc: "Films: Mangas"}
- {id: 55, cat: Movies, desc: "Films: VOSTFR"}
- {id: 89, cat: Movies, desc: "Films: VO"}
- {id: 57, cat: Movies/WEBDL, desc: "Films: WebRip"}
- {id: 98, cat: Movies, desc: "Films: VFSTFR"}
- {id: 1, cat: XXX, desc: "Films: XXX"}
- {id: 66, cat: PC/Games, desc: "Jeux: PC"}
- {id: 97, cat: Console/PSP, desc: "Jeux : Jeux PS"}
- {id: 81, cat: Console/Xbox, desc: "Jeux : XboX"}
- {id: 62, cat: PC/0day, desc: "Logiciels: Windows"}
- {id: 99, cat: Other, desc: "Logiciels: Graph / Wallpaper"}
- {id: 77, cat: PC/Phone-Android, desc: "Logiciels: Android"}
- {id: 94, cat: PC/Mac, desc: "Logiciels: MAC"}
- {id: 93, cat: TV/Anime, desc: "Mangas: Animés"}
- {id: 86, cat: TV/HD, desc: "Series: Episode HD"}
- {id: 85, cat: TV/SD, desc: "Series: Episode SD"}
- {id: 59, cat: TV/SD, desc: "Series: Tv - Pack SD"}
- {id: 100, cat: TV/HD, desc: "Series: Tv - Pack HD"}
- {id: 101, cat: TV/HD, desc: "Series: Episode HD Vostfr"}
- {id: 102, cat: TV/SD, desc: "Series: Episode SD Vostfr"}
- {id: 103, cat: TV/HD, desc: "Series: Tv - Pack HD Vostfr"}
- {id: 104, cat: TV/SD, desc: "Series: Tv - Pack SD Vostfr"}
- {id: 88, cat: TV, desc: "Spectacles: Tous"}
- {id: 73, cat: TV/Documentary, desc: "TV: Documentaires"}
- {id: 83, cat: TV, desc: "TV: Emissions"}
- {id: 74, cat: TV/Sport, desc: "TV: Sports"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: account-login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: p#msgError
test:
path: torrents-search.php
selector: a[href="account-logout.php"]
ratio:
path: torrents-search.php
selector: div#infobar b
search:
paths:
- path: torrents-search.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 1
freeleech: 0
lang: 0
rows:
selector: table.ttable_headinner > tbody > tr.t-row
fields:
title:
selector: a[href^="torrents-details.php?id="] b
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
banner:
selector: img[src*="/uploads/images/"]
attribute: src
grabs:
selector: a[onmouseover][href^="torrents-details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "Snatched: </b>(\\d+)<br"
size:
selector: td:nth-last-child(5)
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
date:
selector: a[onmouseover][href^="torrents-details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "le: </b>(.*?)<br"
- name: dateparse
args: "02-01-2006"
downloadvolumefactor:
case:
img[src="images/free.gif"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,141 @@
---
site: Channelx
name: ChannelX
description: "ChannelX is a Private Torrent Tracker for High Quality Optimized HD MOVIES / TV"
language: en-us
type: private
encoding: UTF-8
links:
- https://channelx.online/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Audiotracks"}
- {id: 4, cat: TV/Sport, desc: "Sports"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
error:
- selector: form[action*="/login"] .text-red
test:
path: torrents
selector: a[href$="/logout"]
ratio:
path: torrents
selector: li:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
download:
selector: a[href*="/download/"]
search:
paths:
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sort: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download_check/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
banner:
optional: true
selector: div.torrent-poster img
attribute: src
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: ([\d\.]+)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
attribute: href
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D 1.9

View File

@@ -0,0 +1,142 @@
---
site: cinefilhd
name: CiNEFiLHD
description: "CiNEFiLHD is a Private Torrent Tracker for MOVIES / TV / MUSIC"
language: en-us
type: private
encoding: UTF-8
links:
- http://www.cinefilhd.org/
caps:
categorymappings:
- {id: 37, cat: Movies/HD, desc: " Internal/HD-1080p"}
- {id: 17, cat: Movies/HD, desc: " Internal/HD-720p"}
- {id: 30, cat: TV/HD, desc: " Internal/HDTV"}
- {id: 15, cat: Movies/HD, desc: " Internal/mHD"}
- {id: 40, cat: Movies, desc: " Internal/Mp4"}
- {id: 26, cat: Movies, desc: " Internal/Remux"}
- {id: 45, cat: Movies/WEBDL, desc: " Internal/WEB-DL"}
- {id: 25, cat: Movies/3D, desc: " Movies/3D-Ou"}
- {id: 16, cat: Movies/3D, desc: " Movies/3D-SbS"}
- {id: 5, cat: Movies/BluRay, desc: " Movies/BluRay"}
- {id: 38, cat: Movies/HD, desc: " Movies/HD-1080p"}
- {id: 10, cat: Movies/HD, desc: " Movies/HD-720p"}
- {id: 29, cat: Movies/HD, desc: " Movies/mHD"}
- {id: 41, cat: Movies, desc: " Movies/Mp4"}
- {id: 39, cat: Movies, desc: " Movies/Remux"}
- {id: 44, cat: Movies/WEBDL, desc: " Movies/WEB-DL"}
- {id: 23, cat: Audio/Lossless, desc: " Lossless"}
- {id: 14, cat: Audio/MP3, desc: " MP3-Packs"}
- {id: 22, cat: Audio/MP3, desc: " Music-MP3"}
- {id: 43, cat: Audio/Video, desc: " Music/1080p"}
- {id: 42, cat: Audio/Video, desc: " Music/720p"}
- {id: 12, cat: TV/HD, desc: " HDTV-Packs"}
- {id: 21, cat: TV/HD, desc: " Movies/HDTV"}
modes:
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submitme: "LOGIN"
returnto: /
error:
- selector: h2:contains("failed")
message:
selector: td.colhead2
test:
path: browse.php
selector: :has(a[href^="logout.php?hash_please="])
ratio:
path: browse.php
selector: div div font:contains("Ratio:")
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s"
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
# title descr genre all
searchin: "{{ if .Query.IMDBID }}descr{{else}}title{{end}}"
# 0=active 1=incl dead 2=only dead
incldead: 1
# 0=no 1=yes
only_free: 0
rows:
selector: table.mainouter table > tbody > tr:has(a[href^="details.php?id="]), table.mainouter table > tbody > tr[id^="kdescr"]
after: 1
fields:
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
banner:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
# onmouseover="Tip('<img class=\'pup\' src=\'https://image.tmdb.org/t/p/original/x96AdPlpl4MjUP2DeUhRJifhCMd.jpg\' width=
- name: regexp
args: src=\\'(.*?)\\'
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
files:
selector: td:nth-child(4)
# 2 flavours of dates
date:
# Today<br /> 10:20 AM
# Yesterday<br /> 08:03 PM
optional: true
selector: td:nth-child(6):contains("day")
date:
# Feb 14 2019<br /> 10:20 AM
optional: true
selector: td:nth-child(6):not(:contains("day"))
filters:
- name: dateparse
args: "Jan 2 2006 03:04 pm"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d,]+)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
downloadvolumefactor:
case:
tr.freeleech_color: "0"
tr.highlight: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
# U-232 v3

View File

@@ -34,7 +34,7 @@
- path: torrents-search.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
search: "{{ .Query.Keywords }}"
search: "{{if .Keywords}}\"{{.Keywords}}\"{{else}}{{end}}"
rows:
selector: table > tbody > tr:has(a[href^="torrents.php?cat="])
fields:

View File

@@ -7,7 +7,7 @@
encoding: UTF-8
followredirect: true
links:
- https://www.cpasbiens.cz/
- https://www.cpasbien.vg/
legacylinks:
- http://www.cpasbiens.cc/
- http://www.cpabien.cm/
@@ -33,6 +33,8 @@
- http://www.cpasbien.io/
- https://www.cpabien.bz/
- https://www.cpabien.link/
- https://www.cpasbiens.cz/
- https://www.cpasbiens.bz/
caps:
categorymappings:

View File

@@ -9,13 +9,12 @@
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Filmy"}
- {id: 25, cat: TV, desc: "Seriály"}
- {id: 23, cat: TV/Documentary, desc: "Filmy - dokument"}
- {id: 22, cat: PC, desc: "Aplikace"}
- {id: 1, cat: Movies, desc: "Filmy"}
- {id: 36, cat: Movies/3D, desc: "Filmy - 3D"}
- {id: 35, cat: Movies/Other, desc: "Filmy - anime"}
- {id: 37, cat: Movies/BluRay, desc: "Filmy - Blu-ray"}
- {id: 33, cat: TV/Documentary, desc: "Filmy - dokument"}
- {id: 11, cat: Movies/DVD, desc: "Filmy - DVD"}
- {id: 30, cat: Movies/DVD, desc: "Filmy - DVD full"}
- {id: 5, cat: Movies, desc: "Filmy - kreslené"}
@@ -29,6 +28,7 @@
- {id: 32, cat: Audio, desc: "Mluvené slovo"}
- {id: 16, cat: PC/Phone-Other, desc: "Mobil, PDA"}
- {id: 4, cat: Other, desc: "Ostatní"}
- {id: 25, cat: TV, desc: "Seriály"}
- {id: 29, cat: Audio, desc: "Soundtrack"}
- {id: 19, cat: Audio/Video, desc: "Videoklipy"}
- {id: 24, cat: XXX, desc: "xXx"}
@@ -88,11 +88,11 @@
- name: re_replace
args: ["(\\d{1})\\.", "S0$1"]
category:
selector: td:nth-child(2)
selector: td.categorie
case:
":contains(\"Filmy\")": 1
":contains(\"Seriály\")": 25
":contains(\"Filmy - dokument\")": 23
":contains(\"Filmy - dokument\")": 33
":contains(\"Aplikace\")": 22
":contains(\"Filmy - 3D\")": 36
":contains(\"Filmy - anime\")": 35
@@ -123,20 +123,16 @@
selector: td.detaily
filters:
- name: split
args: [ "|", 0 ]
- name: regexp
args: "Velikost: (.+?) ?$"
args: [ "|", 1 ]
date:
selector: td:nth-child(4)
selector: td.detaily
filters:
- name: split
args: [ "|", 1 ]
- name: regexp
args: "Přidán: (.+?) ?$"
args: [ "|", 2 ]
- name: append
args: " +02:00"
- name: dateparse
args: "2.1.2006 15:04 -07:00"
args: "2.1.2006 15:04 -07:00"
seeders:
selector: td:nth-child(7) span
leechers:

View File

@@ -0,0 +1,237 @@
---
site: 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.ml/
caps:
categorymappings:
# Film
- {id: 32, cat: Movies/HD, desc: "Film HD"}
- {id: 28, cat: Movies/SD, desc: "Film SD"}
- {id: 119, cat: Movies/DVD, desc: "Film DVD"}
- {id: 114, cat: Movies/UHD, desc: "Film 4K/2160p"}
- {id: 26, cat: Movies/3D, desc: "Film 3D"}
# Serien
- {id: 57, cat: TV/HD, desc: "Serien HD"}
- {id: 60, cat: TV/SD, desc: "Serien SD"}
- {id: 59, cat: TV, desc: "Serien Pack"}
- {id: 122, cat: TV, desc: "Serien Show"}
- {id: 123, cat: TV/Documentary, desc: "Serien Doku"}
# Doku
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
# Spiele
- {id: 17, cat: PC/Games, desc: "Spiele PC"}
- {id: 24, cat: Console, desc: "Spiele Konsole"}
- {id: 121, cat: Console, desc: "Spiele Wimmelbild"}
- {id: 126, cat: Console/Other, desc: "Spiele Mobil"}
# Musik
- {id: 110, cat: Audio/MP3, desc: "Musik MP3"}
- {id: 52, cat: Audio, desc: "Musik Pack"}
- {id: 48, cat: Audio/Lossless, desc: "Musik Flac"}
- {id: 120, cat: Audio/Video, desc: "Musik Video"}
# App
- {id: 12, cat: PC/0day, desc: "App PC"}
- {id: 125, cat: PC/Mac, desc: "App MacOS"}
- {id: 11, cat: PC/Phone-Other, desc: "App Mobil"}
# Sport
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
# Internal
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
- {id: 131, cat: TV/SD, desc: "Internal Serien SD"}
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
# Sonstiges
- {id: 64, cat: TV/Anime, desc: "Anime"}
- {id: 96, cat: Books/Ebook, desc: "e-Book"}
- {id: 63, cat: Audio/Audiobook, desc: "Hörbuch"}
- {id: 71, cat: Other, desc: "Anderes"}
# XXX
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
- {id: 75, cat: XXX/Packs, desc: "XXX Pack"}
- {id: 76, cat: XXX/XviD, desc: "XXX SD"}
- {id: 124, cat: XXX/Other, desc: "XXX Clips"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: pin
type: text
label: Pin
login:
path: login.php
method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
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 }}"
blah: "0"
orderby: "added"
sort: "desc"
rows:
selector: div.selection_wrap
fields:
download:
selector: a.selection_a
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
title:
selector: a.selection_a
details:
selector: a.selection_a
attribute: href
category:
selector: div.kat_cat_pic
case:
# Movies
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"4K/2160p\"))": "114"
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": "119"
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "32"
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "28"
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": "26"
# Serien
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "60"
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "57"
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "59"
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Show\"))": "122"
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Doku\"))": "123"
# Musik
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": "48"
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"MP3\"))": "110"
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "52"
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Videos\"))": "120"
# Doku
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "15"
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "14"
# Games
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "17"
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": "121"
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Konsole\"))": "24"
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "126"
# App
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "12"
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"MacOS\"))": "125"
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "11"
# Sport
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "62"
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "61"
# Sonstiges
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Anime\"))": "64"
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": "96"
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": "63"
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": "71"
# XXX
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "76"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "73"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "75"
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Clips\"))": "124"
# Internal
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film HD\"))": "128"
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film SD\"))": "129"
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien HD\"))": "130"
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien SD\"))": "131"
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": "132"
banner:
selector: div[id^="details"] img
attribute: src
size:
selector: div.selection_unter_ad
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
grabs:
selector: div.selection_unter_ae
filters:
- name: trim
args: "x"
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: div.selection_unter_aa
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
leechers:
selector: div.selection_unter_aaa
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
downloadvolumefactor:
case:
":root:has(div.onlyup)": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
# 2 flavours of dates
date:
# 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"]
date:
# 30.02.2018 um 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace
args: [" um", ""]
- name: dateparse
args: "02.01.2006 15:04:05"
description:
selector: selection_unter_af
optional: true

View File

@@ -0,0 +1,140 @@
---
site: desireleasers
name: DesiReleasers
description: "DesiReleasers is an INDIAN Private Torrent Tracker for INDIAN MOVIES"
language: en-us
type: private
encoding: UTF-8
links:
- https://desireleasers.be/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: Audio/Video, desc: "Music Videos"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in 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<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
test:
path: torrents
selector: a[href$="/logout"]
ratio:
path: torrents
selector: li:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sort: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
banner:
optional: true
selector: div.torrent-poster img
attribute: src
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d\.]+)
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
attribute: href
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D 1.9.1

View File

@@ -236,13 +236,22 @@
uploadvolumefactor:
case:
"*": "1"
# 2 flavours of dates
date:
selector: div.selection_unter_ab
# 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"]
date:
# 30.02.2018 um 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace
args: [" um", ""]
- name: dateparse

View File

@@ -114,3 +114,4 @@
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -27,9 +27,9 @@
search:
# site returns just 30 results, attempt to fetch upto 90
paths:
- path: index.php
- path: index.php/page/2/
- path: index.php/page/3/
- path: /
- path: /page/2/
- path: /page/3/
keywordsfilters:
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
- name: re_replace

View File

@@ -21,55 +21,70 @@
caps:
categorymappings:
# ANIMES
- {id: 105, cat: TV/Anime, desc: "1080p"}
- {id: 104, cat: TV/Anime, desc: "720p"}
- {id: 90, cat: TV/Anime, desc: "HDRIP-720p"}
- {id: 93, cat: TV/Anime, desc: "HDRIP1080p"}
- {id: 131, cat: TV/Anime, desc: "SD"}
- {id: 120, cat: TV/Anime, desc: "X265-1080p"}
- {id: 119, cat: TV/Anime, desc: "X265-720p"}
- {id: 107, cat: TV/Anime, desc: "1080p"}
- {id: 106, cat: TV/Anime, desc: "720p"}
- {id: 94, cat: TV/Anime, desc: "HDRIP1080p"}
- {id: 91, cat: TV/Anime, desc: "HDRIP720p"}
- {id: 105, cat: TV/Anime, desc: "ANIMES 1080p-Bluray"}
- {id: 149, cat: TV/Anime, desc: "ANIMES 3D"}
- {id: 143, cat: TV/Anime, desc: "ANIMES 4K-2160p"}
- {id: 104, cat: TV/Anime, desc: "ANIMES 720p-Bluray"}
- {id: 90, cat: TV/Anime, desc: "ANIMES HDrip-720p"}
- {id: 93, cat: TV/Anime, desc: "ANIMES HDrip-1080p"}
- {id: 131, cat: TV/Anime, desc: "ANIMES SD"}
- {id: 120, cat: TV/Anime, desc: "ANIMES X265-1080p"}
- {id: 119, cat: TV/Anime, desc: "ANIMES X265-720p"}
# DOCUMENTAIRES
- {id: 107, cat: TV/Documentary, desc: "DOCS 1080p-Bluray"}
- {id: 152, cat: TV/Documentary, desc: "DOCS 2160p-Bluray"}
- {id: 106, cat: TV/Documentary, desc: "DOCS 720p-Bluray"}
- {id: 94, cat: TV/Documentary, desc: "DOCS HDrip-1080p"}
- {id: 91, cat: TV/Documentary, desc: "DOCS HDrip-720p"}
- {id: 142, cat: TV/Documentary, desc: "DOCS HDTV"}
- {id: 141, cat: TV/Documentary, desc: "DOCS SD"}
# EBOOK
- {id: 124, cat: Books, desc: "Livres et Magazines"}
# FILMS
- {id: 97, cat: Movies/HD, desc: "1080p"}
- {id: 103, cat: Movies/3D, desc: "3D"}
- {id: 111, cat: Movies/HD, desc: "4K"}
- {id: 96, cat: Movies/HD, desc: "720p"}
- {id: 127, cat: Movies/HD, desc: "BDrip"}
- {id: 128, cat: Movies/HD, desc: "BRrip"}
- {id: 126, cat: Movies/SD, desc: "DVDrip"}
- {id: 89, cat: Movies/HD, desc: "HDRIP-720p"}
- {id: 92, cat: Movies/HD, desc: "HDRIP1080p"}
- {id: 112, cat: Movies/SD, desc: "Team-Hush"}
- {id: 129, cat: Movies/HD, desc: "Team-Romkent"}
- {id: 125, cat: Movies/Other, desc: "WEBrip"}
- {id: 110, cat: Movies/HD, desc: "X265-1080p"}
- {id: 109, cat: Movies/HD, desc: "X265-720p"}
- {id: 97, cat: Movies/HD, desc: "FILMS Bluray-1080p"}
- {id: 103, cat: Movies/3D, desc: "FILMS 3D"}
- {id: 111, cat: Movies/UHD, desc: "FILMS 4K"}
- {id: 96, cat: Movies/HD, desc: "FILMS Bluray-720p"}
- {id: 127, cat: Movies/HD, desc: "FILMS BDrip"}
- {id: 128, cat: Movies/HD, desc: "FILMS BRrip"}
- {id: 140, cat: Movies/HD, desc: "FILMS BSD-Team"}
- {id: 126, cat: Movies/SD, desc: "FILMS DVDrip"}
- {id: 136, cat: Movies/BluRay, desc: "FILMS Full-Bluray"}
- {id: 135, cat: Movies/SD, desc: "FILMS Team Freedom-HD"}
- {id: 137, cat: Movies/SD, desc: "FILMS Team ticadow"}
- {id: 89, cat: Movies/HD, desc: "FILMS HDrip-720p"}
- {id: 92, cat: Movies/HD, desc: "FILMS HDrip-1080p"}
- {id: 112, cat: Movies/SD, desc: "FILMS Team-Hush"}
- {id: 129, cat: Movies/HD, desc: "FILMS Team-Romkent"}
- {id: 125, cat: Movies/Other, desc: "FILMS WEBrip"}
- {id: 110, cat: Movies/HD, desc: "FILMS X265-1080p"}
- {id: 109, cat: Movies/HD, desc: "FILMS X265-720p"}
# GAMES
- {id: 134, cat: PC/Games, desc: "jeu PC"}
# MUSIQUES
- {id: 114, cat: Audio/Lossless, desc: "Flac"}
- {id: 113, cat: Audio/MP3, desc: "MP3"}
- {id: 132, cat: Audio, desc: "Musiques-HQ"}
- {id: 130, cat: Audio/Video, desc: "video clip"}
# SERIE-sd
- {id: 121, cat: TV/SD, desc: "SD"}
# SERIES-HD
- {id: 102, cat: TV/HD, desc: "1080p"}
- {id: 101, cat: TV/HD, desc: "720p"}
- {id: 100, cat: TV/HD, desc: "HDrip1080p"}
- {id: 99, cat: TV/HD, desc: "HDrip720p"}
- {id: 114, cat: Audio/Lossless, desc: "MUSIQUES Flac"}
- {id: 113, cat: Audio/MP3, desc: "MUSIQUES MP3"}
- {id: 132, cat: Audio, desc: "MUSIQUES HQ"}
- {id: 130, cat: Audio/Video, desc: "MUSIQUES video clip"}
# SERIE
- {id: 121, cat: TV/SD, desc: "SERIE SD"}
- {id: 102, cat: TV/HD, desc: "SERIE 1080p-Bluray"}
- {id: 101, cat: TV/HD, desc: "SERIE 720p-Bluray"}
- {id: 100, cat: TV/HD, desc: "SERIE HDrip-1080p"}
- {id: 99, cat: TV/HD, desc: "SERIE HDrip-720p"}
- {id: 151, cat: TV/UHD, desc: "SERIE HDrip-2160p"}
# SPECTACLES
- {id: 118, cat: TV/Sport, desc: "HDRIP1080p"}
- {id: 117, cat: TV/Sport, desc: "HDRIP720p"}
- {id: 138, cat: TV, desc: "SPECTACLES Bluray-1080p"}
- {id: 139, cat: TV, desc: "SPECTACLES Bluray-720p"}
- {id: 133, cat: TV, desc: "SPECTACLES DVDrip"}
- {id: 118, cat: TV, desc: "SPECTACLES HDrip-1080p"}
- {id: 117, cat: TV, desc: "SPECTACLES HDrip-720p"}
# SPORT
- {id: 146, cat: TV/Sport, desc: "SPORT HDTV-1080p"}
- {id: 147, cat: TV/Sport, desc: "SPORT HDTV-720p"}
- {id: 148, cat: TV/Sport, desc: "SPORT SD"}
- {id: 144, cat: TV/Sport, desc: "SPORT WEB-DL-1080p"}
- {id: 145, cat: TV/Sport, desc: "SPORT WEB-DL-720p"}
modes:
search: [q]
@@ -134,6 +149,8 @@
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
date:
text: now
downloadvolumefactor:
case:
img[alt="freeleech"]: "0"

View File

@@ -1,30 +1,33 @@
---
site: redtopia
name: Redtopia
description: "Tracker Music/Podcasts/Audiobooks"
site: freetorrent
name: FreeTorrent
description: "FreeTorrent is a Private Torrent Tracker for HD MOVIES / TV"
language: en-us
type: private
encoding: UTF-8
links:
- https://redtopia.xyz/
- https://freetorrent.tk/
caps:
categorymappings:
- {id: 1, cat: Audio, desc: "Studio Album"}
- {id: 2, cat: Audio, desc: "Studio Single"}
- {id: 3, cat: Audio, desc: "Studio Collection"}
- {id: 4, cat: Audio, desc: "Indie Album"}
- {id: 5, cat: Audio, desc: "Indie Single"}
- {id: 6, cat: Audio, desc: "Indie Collection"}
- {id: 7, cat: Audio, desc: "Live Album"}
- {id: 8, cat: Audio, desc: "OST"}
- {id: 9, cat: Audio, desc: "Podcast"}
- {id: 10, cat: Audio, desc: "Audio Book"}
- {id: 11, cat: Audio, desc: "Audio Drama"}
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: PC/0day, desc: "Software"}
- {id: 5, cat: Books, desc: "Ebook"}
- {id: 6, cat: PC/Games, desc: "Games"}
- {id: 7, cat: TV, desc: "Animations"}
- {id: 8, cat: PC, desc: "Linux"}
- {id: 9, cat: PC/Mac, desc: "MacOS"}
- {id: 10, cat: PC/Phone-Android, desc: "Android app"}
- {id: 11, cat: PC/Phone-Android, desc: "Android ROMs"}
- {id: 12, cat: TV/Documentary, desc: "Documentaries"}
- {id: 13, cat: TV, desc: "Shows"}
modes:
search: [q]
music-search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login
@@ -42,9 +45,13 @@
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{ .Keywords }}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
sorting: created_at
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sort: created_at
direction: desc
qty: 100
rows:
@@ -65,16 +72,20 @@
selector: a.view-torrent
attribute: href
size:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: ([\d\.]+)
imdb:
optional: true
selector: a[href^="https://www.imdb.com/title/"]
attribute: href
date:
selector: time
filters:
@@ -103,11 +114,13 @@
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double Upload\"]": "2" # global flag
"i[data-original-title=\"Double upload\"]": "2" # torrent specific flag
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -50,7 +50,7 @@
active: 0
rows:
selector: tr:has(a[href^="index.php?page=torrent-details"])
selector: tr > td > table > tbody tr:has(a[href^="index.php?page=torrent-details"])
fields:
title:
selector: td a[href^="index.php?page=torrent-details"]

View File

@@ -24,6 +24,7 @@
- https://www.gktorrent.me/
- https://www.rantop.org/
- https://www.gktorrent.net/
- https://www.gktorrent.cx/
caps:
categorymappings:
- {id: movies, cat: Movies, desc: "Movies"}

View File

@@ -13,7 +13,7 @@
# Movie
- {id: 132, cat: Movies/BluRay, desc: "BluRay"}
- {id: 146, cat: Movies/HD, desc: "Remux"}
- {id: 186, cat: Movies/HD, desc: "UHD"}
- {id: 186, cat: Movies/UHD, desc: "UHD"}
- {id: 189, cat: Movies/HD, desc: "HD"}
- {id: 190, cat: Movies/SD, desc: "SD"}
- {id: 20, cat: Movies/DVD, desc: "DVD"}
@@ -21,10 +21,10 @@
- {id: 16, cat: Movies, desc: "Packs"}
# Serien
- {id: 187, cat: TV/HD, desc: "Staffeln UHD"}
- {id: 187, cat: TV/UHD, desc: "Staffeln UHD"}
- {id: 173, cat: TV/HD, desc: "Staffeln HD"}
- {id: 133, cat: TV/SD, desc: "Staffeln SD"}
- {id: 188, cat: TV/HD, desc: "Folgen UHD"}
- {id: 188, cat: TV/UHD, desc: "Folgen UHD"}
- {id: 174, cat: TV/HD, desc: "Folgen HD"}
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
@@ -76,6 +76,7 @@
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: pin

View File

@@ -113,3 +113,4 @@
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -1,12 +1,12 @@
---
site: 420files
name: 420files
description: "Tracker Movies/TV/Music"
site: hdplus
name: HDplus
description: "HDplus is Private Torrent Tracker for MOVIES / TV / MUSIC"
language: en-us
type: private
encoding: UTF-8
links:
- https://420.org/
- https://hdplus.xyz/
caps:
categorymappings:
@@ -15,7 +15,7 @@
- {id: 3, cat: Audio, desc: "Music"}
modes:
search: [q]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
@@ -25,10 +25,23 @@
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
selectorinputs:
_token:
selector: meta[name="csrf-token"]
attribute: content
error:
- selector: form[action*="/login"] .text-red
- selector: form[action$="/login"] .text-red
test:
path: torrents
path: /
selector: a[href$="/logout"]
ratio:
path: /
selector: span:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
@@ -40,8 +53,7 @@
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
sort: created_at
direction: desc
qty: 100
rows:
@@ -101,10 +113,11 @@
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -26,19 +26,19 @@
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>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<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here.</ol>"
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
method: cookie
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
cookie: "{{ .Config.cookie }}"
test:
path: torrents.php
@@ -58,11 +58,16 @@
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
spstate: "0"
inclbookmarked: "0"
# 0=including dead 1=active 2=dead
incldead: 0
# show promotions 0=all 1=normal 2=free 3=2x 4=2x free 5=50% 6=2x50% 7=30%
spstate: 0
# 0=all 1=bookmarked 2=not
inclbookmarked: 0
# 0=title 1=descr 3=uploaded 4=imdb url
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
search_mode: "0"
# 0=AND 1=OR 2=exact
search_mode: 0
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
filters:
@@ -84,7 +89,7 @@
selector: form[action^="download.php?id="]
attribute: action
imdb:
selector: a[href^="http://www.imdb.com/title/tt"]
selector: a[href*="www.imdb.com/title/tt"]
attribute: href
size:
selector: td.rowfollow:nth-child(5)
@@ -118,4 +123,5 @@
"*": "1"
description:
selector: td:nth-child(2)
remove: a, img
remove: a, img
# NexusPHP

View File

@@ -118,13 +118,19 @@
attribute: href
size:
selector: td:nth-child(3)
seeders:
text: 1
seeders:
selector: td:nth-child(4)
optional: true
filters:
- name: re_replace
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$1"]
leechers:
text: 1
leechers:
selector: td:nth-child(4)
optional: true
filters:
- name: re_replace
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$2"]

View File

@@ -111,3 +111,4 @@
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -26,7 +26,7 @@
- {id: 26, cat: PC/Games, desc: "Games/PC"}
- {id: 38, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 59, cat: Movies/3D, desc: "Movies/3D"}
- {id: 92, cat: Movies/HD, desc: "Movies/4K-UHD"}
- {id: 92, cat: Movies/UHD, desc: "Movies/4K-UHD"}
- {id: 32, cat: Movies/BluRay, desc: "Movies/Blu-Ray"}
- {id: 28, cat: Movies/DVD, desc: "Movies/DVD"}
- {id: 42, cat: Movies/HD, desc: "Movies/HD-x264"}
@@ -60,7 +60,7 @@
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: font:contains("failed") + table
- selector: div.alert:contains("failed")
test:
path: browse.php
@@ -79,7 +79,7 @@
incldead: 1
search_by: "{{ if .Query.IMDBID }}imdb{{else}}name{{end}}"
rows:
selector: table.torrenttable > tbody > tr:has(a[title][href^="details.php?id="])
selector: table.table-striped > tbody > tr:has(a[title][href^="details.php?id="])
fields:
title:
selector: a[title][href^="details.php?id="]
@@ -93,13 +93,10 @@
filters:
- name: querystring
args: cat
imdb:
selector: a[title="IMDB"]
attribute: href
banner:
attribute: rel
imdb:
selector: a[href^="http://www.imdb.com/title/"]
selector: a[href*="https://www.imdb.com/title/"]
optional: true
attribute: href
download:
@@ -114,13 +111,10 @@
selector: td:has(a[href$="filelist=1#filelist"])
remove: a
date:
selector: td > span:has(i.fa-clock)
remove: b
selector: td > small:has(i.fa-clock)
filters:
- name: replace
args: ["\xA0", " "]
- name: replace
args: ["Added on ", ""]
- name: replace
args: ["st ", " "]
- name: replace
@@ -129,8 +123,8 @@
args: ["rd ", " "]
- name: replace
args: ["th ", " "]
- name: replace
args: [" by", ""]
- name: regexp
args: "(.+?) by"
- name: append
args: " +02:00"
- name: dateparse
@@ -145,6 +139,3 @@
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:has(a[title][href^="details.php?id="])
remove: a[title][href^="details.php?id="], div, font:contains("Added on")

View File

@@ -1,92 +0,0 @@
---
site: idopeclone
name: IdopeClone
description: "This Clone of iDope is a Public torrent search engine"
language: en-us
type: public
encoding: UTF-8
links:
- https://www.idope.site/
legacylinks:
- https://idope.top/
caps:
categorymappings:
- {id: other, cat: Other, desc: "Others"}
- {id: movies, cat: Movies, desc: "Movies"}
- {id: videos, cat: Other, desc: "Videos"}
- {id: tv, cat: TV, desc: "TV"}
- {id: anime, cat: TV/Anime, desc: "Anime"}
- {id: xxx, cat: XXX, desc: "XXX"}
- {id: adult, cat: XXX, desc: "XXX"}
- {id: music, cat: Audio, desc: "Music"}
- {id: games, cat: PC/Games, desc: "Games"}
- {id: apps, cat: PC/0day, desc: "Apps"}
- {id: applications, cat: PC/0day, desc: "Apps"}
- {id: android, cat: PC/Phone-Android, desc: "Android"}
- {id: software, cat: PC/0day, desc: "Apps"}
- {id: books, cat: Books, desc: "Books"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
search:
paths:
- path: "{{if .Keywords}}search/{{ .Keywords}}/{{else}}recent/{{end}}"
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/2{{else}}recent/2{{end}}"
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/3{{else}}recent/3{{end}}"
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/4{{else}}recent/4{{end}}"
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/5{{else}}recent/5{{end}}"
rows:
selector: li:has(div.opt-text-w3layouts)
filters:
- name: andmatch
fields:
title:
selector: div.opt-text-w3layouts a
details:
selector: div.opt-text-w3layouts a
attribute: href
category:
optional: true
selector: a[href^="/browse/"]
filters:
- name: replace
args: ["/browse/", ""]
magnet:
selector: a[href^="magnet:?"]
attribute: href
date:
selector: div.seedbar span:nth-child(4)
filters:
- name: replace
args: ["Age: ", ""]
- name: timeago
files:
selector: div.seedbar span:nth-child(5)
filters:
- name: replace
args: ["Files: ", ""]
size:
selector: div.seedbar span:nth-child(3)
filters:
- name: replace
args: ["Size: ", ""]
seeders:
selector: div.seedbar span:nth-child(1)
filters:
- name: replace
args: ["Seed: ", ""]
leechers:
selector: div.seedbar span:nth-child(2)
filters:
- name: replace
args: ["Leech: ", ""]
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -6,8 +6,10 @@
type: public
encoding: UTF-8
links:
- https://ilcorsaronero.vip/
- https://ilcorsaronero.pizza/
legacylinks:
- https://ilcorsaronero.live/
- https://ilcorsaronero.vip/
- https://ilcorsaronero.info/
- https://ilcorsaronero.ch/
- https://ilcorsaronero.cc/

View File

@@ -142,7 +142,7 @@
- name: re_replace
args: ["([a-zA-Z]+)\\s+(\\d{1,2})\\s+'(\\d{2})", "$2 $1 $3"]
- name: dateparse
args: "02 Jan 06"
args: "2 Jan 06"
downloadvolumefactor:
case:
"*": 1

View File

@@ -0,0 +1,70 @@
---
site: kikibt
name: KikiBT
description: "KikiBT is a CHINESE Public BitTorrent DHT search engine."
language: cn-cn
type: public
encoding: UTF-8
followredirect: true
links:
- https://kikibt.cc/
- https://kikibt.me/
caps:
categorymappings:
- {id: 1, cat: Other, desc: "Other"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: info
type: info
default: KikiBT does not use categories. In your software Indexer settings, set the category to 100001.
download:
selector: a[href^="magnet:?"]
search:
paths:
- path: /
method: post
followredirect: true
inputs:
keyword: "{{if .Keywords }}{{.Keywords}}{{else}}test{{end}}"
rows:
selector: dl.item
filters:
- name: andmatch
fields:
title:
selector: dt a
category:
text: "1"
details:
selector: dt a
attribute: href
download:
selector: dt a
attribute: href
size:
selector: dd span:nth-of-type(2) b
files:
selector: dd span:nth-of-type(3) b
date:
selector: dd span:nth-of-type(1) b
filters:
- name: dateparse
args: "2006-01-02"
grabs:
selector: dd span:nth-of-type(5) b
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -88,6 +88,10 @@
"10" : "9.5GB or higher"
"11": "Gold (FreeLeech)"
"12": "Silver (50%DL)"
- name: striprussian
type: checkbox
label: Strip Russian Letters
default: true
login:
path: takelogin.php
@@ -106,6 +110,13 @@
paths:
# http://kinozal.tv/browse.php?s=lucifer+2017&g=0&c=0&v=0&d=0&w=0&t=0&f=0
- path: browse.php
keywordsfilters:
- name: diacritics
args: replace
- name: re_replace # S01 to 1
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
- name: re_replace # S01E01 to 1 1
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1 $2"]
inputs:
# multi cat is not supported. so defaulting to ALL
c: "0"
@@ -154,6 +165,28 @@
fields:
title:
selector: td.nam a[href^="/details.php?id="]
filters:
# normalize to SXXEYY format
- name: replace
args: [" / ", " "]
- name: replace
args: ["Кураж-Бамбей", "kurazh"]
- name: replace
args: ["Кубик в Кубе", "Kubik"]
- name: re_replace
args: ["\\((\\d+)\\s+[Сс]езон:\\s+(?:(\\d+-*\\d*)\\s+[Сс]ери[ия]\\s+.*\\d+)\\)(.*)\\s([12][0-9]{3})\\s(.*)", "$3 - S$1E$2 - rus $5"]
- name: re_replace
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
- name: re_replace
args: ["\\((\\d+p)\\)", "$1"]
- name: replace
args: ["-Rip", "Rip"]
- name: replace
args: ["WEB-DL", "WEBDL"]
- name: replace
args: ["WEBDLRip", "WEBDL"]
- name: replace
args: ["HDTVRip", "HDTV"]
details:
selector: td.nam a[href^="/details.php?id="]
attribute: href

View File

@@ -0,0 +1,63 @@
---
site: mactorrents
name: MacTorrents
description: "MacTorrents is a Public tracker for Mac software"
language: en-us
type: public
encoding: UTF-8
links:
- https://mac-torrents.com/
caps:
categories:
"mac-os-apps": PC/Mac
"mac-os-games": PC/Games
modes:
search: [q]
settings: []
search:
paths:
- path: /
inputs:
s: "{{.Keywords}}"
rows:
selector: div.iso-item article
fields:
title:
selector: div.blog-content h3 a
category:
selector: a[href*="/category/"]
attribute: href
filters:
- name: split
args: ["/", 4]
details:
selector: div.blog-content h3 a
attribute: href
download:
selector: a.download
attribute: href
banner:
selector: div.blog-media p a img
attribute: data-src
date:
selector: div.blog-content div.entry-meta time
attribute: datetime
filters:
- name: replace
args: ["T", " "]
- name: dateparse
args: "2006-01-02 15:04:05-07:00"
size:
text: "500 MB"
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -6,6 +6,8 @@
type: semi-private
encoding: UTF-8
links:
- https://en.metal-tracker.com/
legacylinks:
- http://en.metal-tracker.com/
caps:
@@ -20,7 +22,7 @@
login:
path: user/login.html
method: form
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"

View File

@@ -87,10 +87,7 @@
date:
selector: td:nth-child(4)
filters:
- name: append
args: " +0700"
- name: dateparse
args: "2006-01-0215:04:05 -0700"
- name: timeago
downloadvolumefactor:
case:
"span.label:contains(\"Free\")": "0"

View File

@@ -11,6 +11,7 @@
- https://nnm-club.name/
certificates:
- 7877113458e90f3643dd28424657a29469f5dc55
- 0edfdcc8cf9f69dbe5473878145cae92504275b0
settings:
- name: username
@@ -731,18 +732,22 @@
title:
selector: a[href^="viewtopic.php?t="] > b
filters:
- name: re_replace
args: ["\\b(\\d)\\b", "0$1"]
- name: replace
args: [" / ", " "]
- name: replace
args: ["Кураж-Бамбей", "kurazh"]
- name: replace
args: ["Кубик в Кубе", "Kubik"]
- name: re_replace
args: ["(\\([Сс]езон\\s+(\\d+).+[Сс]ери[ия]\\s+(?:(\\d+-*\\d*).*\\d+)*\\))", "(S$2E$3) RUS"]
args: ["((\\([12][0-9]{3}\\))(.+)\\([Сс]езон\\s+(\\d+).+[Сс]ери[ия]\\s+(?:(\\d+-*\\d*).*\\d+)*\\))", " - S$4E$5 - rus $3"]
- name: re_replace
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
- name: replace
args: ["WEBDLRip", "WEBDL"]
args: ["-Rip", "Rip"]
- name: replace
args: ["WEB-DLRip", "WEBDL"]
args: ["WEB-DL", "WEBDL"]
- name: replace
args: ["WEBDLRip", "WEBDL"]
- name: replace
args: ["HDTVRip", "HDTV"]
details:

View File

@@ -76,8 +76,6 @@
autocomplete_toggle: 1
rows:
selector: table#torrent_table tr:not(:first-child)
# filters:
# - name: andmatch
fields:
title:
selector: a[href^="/torrents.php?id="]
@@ -85,10 +83,8 @@
selector: td.cats_col div a
attribute: href
filters:
- name: strdump
- name: regexp
args: "(\\d+)]=1"
- name: strdump
details:
selector: a[href^="/torrents.php?id="]
attribute: href

View File

@@ -12,6 +12,7 @@
encoding: UTF-8
links:
- https://nyaa.pantsu.cat/
- https://nyaa.pt/
settings:
- name: cat-id

View File

@@ -10,23 +10,17 @@
caps:
categorymappings:
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
- {id: 402, cat: Movies/HD, desc: "Movies REMUX"}
- {id: 419, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 404, cat: Movies/HD, desc: "Movies 720p"}
- {id: 405, cat: Movies/3D, desc: "Movies 3D"}
- {id: 406, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 407, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
- {id: 408, cat: Movies/SD, desc: "Movies HDTV"}
- {id: 409, cat: Movies/Other, desc: "Movies iPad"}
- {id: 401, cat: Movies, desc: "Movies"}
- {id: 402, cat: Movies/3D, desc: "Movies 3D"}
- {id: 405, cat: TV, desc: "TV Packs"}
- {id: 410, cat: TV/Documentary, desc: "Documentaries"}
- {id: 411, cat: TV/Anime, desc: "Animations"}
- {id: 412, cat: TV, desc: "TV Series"}
- {id: 412, cat: TV, desc: "TV Episodes"}
- {id: 413, cat: TV, desc: "TV Shows"}
- {id: 414, cat: Audio/Video, desc: "Music Videos"}
- {id: 415, cat: TV/Sport, desc: "Sports"}
- {id: 416, cat: Audio, desc: "Music"}
- {id: 420, cat: Other, desc: "Other"}
- {id: 419, cat: TV, desc: "Concert"}
modes:
search: [q]
@@ -41,8 +35,20 @@
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("登录失败"))
message:
selector: td.text
test:
path: torrents.php
selector: a[href="logout.php"]
ratio:
path: torrents.php
selector: span.medium:has(a[href="logout.php"])
filters:
- name: replace
args: ["分享率:", "Ratio: "] # for simplified chinese language setting
- name: regexp
args: "Ratio: (\\d+)"
search:
paths:
@@ -51,8 +57,14 @@
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
# 0=including dead 1=active 2=dead
incldead: 0
# show promotions: 0=all 1=normal 2=free 3=2x 4=2xFree 5=50% 6=2x50% 7=30%
spstate: 0
# 0=title 1=descr 3=uploader 4=imdb URL
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
# 0=AND 1=OR 2=Exact
search_mode: 0
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
@@ -74,26 +86,22 @@
download:
selector: a[href^="download.php?id="]
attribute: href
imdb:
optional: true
selector: div.imdb_100 > a
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(4) > span[title]
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: "0"
@@ -109,5 +117,6 @@
img.pro_2up: "2"
"*": "1"
description:
selector: td:nth-child(2)
selector: td.rowfollow:nth-child(2)
remove: a, img
# NexusPHP Standard v1.5 Beta 4

View File

@@ -0,0 +1,169 @@
---
site: p2pbg
name: P2PBG
description: "P2PBG is a BULGARIAN Private Torrent Tracker for 0DAY / GENERAL"
language: bg
type: private
encoding: UTF-8
links:
- http://p2pbg.com/
caps:
categorymappings:
- {id: 1, cat: Movies/SD, desc: "Movies-XviD"}
- {id: 16, cat: Movies/HD, desc: "Movies-x264"}
- {id: 34, cat: Movies, desc: "Movies-BG"}
- {id: 17, cat: Movies/HD, desc: "Movies-MPEG2"}
- {id: 35, cat: Movies, desc: "Movies-GSM"}
- {id: 55, cat: Movies/3D, desc: "Movies-3D"}
- {id: 18, cat: Movies/BluRay, desc: "Movies-BR/HD-DVD"}
- {id: 7, cat: TV/Documentary , desc: "Movies-Documentaries"}
- {id: 11, cat: Movies/DVD, desc: "Movies-DVD"}
- {id: 24, cat: TV/SD, desc: "TV-BG"}
- {id: 14, cat: TV, desc: "TV-Shows"}
- {id: 15, cat: TV, desc: "TV-Boxset"}
- {id: 38, cat: TV/Anime, desc: "TV-Cartoons"}
- {id: 8, cat: PC/Games, desc: "Games-PC ISO"}
- {id: 9, cat: PC/Games, desc: "Games-PC Rips"}
- {id: 21, cat: Console/Xbox, desc: "Games-XboX"}
- {id: 22, cat: Console/Xbox 360, desc: "Games-X360"}
- {id: 33, cat: Console/Wii, desc: "Games-Wii"}
- {id: 20, cat: Console/PSP, desc: "Games-PSP"}
- {id: 23, cat: Console/PS3, desc: "Games-PS3"}
- {id: 12, cat: Console/PS3, desc: "Games-PS2"}
- {id: 2, cat: Audio/MP3, desc: "Music-Song"}
- {id: 28, cat: Audio, desc: "Music-Album"}
- {id: 19, cat: Audio/Video, desc: "Music-Video"}
- {id: 29, cat: Audio, desc: "Music-Discography"}
- {id: 3, cat: Audio/Video, desc: "Music-DVD"}
- {id: 31, cat: PC/0day, desc: "Appz Ripped"}
- {id: 26, cat: PC/ISO, desc: "Appz PC-ISO"}
- {id: 49, cat: PC/Mac, desc: "Appz MacOS"}
- {id: 30, cat: PC, desc: "Appz-Linux"}
- {id: 27, cat: PC, desc: "Appz-GSM"}
- {id: 39, cat: Other, desc: "e-Learning"}
- {id: 37, cat: Other/Misc, desc: "Pictures"}
- {id: 4, cat: Other, desc: "Other"}
- {id: 6, cat: Books, desc: "Books"}
- {id: 52, cat: PC/Phone-Other, desc: "Mobile-GSM"}
- {id: 40, cat: PC/Phone-IOS, desc: "Mobile-iPhone"}
- {id: 51, cat: TV/Sport, desc: "Sport"}
- {id: 5, cat: TV/Sport, desc: "Sport F1"}
- {id: 13, cat: XXX, desc: "XXX"}
- {id: 54, cat: XXX/x264, desc: "XXX HD"}
- {id: 32, cat: XXX/Imageset, desc: "XXX Pictures"}
- {id: 56, cat: XXX, desc: "XXX 3D"}
- {id: 53, cat: XXX, desc: "XXX Hentai"}
- {id: 48, cat: XXX, desc: "XXX BG Amateurs"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: info_results
type: info
label: "Search results"
default: "For best results, increase the torrents number in your profile to 100.<br />Default is 15."
login:
path: index.php?page=login
method: form
form: form[action="index.php?page=login"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: td.lista span[style="color:#FF0000;"]
test:
path: index.php
selector: :has(a[href="logout.php"])
search:
paths:
# http://p2pbg.com/index.php?page=torrents&search=%D0%9A%D0%B0%D1%82%D0%BE&category=0&active=0
- path: index.php
inputs:
page: "torrents"
category: "{{if .Categories }}{{range .Categories}}{{.}};{{end}}{{else}}0;{{end}}"
search: "{{if .Keywords }}{{.Keywords}}{{else}}{{end}}"
active: "1"
rows:
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
fields:
title:
selector: td a[onclick]
attribute: title
filters:
- name: replace
args: ["View details: ", ""]
- name: replace
args: ["Преглед на детайли: ", ""]
- name: replace
args: ["Преглед на детайли: ", ""]
details:
selector: td a[href*="id="]
attribute: href
category:
selector: td a[href*="category="]
attribute: href
filters:
- name: querystring
args: category
download:
selector: td a[href*="id="]
attribute: href
filters:
- name: querystring
args: id
- name: prepend
args: "download.php?id="
- name: append
args: "&f={{.Result.title}}.torrent"
banner:
selector: td img[src="/torrentimg/pic.png"]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?) width="
# two flavours
date:
# Yesterday
# Вчера
selector: td:nth-child(6):not(:contains("/"))
optional: true
filters:
- name: replace
args: ["сейчас", "now"]
- name: replace
args: ["сегодня", "Today"]
- name: replace
args: ["вчера", "Yesterday"]
date:
# 14/03/2019
selector: td:nth-child(6):contains("/")
optional: true
filters:
- name: dateparse
args: "02/01/2006"
size:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
grabs:
selector: td:nth-child(10)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -6,6 +6,9 @@
type: private
encoding: UTF-8
links:
- https://piratbit.top/
- https://piratbit.ml/
legacylinks:
- https://pb.wtf/
- https://piratbit.pw/

View File

@@ -0,0 +1,137 @@
---
site: pleasuredome
name: PleasureDome
description: "PleasureDome is a private site for Arcade / Console / PC Games"
language: en
type: private
encoding: UTF-8
links:
- http://www.pleasuredome.org.uk/
caps:
categorymappings:
# Arcade
- {id: 10, cat: Console, desc: "MAME"}
- {id: 11, cat: Console, desc: "Pinball"}
- {id: 12, cat: Console, desc: "ZiNc"}
- {id: 13, cat: Console, desc: "Nebula"}
- {id: 14, cat: Console, desc: "Daphne"}
- {id: 17, cat: Console, desc: "Fruit"}
- {id: 32, cat: Console, desc: "Neo-Geo"}
- {id: 33, cat: Console, desc: "NonMAME"}
- {id: 34, cat: Console, desc: "RAINE"}
- {id: 35, cat: Console, desc: "Kawaks"}
- {id: 40, cat: Console, desc: "FBA"}
- {id: 51, cat: Console, desc: "HBMAME"}
- {id: 58, cat: Console, desc: "Dice"}
# Computer
- {id: 16, cat: Console, desc: "Amiga"}
- {id: 19, cat: Console, desc: "Amstrad"}
- {id: 20, cat: Console, desc: "Commodore 64"}
- {id: 22, cat: Console, desc: "Apple"}
- {id: 25, cat: Console, desc: "Sinclair"}
- {id: 41, cat: Console, desc: "Doom"}
- {id: 44, cat: Console, desc: "MS-DOS"}
- {id: 50, cat: Console, desc: "eXoDOS"}
- {id: 53, cat: Console, desc: "Win3xO"}
- {id: 55, cat: Console, desc: "Neo Kobe"}
# Computer / Console
- {id: 15, cat: Console, desc: "MESS"}
- {id: 24, cat: Console, desc: "Atari"}
- {id: 31, cat: Console, desc: "TOSEC"}
- {id: 38, cat: Console, desc: "Dreamcast"}
- {id: 43, cat: Console, desc: "ScummVM"}
- {id: 46, cat: Console, desc: "Redump"}
- {id: 48, cat: Console, desc: "Trurip"}
- {id: 52, cat: Console, desc: "GoodTools"}
- {id: 57, cat: Console, desc: "Hyperspin"}
- {id: 61, cat: Console, desc: "RAWdump"}
# Console
- {id: 18, cat: Console, desc: "Sega"}
- {id: 21, cat: Console, desc: "3DO"}
- {id: 23, cat: Console, desc: "PC Engine"}
- {id: 47, cat: Console, desc: "Demul"}
- {id: 49, cat: Console, desc: "Sega Saturn"}
- {id: 54, cat: Console, desc: "No-Intro"}
- {id: 59, cat: Console, desc: "XBOX"}
- {id: 60, cat: Console, desc: "DMC"}
# iscellaneous
- {id: 4, cat: Console, desc: "Other"}
- {id: 37, cat: Console, desc: "Remix Projects"}
- {id: 39, cat: Console, desc: "EmuMovies"}
- {id: 42, cat: Console, desc: "CDi"}
- {id: 45, cat: Console, desc: "NUON"}
modes:
search: [q]
login:
path: login2.php
method: form
form: form[action="login2.php"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: div font[color="#FF0000"]
test:
path: torrents.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
inputs:
search: "{{ .Keywords }}"
category: 0
active: 0
sort: "data"
order: "DESC"
rows:
selector: table[width="100%"] > tbody tr:has(a[href^="download.php?id="])
fields:
title:
selector: td:nth-child(2) a
filters:
- name: replace
args: ["[FREE] ", ""]
details:
selector: td:nth-child(2) a
attribute: href
filters:
- name: replace
args: ["javascript:popdetails('", ""]
- name: replace
args: [");'", ""]
category:
selector: td:nth-child(1) a
attribute: href
filters:
- name: querystring
args: category
download:
optional: true
selector: td:nth-child(4) a
attribute: href
date:
# 19/01/2019
selector: td:nth-child(5)
filters:
- name: dateparse
args: "02/01/2006"
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9) a
grabs:
selector: td:nth-child(10)
downloadvolumefactor:
case:
"img[src=\"images/fdownload.gif\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,123 @@
---
site: pthome
name: PThome
description: "PThome is a CHINESE Private Torrent Tracker for 0DAY / GENERAL"
language: zh-CN
type: private
encoding: UTF-8
followredirect: true
links:
- https://www.pthome.net/
caps:
categorymappings:
- {id: 401, cat: Movies, desc: "Movies(电影)"}
- {id: 404, cat: TV/Documentary, desc: "Documentaries(记录片)"}
- {id: 405, cat: TV/Anime, desc: "Animations(动漫)"}
- {id: 402, cat: TV, desc: "TV Series(电视剧)"}
- {id: 403, cat: TV/OTHER, desc: "TV Shows(综艺)"}
- {id: 406, cat: Audio/Video, desc: "Music Videos(MV)"}
- {id: 407, cat: TV/Sport, desc: "Sports(体育)"}
- {id: 408, cat: Audio/Lossless, desc: "HQ Audio(音乐)"}
- {id: 410, cat: Console, desc: "Games(游戏)"}
- {id: 411, cat: PC, desc: "Software(软件)"}
- {id: 412, cat: Books, desc: "Study(学习)"}
- {id: 409, cat: Other, desc: "Misc(其他)"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in 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<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
ratio:
path: index.php
selector: table tr td.bottom
filters:
- name: replace
args: ["分享率:","Ratio:"] # for simplified chinese language setting
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
paths:
- path: torrents.php
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
incldead: "0"
spstate: "0"
inclbookmarked: "0"
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
search_area: "{{if .Query.IMDBID}}4{{else}}0{{end}}"
search_mode: "0"
rows:
selector: table.torrents tr:has(a[href^="?cat="])
filters:
- name: andmatch
fields:
title:
selector: td.torrents-box a
attribute: title
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php", "download.php"]
imdb:
selector: a[href^="http://www.imdb.com/title/tt"]
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(4) span
attribute: title
filters:
- name: dateparse
args: "2006-01-02 15:04:05"
downloadvolumefactor:
case:
img.pro_free: "0"
img.pro_free2up: "0"
img.pro_50pctdown: "0.5"
img.pro_50pctdown2up: "0.5"
img.pro_30pctdown: "0.3"
"*": "1"
uploadvolumefactor:
case:
img.pro_50pctdown2up: "2"
img.pro_free2up: "2"
img.pro_2up: "2"
"*": "1"

View File

@@ -132,8 +132,13 @@
selector: td:nth-child(3) a
attribute: href
size:
# 1,36 GB
# 296,98 MB
# 1.018,29 MB
selector: td:nth-child(6)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:

View File

@@ -13,10 +13,8 @@
caps:
categorymappings:
- {id: 1, cat: TV/Sport, desc: "BTCC"}
- {id: 2, cat: TV/Sport, desc: "Documentaries/TV"}
- {id: 3, cat: TV/Sport, desc: "DTM"}
- {id: 4, cat: TV/Sport, desc: "Formula 1 2018"}
- {id: 6, cat: TV/Sport, desc: "Formula 1 2017-1950 (HD)"}
- {id: 21, cat: TV/Sport, desc: "Formula 1 2017-1950 (SD)"}
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
- {id: 23, cat: TV/Sport, desc: "Formula E"}
- {id: 24, cat: TV/Sport, desc: "Misc"}
@@ -27,8 +25,19 @@
- {id: 33, cat: TV/Sport, desc: "Touring Cars"}
- {id: 50, cat: TV/Sport, desc: "WRC"}
- {id: 53, cat: TV/Sport, desc: "Open-Wheelers"}
- {id: 54, cat: TV/Sport, desc: "Documentaries/Movies"}
- {id: 55, cat: TV/Sport, desc: "Season Reviews"}
- {id: 56, cat: TV/Sport, desc: "WRX"}
- {id: 57, cat: TV/Sport, desc: "WEC"}
- {id: 58, cat: TV/Sport, desc: "Formula 1 Full Seasons"}
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
- {id: 61, cat: TV/Sport, desc: "Rally"}
- {id: 62, cat: TV/Sport, desc: "Formula 1 Testing"}
- {id: 63, cat: TV/Sport, desc: "Supercars"}
- {id: 64, cat: TV/Sport, desc: "Indycar Complete Seasons"}
- {id: 65, cat: TV/Sport, desc: "NASCAR Complete Seasons"}
- {id: 66, cat: TV/Sport, desc: "Documentaries"}
- {id: 67, cat: TV/Sport, desc: "Formula 1 2019"}
- {id: 68, cat: TV/Sport, desc: "Formula 1 2018-1950"}
modes:
search: [q]
@@ -39,10 +48,19 @@
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
error:
- selector: table.main:contains("Login Failed!")
- selector: form[action$="/login"] .text-red
test:
path: torrents
selector: a[href$="/logout"]
ratio:
path: /
selector: span:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
@@ -50,8 +68,12 @@
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{ .Keywords }}"
description: ""
uploader: ""
sorting: created_at
imdb: ""
tvdb: ""
tmdb: ""
sort: created_at
direction: desc
qty: 100
rows:
@@ -118,3 +140,4 @@
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -0,0 +1,223 @@
---
site: racingforme
name: RacingForMe
description: "Racing For Me (RFM) is a Private Torrent Tracker for RACING"
language: en-us
type: private
encoding: UTF-8
links:
- https://www.racingfor.me/
caps:
categorymappings:
- {id: 1000, cat: TV/Sport, desc: "Formula 1 - Full races"}
- {id: 1010, cat: TV/Sport, desc: "F1 Full Seasons"}
- {id: 1020, cat: TV/Sport, desc: "F1 Full Season 1950-1980"}
- {id: 1030, cat: TV/Sport, desc: "F1 Full Season 1981-1990"}
- {id: 1040, cat: TV/Sport, desc: "F1 Full Season 1991-2000"}
- {id: 1050, cat: TV/Sport, desc: "F1 Full Season 2001-2010"}
- {id: 1060, cat: TV/Sport, desc: "F1 Full Season 2011-2017"}
- {id: 1070, cat: TV/Sport, desc: "F1 Full Season 2011-2017 (HD)"}
- {id: 2000, cat: TV/Sport, desc: "Formula 1 - Highlights"}
- {id: 2010, cat: TV/Sport, desc: "F1 Highlights 1950-1980"}
- {id: 2020, cat: TV/Sport, desc: "F1 Highlights 1981-1990"}
- {id: 2030, cat: TV/Sport, desc: "F1 Highlights 1991-2000"}
- {id: 2040, cat: TV/Sport, desc: "F1 Highlights 2001-2010"}
- {id: 2050, cat: TV/Sport, desc: "F1 Highlights 2011-2017"}
- {id: 2060, cat: TV/Sport, desc: "F1 Highlights 2011-2017 (HD)"}
- {id: 3000, cat: TV/Sport, desc: "Formula 1 - FP and quali"}
- {id: 3010, cat: TV/Sport, desc: "F1 FP and quali 1950-1980"}
- {id: 3020, cat: TV/Sport, desc: "F1 FP and quali 1981-1990"}
- {id: 3030, cat: TV/Sport, desc: "F1 FP and quali 1991-2000"}
- {id: 3040, cat: TV/Sport, desc: "F1 FP and quali 2001-2010"}
- {id: 3050, cat: TV/Sport, desc: "F1 FP and quali 2011-2017"}
- {id: 3060, cat: TV/Sport, desc: "F1 FP and quali 2011-2017 (HD)"}
- {id: 4000, cat: TV/Sport, desc: "Formula 1 - Onboard"}
- {id: 4010, cat: TV/Sport, desc: "F1 Onboard 1950-1980"}
- {id: 4020, cat: TV/Sport, desc: "F1 Onboard 1981-1990"}
- {id: 4030, cat: TV/Sport, desc: "F1 Onboard 1991-2000"}
- {id: 4040, cat: TV/Sport, desc: "F1 Onboard 2001-2010"}
- {id: 4050, cat: TV/Sport, desc: "F1 Onboard 2011-2017"}
- {id: 5000, cat: TV/Sport, desc: "Formula 1 - Miscellaneous"}
- {id: 5010, cat: TV/Sport, desc: "F1 Misc Documentaries"}
- {id: 5020, cat: TV/Sport, desc: "F1 Misc Driver/team specials"}
- {id: 5030, cat: TV/Sport, desc: "F1 Misc Event specials"}
- {id: 5040, cat: TV/Sport, desc: "F1 Misc Other"}
- {id: 6000, cat: TV/Sport, desc: "Formula 1 - 2018"}
- {id: 6010, cat: TV/Sport, desc: "F1 2018 Free practices"}
- {id: 6020, cat: TV/Sport, desc: "F1 2018 Qualifications"}
- {id: 6030, cat: TV/Sport, desc: "F1 2018 Races"}
- {id: 6040, cat: TV/Sport, desc: "F1 2018 Highlights"}
- {id: 6050, cat: TV/Sport, desc: "F1 2018 Onboards"}
- {id: 6060, cat: TV/Sport, desc: "F1 2018 Other"}
- {id: 7000, cat: TV/Sport, desc: "Formula 1 - 2018 (HD)"}
- {id: 7010, cat: TV/Sport, desc: "F1 2018 (HD) Free practices"}
- {id: 7020, cat: TV/Sport, desc: "F1 2018 (HD) Qualifications"}
- {id: 7030, cat: TV/Sport, desc: "F1 2018 (HD) Races"}
- {id: 7040, cat: TV/Sport, desc: "F1 2018 (HD) Highlights"}
- {id: 7050, cat: TV/Sport, desc: "F1 2018 (HD) Other"}
- {id: 8000, cat: TV/Sport, desc: "Moto3 / Moto2 / MotoGP"}
- {id: 8010, cat: TV/Sport, desc: "Moto 125cc"}
- {id: 8020, cat: TV/Sport, desc: "Moto 250cc"}
- {id: 8030, cat: TV/Sport, desc: "Moto Moto3"}
- {id: 8040, cat: TV/Sport, desc: "Moto Moto2"}
- {id: 8050, cat: TV/Sport, desc: "Moto MotoGP"}
- {id: 9000, cat: TV/Sport, desc: "Motorbikes"}
- {id: 9010, cat: TV/Sport, desc: "Motorbikes AMA"}
- {id: 9020, cat: TV/Sport, desc: "Motorbikes World Supersport"}
- {id: 9030, cat: TV/Sport, desc: "Motorbikes World Superstock"}
- {id: 9040, cat: TV/Sport, desc: "Motorbikes WSBK"}
- {id: 9050, cat: TV/Sport, desc: "Motorbikes BSB"}
- {id: 9060, cat: TV/Sport, desc: "Motorbikes Other"}
- {id: 9070, cat: TV/Sport, desc: "Motorbikes MotoAmerica"}
- {id: 10000, cat: TV/Sport, desc: "Touring cars"}
- {id: 10010, cat: TV/Sport, desc: "Touring cars WTCC"}
- {id: 10020, cat: TV/Sport, desc: "Touring cars DTM"}
- {id: 10030, cat: TV/Sport, desc: "Touring cars V8 Supercars"}
- {id: 10040, cat: TV/Sport, desc: "Touring cars BTCC"}
- {id: 10050, cat: TV/Sport, desc: "Touring cars Porsche Supercup"}
- {id: 10060, cat: TV/Sport, desc: "Touring cars Other"}
- {id: 11000, cat: TV/Sport, desc: "Sports cars"}
- {id: 11010, cat: TV/Sport, desc: "Sports cars BSS"}
- {id: 11020, cat: TV/Sport, desc: "Sports cars Le Mans 24H"}
- {id: 11030, cat: TV/Sport, desc: "Sports cars WSC/WEC"}
- {id: 11040, cat: TV/Sport, desc: "Sports cars IMSA"}
- {id: 11050, cat: TV/Sport, desc: "Sports cars USC"}
- {id: 11070, cat: TV/Sport, desc: "Sports cars BES"}
- {id: 11080, cat: TV/Sport, desc: "Sports cars Super GT"}
- {id: 11090, cat: TV/Sport, desc: "Sports cars IMSA Pilot Challenge"}
- {id: 11060, cat: TV/Sport, desc: "Sports cars Other"}
- {id: 12000, cat: TV/Sport, desc: "American open-wheelers"}
- {id: 12010, cat: TV/Sport, desc: "American open-wheelers CCWS"}
- {id: 12020, cat: TV/Sport, desc: "American open-wheelers IRL"}
- {id: 12030, cat: TV/Sport, desc: "American open-wheelers CART"}
- {id: 12040, cat: TV/Sport, desc: "American open-wheelers Indycar Series"}
- {id: 12050, cat: TV/Sport, desc: "American open-wheelers Indy Lights"}
- {id: 12060, cat: TV/Sport, desc: "American open-wheelers Other"}
- {id: 13000, cat: TV/Sport, desc: "Rally"}
- {id: 13010, cat: TV/Sport, desc: "Rally WRC"}
- {id: 13020, cat: TV/Sport, desc: "Rally ERC"}
- {id: 13030, cat: TV/Sport, desc: "Rally BRC"}
- {id: 13040, cat: TV/Sport, desc: "Rally National series"}
- {id: 13050, cat: TV/Sport, desc: "Rally Enduro-rally"}
- {id: 13060, cat: TV/Sport, desc: "Rally Rally cross"}
- {id: 13070, cat: TV/Sport, desc: "Rally Other"}
- {id: 14000, cat: TV/Sport, desc: "NASCAR / Stockcars"}
- {id: 14010, cat: TV/Sport, desc: "NASCAR Sprint Cup"}
- {id: 14020, cat: TV/Sport, desc: "NASCAR XFINITY Series"}
- {id: 14030, cat: TV/Sport, desc: "NASCAR CW Trucks"}
- {id: 14040, cat: TV/Sport, desc: "NASCAR ARCA"}
- {id: 14050, cat: TV/Sport, desc: "NASCAR Other"}
- {id: 15000, cat: TV/Sport, desc: "F3000 / GP2 / Formula 2"}
- {id: 15010, cat: TV/Sport, desc: "F2 1985-1990"}
- {id: 15020, cat: TV/Sport, desc: "F2 1991-2000"}
- {id: 15030, cat: TV/Sport, desc: "F2 2001-2011"}
- {id: 15040, cat: TV/Sport, desc: "F2 2012-2017"}
- {id: 15050, cat: TV/Sport, desc: "F2 GP2 Asia"}
- {id: 16000, cat: TV/Sport, desc: "Single seaters"}
- {id: 16010, cat: TV/Sport, desc: "Single seaters Formula 2"}
- {id: 16020, cat: TV/Sport, desc: "Single seaters FIA F3"}
- {id: 16030, cat: TV/Sport, desc: "Single seaters GP3"}
- {id: 16040, cat: TV/Sport, desc: "Single seaters WSBR 2.0"}
- {id: 16050, cat: TV/Sport, desc: "Single seaters WSBR 3.5"}
- {id: 16060, cat: TV/Sport, desc: "Single seaters British F3"}
- {id: 16070, cat: TV/Sport, desc: "Single seaters Formula E"}
- {id: 16080, cat: TV/Sport, desc: "Single seaters Other"}
- {id: 17000, cat: TV/Sport, desc: "Other Photographs"}
- {id: 17010, cat: TV/Sport, desc: "Other Formula 1"}
- {id: 17020, cat: TV/Sport, desc: "Other Motorbikes"}
- {id: 17030, cat: TV/Sport, desc: "Other Touring cars"}
- {id: 17040, cat: TV/Sport, desc: "Other Rally"}
- {id: 17050, cat: TV/Sport, desc: "Other Sports cars"}
- {id: 17060, cat: TV/Sport, desc: "Other"}
- {id: 18000, cat: TV/Sport, desc: "Miscellaneous"}
- {id: 18010, cat: TV/Sport, desc: "Documentaries"}
- {id: 18020, cat: TV/Sport, desc: "TV shows"}
- {id: 18030, cat: TV/Sport, desc: "DVD covers"}
- {id: 18040, cat: TV/Sport, desc: "E-books"}
- {id: 18050, cat: TV/Sport, desc: "Other"}
- {id: 19000, cat: TV/Sport, desc: "Other"}
- {id: 19010, cat: TV/Sport, desc: "Drag racing"}
- {id: 19020, cat: TV/Sport, desc: "Truck racing"}
- {id: 19030, cat: TV/Sport, desc: "Off-road"}
- {id: 19040, cat: TV/Sport, desc: "Drifting"}
- {id: 19050, cat: TV/Sport, desc: "Other"}
modes:
search: [q]
login:
path: login
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
rememberme: 1
error:
- selector: div#Error
test:
path: /
selector: a[href="/logout"]
search:
paths:
# only 20 results per page so attempt to fetch 5 pages
# https://www.racingfor.me/search/australia%20f1%202018?c=7000&ob=&offset=20#results
- path: "search/{{if .Keywords}}{{.Keywords}}{{else}}*{{end}}"
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=20{{else}}*?offset=20{{end}}"
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=40{{else}}*?offset=40{{end}}"
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=60{{else}}*?offset=60{{end}}"
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=80{{else}}*?offset=80{{end}}"
rows:
selector: div#torrentBorder
fields:
category:
selector: span.catIcon a
attribute: href
filters:
- name: querystring
args: c
title:
selector: span.browseTitle a
download:
selector: span.browseTitle a
attribute: href
filters:
- name: replace
args: ["/details/", "/download/"]
details:
selector: span.browseTitle a
attribute: href
size:
selector: span.torrentData span.torrentFiles
filters:
- name: regexp
args: "(.+?) in"
files:
selector: span.torrentData span.torrentFiles
filters:
- name: replace
args: [" in > 100", " in 100 file"]
- name: regexp
args: " in (\\d+) file"
seeders:
selector: span.torrentData span.torrentPeers
filters:
- name: regexp
args: "(\\d+) seeder"
leechers:
selector: span.torrentData span.torrentPeers
filters:
- name: regexp
args: "and (\\d+) leecher"
grabs:
selector: span.torrentData span.torrentSnatched
filters:
- name: regexp
args: "(\\d+)"
date:
text: now
downloadvolumefactor:
text: "1"
uploadvolumefactor:
text: "1"

View File

@@ -1,40 +1,54 @@
---
site: scenerush
name: SceneRush
description: "SceneRush is a Portuguese general tracker."
description: "SceneRush is a PORTUGUESE Private Torrent Tracker for 0DAY / GENERAL"
language: pt-PT
type: private
encoding: UTF-8
links:
- https://www.scene-rush.pt/
legacylinks:
- http://www.scene-rush.pt/
caps:
categorymappings:
- {id: 1, cat: PC, desc: "Apps"}
- {id: 2, cat: Movies, desc: "XVID"}
- {id: 3, cat: Movies/DVD, desc: "DVD"}
- {id: 4, cat: TV, desc: "TV XVID"}
- {id: 5, cat: PC/Games, desc: "PC Games"}
- {id: 6, cat: Movies/HD, desc: "HD"}
- {id: 7, cat: XXX, desc: "XXX"}
- {id: 8, cat: TV/Anime, desc: "ANIME"}
- {id: 8, cat: TV/Anime, desc: "Anime"}
- {id: 9, cat: Audio, desc: "Audio"}
- {id: 10, cat: Other, desc: "Other"}
- {id: 11, cat: Console/Xbox 360, desc: "XBOX 360"}
- {id: 12, cat: Console/PSP, desc: "PSP"}
- {id: 13, cat: TV/Documentary, desc: "DOC"}
- {id: 17, cat: TV/HD, desc: "TV-X264"}
- {id: 13, cat: TV/Documentary, desc: "Doc"}
- {id: 14, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 15, cat: Console, desc: "PS2"}
- {id: 16, cat: TV/Sport, desc: "TV WWE"}
- {id: 17, cat: TV/HD, desc: "TV X264"}
- {id: 18, cat: TV, desc: "TV DVD"}
- {id: 19, cat: XXX/DVD, desc: "XXX DVD"}
- {id: 20, cat: Movies/DVD, desc: "A.DVD"}
- {id: 21, cat: PC/Mac, desc: "MAC"}
- {id: 20, cat: TV/Anime, desc: "Anime DVD"}
- {id: 21, cat: PC/Mac, desc: "Mac"}
- {id: 23, cat: Movies, desc: "Boxset"}
- {id: 31, cat: Other, desc: "OFF"}
- {id: 32, cat: Movies/BluRay, desc: "BluRay"}
- {id: 33, cat: Console/Wii, desc: "WII"}
- {id: 34, cat: Console/PS3, desc: "PS3"}
- {id: 35, cat: Movies/HD, desc: "A.HD"}
- {id: 35, cat: TV/Anime, desc: "Anime HD"}
- {id: 36, cat: PC/Phone-Android, desc: "Android"}
- {id: 37, cat: Movies/DVD, desc: "C.DVDR"}
- {id: 37, cat: Movies/DVD, desc: "Custom DVDR"}
- {id: 38, cat: Movies/Other, desc: "CAM TS"}
- {id: 39, cat: Other, desc: "GPS"}
- {id: 40, cat: Console/PS4, desc: "PS4"}
- {id: 41, cat: Movies/SD, desc: "BDRIP"}
- {id: 41, cat: Movies/BluRay, desc: "BDRIP"}
- {id: 42, cat: Movies/WEBDL, desc: "WEB DL"}
- {id: 43, cat: Books, desc: "EBOOK"}
- {id: 44, cat: TV/Sport, desc: "SPORTS"}
- {id: 43, cat: Books, desc: "Ebook"}
- {id: 44, cat: TV/Sport, desc: "Sports"}
- {id: 46, cat: Movies/UHD, desc: "4K"}
modes:
search: [q]
tv-search: [q]
@@ -45,18 +59,23 @@
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed")+table)
- selector: h2:contains("Falhou")
message:
selector: table tr td.text
test:
path: browse.php
path: index.php
selector: a[href="logout.php"]
ratio:
path: browse.php
selector: td[width='60'][style=['text-align:center;'] > span > font
selector: td.text:contains("Ratio")
filters:
- name: regexp
args: "Ratio actual (.*?) ]"
search:
paths:
- path: browse.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
@@ -93,7 +112,7 @@
- name: re_replace
args: ["(\\d{4}-\\d{2}-\\d{2})(\\d{2}:\\d{2}:\\d{2})","$1 $2"]
- name: dateparse
args: "2018-12-30 22:30:31"
args: "2006-01-02 15:04:05"
downloadvolumefactor:
case:
"i.fg-gold": "0"

View File

@@ -0,0 +1,104 @@
---
site: sharewood
name: Sharewood
description: "sharewood is a Semi-Private FRENCH Torrent Tracker for GENERAL"
language: fr-fr
type: semi-private
encoding: UTF-8
links:
- https://www.sharewood.tv/
caps:
categorymappings:
- {id: "Vidéos Torrent", cat: Movies, desc: "Vidéos"}
- {id: "Vidéos Torrent", cat: TV, desc: "Vidéos"}
- {id: "Audios Torrent", cat: Audio, desc: "Audios"}
- {id: "Applications Torrent", cat: PC, desc: "Applications"}
- {id: "Ebooks Torrent", cat: Books, desc: "Ebooks"}
- {id: "Jeux-Vidéos Torrent", cat: Console, desc: "Jeux-Vidéos"}
- {id: "Formations Torrent", cat: Other, desc: "Formations"}
- {id: "XXX Torrent", cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
selectorinputs:
_token:
selector: meta[name="csrf-token"]
attribute: content
error:
- selector: form[action$="/login"] .text-red
test:
path: /
selector: a[href$="/logout"]
ratio:
path: /
selector: li:has(i.fa-signal)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
- path: filterTorrents
inputs:
search: "{{ .Keywords }}"
uploader: ""
sort: created_at
direction: desc
qty: 100
rows:
selector: div.table-responsive-line
fields:
category:
selector: i.torrent-icon
attribute: data-original-title
title:
selector: a.view-torrent
download:
selector: a.view-torrent
attribute: href
filters:
- name: replace
args: ["/torrents/", "/download/"]
details:
selector: a.view-torrent
attribute: href
size:
selector: div.col-detail div.row div:nth-child(2)
seeders:
selector: div.bouton-s
leechers:
selector: div.bouton-l
date:
selector: div.col-detail div.row div span
filters:
- name: replace
args: ["il y a ", ""]
- name: replace
args: ["heure", "hour"]
- name: replace
args: ["jour", "day"]
- name: replace
args: ["semaine", "week"]
- name: replace
args: ["mois", "month"]
- name: append
args: " ago"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"
# UNIT3D

View File

@@ -1,17 +1,19 @@
---
site: btxpress
name: BTXpress
description: "HD Tracker Movies/TV"
language: en-us
site: sharingue
name: Sharingue
description: "Sharingue is a BRAZILIAN Private Tracker for TV / MOVIES / ANIME / MUSIC"
language: pt-br
type: private
encoding: UTF-8
links:
- https://btxpress.org/
- https://www.sharingue.live/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 1, cat: Movies, desc: "Movies (Filmes)"}
- {id: 3, cat: Audio, desc: "Music (Músicas)"}
- {id: 4, cat: TV, desc: "TV (Séries)"}
- {id: 5, cat: TV/Anime, desc: "Anime (Animes)"}
modes:
search: [q]
@@ -24,10 +26,23 @@
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
selectorinputs:
_token:
selector: meta[name="csrf-token"]
attribute: content
error:
- selector: table.main:contains("Login Failed!")
- selector: form[action$="/login"] .text-red
test:
path: torrents
path: /
selector: a[href$="/logout"]
ratio:
path: /
selector: span:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
@@ -40,7 +55,7 @@
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
sort: created_at
direction: desc
qty: 100
rows:
@@ -61,13 +76,13 @@
selector: a.view-torrent
attribute: href
size:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: ([\d\.]+)
@@ -100,10 +115,11 @@
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -29,23 +29,23 @@
movie-search: [q]
settings:
- name: itorrents-links
- name: btdb.eu-links
type: checkbox
label: Add download links via itorrents.org
label: Add download links via btdb.eu
default: true
- name: info
type: info
label: ITorrents Note
default: Without the itorrents option only magnet links will be provided.
label: btdb.eu Note
default: Without the btdb.eu option only magnet links will be provided.
search:
# https://www.skytorrents.lol/?query=mr+mercedes+s02e05&sort=created
# https://www.skytorrents.lol/?search=mr+mercedes+s02e05&sort=created
# https://www.skytorrents.lol/top100
paths:
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created{{else}}top100{{end}}"
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=2{{else}}{{end}}"
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=3{{else}}{{end}}"
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=4{{else}}{{end}}"
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created{{else}}top100{{end}}"
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created&page=2{{else}}{{end}}"
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created&page=3{{else}}{{end}}"
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created&page=4{{else}}{{end}}"
rows:
selector: tr.result
fields:
@@ -62,11 +62,11 @@
details:
selector: td a
attribute: href
download-itorrents:
selector: a[href^="//itorrents"]
download-btdb.eu:
selector: a[href^="//btdb.eu"]
attribute: href
download:
text: "{{if .Config.itorrents-links}}{{ .Result.download-itorrents }}{{else}}{{end}}"
text: "{{if .Config.btdb.eu-links}}{{ .Result.download-btdb.eu }}{{else}}{{end}}"
magnet:
selector: a[href^="magnet:?"]
attribute: href

View File

@@ -0,0 +1,74 @@
---
site: solidtorrents
name: SolidTorrents
description: "SolidTorrents is a Public torrent meta-search engine"
language: en-us
type: public
encoding: UTF-8
links:
- https://solidtorrents.net/
caps:
categories:
"Audio": Audio
"Video": Movies
"Image": Other/Misc
"Document": Books/Comics
"eBook": Books/Ebook
"Program": PC/0day
"Android": PC/Phone-Android
"Archive": Other
"Diskimage": PC/ISO
"Sourcecode": Movies/Other
"Database": Movies/DVD
"Unknown": Other
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
search:
paths:
# https://solidtorrents.net/search?q=gotham%20s05e02&sort=date&category=all
- path: "search?q={{.Keywords}}&sort=date&category=all"
rows:
selector: div[role="listitem"]:has(a[href^="magnet:?xt="])
fields:
title:
selector: div[class$="__title"] h3
details:
selector: div[class$="__title"] a
attribute: href
download:
selector: a[href^="magnet:?xt="]
attribute: href
category:
selector: div.v-list__tile__content div:nth-of-type(2)
filters:
- name: regexp
args: "(.+?) \\|"
date:
selector: div.v-list__tile__content div:nth-of-type(2)
filters:
- name: replace
args: ["a few", "1"]
- name: replace
args: ["an ", "1 "]
- name: replace
args: ["a ", "1 "]
- name: regexp
args: "(\\d+ \\w+ \\w+)"
seeders:
selector: div.v-list__tile__content div:nth-of-type(3) span:nth-child(1)
leechers:
selector: div.v-list__tile__content div:nth-of-type(3) span:nth-child(2)
size:
selector: div.v-list__tile__content div:nth-of-type(3)
remove: span
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -10,67 +10,13 @@
caps:
categorymappings:
- {id: 41, cat: PC/Phone-Android, desc: "Applications / Android"}
- {id: 42, cat: PC/Phone-IOS, desc: "Applications / iOS"}
- {id: 57, cat: Books/Comics, desc: "Ebooks / Bandes dessinées"}
- {id: 58, cat: XXX, desc: "Ebooks / Bandes dessinées X"}
- {id: 31, cat: Books/Magazines, desc: "Ebooks / Journaux"}
- {id: 32, cat: Books/Ebook, desc: "Ebooks / Livres"}
- {id: 59, cat: Books/Comics, desc: "Ebooks / Manga"}
- {id: 77, cat: Movies/UHD, desc: "Films / 4K rip"}
- {id: 23, cat: Movies, desc: "Films / Animés"}
- {id: 49, cat: Movies/BluRay, desc: "Films / BDrip"}
- {id: 51, cat: Movies/BluRay, desc: "Films / BluRay 1080"}
- {id: 52, cat: Movies/BluRay, desc: "Films / BluRay 4K"}
- {id: 50, cat: Movies/BluRay, desc: "Films / BluRay 720"}
- {id: 19, cat: Movies/BluRay, desc: "Films / BRrip"}
- {id: 74, cat: TV/Documentary, desc: "Films / Documentaires"}
- {id: 20, cat: Movies/DVD, desc: "Films / DVD-R 5"}
- {id: 48, cat: Movies/DVD, desc: "Films / DVD-R 9"}
- {id: 53, cat: Movies/DVD, desc: "Films / DVDrip"}
- {id: 64, cat: Movies/HD, desc: "Films / HDLight 1080"}
- {id: 63, cat: Movies/HD, desc: "Films / HDLight 720"}
- {id: 55, cat: Movies/HD, desc: "Films / HDrip 1080"}
- {id: 54, cat: Movies/HD, desc: "Films / HDrip 720"}
- {id: 60, cat: Movies/HD, desc: "Films / HDTV"}
- {id: 62, cat: Movies/HD, desc: "Films / HDTV 1080"}
- {id: 61, cat: Movies/HD, desc: "Films / HDTV 720"}
- {id: 75, cat: Movies/SD, desc: "Films / VHSrip"}
- {id: 65, cat: Movies/WEBDL, desc: "Films / Web-DL"}
- {id: 67, cat: Movies/WEBDL, desc: "Films / Web-DL 1080"}
- {id: 68, cat: Movies/WEBDL, desc: "Films / Web-DL 4K"}
- {id: 69, cat: Movies/WEBDL, desc: "Films / Web-DL 4K"}
- {id: 66, cat: Movies/WEBDL, desc: "Films / Web-DL 720"}
- {id: 70, cat: Movies/WEBDL, desc: "Films / WEBrip"}
- {id: 72, cat: Movies/WEBDL, desc: "Films / WEBrip 1080"}
- {id: 73, cat: Movies/WEBDL, desc: "Films / WEBrip 4K"}
- {id: 71, cat: Movies/WEBDL, desc: "Films / WEBrip 720"}
- {id: 9, cat: XXX, desc: "Films X"}
- {id: 76, cat: Console/3DS, desc: "Jeux / 3DS"}
- {id: 29, cat: PC/Phone-Android, desc: "Jeux / Android"}
- {id: 12, cat: Console, desc: "Jeux / GameBoy"}
- {id: 45, cat: Console, desc: "Jeux / GameBoy Advance"}
- {id: 30, cat: PC/Phone-IOS, desc: "Jeux / iOS"}
- {id: 46, cat: PC/Mac, desc: "Jeux / Mac"}
- {id: 4, cat: PC/Games, desc: "Jeux / PC "}
- {id: 36, cat: Console/PSP, desc: "Jeux / PS1"}
- {id: 37, cat: Console/PSP, desc: "Jeux / PS2"}
- {id: 33, cat: Console/PS3, desc: "Jeux / PS3"}
- {id: 34, cat: Console/PS4, desc: "Jeux / PS4"}
- {id: 78, cat: Console/Wii, desc: "Jeux / Wii"}
- {id: 38, cat: Console/Xbox, desc: "Jeux / Xbox"}
- {id: 40, cat: Console/Xbox, desc: "Jeux / Xbox One"}
- {id: 39, cat: Console/Xbox 360, desc: "Jeux / Xbox360"}
- {id: 28, cat: PC/Mac, desc: "Logiciels / Apple"}
- {id: 26, cat: PC, desc: "Logiciels / Linux"}
- {id: 27, cat: PC/0day, desc: "Logiciels / Windows"}
- {id: 56, cat: Audio/Lossless, desc: "Musiques / FLAC"}
- {id: 6, cat: Audio/MP3, desc: "Musiques / MP3"}
- {id: 7, cat: TV, desc: "Séries"}
- {id: 44, cat: XXX, desc: "Séries X"}
- {id: 47, cat: TV, desc: "Séries animées"}
- {id: 43, cat: TV/HD, desc: "Séries HD"}
- {id: 0, cat: Other, desc: "Other"}
- {id: 1, cat: Audio, desc: "Musique"}
- {id: 2, cat: Movies, desc: "Film"}
- {id: 3, cat: TV, desc: "Série"}
- {id: 4, cat: Console, desc: "Jeux"}
- {id: 5, cat: Books, desc: "Ebook"}
- {id: 6, cat: PC, desc: "Logiciels"}
- {id: 7, cat: XXX, desc: "Contenu Adulte"}
modes:
search: [q]
@@ -144,8 +90,14 @@
size:
selector: td:nth-child(5)
seeders:
text: "0"
seeders:
optional: true
selector: td:nth-child(6)
leechers:
text: "0"
leechers:
optional: true
selector: td:nth-child(7)
downloadvolumefactor:
case:

View File

@@ -1,161 +1,131 @@
---
---
site: theshinning
name: The Shinning
description: "The Shinning (TsH) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: de-de
type: private
encoding: windows-1252
encoding: UTF-8
links:
- https://theshinning.me/
legacylinks:
- https://theshinning.org
- https://theshinning.org/
caps:
categorymappings:
# Filme
- {id: 28, cat: Movies/SD, desc: "HORROR"}
- {id: 25, cat: Movies/DVD, desc: "SD|DVD"}
- {id: 99, cat: Movies/SD, desc: "SD|SPORT"}
- {id: 24, cat: Movies/SD, desc: "SD|x264"}
- {id: 22, cat: Movies/SD, desc: "SD|XVID"}
- {id: 26, cat: XXX, desc: "SD|XxX"}
# High Definition
- {id: 29, cat: Movies/BluRay, desc: "BLURAY"}
- {id: 19, cat: Movies/HD, desc: "HD|1080p"}
- {id: 21, cat: Movies/3D, desc: "HD|3D"}
- {id: 107, cat: Movies/HD, desc: "HD|4K"}
- {id: 20, cat: Movies/HD, desc: "HD|720p"}
- {id: 101, cat: Movies/HD, desc: "HD|REMUX"}
- {id: 100, cat: Movies/HD, desc: "HD|SPORT"}
- {id: 27, cat: XXX, desc: "HD|XxX"}
- {id: 102, cat: Movies/HD, desc: "SMALL|HD"}
# Musik
- {id: 13, cat: Audio, desc: "CHARTS"}
- {id: 31, cat: Audio/Lossless, desc: "FLAC"}
- {id: 97, cat: Audio/Audiobook, desc: "HOERSPIELE"}
- {id: 30, cat: Audio/MP3, desc: "MP3"}
- {id: 106, cat: Audio, desc: "SAMPLER"}
# Releaser
- {id: 18, cat: Movies, desc: "CR3WHD"}
- {id: 16, cat: Movies, desc: "ONKEL JENS"}
- {id: 17, cat: Movies, desc: "xTM|XviD"}
# Serie
- {id: 11, cat: TV/SD, desc: "DVD|SERIEN"}
- {id: 9, cat: TV/HD, desc: "HD|SERIEN"}
- {id: 32, cat: TV, desc: "MIXED|SERIEN"}
- {id: 10, cat: TV, desc: "PACK|SERIEN"}
- {id: 8, cat: TV/SD, desc: "SD|SERIEN"}
- {id: 105, cat: TV, desc: "SMALL|SERIE"}
- {id: 12, cat: TV, desc: "US|SERIEN"}
# Sonstige
- {id: 98, cat: PC, desc: "APPS"}
- {id: 90, cat: TV/Documentary, desc: "DOKUS"}
- {id: 91, cat: Books, desc: "EBOOKS"}
- {id: 14, cat: Movies, desc: "KINOHITS"}
- {id: 15, cat: Other, desc: "REQUEST"}
- {id: 23, cat: Other , desc: "SONSTIGES"}
- {id: 104, cat: XXX/Imageset, desc: "XXX|IMAGE"}
# Spiele
- {id: 96, cat: Console/NDS, desc: "GAMES|NDS"}
- {id: 92, cat: PC/Games, desc: "GAMES|PC"}
- {id: 94, cat: Console/PS4, desc: "GAMES|PS"}
- {id: 95, cat: Console/Wii, desc: "GAMES|WII"}
- {id: 93, cat: Console/Xbox, desc: "GAMES|XBOX"}
# Wrestling
- {id: 3, cat: TV/Sport, desc: "HD|RAW"}
- {id: 1, cat: TV/Sport, desc: "HD|SMACKD"}
- {id: 6, cat: TV/Sport, desc: "NXT"}
- {id: 7, cat: TV/Sport, desc: "PPV"}
- {id: 4, cat: TV/Sport, desc: "SD|RAW"}
- {id: 2, cat: TV/Sport, desc: "SD|SMACKD"}
- {id: 5, cat: TV/Sport, desc: "TNA"}
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: Console, desc: "Games"}
- {id: 5, cat: PC, desc: "Apps"}
- {id: 6, cat: Other, desc: "Misc"}
- {id: 7, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
selectorinputs:
_token:
selector: meta[name="csrf-token"]
attribute: content
error:
- selector: div.stderr_info_wrap
- selector: form[action$="/login"] .text-red
test:
path: browse.php
selector: img[title="Ratio"] + i
path: /
selector: a[href$="/logout"]
ratio:
path: browse.php
selector: img[title="Ratio"] + i
path: /
selector: span:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
- path: browse.php
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
showsearch: "1"
incldead: "1"
orderby: "added"
sort: "desc"
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
qty: 100
rows:
# correct selector depends on the "Empfohlene Torrents in der Liste anzeigen" profile option
selector: table.main > tbody > tr:contains("Alle Torrents") + tr > td > table.tableinborder > tbody > tr, div.bro_torr_wrap:not(:contains("Alle Torrents")) > table.tableinborder > tbody > tr
filters:
- name: andmatch
selector: table > tbody > tr
fields:
download:
selector: a[href^="download-ssl.php?torrent="]
attribute: href
title:
selector: div.title_wrap
attribute: title
filters:
- name: replace
args: ["[TsH]", ""]
category:
selector: a[href^="browse.php?cat="]
selector: a[href*="/categories/"]
attribute: href
filters:
- name: querystring
args: cat
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: div.title_wrap > a
selector: a.view-torrent
attribute: href
size:
selector: div.bro_right_ad > b
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
grabs:
selector: div.bro_right_ae > b
selector: td:nth-child(5)
seeders:
selector: div.bro_box1_aa > b
selector: td:nth-child(7)
leechers:
selector: div.bro_box_aaa > b
date:
selector: div.bro_box_date > span
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
filters:
- name: replace
args: ["\u00a0", " "]
- name: dateparse
args: "02.01.2006 15:04:05"
- name: regexp
args: ([\d\.]+)
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
span[title="OnlyUp"]: "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -6,6 +6,8 @@
type: private
encoding: UTF-8
links:
- https://torrent-turk.co/
legacylinks:
- https://torrent-turk.org/
caps:
@@ -13,23 +15,43 @@
- {id: 149, cat: Movies, desc: "Movies/Turkish"}
- {id: 151, cat: Movies/HD, desc: "Movies/Turkish/1080p"}
- {id: 152, cat: Movies/HD, desc: "Movies/Turkish/720p"}
- {id: 153, cat: Movies/DVD, desc: "Movies/Turkish/DVD5-DVD9"}
- {id: 154, cat: Movies/WEBDL, desc: "Movies/Turkish/BRRip-HDRip-DVDRip-WebDL"}
- {id: 155, cat: Movies/Other, desc: "Movies/Turkish/Boxset"}
- {id: 156, cat: Movies, desc: "Movies/Foreign"}
- {id: 157, cat: Movies/UHD, desc: "Movies/Foreign/4K"}
- {id: 157, cat: Movies/UHD, desc: "Movies/Foreign/4K / 3D"}
- {id: 159, cat: Movies/HD, desc: "Movies/Foreign/1080p"}
- {id: 160, cat: Movies/HD, desc: "Movies/Foreign/720p"}
- {id: 161, cat: Movies/DVD, desc: "Movies/Foreign/DVD5-DVD9"}
- {id: 162, cat: Movies/WEBDL, desc: "Movies/Foreign/BRRip-HDRip-DVDRip-WebDL"}
- {id: 163, cat: Movies/Other, desc: "Movies/Foreign/Boxset"}
- {id: 164, cat: TV, desc: "TV"}
- {id: 165, cat: TV, desc: "TV/Turkish"}
- {id: 166, cat: TV, desc: "TV/Foreign"}
- {id: 167, cat: TV/Other, desc: "TV Programs"}
- {id: 185, cat: TV/Documentary, desc: "TV/Documentary"}
- {id: 168, cat: TV/Other, desc: "TV/Other"}
- {id: 171, cat: Audio, desc: "Music"}
- {id: 172, cat: Audio, desc: "Music/Turkish"}
- {id: 173, cat: Audio, desc: "Music/Foreign"}
- {id: 184, cat: Audio, desc: "Music/Discography"}
- {id: 174, cat: Audio/Video, desc: "Music/Video"}
- {id: 175, cat: PC, desc: "Apps / Game / Graphics"}
- {id: 176, cat: PC, desc: "Apps"}
- {id: 177, cat: Other, desc: "Pictures"}
- {id: 183, cat: Books/Ebook, desc: "EBook"}
- {id: 178, cat: Books/Technical, desc: "Training Sets"}
- {id: 179, cat: PC, desc: "OS"}
- {id: 180, cat: PC/Games, desc: "PC/Games"}
- {id: 181, cat: Console, desc: "Playstation"}
modes:
search: [q]
tv-search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
@@ -42,18 +64,18 @@
- name: info
type: info
label: Layout
default: Only the classic profile is supported. Make sure to set the "Torrent listesi" option in your profile to "Klasik".
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>"
login:
path: ?p=home&pid=1
method: form
form: form#loginbox_form
form: form#sls_form
submitpath: ajax/login.php
inputs:
action: "login"
loginbox_membername: "{{ .Config.username }}"
loginbox_password: "{{ .Config.password }}"
loginbox_remember: "true"
loginbox_remember: 1
selectorinputs:
securitytoken:
selector: "script:contains(\"stKey: \")"
@@ -98,6 +120,26 @@
download:
selector: a[href*="?p=torrents&pid=10&action=download"]
attribute: href
date:
optional: true
# Uploaded 30-01-2019 15:02 by
selector: td.torrent_name:not(:contains(" at "))
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: dateparse
args: "02-01-2006 15:04"
date:
optional: true
# Uploaded Friday at 05:11 by
# Uploaded Today at 00:48 by
# Uploaded Yesterday at 23:57 by
selector: td.torrent_name:contains(" at ")
filters:
- name: regexp
args: "Uploaded (.+?) by"
- name: replace
args: [" at ", " "]
size:
selector: a[rel="torrent_size"]
seeders:
@@ -113,11 +155,9 @@
downloadvolumefactor:
case:
"img[title=\"FREE!\"]": "0"
"img[title=\"Download Multiplier: 0.5\"]": "0.5"
"*": "1"
uploadvolumefactor:
case:
"img[title=\"Upload Multiplier: 2\"]": "2"
"*": "1"
date:
selector: td.torrent_name > abbr.timeago
optional: true
attribute: data-time

View File

@@ -7,7 +7,8 @@
encoding: UTF-8
followredirect: true
links:
- https://wvw.torrent9.uno/
- https://wvw.t9.pe/
legacylinks:
- http://www.torrent9.ec/
- http://www.torrent9.red/
@@ -23,6 +24,8 @@
- https://ww1.torrent9.ph/
- https://torrent9.ga/
- https://www.torrent9.uno/
- https://wvw.torrent9.uno/
- https://ww1.torrent9.uno/
caps:
categorymappings:
@@ -38,12 +41,14 @@
search: [q]
tv-search: [q, season, ep]
settings: []
download:
selector: a[href^="/downloading/"]
search:
paths:
- path: "{{ if .Keywords }}/search_torrent/{{ .Keywords }}/page-0{{else}}/top_torrent.php{{end}}"
- path: "{{ if .Keywords }}/search_torrent/{{ re_replace .Keywords \"[']+\" \"\" }}/page-0{{else}}/top_torrent.php{{end}}"
rows:
selector: div.table-responsive > table tbody tr
fields:

View File

@@ -84,8 +84,7 @@
login:
path: torrent/account-login.php
method: form
form: form[action="account-login.php"]
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
@@ -93,7 +92,7 @@
- selector: div.row p.red-text
test:
path: torrent/torrents-search.php
selector: a[href*="logout"]
selector: div.myB-content:contains("Ratio:")
ratio:
path: torrent/torrents-search.php

View File

@@ -6,9 +6,9 @@
type: private
encoding: UTF-8
links:
- https://et8.org/
legacylinks:
- http://et8.org/
legacylinks:
- https://et8.org/
caps:
categorymappings:

View File

@@ -1,63 +0,0 @@
---
site: torrentcouch
name: TorrentCouch
description: "TorrentCounch is a Public TV tracker"
language: en-us
type: public
encoding: UTF-8
links:
- https://torrentcouch.net/
legacylinks:
- https://torrentcouch.com/
caps:
categorymappings:
- {id: 1, cat: TV, desc: "TV"}
modes:
search: [q]
tv-search: [q, season, ep]
settings: []
download:
selector: tr td a[href*="/files/download/"]
search:
# https://torrentcouch.com/?s=expanse
# https://torrentcouch.net/page/3/?s=expanse
paths:
- path: "{{if .Keywords}}/?s={{ .Keywords}}{{else}}/{{end}}"
- path: "{{if .Keywords}}/page/2/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/3/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/4/?s={{ .Keywords}}{{else}}{{end}}"
rows:
selector: article
fields:
title:
selector: h1.entry-title a
category:
text: "1"
details:
selector: h1.entry-title a
attribute: href
description:
selector: p
download:
selector: h1.entry-title a
attribute: href
size:
text: "500 MB"
seeders:
text: "1"
leechers:
text: "1"
date:
selector: span.posted-on a time
filters:
- name: dateparse
args: "January 2, 2006"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -66,39 +66,39 @@
selector: div[class="tgxtablerow clickable-row click"]
fields:
title:
selector: div.tgxtablecell:nth-child(3) div a
selector: div a[href^="/torrent/"]
attribute: title
category:
selector: div.tgxtablecell a
selector: div a[href^="/torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: div.tgxtablecell:nth-child(3) div a
selector: div a[href^="/torrent/"]
attribute: href
download:
selector: div.tgxtablecell:nth-child(4) a
selector: div a[href*="/get/"]
attribute: href
magnet:
selector: div.tgxtablecell:nth-child(4) a:nth-child(2)
selector: div a[href^="magnet:?"]
attribute: href
size:
selector: div.tgxtablecell:nth-child(7) span
selector: div span[style^="border-radius"]
seeders:
selector: div.tgxtablecell:nth-child(10) span font b
selector: div span[title="Seeders/Leechers"] font b
leechers:
selector: div.tgxtablecell:nth-child(10) span font:nth-child(2) b
selector: div span[title="Seeders/Leechers"] font:nth-child(2) b
date:
# 20Mins ago
optional: true
selector: div.tgxtablecell:nth-child(11) small:contains("ago")
selector: div.tgxtablecell:last-of-type:contains("ago")
filters:
- name: timeago
date:
# 24/12/18 13:55
optional: true
selector: div.tgxtablecell:nth-child(11) small:contains(":")
selector: div.tgxtablecell:last-of-type small:contains(":")
filters:
- name: dateparse
args: "02/01/06 15:04"

View File

@@ -43,6 +43,10 @@
type: checkbox
label: "Only include verifed content in results"
default: false
- name: info
type: info
label: A note about TP2
default: TP2 does not display categories in its search results page. To add to Sonarr or Radarr replace all categories with 7000.
download:
selector: "#download > div:nth-child(2) > div:nth-child(1) > a"

View File

@@ -4,77 +4,73 @@
description: "Torrent Sector Crew (TSC) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: de-de
type: private
encoding: windows-1252
encoding: ISO-8859-1
links:
- https://tsctracker.org/
legacylinks:
- https://tsctracker.net/
caps:
categorymappings:
# Apps
- {id: 65, cat: PC/Phone-Android, desc: "Android"}
- {id: 83, cat: PC/Phone-IOS, desc: "iOS"}
- {id: 107, cat: PC/0day, desc: "Linux"}
- {id: 48, cat: PC/Mac, desc: "MAC"}
- {id: 109, cat: PC, desc: "Sonstige"}
- {id: 22, cat: PC/0day, desc: "Win"}
- {id: 65, cat: PC/Phone-Android, desc: "Apps Android"}
- {id: 83, cat: PC/Phone-IOS, desc: "Apps iOS"}
- {id: 107, cat: PC/0day, desc: "Apps Linux"}
- {id: 48, cat: PC/Mac, desc: "Apps MAC"}
- {id: 109, cat: PC, desc: "Apps Sonstige"}
- {id: 22, cat: PC/0day, desc: "Apps Win"}
# Audio
- {id: 24, cat: Audio/Audiobook, desc: "aBooks"}
- {id: 104, cat: Audio, desc: "Disco's"}
- {id: 38, cat: Audio/Audiobook, desc: "Hörspiel"}
- {id: 6, cat: Audio, desc: "Musik"}
- {id: 82, cat: Audio, desc: "Tracks"}
- {id: 29, cat: Audio/Video, desc: "Videos"}
- {id: 24, cat: Audio/Audiobook, desc: "Audio aBooks"}
- {id: 104, cat: Audio, desc: "Audio Disco's"}
- {id: 38, cat: Audio/Audiobook, desc: "Audio Hörspiel"}
- {id: 6, cat: Audio, desc: "Audio Musik"}
- {id: 82, cat: Audio, desc: "Audio Tracks"}
- {id: 29, cat: Audio/Video, desc: "Audio Videos"}
# Doku
- {id: 113, cat: TV/Documentary, desc: "3D"}
- {id: 76, cat: TV/Documentary, desc: "HD"}
- {id: 78, cat: TV/Documentary, desc: "Packs"}
- {id: 75, cat: TV/Documentary, desc: "SD"}
- {id: 114, cat: TV/Documentary, desc: "Sonstige"}
- {id: 77, cat: TV/Documentary, desc: "Untouched"}
- {id: 113, cat: TV/Documentary, desc: "Doku 3D"}
- {id: 76, cat: TV/Documentary, desc: "Doku HD"}
- {id: 78, cat: TV/Documentary, desc: "Doku Packs"}
- {id: 75, cat: TV/Documentary, desc: "Doku SD"}
- {id: 114, cat: TV/Documentary, desc: "Doku Sonstige"}
- {id: 77, cat: TV/Documentary, desc: "Doku Untouched"}
# Filme
- {id: 54, cat: Movies/HD, desc: "1080p"}
- {id: 5, cat: Movies/3D, desc: "3D"}
- {id: 55, cat: Movies/HD, desc: "720p"}
- {id: 111, cat: Movies, desc: "Anime"}
- {id: 43, cat: Movies/BluRay, desc: "BluRay"}
- {id: 20, cat: Movies/DVD, desc: "DVDR"}
- {id: 120, cat: Movies/Foreign, desc: "Int."}
- {id: 119, cat: Movies, desc: "Remux"}
- {id: 121, cat: Movies/HD, desc: "UHD"}
- {id: 36, cat: Movies/HD, desc: "x264"}
- {id: 19, cat: Movies/SD, desc: "XviD"}
- {id: 54, cat: Movies/HD, desc: "Filme 1080p"}
- {id: 5, cat: Movies/3D, desc: "Filme 3D"}
- {id: 55, cat: Movies/HD, desc: "Filme 720p"}
- {id: 111, cat: Movies, desc: "Filme Anime"}
- {id: 43, cat: Movies/BluRay, desc: "Filme BluRay"}
- {id: 20, cat: Movies/DVD, desc: "Filme DVDR"}
- {id: 120, cat: Movies/Foreign, desc: "Filme Int."}
- {id: 119, cat: Movies, desc: "Filme Remux"}
- {id: 121, cat: Movies/HD, desc: "Filme UHD"}
- {id: 124, cat: Movies/HD, desc: "Filme UHD Remux"}
- {id: 36, cat: Movies/HD, desc: "Filme SD"}
# Serien
- {id: 112, cat: TV/Anime, desc: "Anime"}
- {id: 69, cat: TV/HD, desc: "HD"}
- {id: 72, cat: TV/Foreign, desc: "Int."}
- {id: 68, cat: TV, desc: "Packs"}
- {id: 66, cat: TV/SD, desc: "SD"}
- {id: 108, cat: TV, desc: "TV-Shows"}
- {id: 112, cat: TV/Anime, desc: "Serien Anime"}
- {id: 69, cat: TV/HD, desc: "Serien HD"}
- {id: 72, cat: TV/Foreign, desc: "Serien Int."}
- {id: 68, cat: TV, desc: "Serien Packs"}
- {id: 66, cat: TV/SD, desc: "Serien SD"}
- {id: 108, cat: TV, desc: "Serien TV-Shows"}
# Sonstige
- {id: 117, cat: Other, desc: "Diverses"}
- {id: 28, cat: Books, desc: "eBooks"}
- {id: 42, cat: TV/Sport, desc: "Sport"}
- {id: 103, cat: Other, desc: "Tutorials"}
- {id: 9, cat: Other, desc: "Wallpaper"}
- {id: 64, cat: XXX, desc: "XXX"}
- {id: 117, cat: Other, desc: "Sonstige Diverses"}
- {id: 28, cat: Books, desc: "Sonstige eBooks"}
- {id: 42, cat: TV/Sport, desc: "Sonstige Sport"}
- {id: 103, cat: Other, desc: "Sonstige Tutorials"}
- {id: 9, cat: Other, desc: "Sonstige Wallpaper"}
- {id: 64, cat: XXX, desc: "Sonstige XXX"}
# Spiele
- {id: 115, cat: PC/Mac, desc: "MAC"}
- {id: 37, cat: Console/NDS, desc: "Nintendo"}
- {id: 4, cat: PC/Games, desc: "PC"}
- {id: 58, cat: Console/PS4, desc: "PSX"}
- {id: 116, cat: Other, desc: "Sonstige"}
- {id: 50, cat: Console/Xbox, desc: "XBOX"}
- {id: 115, cat: PC/Mac, desc: "Spiele MAC"}
- {id: 37, cat: Console/NDS, desc: "Spiele Nintendo"}
- {id: 4, cat: PC/Games, desc: "Spiele PC"}
- {id: 58, cat: Console/PS4, desc: "Spiele PSX"}
- {id: 116, cat: Other, desc: "Spiele Sonstige"}
- {id: 50, cat: Console/Xbox, desc: "Spiele XBOX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: pin
@@ -116,63 +112,104 @@
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
search: "{{ .Keywords }}"
incldead: "1"
orderby: "added"
sort: desc
sort: "desc"
rows:
selector: "h2 +p + br + table.tablebrowse > tbody > tr[style=\"height: 45px;\"], tr:contains(\"Weiter\") > td > table.tablebrowse > tbody > tr[style=\"height: 45px;\"]"
selector: table.tableinborder:has(a[href^="download_ssl.php"])
fields:
title:
selector: a[title][href^="details.php"]
attribute: title
category:
selector: a[href*="cat="]
attribute: href
filters:
- name: querystring
args: cat
selector: td[style][colspan]
case:
td[style$="#000033;"]:contains("Android"): 65
td[style$="#000033;"]:contains("iOS"): 83
td[style$="#000033;"]:contains("Linux"): 107
td[style$="#000033;"]:contains("MAC"): 48
td[style$="#000033;"]:contains("Sonstige"): 109
td[style$="#000033;"]:contains("Win"): 22
td[style$="#1d2f8c;"]:contains("aBooks"): 24
td[style$="#1d2f8c;"]:contains("Disco's"): 104
td[style$="#1d2f8c;"]:contains("Hörspiel"): 38
td[style$="#1d2f8c;"]:contains("Musik"): 6
td[style$="#1d2f8c;"]:contains("Tracks"): 82
td[style$="#1d2f8c;"]:contains("Videos"): 29
td[style$="#000000;"]:contains("3D"): 113
td[style$="#000000;"]:contains("HD"): 76
td[style$="#000000;"]:contains("Packs"): 78
td[style$="#000000;"]:contains("SD"): 75
td[style$="#000000;"]:contains("Sonstige"): 114
td[style$="#000000;"]:contains("Untouched"): 77
td[style$="#55316e;"]:contains("1080p"): 54
td[style$="#55316e;"]:contains("3D"): 5
td[style$="#55316e;"]:contains("720p"): 55
td[style$="#55316e;"]:contains("Anime"): 111
td[style$="#55316e;"]:contains("BluRay"): 43
td[style$="#55316e;"]:contains("DVDR"): 20
td[style$="#55316e;"]:contains("Int"): 120
td[style$="#55316e;"]:contains("Remux"): 119
td[style$="#55316e;"]:contains("UHD"): 121
td[style$="#55316e;"]:contains("UHD Remux"): 124
td[style$="#55316e;"]:contains("SD"): 36
td[style$="#620000;"]:contains("Anime"): 112
td[style$="#620000;"]:contains("HD"): 69
td[style$="#620000;"]:contains("Int"): 72
td[style$="#620000;"]:contains("Packs"): 68
td[style$="#620000;"]:contains("SD"): 66
td[style$="#620000;"]:contains("TV-Shows"): 108
td[style$="#003300;"]:contains("Diverses"): 117
td[style$="#003300;"]:contains("eBooks"): 28
td[style$="#003300;"]:contains("Sport"): 42
td[style$="#003300;"]:contains("Tutorials"): 103
td[style$="#003300;"]:contains("Wallpaper"): 9
td[style$="#FF00FF;"]:contains("XXX"): 64
td[style$="#FF3300;"]:contains("MAC"): 115
td[style$="#FF3300;"]:contains("Nintendo"): 37
td[style$="#FF3300;"]:contains("PC"): 4
td[style$="#FF3300;"]:contains("PSX"): 58
td[style$="#FF3300;"]:contains("Sonstige"): 116
td[style$="#FF3300;"]:contains("XBOX"): 50
comments:
selector: a[href*="&tocomm="]
attribute: href
download:
selector: a[href^="download_ssl.php"]
attribute: href
files:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(9)
selector: td:has(a[href*="&tosnatchers="])
filters:
- name: replace
args: ["-mal", ""]
- name: regexp
args: "(\\d+) x"
size:
selector: td:nth-child(6)
selector: td:has(a[href*="&filelist="])
filters:
- name: regexp
args: "(.*?) in"
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
files:
selector: td:has(a[href*="&filelist="]) > b
seeders:
selector: td:nth-child(7)
filters:
- name: regexp
args: "(\\d+)"
selector: td:has(a[href*="&toseeders="]) > font
leechers:
selector: td:nth-child(8)
filters:
- name: regexp
args: "(\\d+)"
selector: td:has(a[href*="&todlers="]) > font
date:
selector: td:nth-child(5)
remove: br
selector: td:has(a[href*="&tocomm="]) ~ td
filters:
- name: re_replace
args: ["\\s", " "]
- name: dateparse
args: "02.01.200615:04:05"
args: "02.01.2006 15:04:05"
downloadvolumefactor:
case:
"font:contains(\"[OnlyUpload]\")": "0"
"font:contains(\"[-40 Download]\")": "0.6"
img[src="pic/oupic.gif"]: "0"
img[src="pic/-40.gif"]: "0.6"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
"*": "1"

View File

@@ -15,19 +15,22 @@
- {id: 9, cat: TV/Anime, desc: "Anime/SD"}
- {id: 1, cat: PC/0day, desc: "Apps"}
- {id: 27, cat: Books, desc: "Bookware"}
- {id: 32, cat: Books/EBook, desc: "EBOOK"}
- {id: 32, cat: Books/Ebook, desc: "EBOOK"}
- {id: 47, cat: Console/Other, desc: "GAMES/NSW"}
- {id: 60, cat: Console/Other, desc: "GAMES/ATARI"}
- {id: 63, cat: Console/Other, desc: "GAMES/UPDATES"}
- {id: 2, cat: PC/Games, desc: "Games/PC"}
- {id: 8, cat: Console/PS3, desc: "Games/PS3"}
- {id: 30, cat: Console/PS4, desc: "GAMES/PS4"}
- {id: 7, cat: Console/PSP, desc: "Games/PSP"}
- {id: 16, cat: Console/Wii, desc: "GAMES/WII"}
- {id: 29, cat: Console/WiiU, desc: "GAMES/WIIU"}
- {id: 17, cat: Console/XBox360, desc: "GAMES/XBOX360"}
- {id: 17, cat: Console/XBox 360, desc: "GAMES/XBOX360"}
- {id: 50, cat: Movies/BluRay, desc: "Movies/Bluray-UHD"}
- {id: 31, cat: Movies/BluRay, desc: "MOVIES/COMPLETE-BLURAY"}
- {id: 3, cat: Movies/DVD, desc: "MOVIES/DVDR"}
- {id: 39, cat: Movies/Foreign, desc: "MOVIES/HD-Foreign"}
- {id: 62, cat: Movies/Foreign, desc: "MOVIES/SD-Foreign"}
- {id: 19, cat: Movies/HD, desc: "MOVIES/X264"}
- {id: 49, cat: Movies/HD, desc: "Movies/X265"}
- {id: 25, cat: Movies/SD, desc: "MOVIES/XVID"}
@@ -56,6 +59,8 @@
- {id: 24, cat: TV/SD, desc: "TV/DVDRIP"}
- {id: 18, cat: TV/SD, desc: "TV/SD"}
- {id: 26, cat: TV/HD, desc: "TV/X264"}
- {id: 61, cat: TV/UHD, desc: "TV/2160P"}
- {id: 64, cat: TV/FOREIGN, desc: "TV/X264-FOREIGN"}
modes:
@@ -85,7 +90,7 @@
- name: info
type: info
label: Results Per Page
default: For best results, change the 'Torrents per page' setting to 100 on your 'Personal Options' from the 'Personal' menu on the Mega-Blitz webpage.
default: For best results, change the 'Torrents per page' setting to 100 on your 'Torrent Options' from the 'Pers Tools > UserCP' menu on the TorrentSeeds webpage.
login:
path: login.php
@@ -94,7 +99,6 @@
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submitme: "X"
error:
- selector: h2:contains("Login failed!")
message:
@@ -148,11 +152,19 @@
attribute: href
files:
selector: td:nth-of-type(5)
# 2 flavours of dates
date:
selector: td:nth-of-type(7)
# Today<br /> 10:20 AM
# Yesterday<br /> 08:03 PM
optional: true
selector: td:nth-child(7):contains("day")
date:
# Feb 14 2019<br /> 10:20 AM
optional: true
selector: td:nth-child(7):not(:contains("day"))
filters:
- name: dateparse
args: "Jan 02 2006 03:04 PM"
args: "Jan 2 2006 03:04 pm"
size:
selector: td:nth-of-type(8)
grabs:

View File

@@ -1,117 +0,0 @@
---
site: torrof
name: Torrof
description: "Torrof (Torrentoff) is meta-search engine for torrents"
language: en-us
type: public
encoding: UTF-8
links:
- http://www.torrof.com/
caps:
categories:
"Software": PC
"Book": Books
"Video": Movies
"Music": Audio
"Other": Other
"Picture": Other/Misc
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: category
type: select
label: Category
default: "_"
options:
"_": "All"
"Book": "Book"
"Music": "Music"
"Other": "Other"
"Picture": "Picture"
"Software": "Software"
"Video": "Video"
- name: verified
type: select
label: Verified
default: "_"
options:
"_": "Any"
"1": "Verified Only"
- name: sort
type: select
label: Sort
default: "_"
options:
"_": "Default"
"creation_date desc": "Age desc"
"creation_date asc": "Age asc"
"total_size desc": "Size desc"
"total_size asc": "Size asc"
download:
selector: section.file-info a:nth-child(2)
search:
paths:
- path: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
method: post
inputs:
# torrof does not support trending/latest/new pages
text: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
size: "0:inf"
date: "0:inf"
verified_only: "{{ re_replace .Config.verified \"_\" \"\" }}"
category: "{{ re_replace .Config.category \"_\" \"\" }}"
tags: ""
mode: "titles"
sort: "{{ re_replace .Config.sort \"_\" \"\" }}"
page: "0"
rows:
# ignore adverts
selector: tr:has(a[href^="/view/"])
filters:
# torrof uses fuzzy search logic
- name: andmatch
fields:
title:
selector: td:nth-child(2) a:nth-child(1)
category:
selector: td:nth-child(1) span
attribute: title
filters:
# grab first word
- name: split
args: [" ", 0]
details:
selector: td:nth-child(2) a:nth-child(1)
attribute: href
download:
selector: td:nth-child(2) a:nth-child(1)
attribute: href
date:
selector: td:nth-child(4)
filters:
- name: dateparse
args: "Jan 2006"
size:
selector: td:nth-child(3) span:nth-child(1)
files:
selector: td:nth-child(3) span:nth-last-child(1)
filters:
- name: replace
args: [" Files", ""]
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,125 @@
---
site: totallykids
name: TotallyKids
description: "TotallyKids (TK) is a Private Torrent Tracker for CHILDRENS MOVIES / TV / GENERAL"
language: en-us
type: private
encoding: UTF-8
links:
- http://www.totallykids.tv/
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: info_results
type: info
label: "Search results"
default: "For best results, increase the torrents number in your profile to 100.<br />Default is 15."
caps:
categorymappings:
- {id: 5, cat: Audio, desc: "Music"}
- {id: 6, cat: Audio/Audiobook, desc: "Audiobooks"}
- {id: 4, cat: Books/Comics, desc: "Comics"}
- {id: 7, cat: Books/EBook, desc: "E-Books"}
- {id: 16, cat: Movies, desc: "Family Movies"}
- {id: 23, cat: Movies, desc: "Teen Movies"}
- {id: 8, cat: PC/Games, desc: "Games"}
- {id: 1, cat: TV, desc: "Kids"}
- {id: 2, cat: TV, desc: "Family"}
- {id: 15, cat: TV, desc: "Educational"}
- {id: 24, cat: TV, desc: "Teens"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
login:
path: index.php?page=login
method: form
form: form[action^="index.php?page=login"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# http://www.totallykids.tv/index.php?page=torrents&search=scooby&category=1;2;5;6;4;7;8;15;24;16;23&options=0&active=0
- path: index.php
inputs:
page: torrents
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
options: 0
active: 0
rows:
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
fields:
title:
selector: td a[href^="index.php?page=torrent-details"]
details:
selector: td a[href^="index.php?page=torrent-details"]
attribute: href
category:
selector: td a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
download:
selector: td a[href^="download.php"]
attribute: href
imdb:
optional: true
selector: a[href*="http://www.imdb.com/title/"]
attribute: href
filters:
# http://anonym.to?javascript:popdetails('http://www.imdb.com/title/tt0086817');
- name: replace
args: [" http://anonym.to?javascript:popdetails('", ""]
- name: replace
args: ["');", ""]
size:
selector: td:nth-child(10)
# two flavours of dates
date:
# Yesterday at 10:03:30 PM
selector: td:nth-child(5):contains("day")
optional: true
filters:
- name: re_replace
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
date:
# February 09, 2019, 06:35:08 AM
selector: td:nth-child(5):not(:contains("day"))
optional: true
filters:
- name: re_replace
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
- name: dateparse
args: "January 02 2006 03:04:05 PM"
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
downloadvolumefactor:
case:
img[src="gold/gold.gif"]: "0"
"*": "1"
uploadvolumefactor:
text: "1"

View File

@@ -112,20 +112,26 @@
search:
paths:
- path: browse.php
keywordsfilters:
- name: re_replace # S01E01 to X.sezon X.blm
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1.sezon $2.blm"]
inputs:
# does not support multi categories so defaulting to ALL
do: "search"
keywords: "{{.Keywords}}"
keywords: "{{if .Keywords}}\"{{.Keywords}}\"{{else}}{{end}}"
category: "0"
search_type: "t_name"
include_dead_torrents: "yes"
rows:
selector: table#sortabletable tbody tr:has(div[id^="port-target-"])
filters:
- name: andmatch
fields:
title:
selector: div[id^="port-target-"] a
filters:
- name: re_replace # X.sezon X.blm to S01E01
args: ["(?i)\\b(\\d+).sezon\\s(\\d+).blm\\b", "S$1E$2"]
- name: re_replace # switch (dd.mm.yyyy) to mm.dd.yyyy
args: ["\\((\\d+)\\.(\\d+)\\.(\\d+)\\)", "$2/$1/$3"]
details:
selector: div[id^="port-target-"] a
attribute: href
@@ -159,4 +165,4 @@
uploadvolumefactor:
case:
img[src$="/x2.gif"]: "2"
"*": "1"
"*": "1"

View File

@@ -78,8 +78,13 @@
files:
selector: td:nth-last-child(8)
size:
# 1,36 GB
# 296,98 MB
# 1.018,29 MB
selector: td:nth-last-child(5)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
grabs:

View File

@@ -0,0 +1,143 @@
---
site: world-of-tomorrow
name: world-of-tomorrow
description: "world-of-tomorrow is a Private GERMAN tracker"
language: de-de
type: private
encoding: UTF-8
followredirect: true
links:
- https://world-of-tomorrow.eu
caps:
categorymappings:
# Movie
- {id: 47, cat: Movies/HD, desc: "Bluray"}
- {id: 48, cat: Movies/HD, desc: "720p"}
- {id: 49, cat: Movies/HD, desc: "1080p"}
- {id: 11, cat: Movies/SD, desc: "DVD-R"}
- {id: 60, cat: Movies/HD, desc: "HDTV"}
- {id: 62, cat: Movies/SD, desc: "SD"}
- {id: 89, cat: Movies/HD, desc: "UHD"}
- {id: 91, cat: Movies, desc: "Packs"}
# Serien
- {id: 16, cat: TV, desc: "Serien-Packs"}
- {id: 64, cat: TV/Documentary, desc: "Serien-Doku"}
- {id: 77, cat: TV/SD, desc: "Serien-SD"}
- {id: 78, cat: TV/HD, desc: "Serien-720p"}
- {id: 79, cat: TV/HD, desc: "Serien-1080p"}
- {id: 95, cat: TV/HD, desc: "Serien-2160p"}
# Games
- {id: 4, cat: PC/Games, desc: "Windows"}
- {id: 84, cat: Console/PS3, desc: "PS3/PS4"}
- {id: 84, cat: Console/PS4, desc: "PS3/PS4"}
- {id: 85, cat: Console/Xbox 360, desc: "Xbox-360"}
- {id: 92, cat: PC/Games, desc: "Wimmelbild"}
# Musik
- {id: 14, cat: Audio/MP3, desc: "MP3"}
- {id: 36, cat: Audio/Audiobook, desc: "Hörbuch"}
- {id: 71, cat: Audio, desc: "Soundtracks"}
- {id: 70, cat: Audio, desc: "Flac"}
- {id: 72, cat: Audio, desc: "Musik-Packs"}
- {id: 93, cat: Audio/Video, desc: "Musik-Videos"}
# Programme
- {id: 18, cat: PC, desc: "Appz-Sonstige"}
- {id: 28, cat: PC, desc: "Windows"}
# Sport
- {id: 23, cat: TV/Sport, desc: "Wrestling"}
- {id: 74, cat: TV/Sport, desc: "Fussball"}
- {id: 75, cat: TV/Sport, desc: "Formel 1"}
# Misc
- {id: 88, cat: XXX, desc: "XXX"}
- {id: 19, cat: Books/Ebook, desc: "Ebooks"}
- {id: 87, cat: TV/Anime, desc: "Anime/Zeichentrick"}
- {id: 96, cat: Other/Misc, desc: "Sonstiges"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: secure_code
type: password
label: "Secure Code"
login:
path: login.php
method: form
form: form
inputs:
take: "yes"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
secure_code: "{{ .Config.secure_code }}"
test:
path: sessioncheck.php
search:
path: tfiles.php
inputs:
search: "{{ .Query.Keywords }}"
incldead: "1"
showsearch: 0
rows:
selector: table.table-bordered > tbody > tr
fields:
title:
selector: a[href^="details.php"]
category:
selector: a[href^="tfiles.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php"]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
grabs:
selector: span:nth-child(5)
filters:
- name: split
args: [":",1]
size:
selector: span:nth-child(2)
filters:
- name: split
args: [":",1]
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: span:nth-child(3)
filters:
- name: split
args: [":",1]
leechers:
selector: span:nth-child(4)
filters:
- name: split
args: [":",1]
date:
selector: td:nth-child(3)
remove: center, br
filters:
- name: dateparse
args: "02.01.2006 15:04:05"

View File

@@ -68,8 +68,9 @@
- {id: 6, cat: XXX/XviD, desc: "xXx-XviD"}
modes:
search: [q]
tv-search: [q, season, ep]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
@@ -89,9 +90,10 @@
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
incldead: "1"
searchin: "title"
# searchin: title, descr, genre, all
searchin: "{{if .Query.IMDBID}}all{{else}}title{{end}}"
rows:
selector: table > tbody > tr:has(a[href^="download.php?torrent="])

View File

@@ -0,0 +1,128 @@
---
site: xktorrent
name: XKTorrent
description: "XKTorrent is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://xktorrent.com/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Film"}
- {id: 2, cat: TV, desc: "Série"}
- {id: 3, cat: TV/Anime, desc: "Film d'Animation"}
- {id: 5, cat: TV/Sport, desc: "Sport"}
- {id: 6, cat: TV/Documentary, desc: "Documentaire"}
- {id: 7, cat: Audio, desc: "Musique"}
- {id: 8, cat: Audio/Other, desc: "Podcast Audio"}
- {id: 13, cat: Books/Ebook, desc: "eBooks"}
- {id: 14, cat: TV, desc: "Spectacle"}
- {id: 15, cat: Audio/Video, desc: "Concert"}
- {id: 18, cat: TV/Anime, desc: "Manga"}
- {id: 19, cat: Books/Comics, desc: "Comics"}
- {id: 20, cat: Books/Comics, desc: "Bande dessinée"}
- {id: 22, cat: Console, desc: "Jeux"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
selectorinputs:
_token:
selector: meta[name="csrf-token"]
attribute: content
error:
- selector: form[action$="/login"] span strong
test:
path: /
selector: a[href$="/logout"]
ratio:
path: /
selector: span:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
imdb:
selector: a[href^="https://www.imdb.com/title/"]
attribute: href
optional: true
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: ([\d\.]+)
date:
selector: time
filters:
- name: replace
args: ["il y a ", ""]
- name: replace
args: ["heure", "hour"]
- name: replace
args: ["jour", "day"]
- name: replace
args: ["semaine", "week"]
- name: replace
args: ["mois", "month"]
- name: append
args: " ago"
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D

View File

@@ -3,7 +3,7 @@
name: Xtreme Zone
description: "XtreMeZone (MYXZ) is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ro-ro
type: semi-private
type: private
encoding: UTF-8
links:
- https://www.myxz.eu/

View File

@@ -25,6 +25,8 @@
- https://ygg.to/
- https://www.ygg.to/
- https://ww3.yggtorrent.gg/
- http://www2.yggtorrent.gg/
caps:
categorymappings:
- {id: 2145, cat: TV, desc: "Film/Vidéo"}
@@ -160,9 +162,10 @@
args: ["(.*)[sS](\\d{1,4})$", "$1"]
- name: replace
args: ["\"", ""]
- name: trim
paths:
- path: "https://{{ .Config.searchanddlurl }}/engine/search?category={{ .Config.category }}&name={{if .Config.enhancedAnime}}{{ re_replace .Keywords \"([\\.\\s\\[\\-])(\\d+)$\" \"$1e$2\" }}{{else}}{{ re_replace .Keywords \"\\s\" \"\"\"\" }}{{end}}&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date"
- path: "https://{{ .Config.searchanddlurl }}/engine/search?category={{ .Config.category }}&name={{if .Config.enhancedAnime}}{{ re_replace .Keywords \"([\\.\\s\\[\\-])(\\d+)$\" \"$1e$2\" }}{{else}}{{ re_replace .Keywords \"\\s\" \"\"\"\" }}{{end}}&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date&page=50"
- path: "https://{{ .Config.searchanddlurl }}/engine/search?category={{ .Config.category }}&name={{if .Config.enhancedAnime}}{{ re_replace .Keywords \"([\\.\\s\\[\\-])(\\d+)$\" \"$1e$2\" }}{{else}}{{ .Keywords }}{{end}}&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date"
- path: "https://{{ .Config.searchanddlurl }}/engine/search?category={{ .Config.category }}&name={{if .Config.enhancedAnime}}{{ re_replace .Keywords \"([\\.\\s\\[\\-])(\\d+)$\" \"$1e$2\" }}{{else}}{{ .Keywords }}{{end}}&description=&file=&uploader=&sub_category=&do=search&order=desc&sort=publish_date&page=50"
rows:
selector: "table.table > tbody > tr"
fields:

View File

@@ -60,6 +60,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(66, TorznabCatType.TVSport, "Football - Super Bowls");
AddCategoryMapping(53, TorznabCatType.TVSport, "Football - NCAA");
AddCategoryMapping(99, TorznabCatType.TVSport, "Football - CFL");
AddCategoryMapping(101, TorznabCatType.TVSport, "Football - AAF");
AddCategoryMapping(54, TorznabCatType.TVSport, "Football - Reviews and highlights");
AddCategoryMapping(97, TorznabCatType.TVSport, "Football - Documentaries");
AddCategoryMapping(44, TorznabCatType.TVSport, "Football - Other");
@@ -103,6 +104,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(94, TorznabCatType.TVSport, "Other sports - Misc");
AddCategoryMapping(56, TorznabCatType.TVSport, "Sports on tv");
AddCategoryMapping(30, TorznabCatType.TVSport, "Sports");
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@@ -41,6 +41,7 @@ namespace Jackett.Common.Indexers
Type = "semi-private";
AddCategoryMapping(30, TorznabCatType.Movies, "Video content");
AddCategoryMapping(1918, TorznabCatType.Movies, "UHD Video");
AddCategoryMapping(31, TorznabCatType.TVDocumentary, " Documentary films, TV and other video");
AddCategoryMapping(127, TorznabCatType.TVDocumentary, " Documentary movies and TV shows");
AddCategoryMapping(1071, TorznabCatType.TVDocumentary, " Documentary (DVD)");
@@ -114,17 +115,10 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1111, TorznabCatType.TV, " Evening Quarter");
AddCategoryMapping(1112, TorznabCatType.TV, " Films with a funny transfer (parody)");
AddCategoryMapping(1113, TorznabCatType.TV, " Stand-up comedy");
AddCategoryMapping(1114, TorznabCatType.TV, " Moment of glory");
AddCategoryMapping(1115, TorznabCatType.TV, " Ukrainian Show");
AddCategoryMapping(1116, TorznabCatType.TV, " Star Factory");
AddCategoryMapping(1117, TorznabCatType.TV, " Dance shows, concerts, performances");
AddCategoryMapping(1118, TorznabCatType.TV, " Circus");
AddCategoryMapping(1119, TorznabCatType.TV, " School for Scandal");
AddCategoryMapping(1120, TorznabCatType.TV, " Satirists and humorists");
AddCategoryMapping(1873, TorznabCatType.TV, " Musical show");
AddCategoryMapping(1121, TorznabCatType.TV, " Humorous audio transmission");
AddCategoryMapping(1122, TorznabCatType.TV, " Audio and video clips (Jokes and humor)");
AddCategoryMapping(32, TorznabCatType.Movies, " Foreign movies");
AddCategoryMapping(1906, TorznabCatType.Movies, " Foreign films of 2019");
AddCategoryMapping(33, TorznabCatType.Movies, " Russian movies");
AddCategoryMapping(567, TorznabCatType.Movies, " Foreign films 2016");
AddCategoryMapping(37, TorznabCatType.Movies, " Foreign films 2011 - 2015 the year");
AddCategoryMapping(38, TorznabCatType.Movies, " Foreign films of the year 2006-2010");
@@ -173,11 +167,8 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(51, TorznabCatType.TV, " Domestic series");
AddCategoryMapping(1860, TorznabCatType.TV, " Domestic series 2016");
AddCategoryMapping(1810, TorznabCatType.TV, " Domestic series 2015");
AddCategoryMapping(574, TorznabCatType.TV, " Domestic series 2014");
AddCategoryMapping(50, TorznabCatType.TV, " Foreign TV series");
AddCategoryMapping(1861, TorznabCatType.TV, " Foreign series 2016");
AddCategoryMapping(1809, TorznabCatType.TV, " Foreign series 2015");
AddCategoryMapping(575, TorznabCatType.TV, " Foreign series 2014");
AddCategoryMapping(1181, TorznabCatType.TV, " Foreign TV shows (HD Video)");
AddCategoryMapping(1184, TorznabCatType.TV, " Soaps Spain, Italy, Latin America, Turkey and India");
AddCategoryMapping(1185, TorznabCatType.TV, " Indian series");
@@ -300,6 +291,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1152, TorznabCatType.TVSport, " Ukraine");
AddCategoryMapping(1153, TorznabCatType.TVSport, " Other national championships and cups");
AddCategoryMapping(1154, TorznabCatType.TVSport, " International football tournaments");
AddCategoryMapping(1901, TorznabCatType.TVSport, " Confederations Cup 2017");
AddCategoryMapping(1157, TorznabCatType.TVSport, " European Cups");
AddCategoryMapping(1156, TorznabCatType.TVSport, " Eurocup 2011-2014");
AddCategoryMapping(1155, TorznabCatType.TVSport, " Eurocup 2014-2015");
@@ -324,15 +316,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1886, TorznabCatType.TVSport, " Football");
AddCategoryMapping(1887, TorznabCatType.TVSport, " Basketball");
AddCategoryMapping(1888, TorznabCatType.TVSport, " Volleyball / Beach Volleyball / Handball / Water Polo");
AddCategoryMapping(1889, TorznabCatType.TVSport, " Athletics");
AddCategoryMapping(1890, TorznabCatType.TVSport, " Tennis / Table Tennis / Badminton");
AddCategoryMapping(1891, TorznabCatType.TVSport, " Boxing / Martial Arts and Martial Arts / Weightlifting");
AddCategoryMapping(1892, TorznabCatType.TVSport, " Water Sports / Boating");
AddCategoryMapping(1893, TorznabCatType.TVSport, " cycle racing");
AddCategoryMapping(1894, TorznabCatType.TVSport, " Gymnastics");
AddCategoryMapping(1895, TorznabCatType.TVSport, " Other Sports");
AddCategoryMapping(1896, TorznabCatType.TVSport, " The survey and analysis of transmission");
AddCategoryMapping(1897, TorznabCatType.Books, " Books, manuals, periodicals on the Olympic theme");
AddCategoryMapping(1907, TorznabCatType.TVSport, " 2018 Winter Olympics");
AddCategoryMapping(1575, TorznabCatType.Movies, " Video for mobile devices");
AddCategoryMapping(1576, TorznabCatType.Movies, " Video for Smartphones and PDAs");
AddCategoryMapping(1577, TorznabCatType.Movies, " Mobile Video (3GP)");
@@ -390,18 +374,17 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(73, TorznabCatType.PCGames, " Simulations");
AddCategoryMapping(74, TorznabCatType.PCGames, " Autos and Racing");
AddCategoryMapping(75, TorznabCatType.PCGames, " Sports simulators");
AddCategoryMapping(464, TorznabCatType.PCGames, " Other simulators");
AddCategoryMapping(1531, TorznabCatType.PCGames, " Space and flight simulators");
AddCategoryMapping(76, TorznabCatType.PCGames, " Aviasimulators");
AddCategoryMapping(463, TorznabCatType.PCGames, " space Simulation");
AddCategoryMapping(1540, TorznabCatType.PCGames, " Microsoft Flight Simulator add-ons, and for him");
AddCategoryMapping(1541, TorznabCatType.PCGames, " Scripts, meshes and airports");
AddCategoryMapping(1542, TorznabCatType.PCGames, " Airplanes and helicopters");
AddCategoryMapping(1902, TorznabCatType.PCGames, " Planes, helicopters (FSX-P3D)");
AddCategoryMapping(1903, TorznabCatType.PCGames, " Planes and helicopters [FS2004]");
AddCategoryMapping(1543, TorznabCatType.PCGames, " Mission, traffic sounds, packs and tools");
AddCategoryMapping(1899, TorznabCatType.PCGames, " Scenarios (FSX-P3D)");
AddCategoryMapping(77, TorznabCatType.PCGames, " Arcade");
AddCategoryMapping(459, TorznabCatType.PCGames, " Arcade (various)");
AddCategoryMapping(461, TorznabCatType.PCGames, " Board &amp; Card Arcade");
AddCategoryMapping(78, TorznabCatType.PCGames, " Adventure Quests");
AddCategoryMapping(746, TorznabCatType.PCGames, " Quest-style \"search objects\"");
AddCategoryMapping(79, TorznabCatType.PCGames, " Online Games");
@@ -409,25 +392,17 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(744, TorznabCatType.PCGames, " paid");
AddCategoryMapping(742, TorznabCatType.PCGames, " Other online gaming");
AddCategoryMapping(157, TorznabCatType.PCGames, " For the little ones");
AddCategoryMapping(465, TorznabCatType.PCGames, " Old games for PC");
AddCategoryMapping(466, TorznabCatType.PCGames, " Arcade and Puzzle Games (old games)");
AddCategoryMapping(1871, TorznabCatType.PCGames, " Arcade (Old Games)");
AddCategoryMapping(1872, TorznabCatType.PCGames, " Puzzle games (old games)");
AddCategoryMapping(467, TorznabCatType.PCGames, " Adventure quests (old games)");
AddCategoryMapping(468, TorznabCatType.PCGames, " Action (old games)");
AddCategoryMapping(469, TorznabCatType.PCGames, " Strategy (old games)");
AddCategoryMapping(470, TorznabCatType.PCGames, " RPG (old games)");
AddCategoryMapping(471, TorznabCatType.PCGames, " Simulations (old games)");
AddCategoryMapping(1532, TorznabCatType.PCGames, " Autos and Racing (old games)");
AddCategoryMapping(1533, TorznabCatType.PCGames, " Space simulators, flight simulators and aviaigry (old games)");
AddCategoryMapping(1534, TorznabCatType.PCGames, " Sports simulators (old games)");
AddCategoryMapping(1535, TorznabCatType.PCGames, " Other simulators (Old Games)");
AddCategoryMapping(472, TorznabCatType.PCGames, " Multi-genre compilations (old games)");
AddCategoryMapping(1536, TorznabCatType.PCGames, " Erotic games (old games)");
AddCategoryMapping(1537, TorznabCatType.PCGames, " For the little ones (Old Games)");
AddCategoryMapping(1538, TorznabCatType.PCGames, " Puzzle Games (Old Games)");
AddCategoryMapping(1539, TorznabCatType.PCGames, " IBM PC are not compatible (old games)");
AddCategoryMapping(473, TorznabCatType.PCGames, " Erotic games");
AddCategoryMapping(745, TorznabCatType.PCGames, " Chess");
AddCategoryMapping(924, TorznabCatType.PCGames, " game Collections");
AddCategoryMapping(970, TorznabCatType.PCGames, " Other for PC-games");
@@ -469,15 +444,12 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(622, TorznabCatType.ConsolePSP, " PS1 games for PSP");
AddCategoryMapping(143, TorznabCatType.ConsolePSP, " PSP | Programs | Other");
AddCategoryMapping(1548, TorznabCatType.ConsolePSP, " Software for PSP (Homebrew)");
AddCategoryMapping(455, TorznabCatType.ConsolePSVita, " PS Vita | Games");
AddCategoryMapping(130, TorznabCatType.ConsoleOther, " Nintendo");
AddCategoryMapping(144, TorznabCatType.ConsoleNDS, " NDS | Games");
AddCategoryMapping(145, TorznabCatType.ConsoleWii, " Wii | Games");
AddCategoryMapping(146, TorznabCatType.ConsoleWiiwareVC, " WiiWare | Games");
AddCategoryMapping(147, TorznabCatType.ConsoleOther, " GameCube | Games");
AddCategoryMapping(456, TorznabCatType.ConsoleOther, " Sega");
AddCategoryMapping(588, TorznabCatType.ConsoleOther, " Dreamcast");
AddCategoryMapping(457, TorznabCatType.ConsoleOther, " Games for older consoles");
AddCategoryMapping(589, TorznabCatType.ConsoleOther, " Games for the DVD player");
AddCategoryMapping(928, TorznabCatType.PCGames, " Games for Linux");
AddCategoryMapping(1868, TorznabCatType.PCGames, " Native games for Linux");
@@ -514,7 +486,6 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(282, TorznabCatType.PC0day, " Operating Systems (Linux, Unix)");
AddCategoryMapping(1574, TorznabCatType.PC0day, " Program (Linux, Unix)");
AddCategoryMapping(284, TorznabCatType.PC0day, " Other operating systems and software for them");
AddCategoryMapping(287, TorznabCatType.PC0day, " Archive (Linux OS, Unix etc)");
AddCategoryMapping(276, TorznabCatType.PCMac, " Apple OS");
AddCategoryMapping(277, TorznabCatType.PCMac, " Mac OS [for Macintosh]");
AddCategoryMapping(278, TorznabCatType.PCMac, " Mac OS [PC-Hackintosh]");
@@ -538,13 +509,11 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1811, TorznabCatType.PC0day, " Windows 10");
AddCategoryMapping(274, TorznabCatType.PC0day, " Windows Server");
AddCategoryMapping(927, TorznabCatType.PC0day, " Other (Operating Systems from Microsoft)");
AddCategoryMapping(275, TorznabCatType.PC0day, " Archive (OS from Microsoft)");
AddCategoryMapping(84, TorznabCatType.PC0day, " System programs");
AddCategoryMapping(86, TorznabCatType.PC0day, " Programs for configuring and optimizing OS");
AddCategoryMapping(87, TorznabCatType.PC0day, " Archivers and File Managers");
AddCategoryMapping(1630, TorznabCatType.PC0day, " Safety protection system and PC");
AddCategoryMapping(93, TorznabCatType.PC0day, " Software to protect your computer (antivirus software, firewalls)");
AddCategoryMapping(580, TorznabCatType.PC0day, " Keys and Activation");
AddCategoryMapping(94, TorznabCatType.PC0day, " Anti-spyware and anti-trojan");
AddCategoryMapping(95, TorznabCatType.PC0day, " Programs for the protection of information");
AddCategoryMapping(88, TorznabCatType.PC0day, " Backup");
@@ -585,29 +554,20 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(941, TorznabCatType.PC0day, " Libraries and projects for architects and interior designers");
AddCategoryMapping(942, TorznabCatType.PC0day, " Other reference systems");
AddCategoryMapping(107, TorznabCatType.PC0day, " Web Development and Programming");
AddCategoryMapping(293, TorznabCatType.PC0day, " Search / Offer");
AddCategoryMapping(943, TorznabCatType.PC0day, " WYSIWYG editors for web design");
AddCategoryMapping(496, TorznabCatType.PC0day, " Database Management Systems (DBMS)");
AddCategoryMapping(494, TorznabCatType.PC0day, " programming environments, compilers and software tools");
AddCategoryMapping(290, TorznabCatType.PC0day, " The components for the development of media");
AddCategoryMapping(495, TorznabCatType.PC0day, " Text editors Illuminated");
AddCategoryMapping(291, TorznabCatType.PC0day, " Scripting engines and websites, CMS and extensions to it");
AddCategoryMapping(944, TorznabCatType.PC0day, " Templates for websites and CMS");
AddCategoryMapping(292, TorznabCatType.PC0day, " Miscellaneous (Web Development and Programming)");
AddCategoryMapping(294, TorznabCatType.PC0day, " Archive (Web Development and Programming)");
AddCategoryMapping(108, TorznabCatType.PC0day, " Programs to work with multimedia and 3D");
AddCategoryMapping(487, TorznabCatType.PC0day, " Software kits");
AddCategoryMapping(488, TorznabCatType.PC0day, " Plug-ins for Adobe's programs");
AddCategoryMapping(491, TorznabCatType.PC0day, " 3D modeling, rendering and plugins for them");
AddCategoryMapping(489, TorznabCatType.PC0day, " Graphic editor");
AddCategoryMapping(303, TorznabCatType.PC0day, " Editors video");
AddCategoryMapping(305, TorznabCatType.PC0day, " Virtual Studios, sequencers and audio editor");
AddCategoryMapping(492, TorznabCatType.PC0day, " Animation");
AddCategoryMapping(490, TorznabCatType.PC0day, " Programs for typesetting, printing, and working with fonts");
AddCategoryMapping(304, TorznabCatType.PC0day, " Video, Audio Conversion");
AddCategoryMapping(493, TorznabCatType.PC0day, " Creating a BD / HD / DVD-Video");
AddCategoryMapping(306, TorznabCatType.PC0day, " Plug-ins for sound processing");
AddCategoryMapping(308, TorznabCatType.PC0day, " Archive (Programme for multimedia and 3D)");
AddCategoryMapping(595, TorznabCatType.PC0day, " Miscellaneous (Programme for multimedia and 3D)");
AddCategoryMapping(596, TorznabCatType.PC0day, " Miscellaneous (Programs for working with audio)");
AddCategoryMapping(597, TorznabCatType.PC0day, " Virtual instruments and synthesizers");
@@ -637,8 +597,6 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(955, TorznabCatType.PC0day, " Multitracks");
AddCategoryMapping(956, TorznabCatType.PC0day, " Materials for creating menus and DVD covers");
AddCategoryMapping(351, TorznabCatType.PC0day, " Styles, brushes, shapes and patterns for Adobe Photoshop");
AddCategoryMapping(356, TorznabCatType.PC0day, " Fonts");
AddCategoryMapping(358, TorznabCatType.PC0day, " Miscellaneous (Materials for Multimedia and Design)");
AddCategoryMapping(1632, TorznabCatType.PC0day, " Digital Juice");
AddCategoryMapping(1874, TorznabCatType.PC0day, " Projects");
AddCategoryMapping(1875, TorznabCatType.PC0day, " Children (projects)");
@@ -653,14 +611,8 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1884, TorznabCatType.PC0day, " Miscellaneous (projects)");
AddCategoryMapping(1898, TorznabCatType.PC0day, " Trailers (projects)");
AddCategoryMapping(295, TorznabCatType.PC0day, " Reference and legal system");
AddCategoryMapping(296, TorznabCatType.PC0day, " Consultant Plus");
AddCategoryMapping(584, TorznabCatType.PC0day, " Consultant Accountant");
AddCategoryMapping(755, TorznabCatType.PC0day, " Archive irrelevant hands");
AddCategoryMapping(297, TorznabCatType.PC0day, " code");
AddCategoryMapping(298, TorznabCatType.PC0day, " Guarantee");
AddCategoryMapping(299, TorznabCatType.PC0day, " other");
AddCategoryMapping(300, TorznabCatType.PC0day, " Archive (Reference and legal system)");
AddCategoryMapping(301, TorznabCatType.PC0day, " RG PCA - a hidden forum");
AddCategoryMapping(587, TorznabCatType.PC0day, " Collections of programs and WPI");
AddCategoryMapping(929, TorznabCatType.PC0day, " Test drives to adjust the audio / video equipment");
AddCategoryMapping(957, TorznabCatType.PC0day, " GIS, navigation systems and maps");
@@ -683,16 +635,11 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(544, TorznabCatType.AudioVideo, " Concert recording");
AddCategoryMapping(1781, TorznabCatType.AudioVideo, " Concerts (DVD)");
AddCategoryMapping(1782, TorznabCatType.AudioVideo, " Concerts (HD)");
AddCategoryMapping(1784, TorznabCatType.AudioVideo, " Opera, Ballet, Musicals");
AddCategoryMapping(1785, TorznabCatType.AudioVideo, " Music videos (transit)");
AddCategoryMapping(501, TorznabCatType.AudioLossless, " unsorted Lossless");
AddCategoryMapping(532, TorznabCatType.Audio, " Multi-channel HD Audio and Music");
AddCategoryMapping(533, TorznabCatType.Audio, " DVD-Audio, SACD, Audio-DVD");
AddCategoryMapping(1687, TorznabCatType.Audio, " DVD-Audio");
AddCategoryMapping(1688, TorznabCatType.Audio, " SACD-R");
AddCategoryMapping(534, TorznabCatType.Audio, " DTS");
AddCategoryMapping(535, TorznabCatType.Audio, " Vinyl-Rip and Hand-Made");
AddCategoryMapping(536, TorznabCatType.Audio, " Hi-Res stereo");
AddCategoryMapping(529, TorznabCatType.Audio, " discography");
AddCategoryMapping(530, TorznabCatType.Audio, " Domestic");
AddCategoryMapping(531, TorznabCatType.Audio, " foreign");
@@ -754,7 +701,6 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1735, TorznabCatType.Audio, " Rap, Hip-hop domestic (transit Lossy)");
AddCategoryMapping(1736, TorznabCatType.Audio, " RnB, Reggae (transit Lossless)");
AddCategoryMapping(1737, TorznabCatType.Audio, " RnB, Reggae (transit Lossy)");
AddCategoryMapping(1819, TorznabCatType.Audio, " Rap, Hip-hop, RnB (transit Lossless)");
AddCategoryMapping(1738, TorznabCatType.Audio, " East Asian Music (transit)");
AddCategoryMapping(1739, TorznabCatType.Audio, " Asian Traditional, Ethnic (transit Lossless)");
AddCategoryMapping(1740, TorznabCatType.Audio, " Asian Traditional, Ethnic (transit Lossy)");
@@ -797,14 +743,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1798, TorznabCatType.Audio, " Author and war songs (transit Lossless)");
AddCategoryMapping(1799, TorznabCatType.Audio, " Author and war songs (transit Lossy)");
AddCategoryMapping(1772, TorznabCatType.Audio, " Unofficial collections (transit)");
AddCategoryMapping(1773, TorznabCatType.Audio, " Jazz, Blues, Soul (transit collections)");
AddCategoryMapping(1774, TorznabCatType.Audio, " Chanson, Author and war songs (collections transit)");
AddCategoryMapping(1775, TorznabCatType.Audio, " Rock, Alternative, Punk, Metal (collections of transit)");
AddCategoryMapping(1776, TorznabCatType.Audio, " Pop (transit collections)");
AddCategoryMapping(1777, TorznabCatType.Audio, " Electronic (transit collections)");
AddCategoryMapping(1778, TorznabCatType.Audio, " Rap, Hip-hop, RnB, Reggae (transit collections)");
AddCategoryMapping(1779, TorznabCatType.Audio, " Instrumental / New Age / Meditative / Relax (transit collections)");
AddCategoryMapping(1780, TorznabCatType.Audio, " Other (transit collections)");
AddCategoryMapping(1816, TorznabCatType.Audio, " Chanson, Author and war songs (transit)");
AddCategoryMapping(1677, TorznabCatType.Audio, " Chanson, Author and war songs (transit lossless)");
AddCategoryMapping(1678, TorznabCatType.Audio, " Chanson, Author and war songs (transit lossy)");
@@ -1192,9 +1131,9 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1606, TorznabCatType.Audio, " Music Lossy (AAC) (Singles, EPs)");
AddCategoryMapping(113, TorznabCatType.Books, "Books, Audio Books, Journals");
AddCategoryMapping(561, TorznabCatType.Books, " Books, Audio Books, Journals (General Discussion)");
AddCategoryMapping(316, TorznabCatType.Books, " Archive (Books, Audio Books, Journals)");
AddCategoryMapping(1620, TorznabCatType.Books, " Meditation");
AddCategoryMapping(1802, TorznabCatType.Books, " Historiography");
AddCategoryMapping(1900, TorznabCatType.Books, " Classic, modern prose and poetry");
AddCategoryMapping(116, TorznabCatType.AudioAudiobook, " Audiobooks");
AddCategoryMapping(1231, TorznabCatType.AudioAudiobook, " Audio, history, memoirs (Audiobooks)");
AddCategoryMapping(119, TorznabCatType.AudioAudiobook, " Audio and literary readings (Audiobooks)");
@@ -1203,6 +1142,8 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(321, TorznabCatType.AudioAudiobook, " Science fiction, fantasy, mystery, horror, fanfiction (Audiobooks)");
AddCategoryMapping(1234, TorznabCatType.AudioAudiobook, " Russian fiction, fantasy, mystery, horror, fanfiction (audiobook)");
AddCategoryMapping(1235, TorznabCatType.AudioAudiobook, " Foreign fiction, fantasy, mystery, horror, fanfiction (audiobook)");
AddCategoryMapping(1904, TorznabCatType.AudioAudiobook, " Love-fiction novel (audiobooks)");
AddCategoryMapping(1905, TorznabCatType.AudioAudiobook, " Compilations / Miscellaneous Fantastic, Fantasy, Mystic, Horror, Fan-fiction (Audiobooks)");
AddCategoryMapping(317, TorznabCatType.AudioAudiobook, " Fiction (Audiobooks)");
AddCategoryMapping(1236, TorznabCatType.AudioAudiobook, " Poetry (audiobook)");
AddCategoryMapping(118, TorznabCatType.AudioAudiobook, " Foreign literature (audiobook)");
@@ -1218,7 +1159,6 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1242, TorznabCatType.AudioAudiobook, " Nontraditional religious philosophies (Audio)");
AddCategoryMapping(1243, TorznabCatType.AudioAudiobook, " Educational, scientific and popular literature (Audio)");
AddCategoryMapping(1244, TorznabCatType.AudioAudiobook, " Audiobooks in lossless-format");
AddCategoryMapping(323, TorznabCatType.AudioAudiobook, " Business (Audio)");
AddCategoryMapping(319, TorznabCatType.AudioAudiobook, " Historical literature (Audiobooks)");
AddCategoryMapping(1245, TorznabCatType.AudioAudiobook, " Miscellaneous (Audiobooks)");
AddCategoryMapping(1622, TorznabCatType.AudioAudiobook, " Meditation (Audio)");
@@ -1235,7 +1175,6 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(889, TorznabCatType.Books, " Celebrities and idols");
AddCategoryMapping(890, TorznabCatType.Books, " Miscellaneous");
AddCategoryMapping(982, TorznabCatType.Books, " Magazines and newspapers (general section)");
AddCategoryMapping(566, TorznabCatType.Books, " Men's magazines");
AddCategoryMapping(1204, TorznabCatType.Books, " For women (magazines and books)");
AddCategoryMapping(1793, TorznabCatType.Books, " Popular science magazines");
AddCategoryMapping(1794, TorznabCatType.Books, " Journals of Electrical and Electronics");
@@ -1617,23 +1556,22 @@ namespace Jackett.Common.Indexers
queryCollection.Add("t", "0");
queryCollection.Add("submit", "Search");
queryCollection.Add("sr", "topics");
//queryCollection.Add("sr", "posts");
//queryCollection.Add("ch", "99999");
// if the search string is empty use the getnew view
if (string.IsNullOrWhiteSpace(searchString))
{
queryCollection.Add("search_id", "newposts");
//queryCollection.Add("search_id", "newposts");
searchString = "test";
}
else // use the normal search
{
//else // use the normal search
//{
searchString = searchString.Replace("-", " ");
queryCollection.Add("terms", "all");
queryCollection.Add("keywords", searchString);
queryCollection.Add("author", "");
queryCollection.Add("sc", "1");
queryCollection.Add("sf", "titleonly");
}
//}
var searchUrl = SearchUrl + "?" + queryCollection.GetQueryString();
results = await RequestStringWithCookies(searchUrl);

View File

@@ -198,18 +198,21 @@ namespace Jackett.Common.Indexers
var catStr = qCatLink.GetAttribute("href").Split('=')[1];
release.Title = FixAbsoluteNumbering(release.Title);
var quality = qQuality.TextContent;
switch (quality)
if (qQuality != null)
{
case "Full HD":
release.Title += " 1080p";
break;
case "HD":
release.Title += " 720p";
break;
default:
release.Title += " 480p";
break;
var quality = qQuality.TextContent;
switch (quality)
{
case "Full HD":
release.Title += " 1080p";
break;
case "HD":
release.Title += " 720p";
break;
default:
release.Title += " 480p";
break;
}
}
release.Category = MapTrackerCatToNewznab(catStr);

View File

@@ -18,7 +18,7 @@ namespace Jackett.Common.Indexers
{
public class BeyondHD : BaseWebIndexer
{
private string SearchUrl { get { return SiteLink + "browse.php?searchin=title&incldead=0&"; } }
private string SearchUrl { get { return SiteLink + "browse.php?searchin=descr&incldead=1&"; } }
private new ConfigurationDataLoginLink configData
{
@@ -43,6 +43,8 @@ namespace Jackett.Common.Indexers
configData.DisplayText.Value = "Go to the general tab of your BeyondHD user profile and create/copy the Login Link.";
TorznabCaps.SupportsImdbSearch = true;
AddCategoryMapping(37, TorznabCatType.MoviesBluRay, "Movie / Blu-ray");
AddCategoryMapping(71, TorznabCatType.Movies3D, "Movie / 3D");
AddCategoryMapping(83, TorznabCatType.Movies3D, "FraMeSToR 3D");
@@ -83,6 +85,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(55, TorznabCatType.AudioVideo, "Music / 1080p/i");
AddCategoryMapping(56, TorznabCatType.AudioVideo, "Music / 720p");
AddCategoryMapping(42, TorznabCatType.AudioVideo, "Music / Blu-ray");
AddCategoryMapping(41, TorznabCatType.AudioVideo, "Music / Movie OST");
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
@@ -101,12 +104,22 @@ namespace Jackett.Common.Indexers
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
List<ReleaseInfo> releases = new List<ReleaseInfo>();
Regex IMDBRegEx = new Regex(@"tt(\d+)", RegexOptions.Compiled);
var searchString = query.GetQueryString();
var searchUrl = SearchUrl;
var queryCollection = new NameValueCollection();
var searchStringIsImdbQuery = (ParseUtil.GetImdbID(searchString) != null);
if (!string.IsNullOrWhiteSpace(searchString))
if (query.IsImdbQuery)
{
queryCollection.Add("search", query.ImdbID);
}
else if (searchStringIsImdbQuery)
{
queryCollection.Add("search", searchString);
}
else if (!string.IsNullOrWhiteSpace(searchString))
{
Regex ReplaceRegex = new Regex("[^a-zA-Z0-9]+");
searchString = "%" + ReplaceRegex.Replace(searchString, "%") + "%";
@@ -139,13 +152,15 @@ namespace Jackett.Common.Indexers
release.Category = MapTrackerCatToNewznab(catStr);
var qLink = row.ChildElements.ElementAt(2).FirstChild.Cq();
release.Link = new Uri(SiteLink + "/" + qLink.Attr("href"));
release.Link = new Uri(SiteLink + qLink.Attr("href"));
var torrentId = qLink.Attr("href").Split('=').Last();
var descCol = row.ChildElements.ElementAt(3);
var qCommentLink = descCol.FirstChild.Cq();
release.Title = qCommentLink.Text();
release.Comments = new Uri(SiteLink + "/" + qCommentLink.Attr("href"));
if (!query.IsImdbQuery && !query.MatchQueryStringAND(release.Title))
continue;
release.Comments = new Uri(SiteLink + qCommentLink.Attr("href"));
release.Guid = release.Comments;
release.Link = new Uri($"{SiteLink}download.php?torrent={torrentId}");
@@ -164,7 +179,14 @@ namespace Jackett.Common.Indexers
var grabs = qRow.Find("td:nth-child(9) > a").Get(0).FirstChild.ToString();
release.Grabs = ParseUtil.CoerceInt(grabs);
release.DownloadVolumeFactor = 1;
var imdbLink = qRow.Find("a[href*=\"imdb.com/title/\"]").Attr("href");
if (imdbLink != null)
{
var IMDBMatch = IMDBRegEx.Match(imdbLink);
release.Imdb = ParseUtil.CoerceLong(IMDBMatch.Groups[1].Value);
}
release.DownloadVolumeFactor = 0;
release.UploadVolumeFactor = 1;
releases.Add(release);

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