Compare commits

...

177 Commits

Author SHA1 Message Date
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
Garfield69
5037e1871a add amigos share club a Brazilian private site. resolves #4642 2019-02-12 18:52:05 +13:00
Garfield69
bb183d56cc SpeedCD: fix double slash in details link. resolves #4285 2019-02-12 13:31:06 +13:00
Garfield69
0ac587d97b speedCD: update categories and correct title link. resolves # 2019-02-12 12:58:20 +13:00
Garfield69
e7edd1734b add CartoonChaos a Private tracker for animated tv and movies. resolves #5 2019-02-12 11:29:22 +13:00
Garfield69
1ad901bfa8 theshinning: new domain .me resolves #4643 2019-02-11 19:59:35 +13:00
Garfield69
d4f16d96f1 drop ratio replace
cardigann does not process the ratio block anyway
and none of the other yml source do any validation for this value
2019-02-11 15:09:05 +13:00
lardbit
1762e6e02d include nefarious in front-end examples (#4641)
nefarious exclusively uses Jackett as the search backend.  It also offers (wip) the ability to group indexers as "seed only" to help with ratio management.  In addition, you can verify the status of all indexers from within nefarious.
2019-02-11 14:12:17 +13:00
Garfield69
09ef1169b6 eztv: provide default size when one is not available. resolves #4473 2019-02-11 11:35:37 +13:00
Garfield69
2dcc21f5f7 datascene: new layout. resolves #4629
also add new categories.
2019-02-11 08:54:59 +13:00
Garfield69
a7928ea4a8 spacetorrents: now using username and password login instead of the cookie method. 2019-02-10 19:47:08 +13:00
Garfield69
90d0f5b2e0 nostalgic: now using username and password instead of cookie method.
selector cinfo was the key to cracking the sites bot-detection check.
2019-02-10 19:05:07 +13:00
Garfield69
56a26dd265 add nostalgic, a private tracker for movies and tv. resolves #3795
has a bot detection I could not work around. had to resort to using cookie.
2019-02-10 17:42:04 +13:00
Garfield69
99d294cc79 Merge branch 'master' of https://github.com/Jackett/Jackett 2019-02-10 15:52:50 +13:00
Garfield69
880c818686 turktorrent: correct ratio infinity 2019-02-10 15:52:47 +13:00
snamds
8d8e9056a1 Newpct - Redirect, link match (#4630)
* btdb.to domain gone.

using proxy https://btdb.unblocked.app/ until we're sure its not comming back.

* katcrs: new domain plus followredirect

* gktorrent: forcing https

* - Allow download from mirrors (#4298)

* HDTorrent.it (#4310)

Update regex to handle better seasons and multiple episode
Freelech torrent support
Minor fix

* IPTorrents: fix error handling

* RoDVD: update URL

* Torrent9 clone (torrents9.pw): update URL

* TorrentCCF: update URL

* - follow redirects
- download link match changed
2019-02-10 13:41:50 +13:00
Kilian Cavalotti
915fb1d68e Update hush.yml add new categories and attempt to fix no-results (#4593)
* Update hush.yml

Fix categories & "no results" errors.

* Update hush.yml

untested (as I don't have a login), but the uploadvolumefactor is missing an else-match-all case, which may be the reason your are seeing no results.
please test and report back. thanks.
2019-02-09 20:15:11 +13:00
Garfield69
e895a74f91 Update README.md 2019-02-09 19:20:44 +13:00
Garfield69
f9512c8228 update some yml indexer descriptions and the readme 2019-02-09 17:55:59 +13:00
Garfield69
2e0f6c7b03 add SpaceTorrent, a French Private tracker. resolves #2901 2019-02-09 09:55:41 +13:00
216 changed files with 5382 additions and 1691 deletions

205
README.md
View File

@@ -9,7 +9,7 @@
This project is a new fork and is recruiting development help. If you are able to help out please contact us.
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), [Nefarious](https://github.com/lardbit/nefarious) etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
Developer note: The software implements the [Torznab](https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with [nZEDb](https://github.com/nZEDb/nZEDb/blob/dev/docs/newznab_api_specification.txt) category numbering) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
@@ -17,14 +17,16 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
#### Supported Systems
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
* Linux and macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
* Linux
* macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
### Supported Public Trackers
* 1337x
* ACG.RIP
* Anidex
* Anime Tosho
* AniRena
* AudioBookBay
* AudioBook Bay (ABB)
* BTstor.net
* btbit
* BTKitty
@@ -38,12 +40,11 @@ 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
* KickAssTorrent (KATcr)
* KickAssTorrent (thekat.se clone)
* LimeTorrents
* MagnetDL
@@ -54,26 +55,29 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Nyaa-Pantsu
* Nyoo
* ProStyleX
* QXR
* RARBG
* RuTor
* shokweb
* ShowRSS
* SkyTorrentsClone
* SolidTorrents
* sukebei.Nyaa.si
* sukebei-Pantsu
* The Pirate Bay
* The Pirate Bay (TPB)
* TNTVillage <!-- maintained by bonny1992 -->
* Tokyo Toshokan
* Tokyo Tosho
* Torlock
* TorrentCouch
* Torrent Downloads
* Torrent Downloads (TD)
* TorrentFunk
* TorrentGalaxy.org
* TorrentGalaxy.org (TGx)
* TorrentKitty
* TorrentProject2
* Torrents.csv
* Torrent9
* Torernt9 clone (torrents9.ch)
* Torrentz2
* Torrof
* Torrof (Torrentoff)
* World Wide Torrents
* YTS.ag
* Zooqle
@@ -95,104 +99,112 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* MVGroup Forum
* MVGroup Main
* Newstudio
* NetHD
* NoName Club
* NetHD (VietTorrent)
* NoName Club (NNM-Club)
* RockBox
* RuTracker
* SkTorrent
* Union Fansub
* Vanila
* Xtreme Zone
* YggTorrent
* XtreMeZone (MYXZ)
* YggTorrent (YGG)
* Ztracker
### Supported Private Trackers
* 2 Fast 4 You
* 3D Torrents
* 3D Torrents (3DT)
* 3evils
* 420files
* 720pier
* Abnormal
* Acid-Lounge
* Acid Lounge (A-L)
* Aftershock
* AlphaRatio (AR)
* AnimeBytes
* AmigosShareClub
* AnimeBytes (AB)
* AnimeTorrents (AnT)
* Anthelion
* AOX
* ArabaFenice
* Arche Torrent
* AOX (Chippu)
* Araba Fenice (Phoenix)
* ArcheTorrent
* AsianCinema
* AsianDVDClub
* AST4u
* Audiobook Torrents
* Audiobook Torrents (ABT)
* AudioNews (AN)
* Awesome-HD (AHD)
* Avistaz (AsiaTorrents)
* B2S-Share
* Back-ups
* BakaBT
* bB
* BaconBits (bB)
* BeyondHD (BHD)
* BIGTorrent
* BigTower
* Bit-City Reloaded
* BIT-HDTV
* Bithorlo
* Bithorlo (BHO)
* BitHUmen
* BitMe
* BitMeTV
* BitSoup [![(invite needed)][inviteneeded]](#)
* BitsPiracy
* Bitspyder
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
* BJ-Share
* BitTurk
* BJ-Share (BJ)
* BlueBird
* Blutopia (BLU)
* Brasil Tracker
* BroadcastTheNet (BTN)
* BrokenStones
* BTGigs
* BTGigs (TG)
* BTNext (BTNT)
* BTXpress (BTX)
* Carpathians
* CartoonChaos (CC)
* CasStudioTV
* CCFBits
* CGPeers
* CHDBits
* Cinematik
* Cinemageddon
* Cinematik
* CinemaZ (EuTorrents)
* Classix
* DanishBits
* DataScene
* CrnaBerza
* DanishBits (DB)
* Dark-Shadow
* DataScene (DS)
* DesiTorrents
* Diablo Torrent
* DigitalCore
* DigitalHive
* DivTeam
* DocumentaryTorrents (DT)
* Downloadville
* Dragonworld Reloaded
* Dream Team
* DXDHD
* EliteHD [![(invite needed)][inviteneeded]](#)
* Elit Tracker
* EliteHD (HDClub) [![(invite needed)][inviteneeded]](#)
* Elit Tracker (ET)
* Elite-Tracker
* Empornium (EMP)
* eStone
* eStone (XiDER, BeLoad)
* Ethor.net (Thor's Land)
* FANO.IN
* FileList (FL)
* Femdomcult
* Freedom-HD
* Freedom-HD (Freedom Paradise)
* FullMixMusic
* FunFile
* FunFile (FF)
* FunkyTorrents (FT)
* Fuzer
* Fuzer (FZ)
* GAYtorrent.ru
* GazelleGames (GGn)
* Gfxnews
* GFXNews
* GFXPeers
* GigaTorrents
* GimmePeers <!-- maintained by jamesb2147 -->
* Girotottent
* GimmePeers (formerly ILT) <!-- maintained by jamesb2147 -->
* GiroTorrent
* GODS
* Greek Team
* HacheDe
@@ -204,21 +216,24 @@ 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
* Hon3y HD
* HQSource
* HQSource (HQS)
* HuSh
* Hyperay
* ICE Torrent
* I Love Classics
* Immortalseed
* iLoveClassics (iLC)
* ImmortalSeed (iS)
* inPeril
* Insane Tracker
* IPTorrents (IPT)
@@ -228,47 +243,50 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Le Saloon
* LinkoManija
* LosslessClub
* M-Team (TP)
* M-Team TP (MTTP)
* Magico (Trellas)
* Majomparádé
* Majomparádé (TurkDepo)
* Manicomio Share
* Mononoké-BT
* MoreThanTV (MTV)
* MyAnonamouse
* MyAnonamouse (MAM)
* myAmity
* MySpleen
* NCore
* Nebulance (NBL)
* Nebulance (NBL) (TransmiTheNet)
* New Real World
* NordicBits (NB)
* Norbits
* NordicBits (NB)
* Nostalgic (The Archive)
* notwhat.cd
* Orpheus
* Ourbits
* Ourbits (HDPter)
* Passione Torrent <!-- maintained by bonny1992 -->
* PassThePopcorn (PTP)
* PiratBit
* PirateTheNet
* PiXELHD
* PolishSource
* PirateTheNet (PTN)
* PiXELHD (PxHD)
* PolishSource (PS)
* PolishTracker
* Pretome
* PrivateHD (PHD)
* ProAudioTorrents (PAT)
* Psytorrents
* PT99
* PTFiles
* PTFiles (PTF)
* PThome
* PuntoTorrent
* PWTorrents (PWT)
* Racing4Everyone (R4E)
* RacingForMe (RFM)
* Redacted (PassTheHeadphones)
* Red Star Torrent
* Red Star Torrent (RST)
* Redtopia (RED)
* RetroFlix
* RevolutionTT
* RGU
* RoDVD
* Romanian Metal Torrent
* RoDVD (Cinefiles)
* Romanian Metal Torrent (RMT)
* SceneFZ
* SceneHD
* SceneReactor
@@ -278,19 +296,21 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Secret Cinema
* Shareisland
* ShareSpaceDB
* Sharingue
* Shazbat
* Shellife
* Shellife (SL)
* SpaceTorrent
* Speed-Share
* SpeedCD
* SpeedTorrent Reloaded
* SportsCult
* SportHD
* Superbits
* SportsCult
* SuperBits (SBS)
* TakeaByte
* Tasmanit
* TBPlus
* TenYardTracker
* The Empire
* TenYardTorrents (TYT)
* TheEmpire (TE)
* The Geeks
* The Horror Charnel (THC)
* The Occult
@@ -298,43 +318,46 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* The Place
* The Shinning (TsH)
* The Show
* The Vault
* The-Torrents
* Torrent Network
* Torrent Sector Crew
* The Vault
* Torrent Network (TN)
* Torrent Sector Crew (TSC)
* Torrent.LT
* TorrentBD
* TorrentBytes
* TorrentCCF [![(invite needed)][inviteneeded]](#)
* TorrentDay
* Torrentech
* TorrentBytes (TBy)
* TorrentCCF (TCCF) [![(invite needed)][inviteneeded]](#)
* TorrentDay (TD)
* Torrentech (TTH)
* TorrentHeaven
* TorrentHR
* Torrenting
* Torrenting (TT)
* Torrentland
* TorrentLeech (TL)
* TorrentSeeds (TS)
* Torrent-Syndikat
* TOrrent-tuRK (TORK)
* TorViet
* TorViet (HDVNBits)
* TotallyKids (TK)
* ToTheGlory
* TranceTraffic
* Trezzor
* TurkTorrent (TT)
* TV Chaos UK
* TV Chaos UK (TVCUK)
* TV-Vault
* TVstore
* u-torrents (SceneFZ)
* UHDBits
* Ultimate Gamer Club
* Ultimate Gamer Club (UGC)
* Vizuk
* Waffles
* World-In-HD
* WorldOfP2P (WOP)
* x-ite.me (XM)
* xBytesV2
* XSpeeds
* XSpeeds (XS)
* XWTorrents (XWT)
* Xthor
* ExoticaZ (Your Exotic Torrents)
* ExoticaZ (YourExotic)
* Zamunda.net
* Zelka.org
@@ -347,7 +370,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
@@ -372,7 +395,24 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
## Installation on Linux
### Install on Linux (AMDx64)
1. Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
### Install on Linux (ARMv7 or above)
1. Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
### Installation on Linux (ARMv6 or below)
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
@@ -381,21 +421,12 @@ Jackett can also be run from the command line if you would like to see log messa
* Redhat/Fedora: `yum install libcurl-devel`
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
Detailed instructions for [Ubuntu 14.x](http://www.htpcguides.com/install-jackett-on-ubuntu-14-x-for-custom-torrents-in-sonarr/) and [Ubuntu 15.x](http://www.htpcguides.com/install-jackett-ubuntu-15-x-for-custom-torrents-in-sonarr/)
4. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd_mono.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
### Install as service
1. Install Jackett with the steps from above.
2. Open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service.
2. If the installation was a success, you can close the Terminal window.
The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`.
Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
### Installation on Linux via Ansible
On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/jackett)
@@ -470,7 +501,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
@@ -497,6 +528,8 @@ All contributions are welcome just send a pull request.
### Windows
* Install the .NET Core [SDK](https://www.microsoft.com/net/download/windows)
* Clone Jackett
* From the `src` directory, run `dotnet restore`
* Open the Jackett solution in Visual Studio 2017 (version 15.9 or above)
* Right click on the Jackett solution and click 'Rebuild Solution' to restore nuget packages
* Select Jackett.Server as startup project

View File

@@ -1,8 +1,8 @@
version: 0.10.{build}
version: 0.11.{build}
skip_tags: true
image:
- Visual Studio 2017
image:
- Ubuntu
- Visual Studio 2017
environment:
APPVEYOR_YML_DISABLE_PS_LINUX: true
configuration: Release
@@ -28,12 +28,13 @@ 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,7 +120,6 @@ 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);
@@ -127,7 +127,7 @@ Task("Package-Mono-Full-Framework")
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_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");
});
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}/*"))
{
@@ -280,10 +293,10 @@ Task("Release-Notes")
Task("Windows-Environment")
.IsDependentOn("Package-Windows-Full-Framework")
.IsDependentOn("Package-Mono-Full-Framework")
.IsDependentOn("Package-DotNetCore-macOS")
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
.IsDependentOn("Package-DotNetCore-LinuxARM32")
.IsDependentOn("Package-DotNetCore-LinuxARM64")
//.IsDependentOn("Package-DotNetCore-macOS")
//.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
//.IsDependentOn("Package-DotNetCore-LinuxARM32")
//.IsDependentOn("Package-DotNetCore-LinuxARM64")
.IsDependentOn("Appveyor-Push-Artifacts")
.IsDependentOn("Release-Notes")
.Does(() =>
@@ -293,7 +306,7 @@ Task("Windows-Environment")
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 +393,8 @@ 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");
RunLinuxCommand("tar", $"-C {sourceFolder} -zcvf {outputDirectory}/{tarFileName}.gz {tarCdirectoryOption}");
}
}

12
install_service_systemd.sh Executable file → Normal file
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]

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

@@ -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

@@ -1,7 +1,7 @@
---
site: 3dtorrents
name: 3D Torrents
description: "3D Movie tracker"
description: "3D Torrents (3DT) is a Private Torrent Tracker for 3D HD / BLURAY MOVIES"
language: en-us
type: private
encoding: UTF-8

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]
@@ -80,31 +92,35 @@
size:
selector: td:nth-last-child(6)
files:
selector: td:nth-last-child(9)
selector: a[href^="filelist.php?id="]
grabs:
selector: td:nth-last-child(5)
selector: a[href^="snatches.php?id="]
filters:
- name: replace
args: ["Times", ""]
- 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")
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"))
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

@@ -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}}"
@@ -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

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

@@ -0,0 +1,291 @@
---
site: amigosshare
name: Amigos Share Club
description: "Amigos Share Club is a Brazilian Private site for TV / MOVIES / GENERAL"
language: pt-br
type: private
encoding: UTF-8
links:
- https://amigos-share.club/
legacylinks:
- http://amigos-share.club/
caps:
categorymappings:
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
- {id: 21, cat: PC/0day, desc: "Aplicativos: Windows"}
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
- {id: 23, cat: PC/Phone-Android, desc: "Aplicativos: Android"}
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
- {id: 26, cat: PC/Phone-IOS, desc: "Aplicativos: iPhone"}
- {id: 27, cat: PC/Phone-IOS, desc: "Aplicativos: iPad"}
- {id: 28, cat: PC/Phone-IOS, desc: "Aplicativos: iPod"}
- {id: 71, cat: Books, desc: "Apostila: Cursos"}
- {id: 72, cat: Books, desc: "Apostila: Apostila"}
- {id: 67, cat: Books, desc: "Ebook: Livros"}
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
- {id: 85, cat: Movies, desc: "Filmes: Guerra"}
- {id: 81, cat: Movies, desc: "Filmes: Musical"}
- {id: 17, cat: Movies, desc: "Filmes: Biografia"}
- {id: 16, cat: Movies, desc: "Filmes: Esportes"}
- {id: 15, cat: Movies, desc: "Filmes: Ficção"}
- {id: 14, cat: Movies, desc: "Filmes: Infantil"}
- {id: 13, cat: Movies, desc: "Filmes: Nacionais"}
- {id: 12, cat: Movies, desc: "Filmes: Policial"}
- {id: 11, cat: Movies, desc: "Filmes: Religioso"}
- {id: 10, cat: Movies, desc: "Filmes: Suspense"}
- {id: 9, cat: Movies, desc: "Filmes: Western"}
- {id: 8, cat: Movies, desc: "Filmes: Animação"}
- {id: 7, cat: Movies, desc: "Filmes: Clássicos"}
- {id: 6, cat: Movies, desc: "Filmes: Comédia"}
- {id: 5, cat: Movies, desc: "Filmes: Documentário"}
- {id: 4, cat: Movies, desc: "Filmes: Drama"}
- {id: 3, cat: Movies, desc: "Filmes: Romance"}
- {id: 2, cat: Movies, desc: "Filmes: Terror"}
- {id: 1, cat: Movies, desc: "Filmes: Ação"}
- {id: 80, cat: Movies, desc: "Filmes: Aventura"}
- {id: 70, cat: Other, desc: "Fotos: XXX"}
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
- {id: 48, cat: PC/Mac, desc: "Jogos: Mac"}
- {id: 49, cat: Console, desc: "Jogos: Ps1"}
- {id: 50, cat: Console, desc: "Jogos: Ps2"}
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
- {id: 52, cat: Console, desc: "Jogos: Dreamcast"}
- {id: 54, cat: Console/Xbox 360, desc: "Jogos: X360"}
- {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: 57, cat: Console, desc: "Jogos: Android"}
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
- {id: 78, cat: Console/Xbox One, desc: "Jogos: Xbox One"}
- {id: 29, cat: Audio, desc: "Musica: Axé"}
- {id: 30, cat: Audio, desc: "Musica: Eletronica"}
- {id: 31, cat: Audio, desc: "Musica: Funk"}
- {id: 32, cat: Audio, desc: "Musica: Pagode"}
- {id: 33, cat: Audio, desc: "Musica: Hip-Hop"}
- {id: 34, cat: Audio, desc: "Musica: Rap"}
- {id: 36, cat: Audio, desc: "Musica: Rock"}
- {id: 37, cat: Audio, desc: "Musica: Hard Rock"}
- {id: 38, cat: Audio, desc: "Musica: Blues"}
- {id: 39, cat: Audio, desc: "Musica: Dance"}
- {id: 40, cat: Audio, desc: "Musica: Dicografia"}
- {id: 41, cat: Audio, desc: "Musica: Erudita"}
- {id: 42, cat: Audio, desc: "Musica: Forró"}
- {id: 43, cat: Audio, desc: "Musica: Dubstep"}
- {id: 46, cat: Audio, desc: "Musica: Sertanejo"}
- {id: 45, cat: Audio, desc: "Musica: Samba"}
- {id: 77, cat: Audio, desc: "Musica: Outros"}
- {id: 76, cat: Audio, desc: "Musica: Reggae"}
- {id: 83, cat: Audio, desc: "Musica: Gospel"}
- {id: 84, cat: Audio, desc: "Musica: Game (OST)"}
- {id: 88, cat: TV, desc: "Series: Musical"}
- {id: 86, cat: TV, desc: "Series: Guerra"}
- {id: 105, cat: TV, desc: "Series: Biografia"}
- {id: 99, cat: TV/Sport, desc: "Series: Esportes"}
- {id: 103, cat: TV, desc: "Series: Ficção"}
- {id: 102, cat: TV, desc: "Series: Infantil"}
- {id: 89, cat: TV, desc: "Series: Nacionais"}
- {id: 100, cat: TV, desc: "Series: Policial"}
- {id: 98, cat: TV, desc: "Series: Religioso"}
- {id: 90, cat: TV, desc: "Series: Suspense"}
- {id: 91, cat: TV, desc: "Series: Western"}
- {id: 92, cat: TV, desc: "Series: Animação"}
- {id: 93, cat: TV, desc: "Series: Clássicos"}
- {id: 94, cat: TV, desc: "Series: Comédia"}
- {id: 95, cat: TV/Documentary, desc: "Series: Documentário"}
- {id: 96, cat: TV, desc: "Series: Drama"}
- {id: 97, cat: TV, desc: "Series: Romance"}
- {id: 101, cat: TV, desc: "Series: Terror"}
- {id: 104, cat: TV, desc: "Series: Ação"}
- {id: 24, cat: TV, desc: "Series: Cartoon"}
- {id: 19, cat: TV/HD, desc: "Series: HD"}
- {id: 20, cat: TV, desc: "Series: Seriados"}
- {id: 87, cat: TV, desc: "Series: Aventura"}
- {id: 65, cat: TV, desc: "Shows: Show"}
- {id: 63, cat: TV, desc: "Tv: Aberta"}
- {id: 62, cat: TV/Sport, desc: "Tv: Esportes"}
- {id: 64, cat: TV, desc: "Tv: Fechada"}
- {id: 73, cat: TV, desc: "Video Aula: Video Aula"}
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 }}"
remember: "yes"
error:
- selector: div.alert-error
test:
path: index.php
selector: a[href="account-logout.php"]
ratio:
path: index.php
selector: li:contains("Ratio:") a b
search:
paths:
# http://amigos-share.club/torrents-search.php?search=&c1=1&c19=1&c36=1&incldead=0&freeleech=0&lang=0sort=id&order=desc&page=1
- path: torrents-search.php
# site displays just 21 results, no profile options found to change this, so we attempt to fetch 5 pages
- path: torrents-search.php
inputs:
page: 1
- path: torrents-search.php
inputs:
page: 2
- path: torrents-search.php
inputs:
page: 3
- path: torrents-search.php
inputs:
page: 4
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 0
freeleech: 0
lang: 0
sort: "id"
order: "desc"
rows:
selector: table.table-striped > tbody > tr:has(a[href^="torrents-details.php?id="])
fields:
title:
selector: a[href^="torrents-details.php?id="]
details:
selector: a[href^="torrents-details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
category:
selector: td:first-child img
attribute: src
case:
# unfortunately the site does not have category numbers on the results page, just a .png which can apply to both movies and tv.
# therefore I've order the list to favour movies,
# also, not all .png have been verified as the site has many empty categories. their image names have been extrapolated from the cat desc.
"[src$=\"/XXXZ.png\"]": "74"
"[src$=\"/Hentai.png\"]": "75"
"[src$=\"/Anime.png\"]": "69"
"[src$=\"/Windows.png\"]": "21"
"[src$=\"/Mac.png\"]": "22"
"[src$=\"/Android.png\"]": "23"
"[src$=\"/Linux.png\"]": "25"
"[src$=\"/iPhone.png\"]": "26"
"[src$=\"/iPad.png\"]": "27"
"[src$=\"/iPod.png\"]": "28"
"[src$=\"/Cursos.png\"]": "71"
"[src$=\"/Apostila.png\"]": "72"
"[src$=\"/E-books.png\"]": "67"
"[src$=\"/Revista.png\"]": "68"
"[src$=\"/Aventura.png\"]": "80"
"[src$=\"/XXX.png\"]": "70"
"[src$=\"/Jogos-Ps4.png\"]": "79"
"[src$=\"/Jogos-PC.png\"]": "47"
"[src$=\"/Jogos-EmuladoreseRoms.png\"]": "61"
"[src$=\"/Jogos-Mac.png\"]": "48"
"[src$=\"/Jogos-Ps1.png\"]": "49"
"[src$=\"/Jogos-Ps2.png\"]": "50"
"[src$=\"/Jogos-Ps3.png\"]": "51"
"[src$=\"/Jogos-Dreamcast.png\"]": "52"
"[src$=\"/ogos-X360.png\"]": "54"
"[src$=\"/Jogos-Xbox.png\"]": "55"
"[src$=\"/Jogos-Wii.png\"]": "56"
"[src$=\"/Jogos-NintendoDS.png\"]": "58"
"[src$=\"/Jogos-Android.png\"]": "57"
"[src$=\"/Jogos-PSP.png\"]": "82"
"[src$=\"/Jogos-XboxOne.png\"]": "78"
"[src$=\"/Axe.png\"]": "29"
"[src$=\"/Electronica.png\"]": "30"
"[src$=\"/Funk.png\"]": "31"
"[src$=\"/Pagode.png\"]": "32"
"[src$=\"/Hip-Hop.png\"]": "33"
"[src$=\"/Rap.png\"]": "34"
"[src$=\"/Rock.png\"]": "36"
"[src$=\"/Hard-Rock.png\"]": "37"
"[src$=\"/Blues.png\"]": "38"
"[src$=\"/Dance.png\"]": "39"
"[src$=\"/Dicografia.png\"]": "40"
"[src$=\"/Erudita.png\"]": "41"
"[src$=\"/Forro.png\"]": "42"
"[src$=\"/Dubstep.png\"]": "43"
"[src$=\"/Sertanejo.png\"]": "46"
"[src$=\"/Samba.png\"]": "45"
"[src$=\"/Outros.png\"]": "77"
"[src$=\"/Reggae.png\"]": "76"
"[src$=\"/Gospel.png\"]": "83"
"[src$=\"/Game-OST.png\"]": "84"
"[src$=\"/Musical.png\"]": "88"
"[src$=\"/Guerra.png\"]": "86"
"[src$=\"/Biografia.png\"]": "105"
"[src$=\"/Esportes.png\"]": "99"
"[src$=\"/Ficcao.png\"]": "103"
"[src$=\"/Infantil.png\"]": "102"
"[src$=\"/Nacionais.png\"]": "89"
"[src$=\"/Policial.png\"]": "100"
"[src$=\"/Religioso.png\"]": "98"
"[src$=\"/Suspense.png\"]": "90"
"[src$=\"/Western.png\"]": "91"
"[src$=\"/Animacao.png\"]": "92"
"[src$=\"/Classicos.png\"]": "93"
"[src$=\"/Comedia.png\"]": "94"
"[src$=\"/Documentario.png\"]": "95"
"[src$=\"/Drama.png\"]": "96"
"[src$=\"/Romance.png\"]": "97"
"[src$=\"/Terror.png\"]": "101"
"[src$=\"/Acao.png\"]": "104"
"[src$=\"/Cartoon.png\"]": "24"
"[src$=\"/Serieshd.png\"]": "19"
"[src$=\"/Seriado.png\"]": "20"
"[src$=\"/Aventura.png\"]": "87"
"[src$=\"/Shows.png\"]": "65"
"[src$=\"/Aberta.png\"]": "63"
"[src$=\"/Esportes.png\"]": "62"
"[src$=\"/Fechada.png\"]": "64"
"[src$=\"/Videoaula.png\"]": "73"
"[src$=\"/Guerra.png\"]": "85"
"[src$=\"/Musical.png\"]": "81"
"[src$=\"/Biografia.png\"]": "17"
"[src$=\"/Esportes.png\"]": "16"
"[src$=\"/Ficcao.png\"]": "15"
"[src$=\"/Infantil.png\"]": "14"
"[src$=\"/Nacionais.png\"]": "13"
"[src$=\"/Policial.png\"]": "12"
"[src$=\"/Religioso.png\"]": "11"
"[src$=\"/Suspense.png\"]": "10"
"[src$=\"/Western.png\"]": "9"
"[src$=\"/Animacao.png\"]": "8"
"[src$=\"/Classicos.png\"]": "7"
"[src$=\"/Comedia.png\"]": "6"
"[src$=\"/Documentario.png\"]": "5"
"[src$=\"/Drama.png\"]": "4"
"[src$=\"/Romance.png\"]": "3"
"[src$=\"/Terror.png\"]": "2"
"[src$=\"/Acao.png\"]": "1"
date:
text: now
size:
selector: td:nth-child(2) span.label-info
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
case:
"span.label-success i:contains(\"FREE\")": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

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

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://archetorrent.com
- https://archetorrent.com/
settings:
- name: username

View File

@@ -89,7 +89,7 @@
search:
paths:
- path: /torrents/
- path: torrents/
method: post
followredirect: true
inputs:

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

View File

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

@@ -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

@@ -1,7 +1,7 @@
---
site: bigtorrent
name: BIGTorrent
description: "ratio-free Hungarian tracker"
description: "BIGTorrent is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: hu
type: private
encoding: UTF-8
@@ -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

@@ -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

@@ -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

@@ -1,7 +1,7 @@
---
site: blutopia
name: Blutopia
description: "HD Tracker Movies/TV/FANRES"
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
language: en-us
type: private
encoding: UTF-8
@@ -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}}"
@@ -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

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

@@ -39,7 +39,7 @@
movie-search: [q]
login:
path: /takelogin__akcja.php
path: takelogin__akcja.php
method: post
inputs:
username_dupa: "{{ .Config.username }}"
@@ -49,11 +49,11 @@
- selector: td.embedded:has(h2:contains("Error"))aD
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

@@ -19,7 +19,7 @@
movie-search: [q, imdbid]
login:
path: /login
path: login
method: form
inputs:
username: "{{ .Config.username }}"
@@ -27,11 +27,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}}"
@@ -94,9 +94,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

View File

@@ -0,0 +1,128 @@
---
site: cartoonchaos
name: CartoonChaos
description: "CartoonChaos (CC) is a Private Torrent Tracker for ANIMATED MOVIES / TV"
language: en-us
type: private
encoding: UTF-8
links:
- http://www.cartoonchaos.org/
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: info_results
type: info
label: "Search results"
default: "For best results, increase the torrents number in your profile to 100.<br />Default is 15."
caps:
categorymappings:
- {id: 30, cat: TV, desc: "Complete Sets"}
- {id: 15, cat: TV, desc: "Educational"}
- {id: 16, cat: TV, desc: "Kids"}
- {id: 17, cat: TV, desc: "Mature Cartoons"}
- {id: 41, cat: TV, desc: "Shorts"}
- {id: 20, cat: TV/Anime, desc: "Anime Movies"}
- {id: 21, cat: TV/Anime, desc: "Anime Series"}
- {id: 26, cat: Movies, desc: "Animated Movies"}
- {id: 23, cat: Audio, desc: "Sound Tracks"}
- {id: 24, cat: Audio, desc: "Theme Tunes"}
- {id: 43, cat: Audio/Other, desc: "Misc Audio"}
- {id: 14, cat: TV, desc: "Banned"}
- {id: 29, cat: TV, desc: "Public Domain"}
- {id: 42, cat: TV/FOREIGN, desc: "Foreign Language"}
- {id: 28, cat: TV, desc: "Animated Adverts"}
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: index.php?page=login
method: form
form: form[action^="index.php?page=login"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
# http://www.cartoonchaos.org/index.php?page=torrents&search=transformers&category=30;21;20;26;15;16;17&options=0&active=0
- path: index.php
inputs:
page: torrents
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
options: 0
active: 0
rows:
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
fields:
title:
selector: td a[href^="index.php?page=torrent-details"]
details:
selector: td a[href^="index.php?page=torrent-details"]
attribute: href
category:
selector: td a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
args: category
download:
selector: td a[href^="download.php"]
attribute: href
imdb:
optional: true
selector: a[href*="http://www.imdb.com/title/"]
attribute: href
filters:
# http://anonym.to?javascript:popdetails('http://www.imdb.com/title/tt0086817');
- name: replace
args: [" http://anonym.to?javascript:popdetails('", ""]
- name: replace
args: ["');", ""]
size:
selector: td:nth-child(10)
# two flavours of dates
date:
# Yesterday at 10:03:30 PM
selector: td:nth-child(5):contains("day")
optional: true
filters:
- name: re_replace
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
date:
# February 09, 2019, 06:35:08 AM
selector: td:nth-child(5):not(:contains("day"))
optional: true
filters:
- name: re_replace
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
- name: dateparse
args: "January 02 2006 03:04:05 PM"
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
downloadvolumefactor:
case:
img[src="gold/gold.gif"]: "0"
"*": "1"
uploadvolumefactor:
text: "1"

View File

@@ -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

@@ -1,12 +1,12 @@
---
site: chdbits
name: CHDBits
description: "A general tracker"
description: "CHDBits is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-cn
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

@@ -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.cpasbiens.bz/
legacylinks:
- http://www.cpasbiens.cc/
- http://www.cpabien.cm/
@@ -32,6 +32,8 @@
- https://www.cpasbien.re/
- http://www.cpasbien.io/
- https://www.cpabien.bz/
- https://www.cpabien.link/
- https://www.cpasbiens.cz/
caps:
categorymappings:
@@ -45,16 +47,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

@@ -28,7 +28,7 @@
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)
fields:

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

@@ -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 }}"

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

@@ -22,6 +22,7 @@
- {id: 2, cat: Other, desc: "MiSC"}
- {id: 5, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 27, cat: Movies, desc: "Movies | Pack"}
- {id: 63, cat: Movies, desc: "Movies | Pack-Ro"}
- {id: 46, cat: Movies/3D, desc: "Movies | 3D"}
- {id: 26, cat: Movies/SD, desc: "Movies | Cam"}
- {id: 25, cat: Movies, desc: "Movies | Documentary"}
@@ -30,24 +31,33 @@
- {id: 23, cat: Movies/HD, desc: "Movies | HD"}
- {id: 31, cat: Movies/HD, desc: "Movies | HD-Ro"}
- {id: 34, cat: Movies/Foreign, desc: "Movies | Hindi"}
- {id: 30, cat: Movies/SD, desc: "Movies | Xvid"}
- {id: 36, cat: Movies/SD, desc: "Movies | Xvid-Ro"}
- {id: 30, cat: Movies/SD, desc: "Movies | SD"}
- {id: 36, cat: Movies/SD, desc: "Movies | SD-Ro"}
- {id: 50, cat: Movies/BluRay, desc: "Movies | Blu-Ray"}
- {id: 51, cat: Movies/BluRay, desc: "Movies | Blu-Ray-Ro"}
- {id: 55, cat: Movies/UHD, desc: "Movies | 4K"}
- {id: 59, cat: Movies/UHD, desc: "Movies | 4K-Ro"}
- {id: 21, cat: Audio/Video, desc: "Music | Video"}
- {id: 19, cat: Audio , desc: "Music | Mp3/Flac"}
- {id: 18, cat: Other, desc: "Other"}
- {id: 42, cat: Other, desc: "Premiera | DsT"}
- {id: 14, cat: TV/Sport, desc: "Sport"}
- {id: 47, cat: TV/SD, desc: "Tv | Episodes"}
- {id: 28, cat: TV/HD, desc: "Tv-HD | Episodes"}
- {id: 47, cat: TV/HD, desc: "Tv | HD"}
- {id: 57, cat: TV/HD, desc: "Tv | HD-Ro"}
- {id: 28, cat: TV/SD, desc: "Tv | SD"}
- {id: 58, cat: TV/SD, desc: "Tv | SD-Ro"}
- {id: 54, cat: TV, desc: "Tv | Pack"}
- {id: 61, cat: TV, desc: "Tv | Pack-Ro"}
- {id: 13, cat: Other, desc: "Tutoriale"}
- {id: 12, cat: XXX, desc: "XxX"}
modes:
search: [q]
movie-search: [q]
tv-search: [q, season, ep]
login:
path: /takelogin.php
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -55,57 +65,27 @@
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: "{{ .Query.Keywords }}"
search: "{{ .Keywords }}"
incldead: 1
rows:
selector: div.ncls > table > tbody > tr:has(a.tname)
fields:
title-attribute:
selector: a.tname
attribute: title
title-text:
selector: a.tname
title:
text: "{{if .Result.title-attribute }}{{ .Result.title-attribute }}{{else}}{{ .Result.title-text }}{{end}}"
selector: a.tname
details:
selector: a.tname
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="/download.php/"], a[href^="/downloadd.php/"] # some releases use a download link with two d's
attribute: href
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(7)
date:
selector: td:nth-child(2) > right > div:has(font:contains("Uploaded"))
filters:
- name: replace
args: ["Uploaded: ", ""]
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
banner:
selector: a.tname
attribute: onmouseover
@@ -116,13 +96,35 @@
selector: a[href^="http://www.imdb.com/title/"]
optional: true
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="/download.php/"], a[href^="/downloadd.php/"] # some releases use a download link with two d's
attribute: href
date:
selector: td:contains("Added:") a#added-btn
filters:
- name: replace
args: ["Added: ", ""]
size:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(4)
filters:
- name: regexp
args: (\d+)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
"img[src=\"pic/free.png\"]": "0"
"a#free-btn": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
description:
selector: td:nth-child(2) > right
remove: div

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

View File

@@ -25,7 +25,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 +65,10 @@
- name: split
args: ["/", 3]
size:
text: "0 B"
size:
# size can be missing
optional: true
selector: .voto1
filters:
- name: replace

View File

@@ -4,7 +4,7 @@
---
site: empornium
name: Empornium
description: "A porn tracker"
description: "Empornium (EMP) is a Private Torrent Tracker for XXX"
language: en-us
type: private
encoding: UTF-8

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

@@ -49,6 +49,8 @@
download:
selector: td:nth-child(3) a.magnet, td:nth-child(3) a
attribute: href
size:
text: "500 MB"
size:
optional: true
selector: td:nth-child(4)

View File

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

View File

@@ -4,7 +4,7 @@
---
site: femdomcult
name: Femdomcult
description: "A porn tracker"
description: "Femdomcult is a Private Torrent Tracker for FETISH XXX"
language: en-us
type: private
encoding: UTF-8

View File

@@ -10,7 +10,7 @@
download:
before:
path: "list_thanks.php"
path: list_thanks.php
method: "get"
inputs:
id: "{{ .DownloadUri.Query.id }}"

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

@@ -1,6 +1,6 @@
site: gay-torrents
name: Gay-Torrents.net
description: "Gay Torrents Live Free!"
description: "Gay-Torrents.net is a Private Torrent Tracker for GAY XXX"
language: en-us
type: semi-private
encoding: UTF-8

View File

@@ -3,12 +3,12 @@
#
site: gay-torrentsorg
name: gay-torrents.org
description: "Tracker for GAY XXX, movies, TV, books and PC."
description: "Gay-Torrents.org is a Private Torrent Tracker for GAY XXX"
language: en-us
type: semi-private
encoding: UTF-8
links:
- https://gay-torrents.org
- https://gay-torrents.org/
- https://gay-area.org/
settings:

View File

@@ -4,7 +4,7 @@
#
site: gaytorrentru
name: GAYtorrent.ru
description: "World largest gay porn library for free with a stunning forum and 24/7 chat."
description: "GayTorrent.ru is a Private Torrent Tracker for GAY XXX"
language: en-us
type: private
encoding: UTF-8

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

@@ -24,6 +24,7 @@
- https://www.gktorrent.me/
- https://www.rantop.org/
- https://www.gktorrent.net/
- https://www.gktorrent.cx/
caps:
categorymappings:
- {id: movies, cat: Movies, desc: "Movies"}
@@ -46,7 +47,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"

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

@@ -1,12 +1,12 @@
---
site: hdforever
name: HD-Forever
description: "A french private HD tracker"
description: "HD-Forever (HD-F) is a FRENCH Private Torrent Tracker for HD MOVIES"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://hdf.world
- https://hdf.world/
caps:
categories:

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

@@ -0,0 +1,122 @@
---
site: hdplus
name: HDplus
description: "HDplus is Private Torrent Tracker for MOVIES / TV / MUSIC"
language: en-us
type: private
encoding: UTF-8
links:
- https://hdplus.xyz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login
method: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
selectorinputs:
_token:
selector: meta[name="csrf-token"]
attribute: content
error:
- selector: form[action$="/login"] .text-red
test:
path: /
selector: a[href$="/logout"]
ratio:
path: /
selector: span:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
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
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: ([\d\.]+)
date:
selector: time
filters:
# 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=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -1,12 +1,12 @@
---
site: hdsky
name: HDSky
description: "A chinese tracker"
description: "HDSky is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-cn
type: private
encoding: UTF-8
links:
- https://hdsky.me
- https://hdsky.me/
caps:
categorymappings:
@@ -40,10 +40,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
@@ -54,7 +54,7 @@
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

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

View File

@@ -63,11 +63,11 @@
- selector: tbody:has(td.colhead > span:contains("Error"))
- selector: tbody:has(td.colhead > span: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

@@ -43,7 +43,7 @@
label: Pin
login:
path: /takelogin.php
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -55,11 +55,11 @@
- 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

@@ -10,9 +10,12 @@
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Movies, desc: "FANRES"}
- {id: 1, cat: Movies, desc: "Film"}
- {id: 2, cat: TV, desc: "Serie"}
- {id: 3, cat: Movies, desc: "Doc"}
- {id: 4, cat: Movies, desc: "Dessin Anime"}
- {id: 5, cat: Movies, desc: "Rlz Hush"}
- {id: 6, cat: Movies, desc: "Media"}
modes:
search: [q]
@@ -20,7 +23,7 @@
movie-search: [q, imdbid]
login:
path: /login
path: login
method: form
inputs:
username: "{{ .Config.username }}"
@@ -28,11 +31,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}}"
@@ -95,9 +98,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
@@ -106,4 +109,5 @@
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" # Global Double Upload
"*": "1"

View File

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://www.hyperay.org
- https://www.hyperay.org/
legacylinks:
- https://www.hyperay.cc
@@ -46,11 +46,11 @@
error:
- selector: td.embedded:has(h2:contains("failed"))
test:
path: /torrents.php
path: torrents.php
search:
paths:
- path: /torrents.php
- path: torrents.php
method: post
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"

View File

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

View File

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

View File

@@ -51,7 +51,7 @@
search:
paths:
- path: /index.php
- path: index.php
keywordsfilters:
- name: diacritics
args: replace

View File

@@ -6,10 +6,12 @@
type: public
encoding: UTF-8
links:
- https://ilcorsaronero.cc/
- https://ilcorsaronero.live/
legacylinks:
- https://ilcorsaronero.vip/
- https://ilcorsaronero.info/
- https://ilcorsaronero.ch/
- https://ilcorsaronero.cc/
certificates:
- 89c12d4a080b5aeec00acbb269dc9b44584b1b3f # incomplete CA chain
- aa7c40aa360a1cec8a9687312fd50402b912e618 # incomplete CA chain

View File

@@ -1,7 +1,7 @@
---
site: iloveclassics
name: I Love Classics
description: "Classics movie tracker"
description: "iLoveClassics (iLC) is a Private Torrent Tracker for CLASSIC MOVIES / TV"
language: en-us
type: private
encoding: UTF-8

View File

@@ -35,7 +35,7 @@
tv-search: [q, season, ep]
login:
path: /takelogin.php
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
@@ -43,11 +43,11 @@
error:
- selector: font.logintext
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

@@ -55,11 +55,11 @@
error:
- selector: div.login_error_content
test:
path: /browse.php
path: browse.php
search:
paths:
- path: /browse.php
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Query.Keywords }}{{end}}"

View File

@@ -44,10 +44,10 @@
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
submitpath: ajax/login.php
inputs:
action: "login"
loginbox_membername: "{{ .Config.username }}"
@@ -62,7 +62,7 @@
error:
- selector: ":contains(\"-ERROR-\")"
test:
path: /?p=torrents&pid=32
path: ?p=torrents&pid=32
selector: a#logout
search:

View File

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

View File

@@ -99,11 +99,11 @@
login:
method: cookie
test:
path: /category/latest/page/1
path: category/latest/page/1
search:
paths:
- path: "{{ if .Keywords }}/katsearch/page/1/{{ .Keywords }}{{ else }}/category/latest/page/1{{ end }}"
- path: "{{ if .Keywords }}katsearch/page/1/{{ .Keywords }}{{ else }}category/latest/page/1{{ end }}"
rows:
selector: table.torrents_table > tbody > tr
fields:

View File

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

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