Compare commits

...

304 Commits

Author SHA1 Message Date
Garfield69
a6fd4c3da1 cpasbeinclone: update for recent html changes 2019-04-04 09:44:21 +13:00
Garfield69
1b3365d8ad spacetorrent: drop redundant French date replacements 2019-04-04 09:17:45 +13:00
Garfield69
a822b3c4f4 tigers-dl: support multi languages for dates
and date selector
and fix grabs when ---
2019-04-04 08:59:26 +13:00
Garfield69
ff663cc202 arenabg: download link for .torrent has changed. #5013 2019-04-03 08:12:03 +13:00
kaso17
4c3dbb4746 TCCF: remove inv flag 2019-04-02 16:55:39 +02:00
kaso17
a4ba0d21d9 HTTPClients: avoid Exception User-Unhandled notices 2019-04-02 15:39:14 +02:00
Garfield69
859da99442 yggtorrent: optionally disable sonarrv3hack. resolves #4987 2019-04-02 11:21:49 +13:00
Garfield69
1cbeb74c8e sharewood: correct results sort. resolves #5006 2019-04-02 08:05:40 +13:00
Garfield69
4ae705eb15 elitetorrentbiz: new domain .io resolves #5008 2019-04-02 07:18:46 +13:00
flightlevel
b469c2e764 Fix proxy javascript error 2019-04-01 19:40:35 +11:00
flightlevel
2712ff432b Revert "Revert "Revert "Revert "Add proxy warning to dashboard""""
This reverts commit 5d21a69b07.
2019-04-01 19:24:49 +11:00
Garfield69
9da64d5bbf amigosshare: search page changes. resolves #5004
Also the logout link has gone!!!
2019-04-01 17:32:49 +13:00
Garfield69
5d21a69b07 Revert "Revert "Revert "Add proxy warning to dashboard"""
This reverts commit a083090b5e.
2019-04-01 17:30:53 +13:00
Garfield69
a083090b5e Revert "Revert "Add proxy warning to dashboard""
This reverts commit 27ae1b3e82.
2019-04-01 15:45:32 +13:00
Garfield69
27ae1b3e82 Revert "Add proxy warning to dashboard"
This reverts commit b3d2ad94a7.
2019-04-01 12:49:07 +13:00
Garfield69
f0245900e4 Revert "custom.js: prevent null.trim error resolves #5000"
This reverts commit a61991fcdb.
2019-04-01 12:49:03 +13:00
Garfield69
4ea6ce6cc2 gktorrent: they are back onto .net domain 2019-04-01 10:59:00 +13:00
Garfield69
f905e44b09 racingforeveryone: updates for unit3d 1.9.2 2019-04-01 10:44:14 +13:00
Jorman
fa1ee57072 ilcorsaronero: update multi-page searching (#5001) 2019-04-01 09:50:34 +13:00
Jorman
da56368720 monova: date and size selector updates plus up to 5 page fetch (#5002)
Sometimes I got some error from monova, like date, size
So I update these field and I added the search and rss sync up to page 5
2019-04-01 09:06:00 +13:00
Garfield69
a61991fcdb custom.js: prevent null.trim error resolves #5000 2019-04-01 08:35:22 +13:00
WSHaRK993
8051e87d2a README: Jackett binary is now named jackett instead of JackettConsole (Linux/macOS) (#4995)
plus other cosmetic amendments
2019-04-01 08:29:31 +13:00
WSHaRK993
a0eb39f87b hdforever: Freeleech tag fix & token option (#4994) resolves #4979 2019-04-01 07:32:40 +13:00
flightlevel
b3d2ad94a7 Add proxy warning to dashboard 2019-03-31 11:50:32 +11:00
Garfield69
a6154898ed amigosshare: add info about torrent list. #4988 2019-03-30 16:34:37 +13:00
Garfield69
9b39e1c3c2 scenetime: add freeleech filter. resolves #4983 2019-03-29 16:32:35 +13:00
Garfield69
656702cde7 blutopia: changes for unit3d 1.9.2 2019-03-29 14:43:07 +13:00
Garfield69
34114c23fc channelx: updates for unit3d 1.9.2 #4924 2019-03-29 08:48:38 +13:00
Garfield69
31c629c862 Update no_information_provided.md 2019-03-29 07:25:01 +13:00
flightlevel
be34f78be0 Remove Mono from macOS instructions 2019-03-28 20:25:33 +11:00
flightlevel
219d9548a1 macOS no longer requires Mono 2019-03-28 20:23:45 +11:00
morpheus133
88a24cad1e bithumen: PublishDate to torrents from current year was handled wrongly. (#4978) 2019-03-28 09:10:52 +13:00
Garfield69
a86e1e82f2 avg: add language support for Russian and Ukranian. #4969 2019-03-28 08:54:34 +13:00
Garfield69
747394fce7 add peers.fm a private Russian tracker. Resolves #4969 2019-03-27 13:22:42 +13:00
Garfield69
09229dcf29 add avg a private Russian Games site. #4969 2019-03-27 10:41:51 +13:00
Garfield69
5afc1a1c9a torrentsectorcrew: add info about classic layout 2019-03-26 19:27:09 +13:00
Garfield69
505948b69a add tigers-dl a French Private tracker. #4961
yet to find volumefactors
2019-03-26 16:05:58 +13:00
kaso17
68e72e41cf Psytorrents: update certificate 2019-03-25 17:14:45 +01:00
kaso17
573ba5b41f BJShare: ad re-login 2019-03-25 17:14:34 +01:00
kaso17
dfd1ec375b Torrent Sector Crew: fix indexer 2019-03-25 16:56:06 +01:00
kaso17
3fa0b76b59 remove BTF invite flag 2019-03-25 15:30:21 +01:00
kaso17
c830a59d58 ImmortalSeed: fix indexer 2019-03-25 15:27:25 +01:00
kaso17
d05767fd3b Bittorrentfiles: fix links 2019-03-25 15:07:12 +01:00
flightlevel
08ab66a447 Package update 2019-03-25 19:27:28 +11:00
flightlevel
6ee45ec0b2 Updater: Don't remove jackett.dll
#4948
2019-03-25 19:22:08 +11:00
Garfield69
6d23341f06 immortalseed: try https switch for #4956
also add missing categories
2019-03-25 18:13:14 +13:00
Garfield69
58f9078d70 bittorrentfiles: fix #4952
update categories
implement imdbid searching
update/correct selectors
add missing volumefactor
fix date processing
2019-03-25 16:15:53 +13:00
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
Garfield69
b2ff7b7091 add bitturk a Turkish Private site. resolves #1415
note: only supports the Classic theme and the English language.
Using the Modern theme will prevent results, and Turkish will prevent upload dates.
2019-02-20 20:30:05 +13:00
Garfield69
f73b55215c newpct: add comments to torznab results. resolves #4730 2019-02-20 12:06:53 +13:00
Garfield69
806eabde31 add torrentProject2 a clone of the original, but without categories. 2019-02-20 09:36:12 +13:00
Garfield69
9538adcc30 yggtorrent: fix category selector. resolves #4725 2019-02-20 06:47:25 +13:00
addisonbabcock
aef7b34ec3 Fixed typo, loose vs lose. (#4728) 2019-02-20 06:40:36 +13:00
Garfield69
13e1548d54 THC: enable imdbid searching for #3866 2019-02-19 20:01:08 +13:00
Garfield69
0c667322d9 Fixed date when language is set to english caused by turkish translation support code 2019-02-19 15:32:23 +13:00
xfouloux
fa9abf2fed Update yggtorrent.yml catid and add sonarr v3 support (#4721)
tidy up things for sonarrv3 season search to work ok !
also changed the catid selector as it is now in #hidden div
2019-02-19 15:28:07 +13:00
lavamuffin
5cd5b5277f Fixed published date on hd4free when language is set to english (#4719)
without the whitespaces days is replaced with dmonths because the turkish word for month is ay
2019-02-19 15:26:46 +13:00
Garfield69
3e97da4c1a hdchina: swith to cookie login method for #4715 2019-02-18 08:02:16 +13:00
Garfield69
610821a435 amigosshare: fix login and switch from http to https. resolves #4714 and #4697 2019-02-17 15:41:29 +13:00
methonan
5968285a39 Alternate search category for movies in yggtorrent (#4704)
* [FIX] Alternate search category for movies in yggtorrent

* Add alternate category/subcategory format
2019-02-17 08:40:21 +13:00
Garfield69
ba6453a78f torrentbd: correct login for #1709 2019-02-16 21:15:42 +13:00
Garfield69
8a463886dd mteamtp: incldead: "1" 2019-02-16 20:29:34 +13:00
Garfield69
a879c8af10 yts: replace hardcoded BRRip with type on titles. resolves #4577 #3558 #2200 2019-02-16 16:28:57 +13:00
buckmelanoma
f65cc2f273 Indexer for Torrents.csv initial commit (#4696)
* Initial commit

* Added Torrents.csv to README

* Update Torrentscsv.cs

with legacylink set to same value as sitelink, the sitelink is replaced with itself every time the indexer is activated
fetch Grabs from completed
default Category to torznab cat Other
2019-02-16 14:19:05 +13:00
Garfield69
4796da7a89 elitetorrentbiz: attempt to fecth 90 results instead of just 30
also handle entries with missing size
2019-02-16 09:53:23 +13:00
Garfield69
30032a6f63 btbit: fetch 105 results instead of just 15
also exclude spurious results to prevent log errors.
2019-02-16 09:11:28 +13:00
Garfield69
67bc9b69cf add DivTeam a SPANISH Private Tracker. resolves #4671 2019-02-15 09:10:44 +13:00
Garfield69
6447bffacc hdcity: add info about only Spanish IP addressed allowed. #4102 2019-02-14 16:54:30 +13:00
Scott Cooper
293e2efbf7 ygg remove extra quote character (#4679) 2019-02-14 12:57:01 +13:00
Román Martín
dfaa7f1a69 Added regexp for searching complete seasons in PyMedusa (#4678) 2019-02-14 11:37:28 +13:00
xfouloux
001ee19752 Update yggtorrent.yml (#4677)
revert back to two urls because of cloudflare...
2019-02-14 11:34:44 +13:00
Garfield69
5be247a1e6 add DocumentaryTorrents a Private Tracker. resolves #4670 2019-02-14 08:30:17 +13:00
Ricardo
2707312d2b hachede: add tv and movie search modes (#4668) 2019-02-14 06:48:09 +13:00
Ricardo
7da5a9ea39 Added Vizuk private spanish tracker (#4667)
* Add Vizuk

* Adds Vizuk private tracker

* Update vizuk.yml

add tv and movie search modes
2019-02-14 06:34:40 +13:00
Garfield69
1123c707c5 crnaberza: amend description. 2019-02-14 05:40:15 +13:00
Garfield69
35ac794927 unionfansub: cosmetic format alingment. 2019-02-14 05:37:46 +13:00
Garfield69
a9fe567299 puntotorrent: fix size selector. resolves #4663
also add UHD categories and amend a few others.
2019-02-14 05:36:29 +13:00
Garfield69
e5d2994174 add CrnaBerza a SERBIAN Private Tracker. resolves #4644 2019-02-13 22:59:26 +13:00
Garfield69
bc605a8146 cpabien: new domain
cpabien.link points to a broken server
but according to opentrackers.org the alternate link www.cpabien.cx redirect to www.cpasbiens.cz
its possible this domain was taken over by a competitor as the row and download links are different, but the search results are different from cpabienclone so meh.
2019-02-13 16:42:32 +13:00
Garfield69
276801cc3b turktorrent: new domain turktorrent.us 2019-02-13 16:01:18 +13:00
Garfield69
463dda9f80 ilcorsaronero: new domain .vip 2019-02-13 08:37:16 +13:00
Garfield69
38aa3eaa93 yml: standardise use of pre and post slashes on links 2019-02-13 08:18:17 +13:00
lavamuffin
515575f311 add hdarea a Chinese Private tracker. resolves #4145 (#4654)
* add hdarea.co

* Update README.md

* hdarea: add movie search mode
2019-02-13 06:55:53 +13:00
Garfield69
79bd7bae67 acgrip: add volumefactors 2019-02-13 06:52:21 +13:00
Garfield69
3c75f7afc0 acgrip: fix site name which did not match yml filename. 2019-02-13 06:47:52 +13:00
Wu Haotian
3c2bff5833 add acg.rip a Chinese Public torrent tracker for the latest anime and Japanese related torrents (#4653)
* add acg.rip

* acg.rip drop debugging and add search mode.

* acgrip: amend description
2019-02-13 06:41:36 +13:00
Garfield69
d1c943d44a delete bitsoup 2019-02-13 04:47:39 +13:00
251 changed files with 7832 additions and 2523 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

@@ -5,5 +5,5 @@ You've created an issue, but haven't provided any details to allow the community
Provide a description of the feature request or bug, the more details the better.
If you are experiencing an issue with a tracker, 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**:

124
README.md
View File

@@ -16,17 +16,20 @@ 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/).
* Windows 7SP1 or greater using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461)
* Linux ([supported operating systems here](https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md))
* macOS 10.12 or greater
### Supported Public Trackers
* 1337x
* ACG.RIP
* Anidex
* Anime Tosho
* AniRena
* AudioBook Bay (ABB)
* BTstor.net
* btbit
* BTDB
* BTDigg
* BTKitty
* cpasbien
* cpasbienClone
@@ -38,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
@@ -60,21 +64,22 @@ 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)
* TorrentKitty
* TorrentProject2
* Torrents.csv
* Torrent9
* Torernt9 clone (torrents9.ch)
* Torrentz2
* Torrof (Torrentoff)
* World Wide Torrents
* YTS.ag
* Zooqle
@@ -100,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
@@ -111,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)
@@ -122,13 +128,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Anthelion
* AOX (Chippu)
* Araba Fenice (Phoenix)
* ArcheTorrent
* AsianCinema
* AsianDVDClub
* AST4u
* Audiobook Torrents (ABT)
* AudioNews (AN)
* Awesome-HD (AHD)
* AVG (Audio Video Games)
* Avistaz (AsiaTorrents)
* B2S-Share
* Back-ups
@@ -139,14 +145,15 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* BigTower
* Bit-City Reloaded
* BIT-HDTV
* BiT-TiTAN
* Bithorlo (BHO)
* BitHUmen
* BitMe
* BitMeTV
* BitSoup [![(invite needed)][inviteneeded]](#)
* BitsPiracy
* Bitspyder
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
* BitTorrentFiles
* BitTurk
* BJ-Share (BJ)
* BlueBird
* Blutopia (BLU)
@@ -155,22 +162,31 @@ 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)
* Downloadville
* Dragonworld Reloaded
* Dream Team
@@ -185,6 +201,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)
@@ -207,12 +224,14 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* HD-Spain
* HD-Torrents (HDT)
* HD-Bits.com
* HDArea (HDA)
* HDBits
* HDCenter
* HDChina (HDWing)
* HDCity
* HDHome (HDBigger)
* HDME
* HDplus
* HDSky
* HDTorrents.it
* Hebits
@@ -250,11 +269,14 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* notwhat.cd
* Orpheus
* Ourbits (HDPter)
* P2PBG
* Passione Torrent <!-- maintained by bonny1992 -->
* PassThePopcorn (PTP)
* Peers.FM
* PiratBit
* PirateTheNet (PTN)
* PiXELHD (PxHD)
* Pleasuredome
* PolishSource (PS)
* PolishTracker
* Pretome
@@ -263,12 +285,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
@@ -283,6 +306,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Secret Cinema
* Shareisland
* ShareSpaceDB
* Sharingue
* Shazbat
* Shellife (SL)
* SpaceTorrent
@@ -306,12 +330,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* The Show
* The-Torrents
* The Vault
* Tigers-dl
* Torrent Network (TN)
* Torrent Sector Crew (TSC)
* Torrent.LT
* TorrentBD
* TorrentBytes (TBy)
* TorrentCCF (TCCF) [![(invite needed)][inviteneeded]](#)
* TorrentCCF (TCCF)
* TorrentDay (TD)
* Torrentech (TTH)
* TorrentHeaven
@@ -323,21 +348,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)
@@ -353,7 +383,7 @@ It will query all configured indexers and return the combined results.
If your client supports multiple feeds it's recommended to add each indexer directly instead of using the all indexer.
Using the all indexer has no advantages (besides reduced management overhead), only disadvantages:
* you loose control over indexer specific settings (categories, search modes, etc.)
* you lose control over indexer specific settings (categories, search modes, etc.)
* mixing search modes (IMDB, query, etc.) might cause low quality results
* indexer specific categories (>= 100000) can't be used.
* slow indexers will slow down the overall result
@@ -361,8 +391,8 @@ Using the all indexer has no advantages (besides reduced management overhead), o
To get all Jackett indexers including their capabilities you can use `t=indexers` on the all indexer. To get only configured/unconfigured indexers you can also add `configured=true/false` as query parameter.
## Installation on Windows
## Installation on Windows
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
To get started with using the installer for Jackett, follow the steps below:
@@ -378,7 +408,34 @@ 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)
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
### Install as service
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`.
### Run without installing as a service
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`
### home directory
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)
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
### Install as service
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`.
### Run without installing as a service
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`
### home directory
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.
@@ -387,20 +444,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
@@ -408,14 +457,14 @@ On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/
On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chrisjohnson00/jackett)
## Installation on macOS
### Prerequisites
Install [Mono 5.8](http://www.mono-project.com/download/#download-mac) or better (using the latest pkg installer is recommended).
* Setup ssl support by running `curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin`
macOS 10.12 or greater
### 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).
1. Download and extract the latest `Jackett.Binaries.macOS.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`.
3. If the installation was a success, you can close the Terminal window.
@@ -423,14 +472,17 @@ The service will start on each logon. You can always stop it by running `launchc
Logs are stored as usual under `~/.config/Jackett/log.txt`.
### Run without installing as a service
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`.
Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`.
## Installation using Docker
Detailed instructions are available at [LinuxServer.io Jackett Docker](https://hub.docker.com/r/linuxserver/jackett/). The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system eg. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
## Installation on Synology
Jackett is available as beta package from [SynoCommunity](https://synocommunity.com/)
## Running Jackett behind a reverse proxy
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base Path Override" Jackett option accordingly.
@@ -476,7 +528,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
@@ -503,6 +555,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
@@ -521,7 +575,7 @@ cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r osx-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/netcoreapp2.2/osx-x64/JackettConsole # run jackett
./Jackett.Server/bin/Debug/netcoreapp2.2/osx-x64/jackett # run jackett
```
### Linux
@@ -534,14 +588,8 @@ cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r linux-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/netcoreapp2.2/linux-x64/JackettConsole # run jackett
./Jackett.Server/bin/Debug/netcoreapp2.2/linux-x64/jackett # run jackett
```
<!--
# mono version (currently broken)
nuget restore Jackett.sln # prepare dependencies
msbuild Jackett.Server/Jackett.Server.csproj /t:Build /p:Configuration=Debug # compile
mono Jackett.Server/bin/Debug/JackettServer.exe # run jackett
-->
## Screenshots

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

@@ -270,6 +270,11 @@ table td.fit{
text-align: right;
margin-right: 1em;
}
input#searchquery{
input#searchquery {
width:400px;
}
#proxy-warning {
color: red;
}

View File

@@ -100,6 +100,7 @@ function loadJackettSettings() {
})
reloadIndexers();
proxyWarning(data.proxy_url);
});
}
@@ -1221,4 +1222,18 @@ function bindUIButtons() {
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");
});
});
$('#jackett-proxy-url').on('input', function () {
proxyWarning($(this).val());
});
}
function proxyWarning(input) {
if (input != null && input.trim() !== "") {
$('#proxy-warning').show();
}
else
{
$('#proxy-warning').hide();
}
}

View File

@@ -281,6 +281,10 @@ div#jackett-releases-datatable_wrapper {
width: 100%;
overflow-x: scroll;
}
input#searchquery{
input#searchquery {
width:50%;
}
#proxy-warning {
color: red;
}

View File

@@ -34,8 +34,8 @@
<link rel="stylesheet" type="text/css" href="../bootstrap/bootstrap.min.css?changed=2017083001">
<link rel="stylesheet" type="text/css" href="../animate.css?changed=2017083001">
<link rel="stylesheet" type="text/css" href="../custom.css?changed=2017083001" media="only screen and (min-device-width: 480px)">
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=2017083001" media="only screen and (max-device-width: 480px)">
<link rel="stylesheet" type="text/css" href="../custom.css?changed=20190401" media="only screen and (min-device-width: 480px)">
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=20190401" media="only screen and (max-device-width: 480px)">
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.min.css?changed=2017083001">
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=2017083001" />
<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css?changed=2017083001">
@@ -87,8 +87,10 @@
<h4>Adding a Jackett indexer to RSS clients (RSS feed)</h4>
<ol>
<li>Click on the indexers corresponding <button type="button" class="btn btn-xs btn-info">Copy RSS Feed</button> button and paste it into the URL field of the RSS client.</li>
<li>You can adjust the <b>q</b> (search string) and <b>cat</b> (categories) arguments accordingly.
E.g. <b>...&cat=2030,2040&q=big+buck+bunny</b> will search for "big buck bunny" in the Movies/SD (2030) and Movies/HD (2040) categories (See the indexer configuration for available categories).</li>
<li>
You can adjust the <b>q</b> (search string) and <b>cat</b> (categories) arguments accordingly.
E.g. <b>...&cat=2030,2040&q=big+buck+bunny</b> will search for "big buck bunny" in the Movies/SD (2030) and Movies/HD (2040) categories (See the indexer configuration for available categories).
</li>
</ol>
</div>
<hr />
@@ -138,6 +140,12 @@
<option value="2">socks5</option>
</select>
</div>
<div id="proxy-warning" hidden>
<span>
WARNING: The proxy option is unstable and potentially leaks requests. If no fix from the community is forthcoming
in the next few months, the proxy option will be removed from Jackett. Recommendation is to use a VPN.
</span>
</div>
<div class="input-area">
<span class="input-header">Proxy url: </span>
<input id="jackett-proxy-url" class="form-control input-right" type="text" value="" placeholder="Blank to disable">
@@ -663,6 +671,6 @@
</script>
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
<script type="text/javascript" src="../custom.js?changed=20180711"></script>
<script type="text/javascript" src="../custom.js?changed=20190401"></script>
</body>
</html>

View File

@@ -6,7 +6,7 @@
type: public
encoding: UTF-8
links:
- https://1337x.to
- https://1337x.to/
caps:
categorymappings:
@@ -119,11 +119,11 @@
search:
paths:
# present trending results if there are no search parms supplied
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/1/{{else}}/trending{{end}}"
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/2/{{else}}{{end}}"
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/3/{{else}}{{end}}"
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/4/{{else}}{{end}}"
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/5/{{else}}{{end}}"
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/1/{{else}}trending{{end}}"
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/2/{{else}}{{end}}"
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/3/{{else}}{{end}}"
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/4/{{else}}{{end}}"
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/5/{{else}}{{end}}"
keywordsfilters:
- name: replace # use this as a workaround till #893 is implemented
args: ["Greys Anatomy", "Grey's Anatomy"]

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

@@ -6,88 +6,99 @@
type: private
encoding: UTF-8
links:
- https://bittorrentfiles.me/
legacylinks:
- https://www.Bittorrentfiles.me/
caps:
categorymappings:
# Movie
- {id: 48, cat: Movies/HD, desc: "1080p"}
- {id: 31, cat: Movies/3D, desc: "3D"}
- {id: 21, cat: Movies/HD, desc: "720p"}
- {id: 28, cat: Movies/SD, desc: "AVI"}
- {id: 20, cat: Movies/DVD, desc: "DVD-R"}
- {id: 40, cat: Movies/HD, desc: "h264/x264"}
- {id: 30, cat: Movies/HD, desc: "HD/BD"}
- {id: 49, cat: Movies/Foreign, desc: "International"}
- {id: 78, cat: Movies/HD, desc: "UHD"}
- {id: 48, cat: Movies/HD, desc: "Movie 1080p"}
- {id: 31, cat: Movies/3D, desc: "Movie 3D"}
- {id: 21, cat: Movies/HD, desc: "Movie 720p"}
- {id: 28, cat: Movies/SD, desc: "Movie AVI"}
- {id: 20, cat: Movies/DVD, desc: "Movie DVD-R"}
- {id: 40, cat: Movies/HD, desc: Movie "h264/x264"}
- {id: 30, cat: Movies/HD, desc: "Movie HD/BD"}
- {id: 49, cat: Movies/Foreign, desc: "Movie International"}
- {id: 78, cat: Movies/UHD, desc: "Movie UHD"}
- {id: 85, cat: Movies/HD, desc: "Movie x265"}
# Serien
- {id: 79, cat: TV/HD, desc: "Staffeln HD"}
- {id: 56, cat: TV/SD, desc: "Staffeln SD"}
- {id: 88, cat: TV/UHD, desc: "Staffeln UHD"}
- {id: 86, cat: TV/HD, desc: "Folgen UHD"}
- {id: 54, cat: TV/HD, desc: "Folgen HD"}
- {id: 80, cat: TV/HD, desc: "Folgen HD/BD"}
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
- {id: 55, cat: TV/Foreign, desc: "International"}
- {id: 55, cat: TV/Foreign, desc: "Folgen International"}
# Doku
- {id: 64, cat: TV/Documentary, desc: "HD"}
- {id: 36, cat: TV/Documentary, desc: "SD"}
- {id: 81, cat: TV/Documentary, desc: "3D"}
- {id: 82, cat: TV/Documentary, desc: "Packs"}
- {id: 91, cat: TV/Documentary, desc: "Doku UHD"}
- {id: 64, cat: TV/Documentary, desc: "Doku HD"}
- {id: 36, cat: TV/Documentary, desc: "Doku SD"}
- {id: 81, cat: TV/Documentary, desc: "Doku 3D"}
- {id: 82, cat: TV/Documentary, desc: "Doku Packs"}
# Spiele
- {id: 4, cat: PC/Games, desc: "Windows"}
- {id: 72, cat: Console/XBox360, desc: "XBOX 360"}
- {id: 44, cat: Console/XBoxOne, desc: "XBOX One"}
- {id: 43, cat: Console/Wii, desc: "Wii"}
- {id: 69, cat: Console, desc: "PS2"}
- {id: 70, cat: Console/PS3, desc: "PS3"}
- {id: 70, cat: Console/PS4, desc: "PS4"}
- {id: 70, cat: Console/PSP, desc: "PSP"}
- {id: 42, cat: Console/Other, desc: "Misc"}
- {id: 4, cat: PC/Games, desc: "Spiele Windows"}
- {id: 92, cat: PC/Mac, desc: "Spiele Mac"}
- {id: 93, cat: PC, desc: "Spiele Linux"}
- {id: 97, cat: Console/XBox, desc: "Spiele XBOX"}
- {id: 94, cat: PC/Phone-Other, desc: "Spiele Mobile"}
- {id: 95, cat: Console/NDS, desc: "Spiele Nintendo"}
- {id: 96, cat: Console/PSP, desc: "Spiele Playstation"}
- {id: 42, cat: Console/Other, desc: "Spiele Andere"}
# Musik
- {id: 66, cat: Audio, desc: "Alben"}
- {id: 75, cat: Audio, desc: "Singles"}
- {id: 50, cat: Audio, desc: "Charts"}
- {id: 52, cat: Audio, desc: "Packs"}
- {id: 53, cat: Audio/Video, desc: "Video"}
- {id: 61, cat: Audio/Video, desc: "DVD-R"}
- {id: 83, cat: Audio, desc: "Flac"}
- {id: 68, cat: Audio, desc: "Live"}
- {id: 6, cat: Audio, desc: "Misc"}
- {id: 51, cat: Audio, desc: "OST"}
- {id: 67, cat: Audio, desc: "Sampler"}
- {id: 66, cat: Audio, desc: "Musik Alben"}
- {id: 75, cat: Audio, desc: "Musik Singles"}
- {id: 50, cat: Audio, desc: "Musik Charts"}
- {id: 52, cat: Audio, desc: "Musik Packs"}
- {id: 53, cat: Audio/Video, desc: "Musik Video"}
- {id: 61, cat: Audio/Video, desc: "Musik DVD-R"}
- {id: 83, cat: Audio/Lossless, desc: "Musik Flac"}
- {id: 68, cat: Audio, desc: "Musik Live"}
- {id: 6, cat: Audio, desc: "Musik Misc"}
- {id: 51, cat: Audio, desc: "Musik OST"}
- {id: 67, cat: Audio, desc: "Musik Sampler"}
# App
- {id: 22, cat: PC/0day, desc: "Windows"}
- {id: 62, cat: PC/Mac, desc: "Mac OS"}
- {id: 63, cat: PC/0day, desc: "Linux"}
- {id: 34, cat: PC, desc: "Andere"}
- {id: 98, cat: PC/0day, desc: "App Windows"}
- {id: 62, cat: PC/Mac, desc: "App Mac OS"}
- {id: 63, cat: PC/0day, desc: "App Linux"}
- {id: 34, cat: PC, desc: "App Andere"}
# Sport
- {id: 74, cat: TV/Sport, desc: "HD"}
- {id: 39, cat: TV/Sport, desc: "SD"}
- {id: 74, cat: TV/Sport, desc: "Sport HD"}
- {id: 39, cat: TV/Sport, desc: "Sport SD"}
# Sonstiges
- {id: 41, cat: Books/Comics, desc: "A-Book"}
- {id: 33, cat: TV/Anime, desc: "Anime"}
- {id: 35, cat: Books, desc: "e-Book"}
- {id: 65, cat: Other, desc: "E-Learning"}
- {id: 65, cat: PC, desc: "Mobile"}
- {id: 9, cat: Other, desc: "Other"}
- {id: 41, cat: Books/Comics, desc: "Sonstiges A-Book"}
- {id: 33, cat: TV/Anime, desc: "Sonstiges Anime"}
- {id: 35, cat: Books/Ebook, desc: "Sonstiges e-Book-DE"}
- {id: 90, cat: Books/Ebook, desc: "Sonstiges e-Book-INT"}
- {id: 65, cat: Other, desc: "Sonstiges E-Learning"}
- {id: 37, cat: PC, desc: "Sonstiges Mobile"}
- {id: 87, cat: Books/Magazines, desc: "Sonstiges E-Paper"}
- {id: 38, cat: Other, desc: "Sonstiges Kids"}
- {id: 47, cat: Other, desc: "Sonstiges Line"}
- {id: 9, cat: Other, desc: "Sonstiges Andere"}
#XXX
- {id: 58, cat: Books/Comics, desc: "HD"}
- {id: 33, cat: XXX, desc: "Hentai"}
- {id: 35, cat: XXX/Other, desc: "Other"}
- {id: 65, cat: XXX/Packs, desc: "Pack"}
- {id: 65, cat: XXX, desc: "SD"}
- {id: 58, cat: Books/Comics, desc: "XXX HD"}
- {id: 46, cat: XXX, desc: "XXX Hentai"}
- {id: 35, cat: XXX/Other, desc: "XXX Andere"}
- {id: 59, cat: XXX/Packs, desc: "XXX Pack"}
- {id: 27, cat: XXX, desc: "XXX SD"}
- {id: 76, cat: XXX, desc: "XXX Andere"}
modes:
search: [q]
tv-search: [q, season, ep]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
settings:
- name: user
@@ -113,8 +124,11 @@
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
# 0=title 1=descr 2=nfo 3=all
search_where: "{{if .Query.IMDBID}}3{{else}}0{{end}}"
# 0=active 1=all 2=dead 4=upload 5=doubleup 6=halfdown 7=highlight =request
status: 1
rows:
selector: table.tableinborder > tbody > tr:has(a[href^="details.php"])
@@ -134,10 +148,16 @@
download:
selector: a[href^="/download.php"]
attribute: href
files:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(4)
text: 0
grabs:
selector: a[title="Snatcher"]
optional: true
files:
text: 0
files:
selector: a[title="Files"]
optional: true
size:
selector: td:nth-child(6)
filters:
@@ -146,24 +166,42 @@
- name: replace
args: [",", "."]
seeders:
selector: td:nth-child(2) > a
text: 0
seeders:
selector: a[title="Seeder"]
optional: true
leechers:
selector: td:nth-child(3)
text: 0
leechers:
selector: a[title="Leecher"]
optional: true
# 2 flavours of dates
date:
selector: td:nth-child(10)
# Heute 13:30:04
# Gestern 09:10:10
selector: td:nth-child(10):contains("Heute"), td:nth-child(10):contains("Gestern")
optional: true
filters:
- name: split
args: ["by", 0]
args: ["b", 0]
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
date:
# 30.02.2018 23:12:50
selector: td:nth-child(10):contains("."):contains(":")
optional: true
filters:
- name: split
args: ["b", 0]
- name: dateparse
args: "02.01.2006 15:04:05"
downloadvolumefactor:
case:
img[alt="OU"]: "0"
img[alt="D/2"]: "0.5"
img[alt="D / 2"]: "0.5"
"*": "1"
uploadvolumefactor:
case:

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,55 @@
---
site: acgrip
name: ACG.RIP
description: "ACG.RIP is a CHINESE Public torrent tracker for the latest anime and Japanese related torrents"
language: zh-cn
type: public
followredirect: true
encoding: UTF-8
links:
- https://acg.rip/
caps:
categories:
1: TV
modes:
tv-search: [q, season, ep]
search: [q]
settings: []
search:
paths:
- path: /
inputs:
term: "{{ .Query.Keywords }}"
rows:
selector: tbody tr
fields:
title:
selector: td.title > span.title a
category:
text: 1
details:
selector: td.title > span.title a
attribute: href
download:
selector: td.action a
attribute: href
size:
selector: td.size
seeders:
selector: td.peers div.seed
leechers:
selector: td.peers div.leech
grabs:
selector: td.peers div.done
date:
selector: td.date time
attribute: datetime
filters:
- name: fuzzytime
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "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

@@ -6,10 +6,26 @@
type: private
encoding: UTF-8
links:
- https://amigos-share.club/
legacylinks:
- http://amigos-share.club/
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: info_results
type: info
label: "Search results"
default: "Set <b>Exibição De Torrents</b> to <b>Lista</b> in your <b>Minhas Configurações</b>.<br />Using <b>Capas</b> is not supported and will return 0 results."
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"}
@@ -57,6 +73,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"}
@@ -116,8 +134,7 @@
login:
path: account-login.php
method: form
form: form.form-signin
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
@@ -126,7 +143,7 @@
- selector: div.alert-error
test:
path: index.php
selector: a[href="account-logout.php"]
# selector: a[href="account-logout.php"]
ratio:
path: index.php
@@ -152,13 +169,13 @@
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 0
incldead: 1
freeleech: 0
lang: 0
sort: "id"
order: "desc"
rows:
selector: table.table-striped > tbody > tr:has(a[href^="torrents-details.php?id="])
selector: table > tbody > tr:has(a[href^="torrents-details.php?id="])
fields:
title:
selector: a[href^="torrents-details.php?id="]
@@ -276,14 +293,14 @@
date:
text: now
size:
selector: td:nth-child(2) span.label-info
selector: td:nth-child(2) span.badge-info
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
case:
"span.label-success i:contains(\"FREE\")": "0"
"span.badge-success:contains(\"FREE\")": "0"
"*": "1"
uploadvolumefactor:
case:

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

@@ -35,7 +35,7 @@
search:
paths:
- path: "/{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
rows:
selector: table tbody tr:has(td.torrents_small_type_data1)
fields:

View File

@@ -90,7 +90,7 @@
download:
before:
path: "thanks.php"
path: thanks.php
method: "post"
inputs:
infohash: "{{ .DownloadUri.Query.id }}"

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:?xt="
options:
"/get/key:" : ".torrent"
"magnet:?xt=": "magnet"
login:
path: /
method: form
@@ -85,11 +100,11 @@
selector: a[href="/users/logout/"]
download:
selector: a[href^="magnet:?"]
selector: a[href*="{{ .Config.downloadlink }}"]
search:
paths:
- path: /torrents/
- path: torrents/
method: post
followredirect: true
inputs:
@@ -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

@@ -20,7 +20,7 @@
movie-search: [q, imdbid]
login:
path: /login
path: login
method: form
inputs:
username: "{{ .Config.username }}"
@@ -28,11 +28,11 @@
error:
- selector: form[action*="/login"] .text-red
test:
path: /torrents
path: torrents
search:
paths:
- path: /filterTorrents
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
@@ -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:
@@ -95,9 +95,9 @@
- 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"]
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"]
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
@@ -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

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://abtorrents.me
- https://abtorrents.me/
caps:
categorymappings:
@@ -43,8 +43,6 @@
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: takelogin.php
@@ -59,11 +57,11 @@
- selector: td.embedded:has(h2:contains("Oops"))
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

View File

@@ -0,0 +1,338 @@
---
site: avg
name: AVG
description: "Audio Video Games (BestRepack) is a RUSSIAN Private Torrent Tracker for GAMES"
language: ru-ru
type: private
encoding: UTF-8
links:
- https://avg.club/
caps:
categorymappings:
- {id: 110, cat: PC/Games, desc: "Репаки от R.G. Catalyst"}
- {id: 146, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Горячие новинки"}
- {id: 112, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Action"}
- {id: 113, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Fighting"}
- {id: 114, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst RPG"}
- {id: 118, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Аркады"}
- {id: 120, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Квесты и приключения"}
- {id: 122, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Стратегии"}
- {id: 124, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Симуляторы"}
- {id: 126, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Гонки"}
- {id: 147, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Горячие новинки"}
- {id: 115, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Action"}
- {id: 116, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Fighting"}
- {id: 117, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst RPG"}
- {id: 119, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Аркады"}
- {id: 121, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Квесты и приключения"}
- {id: 123, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Стратегии"}
- {id: 125, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Симуляторы"}
- {id: 127, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Гонки"}
- {id: 9, cat: PC/Games, desc: "Игры PC (Репаки) Горячие новинки"}
- {id: 2, cat: PC/Games, desc: "Игры PC (Репаки) Action"}
- {id: 8, cat: PC/Games, desc: "Игры PC (Репаки) Fighting"}
- {id: 3, cat: PC/Games, desc: "Игры PC (Репаки) RPG"}
- {id: 7, cat: PC/Games, desc: "Игры PC (Репаки) Аркады"}
- {id: 6, cat: PC/Games, desc: "Игры PC (Репаки) Квесты и приключения"}
- {id: 4, cat: PC/Games, desc: "Игры PC (Репаки) Стратегии"}
- {id: 5, cat: PC/Games, desc: "Игры PC (Репаки) Симуляторы"}
- {id: 73, cat: PC/Games, desc: "Игры PC (Репаки) Гонки"}
- {id: 149, cat: PC/Games, desc: "Игры PC (Репаки) «Стройбат»"}
- {id: 148, cat: PC/Games, desc: "Игры PC (Оригиналы) Горячие новинки"}
- {id: 129, cat: PC/Games, desc: "Игры PC (Оригиналы) Action"}
- {id: 131, cat: PC/Games, desc: "Игры PC (Оригиналы) Fighting"}
- {id: 133, cat: PC/Games, desc: "Игры PC (Оригиналы) RPG"}
- {id: 135, cat: PC/Games, desc: "Игры PC (Оригиналы) Аркады"}
- {id: 137, cat: PC/Games, desc: "Игры PC (Оригиналы) Квесты и приключения"}
- {id: 139, cat: PC/Games, desc: "Игры PC (Оригиналы) Стратегии"}
- {id: 141, cat: PC/Games, desc: "Игры PC (Оригиналы) Симуляторы"}
- {id: 143, cat: PC/Games, desc: "Игры PC (Оригиналы) Гонки"}
- {id: 19, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты)"}
- {id: 130, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Action"}
- {id: 132, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Fighting"}
- {id: 134, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) RPG"}
- {id: 136, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Аркады"}
- {id: 138, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Квесты и приключения"}
- {id: 140, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Стратегии"}
- {id: 142, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Симуляторы"}
- {id: 144, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Гонки"}
- {id: 145, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Linux / MacOS"}
- {id: 10, cat: PC/Games, desc: "Игры PC (Оригиналы) Горячие новинки"}
- {id: 11, cat: PC/Games, desc: "Игры PC (Оригиналы) Action"}
- {id: 12, cat: PC/Games, desc: "Игры PC (Оригиналы) Fighting"}
- {id: 13, cat: PC/Games, desc: "Игры PC (Оригиналы) RPG"}
- {id: 14, cat: PC/Games, desc: "Игры PC (Оригиналы) Аркады"}
- {id: 15, cat: PC/Games, desc: "Игры PC (Оригиналы) Квесты и приключения"}
- {id: 16, cat: PC/Games, desc: "Игры PC (Оригиналы) Стратегии"}
- {id: 17, cat: PC/Games, desc: "Игры PC (Оригиналы) Симуляторы"}
- {id: 74, cat: PC/Games, desc: "Игры PC (Оригиналы) Гонки"}
- {id: 98, cat: PC/Games, desc: "Игры PC (Оригиналы) Игры для Linux"}
- {id: 99, cat: PC/Games, desc: "Игры PC (Оригиналы) Игры для MacOS"}
- {id: 70, cat: Console/Xbox, desc: "Игры для консолей Xbox"}
- {id: 71, cat: Console/PSP, desc: "Игры для консолей Playstation"}
- {id: 72, cat: Console/Other, desc: "Игры для консолей Другие консоли"}
- {id: 34, cat: Movies, desc: "Кинематограф Новинки"}
- {id: 109, cat: Movies/HD, desc: "Кинематограф Новинки HD Remux / Blu-Ray Discs"}
- {id: 108, cat: Movies/HD, desc: "Кинематограф Новинки HD Rips (720p,1080p)"}
- {id: 20, cat: Movies, desc: "Кинематограф Отечественное кино"}
- {id: 21, cat: Movies, desc: "Кинематограф Зарубежное кино"}
- {id: 28, cat: TV, desc: "Отечественные сериалы"}
- {id: 27, cat: TV, desc: "Зарубежные сериалы"}
- {id: 29, cat: TV, desc: "Мультфильмы"}
- {id: 30, cat: TV, desc: "Мультсериалы"}
- {id: 37, cat: TV, desc: "Документальное кино"}
- {id: 38, cat: TV, desc: "Концерты и передачи"}
- {id: 67, cat: TV/Anime, desc: "Аниме Релизы"}
- {id: 45, cat: Audio, desc: "Музыка Тяжелая и альтернативная музыка"}
- {id: 85, cat: Audio, desc: "Музыка Эстрадная и поп-музыка"}
- {id: 77, cat: Audio, desc: "Музыка Электронная музыка"}
- {id: 58, cat: Audio, desc: "Музыка Рэп, хип-хоп, R`n`B"}
- {id: 78, cat: Audio, desc: "Музыка Фолк, этническая и народная музыка"}
- {id: 42, cat: Audio, desc: "Музыка Классическая и академическая музыка"}
- {id: 82, cat: Audio, desc: "Музыка New Age, Chillout, музыка для медитации"}
- {id: 79, cat: Audio, desc: "Музыка Джаз, блюз"}
- {id: 80, cat: Audio, desc: "Музыка Авторская песня, шансон"}
- {id: 49, cat: Audio, desc: "Музыка Саундтреки"}
- {id: 50, cat: Audio, desc: "Музыка Саундтреки Саундтреки к фильмам, мультфильмам, сериалам"}
- {id: 51, cat: Audio, desc: "Музыка Саундтреки Саундтреки к играм"}
- {id: 81, cat: Audio, desc: "Музыка Прочая музыка"}
- {id: 83, cat: Audio, desc: "Музыка Прочая музыка Неофициальные сборники"}
- {id: 156, cat: PC, desc: "Программное обеспечение Live CD, DVD, USB версии"}
- {id: 157, cat: PC, desc: "Программное обеспечение Windows 10 и более поздние"}
- {id: 158, cat: PC, desc: "Программное обеспечение Windows 8.1 и более ранние"}
- {id: 159, cat: PC, desc: "Программное обеспечение Обновления и языковые пакеты"}
- {id: 160, cat: PC, desc: "Программное обеспечение Серверные версии"}
- {id: 193, cat: PC/Mac, desc: "Программное обеспечение macOS"}
- {id: 194, cat: PC/Mac, desc: "Программное обеспечение macOS Stable (Release)"}
- {id: 195, cat: PC/Mac, desc: "Программное обеспечение macOS Dev (Beta)"}
- {id: 164, cat: PC/Mac, desc: "Программное обеспечение macOS Дистрибутивы Linux"}
- {id: 163, cat: PC/Mac, desc: "Программное обеспечение macOS *nix OS"}
- {id: 162, cat: PC/Mac, desc: "Программное обеспечение macOS Программное обеспечение"}
- {id: 165, cat: PC, desc: "Программное обеспечение Мультимедиа и графика"}
- {id: 172, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Аудио-редакторы"}
- {id: 171, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Видео-редакторы"}
- {id: 170, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Графические редакторы"}
- {id: 169, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для аудио"}
- {id: 168, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для видео"}
- {id: 167, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для графики"}
- {id: 166, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Моделирование, рендеринг, плагины"}
- {id: 173, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка"}
- {id: 177, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка DDK/SDK"}
- {id: 178, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Веб-редакторы"}
- {id: 176, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Системы управления базами данных (СУБД)"}
- {id: 175, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Компиляторы и среды разработки"}
- {id: 174, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Компоненты и дополнения"}
- {id: 179, cat: PC/0day, desc: "Программное обеспечение Windows Software"}
- {id: 188, cat: PC/0day, desc: "Программное обеспечение Windows Software Интернет-приложения"}
- {id: 187, cat: PC/0day, desc: "Программное обеспечение Windows Software Информационная безопасность"}
- {id: 186, cat: PC/0day, desc: "Программное обеспечение Windows Software Офисные приложения и редакторы"}
- {id: 185, cat: PC/0day, desc: "Программное обеспечение Windows Software Переводчики и словари"}
- {id: 184, cat: PC/0day, desc: "Программное обеспечение Windows Software Проигрыватели и кодеки"}
- {id: 183, cat: PC/0day, desc: "Программное обеспечение Windows Software Работа с носителями и медиа"}
- {id: 182, cat: PC/0day, desc: "Программное обеспечение Windows Software Системные приложения"}
- {id: 181, cat: PC/0day, desc: "Программное обеспечение Windows Software Эмуляторы"}
- {id: 180, cat: PC/0day, desc: "Программное обеспечение Windows Software Прочие приложения"}
- {id: 197, cat: PC/0day, desc: "Программное обеспечение Windows Software Архиваторы и файловые менеджеры"}
- {id: 203, cat: PC/0day, desc: "Программное обеспечение Windows Software Проигрыватели и кодеки"}
- {id: 202, cat: PC/0day, desc: "Программное обеспечение Windows Software Офисные приложения и редакторы"}
- {id: 201, cat: PC/0day, desc: "Программное обеспечение Windows Software Работа с носителями и медиа"}
- {id: 200, cat: PC/0day, desc: "Программное обеспечение Windows Software Информационная безопасность"}
- {id: 199, cat: PC/0day, desc: "Программное обеспечение Windows Software Интернет-приложения"}
- {id: 198, cat: PC/0day, desc: "Программное обеспечение Windows Software Системные приложения"}
- {id: 22, cat: Other, desc: "Прочее Оформление релизов"}
- {id: 53, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (игры)"}
- {id: 54, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (кино/мультфильмы/аниме)"}
- {id: 55, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (музыка)"}
- {id: 192, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (софт)"}
- {id: 31, cat: Other, desc: "Прочее Обновления/DLC"}
- {id: 102, cat: Other, desc: "Прочее Обновления/DLC для MacOS"}
- {id: 101, cat: Other, desc: "Прочее Обновления/DLC для Linux"}
- {id: 100, cat: Other, desc: "Прочее Обновления/DLC для Windows"}
- {id: 76, cat: Other, desc: "Прочее Языковые пакеты"}
- {id: 103, cat: Other, desc: "Прочее Языковые пакеты для MacOS"}
- {id: 104, cat: Other, desc: "Прочее Языковые пакеты для Linux"}
- {id: 105, cat: Other, desc: "Прочее Языковые пакеты для Windows"}
- {id: 84, cat: Other, desc: "Прочее Демо-, альфа-, бета-версии"}
- {id: 32, cat: Other, desc: "Прочее NoCD/NoDVD"}
- {id: 75, cat: Other, desc: "Прочее Моды"}
- {id: 106, cat: Other, desc: "Прочее Моды Моды для Titan Quest (+ Immortal Throne)"}
- {id: 95, cat: Other, desc: "Прочее Моды Моды для Dungeon Siege"}
- {id: 94, cat: Other, desc: "Прочее Моды Моды для Resident Evil 4"}
- {id: 93, cat: Other, desc: "Прочее Моды Моды для Doom III"}
- {id: 92, cat: Other, desc: "Прочее Моды Плагины для TESV Skyrim"}
- {id: 91, cat: Other, desc: "Прочее Моды Плагины для TESIV Oblivion"}
- {id: 90, cat: Other, desc: "Прочее Моды Плагины для TESIII Morrowind"}
- {id: 97, cat: Other, desc: "Прочее Пиратки"}
modes:
search: [q]
login:
path: login.php
method: post
inputs:
"login_username": "{{ .Config.username }}"
"login_password": "{{ .Config.password }}"
autologin: 1
login: "Log in"
error:
- selector: table.error tr td div.msg:not(:contains(">>>"))
test:
path: tracker.php
selector: a[href="./login.php?logout=1"]
search:
paths:
- path: tracker.php
method: post
inputs:
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"
prev_allw: 1
prev_a: 0
prev_dla: 0
prev_dlc: 0
prev_dld: 0
prev_dlw: 0
prev_my: 0
prev_new: 0
prev_sd: 0
prev_da: 1
prev_dc: 0
prev_df: 1
prev_ds: 0
prev_tor_type: 0
# sort by 1=registered 2=topicTitle 4=completed 10=seed 11=leech 12=up 13=down 5=replies 6=views 7=size 8=lastPost 9=seedLastSeen
o: 1
# 1=asc 2=desc
s: 2
# show category
dc: 0
# show forum
df: 1
# show author
da: 1
# show speed
ds: 0
# -1=all time
tm: -1
# seed not seen -1=disregard
sns: -1
# group releases -1=not selected
srg: -1
nm: "{{ .Keywords }}"
# find a username
pn: ""
submit: " Search "
rows:
selector: tr[id^="tor_"]
fields:
title:
selector: td a.genmed b
details:
selector: td a.genmed
attribute: href
download:
selector: td a.tr-dl
attribute: href
category:
selector: td a.gen
attribute: href
filters:
- name: querystring
args: f
size:
selector: td a.tr-dl
seeders:
selector: td.seedmed
leechers:
selector: td.leechmed
# Russian and Ukranian and English languages are supported
grabs:
optional: true
selector: td[title^="Ответов"]
grabs:
optional: true
selector: td[title^="Відповідей"]
grabs:
optional: true
selector: td[title^="Replies"]
# date for English
date:
selector: td[title="Added"] p:last-of-type
optional: true
filters:
- name: dateparse
args: "2-01-06"
# date for Russian
date:
selector: td[title="Добавлен"] p:last-of-type
optional: true
filters:
# replace month abbreviations
- name: replace
args: ["Янв", "Jan"]
- name: replace
args: ["Фев", "Feb"]
- name: replace
args: ["Мар", "Mar"]
- name: replace
args: ["Апр", "Apr"]
- name: replace
args: ["Май", "May"]
- name: replace
args: ["Июн", "Jun"]
- name: replace
args: ["Июл", "Jul"]
- name: replace
args: ["Авг", "Aug"]
- name: replace
args: ["Сен", "Sep"]
- name: replace
args: ["Окт", "Oct"]
- name: replace
args: ["Ноя", "Nov"]
- name: replace
args: ["Дек", "Dec"]
- name: dateparse
args: "2-Jan-06"
# date for Ukrainian
date:
selector: td[title="Додано"] p:last-of-type
optional: true
filters:
- name: replace
args: ["Січ", "Jan"]
- name: replace
args: ["Лют", "Feb"]
- name: replace
args: ["Бер", "Mar"]
- name: replace
args: ["Кві", "Apr"]
- name: replace
args: ["Травень", "May"]
- name: replace
args: ["Чер", "Jun"]
- name: replace
args: ["Лип", "Jul"]
- name: replace
args: ["Сер", "Aug"]
- name: replace
args: ["Вер", "Sep"]
- name: replace
args: ["Жов", "Oct"]
- name: replace
args: ["Лис", "Nov"]
- name: replace
args: ["Грудень", "Dec"]
- name: dateparse
args: "2-Jan-06"
downloadvolumefactor:
case:
img[src="styles/images/tor_gold.gif"]: "0"
img[src="styles/images/tor_silver.gif"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://awesome-hd.me
- https://awesome-hd.me/
caps:
categorymappings:
@@ -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

@@ -43,7 +43,7 @@
movie-search: [q]
login:
path: /takelogin.php
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"

View File

@@ -41,7 +41,7 @@
search: [q]
login:
path: /login.php
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -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

@@ -66,11 +66,11 @@
login:
method: cookie
test:
path: /browse.php
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"

View File

@@ -135,13 +135,24 @@
- name: replace
args: ["×", ""]
date:
selector: td:nth-child(5)
selector: td:nth-child(5):contains('.')
optional: true
remove: font
filters:
- name: replace
args: [". ", " "]
- name: prepend
args: "2019."
- name: re_replace
args: ["([0-9]{4}).([0-9]+).([0-9]+) (.*)", "$2.$3.$1 $4"]
date:
selector: td:nth-child(5):contains('ma'), td:nth-child(5):contains("tegnap"), td:nth-child(5):contains('-')
optional: true
remove: font
filters:
- name: replace
args: ["ma", "today"]
- name: replace
args: ["tegnap", "yesterday"]
description:
selector: td:nth-child(2) > div

View File

@@ -60,10 +60,10 @@
- selector: table:contains("Login failed!")
- selector: table:contains("Wrong Code!")
test:
path: /browse.php
path: browse.php
search:
path: /browse.php
path: browse.php
method: get
inputs:
search: "{{ .Query.Keywords }}"

View File

@@ -57,11 +57,11 @@
error:
- selector: td.msg_info > font > b
test:
path: /browse.php
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
method: post
inputs:
search: "{{ .Query.Keywords }}"

View File

@@ -0,0 +1,167 @@
---
site: bitturk
name: BitTurk
description: "BitTurk is a Turkish Private Torrent Tracker for HD MOVIES / TV / GENERAL. This Indexer is for English only."
language: en-us
type: private
encoding: UTF-8
links:
- http://www.bitturk.net/
caps:
categorymappings:
- {id: 69, cat: Movies, desc: "BiTTuRK Altın"}
- {id: 56, cat: Movies, desc: "BTRG"}
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
- {id: 63, cat: Movies, desc: "Türkçe Film"}
- {id: 64, cat: Movies, desc: "Türk Filmi"}
- {id: 66, cat: Movies/HD, desc: "x265"}
- {id: 67, cat: XXX, desc: "XxX"}
- {id: 68, cat: Movies, desc: "Dual (TR-~)"}
- {id: 58, cat: Movies, desc: "Film"}
- {id: 60, cat: Movies/3D, desc: "3D"}
- {id: 45, cat: Movies, desc: "Eğitim / Prog "}
- {id: 1, cat: Movies, desc: "Filmler"}
- {id: 14, cat: Movies/3D, desc: "3D Film"}
- {id: 16, cat: Movies, desc: "Animasyon"}
- {id: 17, cat: TV/Anime, desc: "Anime"}
- {id: 31, cat: Movies, desc: "Belgesel"}
- {id: 32, cat: Movies/BluRay, desc: "Bluray"}
- {id: 33, cat: Movies/BluRay, desc: "BRRiP"}
- {id: 34, cat: Movies, desc: "Çizgi Film"}
- {id: 35, cat: Movies, desc: "D-Z0N3"}
- {id: 36, cat: Movies/DVD, desc: "DVD"}
- {id: 37, cat: Movies, desc: "MP4"}
- {id: 38, cat: Movies, desc: "Türk Filmi"}
- {id: 39, cat: Movies, desc: "Türkçe BoX"}
- {id: 40, cat: Movies, desc: "Türkçe Film"}
- {id: 41, cat: Movies, desc: "ViP"}
- {id: 42, cat: Movies/SD, desc: "XviD"}
- {id: 43, cat: Movies/SD, desc: "XviD BoX"}
- {id: 55, cat: Movies/WEBDL, desc: "WEB-DL"}
- {id: 7, cat: Audio, desc: "Müzik"}
- {id: 20, cat: Audio, desc: "Türkçe MüziK"}
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
- {id: 2, cat: Console, desc: "Oyun"}
- {id: 6, cat: PC, desc: "Program / Misc "}
- {id: 47, cat: Other, desc: "Resimler"}
- {id: 48, cat: TV, desc: "Televizyon"}
- {id: 49, cat: TV/HD, desc: "Tv HD"}
- {id: 50, cat: TV, desc: "Yab@ncı Dizi"}
- {id: 51, cat: TV, desc: "Yerli Dizi"}
- {id: 44, cat: Books, desc: "E-BooK"}
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
type: info
label: Layout
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b><li>And set the <b>Language (Dil)</b> to <b>English</b><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</ol>"
login:
path: ?p=home&pid=1
method: form
form: form#loginbox_form
submitpath: ajax/login.php
inputs:
action: "login"
loginbox_membername: "{{ .Config.username }}"
loginbox_password: "{{ .Config.password }}"
loginbox_remember: 1
loginbox_remember: "true"
selectorinputs:
securitytoken:
selector: "script:contains(\"stKey: \")"
filters:
- name: regexp
args: "stKey: \"(.+?)\","
error:
- selector: ":contains(\"-ERROR-\")"
test:
path: ?p=home&pid=1
selector: a[href*="/?p=logout&"]
search:
paths:
- path: /
keywordsfilters:
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%25"]
inputs:
p: "torrents"
pid: "32"
$raw: "{{range .Categories}}cid[]={{.}}&{{end}}"
keywords: "{{ .Keywords }}"
search_type: "name"
searchin: "title"
error:
- selector: div.error:not(:contains("Gösterilecek sonuç bulunamadı."))
rows:
selector: table#torrents_table_classic tr:has(td.torrent_name)
fields:
title:
selector: a[href*="?p=torrents&pid=10&action=details"]
category:
selector: div.category_image > a
attribute: href
filters:
- name: querystring
args: cid
details:
selector: a[href*="?p=torrents&pid=10&action=details"]
attribute: href
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:
selector: a[rel="torrent_seeders"]
leechers:
selector: a[rel="torrent_leechers"]
grabs:
selector: a[rel="times_completed"]
banner:
selector: a[rel="fancybox"]
optional: true
attribute: href
downloadvolumefactor:
case:
"img[src$=\"/torrent_free.png\"]": "0.5"
"*": "1"
uploadvolumefactor:
case:
"img[src$=\"/torrent_multiple_upload.png\"]": "2"
"*": "1"

View File

@@ -24,7 +24,7 @@
tv-search: [q, season, ep]
login:
path: /takelogin.php
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -32,11 +32,11 @@
error:
- selector: div.error
test:
path: /browse.php
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"

View File

@@ -20,28 +20,30 @@
movie-search: [q, imdbid]
login:
path: /login
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
error:
- selector: form[action*="/login"] .text-red
- selector: div.has-error
test:
path: /torrents
path: torrents
search:
paths:
- path: /filterTorrents
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
sort: created_at
direction: desc
qty: 100
rows:
@@ -61,17 +63,28 @@
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)
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*="www.imdb.com/title/tt"]
attribute: href
date:
selector: time
filters:
@@ -95,16 +108,22 @@
- 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"]
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"]
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 1.9.2

View File

@@ -28,9 +28,16 @@
search:
paths:
# site returns just 15 results per page, attempt to fetch 100
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/1-1-0.html"
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/2-1-0.html"
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/3-1-0.html"
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/4-1-0.html"
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/5-1-0.html"
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/6-1-0.html"
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/7-1-0.html"
rows:
selector: .rs
selector: .rs:has(a[href^="magnet:?xt"])
fields:
title:
selector: .title

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

@@ -39,21 +39,21 @@
movie-search: [q]
login:
path: /takelogin__akcja.php
path: takelogin__akcja.php
method: post
inputs:
username_dupa: "{{ .Config.username }}"
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
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"

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

@@ -87,7 +87,7 @@
tv-search: [q, season, ep]
login:
path: /?p=home&pid=1
path: ?p=home&pid=1
method: form
form: form#loginbox_form
submitpath: /ajax/login.php
@@ -105,7 +105,7 @@
error:
- selector: ":contains(\"-ERROR-\")"
test:
path: /?p=torrents&pid=32
path: ?p=torrents&pid=32
selector: a#logout
search:

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

@@ -47,7 +47,7 @@
movie-search: [q]
login:
path: /login.php
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
@@ -56,11 +56,11 @@
error:
- selector: td.embedded:has(h2:contains("登录失败"))
test:
path: /browse.php
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
method: get
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"

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: div.has-error
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)
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.2

View File

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://chdbits.co
- https://chdbits.co/
caps:
categorymappings:
@@ -25,7 +25,7 @@
tv-search: [q, season, ep]
login:
path: /takelogin.php
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -33,10 +33,10 @@
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
path: torrents.php
ratio:
path: /torrents.php
path: torrents.php
selector: table#info_block
filters:
- name: regexp
@@ -44,7 +44,7 @@
search:
paths:
- path: /torrents.php
- path: torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"

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

@@ -9,7 +9,7 @@
type: private
encoding: UTF-8
links:
- https://www.cinematik.net
- https://www.cinematik.net/
settings:
- name: username

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.cpabien.link/
- https://www.cpasbien.vg/
legacylinks:
- http://www.cpasbiens.cc/
- http://www.cpabien.cm/
@@ -32,6 +32,9 @@
- https://www.cpasbien.re/
- http://www.cpasbien.io/
- https://www.cpabien.bz/
- https://www.cpabien.link/
- https://www.cpasbiens.cz/
- https://www.cpasbiens.bz/
caps:
categorymappings:
@@ -45,16 +48,13 @@
settings: []
download:
selector: div#telecharger a
selector: div.btn-download a
attribute: href
search:
paths:
- path: search.php
method: post
inputs:
t: "{{ .Keywords }}"
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
rows:
selector: div.ligne1, div.ligne2
selector: div#gauche > table > tbody > tr:has(a)
fields:
site_date:
selector: a

View File

@@ -16,21 +16,28 @@
categorymappings:
- {id: films, cat: Movies, desc: "Movies"}
- {id: series, cat: TV, desc: "TV"}
- {id: musique, cat: Audio, desc: "Music"}
- {id: ebook, cat: Books, desc: "Ebook"}
- {id: logiciels, cat: PC, desc: "Software"}
- {id: jeux-pc, cat: PC/Games, desc: "PC Games"}
- {id: jeux-consoles, cat: Console, desc: "Console Games"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selector: div#btn-download a
selector: div.btn-download a
attribute: href
search:
paths:
- path: "{{if .Keywords}}/recherche/{{.Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
rows:
selector: div#gauche > table > tbody > tr:has(a)
selector: table.table-corps > tbody > tr:has(a)
fields:
site_date:
selector: a
@@ -61,21 +68,21 @@
selector: div.poid
filters:
- name: re_replace
args: [ "\\.(\\d) Ko", "$1X00"]
args: [ "\\.(\\d)Ko", "$1X00"]
- name: re_replace
args: [ " Ko", "000"]
args: [ "Ko", "000"]
- name: re_replace
args: [ "\\.(\\d) Mo", "$1X00000"]
args: [ "\\.(\\d)Mo", "$1X00000"]
- name: re_replace
args: [ " Mo", "000000"]
args: [ "Mo", "000000"]
- name: re_replace
args: [ "\\.(\\d) Go", "$1X00000000"]
args: [ "\\.(\\d)Go", "$1X00000000"]
- name: re_replace
args: [ " Go", "000000000"]
args: [ "Go", "000000000"]
- name: re_replace
args: [ "\\.(\\d) To", "$1X00000000000"]
args: [ "\\.(\\d)To", "$1X00000000000"]
- name: re_replace
args: [ " To", "000000000000"]
args: [ "To", "000000000000"]
- name: replace
args: [ "X", "" ]
date:

View File

@@ -0,0 +1,159 @@
---
site: crnaberza
name: CrnaBerza
description: "Crna Berza is a BALKAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: sr-sp
type: private
encoding: UTF-8
links:
- http://www.crnaberza.com/
caps:
categorymappings:
- {id: 65, cat: Movies/3D, desc: "3D Film"}
- {id: 37, cat: Movies, desc: "Deca"}
- {id: 43, cat: TV/Documentary, desc: "Dokumentarci"}
- {id: 52, cat: Movies/DVD, desc: "Film/DVD Domaće"}
- {id: 20, cat: Movies/DVD, desc: "Film/DVD Strano"}
- {id: 73, cat: Movies/HD, desc: "Film/HD Domaće"}
- {id: 48, cat: Movies/HD, desc: "Film/HD Strano"}
- {id: 29, cat: Movies/SD, desc: "Film/SD Domaće"}
- {id: 54, cat: Movies/SD, desc: "Film/SD Strano"}
- {id: 64, cat: Movies/HD, desc: "HD Boxset"}
- {id: 61, cat: Movies/HD, desc: "HD Mesano"}
- {id: 50, cat: PC/Games, desc: "Igre"}
- {id: 44, cat: Books, desc: "Knjige"}
- {id: 46, cat: Audio, desc: "Koncerti"}
- {id: 58, cat: Audio/Lossless, desc: "Lossless/Domaće"}
- {id: 59, cat: Audio/Lossless, desc: "Lossless/Strano"}
- {id: 5, cat: Audio/MP3, desc: "MP3/Domaće"}
- {id: 57, cat: Audio/MP3, desc: "MP3/Strano"}
- {id: 49, cat: PC, desc: "Programi"}
- {id: 28, cat: Other, desc: "Razno"}
- {id: 62, cat: TV/SD, desc: "SD Boxset"}
- {id: 38, cat: TV/Sport, desc: "Sport"}
- {id: 39, cat: Audio/Video, desc: "Spotovi DVD"}
- {id: 45, cat: Books/Comics, desc: "Stripovi"}
- {id: 75, cat: TV/HD, desc: "TV/HD Domaće"}
- {id: 77, cat: TV/HD, desc: "TV/HD Strano"}
- {id: 78, cat: TV/Other, desc: "TV/ostalo"}
- {id: 30, cat: TV/SD, desc: "TV/SD Domaće"}
- {id: 34, cat: TV/SD, desc: "TV/SD Strano"}
- {id: 60, cat: XXX, desc: "XXX/Domace"}
- {id: 63, cat: XXX, desc: "XXX/Strano"}
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: incldead
type: select
label: "Search Torrents that are:"
default: "0"
options:
"0" : "Active"
"1": "Including Dead"
"2": "Only Dead"
- 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 Crna Berza webpage.
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submitme: "X"
error:
- selector: h2
message:
selector: table tr td.text
test:
path: browse.php
selector: a[href$="/logout.php"]
ratio:
path: browse.php
selector: div div font:contains("Ratio:")
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
paths:
# http://www.crnaberza.com/browse.php?c52=1&c20=1&c73=1&c48=1&c29=1&c75=1&c77=1&c78=1&c30=1&c34=1&incldead=1&search=star+trek
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
searchin: "title"
incldead: "{{ .Config.incldead }}"
rows:
selector: tr:has(td.trowtorrent)
fields:
category:
selector: td:nth-of-type(1) a
attribute: href
filters:
- name: regexp
args: "[-](\\d{1,2})$"
title:
selector: td:nth-of-type(2) a
details:
selector: td:nth-of-type(2) a
attribute: href
download:
selector: td:nth-of-type(3) a
attribute: href
files:
selector: td:nth-of-type(4)
date:
# Danas<br>08:10 AM
optional: true
selector: td:nth-of-type(6):contains("Danas")
filters:
- name: replace
args: ["Danas", "Today"]
date:
# Juče<br>06:44 PM
optional: true
selector: td:nth-of-type(6):contains("Juče")
filters:
- name: replace
args: ["Juče", "Yesterday"]
date:
# Feb 14 2019<br>10:20 AM
optional: true
selector: td:nth-of-type(6):not(:contains("Juče")):not(:contains("Danas"))
filters:
- name: dateparse
args: "Jan 2 2006 03:04 PM"
size:
selector: td:nth-of-type(7)
grabs:
selector: td:nth-of-type(8) a
filters:
- name: regexp
args: "([\\d]+)"
seeders:
selector: td:nth-of-type(9)
leechers:
selector: td:nth-of-type(10)
downloadvolumefactor:
case:
"img[src$=\"/pic/freedownload.gif\"]": "0"
"*": "1"
uploadvolumefactor:
text: "1"

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"}
@@ -52,11 +52,11 @@
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: /torrents
path: torrents
search:
paths:
- path: /torrents
- path: torrents
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
s: "{{ .Keywords }}"
@@ -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

@@ -57,7 +57,7 @@
tv-search: [q, season, ep]
login:
path: /takelogin.php
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -65,15 +65,15 @@
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
path: browse.php
ratio:
path: /browse.php
path: browse.php
selector: font:contains("Ratio:") > span
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

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

@@ -81,7 +81,7 @@
label: Password
login:
path: /login.php?from=index1
path: login.php?from=index1
method: post
inputs:
action: "login"

View File

@@ -0,0 +1,129 @@
---
site: divteam
name: DivTeam
description: "DivTeam is a SPANISH Private Torrent Tracker for MOVIES / GENERAL"
language: es-es
type: private
encoding: UTF-8
links:
- https://divteam.com/
caps:
categorymappings:
- {id: 60, cat: Movies/HD, desc: "MicroHD 720p"}
- {id: 77, cat: Movies/HD, desc: "MicroHD 1080p"}
- {id: 78, cat: Movies/HD, desc: "MicroHD 4k"}
- {id: 64, cat: TV/HD, desc: "Pack Series"}
- {id: 65, cat: TV/HD, desc: "Pack Series VOSE"}
- {id: 80, cat: Movies/BluRay, desc: "BDRip X265 1080p"}
- {id: 81, cat: Movies/UHD, desc: "UHDRip x265 4K"}
- {id: 82, cat: Movies/WEBDL, desc: "Pelis Web-DL 1080"}
- {id: 83, cat: Movies/WEBDL, desc: "Pelis Web-DL 720"}
- {id: 84, cat: Movies/UHD, desc: "UHD Remux x265"}
- {id: 23, cat: TV/Sport, desc: "Deportes"}
- {id: 20, cat: TV/HD, desc: "Series"}
- {id: 31, cat: TV/HD, desc: "Series VOSE"}
- {id: 69, cat: Movies, desc: "Ciclo Cine Clasico"}
- {id: 70, cat: Movies, desc: "Ciclo Clint Eastwood"}
- {id: 71, cat: Movies, desc: "Ciclo Studio Ghibli"}
- {id: 72, cat: Movies, desc: "Ciclo George A. Romero"}
- {id: 73, cat: Movies, desc: "Saga Fast And Furious"}
- {id: 74, cat: Movies, desc: "Saga Crepúsculo"}
- {id: 75, cat: Movies, desc: "Saga The Purge"}
- {id: 79, cat: Movies, desc: "Saga Star Wars"}
- {id: 18, cat: Movies/BluRay, desc: "Video Full & Remux"}
- {id: 76, cat: Movies, desc: "x-men saga"}
- {id: 6, cat: Books/Ebook, desc: "EBooks"}
- {id: 58, cat: Books/Ebook, desc: "Kiosko"}
- {id: 24, cat: TV/Documentary, desc: "Documentales"}
- {id: 32, cat: TV/Documentary, desc: "Documentales VOSE"}
- {id: 49, cat: Books/Ebook, desc: "eLearning"}
- {id: 68, cat: TV, desc: "eLearning Multimedia"}
- {id: 16, cat: Movies/DVD, desc: "DVD-Rip"}
- {id: 48, cat: Movies/BluRay, desc: "BR-Rip/HD-Rip"}
- {id: 17, cat: Movies/BluRay, desc: "BD-Rip"}
- {id: 5, cat: TV/Anime, desc: "Anime"}
- {id: 34, cat: PC/Games, desc: "Juegos Pc"}
- {id: 7, cat: PC/0day, desc: "Software Pc"}
- {id: 35, cat: Console, desc: "Juegos Sony"}
- {id: 36, cat: PC/Games, desc: "Juegos Microsoft"}
- {id: 37, cat: Console/NDS, desc: "Juegos Nintendo"}
- {id: 45, cat: Audio/MP3, desc: "Music MP3"}
- {id: 44, cat: Audio/Lossless, desc: "Music flac"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: div#login-alert
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# https://divteam.com/index.php?page=torrents&search=daredevil&category=20;23;31;65;64;60;63;69;70;71;72;73;74;75;76;77;78;80;81;82;83;84&active=1
- path: index.php
inputs:
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
search: "{{if .Keywords }}{{.Keywords}}{{else}}{{end}}"
active: 0
options: 0
rows:
selector: table.table.table-bordered > tbody > tr:has(a[href^="download.php?id="])
fields:
download:
selector: a[href^="download.php?id="]
attribute: href
title:
selector: a[href^="index.php?page=torrent-details"]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details"]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) "
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
details:
selector: a[href^="index.php?page=torrent-details"]
attribute: href
size:
selector: td:nth-child(4)
date:
selector: td:nth-child(6)
filters:
- name: dateparse
args: "02/01/2006"
seeders:
selector: td:nth-last-child(4)
leechers:
selector: td:nth-last-child(3)
grabs:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
img[src="images/gold.png"]: "0"
img[src="images/silver.png"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[src="images/2x.png"]: "2"
img[src="images/3x.png"]: "3"
img[src="images/4x.png"]: "4"
img[src="images/5x.png"]: "5"
"*": "1"

View File

@@ -0,0 +1,142 @@
---
site: documentarytorrents
name: DocumentaryTorrents
description: "Documentary Torrents (DT) is a Private Torrent Tracker for E-LEARNING MOVIES / TV"
language: en-us
type: private
encoding: UTF-8
links:
- http://www.documentarytorrents.com/
caps:
categorymappings:
- {id: 128, cat: TV/HD, desc: "Adventure: HD"}
- {id: 129, cat: TV/SD, desc: "Adventure: Xvid / x264"}
- {id: 85, cat: TV/SD, desc: "Biography: Xvid / x264"}
- {id: 86, cat: TV/HD, desc: "Biography: HD"}
- {id: 60, cat: TV/HD, desc: "Computers: HD"}
- {id: 58, cat: TV/SD, desc: "Computers: Xvid / x264"}
- {id: 103, cat: TV/SD, desc: "Crime: Xvid / x264"}
- {id: 105, cat: TV/HD, desc: "Crime: HD"}
- {id: 64, cat: TV/SD, desc: "Culture: Xvid / x264"}
- {id: 66, cat: TV/HD, desc: "Culture: HD"}
- {id: 122, cat: TV/SD, desc: "Discovery: Xvid / x264"}
- {id: 123, cat: TV/HD, desc: "Discovery: HD"}
- {id: 98, cat: TV/HD, desc: "Drugs: HD"}
- {id: 97, cat: TV/SD, desc: "Drugs: Xvid / x264"}
- {id: 92, cat: TV/HD, desc: "Economy: HD"}
- {id: 91, cat: TV/SD, desc: "Economy: Xvid / x264"}
- {id: 83, cat: TV/HD, desc: "Food: HD"}
- {id: 82, cat: TV/SD, desc: "Food: Xvid / x264"}
- {id: 124, cat: TV/HD, desc: "HBO: HD"}
- {id: 125, cat: TV/SD, desc: "HBO: Xvid / x264"}
- {id: 76, cat: TV/SD, desc: "Health: Xvid / x264"}
- {id: 78, cat: TV/HD, desc: "Health: HD"}
- {id: 67, cat: TV/SD, desc: "History: Xvid / x264"}
- {id: 69, cat: TV/HD, desc: "History: HD"}
- {id: 79, cat: TV/SD, desc: "Humor: Xvid / x264"}
- {id: 80, cat: TV/HD, desc: "Humor: HD"}
- {id: 116, cat: TV/HD, desc: "Music: HD"}
- {id: 115, cat: TV/SD, desc: "Music: Xvid / x264"}
- {id: 118, cat: TV/HD, desc: "NatGeo: HD"}
- {id: 119, cat: TV/SD, desc: "NatGeo: Xvid / x264"}
- {id: 63, cat: TV/HD, desc: "Nature: HD"}
- {id: 61, cat: TV/SD, desc: "Nature: Xvid / x264"}
- {id: 109, cat: TV/SD, desc: "New World Order: Xvid / x264"}
- {id: 111, cat: TV/HD, desc: "New World Order: HD"}
- {id: 48, cat: TV/HD, desc: "Other: HD"}
- {id: 50, cat: TV/HD, desc: "Other: DVD"}
- {id: 9, cat: TV/SD, desc: "Other: Xvid / x264"}
- {id: 126, cat: TV/HD, desc: "PBS: HD"}
- {id: 127, cat: TV/SD, desc: "PBS: Xvid / x264"}
- {id: 72, cat: TV/HD, desc: "Politics: HD"}
- {id: 112, cat: Books/Ebook, desc: "Politics: Ebook"}
- {id: 70, cat: TV/SD, desc: "Politics: Xvid / x264"}
- {id: 114, cat: Books/Ebook, desc: "Reference: Ebook"}
- {id: 117, cat: Audio/Audiobook, desc: "Reference: Audio Book"}
- {id: 56, cat: TV/HD, desc: "Religion: HD"}
- {id: 54, cat: TV/SD, desc: "Religion: Xvid / x264"}
- {id: 94, cat: TV/SD, desc: "Science: Xvid / x264"}
- {id: 95, cat: TV/HD, desc: "Science: HD"}
- {id: 75, cat: TV/HD, desc: "Space: HD"}
- {id: 73, cat: TV/SD, desc: "Space: Xvid / x264"}
- {id: 113, cat: TV/HD, desc: "Space: DVD"}
- {id: 100, cat: TV/SD, desc: "Sports: Xvid / x264"}
- {id: 102, cat: TV/HD, desc: "Sports: HD"}
- {id: 106, cat: TV/SD, desc: "Technology: Xvid / x264"}
- {id: 108, cat: TV/HD, desc: "Technology: HD"}
- {id: 121, cat: TV/SD, desc: "Transport: Xvid / x264"}
- {id: 120, cat: TV/HD, desc: "Transport: HD"}
- {id: 57, cat: TV/HD, desc: "Travel: HD"}
- {id: 52, cat: TV/SD, desc: "Travel: Xvid / x264"}
- {id: 89, cat: TV/HD, desc: "War: HD"}
- {id: 88, cat: TV/SD, desc: "War: Xvid / x264"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: account-login.php
method: form
form: form[action="account-login.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.myBlock:has(font.error)
test:
path: index.php
selector: a[href$="/account-logout.php"]
ratio:
path: index.php
selector: img[title="Ratio"]
search:
paths:
# http://documentarytorrents.com/torrents.php?c123=1&c69=1&c67=1&c89=1&c88=1&search=grow+old&cat=0&incldead=1&freeleech=0&lang=0
- path: torrents.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
cat: 0
incldead: 1
freeleech: 0
lang: 0
rows:
selector: table.ttable_headinner tr.t-row
filters:
- name: andmatch
fields:
download:
selector: a[href^="download.php?id="]
attribute: href
title:
selector: a[href^="torrents-details.php?id="]
attribute: title
category:
selector: a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
date:
text: now
downloadvolumefactor:
case:
img[src="images/freeleech_star.gif"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -86,7 +86,7 @@
label: Pin
login:
path: /login.php
path: login.php
method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
@@ -106,7 +106,7 @@
download:
before:
path: "ajax_det_poll.php"
path: ajax_det_poll.php
method: "post"
inputs:
set_thanks: "thanks"
@@ -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

@@ -30,23 +30,6 @@
- {id: 144, cat: Movies, desc: "9.5 packages"}
- {id: 145, cat: Movies, desc: "9.6 filmography"}
- {id: 143, cat: Movies, desc: "9.7 Tv Movies"}
# - {id: 130, cat: , desc: ""}
# - {id: 131, cat: , desc: ""}
# - {id: 132, cat: , desc: ""}
# - {id: 133, cat: , desc: ""}
# - {id: 134, cat: , desc: ""}
# - {id: 135, cat: , desc: ""}
# - {id: 136, cat: , desc: ""}
# - {id: 137, cat: , desc: ""}
# - {id: 138, cat: , desc: ""}
# - {id: 139, cat: , desc: ""}
# - {id: 140, cat: , desc: ""}
# - {id: 141, cat: , desc: ""}
# - {id: 142, cat: , desc: ""}
# - {id: 144, cat: , desc: ""}
# - {id: 145, cat: , desc: ""}
# - {id: 143, cat: , desc: ""}
# - {id: 116, cat: , desc: ""}
- {id: 116, cat: Movies, desc: "Two foreign films integrated subtitles"}
- {id: 146, cat: Movies, desc: "CAM / TS / TC"}
- {id: 147, cat: Movies, desc: "DVDSCR / PPVRiP / WebRip / R5"}
@@ -55,24 +38,10 @@
- {id: 150, cat: Movies, desc: "MicroHD"}
- {id: 151, cat: Movies, desc: "HD - WEB-DL"}
- {id: 152, cat: Movies, desc: "Tv Movies"}
# - {id: 242, cat: , desc: ""}
- {id: 153, cat: Movies, desc: "Packages"}
- {id: 154, cat: Movies, desc: "filmography"}
- {id: 243, cat: Movies, desc: "HD 1080p"}
- {id: 244, cat: Movies, desc: "HD 480p"}
# - {id: 146, cat: , desc: ""}
# - {id: 147, cat: , desc: ""}
# - {id: 148, cat: , desc: ""}
# - {id: 149, cat: , desc: ""}
# - {id: 150, cat: , desc: ""}
# - {id: 151, cat: , desc: ""}
# - {id: 152, cat: , desc: ""}
# - {id: 242, cat: , desc: ""}
# - {id: 153, cat: , desc: ""}
# - {id: 154, cat: , desc: ""}
# - {id: 243, cat: , desc: ""}
# - {id: 244, cat: , desc: ""}
# - {id: 117, cat: , desc: ""}
- {id: 117, cat: Movies, desc: "???????e? ?a???e?"}
- {id: 155, cat: Movies, desc: "CAM / TS / TC"}
- {id: 156, cat: Movies, desc: "SCR / PPVRiP / Webrip / R5"}
@@ -85,18 +54,6 @@
- {id: 163, cat: Movies, desc: "TV Movies"}
- {id: 164, cat: Movies, desc: "?a?eta 8"}
- {id: 165, cat: Movies, desc: "F??µ???af?e?"}
# - {id: 155, cat: , desc: ""}
# - {id: 156, cat: , desc: ""}
# - {id: 157, cat: , desc: ""}
# - {id: 158, cat: , desc: ""}
# - {id: 159, cat: , desc: ""}
# - {id: 160, cat: , desc: ""}
# - {id: 161, cat: , desc: ""}
# - {id: 162, cat: , desc: ""}
# - {id: 163, cat: , desc: ""}
# - {id: 164, cat: , desc: ""}
# - {id: 165, cat: , desc: ""}
# - {id: 118, cat: , desc: ""}
- {id: 118, cat: TV, desc: "Foreign Television external subtitles"}
- {id: 166, cat: TV, desc: "SD"}
- {id: 167, cat: TV, desc: "720p"}
@@ -104,13 +61,6 @@
- {id: 169, cat: TV, desc: "Sport"}
- {id: 170, cat: TV, desc: "documentaries"}
- {id: 171, cat: TV, desc: "Packages"}
# - {id: 166, cat: , desc: ""}
# - {id: 167, cat: , desc: ""}
# - {id: 168, cat: , desc: ""}
# - {id: 169, cat: , desc: ""}
# - {id: 170, cat: , desc: ""}
# - {id: 171, cat: , desc: ""}
# - {id: 119, cat: , desc: ""}
- {id: 119, cat: TV, desc: "foreign Television integrated subtitles"}
- {id: 172, cat: TV, desc: "SD"}
- {id: 173, cat: TV, desc: "720p"}
@@ -119,14 +69,6 @@
- {id: 176, cat: TV, desc: "documentaries"}
- {id: 177, cat: TV, desc: "Tv Rips"}
- {id: 178, cat: TV, desc: "Packages"}
# - {id: 172, cat: , desc: ""}
# - {id: 173, cat: , desc: ""}
# - {id: 174, cat: , desc: ""}
# - {id: 175, cat: , desc: ""}
# - {id: 176, cat: , desc: ""}
# - {id: 177, cat: , desc: ""}
# - {id: 178, cat: , desc: ""}
# - {id: 120, cat: , desc: ""}
- {id: 120, cat: TV, desc: "Greek Television"}
- {id: 179, cat: TV, desc: "SD"}
- {id: 180, cat: TV, desc: "720p"}
@@ -135,14 +77,6 @@
- {id: 183, cat: TV, desc: "five documentaries"}
- {id: 184, cat: TV, desc: "six Tv Rips"}
- {id: 185, cat: TV, desc: "Packages"}
# - {id: 179, cat: , desc: ""}
# - {id: 180, cat: , desc: ""}
# - {id: 181, cat: , desc: ""}
# - {id: 182, cat: , desc: ""}
# - {id: 183, cat: , desc: ""}
# - {id: 184, cat: , desc: ""}
# - {id: 185, cat: , desc: ""}
# - {id: 122, cat: , desc: ""}
- {id: 122, cat: Audio, desc: "?e?? ???s???"}
- {id: 216, cat: Audio, desc: "1. DJs Stuff & Promos"}
- {id: 217, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
@@ -156,7 +90,6 @@
- {id: 225, cat: Audio, desc: "9.1 Varius Artist"}
- {id: 226, cat: Audio, desc: "9.2 Compact Disc Club"}
- {id: 227, cat: Audio, desc: "9.3 ???s??a Video Clips"}
# - {id: 123, cat: , desc: ""}
- {id: 123, cat: Audio, desc: "???????? ???s???"}
- {id: 228, cat: Audio, desc: "1. DJs Stuff & Promos"}
- {id: 229, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
@@ -171,7 +104,6 @@
- {id: 238, cat: Audio, desc: "9.2 Varius Artist"}
- {id: 239, cat: Audio, desc: "9.3 Compact Disc Club"}
- {id: 240, cat: Audio, desc: "9.4 ???s??a Video Clips"}
# - {id: 121, cat: , desc: ""}
- {id: 121, cat: Movies, desc: "children"}
- {id: 186, cat: Movies, desc: "children's films external subtitles"}
- {id: 187, cat: Movies, desc: "two children's films integrated subtitles"}
@@ -182,16 +114,6 @@
- {id: 192, cat: Movies, desc: "Anime external subtitles"}
- {id: 193, cat: Movies, desc: "Anime integrated subtitles"}
- {id: 194, cat: Movies, desc: "Anime Metaglotismenes"}
# - {id: 186, cat: , desc: ""}
# - {id: 187, cat: , desc: ""}
# - {id: 188, cat: , desc: ""}
# - {id: 189, cat: , desc: ""}
# - {id: 190, cat: , desc: ""}
# - {id: 191, cat: , desc: ""}
# - {id: 192, cat: , desc: ""}
# - {id: 193, cat: , desc: ""}
# - {id: 194, cat: , desc: ""}
# - {id: 128, cat: , desc: ""}
- {id: 128, cat: Console, desc: "9.1 ?a????d?a"}
- {id: 195, cat: Console, desc: "Windows Games"}
- {id: 196, cat: Console, desc: "Nintendo DS"}
@@ -201,41 +123,23 @@
- {id: 200, cat: Console, desc: "Sony PSP"}
- {id: 201, cat: Console, desc: "Wii"}
- {id: 202, cat: Console, desc: "XboX 360"}
# - {id: 124, cat: , desc: ""}
- {id: 124, cat: PC, desc: "9.2 Applications"}
- {id: 203, cat: PC, desc: "Applications Windows"}
- {id: 204, cat: PC, desc: "Applications Mac"}
- {id: 205, cat: PC, desc: "Linux Applications"}
# - {id: 203, cat: , desc: ""}
# - {id: 204, cat: , desc: ""}
# - {id: 205, cat: , desc: ""}
# - {id: 126, cat: , desc: ""}
- {id: 126, cat: Books, desc: "9.3 Electronic Books"}
- {id: 206, cat: Books, desc: "Electronic books"}
- {id: 207, cat: Books, desc: "Magazines"}
- {id: 208, cat: Books, desc: "Comic Books"}
# - {id: 206, cat: , desc: ""}
# - {id: 207, cat: , desc: ""}
# - {id: 208, cat: , desc: ""}
# - {id: 125, cat: , desc: ""}
- {id: 125, cat: Other, desc: "9.4 Gallery"}
- {id: 209, cat: Other, desc: "Gallery"}
- {id: 210, cat: Other, desc: "Gallery HD"}
- {id: 211, cat: Other, desc: "Photos 3D"}
- {id: 212, cat: Other, desc: "Wallpapers"}
- {id: 213, cat: Other, desc: "Screensavers"}
# - {id: 209, cat: , desc: ""}
# - {id: 210, cat: , desc: ""}
# - {id: 211, cat: , desc: ""}
# - {id: 212, cat: , desc: ""}
# - {id: 213, cat: , desc: ""}
# - {id: 127, cat: , desc: ""}
- {id: 127, cat: PC/Phone-Other, desc: "9.5 Mobile / Miscellaneous"}
- {id: 214, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 215, cat: PC/Phone-Other, desc: "Miscellaneous"}
# - {id: 214, cat: , desc: ""}
# - {id: 215, cat: , desc: ""}
# - {id: 129, cat: , desc: ""}
- {id: 129, cat: Other, desc: "9.6 Blocked DREAM TEAM"}
modes:
@@ -256,7 +160,7 @@
download:
before:
path: "takethanks.php"
path: takethanks.php
method: "post"
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"

View File

@@ -26,7 +26,7 @@
movie-search: [q, imdbid]
login:
path: /login
path: login
method: form
inputs:
username: "{{ .Config.username }}"
@@ -34,11 +34,11 @@
error:
- selector: table.main:contains("Login Failed!")
test:
path: /torrents
path: torrents
search:
paths:
- path: /filterTorrents
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
@@ -101,9 +101,9 @@
- 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"]
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"]
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
@@ -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

@@ -6,6 +6,8 @@
type: public
encoding: UTF-8
links:
- https://www.elitetorrent.io/
legacylinks:
- https://www.elitetorrent.biz/
caps:
@@ -25,7 +27,11 @@
attribute: href
search:
path: index.php
# site returns just 30 results, attempt to fetch upto 90
paths:
- 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
@@ -61,6 +67,10 @@
- name: split
args: ["/", 3]
size:
text: "0 B"
size:
# size can be missing
optional: true
selector: .voto1
filters:
- name: replace

View File

@@ -53,11 +53,11 @@
- name: replace
args: ["\");", ""]
test:
path: /letoltes.php
path: letoltes.php
search:
paths:
- path: /letoltes.php
- path: letoltes.php
method: get
inputs:
$raw: "{{range .Categories}}kat[]={{.}}&{{end}}"

View File

@@ -6,7 +6,7 @@
type: public
encoding: UTF-8
links:
- https://www.ettv.tv
- https://www.ettv.tv/
caps:
categorymappings:

View File

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://www.fano.in
- https://www.fano.in/
caps:
categorymappings:

View File

@@ -10,7 +10,7 @@
download:
before:
path: "list_thanks.php"
path: list_thanks.php
method: "get"
inputs:
id: "{{ .DownloadUri.Query.id }}"
@@ -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,33 +1,36 @@
---
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
path: login
method: form
inputs:
username: "{{ .Config.username }}"
@@ -35,16 +38,20 @@
error:
- selector: form[action*="/login"] .text-red
test:
path: /torrents
path: torrents
search:
paths:
- path: /filterTorrents
- 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:
@@ -98,16 +109,18 @@
- 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"]
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"]
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

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- http://funkytorrents.com
- http://funkytorrents.com/
caps:
categories:
@@ -66,7 +66,7 @@
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
#$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"

View File

@@ -8,7 +8,7 @@
type: semi-private
encoding: UTF-8
links:
- https://gay-torrents.org
- https://gay-torrents.org/
- https://gay-area.org/
settings:

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

@@ -218,7 +218,7 @@
search: [q]
login:
path: /login.php
path: login.php
method: post
inputs:
"login_username": "{{ .Config.username }}"
@@ -230,12 +230,12 @@
message:
selector: td.thead b
test:
path: /tracker.php
path: tracker.php
selector: li a[href^="login.php?logout=1"]
search:
paths:
- path: /tracker.php
- path: tracker.php
method: post
inputs:
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"

View File

@@ -23,7 +23,7 @@
tv-search: [q, season, ep]
login:
path: /login.php
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -32,11 +32,11 @@
error:
- selector: .auth_form > .warning
test:
path: /torrents.php
path: torrents.php
search:
paths:
- path: /torrents.php
- path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"

View File

@@ -51,7 +51,7 @@
movie-search: [q]
login:
path: /login.php
path: login.php
method: form
form: form
inputs:
@@ -60,11 +60,11 @@
error:
- selector: div.box:has(div.title:contains("bejelentkez"))
test:
path: /torrentek.php
path: torrentek.php
search:
paths:
- path: /torrentek.php
- path: torrentek.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

View File

@@ -77,7 +77,7 @@
movie-search: [q]
login:
path: /index.php?page=login
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"
@@ -85,12 +85,12 @@
error:
- selector: div.error
test:
path: /index.php
path: index.php
selector: a[href="logout.php"]
download:
before:
path: "thanks.php"
path: thanks.php
method: "post"
inputs:
infohash: "{{ .DownloadUri.Query.id }}"
@@ -100,34 +100,34 @@
search:
paths:
- path: /index.php
- path: index.php
inputs:
pages: 1
- path: /index.php
- path: index.php
inputs:
pages: 2
- path: /index.php
- path: index.php
inputs:
pages: 3
- path: /index.php
- path: index.php
inputs:
pages: 4
- path: /index.php
- path: index.php
inputs:
pages: 5
- path: /index.php
- path: index.php
inputs:
pages: 6
- path: /index.php
- path: index.php
inputs:
pages: 7
- path: /index.php
- path: index.php
inputs:
pages: 8
- path: /index.php
- path: index.php
inputs:
pages: 9
- path: /index.php
- path: index.php
inputs:
pages: 10
inputs:

View File

@@ -7,7 +7,7 @@
encoding: UTF-8
followredirect: true
links:
- https://www.gktorrent.tv/
- https://www.gktorrent.net/
legacylinks:
- https://www.gktorrent.com/
- http://www.gktorrent.com/
@@ -23,7 +23,9 @@
- https://www.gktorrent.org/
- https://www.gktorrent.me/
- https://www.rantop.org/
- https://www.gktorrent.net/
- https://www.gktorrent.cx/
- https://www.gktorrent.tv/
caps:
categorymappings:
- {id: movies, cat: Movies, desc: "Movies"}
@@ -46,7 +48,7 @@
search:
paths:
- path: "{{if .Keywords}}/recherche/{{.Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
rows:
selector: div.listing-torrent > table > tbody > tr:has(a)
fields:

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
@@ -89,7 +90,7 @@
label: Password
login:
path: /login/
path: login/
method: form
form: form
inputs:

View File

@@ -78,7 +78,7 @@
movie-search: [q]
login:
path: /login.php
path: login.php
method: post
inputs:
take_login: "1"
@@ -88,11 +88,11 @@
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /browse.php
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

View File

@@ -60,9 +60,11 @@
- {id: 129, cat: Other/Misc, desc: "Documentales H265"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: /ajax/login.php
path: ajax/login.php
method: post
headers:
user-agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36"
@@ -75,7 +77,7 @@
error:
- selector: div.error
test:
path: /?p=home&pid=1
path: ?p=home&pid=1
selector: div#member_info_bar
search:

View File

@@ -25,7 +25,7 @@
movie-search: [q, imdbid]
login:
path: /login
path: login
method: form
inputs:
username: "{{ .Config.username }}"
@@ -33,11 +33,11 @@
error:
- selector: table.main:contains("Login Failed!")
test:
path: /torrents
path: torrents
search:
paths:
- path: /filterTorrents
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
@@ -100,9 +100,9 @@
- 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"]
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"]
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"
@@ -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

@@ -0,0 +1,115 @@
---
site: hdarea
name: HDArea
description: "HDArea is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://www.hdarea.co
caps:
categorymappings:
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
- {id: 415, cat: Movies/HD, desc: "Movies REMUX"}
- {id: 416, cat: Movies/3D, desc: "Movies 3D"}
- {id: 410, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 411, cat: Movies/HD, desc: "Movies 720p"}
- {id: 414, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 412, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
- {id: 413, cat: Movies/HD, desc: "Movies HDTV"}
- {id: 417, cat: Movies/Other, desc: "Movies iPad"}
- {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, desc: "TV Shows"}
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
- {id: 407, cat: TV/Sport, desc: "Sports"}
- {id: 409, cat: Other, desc: "Misc"}
- {id: 408, cat: Audio, desc: "HQ Audio"}
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.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
ratio:
path: /torrents.php
selector: table#info_block
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
paths:
- path: /torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
title:
selector: a[href^="details.php?id="]
title:
optional: true
selector: a[title][href^="details.php?id="]
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^="download.php?id="]
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]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
img.pro_free: "0"
img.pro_free2up: "0"
img.pro_50pctdown: "0.5"
img.pro_50pctdown2up: "0.5"
img.pro_30pctdown: "0.3"
"*": "1"
uploadvolumefactor:
case:
img.pro_50pctdown2up: "2"
img.pro_free2up: "2"
img.pro_2up: "2"
"*": "1"
description:
selector: td:nth-child(2)
remove: a, img

View File

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://hdbits.org
- https://hdbits.org/
caps:
categorymappings:
@@ -23,7 +23,7 @@
search: [q]
login:
path: /login
path: login
method: form
form: form
inputs:

View File

@@ -6,7 +6,7 @@
encoding: UTF-8
type: private
links:
- https://www.hd-bits.com
- https://www.hd-bits.com/
caps:
categorymappings:

View File

@@ -33,7 +33,7 @@
movie-search: [q, imdbid]
login:
path: /login.php
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -42,7 +42,7 @@
error:
- selector: div#error-text
test:
path: /torrents.php
path: torrents.php
search:
paths:

View File

@@ -44,25 +44,25 @@
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:
path: login.php
method: form
form: form[action="takelogin.php"]
method: cookie
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
error:
- selector: td.embedded:has(h2:contains("failed"))
cookie: "{{ .Config.cookie }}"
test:
path: /torrents.php
path: torrents.php
search:
paths:
- path: /torrents.php
- path: torrents.php
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"

View File

@@ -115,8 +115,20 @@
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: info
type: info
label: "IP requirement"
default: "This site accepts only users with Spanish IP addresses.<br>For others it will return error: 403 Forbidden."
login:
path: /index.php?page=login
path: index.php?page=login
method: post
inputs:
uid: "{{ .Config.username }}"

View File

@@ -6,7 +6,19 @@
type: private
encoding: UTF-8
links:
- https://hdf.world
- https://hdf.world/
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: usetoken
type: checkbox
label: Always try to use the FreeLeech Token
default: false
caps:
categories:
@@ -49,9 +61,17 @@
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
download-regular:
selector: a[href^="torrents.php?action=download&"]
attribute: href
download-usetoken:
selector: a[href^="torrents.php?action=download&"]
attribute: href
filters:
- name: append
args: "&usetoken=1"
download:
text: "{{if .Config.usetoken}}{{ .Result.download-usetoken }}{{else}}{{ .Result.download-regular }}{{end}}"
title:
selector: div.group_info
remove: span:nth-child(1), div.tags
@@ -210,7 +230,7 @@
selector: td:nth-child(8)
downloadvolumefactor:
case:
"div.group_info:contains(\"Free\")": "0"
"div.group_info:contains(\"/ Free\")": "0"
"div.group_info:contains(\"↓75%\")": "0.75"
"div.group_info:contains(\"↓50%\")": "0.50"
"div.group_info:contains(\"↓25%\")": "0.25"

View File

@@ -6,7 +6,7 @@
type: private
encoding: windows-1252
links:
- https://hdme.eu
- https://hdme.eu/
caps:
categorymappings:
@@ -43,7 +43,7 @@
tv-search: [q, season, ep]
login:
path: /takelogin.php
path: takelogin.php
method: post
form: form
inputs:
@@ -54,10 +54,10 @@
message:
selector: td.text
test:
path: /my.php
path: my.php
ratio:
path: /my.php
path: my.php
selector: span.smallfont > font
filters:
- name: regexp
@@ -67,7 +67,7 @@
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

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,24 +15,37 @@
- {id: 3, cat: Audio, desc: "Music"}
modes:
search: [q]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: /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
- 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:
- path: /filterTorrents
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
@@ -40,8 +53,7 @@
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
sort: created_at
direction: desc
qty: 100
rows:
@@ -95,16 +107,17 @@
- 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"]
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"]
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=\"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

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://hdsky.me
- https://hdsky.me/
caps:
categorymappings:
@@ -26,24 +26,24 @@
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
path: torrents.php
ratio:
path: /torrents.php
path: torrents.php
selector: table#info_block
filters:
- name: regexp
@@ -54,15 +54,20 @@
search:
paths:
- path: /torrents.php
- path: torrents.php
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

@@ -38,6 +38,8 @@
search:
path: index.php
keywordsfilters:
- name: re_replace
args: ["(?i)\\bS0*(\\d+)\\b", "T$1"]
- name: re_replace
args: ["S0?(\\d{1,2})E(\\d{1,2})", "$1x$2"]
inputs:

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"]

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