Compare commits

...

405 Commits

Author SHA1 Message Date
Garfield69
9843ca9491 add TurkTorrent a Private Turkish tracker. resolves #4268 2019-02-06 14:04:11 +13:00
Garfield69
0b12640d58 torrentland: add missing categories 2019-02-06 07:50:10 +13:00
Garfield69
5329125950 Revert "Update torrentland.yml (#4578) resolves #3708"
This reverts commit 0300942a8f.
2019-02-06 07:36:41 +13:00
Garfield69
7128e0c599 add CasStudioTV a Russian Private TV site. Resolves #3285 2019-02-05 20:11:39 +13:00
Garfield69
6f9a2caa18 ettv: fix results for TEST. resolves #4602 2019-02-05 17:54:34 +13:00
Garfield69
e98fad4f73 add XWTorrents a private tracker for pro wresting and mma. resolves #1876 2019-02-05 17:29:48 +13:00
Garfield69
2eb76ffb86 Revert "torrentland: possible untested fix for #4599"
This reverts commit bb2c8e6c6a.
2019-02-05 10:53:04 +13:00
Garfield69
4ffc9f06c9 add pwtorrent a pro wrestling site. resolves #3683 2019-02-05 10:26:35 +13:00
Garfield69
14912bba09 hdchina: cosmetic update description 2019-02-05 10:25:26 +13:00
Garfield69
bb2c8e6c6a torrentland: possible untested fix for #4599 2019-02-05 07:16:35 +13:00
djoole
c4c91cc462 yggtorrent: replaced " " by """" for improved searches (#4597)
replace spaces in searched name by quotation marks so that a YGG search engine return results on partial keywords
2019-02-05 06:33:55 +13:00
Garfield69
fd036ecef9 add how to get cookie to yaml indexers 2019-02-04 19:26:40 +13:00
Garfield69
72c28319f3 add pt99 a Chinese Private tracker. resolves #4147 2019-02-04 19:25:11 +13:00
Garfield69
d255e83756 film-paleis: andmatch results 2019-02-04 17:42:43 +13:00
Garfield69
a41c45b7d3 takeabyte: fix cat 37 2019-02-04 14:53:16 +13:00
Garfield69
83d11a58cb hdchina: fix volumefactor 2019-02-04 14:00:45 +13:00
Garfield69
fbadc4f3a9 hdchina: enable imdbid searches 2019-02-04 13:22:37 +13:00
Garfield69
7bf35bda8f torrentcouch: changes for results page 2019-02-04 06:40:23 +13:00
Garfield69
f65df4e45d add TakeaByte a NORDIC Private tracker. resolves #4153
will need to login once my profile freeleech has expired in order to define more download and upload volumefactors
2019-02-03 20:15:47 +13:00
Garfield69
da3f84527d cpasbienclone: new domain .cm 2019-02-03 19:49:38 +13:00
Garfield69
b915e815e9 iptorrents: add www. to the alternate links list. resolves #4594 2019-02-03 18:53:09 +13:00
Garfield69
1ef7dcf457 add 3evils a Private torrent tracker. resolves #4264
I may need to revisit the download and upload volumefactors once my profile gets old enough to stop getting automatic freeleech.
2019-02-03 17:07:39 +13:00
Garfield69
9eb52b76ca add film-paleis, a Dutch semi-private site. resolves #2651 2019-02-03 06:39:25 +13:00
Garfield69
55cae3657e add Monova a Public indexer. resolves #4447 2019-02-02 17:10:53 +13:00
Garfield69
953e3cf701 tntvillage: domain change, dropped www. resolves #4582 2019-02-02 06:43:53 +13:00
Garfield69
7a7c00c562 add TorrentFunk a Public search engine 2019-02-01 16:55:14 +13:00
Garfield69
7d39938af6 torlock: add alternate domains 2019-02-01 12:22:30 +13:00
Garfield69
47d815c805 rutor: amend to handle mirrors. resolves #4446 2019-02-01 10:55:50 +13:00
Oscar Menéndez García
0300942a8f Update torrentland.yml (#4578) resolves #3708
Update tracker definition.
2019-02-01 08:53:51 +13:00
Garfield69
0ba21e3f18 ilcorsaronero: : add default trackers to magnet. 2019-02-01 07:32:55 +13:00
Garfield69
008b995df4 torrentz2: add default trackers to magnet. resolves #4574 2019-02-01 07:32:44 +13:00
Garfield69
7dd8e247c8 add Alein a Bulgarian semi-private tracker. resolves #4021 2019-01-31 21:49:48 +13:00
Garfield69
c408c6880c add Vanila a Russian semi-private torrent forum. resolves #4003 2019-01-31 17:54:35 +13:00
Garfield69
68aa4184e0 cpasbienclone: new domain www2. 2019-01-31 07:29:33 +13:00
Garfield69
0407b15c1b add shokweb a chinese public ste. resolves #3210 2019-01-30 17:12:55 +13:00
Garfield69
27240bcfed add TorrentKitty a Chinese Public tracker. #3210 2019-01-30 15:21:38 +13:00
Garfield69
a3f0131156 greekteam: possible fix for #4540 2019-01-30 08:28:35 +13:00
Romain Lecat
5924a4fd22 YggTorrent: domain change www2. (#4565) 2019-01-30 06:09:49 +13:00
Garfield69
296c218308 add BTKitty, a public DHT search engine. resolves #2974 2019-01-29 20:35:29 +13:00
Garfield69
bce1689bfe torrent9: new domain wvw. 2019-01-29 19:13:45 +13:00
Garfield69
d0d4dcf11d gktorrent: new domain .tv 2019-01-29 16:36:46 +13:00
Garfield69
5a1f9e4af9 add Torrof public meta-search engine. resolves #4165 2019-01-28 12:33:48 +13:00
xfouloux
a2946ca903 Update archetorrent.yml (#4546)
add options like on yggtorrent to rewrite MULTI with MULTI.FRENCH or ENGLISH etc...
other sames options of rewrite vostfr etc...
2019-01-27 20:12:43 +13:00
Garfield69
a2c881a968 add DIGBT a public DHT search engine. resolves #4344 2019-01-27 20:10:25 +13:00
Garfield69
25ae101654 Merge branch 'master' of https://github.com/Jackett/Jackett 2019-01-26 20:52:17 +13:00
Garfield69
b9c2f8ad5d add GDF76 semi-private site for ITA films in mp4 format optimized for streaming resolves #4253 2019-01-26 20:52:14 +13:00
Lewis Dexter Litanzios
ba39c8ad5b Update README.md (#4534) 2019-01-26 18:39:05 +11:00
maxtop51
a45770f541 Create cpasbienclone.yml (#4545)
* Create cpasbienclone.yml

* Update README.md

* Update cpasbienclone.yml
2019-01-26 14:35:00 +13:00
WSHaRK993
ba565e0376 Delete HDForever.cs (#4539) 2019-01-26 10:36:51 +13:00
WSHaRK993
649d53f857 Incomplete HD-Forever API remplacement. (#4538)
Gazelle API from HD-Forever doesn't push languages, releasers, and download factors. Here is a remplacement.

 src/Jackett.Common/Indexers/HDForever.cs should be deleted.
2019-01-26 10:36:28 +13:00
Garfield69
f612345fac skytorrentsclone: make itorrents link optional. resolves #4542 2019-01-26 10:31:46 +13:00
Garfield69
d8607ee0f2 yggtorrent: new domain www.yggtorrent.gg 2019-01-25 06:32:19 +13:00
flightlevel
8c84bed209 Add BuildOutputPath parameter to publish 2019-01-24 20:17:01 +11:00
Romain Lecat
655448fb74 Fix for YggTorrent shitty URL management. Thanks to @xfouloux for this. Fixes #4504 (#4521)
* Fix for YggTorrent shitty URL management. Thanks to @xfouloux for this. Fixes #4504

* Add option to perform agressive quality mapping, required for some fr anime releases

* Correct search URL for yggtorrent by default

* Revert "Add option to perform agressive quality mapping, required for some fr anime releases"

This reverts commit b74042362c.
2019-01-24 20:15:18 +11:00
flightlevel
15049a4efb VS 15.9 required for .NET Core 2.2
Testing the updater
2019-01-21 21:27:01 +11:00
flightlevel
a90ed2601a Add variants to the updater 2019-01-21 21:18:59 +11:00
flightlevel
fa71356666 Update AngleSharp to v0.10
Breaking changes in AngleSharp v0.10, more information here https://github.com/AngleSharp/AngleSharp/blob/master/doc/Migration.md
2019-01-20 11:09:27 +11:00
flightlevel
12ffb4cbe7 Add missing BuildOutputPath 2019-01-20 10:14:31 +11:00
flightlevel
b67f59e865 Create separate tasks for each NetCore variant 2019-01-20 09:56:38 +11:00
flightlevel
d51dda4434 Merge branch 'master' of https://github.com/Jackett/Jackett 2019-01-20 09:54:59 +11:00
flightlevel
70666c459b Change assembly name to jackett for Non-Windows .NET Core 2019-01-20 09:54:11 +11:00
Garfield69
60b7c7860b Merge branch 'master' of https://github.com/Jackett/Jackett 2019-01-20 07:29:24 +13:00
Garfield69
fc343b336f t9clone: follow redirect plus new domain 2019-01-20 07:29:21 +13:00
flightlevel
8cacbcc9b9 Make build.sh executable 2019-01-19 17:28:13 +11:00
flightlevel
e48a20f93d First steps to make Cake compatible with Linux
Working, but still needs some improvements
2019-01-19 17:23:56 +11:00
kaso17
5d2c64711f Merge branch 'master' of https://github.com/Jackett/Jackett 2019-01-18 11:17:22 +01:00
kaso17
a76becef3a superbits: use cookie login 2019-01-18 11:17:00 +01:00
mrhydejc
82c7900f77 YGG: Enhance sonarr compatibility with anime by renaming episode (xxx -> Exxx) (#4478) 2019-01-18 11:04:06 +01:00
flightlevel
3984af24fd Trigger build 2019-01-18 06:56:39 +11:00
Aurelien
375fc86937 fix parse error in EliteTracker indexer (#4471) 2019-01-16 21:06:53 +01:00
Garfield69
3d99aa3863 torrent9clone: new domain www>www1 2019-01-17 07:53:43 +13:00
Jorman
5e48f764aa shareisland: fetch more results (#4469) 2019-01-16 15:40:53 +01:00
kaso17
3294bbcea3 Shareisland: support users with uploaders column 2019-01-16 13:12:04 +01:00
kaso17
405ff7009f IPTorrents: add alternative links 2019-01-16 12:46:01 +01:00
kaso17
a499989649 SpeedCD: improve error handling 2019-01-16 12:26:43 +01:00
kaso17
45b47268f9 ICE Torrent: fix parsing 2019-01-16 11:29:56 +01:00
kaso17
76dd662fe3 Downloadville: fix definition for users without wait time 2019-01-16 11:25:44 +01:00
kaso17
b6cf6c4e16 bitpiracy: fixes 2019-01-16 11:12:32 +01:00
Jorman
42b4fae278 girotorrent: fetch more results (#4460)
* update girotorrent

possibility to go up to 10 pages during search/sync

* Update girotorrent.yml
2019-01-16 10:54:05 +01:00
kaso17
35b8f726fb XSpeeds: fix empty search 2019-01-15 15:43:50 +01:00
kaso17
d8d8030644 Superbits: change to cookie auth 2019-01-15 13:44:35 +01:00
kaso17
9a417590b6 XSpeeds: disable RSS 2019-01-15 13:20:15 +01:00
kaso17
119c7b2e34 Merge branch 'master' of https://github.com/Jackett/Jackett 2019-01-15 13:06:25 +01:00
kaso17
7df5a64a8b TorrentDay: update site urls 2019-01-15 13:06:05 +01:00
mrhydejc
28e8e765b0 Xthor: fix issue #3847 replace multi keyword (#4445) 2019-01-15 13:01:41 +01:00
kaso17
86169a41c0 BitsPiracy: add indexer
thank you @alexxandeer
2019-01-15 12:55:59 +01:00
Aurelien
5641aa560b fix a parse error for elite-tracker (#4444) 2019-01-13 16:06:03 +13:00
kaso17
0288bd4ad8 update TLS error message to mono BTLS 2019-01-12 16:06:29 +01:00
mrhydejc
399119b2da Xthor: Add an option to search for anime on (#4434) 2019-01-11 12:45:54 +01:00
kaso17
4a03e52cb4 HDOnly: disable freeleech tokens 2019-01-11 12:44:38 +01:00
kaso17
7bcd0b5b86 Merge branch 'master' of https://github.com/Jackett/Jackett 2019-01-10 16:00:16 +01:00
kaso17
9fd4bbae4f YGGtorrent: update legacy URLs 2019-01-10 16:00:07 +01:00
Mystere98
6b536ce62f Xthor: Update Cats (#4430) 2019-01-10 15:54:28 +01:00
CodeMonkey
d878c9e05e HorribleSubs: Fix the Indexer (#4429)
- Now returns batches in results along with individual episodes
- Now returns all episodes for a show instead of just the first page
- No longer makes a bunch of unnecessary API calls (faster results)
2019-01-10 15:53:55 +01:00
snamds
cb8835b878 Newpct: fix Nan size parse (#4428) 2019-01-10 15:53:15 +01:00
flightlevel
e188454fec Use NETStandard for Jackett.Common 2019-01-10 20:22:15 +11:00
flightlevel
ab9d8f6403 Package update 2019-01-10 20:12:57 +11:00
kaso17
ce15cb8bfe TVChaosUK: download relogin 2019-01-09 20:40:50 +01:00
kaso17
9e7d1cc547 Torrent9: update urls 2019-01-09 20:20:25 +01:00
kaso17
7b2657870a BeyondHD: support highligh releases 2019-01-09 20:11:03 +01:00
kaso17
31df2c27dd Greek Team: try to fix definition 2019-01-09 20:01:10 +01:00
kaso17
b64b3504ba EZTV: avoid error 2019-01-09 19:54:53 +01:00
Mariano Gonzalez
af6c732306 Enabled systemd jackett service (#4404) 2019-01-09 19:40:16 +01:00
Kilian Cavalotti
8da6140753 Add HuSh tracker (#4409)
* Create hush.yml

Add HuSh tracker

* Update README.md

Add HuSh tracker
2019-01-09 19:39:55 +01:00
Guillaume Liautard
3c03494d85 jpopsuki: fixed an issue with tabulations in title (#4413) 2019-01-09 19:39:29 +01:00
kaso17
5af3eaa926 TorrentDay: fix download 2019-01-09 19:38:43 +01:00
Garfield69
f79608fe6c torrent9clone: back to .ch #4196 2019-01-06 13:03:21 +13:00
kaso17
316f4f2864 Merge branch 'master' of https://github.com/Jackett/Jackett 2019-01-02 13:42:44 +01:00
kaso17
71babe611a GazelleGames: update categories 2019-01-02 13:42:33 +01:00
kaso17
25ddcb10bb Update README.md 2019-01-02 13:14:04 +01:00
Scott Cooper
4c07918cd4 fix audiobookbay categorymappings id type (#4384) 2019-01-02 13:00:01 +01:00
Scott Cooper
88fc9123e7 args field takes a string (#4385) 2019-01-02 12:59:06 +01:00
kaso17
c38b668ea2 Majomparádé: fix definition 2019-01-01 16:54:55 +01:00
hallengreenn
ea1d86f107 Nordicbits - Add support for christmas theme (#4380)
Better late than never.
All themes are now supported.
2018-12-31 12:51:47 +13:00
Aurimas Navardauskas
a96237b38b Update linkomanija.yml (#4377)
It is Lithuanian tracker not Italian, that is often confused because of the .LT versus .IT domain names, however not sure how it happened here.
2018-12-30 18:51:48 +11:00
Garfield69
5c9f652ef5 gktorrent: back to .net domain 2018-12-30 08:26:29 +13:00
Garfield69
8d72b9a395 readme: AsianCinema is private 2018-12-30 07:59:22 +13:00
HDVinnie
0c3e856086 add AsianCinema (#4374)
* (Add) asiancinema.yml

* (Update) README.md

* Update README.md

* Update asiancinema.yml
2018-12-29 17:41:49 +01:00
kaso17
37216bd0a9 bakabt: remove invite needed note 2018-12-28 18:25:32 +01:00
kaso17
f9ef3b836b BakaBT: more fixes 2018-12-28 18:19:27 +01:00
kaso17
a0d0b2cb40 BakaBT: various improvements 2018-12-28 18:09:59 +01:00
kaso17
590fd5139f SceneHD: use API 2018-12-28 17:52:32 +01:00
kaso17
37ccdbb19d Torrents.Md: removed (closed) 2018-12-28 16:16:18 +01:00
kaso17
cb02cac1e1 RoDVD: fix definition 2018-12-28 16:11:49 +01:00
kaso17
ddb8095dd2 Racing4Everyone: fix definition 2018-12-28 16:11:37 +01:00
kaso17
23ee1145c5 Fuzer: update links 2018-12-28 15:47:05 +01:00
kaso17
431570e696 Anthelion: shorten name 2018-12-28 12:14:16 +01:00
kaso17
ebcb82ed80 HDForever: disable category filtering 2018-12-28 12:07:29 +01:00
kaso17
1352d1528a Magico: update links 2018-12-28 11:08:57 +01:00
kaso17
822dc191dc The Shinning: add support for alternative layout
Thank you @s0mm3rb
2018-12-28 11:03:21 +01:00
Garfield69
41bf6da9c6 cpabien: new domain 2018-12-28 16:56:50 +13:00
kaso17
f3de97be61 SceneHD: use cookie auth 2018-12-27 17:59:16 +01:00
garfield69
869efa32f4 readme: update osx build instructions 2018-12-26 16:37:03 +13:00
Garfield69
332a31afa2 cpabien: back to .bz domain 2018-12-26 07:17:54 +13:00
kaso17
398601d0ef Merge branch 'master' of https://github.com/Jackett/Jackett 2018-12-24 14:13:47 +01:00
kaso17
a5c596c200 HDCenter: add FL slot detection 2018-12-24 14:13:37 +01:00
kaso17
9b3bdc9f36 README: hide linux mono instructions 2018-12-24 13:57:33 +01:00
kaso17
56433c5aa3 README: update linux build instructions 2018-12-24 13:48:40 +01:00
m3ntalsp00n
b8a9eef6cf Add desitorrents to available indexers (#4354)
* Add desitorrents to available indexers

* Update README.md

* Update desitorrents.yml
2018-12-23 19:09:20 +01:00
Garfield69
75aef1b997 gktorrent back to .me domain 2018-12-24 06:35:24 +13:00
flightlevel
af066426fd DateTimeRoutines as only NETStandard 2018-12-23 22:19:15 +11:00
flightlevel
3999e76ae8 Build .NET Core 2018-12-23 22:12:19 +11:00
flightlevel
ef162f07e5 Ignore NU1605 2018-12-23 22:11:47 +11:00
flightlevel
7a9adc283b Update to .NET Core 2.2 2018-12-23 21:54:02 +11:00
flightlevel
7a5407d2c4 Revert "Package update"
This reverts commit eaf53e0f4c.
2018-12-23 21:25:13 +11:00
flightlevel
eaf53e0f4c Package update 2018-12-23 21:16:09 +11:00
flightlevel
81b1e64c9a Add ARM32 builds 2018-12-23 21:03:45 +11:00
flightlevel
61d333cbc3 Don't check for updates if running .NET Core 2018-12-23 21:03:09 +11:00
Garfield69
2c1b6dbf9f gktorrent: back to .org domain 2018-12-23 08:01:52 +13:00
kaso17
7644a5e3bd SpeedCD: fix login 2018-12-21 18:25:24 +01:00
kaso17
7ef2faaf09 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-12-21 18:12:54 +01:00
kaso17
de0dd2b035 include install_service_systemd.sh 2018-12-21 18:12:47 +01:00
Garfield69
ccf0d546e9 gktorrent: new domain 2018-12-21 12:16:44 +13:00
Garfield69
e56f5314b2 cpabien: new domain 2018-12-21 12:14:04 +13:00
kaso17
64ac67f58b BJShare: improve search 2018-12-20 15:57:41 +01:00
kaso17
6735ad030d RuTracker: fix captcha detection 2018-12-20 15:09:48 +01:00
kaso17
041115ff0e 1337x: sort results 2018-12-20 15:01:49 +01:00
kaso17
d239197f0f AlphaRatio: update categories 2018-12-20 14:39:45 +01:00
Garfield69
115e476196 AlphaRatio add UHD cats fix #4333 2018-12-19 08:04:48 +13:00
Garfield69
98439ea414 btdb: gone 2018-12-19 07:06:21 +13:00
Garfield69
4cf798b4b4 incorsaronero: update for new incomplete CA fix #4332 2018-12-18 14:17:50 +13:00
Garfield69
806ed2d44e cpabien: back to .cx 2018-12-18 07:26:55 +13:00
Garfield69
cf77ec8932 yggtorrent: new domain 2018-12-17 07:37:04 +13:00
snamds
a1113c0ef0 Newpct - Legacy site links (#4319)
* 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

* LegacySiteLinks added
2018-12-16 01:40:40 +01:00
kaso17
0138638825 TorrentCCF: update URL 2018-12-15 15:52:29 +01:00
kaso17
8af7944832 Torrent9 clone (torrents9.pw): update URL 2018-12-15 15:52:11 +01:00
kaso17
5d0b33c003 RoDVD: update URL 2018-12-15 15:51:56 +01:00
kaso17
1c1664e8cb IPTorrents: fix error handling 2018-12-15 10:23:41 +01:00
Jorman
3339375a26 HDTorrent.it (#4310)
Update regex to handle better seasons and multiple episode
Freelech torrent support
Minor fix
2018-12-15 11:37:20 +13:00
snamds
887d5d9f59 - Allow download from mirrors (#4298) 2018-12-15 10:56:33 +13:00
Garfield69
ed86046377 gktorrent: forcing https 2018-12-15 10:32:10 +13:00
Garfield69
5887774640 katcrs: new domain plus followredirect 2018-12-15 10:27:02 +13:00
Garfield69
12cf07375e btdb.to domain gone.
using proxy https://btdb.unblocked.app/ until we're sure its not comming back.
2018-12-12 12:53:51 +13:00
HDVinnie
11f4abbb46 (Add) 420files Definition (#4288)
* (Add) 420files.yml

* (Update) README

- add 420files
2018-12-06 12:43:43 +13:00
Bernal Varela Gómez
1a30a7e02d fix Issue #4282. (#4289)
https://github.com/Jackett/Jackett/issues/4282
2018-12-06 12:42:31 +13:00
Garfield69
0614ed1871 skytorrentsclone: new domain 2018-12-06 06:57:17 +13:00
Joel Calado
fca85e6cae scenerush: update rows selector (#4277)
* Add SceneRush tracker

* Add SceneRush tracker to supported list

* rows need to have details.php link
2018-12-05 17:16:39 +01:00
Valentin Olaru
fa093778c5 Update xtremezone.yml (#4276)
New category id
2018-12-05 10:00:20 +13:00
Garfield69
e39451974c wwt new domain 2018-12-05 09:55:13 +13:00
kaso17
488e793a22 TOrrent-tuRK: add layout note. 2018-12-03 11:06:45 +01:00
kaso17
eb5875b820 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-12-03 09:49:34 +01:00
kaso17
b8f5856bac MoreThanTV: improve missing quality tag error 2018-12-03 09:49:26 +01:00
Jorman
0c9acc990d Added a possibility to show donor/vip torrent (#4265) 2018-12-03 12:15:49 +13:00
Joel Calado
723eae7792 Add SceneRush tracker (#4266)
* Add SceneRush tracker

* Add SceneRush tracker to supported list
2018-12-03 11:20:48 +13:00
Lucas
201703ecbc YggTorrent URL update (#4260) 2018-12-02 13:38:08 +01:00
kaso17
bdd62c2572 IPtorrents: improve no torrents found error 2018-12-02 10:35:26 +01:00
kaso17
74e8518060 IPTorrents: add no torrents found check 2018-12-02 10:33:18 +01:00
kaso17
bcfccd83d4 GimmePeers: add relogin 2018-12-02 09:06:40 +01:00
kaso17
c0b9bb64f8 torznab: add jackettindexer element to items 2018-12-01 21:58:06 +01:00
Diego de las Heras
7c4695604a Add Systemd install script (run as service in Linux) (#4258)
* Add Systemd install script (run as service in Linux)

* Add User and WorkingDirectory
2018-12-01 21:31:14 +01:00
Garfield69
4ef83ad215 ArenaBG: Bulgaran semi-private 0day/general tracker. resolves #3989 2018-12-02 08:29:14 +13:00
kaso17
537e25df3b The Pirate Bay: add unofficial proxy note 2018-12-01 15:58:49 +01:00
kaso17
fe4a5f82b1 Cardigann: add followredirect option to search paths 2018-12-01 14:19:50 +01:00
kaso17
a4053d914a README: add qBittorrent note 2018-12-01 13:45:17 +01:00
kaso17
c86d3fb2f3 cpasbien: update URL 2018-12-01 12:49:32 +01:00
kaso17
c3749253b7 TorrentHeaven: custom certificates no longer needed 2018-12-01 12:49:15 +01:00
kaso17
d61bda4f8b Psytorrents: add expired certificate 2018-12-01 12:48:54 +01:00
kaso17
0f839682e1 BJShare: enable IMDB search 2018-12-01 12:37:41 +01:00
kaso17
0a60686023 Cardigann: enable template system for rows selector 2018-12-01 12:12:27 +01:00
kaso17
802ddfe6ee ICE Torrent: fix date again 2018-12-01 12:11:57 +01:00
kaso17
798a6df506 YGG: update legacy URLs 2018-11-30 03:12:36 +01:00
kaso17
09cf5ee06a ICE Torrent: fix date 2018-11-29 19:32:49 +01:00
kaso17
9a4092d7a2 SpeedCD: fix login 2018-11-29 19:20:51 +01:00
kaso17
a466c87d34 Waffles: fix whitespaces in title 2018-11-29 18:55:58 +01:00
Lucas
45327e642e Update tracker's URL (#4222) 2018-11-28 09:03:58 +13:00
Garfield69
4a393cb244 ilcorsaronero: new domain and CA 2018-11-28 08:34:46 +13:00
Garfield69
13c7f18024 magnetdl: forcing https 2018-11-27 08:28:24 +13:00
morpheus133
89eeee5939 Correction for #4199 (#4206)
After the last page a new link was appeared for premium action.
Now it will not parsed as page link
2018-11-23 12:01:39 +13:00
Garfield69
e7d52575ad eztv: follow redirect plus new domain 2018-11-23 07:42:42 +13:00
Garfield69
80371f7666 gktorrent: follow redirect plus new domain 2018-11-23 07:40:04 +13:00
baberone
cff056c71b torrent9 clone (torrrent9.ch): add indexer (#4196)
* Alternative for torrent9.ph

* Update README.md

Added torrent 9 .ch alternative

* torrent9.ch: cleanup

* rename

* Update README.md
2018-11-21 15:02:45 +01:00
lilp
54663f51dd cpabien: add .net domain to legacy URLs (#4193) 2018-11-20 15:04:27 +01:00
kaso17
1a31c23602 YGGtorrent: enable followredirect 2018-11-19 14:10:12 +01:00
kaso17
1e5a6c16e5 torrent9: enable followredirect 2018-11-19 14:09:58 +01:00
kaso17
1dbb4ccea4 cpasbien: update site link and enable follow redirect 2018-11-19 14:09:34 +01:00
kaso17
84d3ebbc87 Cardigann: introduce follow redirect option 2018-11-19 14:05:46 +01:00
kaso17
6489dd99a5 Redtopia: improve error detection 2018-11-19 12:09:48 +01:00
kaso17
7868798857 Blutopia: improve error detection 2018-11-19 12:09:36 +01:00
snamds
03e9ffc9ac Newpct: Movies search added (#4186)
* Make ReleaseInflo class derivation friendly

* Sitelink was not correctly updated

* Preparation

* Movies search added
2018-11-19 11:50:24 +01:00
Garfield69
3858604b79 gktorrent: domain changed 2018-11-19 07:23:05 +13:00
Garfield69
cc2d607ce6 demonoid: gone 2018-11-18 16:29:11 +13:00
Garfield69
9f56be5500 extratorrentclone: gone. 2018-11-18 16:23:48 +13:00
Garfield69
b3d40d1f6f cpabien: domain change 2018-11-17 06:24:47 +13:00
kaso17
9f44ab5d8f HDC: insert GERMAN tag for TvR releases 2018-11-16 17:30:47 +01:00
kaso17
b02a1d01a9 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-11-16 16:51:58 +01:00
kaso17
de114b55b3 HDC: inject german tag for HDC releases 2018-11-16 16:51:42 +01:00
kaso17
487d746f66 WiHD: rewrite/fix indexer
fix #3085, #1698, #2814
2018-11-16 16:51:00 +01:00
Garfield69
4febfc04a9 cpabien: back to https://www.cpabien.io/ domain!! 2018-11-16 07:59:17 +13:00
kaso17
9b867c5949 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-11-15 16:20:49 +01:00
kaso17
50bf9acb4e x264: removed (dead)
https://www.reddit.com/r/trackers/comments/9op98w/x264_is_officially_gone/
2018-11-15 16:20:39 +01:00
Garfield69
dabf592acb yggtorrent: domain chaned. resolves #4164 2018-11-15 12:59:17 +13:00
Garfield69
3f2c2c59b1 katcrs: new domain 2018-11-15 07:33:00 +13:00
kaso17
0212d2f4f4 HDC: cleanup 2018-11-14 18:05:01 +01:00
aurelien
6c1dcd1a7d manage Microsoft logs by NLog (#4080)
* now Microsoft log (Microsoft.*) are correctly supported by Nlog

* Microsoft log are now not logged under level info if tracing is not enabled.

* remove unused prefix NLog.

* Revert "Microsoft log are now not logged under level info if tracing is not enabled."

This reverts commit 00e94204e0.

* microsoft logs in console are preserved.
Only service log is clean of microsoft logs when tracing is not enabled.

* change loglevel min to debug

* Microsoft logs can be reactivate when Enhanced logging is set to true.

* adjust min & max level of serviceMicrosoftRule

* clean Microsoft logs in all NLog targets
2018-11-14 17:52:56 +01:00
kaso17
a2eb4dbdbd HDC: add indexer 2018-11-14 17:35:26 +01:00
kaso17
504573e5f5 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-11-14 16:19:32 +01:00
kaso17
81035a002a Myanonamouse: fix empty search results 2018-11-14 16:19:10 +01:00
Garfield69
0e16d8da74 cpabien: new domain 2018-11-14 08:43:07 +13:00
kaso17
6b460917ef GFXPeers: add freeleech detection 2018-11-13 12:27:18 +01:00
kaso17
9bd65ceaa2 ImmortalSeed: fix skipped first release 2018-11-13 10:28:18 +01:00
kaso17
7b5508d333 Ethor.net: make MULTI replacement configurable 2018-11-13 10:18:40 +01:00
kaso17
4ba9569a08 MyAnonamouse: fix category handling 2018-11-12 18:46:35 +01:00
kaso17
ac1fa68260 Myanonamouse: use API 2018-11-12 18:24:02 +01:00
Senan Kelly
864eb6f1cd move from apollo to orpheus (#4149)
* move from apollo to orpheus

apollo is now https://orpheus.network/
this is not tested, but I imagine the catergories are the same

* fix constructor

* Update README.md
2018-11-12 15:39:05 +01:00
kaso17
cb7acddd61 RARBG: default to all categories
fix #4146
2018-11-12 15:05:22 +01:00
kaso17
383d9ff4f8 Nordicbits: category mapping and template 7 related fixes 2018-11-12 14:45:30 +01:00
kaso17
5eb4dbe550 Anthelion: renamed from TehConnection.me 2018-11-09 17:32:31 +01:00
kaso17
10473c6bd3 SceneHD: add indexer 2018-11-09 16:29:31 +01:00
Garfield69
2ac29148af torrent9: new domain 2018-11-05 11:03:51 +13:00
Garfield69
e5682fc48e yggtorrent: new domain 2018-11-04 09:04:07 +13:00
Garfield69
f332369b53 cpabien: new domain 2018-11-04 08:51:45 +13:00
Garfield69
8a8a114723 1337x: attempt to fetch up to 100 results. resolves #4112 2018-11-03 14:56:14 +13:00
Garfield69
583d17dd36 btstornet: fix for test 2018-11-03 09:24:32 +13:00
Albvadi
751d3e8b96 hdcity: Correct torrents with no grabs yet (#4108) 2018-11-02 17:59:43 +01:00
HDVinnie
60a9008480 README: add known acronyms (#3886) 2018-11-01 16:55:00 +01:00
kaso17
e606363ee7 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-11-01 16:47:55 +01:00
kaso17
fd0c92f439 RARBG: add token renewal to download logic 2018-11-01 16:47:23 +01:00
Garfield69
10b6b08127 ilcorsaroblu: html changes 2018-11-01 13:56:44 +13:00
Garfield69
0b9a0dab5a idopeclone: new results html 2018-10-31 14:45:53 +13:00
kaso17
1c4a2cf563 Hebits: improve failed login error message 2018-10-30 15:56:22 +01:00
kaso17
a93c347672 ToTheGlory: update download selector
link changed and curl is no longer supported
2018-10-30 14:53:32 +01:00
kaso17
683ebca006 Rarbg: add torrent file download option 2018-10-30 12:26:27 +01:00
kaso17
000c57b9c1 Revert "rarbg: optional .torrent from itorrents.org resolves #4063"
This reverts commit 56b8a81248.
2018-10-30 12:08:38 +01:00
kaso17
4c6b946cf9 Shareisland: improve login error detection 2018-10-30 11:45:55 +01:00
kaso17
b3cf51172f IPTorrents: fix login 2018-10-30 11:04:41 +01:00
Garfield69
56b8a81248 rarbg: optional .torrent from itorrents.org resolves #4063 2018-10-30 19:55:12 +13:00
Garfield69
f7107bf37d Revert "rarbg: add .torrent resolves #4063"
This reverts commit ba36c9bdff.
2018-10-30 12:59:17 +13:00
Romain Lecat
c545a49755 Replace MULTI with VOSTFR added (#4093) 2018-10-30 09:14:21 +13:00
Garfield69
19ec3e2aff girotorrent: possible fix for #4092 2018-10-29 08:58:55 +13:00
Garfield69
4846ea000a katcrs: domain update 2018-10-29 08:23:42 +13:00
Alessio Gogna
a29d63e6dc Fix OMDB Key with request limit reached generates a NullReferenceException (#4058) 2018-10-28 18:34:14 +11:00
flightlevel
bd177cbf26 Make Jackett.Server services single instance 2018-10-28 18:30:26 +11:00
flightlevel
93d5acd355 Store the date a build is created 2018-10-28 18:27:10 +11:00
Jorman
7cc19212f5 Update eztv.yml (#4070)
changed domain
2018-10-26 10:10:00 +13:00
Garfield69
ba36c9bdff rarbg: add .torrent resolves #4063
via itorrents.org
2018-10-26 10:07:43 +13:00
Eric Gosselin
734fc31d8e ethor: add MULTI for multi-language torrent (#4062)
add MULTI keyword support for multi-language torrent that include French language
2018-10-25 11:27:55 +13:00
koper89
6c6d55eb63 Feature/fix for720pier (#4061)
* - Fix for 720pier.

* - Fix for size in russian.
2018-10-25 11:26:01 +13:00
Garfield69
17cabb2921 katcrs: new domain. resolves #4057 2018-10-24 09:02:33 +13:00
Jorman
b0250deee1 BigTower: remove Richiesta tag (#4048)
Some rel are request and this tag was appended to the rel name, this mod remove that tag
2018-10-22 16:28:48 +02:00
Jorman
de8adf382b more specific td selection for shareisland (#4034)
* more specific td selection for shareisland
2018-10-22 13:22:42 +13:00
Tom Dowden
c31b9d84f0 Update IPTorrents.cd (#4044)
adding extra failover URLs due to more blocking in the UK
2018-10-22 06:17:22 +13:00
kaso17
2bdf899927 HDHome: try to fix login 2018-10-21 16:07:11 +02:00
kaso17
2101ebb2de M-Team - TP: add support for disabled comments column 2018-10-21 16:02:11 +02:00
Justin Kromlinger
a92e0bef37 Update TorrentSyndikat indexer (#4042)
* TorrentSyndikat: Fix cat id retrieval
* TorrentSyndikat: Add ability to read file count, fix size retrieval
2018-10-21 07:46:27 +13:00
3744111
090ee7b093 hdtorrents-rank-freeleech (#4038)
* hdtorrents-rank-freeleech

Sets DownloadVolumeFactor based on user rank

* Update HDTorrents.cs

* Update HDTorrents.cs

* Update HDTorrents.cs

* Update HDTorrents.cs
2018-10-21 07:45:19 +13:00
flightlevel
4cd184ae72 Dxdhd: Fix invalid category 2018-10-20 21:13:44 +11:00
flightlevel
642f990862 Warn user that they are using an old version of Jackett 2018-10-20 21:09:29 +11:00
flightlevel
829347cba2 Update User-Agent 2018-10-20 20:47:18 +11:00
snamds
ca39b85cc2 Newpct - language (#4037)
* Make ReleaseInflo class derivation friendly

* -Bugfix. Language info was lost
-Classic match repaired.
2018-10-20 18:48:53 +13:00
HDVinnie
7a57e2d302 (Add) dxdhd.yml (#4039) resolves #4035
* (Add) dxdhd.yml
2018-10-20 17:53:26 +13:00
Garfield69
49de2b0a93 yggtorrent: new domain, resolves #4029 2018-10-20 06:34:38 +13:00
Garfield69
a2bd2615c1 idopeclone: new domain with improved results
.top redirects to .site
now returns seeds, files, full magnet (we used to have to build our own from the hashkey)
also added fetching 5 pages to bump results from 10 to 50
2018-10-19 16:13:14 +13:00
Garfield69
71d368689c yggtorrent: optional replace VOSTFR with ENGLISH. resolves #4023 2018-10-19 08:37:52 +13:00
Garfield69
e1515b468c TPB: fix cat 400 2018-10-18 08:12:42 +13:00
Garfield69
398f0993f4 hdtorrentsit: domain change resolves #4020 2018-10-18 06:16:09 +13:00
morpheus133
c846eb4330 Second part of correction #3997 (#4017)
- try/catch block for torrent parsing
Sonarr test button was failed because an invalid torrent.
2018-10-17 19:09:33 +13:00
Garfield69
cae6d4ed73 issue_template: self help suggestions 2018-10-17 08:06:04 +13:00
xfouloux
b286dc1c7f Update metal-iplay-ro.yml (#4012) 2018-10-16 15:46:56 +13:00
xfouloux
61a69472c5 Update metal-iplay-ro.yml (#4011)
Selector update, else it would also take the table header, leading in HTML errors too, like rockbox.

I don't get why if i use 
```
selector: tr:has(a[href^="download2.php?id="])
```

it won't work fine either
2018-10-16 15:23:45 +13:00
xfouloux
a04fc6f123 Update metal-iplay-ro.yml (#4009) domain change 2018-10-16 14:55:32 +13:00
xfouloux
86964e1cc6 Update rockbox.yml (#4010)
Need to fix the row selector by indicating the right table and the tr:has else there is still a lot of errors with the HTML because it selects the header of the table too. It was working still, but better like that.

I'm not having any html parse errors now.
2018-10-16 14:54:22 +13:00
garfield69
2d7c30dbde issue_template: suggest upgrading Jackett. 2018-10-16 10:12:41 +13:00
kaso17
5b6d1ccc7b NCore: fix test (limit=0) 2018-10-15 17:17:42 +02:00
kaso17
b9b826c34c Magico: fix selectors 2018-10-15 17:00:35 +02:00
kaso17
b33018563b YTS: fix API 2018-10-15 17:00:19 +02:00
kaso17
033070d9a9 Shareisland: add forbidden error selector 2018-10-15 16:32:11 +02:00
kaso17
8d67d1bf37 2 Fast 4 You: update URL 2018-10-15 16:31:54 +02:00
Garfield69
f9143d14e5 rockbox: fix dateparse.
see https://github.com/Jackett/Jackett/wiki/Definition-format#dateparse
2018-10-15 20:46:58 +13:00
xfouloux
a601a25652 Update rockbox.yml (#3981)
date fix and selector change on rows
2018-10-15 16:21:52 +13:00
bonny1992
6451525eb1 Normalized tv series listing for ArabaFenice (#4001)
* normalized tv series listing for ArabaFenice

* added keywordsfilter
2018-10-15 12:08:48 +13:00
Garfield69
acd1902734 nnm-club: optionally strip russian letters. #3279
was hardcoded to strip russian letters.
now optional.
default is to strip.
2018-10-15 09:14:18 +13:00
Garfield69
9d68ca86da ilcorsaronero: domain change and fix for invalid CA. #3968 2018-10-14 20:07:08 +13:00
Garfield69
5b9165cd2f nnm-club: bypass invalid CA 2018-10-14 12:44:01 +13:00
LuisMi
8a48874b42 Add definition for EliteTorrent.biz (#3990) resolves #1293 2018-10-14 10:17:12 +13:00
Garfield69
b0132da030 ilcorsaroblu: adjustments for their recent changes 2018-10-14 08:23:08 +13:00
3744111
175d7f5379 hdtorrent-uploader-support (#3985)
Adds support for higher user classes like uploader
2018-10-13 18:10:46 +13:00
Garfield69
dc8023afe1 prostylex: public 0day and general tracker. resolves #3966 2018-10-12 21:15:08 +13:00
xfouloux
d956872d95 Rockbox: back to semi-private (#3975) 2018-10-12 17:15:19 +13:00
Garfield69
35defc04e0 katcrs: domain change. resolves #3965 2018-10-12 17:01:57 +13:00
garfield69
a2f5e5a5aa rockbox is semi-private 2018-10-12 16:56:09 +13:00
garfield69
ec5a8e6e33 Romanian Metal Torrent 2018-10-12 16:44:17 +13:00
xfouloux
f00aa5faca metaliplayro: Romanian Metal Torrent, a private music tracker (#3963) resolves #2587 2018-10-12 16:43:16 +13:00
Garfield69
51ece1726c ilcorsaroblu: #3970
they have been playing with the search page, and appear to have dropped the size field.
now defaulting to 500MB unless it pops up again
2018-10-12 11:43:22 +13:00
Garfield69
579190b4bd RockBox: public heavy metal music tracker. resolves #3009 2018-10-12 10:31:18 +13:00
xfouloux
fd4d8d490a Create rockbox.yml (#3964)
#3009
2018-10-12 10:08:33 +13:00
Garfield69
e2fe43b3a7 horriblesubs: cleanup plus ensure guid is always created 2018-10-12 09:47:07 +13:00
Gerdus van Zyl
bedde1a3db Fix for #3957 (#3967)
* Initial Version

* Episode number filtering

* fix for issue #3957
handle case where result has no torrent file link
2018-10-12 06:55:30 +13:00
xfouloux
da638ad712 Update yts.cs (#3962) resolves #3182
add [YTS] in front of movie name
2018-10-11 15:40:59 +13:00
CodeMonkey
10ae5e9d5d Make sure release title contains "[HorribleSubs]" (#3947)
* This is needed for things like configuring tag restrictions in Sonarr
2018-10-10 08:01:25 +13:00
Garfield69
71749ba8db Merge branch 'master' of https://github.com/Jackett/Jackett 2018-10-10 07:59:54 +13:00
Garfield69
4373c38869 yts: yes, the domain changed back to .am again. resolves #3948 2018-10-10 07:59:47 +13:00
morpheus133
2a17783a9c - Add pagination support for ncore (#3943)
- Correct handling of Descriptions
- Add hun tag to torrent title if it contains hungarian audio but not visible in title
2018-10-10 06:30:00 +13:00
Jorman
a184ad4d7c Fix some rows for ilcorsaroblu (#3942) 2018-10-10 06:29:08 +13:00
Garfield69
acc1e7e65a gktorremt: they are forcing to https 2018-10-09 15:22:37 +13:00
Garfield69
95ffd0caa3 btdb: fix test #3851 2018-10-09 15:19:39 +13:00
Garfield69
b0e788788f cpabien: domain changed again 2018-10-09 15:14:16 +13:00
Garfield69
80f0c1b7da yggtorrent: domain change. resolves #3935 2018-10-08 20:59:52 +13:00
Garfield69
7abdd0d817 resolve #3914
sites that don't provide seeders now default to 1 instead of 999
2018-10-08 15:37:25 +13:00
Garfield69
736330bea3 torrentcouch: new domain. resolves #3924 2018-10-07 07:09:55 +13:00
Garfield69
accd06d291 YTS: domain back to yts.ag. resolves #3908 2018-10-06 10:16:49 +13:00
Garfield69
fed8294ae0 gktorrent: domain changed. resolves #3912 2018-10-06 06:17:54 +13:00
Garfield69
1093355e77 Revert "mteamtp: selector mods. possible solve for #3907"
This reverts commit 4f96f437ad.
2018-10-05 11:05:07 +13:00
Garfield69
aae73741e8 Revert "mteamtp: selector order out by one. possible resolve for #3907"
This reverts commit 17002a6ede.
2018-10-05 11:04:55 +13:00
Garfield69
17002a6ede mteamtp: selector order out by one. possible resolve for #3907 2018-10-05 10:00:39 +13:00
Garfield69
4f96f437ad mteamtp: selector mods. possible solve for #3907 2018-10-05 09:10:28 +13:00
Garfield69
335ea77e9e tehconnectionme: new domain. resolves #3904 2018-10-05 06:54:39 +13:00
Garfield69
41a4dc2922 audiobookbay: fix details and add banner #3160 2018-10-04 15:20:21 +13:00
Garfield69
ee1d7a7625 audiobookbay: add size, category, date, and try to grap 35 results. #3160 2018-10-04 09:33:23 +13:00
Jorman
e9aa0edc37 Update certificate key (#3895) resolves #3892 2018-10-04 06:53:54 +13:00
Garfield69
e64d7ea947 katcrs: domain change. 2018-10-03 11:43:20 +13:00
Garfield69
8eb0415aaf gktorrent: domain changed. fix #3888 2018-10-03 06:51:04 +13:00
HDVinnie
ef20198a4f (Update) racing4everyone.yml (#3883)
- add Global Double Upload
- add translations
- all credit to @garfield69
2018-09-30 06:47:33 +13:00
HDVinnie
6c6d379002 (Update) btxpress.yml (#3882)
- add Global Double Upload
- add translations
- all credit to @garfield69
2018-09-30 06:47:02 +13:00
HDVinnie
7c2a343629 (Update) redtopia.yml (#3881)
- add translations
- all credit to @garfield69
2018-09-30 06:46:35 +13:00
HDVinnie
ea2e88d6bb (Update) blutopia.yml (#3880)
* (Update) blutopia.yml

- add translations
- all credit to @garfield69

* (Fix) Typo
2018-09-30 06:45:43 +13:00
HDVinnie
abaf909ef1 (Update) blutopia.yml (#3879)
- add Global Double Upload
2018-09-30 06:44:30 +13:00
Garfield69
74054523c5 torrentheaven: domain change. resolves #3870 #3867 2018-09-29 21:22:37 +12:00
Garfield69
37daacf9fa hd4free: translations for date field. resolves #3878 2018-09-29 20:58:20 +12:00
eybox
b58dc51f8d Adding Audio/Music support to the tracker Zamunda.net (#3875)
* Adding Audio/Music support to the tracker

So far it has had only Movies and TV shows, but now I'm also adding Audio/Music support for this tracker

* Update zamundanet.yml
2018-09-27 22:27:58 +12:00
Garfield69
6c661a4974 rarbg: bump delay between http requests from 2.0 to 2.1
to satisfy the api 1req/2s limit.
2018-09-27 15:12:33 +12:00
xfouloux
7a49ddda3a Update yggtorrent.yml to ADD MULTI.ENGLISH (#3874)
* Update yggtorrent.yml to ADD MULTI.ENGLISH

Add the MULTI.ENGLISH option in rewrite MULTI

* fix

removed the comma
2018-09-27 13:24:03 +12:00
Garfield69
5e4cb3581d bt-scene: gone.
if it shows up again we can always add it back.
2018-09-26 20:08:47 +12:00
Garfield69
968c2ca3a6 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-09-26 07:57:44 +12:00
Garfield69
af4fb5c6a0 katcrs: andmatch 2018-09-26 07:57:42 +12:00
Justin Kromlinger
fc7d5a0e35 Update definition for bittorrentfiles.me (#3864) 2018-09-26 07:25:21 +12:00
Garfield69
2a7c693917 possible solve for #3846 part2
make category selector more generic
2018-09-26 07:22:19 +12:00
Garfield69
838ad77d7f magico: possible solve for #3846 2018-09-25 18:27:13 +12:00
Garfield69
3978ba6c04 zooqle: add a missing category 2018-09-25 16:42:29 +12:00
Garfield69
60554c25d9 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-09-25 14:09:31 +12:00
Garfield69
bd03c903d0 horriblesubs: fix #3841 generate a Guid. 2018-09-25 14:09:27 +12:00
halali
113e5d658c Update Trezzor (#3839) 2018-09-24 19:25:17 +10:00
flightlevel
f9b4b5a76c Attempt to handle not found System.Runtime.InteropServices.RuntimeInformation
https://github.com/Jackett/Jackett/issues/3816
2018-09-24 19:24:17 +10:00
Garfield69
2f378210d9 btstornet: added public bt-scene clone 2018-09-24 19:21:43 +12:00
Garfield69
e5de468899 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-09-24 16:18:31 +12:00
Garfield69
204d96bcec speed-share: oops, left out an element. #3836 2018-09-24 16:18:28 +12:00
kaso17
9e37b1429a Myanonamouse: fix relogin 2018-09-23 10:55:42 +02:00
Garfield69
6b61e22f95 speed-share: possible solve for #3836 2018-09-23 10:03:24 +12:00
Garfield69
c3dffe42be rename tgx and skytclone for conformity 2018-09-22 20:05:57 +12:00
Garfield69
796947fd6f torrentcouch: added this public tv tracker. resolves #3797
this site sucks.
the search results contain just the title and details link, no files, seeders, date or other useful details.
and despite search results specifying 720p for example, the details page contains download links for any related quality of the show, its pot luck which is the first  link, it might be SD, 720p, .torrent or magnet, or antyhing else for that matter.
the site is not really suitable for jackett but ive added it for those that want to use it.
2018-09-22 12:40:52 +12:00
Garfield69
77b1da3089 skytorrentsclone: added this clone of the original SkyTorrents tracker. resolves #3103 2018-09-22 10:03:23 +12:00
Garfield69
f3c6acf634 katcrs: added public tracker KickAssTorrent clone. resolves #2828 2018-09-21 21:47:58 +12:00
Garfield69
ab810a20db torrentgalaxyorg: add this public tracker. resolves #3792 2018-09-21 17:36:40 +12:00
Garfield69
60f1be6f18 hd4free: correct cat7 2018-09-21 16:19:34 +12:00
Jonathan
ab6f7d5218 Update ethor.yml (#3834)
- Fix language vfq (French version with voice in Quebec) in sonarr. Sonarr tell episode is in english but episode is in french
- Fix some tv show have space between season number and episode number
2018-09-19 12:51:47 +12:00
Garfield69
67f50e88a3 IdopeClone: replacement clone of Idope which is gone. Resolves #3832 2018-09-19 12:34:03 +12:00
Garfield69
79a354c6d9 hdhome: standardise link and paths 2018-09-18 15:41:42 +12:00
Garfield69
ee20b141da hd4free: prevent updater blowing away new site indexer 2018-09-18 14:33:45 +12:00
HDVinnie
0c67c6322a (Add) hd4free.yml (#3830)
* (Add) hd4free.yml

* (Update) README
2018-09-18 14:31:32 +12:00
Garfield69
99ed3fbc2c horriblesubs: cosmetic change to description
the n-dash does not decoded
2018-09-18 06:52:50 +12:00
kaso17
ef92bf5342 torznab: add padding to imdb 2018-09-17 19:06:53 +02:00
kaso17
053d2be3f3 HorribleSubs: add legacy URL 2018-09-17 18:48:37 +02:00
kaso17
c155bf8c8c Myanonamouse: reset cookies on login 2018-09-17 17:59:21 +02:00
kaso17
e1232800c6 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-09-17 16:43:24 +02:00
kaso17
7a2c0bf260 HTTPWebClient: improve mono relative redirect bug workaround 2018-09-17 16:43:09 +02:00
kevinpawsey
203b5d1e37 AudioBookBay: add indexer (#3820)
* Create audiobookbay.yml

Basics of scraping AudioBookBay.

Will only scrape the first page at the moment, but seems to work ok.

* Update README.md

Added AudioBookBay in Supported Public Trackers

* Update README.md
2018-09-17 16:29:57 +02:00
kaso17
1325fc6391 TorrentDay: update default URL 2018-09-17 15:50:30 +02:00
kaso17
1c3bc3cbf4 UI: fix imdb link generation 2018-09-17 15:39:42 +02:00
Garfield69
8509276972 arabafenice: they are forcing https 2018-09-17 09:17:34 +12:00
Garfield69
e7710489ca nyaa.si: incomplete CA chain from lets encrypt CA provider. #3730 2018-09-16 08:46:03 +12:00
Garfield69
f6a669ea46 yggtorrent: switch to using id for form 2018-09-16 08:20:24 +12:00
Garfield69
68ad01e346 cpabien: new domain www -> ww1 2018-09-16 07:59:21 +12:00
Garfield69
ffda2c8269 gktorrent: they are forcing https 2018-09-16 07:56:12 +12:00
Garfield69
896b2ab954 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-09-15 21:56:01 +12:00
Garfield69
bbcec8103d HorribleSubs: provide missing data
for apps that use Jackett as a proxy, and rely ion the existence of category, size, etc, I've populated the returned results with the missing anime category, and default values for seeders, leechers, size, downloadvolumefactor, and uploadvolumefactor.
2018-09-15 21:55:54 +12:00
Lucas
8f0ba9cefe Update YGGtorrent url (#3803)
* Update YGGtorrent url

* Update yggtorrent.yml
2018-09-15 21:19:13 +12:00
203 changed files with 8312 additions and 3939 deletions

1
.gitattributes vendored
View File

@@ -6,6 +6,7 @@
# Declare files that will always have LF line endings on checkout.
*.yml text eol=lf
*.sh text eol=lf
# Declare files that will always have CRLF line endings on checkout.
*.cs text eol=crlf

View File

@@ -1,7 +1,11 @@
**Please use the search bar** at the top of the page and make sure you are not creating an already submitted issue. Duplicating issues makes it more difficult for everyone to follow. Your issue may have already been solved in the past as well.
Provide a description of the feature request or bug, the more details the better.
If you are experiencing an issue with a tracker, a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
If you are experiencing an issue with a tracker, then:
1. Use your browser to check you can access the site directly, and if a login is required, check you can login and that you do not have any outstanding account issues.
2. If you haven't already, try upgrading to the latest version of Jackett, your issue may have already been resolved.
3. If it is still not working for you, then a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
**Jackett version**:
**Mono version** (if not using Windows):

198
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), 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/), 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.
@@ -24,52 +24,70 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Anidex
* Anime Tosho
* AniRena
* AudioBookBay
* BTstor.net
* btbit
* BTDB
* BT-Scene
* BTKitty
* cpasbien
* cpasbienClone
* DIGBT
* ETTV
* EliteTorrent.biz
* ExtraTorrent.ag
* ExtraTorrentClone
* EZTV
* Frozen Layer
* GkTorrent
* Horrible Subs
* Idope
* IdopeClone
* Il Corsaro Nero <!-- maintained by bonny1992 -->
* Il Corsaro Blu
* Isohunt2
* KATcrs
* KickAssTorrent
* KickAssTorrent (thekat.se clone)
* LimeTorrents
* MagnetDL
* MejorTorrent <!-- maintained by ivandelabeldad -->
* Newpct (aka: tvsinpagar, descargas2020, torrentlocura, torrentrapid, etc)
* Monova
* Newpct (aka: tvsinpagar, descargas2020, torrentlocura, torrentrapid, tumejortorrent, pctnew, etc)
* Nyaa.si
* Nyaa-Pantsu
* Nyoo
* ProStyleX
* RARBG
* RuTor
* shokweb
* ShowRSS
* SkyTorrentsClone
* sukebei.Nyaa.si
* sukebei-Pantsu
* The Pirate Bay
* TNTVillage <!-- maintained by bonny1992 -->
* Tokyo Toshokan
* Torlock
* TorrentCouch
* Torrent Downloads
* TorrentFunk
* TorrentGalaxy.org
* TorrentKitty
* Torrent9
* Torernt9 clone (torrents9.ch)
* Torrentz2
* Torrof
* World Wide Torrents
* YTS.ag
* Zooqle
### Supported Semi-Private Trackers
* 7tor
* Alein
* ArenaBG
* CzTorrent
* Deildu
* Film-Paleis
* Gay-Torrents.net
* Gay-Torrents.org
* GDF76
* Kinozal
* LostFilm.tv
* Mega-Bliz
@@ -79,9 +97,11 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Newstudio
* NetHD
* NoName Club
* RockBox
* RuTracker
* SkTorrent
* Union Fansub
* Vanila
* Xtreme Zone
* YggTorrent
* Ztracker
@@ -89,26 +109,29 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
### Supported Private Trackers
* 2 Fast 4 You
* 3D Torrents
* 3evils
* 420files
* 720pier
* Abnormal
* Acid-Lounge
* AlphaRatio
* AlphaRatio (AR)
* AnimeBytes
* AnimeTorrents
* AnimeTorrents (AnT)
* Anthelion
* AOX
* Apollo (XANAX)
* ArabaFenice
* Arche Torrent
* AsianCinema
* AsianDVDClub
* AST4u
* Audiobook Torrents
* Awesome-HD
* Avistaz
* Awesome-HD (AHD)
* Avistaz (AsiaTorrents)
* B2S-Share
* Back-ups
* BakaBT [![(invite needed)][inviteneeded]](#)
* BakaBT
* bB
* BeyondHD
* BeyondHD (BHD)
* BIGTorrent
* BigTower
* Bit-City Reloaded
@@ -118,113 +141,121 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* BitMe
* BitMeTV
* BitSoup [![(invite needed)][inviteneeded]](#)
* BitsPiracy
* Bitspyder
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
* BJ-Share
* BlueBird
* Blutopia
* Blutopia (BLU)
* Brasil Tracker
* BroadcastTheNet
* BroadcastTheNet (BTN)
* BrokenStones
* BTGigs
* BTNext
* BTXpress
* BTNext (BTNT)
* BTXpress (BTX)
* Carpathians
* CasStudioTV
* CCFBits
* CGPeers
* CHDBits
* Cinematik
* Cinemageddon
* CinemaZ
* CinemaZ (EuTorrents)
* Classix
* DanishBits
* DataScene
* Demonoid
* DesiTorrents
* Diablo Torrent
* DigitalHive
* Downloadville
* Dragonworld Reloaded
* Dream Team
* DXDHD
* EliteHD [![(invite needed)][inviteneeded]](#)
* Elit Tracker
* Elite-Tracker
* Empornium
* Empornium (EMP)
* eStone
* Ethor.net (Thor's Land)
* FANO.IN
* FileList
* FileList (FL)
* Femdomcult
* Freedom-HD
* FullMixMusic
* FunFile
* FunkyTorrents
* FunkyTorrents (FT)
* Fuzer
* GAYtorrent.ru
* GazelleGames
* GazelleGames (GGn)
* Gfxnews
* GFXPeers
* GigaTorrents
* GimmePeers <!-- maintained by jamesb2147 -->
* Girotottent
* GODS [![(invite needed)][inviteneeded]](#)
* GODS
* Greek Team
* HacheDe
* Hardbay
* HD-Forever
* HD-Only
* HD-Space
* HD4Free (HD4)
* HD-Forever (HDF)
* HD-Only (HDO)
* HD-Space (HDS)
* HD-Spain
* HD-Torrents
* HD-Torrents (HDT)
* HD-Bits.com
* HDBits
* HDChina
* HDChina (HDWing)
* HDCity
* HDHome
* HDHome (HDBigger)
* HDME
* HDSky
* HDTorrents.it
* Hebits
* Hon3y HD
* HQSource
* HuSh
* Hyperay
* ICE Torrent
* I Love Classics
* Immortalseed
* inPeril
* Insane Tracker
* IPTorrents
* IPTorrents (IPT)
* JPopsuki
* Kapaki
* Karagarga
* LinkoManija
* LosslessClub
* M-Team - TP
* Magico
* M-Team (TP)
* Magico (Trellas)
* Majomparádé
* Manicomio Share
* Mononoké-BT
* MoreThanTV
* MoreThanTV (MTV)
* MyAnonamouse
* myAmity
* MySpleen
* NCore
* Nebulance
* Nebulance (NBL)
* New Real World
* NordicBits
* Norbits <!-- added by DiseaseNO but no longer maintained? -->
* NordicBits (NB)
* Norbits
* notwhat.cd
* Orpheus
* Ourbits
* Passione Torrent <!-- maintained by bonny1992 -->
* PassThePopcorn
* PassThePopcorn (PTP)
* PirateTheNet
* PiXELHD
* PolishSource
* PolishTracker
* Pretome
* PrivateHD
* PrivateHD (PHD)
* Psytorrents
* PT99
* PTFiles
* PuntoTorrent
* PWTorrents (PWT)
* Racing4Everyone (R4E)
* Redacted (PassTheHeadphones)
* Red Star Torrent
@@ -233,8 +264,11 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* RevolutionTT
* RGU
* RoDVD
* Romanian Metal Torrent
* SceneFZ
* SceneHD
* SceneReactor
* SceneRush
* SceneTime
* SDBits
* Secret Cinema
@@ -248,17 +282,17 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* SportsCult
* SportHD
* Superbits
* TakeaByte
* Tasmanit
* TBPlus
* TehConnection.me
* TenYardTracker
* The Empire
* The Geeks
* The Horror Charnel
* The Horror Charnel (THC)
* The Occult
* The New Retro
* The Place
* The Shinning
* The Shinning (TsH)
* The Show
* The Vault
* The-Torrents
@@ -274,15 +308,15 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* TorrentHR
* Torrenting
* Torrentland
* TorrentLeech
* Torrents.Md
* TorrentSeeds
* TorrentLeech (TL)
* TorrentSeeds (TS)
* Torrent-Syndikat
* TOrrent-tuRK (TORK)
* TorViet
* ToTheGlory
* TranceTraffic
* Trezzor
* TurkTorrent (TT)
* TV Chaos UK
* TV-Vault
* u-torrents (SceneFZ)
@@ -290,11 +324,11 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Ultimate Gamer Club
* Waffles
* World-In-HD
* WorldOfP2P
* x-ite.me
* x264
* WorldOfP2P (WOP)
* x-ite.me (XM)
* xBytesV2
* XSpeeds
* XWTorrents (XWT)
* Xthor
* ExoticaZ (Your Exotic Torrents)
* Zamunda.net
@@ -307,6 +341,14 @@ Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maint
A special "all" indexer is available at `/api/v2.0/indexers/all/results/torznab/api`.
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.)
* 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
* total results are limited to 1000
To get all Jackett indexers including their capabilities you can use `t=indexers` on the all indexer. To get only configured/unconfigured indexers you can also add `configured=true/false` as query parameter.
## Installation on Windows
@@ -342,6 +384,14 @@ If you want to run it with a user without a /home directory you need to add `Env
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)
@@ -402,7 +452,7 @@ location /jackett {
You can pass various options when running via the command line, see --help for details.
* __Error "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."__
* __Error "An error occurred while sending the request: Error: TrustFailure (A call to SSPI failed, see inner exception.)"__
This is often caused by missing CA certificates.
Try reimporting the certificates in this case:
@@ -423,45 +473,65 @@ To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/a
Please supply as much information about the problem you are experiencing as possible. Your issue has a much greater chance of being resolved if logs are supplied so that we can see what is going on. Creating an issue with '### isn't working' doesn't help anyone to fix the problem.
## Contributing
All contributions are welcome just send a pull request. Jackett's framework allows our team (and any other volunteering dev) to implement new trackers in an hour or two. If you'd like support for a new tracker but are not a developer then feel free to leave a request on the [issues page](https://github.com/Jackett/Jackett/issues). It is recommended to use Visual Studio 2017 when making code changes in this project. You can download the community version for free [here](https://www.visualstudio.com/downloads/).
Jackett's framework typically allows our team and volunteering developers to implement new trackers in a couple of hours
Depending on logic complexity, there are two common ways new trackers are implemented:
1. simple [definitions](http://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Definitions) (.yml / YAML), and;
2. advanced (native) [indexers](http://github.com/Jackett/Jackett/tree/master/src/Jackett.Common/Indexers) (.cs / C#)
Read more about the [simple definition format](https://github.com/Jackett/Jackett/wiki/Definition-format).
If you are a developer then it's recommended to download the free community version of [Visual Studio](http://visualstudio.com)
If you are not a developer and would like a (new) tracker supported then feel free to leave an [issue](https://github.com/Jackett/Jackett/issues) request.
All contributions are welcome just send a pull request.
## Building from source
### Windows
* Install the .NET Core [SDK](https://www.microsoft.com/net/download/windows)
* Open the Jackett solution in Visual Studio 2017 (version 15.7 or above)
* 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
* In the drop down menu of the run button select "Jackett.Server" instead of "IIS Express"
* Build/Start the project
### OSX
NOTE: msbuild is included in the mono release.
* Install Homebrew https://brew.sh
* open terminal
* brew install nuget mono
* git clone https://github.com/Jackett/Jackett.git
* cd Jackett/src
* nuget restore Jackett.sln
NOTE: if you get the error "NU1102: Unable to find package Microsoft.AspNetCore with version (>= 2.1.2)" while restoring packages, you'll need to install it manually.https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.302-macos-x64-installer then delete the entire project directory and restart from a new clone
* msbuild Jackett.Server/Jackett.Server.csproj /t:Build /p:Configuration=Debug
* curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin
* mono Jackett.Server/bin/Debug/JackettServer.exe
```bash
# manually install osx dotnet via:
https://dotnet.microsoft.com/download?initial-os=macos
# then:
git clone https://github.com/Jackett/Jackett.git
cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r osx-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/netcoreapp2.2/osx-x64/JackettConsole # run jackett
```
### Linux
```bash
sudo apt install mono-complete nuget msbuild # install build tools (debian/ubuntu)
sudo apt install mono-complete nuget msbuild dotnet-sdk-2.2 # install build tools (debian/ubuntu)
git clone https://github.com/Jackett/Jackett.git
cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r linux-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/netcoreapp2.2/linux-x64/JackettConsole # run jackett
```
<!--
# mono version (currently broken)
nuget restore Jackett.sln # prepare dependencies
msbuild Jackett.Server/Jackett.Server.csproj /t:Build /p:Configuration=Debug # compile
mono Jackett.Server/bin/Debug/JackettServer.exe # run jackett
```
-->
## Screenshots

View File

@@ -1,6 +1,10 @@
version: 0.10.{build}
skip_tags: true
image: Visual Studio 2017
image:
- Visual Studio 2017
- Ubuntu
environment:
APPVEYOR_YML_DISABLE_PS_LINUX: true
configuration: Release
assembly_info:
patch: true
@@ -17,7 +21,8 @@ dotnet_csproj:
file_version: '{version}'
informational_version: '{version}'
build_script:
- ps: .\build.ps1
- ps: .\build.ps1 --target=Default
- sh: ./build.sh --target=Linux
test: off
before_deploy:
- ps: ${env:release_description} = ( Get-Content -LiteralPath BuildOutput/ReleaseNotes.txt -Encoding UTF8 ) -join "`n";

View File

@@ -16,6 +16,7 @@ var configuration = Argument("configuration", "Debug");
var workingDir = MakeAbsolute(Directory("./"));
var artifactsDirName = "Artifacts";
var testResultsDirName = "TestResults";
var netCoreFramework = "netcoreapp2.2";
//////////////////////////////////////////////////////////////////////
// TASKS
@@ -25,8 +26,17 @@ Task("Info")
.Does(() =>
{
Information(@"Jackett Cake build script starting...");
Information(@"Requires InnoSetup and C:\cygwin to be present for packaging (Pre-installed on AppVeyor)");
Information(@"Requires InnoSetup and C:\cygwin to be present for packaging (Pre-installed on AppVeyor) on Windows");
Information(@"Working directory is: " + workingDir);
if (IsRunningOnWindows())
{
Information("Platform is Windows");
}
else
{
Information("Platform is Linux, Windows builds will be skipped");
}
});
Task("Clean")
@@ -39,6 +49,8 @@ Task("Clean")
CleanDirectories("./" + artifactsDirName);
CleanDirectories("./" + testResultsDirName);
CreateDirectory("./" + artifactsDirName);
Information("Clean completed");
});
@@ -67,41 +79,26 @@ Task("Run-Unit-Tests")
Results = new[] { new NUnit3Result { FileName = resultsFile } }
});
if(AppVeyor.IsRunningOnAppVeyor)
if (AppVeyor.IsRunningOnAppVeyor && IsRunningOnWindows())
{
AppVeyor.UploadTestResults(resultsFile, AppVeyorTestResultsType.NUnit3);
}
});
Task("Check-Packaging-Platform")
Task("Package-Windows-Full-Framework")
.IsDependentOn("Run-Unit-Tests")
.Does(() =>
{
if (IsRunningOnWindows())
{
CreateDirectory("./" + artifactsDirName);
Information("Platform is Windows");
}
else
{
throw new Exception("Packaging is currently only implemented for a Windows environment");
}
});
Task("Package-Windows-Full-Framework")
.IsDependentOn("Check-Packaging-Platform")
.Does(() =>
{
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = "./BuildOutput/Experimental/net461/win7-x86/Jackett";
string buildOutputPath = "./BuildOutput/net461/win7-x86/Jackett";
DotNetCorePublish(serverProjectPath, "net461", "win7-x86");
DotNetCorePublish(serverProjectPath, "net461", "win7-x86", buildOutputPath);
CopyFiles("./src/Jackett.Service/bin/" + configuration + "/JackettService.*", buildOutputPath);
CopyFiles("./src/Jackett.Tray/bin/" + configuration + "/JackettTray.*", buildOutputPath);
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
Zip("./BuildOutput/Experimental/net461/win7-x86", $"./{artifactsDirName}/Jackett.Binaries.Windows.zip");
Zip("./BuildOutput/net461/win7-x86", $"./{artifactsDirName}/Jackett.Binaries.Windows.zip");
//InnoSetup
string sourceFolder = MakeAbsolute(Directory(buildOutputPath)).ToString();
@@ -119,16 +116,20 @@ Task("Package-Windows-Full-Framework")
});
Task("Package-Mono-Full-Framework")
.IsDependentOn("Check-Packaging-Platform")
.IsDependentOn("Run-Unit-Tests")
.Does(() =>
{
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = "./BuildOutput/Experimental/net461/linux-x64/Jackett";
string buildOutputPath = "./BuildOutput/net461/linux-x64/Jackett";
DotNetCorePublish(serverProjectPath, "net461", "linux-x64");
DotNetCorePublish(serverProjectPath, "net461", "linux-x64", buildOutputPath);
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
CopyFileToDirectory("./install_service_macos", buildOutputPath);
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
CopyFileToDirectory("./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
//https://github.com/dotnet/corefx/issues/19914
//https://bugzilla.xamarin.com/show_bug.cgi?id=60315
@@ -145,38 +146,77 @@ Task("Package-Mono-Full-Framework")
DeleteFile(buildOutputPath + "/System.Runtime.InteropServices.RuntimeInformation.dll");
Gzip("./BuildOutput/Experimental/net461/linux-x64", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.Mono.tar.gz");
Gzip("./BuildOutput/net461/linux-x64", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.Mono.tar.gz");
});
Task("Experimental-DotNetCore")
.IsDependentOn("Check-Packaging-Platform")
Task("Package-DotNetCore-macOS")
.IsDependentOn("Clean")
.Does(() =>
{
string runtimeId = "osx-x64";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
DotNetCorePublish(serverProjectPath, "netcoreapp2.1", "win-x86");
DotNetCorePublish(serverProjectPath, "netcoreapp2.1", "linux-x64");
DotNetCorePublish(serverProjectPath, "netcoreapp2.1", "osx-x64");
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
Zip("./BuildOutput/Experimental/netcoreapp2.1/win-x86", $"./{artifactsDirName}/Experimental.netcoreapp.win-x86.zip");
Zip("./BuildOutput/Experimental/netcoreapp2.1/osx-x64", $"./{artifactsDirName}/Experimental.netcoreapp.osx-x64.zip");
Gzip("./BuildOutput/Experimental/netcoreapp2.1/linux-x64", $"./{artifactsDirName}", "Jackett", "Experimental.netcoreapp.linux-x64.tar.gz");
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
CopyFileToDirectory("./install_service_macos", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.macOS.tar.gz");
});
Task("Package")
.IsDependentOn("Package-Windows-Full-Framework")
.IsDependentOn("Package-Mono-Full-Framework")
//.IsDependentOn("Experimental-DotNetCore")
Task("Package-DotNetCore-LinuxAMD64")
.IsDependentOn("Clean")
.Does(() =>
{
Information("Packaging completed");
string runtimeId = "linux-x64";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
CopyFileToDirectory("./Upstart.config", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxAMD64.tar.gz");
});
Task("Package-DotNetCore-LinuxARM32")
.IsDependentOn("Clean")
.Does(() =>
{
string runtimeId = "linux-arm";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
CopyFileToDirectory("./Upstart.config", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxARM32.tar.gz");
});
Task("Package-DotNetCore-LinuxARM64")
.IsDependentOn("Clean")
.Does(() =>
{
string runtimeId = "linux-arm64";
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
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");
});
Task("Appveyor-Push-Artifacts")
.IsDependentOn("Package")
.IsDependentOn("Clean")
.Does(() =>
{
if (AppVeyor.IsRunningOnAppVeyor)
if (AppVeyor.IsRunningOnAppVeyor && IsRunningOnWindows())
{
foreach (var file in GetFiles(workingDir + $"/{artifactsDirName}/*"))
{
@@ -185,12 +225,12 @@ Task("Appveyor-Push-Artifacts")
}
else
{
Information(@"Skipping as not running in AppVeyor Environment");
Information(@"Skipping artifact push as not running in AppVeyor Windows Environment");
}
});
Task("Release-Notes")
.IsDependentOn("Appveyor-Push-Artifacts")
.IsDependentOn("Clean")
.Does(() =>
{
string latestTag = GitDescribe(".", false, GitDescribeStrategy.Tags, 0);
@@ -228,7 +268,7 @@ Task("Release-Notes")
string buildNote = String.Join(Environment.NewLine, notesList);
Information(buildNote);
System.IO.File.WriteAllLines(workingDir + "\\BuildOutput\\ReleaseNotes.txt", notesList.ToArray());
System.IO.File.WriteAllLines(workingDir + "/BuildOutput/ReleaseNotes.txt", notesList.ToArray());
}
else
{
@@ -237,6 +277,32 @@ 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("Appveyor-Push-Artifacts")
.IsDependentOn("Release-Notes")
.Does(() =>
{
Information("Windows-Environment Task Completed");
});
Task("Linux-Environment")
.IsDependentOn("Package-DotNetCore-macOS")
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
.IsDependentOn("Package-DotNetCore-LinuxARM32")
.IsDependentOn("Package-DotNetCore-LinuxARM64")
.IsDependentOn("Appveyor-Push-Artifacts")
.IsDependentOn("Release-Notes")
.Does(() =>
{
Information("Linux-Environment Task Completed");
});
private void RunCygwinCommand(string utility, string utilityArguments)
{
@@ -283,29 +349,52 @@ private string RelativeWinPathToCygPath(string relativePath)
return cygPath;
}
private void Gzip(string sourceFolder, string outputDirectory, string tarCdirectoryOption, string outputFileName)
private void RunLinuxCommand(string file, string arg)
{
var cygSourcePath = RelativeWinPathToCygPath(sourceFolder);
var tarFileName = outputFileName.Remove(outputFileName.Length - 3, 3);
var tarArguments = @"-cvf " + cygSourcePath + "/" + tarFileName + " -C " + cygSourcePath + $" {tarCdirectoryOption} --mode ='755'";
var gzipArguments = @"-k " + cygSourcePath + "/" + tarFileName;
var startInfo = new System.Diagnostics.ProcessStartInfo()
{
Arguments = arg,
FileName = file,
UseShellExecute = true
};
RunCygwinCommand("Tar", tarArguments);
RunCygwinCommand("Gzip", gzipArguments);
MoveFile($"{sourceFolder}/{tarFileName}.gz", $"{outputDirectory}/{tarFileName}.gz");
var process = System.Diagnostics.Process.Start(startInfo);
process.WaitForExit();
}
private void DotNetCorePublish(string projectPath, string framework, string runtime)
private void Gzip(string sourceFolder, string outputDirectory, string tarCdirectoryOption, string outputFileName)
{
var tarFileName = outputFileName.Remove(outputFileName.Length - 3, 3);
if (IsRunningOnWindows())
{
var cygSourcePath = RelativeWinPathToCygPath(sourceFolder);
var tarArguments = @"-cvf " + cygSourcePath + "/" + tarFileName + " -C " + cygSourcePath + $" {tarCdirectoryOption} --mode ='755'";
var gzipArguments = @"-k " + cygSourcePath + "/" + tarFileName;
RunCygwinCommand("Tar", tarArguments);
RunCygwinCommand("Gzip", gzipArguments);
MoveFile($"{sourceFolder}/{tarFileName}.gz", $"{outputDirectory}/{tarFileName}.gz");
}
else
{
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("tar", $"-C {sourceFolder} -zcvf {outputDirectory}/{tarFileName}.gz {tarCdirectoryOption}");
}
}
private void DotNetCorePublish(string projectPath, string framework, string runtime, string outputPath)
{
var settings = new DotNetCorePublishSettings
{
Framework = framework,
Runtime = runtime,
OutputDirectory = $"./BuildOutput/Experimental/{framework}/{runtime}/Jackett"
};
{
Framework = framework,
Runtime = runtime,
OutputDirectory = outputPath
};
DotNetCorePublish(projectPath, settings);
DotNetCorePublish(projectPath, settings);
}
//////////////////////////////////////////////////////////////////////
@@ -313,12 +402,19 @@ private void DotNetCorePublish(string projectPath, string framework, string runt
//////////////////////////////////////////////////////////////////////
Task("Default")
.IsDependentOn("Release-Notes")
.IsDependentOn("Windows-Environment")
.Does(() =>
{
Information("Default Task Completed");
});
Task("Linux")
.IsDependentOn("Linux-Environment")
.Does(() =>
{
Information("Linux Task Completed");
});
//////////////////////////////////////////////////////////////////////
// EXECUTION
//////////////////////////////////////////////////////////////////////

View File

@@ -25,10 +25,6 @@ Specifies the amount of information to be displayed.
Shows description about tasks.
.PARAMETER DryRun
Performs a dry run.
.PARAMETER Experimental
Uses the nightly builds of the Roslyn script engine.
.PARAMETER Mono
Uses the Mono Compiler rather than the Roslyn script engine.
.PARAMETER SkipToolPackageRestore
Skips restoring of packages.
.PARAMETER ScriptArgs
@@ -49,13 +45,25 @@ Param(
[switch]$ShowDescription,
[Alias("WhatIf", "Noop")]
[switch]$DryRun,
[switch]$Experimental,
[switch]$Mono,
[switch]$SkipToolPackageRestore,
[Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)]
[string[]]$ScriptArgs
)
# Attempt to set highest encryption available for SecurityProtocol.
# PowerShell will not set this by default (until maybe .NET 4.6.x). This
# will typically produce a message for PowerShell v2 (just an info
# message though)
try {
# Set TLS 1.2 (3072), then TLS 1.1 (768), then TLS 1.0 (192), finally SSL 3.0 (48)
# Use integers because the enumeration values for TLS 1.2 and TLS 1.1 won't
# exist in .NET 4.0, even though they are addressable if .NET 4.5+ is
# installed (.NET 4.5 is an in-place upgrade).
[System.Net.ServicePointManager]::SecurityProtocol = 3072 -bor 768 -bor 192 -bor 48
} catch {
Write-Output 'Unable to set PowerShell to use TLS 1.2 and TLS 1.1 due to old .NET Framework installed. If you see underlying connection closed or trust errors, you may need to upgrade to .NET Framework 4.5+ and PowerShell v3'
}
[Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null
function MD5HashFile([string] $filePath)
{
@@ -85,7 +93,7 @@ function GetProxyEnabledWebClient
{
$wc = New-Object System.Net.WebClient
$proxy = [System.Net.WebRequest]::GetSystemWebProxy()
$proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$proxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$wc.Proxy = $proxy
return $wc
}
@@ -115,10 +123,11 @@ if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) {
# Make sure that packages.config exist.
if (!(Test-Path $PACKAGES_CONFIG)) {
Write-Verbose -Message "Downloading packages.config..."
try {
Write-Verbose -Message "Downloading packages.config..."
try {
$wc = GetProxyEnabledWebClient
$wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch {
$wc.DownloadFile("https://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG)
} catch {
Throw "Could not download packages.config."
}
}
@@ -225,8 +234,6 @@ if ($Configuration) { $cakeArguments += "-configuration=$Configuration" }
if ($Verbosity) { $cakeArguments += "-verbosity=$Verbosity" }
if ($ShowDescription) { $cakeArguments += "-showdescription" }
if ($DryRun) { $cakeArguments += "-dryrun" }
if ($Experimental) { $cakeArguments += "-experimental" }
if ($Mono) { $cakeArguments += "-mono" }
$cakeArguments += $ScriptArgs
# Start Cake

117
build.sh Executable file
View File

@@ -0,0 +1,117 @@
#!/usr/bin/env bash
##########################################################################
# This is the Cake bootstrapper script for Linux and OS X.
# This file was downloaded from https://github.com/cake-build/resources
# Feel free to change this file to fit your needs.
##########################################################################
# Define directories.
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
TOOLS_DIR=$SCRIPT_DIR/tools
ADDINS_DIR=$TOOLS_DIR/Addins
MODULES_DIR=$TOOLS_DIR/Modules
NUGET_EXE=$TOOLS_DIR/nuget.exe
CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe
PACKAGES_CONFIG=$TOOLS_DIR/packages.config
PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum
ADDINS_PACKAGES_CONFIG=$ADDINS_DIR/packages.config
MODULES_PACKAGES_CONFIG=$MODULES_DIR/packages.config
# Define md5sum or md5 depending on Linux/OSX
MD5_EXE=
if [[ "$(uname -s)" == "Darwin" ]]; then
MD5_EXE="md5 -r"
else
MD5_EXE="md5sum"
fi
# Define default arguments.
SCRIPT="build.cake"
CAKE_ARGUMENTS=()
# Parse arguments.
for i in "$@"; do
case $1 in
-s|--script) SCRIPT="$2"; shift ;;
--) shift; CAKE_ARGUMENTS+=("$@"); break ;;
*) CAKE_ARGUMENTS+=("$1") ;;
esac
shift
done
# Make sure the tools folder exist.
if [ ! -d "$TOOLS_DIR" ]; then
mkdir "$TOOLS_DIR"
fi
# Make sure that packages.config exist.
if [ ! -f "$TOOLS_DIR/packages.config" ]; then
echo "Downloading packages.config..."
curl -Lsfo "$TOOLS_DIR/packages.config" https://cakebuild.net/download/bootstrapper/packages
if [ $? -ne 0 ]; then
echo "An error occurred while downloading packages.config."
exit 1
fi
fi
# Download NuGet if it does not exist.
if [ ! -f "$NUGET_EXE" ]; then
echo "Downloading NuGet..."
curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
if [ $? -ne 0 ]; then
echo "An error occurred while downloading nuget.exe."
exit 1
fi
fi
# Restore tools from NuGet.
pushd "$TOOLS_DIR" >/dev/null
if [ ! -f "$PACKAGES_CONFIG_MD5" ] || [ "$( cat "$PACKAGES_CONFIG_MD5" | sed 's/\r$//' )" != "$( $MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' )" ]; then
find . -type d ! -name . ! -name 'Cake.Bakery' | xargs rm -rf
fi
mono "$NUGET_EXE" install -ExcludeVersion
if [ $? -ne 0 ]; then
echo "Could not restore NuGet tools."
exit 1
fi
$MD5_EXE "$PACKAGES_CONFIG" | awk '{ print $1 }' >| "$PACKAGES_CONFIG_MD5"
popd >/dev/null
# Restore addins from NuGet.
if [ -f "$ADDINS_PACKAGES_CONFIG" ]; then
pushd "$ADDINS_DIR" >/dev/null
mono "$NUGET_EXE" install -ExcludeVersion
if [ $? -ne 0 ]; then
echo "Could not restore NuGet addins."
exit 1
fi
popd >/dev/null
fi
# Restore modules from NuGet.
if [ -f "$MODULES_PACKAGES_CONFIG" ]; then
pushd "$MODULES_DIR" >/dev/null
mono "$NUGET_EXE" install -ExcludeVersion
if [ $? -ne 0 ]; then
echo "Could not restore NuGet modules."
exit 1
fi
popd >/dev/null
fi
# Make sure that Cake has been installed.
if [ ! -f "$CAKE_EXE" ]; then
echo "Could not find Cake.exe at '$CAKE_EXE'."
exit 1
fi
# Start Cake
exec mono "$CAKE_EXE" $SCRIPT "${CAKE_ARGUMENTS[@]}"

0
install_service_macos Normal file → Executable file
View File

82
install_service_systemd.sh Executable file
View File

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

View File

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
<TargetFrameworks>netstandard2.0</TargetFrameworks>
</PropertyGroup>
</Project>

View File

@@ -731,7 +731,7 @@ function updateReleasesRow(row)
labels.empty();
if (IMDBId) {
labels.append('\n<a href="http://www.imdb.com/title/tt' + IMDBId + '/" class="label label-imdb" alt="IMDB" title="IMDB">IMDB</a>');
labels.append('\n<a href="http://www.imdb.com/title/tt' + ("000000" + IMDBId).slice(-7) + '/" class="label label-imdb" alt="IMDB" title="IMDB">IMDB</a>');
}
if (!isNaN(DownloadVolumeFactor)) {

View File

@@ -663,6 +663,6 @@
</script>
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
<script type="text/javascript" src="../custom.js?changed=20180710"></script>
<script type="text/javascript" src="../custom.js?changed=20180711"></script>
</body>
</html>

View File

@@ -119,7 +119,11 @@
search:
paths:
# present trending results if there are no search parms supplied
- path: "{{if .Keywords}}/search/{{ .Keywords}}/1/{{else}}/trending{{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

@@ -6,6 +6,8 @@
type: private
encoding: UTF-8
links:
- https://www.2f4y.me/
legacylinks:
- http://www.2f4y.me/
caps:

View File

@@ -0,0 +1,114 @@
---
site: 3evils
name: 3evils
description: "3evils is a Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en
type: private
encoding: UTF-8
links:
- https://www.3evils.com/
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"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: "/browse.php"
error:
- selector: h2:contains("Login failed!")
message:
selector: table tr td.colhead2
test:
path: /
selector: :has(a[href$="/logout.php?hash_please="])
search:
paths:
# ttps://www.3evils.com/browse.php?search=black+lightning+s02e11&searchin=title&incldead=1
# https://www.3evils.com/browse.php?c3=1&c4=1&search=&searchin=title&incldead=0
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{.Keywords}}"
incldead: 1
rows:
selector: table.table-bordered tr:has(a[href^="browse.php?cat="])
filters:
- name: andmatch
fields:
title:
selector: a[href^="details.php?id="] b
title:
# if this is available it is the full length title, as the one above can be abbreviated with ...
optional: true
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: "Tip\\('<b>(.*?)</b>"
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
size:
selector: td:nth-last-child(6)
files:
selector: td:nth-last-child(9)
grabs:
selector: td:nth-last-child(5)
filters:
- name: replace
args: ["Times", ""]
# 2 flavours of dates
date:
# 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
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)
leechers:
selector: td:nth-last-child(3)
downloadvolumefactor:
case:
"b:contains(\"[FREE]\")": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -0,0 +1,110 @@
---
site: 420files
name: 420files
description: "Tracker Movies/TV/Music"
language: en-us
type: private
encoding: UTF-8
links:
- https://420.org/
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 }}"
error:
- selector: form[action*="/login"] .text-red
test:
path: /torrents
search:
paths:
- path: /filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
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

@@ -135,22 +135,22 @@
selector: a[href^="/download.php"]
attribute: href
files:
selector: td:nth-child(7)
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
selector: td:nth-child(4)
size:
selector: td:nth-child(8)
selector: td:nth-child(6)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: td:nth-child(3) > a
selector: td:nth-child(2) > a
leechers:
selector: td:nth-child(4)
selector: td:nth-child(3)
date:
selector: td:nth-child(9)
selector: td:nth-child(10)
filters:
- name: split
args: ["by", 0]

View File

@@ -0,0 +1,116 @@
---
site: alein
name: Alein
description: "Alein is a BULGARIAN Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en
type: semi-private
encoding: UTF-8
links:
- http://alein.org/
caps:
categorymappings:
- {id: 1, cat: Movies/SD, desc: "Movies-XviD"}
- {id: 15, cat: Movies/HD, desc: "Movies-x264"}
- {id: 41, cat: Movies, desc: "Movies-BG"}
- {id: 14, cat: Movies/HD, desc: "Movies-HD"}
- {id: 48, cat: Movies/UHD, desc: "Movies-x265"}
- {id: 39, cat: Movies/Foreign, desc: "Movies-XviD-Rus"}
- {id: 40, cat: Movies/Foreign, desc: "Movies-x264-Rus"}
- {id: 20, cat: Movies/Other, desc: "Movies-Animations"}
- {id: 16, cat: Movies/3D, desc: "Movies-3D"}
- {id: 5, cat: TV/Anime, desc: "Movies-Anime"}
- {id: 21, cat: Movies/BluRay, desc: "Movies-Blu-ray"}
- {id: 22, cat: TV/Documentary , desc: "Movies-Documentaries"}
- {id: 11, cat: Movies/DVD, desc: "Movies-DVD-R"}
- {id: 47, cat: TV/SD, desc: "TV-Episodes"}
- {id: 46, cat: TV/HD, desc: "TV-Episodes-HD"}
- {id: 3, cat: PC/ISO, desc: "Games-PC ISO"}
- {id: 31, cat: Console/Xbox, desc: "Games-XBOX"}
- {id: 33, cat: Console/PSP, desc: "Games-PS"}
- {id: 2, cat: Audio/MP3, desc: "Music-MP3"}
- {id: 50, cat: Audio/Lossless, desc: "Music-FLAC"}
- {id: 18, cat: Audio/Video, desc: "Music-Video"}
- {id: 9, cat: PC/0day, desc: "Software-Windows"}
- {id: 8, cat: PC, desc: "Software-Linux"}
- {id: 36, cat: Other, desc: "Trailer"}
- {id: 34, cat: Other/Misc, desc: "Pictures"}
- {id: 4, cat: Other, desc: "Other"}
- {id: 6, cat: Books/Comics, desc: "Books-Comics"}
- {id: 24, cat: PC/Phone-Other, desc: "Mobile-GSM"}
- {id: 23, cat: TV/Sport, desc: "Sport"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: index.php?page=login
method: form
form: form[action*="/index.php?page=login"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: td.lista span[style="color:#FF0000;"]
test:
path: /
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
- path: index.php
inputs:
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
search: "{{if .Keywords }}{{.Keywords}}{{else}}{{end}}"
active: "1"
rows:
selector: tr.trclass
fields:
title:
selector: td.lista-list a
details:
selector: td.lista-list a
attribute: href
category:
selector: td.lista-cat a
attribute: href
filters:
- name: querystring
args: category
download:
selector: td.lista-list a
attribute: href
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(9)
date:
selector: td:nth-child(5)
filters:
- name: dateparse
args: "02/01/2006"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -6,6 +6,8 @@
type: private
encoding: UTF-8
links:
- https://www.arabafenice.me/
legacylinks:
- http://www.arabafenice.me/
caps:
@@ -99,6 +101,13 @@
search:
paths:
- path: index.php
keywordsfilters:
- name: diacritics
args: replace
- name: re_replace # S01 to 1
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
- name: re_replace # S01E01 to 1 1
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1 $2"]
inputs:
search: "{{if .Query.IMDBID}}{{ .Query.IMDBIDShort }}{{else}}{{ .Keywords }}{{end}}"
page: "torrents"
@@ -113,6 +122,21 @@
attribute: href
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
filters:
- name: re_replace # S01 E01 to S01E01
args: ["(?i)\\bS(\\d+)\\sE(\\d+)\\b", "S$1E$2"]
- name: re_replace # 01x01 to S01E01
args: ["(?i)(\\d{2})x(\\d+)", "S$1E$2"]
- name: re_replace # 1x01 to S01E01
args: ["(?i)\\b(\\d{1})x(\\d+)", "S0$1E$2"]
- name: re_replace # Stagione X --> S0X
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
- name: re_replace # Stagione XX --> SXX
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
- name: re_replace # Episodio 4 to E4
args: ["(?i)\\b(?:[\\/\\|]?Episodio\\s?(\\d+)|Puntata\\s?(\\d+))", "E$1$2"]
- name: re_replace # Episodi 4 5 to E04-05
args: ["(?i)\\b(?:Puntate\\s*)(\\d+)\\s?(\\d+)", "E0$1-0$2"]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover

View File

@@ -1,4 +1,4 @@
---
---
site: archetorrent
name: ArcheTorrent
description: "ArcheTorrent is a FRENCH Private Torrent Tracker"
@@ -7,7 +7,38 @@
encoding: UTF-8
links:
- https://archetorrent.com
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: filter_title
type: checkbox
label: Try to normalize releases names by moving year after the title
default: false
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
default: FRENCH
options:
FRENCH : "FRENCH"
MULTI.FRENCH: "MULTI.FRENCH"
ENGLISH: "ENGLISH"
MULTI.ENGLISH: "MULTI.ENGLISH"
VOSTFR: "VOSTFR"
MULTI.VOSTFR: "MULTI.VOSTFR"
- name: vostfr
type: checkbox
label: Replace VOSTFR with ENGLISH
default: false
caps:
categorymappings:
- {id: 18, cat: PC, desc: "Applications: PC"}
@@ -109,11 +140,43 @@
args: "Poster le: </b>(.*?)<br />"
- name: dateparse
args: "02-01-2006"
title:
title_normal:
selector: a[href^="torrents-details.php?id="]
filters:
- name: replace
args: [" - (Nouveau!)", ""]
title_filtered:
selector: a[href^="torrents-details.php?id="]
filters:
- name: replace
args: [" - (Nouveau!)", ""]
- name: re_replace
args: ["(?i)^(?:(.+?)((?:[\\.\\-\\s_\\[]+(?:imax|(?:dvd|bd|tv)(?:rip|scr)|bluray(?:\\-?rip)?|720\\s*p?|1080\\s*p?|vof?|vost(?:fr)?|multi|vf(?:f|q)?[1-3]?|(?:true)?french|eng?)[\\.\\-\\s_\\]]*)*)([\\(\\[]?(?:20|1[7-9])\\d{2}[\\)\\]]?)(.*)$|(.*))$", "$1 $3 $2 $4 $5"]
- name: replace
args: [".", " "]
- name: trim
- name: re_replace
args: ["(?i)\\s(mkv|avi|divx|xvid|mp4)$", ""]
- name: re_replace
args: ["(\\s{2,5})", " "]
- name: trim
title_phase1:
text: "{{if .Config.filter_title }}{{ .Result.title_filtered }}{{else}}{{ .Result.title_normal }}{{end}}"
title_multilang:
text: "{{ .Result.title_phase1 }}"
filters:
- name: re_replace
args: ["[\\.\\s\\[\\-][Mm][Uu][Ll][Tt][Ii][\\.\\s\\]\\-]", ".{{ .Config.multilanguage }}."]
title_phase2:
text: "{{if .Config.multilang }}{{ .Result.title_multilang }}{{else}}{{ .Result.title_phase1 }}{{end}}"
title_vostfr:
text: "{{ .Result.title_phase2 }}"
filters:
- name: re_replace
args: ["[\\.\\s\\[\\-][Vv][Oo][Ss][Tt][Ff][Rr][\\.\\s\\]\\-]", ".ENGLISH."]
title:
text: "{{if .Config.vostfr }}{{ .Result.title_vostfr }}{{else}}{{ .Result.title_phase2 }}{{end}}"
category:
selector: a[href^="torrents.php?cat="]
attribute: href

View File

@@ -0,0 +1,163 @@
---
site: arenabg
name: ArenaBG
description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GENERAL"
language: bg-BG
type: semi-private
encoding: UTF-8
links:
- https://arenabg.com/
caps:
categorymappings:
- {id: "movies", cat: Movies, desc: "Movies"}
- {id: "arenabgtv", cat: Movies, desc: "Movies / ArenaBG.TV"}
- {id: "xvid", cat: Movies, desc: "Movies / XviD"}
- {id: "dvd-r", cat: Movies, desc: "Movies / DVD-R"}
- {id: "x264", cat: Movies, desc: "Movies / x264"}
- {id: "animemanga", cat: Movies, desc: "Movies / Anime &amp; Manga"}
- {id: "documentaries", cat: Movies, desc: "Movies / Documentaries"}
- {id: "blu-ray", cat: Movies, desc: "Movies / Blu-ray"}
- {id: "boxset", cat: Movies, desc: "Movies / Boxset"}
- {id: "x264boxset", cat: Movies, desc: "Movies / x264 Boxset"}
- {id: "tvepisodeshd", cat: Movies, desc: "Movies / HDTV"}
- {id: "3d", cat: Movies, desc: "Movies / 3D"}
- {id: "movies-hd", cat: Movies, desc: "Movies / Movies HD"}
- {id: "x265", cat: Movies, desc: "Movies / x265"}
- {id: "series", cat: TV, desc: "Series"}
- {id: "hdtv", cat: TV, desc: "Series / TV Episodes HD"}
- {id: "tvepisodes", cat: TV, desc: "Series / TV Episodes"}
- {id: "tvboxset", cat: TV, desc: "Series / TV Boxset"}
- {id: "tvboxsethd", cat: TV, desc: "Series / TV Boxset HD"}
- {id: "music", cat: Audio, desc: "Music"}
- {id: "mp3", cat: Audio, desc: "Music / MP3"}
- {id: "music-video", cat: Audio, desc: "Music / Video"}
- {id: "flac", cat: Audio, desc: "Music / FLAC"}
- {id: "music-dvd", cat: Audio, desc: "Music / DVD"}
- {id: "music-ape", cat: Audio, desc: "Music / APE"}
- {id: "music-dts", cat: Audio, desc: "Music / DTS"}
- {id: "musicwavpack", cat: Audio, desc: "Music / WavePack"}
- {id: "musicost", cat: Audio, desc: "Music / OST"}
- {id: "games", cat: PC, desc: "Games"}
- {id: "games-iso", cat: PC, desc: "Games / PC ISO"}
- {id: "pc-rip", cat: PC, desc: "Games / PC RIP"}
- {id: "ps2", cat: Console, desc: "Games / PS2"}
- {id: "psp", cat: Console, desc: "Games / PSP"}
- {id: "xbox", cat: Console, desc: "Games / XBOX"}
- {id: "xbox-360", cat: Console, desc: "Games / XBOX-360"}
- {id: "ps3", cat: Console, desc: "Games / PS3"}
- {id: "wii", cat: Console, desc: "Games / WII"}
- {id: "PS4", cat: Console, desc: "Games / PS4"}
- {id: "software", cat: PC, desc: "Software"}
- {id: "pc-iso", cat: PC, desc: "Software / PC ISO"}
- {id: "pdasmartphone", cat: PC, desc: "Software / Smartphone"}
- {id: "tutorial", cat: PC, desc: "Software / Tutorial"}
- {id: "android", cat: PC, desc: "Software / Android"}
- {id: "ios", cat: PC, desc: "Software / iOS"}
- {id: "misc", cat: Other, desc: "Misc"}
- {id: "other", cat: Other, desc: "Misc / Other"}
- {id: "e-books", cat: Other, desc: "Misc / e-Books"}
- {id: "sports", cat: Other, desc: "Misc / Sports"}
- {id: "0-day", cat: Other, desc: "Misc / 0-Day"}
- {id: "xxx", cat: XXX, desc: "XXX"}
- {id: "porn", cat: XXX, desc: "XXX / Porn"}
- {id: "xxx-hd", cat: XXX, desc: "XXX / XXX HD"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: /
method: form
form: form[action="/users/"]
inputs:
email: "{{ .Config.username }}"
password: "{{ .Config.password }}"
action: login
error:
- selector: div.row div div.alert i.fa-warning
message:
selector: div.row div div.alert
test:
path: /
selector: a[href="/users/logout/"]
download:
selector: a[href^="magnet:?"]
search:
paths:
- path: /torrents/
method: post
followredirect: true
inputs:
text: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
"text_mobile": ""
type: 0
audio: 0
subtitles: 0
action: search
rows:
selector: tr:has(td.category)
fields:
title:
# use the second div for full title
selector: td.filename div:nth-child(2) a
details:
selector: td.filename div a
attribute: href
category:
selector: td.category a
attribute: href
filters:
- name: re_replace
args: ["/torrents/type:(.+?)/", "$1"]
download:
selector: td.filename div a
attribute: href
size:
selector: td:nth-child(4)
date:
# 08:49:09
selector: td:nth-child(3):has(":")
optional: true
filters:
- name: dateparse
args: "15:04:05"
date:
# 2018-10-19
selector: td:nth-child(3):has("-")
optional: true
filters:
- name: dateparse
args: "2006-01-02"
seeders:
selector: td:nth-child(6)
filters:
- name: replace
args: ["-", "0"]
- name: replace
args: ["DHT", "0"] # torrent can only be downloaded via DHT
leechers:
selector: td:nth-child(7)
filters:
- name: replace
args: ["-", "0"]
grabs:
selector: td:nth-child(8)
filters:
- name: replace
args: ["-", "0"]
banner:
selector: td.filename div:nth-child(2) a
attribute: onmouseover
filters:
- name: regexp
args: src=\\'([^\s\\]+)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,110 @@
---
site: asiancinema
name: AsianCinema
description: "Tracker Movies/TV/Music"
language: en-us
type: private
encoding: UTF-8
links:
- https://asiancinema.me/
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 }}"
error:
- selector: form[action*="/login"] .text-red
test:
path: /torrents
search:
paths:
- path: /filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
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

@@ -0,0 +1,132 @@
---
site: audiobookbay
name: AudioBookBay
description: "AudioBook Bay (ABB) is a semi-private Torrent Tracker for AUDIOBOOKS"
language: en-us
type: semi-private
encoding: UTF-8
links:
- http://audiobookbay.nl/
- https://audiobookbay.la/
caps:
categorymappings:
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
- {id: Action, cat: Audio/Audiobook, desc: "Action"}
- {id: Adventure, cat: Audio/Audiobook, desc: "Adventure"}
- {id: Art, cat: Audio/Audiobook, desc: "Art"}
- {id: Autobiography, cat: Audio/Audiobook, desc: "Autobiography & Biographies"}
- {id: Business, cat: Audio/Audiobook, desc: "Business"}
- {id: Computer, cat: Audio/Audiobook, desc: "Computer"}
- {id: Contemporary, cat: Audio/Audiobook, desc: "Contemporary"}
- {id: Crime, cat: Audio/Audiobook, desc: "Crime"}
- {id: Detective, cat: Audio/Audiobook, desc: "Detective"}
- {id: Doctor, cat: Audio/Audiobook, desc: "Doctor Who"}
- {id: Education, cat: Audio/Audiobook, desc: "Education"}
- {id: Fantasy, cat: Audio/Audiobook, desc: "Fantasy"}
- {id: General, cat: Audio/Audiobook, desc: "General Fiction"}
- {id: Historical, cat: Audio/Audiobook, desc: "Historical Fiction"}
- {id: History, cat: Audio/Audiobook, desc: "History"}
- {id: Horror, cat: Audio/Audiobook, desc: "Horror"}
- {id: Humor, cat: Audio/Audiobook, desc: "Humor"}
- {id: Lecture, cat: Audio/Audiobook, desc: "Lecture"}
- {id: LGBT, cat: Audio/Audiobook, desc: "LGBT"}
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
- {id: LitRPG, cat: Audio/Audiobook, desc: "LitRPG"}
- {id: Misc., cat: Audio/Audiobook, desc: "Misc. Non-fiction"}
- {id: Mystery, cat: Audio/Audiobook, desc: "Mystery"}
- {id: Myth, cat: Audio/Audiobook, desc: "Myth Hunting"}
- {id: Paranormal, cat: Audio/Audiobook, desc: "Paranormal"}
- {id: Plays, cat: Audio/Audiobook, desc: "Plays & Theater"}
- {id: Poetry, cat: Audio/Audiobook, desc: "Poetry"}
- {id: Political, cat: Audio/Audiobook, desc: "Political"}
- {id: Postapocalyptic, cat: Audio/Audiobook, desc: "Postapocalyptic"}
- {id: Radio, cat: Audio/Audiobook, desc: "Radio Productions"}
- {id: Romance, cat: Audio/Audiobook, desc: "Romance"}
- {id: Sci-Fi, cat: Audio/Audiobook, desc: "Sci-Fi"}
- {id: Science, cat: Audio/Audiobook, desc: "Science"}
- {id: Self-help, cat: Audio/Audiobook, desc: "Self-help"}
- {id: SHTF, cat: Audio/Audiobook, desc: "SHTF"}
- {id: Spiritual, cat: Audio/Audiobook, desc: "Spiritual & Religious"}
- {id: Sports, cat: Audio/Audiobook, desc: "Sports"}
- {id: Suspense, cat: Audio/Audiobook, desc: "Suspense"}
- {id: Thriller, cat: Audio/Audiobook, desc: "Thriller"}
- {id: "True", cat: Audio/Audiobook, desc: "True Crime"}
- {id: Tutorial, cat: Audio/Audiobook, desc: "Tutorial"}
- {id: Westerns, cat: Audio/Audiobook, desc: "Westerns"}
- {id: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
modes:
search: [q]
login:
path: https://audiobookbay.nl/member/login.php
form: form[action="https://audiobookbay.nl/member/login.php"]
method: post
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
login: "Login"
error:
- selector: td.embedded:has(h2:contains("Invalid"))
test:
path: /member/users/
download:
selector: a[href^="/download?"]
attribute: href
search:
paths:
# with just 7 results per page, try to grab up to 35 results
# http://audiobookbay.nl/?s=teeth
# http://audiobookbay.nl/page/2/?s=teeth
- path: "{{if .Keywords}}/?s={{ .Keywords}}{{else}}/{{end}}"
- path: "{{if .Keywords}}/page/2/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/3/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/4/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/5/?s={{ .Keywords}}{{else}}{{end}}"
rows:
selector: div.post:has(div[class="postTitle"])
fields:
title:
selector: div.postTitle
details:
selector: div.postTitle h2 a
attribute: href
download:
selector: a[href^="/audio-books/"]
attribute: href
banner:
optional: true
selector: img
attribute: src
category:
selector: div.postInfo
filters:
- name: regexp
args: "Category: (.+?)\\s"
date:
selector: div.postContent p:contains("Posted:")
filters:
- name: regexp
args: "Posted: (.+?)Format:"
- name: dateparse
args: "2 Jan 2006"
size:
selector: div.postContent p:contains("File Size:")
filters:
- name: regexp
args: "File Size: (.+?)s"

View File

@@ -20,6 +20,10 @@
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie

View File

@@ -1,4 +1,4 @@
---
---
site: bigtower
name: BigTower
description: "Big Tower is an ITALIAN Private site for TV / MOVIES / GENERAL"
@@ -70,12 +70,23 @@
- {id: 74, cat: Books/Comics, desc: "Manga"}
- {id: 87, cat: Books, desc: "Giornali"}
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: donor
type: checkbox
label: Show donor torrent? (Enable if you're a donor)
default: false
login:
path: index.php?page=login
method: post
@@ -98,7 +109,7 @@
options: "0"
active: "0"
rows:
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="]){{if .Config.donor }}{{else}}:not(:has(img[src*="keditbookmarks.png"])){{end}}
fields:
download:
selector: a[href^="index.php?page=torrent-details&id="]
@@ -108,6 +119,9 @@
args: ["index.php?page=torrent-details&id=", "download.php?id="]
title:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
filters:
- name: re_replace # rimozioni varie
args: ["(?i)(\\[Richiesta\\])", ""]
banner:
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
attribute: onmouseover

View File

@@ -57,7 +57,11 @@
settings:
- name: cookie
type: text
label: Cookie
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie

View File

@@ -26,7 +26,7 @@
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Login Failed!")
- selector: form[action*="/login"] .text-red
test:
path: /torrents
@@ -74,12 +74,37 @@
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"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"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,94 +0,0 @@
---
site: bt-scene
name: BT-Scene
description: "BT-Scene (BTS) is a Public site for MOVIES / TV / GENERAL"
language: us-en
type: public
encoding: UTF-8
links:
- https://bt-scene.cc/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "Series"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: PC/Games, desc: "Games"}
- {id: 5, cat: PC/0day, desc: "Software"}
- {id: 6, cat: TV/Anime, desc: "Anime"}
- {id: 7, cat: Books, desc: "Ebooks"}
- {id: 8, cat: Other, desc: "Misc"}
- {id: 9, cat: XXX, desc: "Porn"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: category
type: select
label: Category
default: "0"
options:
"0" : "All"
"1": "Movies"
"2": "Series"
"3": "Music"
"4": "Games"
"5": "Software"
"6": "Anime"
"7": "Ebooks"
"8": "Misc"
"9": "Porn"
search:
# https://bt-scene.cc/cat/id/1/
# https://bt-scene.cc/results_.php?q=midnight+texas+s01e10&advcat=2
keywordsfilters:
# replace space between keywords with +
- name: re_replace
args: [" ", "+"]
paths:
- path: "{{ if .Keywords }}results_.php?q={{ .Keywords }}&advcat={{ .Config.category }}{{else}}indexfull/{{end}}"
rows:
selector: table.tor > tbody > tr[id^="_"]
filters:
- name: andmatch
fields:
title:
selector: td[class^="tname"] > a
details:
selector: td[class^="tname"] > a
attribute: href
category:
selector: td[class^="tname"] > div.subinfo > a[href^="/cat/id"]
optional: true
attribute: href
filters:
- name: re_replace
args: ["[^\\d+]", ""]
download:
# build "/torrentget.php?id=5730447" from "_5730447"
selector: tr
attribute: id
filters:
- name: replace
args: ["_", ""]
- name: prepend
args: "/torrentget.php?id="
size:
selector: td[class^="tsize"]
seeders:
selector: td[class^="tseeds"]
leechers:
selector: td[class^="tpeers"]
date:
selector: td[class^="ttime"]
filters:
- name: append
args: " ago"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -54,9 +54,9 @@
grabs:
selector: .sbar span:nth-of-type(6) b
seeders:
text: "999"
text: "1"
leechers:
text: "999"
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:

View File

@@ -1,72 +0,0 @@
---
site: btdb
name: BTDB
description: "BTDB is a Public BitTorrent DHT search engine. Torrents can be downloaded via magnet links"
language: en-us
type: public
encoding: UTF-8
links:
- https://btdb.to/
caps:
categorymappings:
- {id: 1, cat: Other, desc: "Other"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: info
type: info
label: Category for Sonarr and Radarr
default: BTDB does not use categories. In your Sonarr or Radarr Torznab Indexer settings, set the category to 100001.
search:
paths:
- path: "{{if .Keywords}}q/{{ .Keywords}}/?sort=time{{else}}recent{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/2?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/3?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/4?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/5?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/6?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/7?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/8?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/9?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/10?sort=time{{else}}{{end}}"
rows:
selector: li[class$="item"]
filters:
- name: andmatch
fields:
title:
selector: h2[class$="title"] a[href^="/torrent/"]
attribute: title
category:
text: "1"
details:
selector: h2[class$="title"] a[href^="/torrent/"]
attribute: href
magnet:
selector: div[class$="info"] a[href^="magnet:"]
attribute: href
size:
selector: div[class$="info"] span:nth-of-type(1)
files:
selector: div[class$="info"] span:nth-of-type(2)
date:
selector: div[class$="info"] span:nth-of-type(3)
filters:
- name: dateparse
args: "2006-01-02 15:04:05"
grabs:
selector: div[class$="info"] span:nth-of-type(4)
seeders:
selector: div[class$="info"] span:nth-of-type(4)
leechers:
selector: div[class$="info"] span:nth-of-type(4)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -86,7 +86,7 @@
- name: append
args: "Language: polish\n<br>"
- name: prepend
args: {{ .Result.description }}
args: "{{ .Result.description }}"
imdb:
optional: true
selector: a[href^="http://www.imdb.com/title/tt"]

View File

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

View File

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

View File

@@ -73,12 +73,37 @@
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"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -0,0 +1,339 @@
---
site: casstudiotv
name: CasStudioTV
description: "CasStudioTV is a RUSSIAN Private Torrent Tracker for TV"
language: ru
type: private
encoding: UTF-8
links:
- https://casstudio.tv/
caps:
categorymappings:
- {id: 259, cat: TV, desc: "Сериалы (TV Series)"}
- {id: 56, cat: TV, desc: "Зарубежные сериалы (Foreign series)"}
- {id: 310, cat: TV, desc: "9-1-1"}
- {id: 246, cat: TV, desc: "11.22.63"}
- {id: 158, cat: TV, desc: "4400 / The 4400"}
- {id: 86, cat: TV, desc: "12 Обезьян / 12 Monkeys"}
- {id: 120, cat: TV, desc: "Агенты Щ.И.Т. / Agents of S.H.I.E.L.D."}
- {id: 72, cat: TV, desc: "Агент Картер / Agent Carter"}
- {id: 103, cat: TV, desc: "Ад На Колёсах / Hell On Wheels"}
- {id: 110, cat: TV, desc: "Американская семейка / Modern Family"}
- {id: 62, cat: TV, desc: "Американцы / The Americans"}
- {id: 70, cat: TV, desc: "Анатомия страсти / Анатомия Грей / Grey's Anatomy"}
- {id: 210, cat: TV, desc: "База Куантико / Quantico"}
- {id: 305, cat: TV, desc: "Беглецы / Runaways"}
- {id: 122, cat: TV, desc: "Безумцы / Mad Men"}
- {id: 134, cat: TV, desc: "Белый воротничок / White Collar"}
- {id: 281, cat: TV, desc: "Барыги / Narcos"}
- {id: 239, cat: TV, desc: "Баскетс / Baskets"}
- {id: 155, cat: TV, desc: "Бешеные псы / Mad Dogs"}
- {id: 243, cat: TV, desc: "Библиотекари / The Librarians"}
- {id: 154, cat: TV, desc: "Блудливая Калифорния / Californication"}
- {id: 208, cat: TV, desc: "Бойтесь ходячих мертвецов / Fear the Walking Dead"}
- {id: 150, cat: TV, desc: "Больница Никербокер / The Knick"}
- {id: 119, cat: TV, desc: "Бывает и хуже / The Middle"}
- {id: 87, cat: TV, desc: "В поле зрения / Person of Interest"}
- {id: 219, cat: TV, desc: "В пустыне смерти / Into the Badlands"}
- {id: 118, cat: TV, desc: "Веб терапия / Web Therapy"}
- {id: 123, cat: TV, desc: "Ведьмы Ист-Энда / Witches of East End"}
- {id: 309, cat: TV, desc: "Видоизмененный углерод / Altered Carbon"}
- {id: 241, cat: TV, desc: "Винил / Vinyl"}
- {id: 91, cat: TV, desc: "Викинги / Vikings"}
- {id: 172, cat: TV, desc: "Вице-Президент / Veep"}
- {id: 204, cat: TV, desc: "Власть в ночном городе / Power"}
- {id: 228, cat: TV, desc: "Волшебники / The Magicians"}
- {id: 220, cat: TV, desc: "Восприятие / Perception"}
- {id: 254, cat: TV, desc: "Восстание / Rebellion"}
- {id: 248, cat: TV, desc: "Вместе / Togetherness"}
- {id: 192, cat: TV, desc: "Водолей / Aquarius"}
- {id: 65, cat: TV, desc: "Возмездие / Revenge"}
- {id: 121, cat: TV, desc: "Все Ненавидят Криса / Everybody Hates Chris"}
- {id: 166, cat: TV, desc: "Ганнибал / Hannibal"}
- {id: 211, cat: TV, desc: "Герои: Возрождение / Heroes Reborn"}
- {id: 293, cat: TV, desc: "Голубая кровь / Blue Bloods"}
- {id: 145, cat: TV, desc: "Город Хищниц / Cougar Town"}
- {id: 61, cat: TV, desc: "Готэм / Gotham"}
- {id: 117, cat: TV, desc: "Гримм / Grimm"}
- {id: 108, cat: TV, desc: "Две девицы на мели / 2 Broke Girls"}
- {id: 66, cat: TV, desc: "Девочки / Girls"}
- {id: 271, cat: TV, desc: "Девушка по вызову / The Girlfriend Experience"}
- {id: 176, cat: TV, desc: "Декстер / Dexter"}
- {id: 232, cat: TV, desc: "Десница Божья / Hand of God"}
- {id: 307, cat: TV, desc: "Династия / Dynasty"}
- {id: 102, cat: TV, desc: "Дневники вампира / The Vampire Diaries"}
- {id: 229, cat: TV, desc: "Джессика Джонс / Jessica Jones"}
- {id: 282, cat: TV, desc: "Дорожная команда / Roadies"}
- {id: 205, cat: TV, desc: "До смерти красива / Drop Dead Diva"}
- {id: 104, cat: TV, desc: "Древние / The Originals"}
- {id: 278, cat: TV, desc: "Загадочные события / Stranger Things"}
- {id: 182, cat: TV, desc: "Задержка в развитии / Arrested Development"}
- {id: 201, cat: TV, desc: "За пределами / Выжившая / Род человеческий / Extant"}
- {id: 301, cat: TV, desc: "Защитники / The Defenders"}
- {id: 314, cat: TV, desc: "Звёздный путь / Star Trek"}
- {id: 167, cat: TV, desc: "Зов крови / Потерянная / Фейри / Lost Girl"}
- {id: 116, cat: TV, desc: "Зовите меня Фитц / Call Me Fitz"}
- {id: 74, cat: TV, desc: "Империя / Empire"}
- {id: 75, cat: TV, desc: "Как избежать наказания за убийство / How to Get Away with Murder"}
- {id: 203, cat: TV, desc: "Как бы счастье / Happyish"}
- {id: 141, cat: TV, desc: "Как Я Встретил Вашу Маму / How I Met Your Mother"}
- {id: 277, cat: TV, desc: "Карантин / Containment"}
- {id: 306, cat: TV, desc: "Каратель / The Punisher"}
- {id: 174, cat: TV, desc: "Карточный домик / House of Cards"}
- {id: 63, cat: TV, desc: "Касл / Castle"}
- {id: 285, cat: TV, desc: "Квантовый скачок / Quantum Leap"}
- {id: 169, cat: TV, desc: "Кей и Пил / Key and Peele"}
- {id: 195, cat: TV, desc: "Киллджойс / Killjoys"}
- {id: 222, cat: TV, desc: "Клуб жен астронавтов / The Astronaut Wives Club"}
- {id: 197, cat: TV, desc: "Коварные горничные / Devious Maids"}
- {id: 230, cat: TV, desc: "Колония / Colony"}
- {id: 170, cat: TV, desc: "Континуум / Continuum"}
- {id: 233, cat: TV, desc: "Конец детства / Childhood's End"}
- {id: 147, cat: TV, desc: "Копы-новобранцы / Rookie Blue"}
- {id: 291, cat: TV, desc: "Королева Юга / Queen of the South"}
- {id: 193, cat: TV, desc: "Красавица и чудовище / Beauty and the Beast"}
- {id: 132, cat: TV, desc: "Крах / The Fall"}
- {id: 146, cat: TV, desc: "Красотки в Кливленде / Hot in Cleveland"}
- {id: 171, cat: TV, desc: "Красавцы / Антураж / Entourage"}
- {id: 207, cat: TV, desc: "Кремниевая долина / Silicon Valley"}
- {id: 238, cat: TV, desc: "Легенды завтрашнего дня / Legends of Tomorrow"}
- {id: 300, cat: TV, desc: "Легион / Legion"}
- {id: 294, cat: TV, desc: "Лемони Сникет: 33 несчастья / A Series of Unfortunate Events"}
- {id: 130, cat: TV, desc: "Лиллехаммер / Lilyhammer"}
- {id: 276, cat: TV, desc: "Любовницы / Mistresses US"}
- {id: 198, cat: TV, desc: "Люди / Humans"}
- {id: 165, cat: TV, desc: "Лютер / Luther"}
- {id: 247, cat: TV, desc: "Люцифер / Lucifer"}
- {id: 313, cat: TV, desc: "МакГайвер / MacGyver"}
- {id: 127, cat: TV, desc: "Майк и Молли / Mike & Molly"}
- {id: 156, cat: TV, desc: "Мастера Секса / Masters of Sex"}
- {id: 245, cat: TV, desc: "Медики Чикаго / Chicago Med"}
- {id: 180, cat: TV, desc: "Миллеры в разводе / The Millers"}
- {id: 244, cat: TV, desc: "Миллиарды / Billions"}
- {id: 234, cat: TV, desc: "Мистер Робинсон / Mr. Robinson"}
- {id: 200, cat: TV, desc: "Мистер робот / Mr. Robot"}
- {id: 173, cat: TV, desc: "Мост / Broen / Bron"}
- {id: 126, cat: TV, desc: "Мотель Бейтс / Bates Motel"}
- {id: 231, cat: TV, desc: "Моцарт в джунглях / Mozart in the Jungle"}
- {id: 69, cat: TV, desc: "Мушкетеры / The Musketeers"}
- {id: 76, cat: TV, desc: "Мыслить как преступник / Criminal Minds"}
- {id: 202, cat: TV, desc: "На грани / The Brink"}
- {id: 175, cat: TV, desc: "Налёт / Braquo"}
- {id: 125, cat: TV, desc: "Настоящая кровь / True Blood"}
- {id: 152, cat: TV, desc: "Настоящий детектив / True Detective"}
- {id: 79, cat: TV, desc: "Не те парни / The Wrong Mans"}
- {id: 164, cat: TV, desc: "Нэшвилл / Nashville"}
- {id: 58, cat: TV, desc: "Обитель лжи / House of Lies"}
- {id: 137, cat: TV, desc: "Оборотень / Teen Wolf"}
- {id: 303, cat: TV, desc: "Одаренные / The Gifted"}
- {id: 92, cat: TV, desc: "Однажды в сказке / Once Upon A Time"}
- {id: 279, cat: TV, desc: "Однажды ночью / The Night Of"}
- {id: 275, cat: TV, desc: "Оранжевый - хит сезона / Orange is the New Black"}
- {id: 304, cat: TV, desc: "Орвилл / The Orville"}
- {id: 212, cat: TV, desc: "Оставленные / The Leftovers"}
- {id: 139, cat: TV, desc: "Острые козырьки / Peaky Blinders"}
- {id: 163, cat: TV, desc: "Отчаянные домохозяйки / Desperate Housewives"}
- {id: 138, cat: TV, desc: "Отбросы / Misfits"}
- {id: 80, cat: TV, desc: "Пересекающиеся линии / Пересекая черту / Crossing Lines"}
- {id: 218, cat: TV, desc: "Плоть и кости / Flesh and Bone"}
- {id: 99, cat: TV, desc: "Под куполом / Under The Dome"}
- {id: 149, cat: TV, desc: "Подпольная Империя / Boardwalk Empire"}
- {id: 78, cat: TV, desc: "Помнить все / Незабываемое / Unforgettable"}
- {id: 272, cat: TV, desc: "Поворот / TURN"}
- {id: 90, cat: TV, desc: "Пожарные Чикаго / Chicago Fire"}
- {id: 236, cat: TV, desc: "Полицейские на велосипедах / Pacific Blue"}
- {id: 144, cat: TV, desc: "Полиция Гавайев / Hawaii Five-0"}
- {id: 77, cat: TV, desc: "Полиция Чикаго / Chicago PD"}
- {id: 162, cat: TV, desc: "Последователи / The Following"}
- {id: 287, cat: TV, desc: "Приговор / Conviction"}
- {id: 135, cat: TV, desc: "ПригорАД / Suburgatory"}
- {id: 274, cat: TV, desc: "Проповедник / Preacher"}
- {id: 113, cat: TV, desc: "Просветленная / Enlightened"}
- {id: 235, cat: TV, desc: "Пространство / The Expanse"}
- {id: 290, cat: TV, desc: "Радиоволна / Frequency"}
- {id: 112, cat: TV, desc: "Революция / Revolution"}
- {id: 83, cat: TV, desc: "Родина / Homeland"}
- {id: 128, cat: TV, desc: "Рэй Донован / Ray Donovan"}
- {id: 136, cat: TV, desc: "Риццоли и Айлc / Rizzoli & Isles"}
- {id: 160, cat: TV, desc: "Рухнувшие Небеса / Falling Skies"}
- {id: 199, cat: TV, desc: "Салем / Salem"}
- {id: 111, cat: TV, desc: "Сверхъестественное / Supernatural"}
- {id: 157, cat: TV, desc: "Секретные материалы / X-Files"}
- {id: 267, cat: TV, desc: "Семья / The Family"}
- {id: 311, cat: TV, desc: "Сирена / Siren"}
- {id: 64, cat: TV, desc: "Скандал / Scandal"}
- {id: 213, cat: TV, desc: "Слепое пятно / Blindspot"}
- {id: 129, cat: TV, desc: "Служба новостей / Новости / The Newsroom"}
- {id: 286, cat: TV, desc: "Смертельное Оружие / Lethal Weapon"}
- {id: 93, cat: TV, desc: "Сообщество / Community"}
- {id: 179, cat: TV, desc: "Сопрано / The Sopranos"}
- {id: 194, cat: TV, desc: "Сорвиголова / Daredevil"}
- {id: 109, cat: TV, desc: "Сотня / 100 / The Hundred"}
- {id: 153, cat: TV, desc: "Спартак / Spartacus"}
- {id: 266, cat: TV, desc: "Страна чудес / Wonderland"}
- {id: 191, cat: TV, desc: "Страшные сказки / Penny Dreadful"}
- {id: 131, cat: TV, desc: "Стрела / Arrow"}
- {id: 190, cat: TV, desc: "Супергёрл / Supergirl"}
- {id: 82, cat: TV, desc: "Сыны Анархии / Sons of Anarchy"}
- {id: 295, cat: TV, desc: "Табу / Taboo"}
- {id: 273, cat: TV, desc: "Тайны Лауры / The Mysteries of Laura"}
- {id: 178, cat: TV, desc: "Твин Пикс / Twin Peaks"}
- {id: 107, cat: TV, desc: "Теория Большого Взрыва / The Big Bang Theory"}
- {id: 196, cat: TV, desc: "Тёмная материя / Dark Matter"}
- {id: 280, cat: TV, desc: "Тик / The Tick"}
- {id: 181, cat: TV, desc: "Тугая струна / Wire in the Blood"}
- {id: 95, cat: TV, desc: "Убийство / The Killing"}
- {id: 81, cat: TV, desc: "Убить скуку / Bored to Death"}
- {id: 98, cat: TV, desc: "Уилфред / Wilfred"}
- {id: 187, cat: TV, desc: "Уэйуорд Пайнс / Wayward Pines"}
- {id: 142, cat: TV, desc: "Флэш / Flash"}
- {id: 168, cat: TV, desc: "Форс-мажоры / Костюмы / Suits"}
- {id: 59, cat: TV, desc: "Ходячие мертвецы / The Walking Dead"}
- {id: 308, cat: TV, desc: "Хороший доктор / The Good Doctor"}
- {id: 143, cat: TV, desc: "Хранилище 13 / Warehouse 13"}
- {id: 237, cat: TV, desc: "Хроники Шаннары / The Shannara Chronicles"}
- {id: 94, cat: TV, desc: "Хэйвен / Haven"}
- {id: 124, cat: TV, desc: "Царство / Reign"}
- {id: 268, cat: TV, desc: "Час пик / Rush Hour"}
- {id: 115, cat: TV, desc: "Чёрное зеркало / Black Mirror"}
- {id: 73, cat: TV, desc: "Черные Паруса / Black Sails"}
- {id: 177, cat: TV, desc: "Черный список / The Blacklist"}
- {id: 189, cat: TV, desc: "Шёпот / The Whispers"}
- {id: 106, cat: TV, desc: "Шпионка / Alias"}
- {id: 85, cat: TV, desc: "Штамм / The Strain"}
- {id: 288, cat: TV, desc: "Экзорцист / The Exorcist"}
- {id: 105, cat: TV, desc: "Элементарно / Elementary"}
- {id: 217, cat: TV, desc: "Эш против Зловещих мертвецов / Ash vs Evil Dead"}
- {id: 270, cat: TV, desc: "яЗомби / iZombie"}
- {id: 53, cat: TV, desc: "Другие сериалы (Other TV series)"}
- {id: 240, cat: TV, desc: "Клим (Klim)"}
- {id: 283, cat: TV, desc: "Amazon"}
- {id: 284, cat: TV, desc: "Amazon English"}
- {id: 88, cat: TV, desc: "Мультсериалы (Cartoons)"}
- {id: 101, cat: TV, desc: "Южный Парк / South Park"}
- {id: 89, cat: TV, desc: "Спецагент Арчер / Archer"}
- {id: 225, cat: TV, desc: "Стендап / Stand Up"}
- {id: 54, cat: TV, desc: "Особый раздел (Special section)"}
- {id: 100, cat: TV, desc: "Короткометражки (Short films)"}
- {id: 60, cat: TV, desc: "Документальные (Documentaries)"}
- {id: 159, cat: TV, desc: "Разное (Misc.)"}
- {id: 261, cat: TV, desc: "Спорт (Sport)"}
- {id: 262, cat: TV, desc: "Автомотоспорт (Autosport)"}
- {id: 263, cat: TV, desc: "Формула 1 / Formula 1"}
- {id: 264, cat: TV, desc: "MotoGP / SBK"}
- {id: 265, cat: TV, desc: "V8 supercars"}
- {id: 31, cat: TV, desc: "Пользователи (Users)"}
- {id: 188, cat: TV, desc: "Поздравления (Congratulations)"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: ucp.php?mode=login
method: form
form: form#login
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: fieldset:has(div.error)
test:
path: /
selector: :has(a[href^="./ucp.php?mode=logout&sid="])
# download:
# selector: a[href^="./download/file.php?id="]:not(img)
search:
paths:
#https://casstudio.tv/search.php?tracker_search=torrent&keywords=star&terms=all&author=&sc=1&sf=titleonly&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search
- path: search.php
inputs:
tracker_search: "torrent"
keywords: "{{if .Keywords }}{{.Keywords}}{{else}}star{{end}}"
terms: "all"
author: ""
sc: "1"
sf: "titleonly"
sr: "topics"
sk: "t"
sd: "d"
st: "0"
ch: "300"
t: "0"
submit: "Search"
rows:
selector: tr.row
fields:
title:
selector: a.topictitle
details:
selector: a.topictitle
attribute: href
category:
selector: a[href^="./viewforum.php?f="]
attribute: href
filters:
- name: querystring
args: f
download:
selector: a[href^="./download/file.php?id="]
attribute: href
size:
selector: a[href^="./viewforum.php?f="] + b
filters:
- name: replace
args: ["ТБ", "TB"]
- name: replace
args: ["ГБ", "GB"]
- name: replace
args: ["МБ", "MB"]
- name: replace
args: ["КБ", "KB"]
seeders:
selector: td.forumtopics span.seed
leechers:
selector: td.forumtopics span.leech
grabs:
selector: td.forumposts span.complet
date:
# 12 янв 2019, 11:26
selector: td.forumdetails span.forum-descriptions
filters:
# extract the date
- name: regexp
args: "(\\d{2} \\D{3} \\d{4}, \\d{2}:\\d{2})"
# replace month abbreviations
- name: replace
args: ["янв", "Jan"]
- name: replace
args: ["фев", "Feb"]
- name: replace
args: ["мар", "Mar"]
- name: replace
args: ["апр", "Apr"]
- name: replace
args: ["май", "May"]
- name: replace
args: ["июн", "Jun"]
- name: replace
args: ["июл", "Jul"]
- name: replace
args: ["авг", "Aug"]
- name: replace
args: ["сен", "Sep"]
- name: replace
args: ["окт", "Oct"]
- name: replace
args: ["ноя", "Nov"]
- name: replace
args: ["дек", "Dec"]
- name: dateparse
args: "02 Jan 06, 15:04"
downloadvolumefactor:
text: "1"
uploadvolumefactor:
text: "1"

View File

@@ -5,22 +5,33 @@
language: fr-fr
type: public
encoding: UTF-8
followredirect: true
links:
- http://www.cpabien.io/
- https://www.cpabien.link/
legacylinks:
- http://www.cpasbiens.cc/
- http://www.cpabien.cm/
- http://cpabien.cm/
- http://cpasbiens1.com/
- http://cpabien.mx/
- https://www.cpabien.bz/
- http://www.cpabien.bz/
- http://www.cpabien.cx/
- http://cpabien.org/
- http://cpabien.cc/
- http://cpabien.co/
- http://cpabien.la/
- http://cpabien.club/
- http://www.cpabien.io/
- https://ww1.cpabien.io/
- https://wvw.cpabien.cm/
- https://www.cpabien.io/
- https://www.cpabien9.net/
- https://wwv.cpabien.cm/
- http://www.cpabien.cx/
- https://www.cpasbien.blue/
- https://www.cpabien.cx/
- https://www.cpasbien.re/
- http://www.cpasbien.io/
- https://www.cpabien.bz/
caps:
categorymappings:
@@ -34,13 +45,16 @@
settings: []
download:
selector: div.btn-download a
selector: div#telecharger a
attribute: href
search:
paths:
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{else}}derniers/{{end}}"
- path: search.php
method: post
inputs:
t: "{{ .Keywords }}"
rows:
selector: table.table-corps tbody tr td
selector: div.ligne1, div.ligne2
fields:
site_date:
selector: a

View File

@@ -0,0 +1,96 @@
---
site: cpasbienclone
name: cpasbien clone
description: "cpasbien clone is a FRENCH Public site for TV / MOVIES / GENERAL"
language: fr-fr
type: public
encoding: UTF-8
followredirect: true
links:
- https://cpasbiens.cm/
legacylinks:
- https://www1.cpasbiens.ws/
- https://www2.cpasbiens.ws/
caps:
categorymappings:
- {id: films, cat: Movies, desc: "Movies"}
- {id: series, cat: TV, desc: "TV"}
modes:
search: [q]
tv-search: [q, season, ep]
settings: []
download:
selector: div#btn-download a
attribute: href
search:
paths:
- path: "{{if .Keywords}}/recherche/{{.Keywords}}{{else}}{{end}}"
rows:
selector: div#gauche > table > tbody > tr:has(a)
fields:
site_date:
selector: a
filters:
# date is at the end of the title, so we get it and name it site_date
- name: regexp
args: "(\\w+)$"
title:
selector: a
filters:
# now we put the date at the right place according scene naming rules using .Result.site_date
- name: replace
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
- name: replace
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
- name: replace
args: ["VOSTFR", "{{ .Result.site_date }} VOSTFR"]
# and we delete it at the end
- name: re_replace
args: ["(\\w+)$", ""]
details:
selector: a
attribute: href
download:
selector: a
attribute: href
size:
selector: div.poid
filters:
- name: re_replace
args: [ "\\.(\\d) Ko", "$1X00"]
- name: re_replace
args: [ " Ko", "000"]
- name: re_replace
args: [ "\\.(\\d) Mo", "$1X00000"]
- name: re_replace
args: [ " Mo", "000000"]
- name: re_replace
args: [ "\\.(\\d) Go", "$1X00000000"]
- name: re_replace
args: [ " Go", "000000000"]
- name: re_replace
args: [ "\\.(\\d) To", "$1X00000000000"]
- name: re_replace
args: [ " To", "000000000000"]
- name: replace
args: [ "X", "" ]
date:
text: "now"
seeders:
text: 0
seeders:
selector: div.up
optional: true
leechers:
text: 0
leechers:
selector: div.down
optional: true
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -42,6 +42,10 @@
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie

View File

@@ -0,0 +1,146 @@
---
site: desitorrents
name: DesiTorrents
description: "Desitorrents is a Private Torrent Tracker for BOLLYWOOD / TOLLYWOOD / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://desitorrents.tv/
caps:
categorymappings:
# movies
- {id: 47, cat: Movies, desc: "Movies/Bollywood"}
- {id: 48, cat: Movies, desc: "Movies/Bengali"}
- {id: 49, cat: Movies, desc: "Movies/Tamil"}
- {id: 51, cat: Movies, desc: "Movies/Punjabi"}
- {id: 52, cat: Movies, desc: "Movies/Marathi"}
- {id: 53, cat: Movies, desc: "Movies/Malayalam"}
- {id: 54, cat: Movies, desc: "Movies/Kannada"}
- {id: 55, cat: Movies, desc: "Movies/Gujarati"}
- {id: 56, cat: Movies, desc: "Movies/Foreign"}
- {id: 57, cat: Movies, desc: "Movies/Lollywood"}
- {id: 58, cat: Movies, desc: "Movies/Hollywood"}
- {id: 103, cat: Movies, desc: "Movies/Telugu"}
- {id: 104, cat: Movies, desc: "Movies/South Dubbed"}
- {id: 110, cat: Movies, desc: "Movies/Documentary"}
- {id: 117, cat: Movies, desc: "Movies/Bhojpuri"}
- {id: 124, cat: Movies, desc: "Movies/Movie Packs"}
- {id: 128, cat: Movies, desc: "Movies/Dubbed Audio"}
- {id: 129, cat: Movies, desc: "Movies/Animated"}
# tv shows
- {id: 59, cat: TV, desc: "TV/Colors"}
- {id: 60, cat: TV, desc: "TV/Sony"}
- {id: 61, cat: TV, desc: "TV/& TV"}
- {id: 62, cat: TV, desc: "TV/Starplus"}
- {id: 63, cat: TV, desc: "TV/ZeeTV"}
- {id: 97, cat: TV, desc: "TV/Life Ok"}
- {id: 98, cat: TV, desc: "TV/Docu"}
- {id: 101, cat: TV/Sport, desc: "TV/Sports"}
- {id: 102, cat: TV/Other, desc: "TV/Others"}
- {id: 113, cat: TV, desc: "TV/Pak Drama"}
- {id: 125, cat: TV, desc: "TV/TV Packs"}
- {id: 130, cat: TV, desc: "TV/Star Bharat"}
- {id: 132, cat: TV, desc: "TV/SAB TV"}
# music
- {id: 67, cat: Audio/Video, desc: "Music Video"}
- {id: 68, cat: Audio, desc: "Hindi Soundtrack"}
- {id: 70, cat: Audio, desc: "Remix"}
- {id: 71, cat: Audio, desc: "Ghazal"}
- {id: 72, cat: Audio, desc: "Instrumental"}
- {id: 105, cat: Audio, desc: "Telugu Music"}
- {id: 106, cat: Audio, desc: "Tmil Music"}
- {id: 107, cat: Audio, desc: "Punjabi Music"}
- {id: 108, cat: Audio, desc: "Gujarati Music"}
- {id: 109, cat: Audio, desc: "Compilations"}
- {id: 118, cat: Audio, desc: "Kannada Music"}
- {id: 126, cat: Audio, desc: "Marathi"}
- {id: 127, cat: Audio, desc: "Lollywood"}
- {id: 131, cat: Audio, desc: "Classical"}
# games
- {id: 78, cat: PC/Games, desc: "PC"}
- {id: 79, cat: PC/Games, desc: "Mac"}
- {id: 80, cat: PC/Games, desc: "IOS"}
- {id: 81, cat: PC/Games, desc: "Android"}
- {id: 83, cat: PC/Games, desc: "XBOX"}
- {id: 86, cat: PC/Games, desc: "Playstation"}
# XXX
- {id: 89, cat: XXX, desc: "Adult Videos"}
- {id: 90, cat: XXX, desc: "Adult Pics"}
modes:
search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: /login.php?from=index1
method: post
inputs:
action: "login"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: ":contains(\"-WARNING-\")"
test:
path: ajax.php
search:
paths:
- path: ajax.php?action=search_torrent_cats
method: post
inputs:
search_string: "{{ .Keywords }}"
selected_sorting: "relevance"
selected_group: ""
search_username: ""
selected_sub[]: "{{join .Categories \",\"}}"
error:
- selector: ":contains(\"Something was wrong with your request\")"
preprocessingfilters:
- name: replace
args: ["{\"torrent_html\":\"", ""]
- name: replace
args: ["\\", ""]
- name: re_replace
args: ["\",\"paging.*", ""]
- name: prepend
args: "<table>"
- name: append
args: "</table>"
rows:
selector: table > tbody > tr
fields:
title:
selector: th:nth-child(2) > a[href]
details:
selector: th:nth-child(2) > a[href]
attribute: href
files:
selector: th:nth-child(8)
# no standard for categories yet :(
download:
selector: th:nth-child(5) > a[href]
attribute: href
filters:
- name: prepend
args: "{{ .Config.sitelink }}"
grabs:
selector: th:nth-child(11)
size:
selector: th:nth-child(7)
seeders:
selector: th:nth-child(9)
leechers:
selector: th:nth-child(10)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,74 @@
---
site: digbt
name: DIGBT
description: "DIGBT is a Public BitTorrent DHT search engine"
language: en-us
type: public
encoding: UTF-8
links:
- https://www.digbt.org/
caps:
categories:
# DIGBT does not support categories
1: Other
modes:
search: [q]
settings: []
search:
# DIGBT does not support a default empty search or provide trending/latest/new pages
# attempt to fetch up to 50 results (10 per page)
paths:
- path: "search/{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}?c=&s=time&u=y"
- path: "search/{{if .Keywords}}{{.Keywords}}-time-2/{{else}}test-time-2/{{end}}?c=&s=time&u=y"
- path: "search/{{if .Keywords}}{{.Keywords}}-time-3/{{else}}test-time-3/{{end}}?c=&s=time&u=y"
- path: "search/{{if .Keywords}}{{.Keywords}}-time-4/{{else}}test-time-4/{{end}}?c=&s=time&u=y"
- path: "search/{{if .Keywords}}{{.Keywords}}-time-5/{{else}}test-time-5/{{end}}?c=&s=time&u=y"
rows:
selector: tr td.x-item
fields:
title:
selector: div a
category:
text: "1"
details:
selector: div a
attribute: href
download:
selector: div.tail a[href^="magnet:?"]
attribute: href
magnet:
selector: div.tail a[href^="magnet:?"]
attribute: href
date:
selector: div span.ctime
filters:
- name: replace
args: ["yesterday", "1 day"]
- name: timeago
size:
selector: div.tail
filters:
- name: regexp
args: "Size: (.+?) Downloads:"
files:
selector: div.tail
filters:
- name: regexp
args: "Files: (.+?) Size:"
seeders:
text: "1"
leechers:
text: "1"
grabs:
selector: div.tail
filters:
- name: regexp
args: "Downloads: (.+?) Updated:"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -206,24 +206,24 @@
filters:
- name: querystring
args: "category"
date:
selector: td:nth-of-type(5)
date: # some users will have a extra wait time column before the bookmark column, so use last-of-type
selector: td:nth-last-of-type(10)
filters:
- name: append
args: " -04:00"
- name: dateparse
args: "02/01/2006 15:04:05 -07:00"
seeders:
selector: td:nth-of-type(7)
selector: td:nth-last-of-type(8)
leechers:
selector: td:nth-of-type(8)
selector: td:nth-last-of-type(7)
grabs:
selector: td:nth-of-type(9)
selector: td:nth-last-of-type(6)
filters:
- name: replace
args: ["---", "0"]
size:
selector: td:nth-of-type(11)
selector: td:nth-last-of-type(4)
downloadvolumefactor:
case:
img[src="images/freeleech.gif"]: "0"

View File

@@ -0,0 +1,116 @@
---
site: dxdhd
name: DXDHD
description: "General Tracker"
language: en-us
type: private
encoding: UTF-8
links:
- https://dxdhd.com/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: TV/Anime, desc: "Anime"}
- {id: 5, cat: PC/0day, desc: "Apps"}
- {id: 6, cat: Books, desc: "Books"}
- {id: 7, cat: PC/Games, desc: "Games"}
- {id: 8, cat: TV/Sport, desc: "Sports"}
- {id: 9, cat: Other, desc: "Other"}
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 }}"
error:
- selector: table.main:contains("Login Failed!")
test:
path: /torrents
search:
paths:
- path: /filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
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

@@ -0,0 +1,75 @@
---
site: elitetorrent-biz
name: EliteTorrent.biz
description: "EliteTorrent.biz is a Public torrent site for TV, movies and documentaries"
language: es-es
type: public
encoding: UTF-8
links:
- https://www.elitetorrent.biz/
caps:
categories:
"series": TV
"peliculas": Movies
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selector: a[href^="magnet:?"]
attribute: href
search:
path: index.php
keywordsfilters:
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
- name: re_replace
args: ["S0?(\\d{1,2})", " $1 "]
- name: re_replace
args: ["E(\\d{2,3})", " $1 "]
inputs:
s: "{{ .Keywords }}"
$raw: "&x=0&y=0"
rows:
selector: "#principal .miniboxs-ficha li"
fields:
title:
selector: .meta a
# normalize to SXXEYY format
filters:
- name: re_replace
args: ["(\\d{2})×(\\d{2})", "S$1E$2"]
- name: re_replace
args: ["(\\d{1})×(\\d{2})", "S0$1E$2"]
details:
selector: .meta a
attribute: href
download:
selector: .meta a
attribute: href
category:
selector: .meta a
attribute: href
filters:
- name: split
args: ["/", 3]
size:
selector: .voto1
filters:
- name: replace
args: ["s", ""]
date:
text: now
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -1,4 +1,4 @@
---
---
site: ethor
name: Ethor.net (Thor's Land)
description: "A French gerneral tracker"
@@ -40,6 +40,26 @@
tv-search: [q, season, ep]
movie-search: [q, imdbid]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: multilang
type: checkbox
label: Replace VFQ/MULTI by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
default: MULTI.FRENCH
options:
FRENCH : "FRENCH"
MULTI.FRENCH : "MULTI.FRENCH"
ENGLISH: "ENGLISH"
login:
path: login3.php
method: form
@@ -81,8 +101,28 @@
filters:
- name: replace
args: ["/details.php", "/download.php"]
title:
_title_original:
selector: a[href^="/details.php"]:has(b)
_title_original: # long titles (shortened with ...)
selector: a[href^="/details.php"][title]
attribute: title
optional: true
_title_normalized:
text: "{{ .Result._title_original }}"
filters:
- name: re_replace
args: ["S(\\d{2}) E(\\d{2})", "S$1E$2"]
- name: re_replace
args: ["S(\\d{1}) E(\\d{2})", "S0$1E$2"]
_title_multilang:
text: "{{ .Result._title_normalized }}"
filters:
- name: re_replace
args: ["(?i)[\\.\\s\\[\\-]MULTI[\\.\\s\\]\\-]", ".{{ .Config.multilanguage }}."]
- name: re_replace
args: ["(?i)[\\.\\s\\[\\-]VFQ[\\.\\s\\]\\-]", ".{{ .Config.multilanguage }}."]
title:
text: "{{if .Config.multilang }}{{ .Result._title_multilang }}{{else}}{{ .Result._title_normalized }}{{end}}"
category:
selector: a[href^="/browse.php?cat="]
attribute: href

View File

@@ -65,7 +65,7 @@
selector: a[href^="{{ .Config.downloadlink }}"]
search:
path: torrents-search.php
path: "{{if .Keywords}}torrents-search.php{{else}}torrents.php{{end}}"
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

View File

@@ -1,981 +0,0 @@
---
site: extratorrentclone
name: ExtraTorrentClone
description: "ExtraTorrentClone is a Public tracker, a popular alternative to the original ET site, providing Movie / TV / General magnets"
language: en-us
type: public
encoding: UTF-8
links:
- https://geetorrent.com/
legacylinks:
- https://eltorrents.com/
caps:
categorymappings:
#Anime
- {id: 1, cat: TV/Anime, desc: "Anime"}
- {id: 963, cat: TV/Anime, desc: "Anime - Absolute Duo"}
- {id: 951, cat: TV/Anime, desc: "Anime - Akame ga Kill"}
- {id: 959, cat: TV/Anime, desc: "Anime - Aldnoah Zero"}
- {id: 99, cat: TV/Anime, desc: "Anime - Anime - Other"}
- {id: 86, cat: TV/Anime, desc: "Anime - Battle Programer Shirase"}
- {id: 87, cat: TV/Anime, desc: "Anime - Big O"}
- {id: 960, cat: TV/Anime, desc: "Anime - Binan Koukou Chikyuu Bouei-bu Love"}
- {id: 267, cat: TV/Anime, desc: "Anime - Bleach"}
- {id: 88, cat: TV/Anime, desc: "Anime - Cardcaptor Sakura"}
- {id: 89, cat: TV/Anime, desc: "Anime - Chobits"}
- {id: 142, cat: TV/Anime, desc: "Anime - Comics"}
- {id: 962, cat: TV/Anime, desc: "Anime - Death Parade"}
- {id: 151, cat: TV/Anime, desc: "Anime - Dragon ball"}
- {id: 90, cat: TV/Anime, desc: "Anime - Dragonball GT"}
- {id: 91, cat: TV/Anime, desc: "Anime - Dragonball Z"}
- {id: 156, cat: TV/Anime, desc: "Anime - DVD-R"}
- {id: 950, cat: TV/Anime, desc: "Anime - Fairy Tail"}
- {id: 92, cat: TV/Anime, desc: "Anime - Flame of Recca"}
- {id: 93, cat: TV/Anime, desc: "Anime - Full Metal Alchemist"}
- {id: 95, cat: TV/Anime, desc: "Anime - Ghost In The Shell SAC"}
- {id: 94, cat: TV/Anime, desc: "Anime - Gundam"}
- {id: 620, cat: TV/Anime, desc: "Anime - Hentai"}
- {id: 145, cat: TV/Anime, desc: "Anime - Hunter X Hunter"}
- {id: 949, cat: TV/Anime, desc: "Anime - Inou Battle wa Nichijou-kei no Naka de"}
- {id: 96, cat: TV/Anime, desc: "Anime - InuYasha"}
- {id: 524, cat: TV/Anime, desc: "Anime - Kiba"}
- {id: 97, cat: TV/Anime, desc: "Anime - Konkiki No Gash Bell"}
- {id: 961, cat: TV/Anime, desc: "Anime - Kuroko No Basuke"}
- {id: 98, cat: TV/Anime, desc: "Anime - Last Exile"}
- {id: 964, cat: TV/Anime, desc: "Anime - Log Horizon"}
- {id: 952, cat: TV/Anime, desc: "Anime - Nanatsu no Taizai"}
- {id: 101, cat: TV/Anime, desc: "Anime - Naruto"}
- {id: 508, cat: TV/Anime, desc: "Anime - One Piece"}
- {id: 100, cat: TV/Anime, desc: "Anime - Onegai Twins"}
- {id: 523, cat: TV/Anime, desc: "Anime - Ouran High School Host Club"}
- {id: 102, cat: TV/Anime, desc: "Anime - PlanetES"}
- {id: 146, cat: TV/Anime, desc: "Anime - Prince of Tennis"}
- {id: 103, cat: TV/Anime, desc: "Anime - Ranma 1/2"}
- {id: 104, cat: TV/Anime, desc: "Anime - Ruroni Kenshin"}
- {id: 105, cat: TV/Anime, desc: "Anime - Samurai Champloo"}
- {id: 107, cat: TV/Anime, desc: "Anime - Scrapped Princess"}
- {id: 997, cat: TV/Anime, desc: "Anime - Spider-man"}
- {id: 106, cat: TV/Anime, desc: "Anime - Stellvia of the Universe"}
- {id: 525, cat: TV/Anime, desc: "Anime - Strawberry Panic"}
- {id: 953, cat: TV/Anime, desc: "Anime - Sword Art Online II"}
- {id: 958, cat: TV/Anime, desc: "Anime - Tokyo Ghoul"}
#Audio
- {id: 5, cat: Audio, desc: "Music"}
- {id: 54, cat: Audio, desc: "Music - Alternative"}
- {id: 990, cat: Audio, desc: "Music - Ambient"}
- {id: 160, cat: Audio, desc: "Music - Anime"}
- {id: 55, cat: Audio, desc: "Music - Asian"}
- {id: 56, cat: Audio, desc: "Music - Blues"}
- {id: 809, cat: Audio, desc: "Music - Bollywood"}
- {id: 57, cat: Audio, desc: "Music - Christian"}
- {id: 58, cat: Audio, desc: "Music - Classic"}
- {id: 515, cat: Audio, desc: "Music - Compilation/Various Artists (VA)"}
- {id: 59, cat: Audio, desc: "Music - Country/Western"}
- {id: 971, cat: Audio, desc: "Music - Discography"}
- {id: 60, cat: Audio, desc: "Music - Drum N Bass"}
- {id: 61, cat: Audio, desc: "Music - Electronic"}
- {id: 850, cat: Audio, desc: "Music - FLAC"}
- {id: 519, cat: Audio, desc: "Music - Folk"}
- {id: 62, cat: Audio, desc: "Music - Game Music"}
- {id: 233, cat: Audio, desc: "Music - Gothic"}
- {id: 63, cat: Audio, desc: "Music - Hardcore"}
- {id: 78, cat: Audio, desc: "Music - HardHouse/Old School Radio Mixes"}
- {id: 512, cat: Audio, desc: "Music - Hardrock"}
- {id: 724, cat: Audio, desc: "Music - Hardstyle"}
- {id: 306, cat: Audio, desc: "Music - Heavy/Death Metal"}
- {id: 64, cat: Audio, desc: "Music - Hip Hop"}
- {id: 511, cat: Audio, desc: "Music - Indie/Britpop"}
- {id: 65, cat: Audio, desc: "Music - Industrial"}
- {id: 66, cat: Audio, desc: "Music - Jazz"}
- {id: 67, cat: Audio, desc: "Music - Karaoke"}
- {id: 521, cat: Audio, desc: "Music - Latin"}
- {id: 68, cat: Audio, desc: "Music - Metal"}
- {id: 526, cat: Audio, desc: "Music - Motown"}
- {id: 79, cat: Audio, desc: "Music - Music - Other"}
- {id: 69, cat: Audio, desc: "Music - Music Videos"}
- {id: 522, cat: Audio, desc: "Music - Non-English"}
- {id: 507, cat: Audio, desc: "Music - Now That's What I Call Music"}
- {id: 70, cat: Audio, desc: "Music - Pop"}
- {id: 852, cat: Audio, desc: "Music - Progressive"}
- {id: 71, cat: Audio, desc: "Music - Punk"}
- {id: 72, cat: Audio, desc: "Music - R&B"}
- {id: 851, cat: Audio, desc: "Music - Rai"}
- {id: 73, cat: Audio, desc: "Music - Rap"}
- {id: 74, cat: Audio, desc: "Music - Reggae"}
- {id: 75, cat: Audio, desc: "Music - Rock"}
- {id: 527, cat: Audio, desc: "Music - Rock 'n' Roll"}
- {id: 514, cat: Audio, desc: "Music - Singer Songwriter"}
- {id: 230, cat: Audio, desc: "Music - Ska"}
- {id: 505, cat: Audio, desc: "Music - Soul"}
- {id: 77, cat: Audio, desc: "Music - Soundtracks"}
- {id: 161, cat: Audio, desc: "Music - Techno"}
- {id: 420, cat: Audio, desc: "Music - Trance/House/Dance"}
- {id: 76, cat: Audio, desc: "Music - Unsigned/Amateur"}
- {id: 1002, cat: Audio, desc: "Music - AAC"}
- {id: 1003, cat: Audio, desc: "Music - Album"}
- {id: 1004, cat: Audio, desc: "Music - Box Set"}
- {id: 1005, cat: Audio, desc: "Music - Concerts"}
- {id: 1006, cat: Audio, desc: "Music - Discography"}
- {id: 1007, cat: Audio, desc: "Music - DVD"}
- {id: 1008, cat: Audio/Lossless, desc: "Music - Lossless"}
- {id: 1009, cat: Audio/MP3, desc: "Music - MP3"}
- {id: 1011, cat: Audio, desc: "Music - Radio"}
- {id: 1012, cat: Audio, desc: "Music - Single"}
#Movies
- {id: 4, cat: Movies, desc: "Movies"}
- {id: 419, cat: Movies, desc: "Movies - Action"}
- {id: 28, cat: Movies, desc: "Movies - Adventure"}
- {id: 29, cat: Movies, desc: "Movies - Animation"}
- {id: 30, cat: Movies, desc: "Movies - Asian"}
- {id: 32, cat: Movies, desc: "Movies - Automotive/Cars"}
- {id: 628, cat: Movies, desc: "Movies - Biography"}
- {id: 977, cat: Movies, desc: "Movies - Black and White"}
- {id: 558, cat: Movies, desc: "Movies - Bollywood/Desi"}
- {id: 976, cat: Movies, desc: "Movies - Classic"}
- {id: 33, cat: Movies, desc: "Movies - Comedy"}
- {id: 34, cat: Movies, desc: "Movies - Concerts"}
- {id: 600, cat: Movies, desc: "Movies - Crime"}
- {id: 35, cat: Movies, desc: "Movies - Documentary"}
- {id: 37, cat: Movies, desc: "Movies - Drama"}
- {id: 742, cat: Movies, desc: "Movies - Dubbed/Dual Audio"}
- {id: 36, cat: Movies, desc: "Movies - DVD/Film Extras"}
- {id: 149, cat: Movies, desc: "Movies - Family"}
- {id: 38, cat: Movies, desc: "Movies - Fantasy"}
- {id: 39, cat: Movies, desc: "Movies - Gore Flicks"}
- {id: 602, cat: Movies, desc: "Movies - History"}
- {id: 40, cat: Movies, desc: "Movies - Horror"}
- {id: 41, cat: Movies, desc: "Movies - Kids"}
- {id: 150, cat: Movies, desc: "Movies - KVCD"}
- {id: 974, cat: Movies, desc: "Movies - Lollywood"}
- {id: 42, cat: Movies, desc: "Movies - Martial Arts"}
- {id: 44, cat: Movies/Other, desc: "Movies - Other"}
- {id: 805, cat: Movies/3D, desc: "Movies - 3D"}
- {id: 975, cat: Movies/UHD, desc: "Movies - 4K"}
- {id: 947, cat: Movies, desc: "Movies - Musical"}
- {id: 43, cat: Movies, desc: "Movies - Mystery"}
- {id: 603, cat: Movies/Foreign, desc: "Movies - non English"}
- {id: 978, cat: Movies, desc: "Movies - Rarities"}
- {id: 45, cat: Movies, desc: "Movies - Romance"}
- {id: 46, cat: Movies, desc: "Movies - Samples/Trailers"}
- {id: 47, cat: Movies, desc: "Movies - Sci-Fi"}
- {id: 48, cat: Movies, desc: "Movies - Sports related"}
- {id: 779, cat: Movies, desc: "Movies - Stand-up comedy"}
- {id: 49, cat: Movies, desc: "Movies - Thriller"}
- {id: 671, cat: Movies, desc: "Movies - Travel"}
- {id: 307, cat: Movies, desc: "Movies - War"}
- {id: 601, cat: Movies, desc: "Movies - Western"}
- {id: 1024, cat: Movies, desc: "Movies - HEVC/x265"}
- {id: 1030, cat: Movies, desc: "Movies - Divx/Xvid"}
- {id: 1031, cat: Movies, desc: "Movies - h.264/x264"}
- {id: 1032, cat: Movies/HD, desc: "Movies - HD"}
- {id: 1033, cat: Movies, desc: "Movies - MP4"}
- {id: 1034, cat: Movies, desc: "Movies - SVCD/VCD"}
- {id: 1035, cat: Movies, desc: "Movies - YIFY"}
#TV
- {id: 8, cat: TV, desc: "TV"}
- {id: 986, cat: TV, desc: "TV - 12 Monkeys"}
- {id: 598, cat: TV, desc: "TV - 19-2"}
- {id: 795, cat: TV, desc: "TV - 2 Broke Girls"}
- {id: 435, cat: TV, desc: "TV - 24"}
- {id: 169, cat: TV, desc: "TV - 30 Days"}
- {id: 561, cat: TV, desc: "TV - 30 Rock"}
- {id: 274, cat: TV, desc: "TV - 60 Minutes"}
- {id: 862, cat: TV, desc: "TV - 666 Park Avenue"}
- {id: 273, cat: TV, desc: "TV - 'Allo 'Allo!"}
- {id: 310, cat: TV, desc: "TV - A-Team"}
- {id: 797, cat: TV, desc: "TV - About a Boy"}
- {id: 998, cat: TV, desc: "TV - Above Suspicion"}
- {id: 966, cat: TV, desc: "TV - Adam - E.V.A"}
- {id: 573, cat: TV, desc: "TV - Alaska State Troopers"}
- {id: 821, cat: TV, desc: "TV - Alcatraz"}
- {id: 118, cat: TV, desc: "TV - Alias"}
- {id: 810, cat: TV, desc: "TV - Almost Human"}
- {id: 771, cat: TV, desc: "TV - Alphas"}
- {id: 818, cat: TV, desc: "TV - American Chopper"}
- {id: 234, cat: TV, desc: "TV - American Dad"}
- {id: 194, cat: TV, desc: "TV - American Horror Story"}
- {id: 634, cat: TV, desc: "TV - American Idol"}
- {id: 674, cat: TV, desc: "TV - Americas Got Talent"}
- {id: 675, cat: TV, desc: "TV - Americas Next Top Model"}
- {id: 894, cat: TV, desc: "TV - Ancient Aliens"}
- {id: 170, cat: TV, desc: "TV - Angel"}
- {id: 911, cat: TV, desc: "TV - Anger Management"}
- {id: 659, cat: TV, desc: "TV - Archer"}
- {id: 275, cat: TV, desc: "TV - Arrested Development"}
- {id: 872, cat: TV, desc: "TV - Arrow"}
- {id: 984, cat: TV, desc: "TV - Ash vs Evil Dead"}
- {id: 171, cat: TV, desc: "TV - Attack Of The Show"}
- {id: 837, cat: TV, desc: "TV - Awake"}
- {id: 902, cat: TV, desc: "TV - Awkward"}
- {id: 916, cat: TV, desc: "TV - Baby Daddy"}
- {id: 165, cat: TV, desc: "TV - Babylon 5"}
- {id: 309, cat: TV, desc: "TV - Back In The Game"}
- {id: 460, cat: TV, desc: "TV - Band Of Brothers"}
- {id: 329, cat: TV, desc: "TV - Banshee"}
- {id: 891, cat: TV, desc: "TV - Bates Motel"}
- {id: 802, cat: TV, desc: "TV - Batman The Brave and The Bold"}
- {id: 163, cat: TV, desc: "TV - Battlestar Galactica"}
- {id: 794, cat: TV, desc: "TV - BBC"}
- {id: 886, cat: TV, desc: "TV - Beauty and the Beast"}
- {id: 172, cat: TV, desc: "TV - Beauty And The Geek"}
- {id: 782, cat: TV, desc: "TV - Beavis and Butt-Head"}
- {id: 584, cat: TV, desc: "TV - Being Erica"}
- {id: 669, cat: TV, desc: "TV - Being Human"}
- {id: 683, cat: TV, desc: "TV - Believe"}
- {id: 335, cat: TV, desc: "TV - Bellator FC"}
- {id: 979, cat: TV, desc: "TV - Better Call Saul"}
- {id: 173, cat: TV, desc: "TV - Big Brother"}
- {id: 666, cat: TV, desc: "TV - Big Love"}
- {id: 774, cat: TV, desc: "TV - Bigg Boss"}
- {id: 989, cat: TV, desc: "TV - Billions"}
- {id: 174, cat: TV, desc: "TV - Bitten"}
- {id: 396, cat: TV, desc: "TV - Black Sails"}
- {id: 981, cat: TV, desc: "TV - Blindspot"}
- {id: 717, cat: TV, desc: "TV - Blue Bloods"}
- {id: 754, cat: TV, desc: "TV - Boardwalk Empire"}
- {id: 709, cat: TV, desc: "TV - Bobs Burgers"}
- {id: 767, cat: TV, desc: "TV - Body of Proof"}
- {id: 175, cat: TV, desc: "TV - Bold and the beautiful"}
- {id: 969, cat: TV, desc: "TV - Bollywood TV Shows"}
- {id: 269, cat: TV, desc: "TV - Bones"}
- {id: 235, cat: TV, desc: "TV - Boston Legal"}
- {id: 676, cat: TV, desc: "TV - Breaking Bad"}
- {id: 707, cat: TV, desc: "TV - Breakout Kings"}
- {id: 409, cat: TV, desc: "TV - Brickleberry"}
- {id: 680, cat: TV, desc: "TV - Brooklyn Nine-Nine"}
- {id: 560, cat: TV, desc: "TV - Brothers And Sisters"}
- {id: 147, cat: TV, desc: "TV - Buffy"}
- {id: 677, cat: TV, desc: "TV - Burn Notice"}
- {id: 619, cat: TV, desc: "TV - Californication"}
- {id: 883, cat: TV, desc: "TV - Call of the Wildman"}
- {id: 719, cat: TV, desc: "TV - Camelot"}
- {id: 921, cat: TV, desc: "TV - Camp"}
- {id: 661, cat: TV, desc: "TV - Caprica"}
- {id: 928, cat: TV, desc: "TV - Capture"}
- {id: 128, cat: TV, desc: "TV - Carnivale"}
- {id: 736, cat: TV, desc: "TV - Cartoon"}
- {id: 658, cat: TV, desc: "TV - Castle"}
- {id: 941, cat: TV, desc: "TV - Cedar Cove"}
- {id: 846, cat: TV, desc: "TV - Celebrity Juice"}
- {id: 141, cat: TV, desc: "TV - Charmed"}
- {id: 900, cat: TV, desc: "TV - Chicago Fire"}
- {id: 324, cat: TV, desc: "TV - Chicago PD"}
- {id: 315, cat: TV, desc: "TV - Chopped"}
- {id: 184, cat: TV, desc: "TV - Chozen"}
- {id: 657, cat: TV, desc: "TV - Chuck"}
- {id: 133, cat: TV, desc: "TV - Cold Case"}
- {id: 629, cat: TV, desc: "TV - Community"}
- {id: 178, cat: TV, desc: "TV - Conan O'Brien"}
- {id: 946, cat: TV, desc: "TV - Constantine"}
- {id: 879, cat: TV, desc: "TV - Continuum"}
- {id: 861, cat: TV, desc: "TV - Copper"}
- {id: 322, cat: TV, desc: "TV - Cops"}
- {id: 186, cat: TV, desc: "TV - Cosmos A Space Time Odyssey"}
- {id: 670, cat: TV, desc: "TV - Cougar Town"}
- {id: 729, cat: TV, desc: "TV - Covert Affairs"}
- {id: 651, cat: TV, desc: "TV - Craig Ferguson"}
- {id: 280, cat: TV, desc: "TV - Criminal Minds"}
- {id: 788, cat: TV, desc: "TV - Crisis"}
- {id: 279, cat: TV, desc: "TV - Criss Angel BeLIEve"}
- {id: 323, cat: TV, desc: "TV - Crossing Jordan"}
- {id: 926, cat: TV, desc: "TV - Crossing Lines"}
- {id: 108, cat: TV, desc: "TV - CSI"}
- {id: 325, cat: TV, desc: "TV - Curb Your Enthusiasm"}
- {id: 882, cat: TV, desc: "TV - Da Vincis Demons"}
- {id: 282, cat: TV, desc: "TV - Dallas"}
- {id: 678, cat: TV, desc: "TV - Damages"}
- {id: 798, cat: TV, desc: "TV - Dancing with the Stars US"}
- {id: 652, cat: TV, desc: "TV - David Letterman"}
- {id: 994, cat: TV, desc: "TV - Days of Our Lives"}
- {id: 985, cat: TV, desc: "TV - DCs Legends of Tomorrow"}
- {id: 181, cat: TV, desc: "TV - Dead Like Me"}
- {id: 679, cat: TV, desc: "TV - Deadliest Catch"}
- {id: 182, cat: TV, desc: "TV - Deadwood"}
- {id: 890, cat: TV, desc: "TV - Defiance"}
- {id: 281, cat: TV, desc: "TV - Democracy Now!"}
- {id: 183, cat: TV, desc: "TV - Desperate Housewives"}
- {id: 939, cat: TV, desc: "TV - Devious Maids"}
- {id: 585, cat: TV, desc: "TV - Dexter"}
- {id: 644, cat: TV, desc: "TV - Dirty Jobs"}
- {id: 122, cat: TV, desc: "TV - Discovery Channel"}
- {id: 167, cat: TV, desc: "TV - Doctor Who"}
- {id: 968, cat: TV, desc: "TV - Documentary"}
- {id: 606, cat: TV, desc: "TV - Dollhouse"}
- {id: 839, cat: TV, desc: "TV - Dont Trust the Bitch in Apartment"}
- {id: 326, cat: TV, desc: "TV - Dr Who"}
- {id: 925, cat: TV, desc: "TV - Dracula"}
- {id: 328, cat: TV, desc: "TV - Drawn Together"}
- {id: 732, cat: TV, desc: "TV - Drop Dead"}
- {id: 820, cat: TV, desc: "TV - Eastbound and Down"}
- {id: 875, cat: TV, desc: "TV - Elementary"}
- {id: 283, cat: TV, desc: "TV - Ellen DeGeneres"}
- {id: 330, cat: TV, desc: "TV - Enlisted"}
- {id: 187, cat: TV, desc: "TV - Entourage"}
- {id: 270, cat: TV, desc: "TV - ER"}
- {id: 765, cat: TV, desc: "TV - Eureka"}
- {id: 238, cat: TV, desc: "TV - Everybody Loves Raymond"}
- {id: 571, cat: TV, desc: "TV - Extant"}
- {id: 840, cat: TV, desc: "TV - Fact or Faked Paranormal Files"}
- {id: 828, cat: TV, desc: "TV - Fairly Legeal"}
- {id: 876, cat: TV, desc: "TV - Faking It"}
- {id: 917, cat: TV, desc: "TV - Falling Skies"}
- {id: 188, cat: TV, desc: "TV - Family Guy"}
- {id: 855, cat: TV, desc: "TV - Family Tools"}
- {id: 411, cat: TV, desc: "TV - Fargo"}
- {id: 331, cat: TV, desc: "TV - Farscape"}
- {id: 983, cat: TV, desc: "TV - Fear the Walking Dead"}
- {id: 332, cat: TV, desc: "TV - Fifth Gear"}
- {id: 672, cat: TV, desc: "TV - Flashforward"}
- {id: 753, cat: TV, desc: "TV - Flashpoint"}
- {id: 831, cat: TV, desc: "TV - Foreign Series/Non English"}
- {id: 266, cat: TV, desc: "TV - Forever"}
- {id: 922, cat: TV, desc: "TV - Franklin and Bash"}
- {id: 140, cat: TV, desc: "TV - Friends"}
- {id: 612, cat: TV, desc: "TV - Fringe"}
- {id: 277, cat: TV, desc: "TV - From Dusk Till Dawn"}
- {id: 681, cat: TV, desc: "TV - Futurama"}
- {id: 728, cat: TV, desc: "TV - Game of Thrones"}
- {id: 334, cat: TV, desc: "TV - Gang Related"}
- {id: 996, cat: TV, desc: "TV - General Hospital"}
- {id: 954, cat: TV, desc: "TV - Geordie Shore"}
- {id: 574, cat: TV, desc: "TV - Ghost Adventures"}
- {id: 704, cat: TV, desc: "TV - Ghost Hunters"}
- {id: 642, cat: TV, desc: "TV - Ghost Mine"}
- {id: 338, cat: TV, desc: "TV - Ghost Whisperer"}
- {id: 284, cat: TV, desc: "TV - Gilmore Girls"}
- {id: 682, cat: TV, desc: "TV - Glee"}
- {id: 865, cat: TV, desc: "TV - Go On"}
- {id: 276, cat: TV, desc: "TV - Gold Rush"}
- {id: 339, cat: TV, desc: "TV - Good Eats"}
- {id: 599, cat: TV, desc: "TV - Gossip Girl"}
- {id: 580, cat: TV, desc: "TV - Gotham"}
- {id: 919, cat: TV, desc: "TV - Graceland"}
- {id: 955, cat: TV, desc: "TV - Gracepoint"}
- {id: 285, cat: TV, desc: "TV - Greys Anatomy"}
- {id: 819, cat: TV, desc: "TV - Grimm"}
- {id: 237, cat: TV, desc: "TV - Growing Up Fisher"}
- {id: 340, cat: TV, desc: "TV - Guiding Light"}
- {id: 866, cat: TV, desc: "TV - Guys With Kids"}
- {id: 880, cat: TV, desc: "TV - Hannibal"}
- {id: 813, cat: TV, desc: "TV - Happily Divorced"}
- {id: 769, cat: TV, desc: "TV - Happy Endings"}
- {id: 190, cat: TV, desc: "TV - Harald Schmidt"}
- {id: 713, cat: TV, desc: "TV - Harrys Law"}
- {id: 832, cat: TV, desc: "TV - Hart of Dixie"}
- {id: 341, cat: TV, desc: "TV - Haunted"}
- {id: 773, cat: TV, desc: "TV - Haven"}
- {id: 712, cat: TV, desc: "TV - Hawaii Five-0"}
- {id: 781, cat: TV, desc: "TV - Helix"}
- {id: 853, cat: TV, desc: "TV - Hell on Wheels"}
- {id: 191, cat: TV, desc: "TV - Hells Kitchen"}
- {id: 884, cat: TV, desc: "TV - Hemlock Grove"}
- {id: 342, cat: TV, desc: "TV - Hercules"}
- {id: 556, cat: TV, desc: "TV - Heroes"}
- {id: 343, cat: TV, desc: "TV - Hex"}
- {id: 192, cat: TV, desc: "TV - Hogans Heroes"}
- {id: 588, cat: TV, desc: "TV - Hollands Hoop"}
- {id: 755, cat: TV, desc: "TV - Homeland"}
- {id: 812, cat: TV, desc: "TV - Hostages"}
- {id: 684, cat: TV, desc: "TV - Hot in Cleveland"}
- {id: 286, cat: TV, desc: "TV - House"}
- {id: 913, cat: TV, desc: "TV - House Of Cards"}
- {id: 287, cat: TV, desc: "TV - How I Met Your Mother"}
- {id: 568, cat: TV, desc: "TV - How Its Made"}
- {id: 893, cat: TV, desc: "TV - How to Live with Your Parents"}
- {id: 288, cat: TV, desc: "TV - Howard Stern"}
- {id: 132, cat: TV, desc: "TV - Huff"}
- {id: 345, cat: TV, desc: "TV - Humor Amarillo"}
- {id: 756, cat: TV, desc: "TV - Hung"}
- {id: 637, cat: TV, desc: "TV - Hustle"}
- {id: 346, cat: TV, desc: "TV - In Justice"}
- {id: 685, cat: TV, desc: "TV - In Plain Sight"}
- {id: 582, cat: TV, desc: "TV - Ink Master"}
- {id: 347, cat: TV, desc: "TV - Inked"}
- {id: 965, cat: TV, desc: "TV - Inside MMA"}
- {id: 873, cat: TV, desc: "TV - Intelligence US"}
- {id: 240, cat: TV, desc: "TV - Into the West"}
- {id: 166, cat: TV, desc: "TV - Iron Chef"}
- {id: 289, cat: TV, desc: "TV - Invasion"}
- {id: 817, cat: TV, desc: "TV - Ironside"}
- {id: 772, cat: TV, desc: "TV - Its Always Sunny in Philadelphia"}
- {id: 988, cat: TV, desc: "TV - iZombie"}
- {id: 991, cat: TV, desc: "TV - Jane the Virgin"}
- {id: 290, cat: TV, desc: "TV - Jay Leno"}
- {id: 763, cat: TV, desc: "TV - Jersey Shore"}
- {id: 177, cat: TV, desc: "TV - Joe Rogan Questions Everything"}
- {id: 110, cat: TV, desc: "TV - Joey"}
- {id: 196, cat: TV, desc: "TV - Justice League Unlimited"}
- {id: 686, cat: TV, desc: "TV - Justified"}
- {id: 412, cat: TV, desc: "TV - kabachitare!"}
- {id: 738, cat: TV, desc: "TV - Killer Contact"}
- {id: 349, cat: TV, desc: "TV - Killer Instinct"}
- {id: 197, cat: TV, desc: "TV - Kim Possible"}
- {id: 741, cat: TV, desc: "TV - King"}
- {id: 933, cat: TV, desc: "TV - King and Maxwel"}
- {id: 350, cat: TV, desc: "TV - King Of The Hill"}
- {id: 351, cat: TV, desc: "TV - Kitchen Confidential"}
- {id: 790, cat: TV, desc: "TV - Kitchen Nightmares US"}
- {id: 348, cat: TV, desc: "TV - Kolchak The Night Stalker"}
- {id: 241, cat: TV, desc: "TV - Koot en Bie"}
- {id: 198, cat: TV, desc: "TV - Kung Fu"}
- {id: 199, cat: TV, desc: "TV - La Femme Nikita"}
- {id: 570, cat: TV, desc: "TV - LA Ink"}
- {id: 242, cat: TV, desc: "TV - Laguna Beach"}
- {id: 130, cat: TV, desc: "TV - Las Vegas"}
- {id: 843, cat: TV, desc: "TV - Last Man Standing"}
- {id: 867, cat: TV, desc: "TV - Last Resort"}
- {id: 200, cat: TV, desc: "TV - Late Night with Conan O'Brien"}
- {id: 115, cat: TV, desc: "TV - Law And Order"}
- {id: 591, cat: TV, desc: "TV - Law and Order UK"}
- {id: 243, cat: TV, desc: "TV - Le Cameleon"}
- {id: 578, cat: TV, desc: "TV - Legend of the Seeker"}
- {id: 590, cat: TV, desc: "TV - Legends"}
- {id: 898, cat: TV, desc: "TV - Legit"}
- {id: 638, cat: TV, desc: "TV - Level3"}
- {id: 656, cat: TV, desc: "TV - Leverage"}
- {id: 618, cat: TV, desc: "TV - Lie To Me"}
- {id: 650, cat: TV, desc: "TV - Life"}
- {id: 353, cat: TV, desc: "TV - Life on Mars"}
- {id: 716, cat: TV, desc: "TV - Lights Out"}
- {id: 244, cat: TV, desc: "TV - Line Of Fire"}
- {id: 504, cat: TV, desc: "TV - Little Britain"}
- {id: 665, cat: TV, desc: "TV - Little Mosque on the Prairie"}
- {id: 148, cat: TV, desc: "TV - Long Island Medium"}
- {id: 914, cat: TV, desc: "TV - Longmire"}
- {id: 354, cat: TV, desc: "TV - Los Serrano"}
- {id: 111, cat: TV, desc: "TV - Lost"}
- {id: 314, cat: TV, desc: "TV - Lost Girl"}
- {id: 858, cat: TV, desc: "TV - Louie"}
- {id: 726, cat: TV, desc: "TV - Love Bites"}
- {id: 937, cat: TV, desc: "TV - Low Winter Sun"}
- {id: 956, cat: TV, desc: "TV - Lucha Underground"}
- {id: 980, cat: TV, desc: "TV - Lucifer"}
- {id: 503, cat: TV, desc: "TV - Lucky Louie"}
- {id: 687, cat: TV, desc: "TV - Luther"}
- {id: 157, cat: TV, desc: "TV - MacGyver"}
- {id: 705, cat: TV, desc: "TV - Mad Love"}
- {id: 826, cat: TV, desc: "TV - Mad Men"}
- {id: 869, cat: TV, desc: "TV - Made in Jersey"}
- {id: 355, cat: TV, desc: "TV - MADtv"}
- {id: 871, cat: TV, desc: "TV - Major Crimes"}
- {id: 667, cat: TV, desc: "TV - Make It or Break It"}
- {id: 357, cat: TV, desc: "TV - Malcolm In The Middle"}
- {id: 662, cat: TV, desc: "TV - Man vs Wild"}
- {id: 759, cat: TV, desc: "TV - Marvels Agents of S.H.I.E.L.D"}
- {id: 910, cat: TV, desc: "TV - MasterChef US"}
- {id: 358, cat: TV, desc: "TV - Masters Of Horror"}
- {id: 824, cat: TV, desc: "TV - Masters of Sex"}
- {id: 291, cat: TV, desc: "TV - Medium"}
- {id: 617, cat: TV, desc: "TV - Melrose Place"}
- {id: 688, cat: TV, desc: "TV - Memphis Beat"}
- {id: 905, cat: TV, desc: "TV - Men at Work"}
- {id: 645, cat: TV, desc: "TV - Men of a Certain Age"}
- {id: 633, cat: TV, desc: "TV - Mercy"}
- {id: 579, cat: TV, desc: "TV - Merlin"}
- {id: 359, cat: TV, desc: "TV - Miami Ink"}
- {id: 825, cat: TV, desc: "TV - Midsomer Murders"}
- {id: 783, cat: TV, desc: "TV - Mike and Molly"}
- {id: 823, cat: TV, desc: "TV - Mind Games"}
- {id: 246, cat: TV, desc: "TV - Mind of Mencia"}
- {id: 313, cat: TV, desc: "TV - Misfits"}
- {id: 842, cat: TV, desc: "TV - Missing"}
- {id: 647, cat: TV, desc: "TV - Mistresses US"}
- {id: 179, cat: TV, desc: "TV - Mixology"}
- {id: 632, cat: TV, desc: "TV - Modern Family"}
- {id: 245, cat: TV, desc: "TV - Modern Marvels"}
- {id: 398, cat: TV, desc: "TV - Mom"}
- {id: 201, cat: TV, desc: "TV - Monk"}
- {id: 361, cat: TV, desc: "TV - Monty Pythons Flying Circus"}
- {id: 907, cat: TV, desc: "TV - Motive"}
- {id: 247, cat: TV, desc: "TV - Mr Bean"}
- {id: 992, cat: TV, desc: "TV - Mr. Robot"}
- {id: 356, cat: TV, desc: "TV - MST3K"}
- {id: 292, cat: TV, desc: "TV - My Favorite Martian"}
- {id: 792, cat: TV, desc: "TV - My Ghost Story"}
- {id: 999, cat: TV, desc: "TV - My Little Pony - Friendship is Magic"}
- {id: 362, cat: TV, desc: "TV - My Name Is Earl"}
- {id: 202, cat: TV, desc: "TV - My Restaurant Rules"}
- {id: 193, cat: TV, desc: "TV - Mythbusters"}
- {id: 940, cat: TV, desc: "TV - Naked And Afraid"}
- {id: 203, cat: TV, desc: "TV - NASA 50 Years Of Space Exploration"}
- {id: 899, cat: TV, desc: "TV - Nashville"}
- {id: 636, cat: TV, desc: "TV - National Geographic"}
- {id: 120, cat: TV, desc: "TV - NCIS"}
- {id: 920, cat: TV, desc: "TV - Necessary Roughness"}
- {id: 841, cat: TV, desc: "TV - New Girl"}
- {id: 957, cat: TV, desc: "TV - New Japan Pro Wrestling"}
- {id: 311, cat: TV, desc: "TV - NewGamePlus"}
- {id: 363, cat: TV, desc: "TV - Night Stalker"}
- {id: 722, cat: TV, desc: "TV - Nikita"}
- {id: 293, cat: TV, desc: "TV - Nip Tuck"}
- {id: 710, cat: TV, desc: "TV - No Ordinary Family"}
- {id: 294, cat: TV, desc: "TV - Numb3rs"}
- {id: 689, cat: TV, desc: "TV - Nurse Jackie"}
- {id: 703, cat: TV, desc: "TV - Off the Map"}
- {id: 833, cat: TV, desc: "TV - Once Upon a Time Once"}
- {id: 364, cat: TV, desc: "TV - One Tree Hill"}
- {id: 424, cat: TV, desc: "TV - Only Fools And Horses"}
- {id: 935, cat: TV, desc: "TV - Orange Is The New Black"}
- {id: 881, cat: TV, desc: "TV - Orphan Black"}
- {id: 113, cat: TV, desc: "TV - Other"}
- {id: 365, cat: TV, desc: "TV - Out of Practice S01E"}
- {id: 248, cat: TV, desc: "TV - Outer Limits"}
- {id: 646, cat: TV, desc: "TV - Outer Space Astronauts"}
- {id: 336, cat: TV, desc: "TV - Outlander"}
- {id: 723, cat: TV, desc: "TV - Outsourced"}
- {id: 249, cat: TV, desc: "TV - Over There"}
- {id: 757, cat: TV, desc: "TV - Pan Am"}
- {id: 640, cat: TV, desc: "TV - Paradox"}
- {id: 778, cat: TV, desc: "TV - Parenthood"}
- {id: 613, cat: TV, desc: "TV - Parks and Recreation"}
- {id: 250, cat: TV, desc: "TV - Passions"}
- {id: 414, cat: TV, desc: "TV - PBS NOW"}
- {id: 690, cat: TV, desc: "TV - Penn and Teller Bullshit"}
- {id: 945, cat: TV, desc: "TV - Penny Dreadful"}
- {id: 927, cat: TV, desc: "TV - Perception"}
- {id: 785, cat: TV, desc: "TV - Person of Interest"}
- {id: 366, cat: TV, desc: "TV - Phil of the Future"}
- {id: 204, cat: TV, desc: "TV - Pimp My Ride"}
- {id: 967, cat: TV, desc: "TV - Player Attack"}
- {id: 427, cat: TV, desc: "TV - Poker"}
- {id: 691, cat: TV, desc: "TV - Pretty Little Liars"}
- {id: 784, cat: TV, desc: "TV - Prime Suspect US"}
- {id: 734, cat: TV, desc: "TV - Primeval"}
- {id: 229, cat: TV, desc: "TV - Prison Break"}
- {id: 692, cat: TV, desc: "TV - Private Practice"}
- {id: 368, cat: TV, desc: "TV - Project Runway"}
- {id: 663, cat: TV, desc: "TV - Psych"}
- {id: 205, cat: TV, desc: "TV - Punkd"}
- {id: 803, cat: TV, desc: "TV - QI"}
- {id: 982, cat: TV, desc: "TV - Quantico"}
- {id: 251, cat: TV, desc: "TV - Quantum Leap"}
- {id: 993, cat: TV, desc: "TV - Queen of the South"}
- {id: 252, cat: TV, desc: "TV - Queer as Folk"}
- {id: 714, cat: TV, desc: "TV - Raising Hope"}
- {id: 317, cat: TV, desc: "TV - Ravenswood"}
- {id: 936, cat: TV, desc: "TV - Ray Donovan"}
- {id: 594, cat: TV, desc: "TV - Ray Mears Northern Wilderness"}
- {id: 822, cat: TV, desc: "TV - Real Time with Bill Maher"}
- {id: 369, cat: TV, desc: "TV - Reba"}
- {id: 885, cat: TV, desc: "TV - Rectify"}
- {id: 206, cat: TV, desc: "TV - Red Dwarf"}
- {id: 906, cat: TV, desc: "TV - Red Widow"}
- {id: 117, cat: TV, desc: "TV - ReGenesis"}
- {id: 854, cat: TV, desc: "TV - Reign"}
- {id: 370, cat: TV, desc: "TV - Related"}
- {id: 327, cat: TV, desc: "TV - Remedy"}
- {id: 253, cat: TV, desc: "TV - Remington Steele"}
- {id: 254, cat: TV, desc: "TV - Reno 911"}
- {id: 207, cat: TV, desc: "TV - Rescue Me"}
- {id: 576, cat: TV, desc: "TV - Resurrection"}
- {id: 295, cat: TV, desc: "TV - Reunion"}
- {id: 208, cat: TV, desc: "TV - Revelations"}
- {id: 760, cat: TV, desc: "TV - Revenge"}
- {id: 859, cat: TV, desc: "TV - Revolution"}
- {id: 312, cat: TV, desc: "TV - Rewind"}
- {id: 768, cat: TV, desc: "TV - Ringer"}
- {id: 604, cat: TV, desc: "TV - Rip Off Britain"}
- {id: 693, cat: TV, desc: "TV - River Monsters"}
- {id: 929, cat: TV, desc: "TV - Rizzoli and Isles"}
- {id: 209, cat: TV, desc: "TV - Robot Chicken"}
- {id: 888, cat: TV, desc: "TV - Rogue"}
- {id: 944, cat: TV, desc: "TV - ROH-Wrestling"}
- {id: 255, cat: TV, desc: "TV - Rome"}
- {id: 849, cat: TV, desc: "TV - Rookie Blue"}
- {id: 694, cat: TV, desc: "TV - Royal Pains"}
- {id: 695, cat: TV, desc: "TV - Rubicon"}
- {id: 807, cat: TV, desc: "TV - Rules of Engagement"}
- {id: 372, cat: TV, desc: "TV - Ruri no Shima"}
- {id: 892, cat: TV, desc: "TV - Rush"}
- {id: 555, cat: TV, desc: "TV - Russian TV programs"}
- {id: 789, cat: TV, desc: "TV - Salem"}
- {id: 605, cat: TV, desc: "TV - Sanctuary"}
- {id: 776, cat: TV, desc: "TV - Satisfaction US"}
- {id: 373, cat: TV, desc: "TV - Saturday Night Live"}
- {id: 915, cat: TV, desc: "TV - Save Me"}
- {id: 696, cat: TV, desc: "TV - Saving Grace"}
- {id: 931, cat: TV, desc: "TV - Saving Hope"}
- {id: 844, cat: TV, desc: "TV - Scandal"}
- {id: 344, cat: TV, desc: "TV - Scorpion"}
- {id: 987, cat: TV, desc: "TV - Scream"}
- {id: 138, cat: TV, desc: "TV - Scrubs"}
- {id: 304, cat: TV, desc: "TV - Sean Saves The World"}
- {id: 715, cat: TV, desc: "TV - Secret Diary Of A Call Girl"}
- {id: 210, cat: TV, desc: "TV - Seinfeld"}
- {id: 296, cat: TV, desc: "TV - Sex and The City"}
- {id: 708, cat: TV, desc: "TV - Shameless"}
- {id: 375, cat: TV, desc: "TV - Sin Rastro"}
- {id: 737, cat: TV, desc: "TV - Single Ladies"}
- {id: 211, cat: TV, desc: "TV - Six Feet Under"}
- {id: 697, cat: TV, desc: "TV - Skins"}
- {id: 376, cat: TV, desc: "TV - Sleeper Cell"}
- {id: 112, cat: TV, desc: "TV - Sleepy Hollow"}
- {id: 256, cat: TV, desc: "TV - Sliders"}
- {id: 137, cat: TV, desc: "TV - Smallville"}
- {id: 830, cat: TV, desc: "TV - Smash"}
- {id: 649, cat: TV, desc: "TV - So You Think You Can Dance"}
- {id: 569, cat: TV, desc: "TV - Sons of Anarchy"}
- {id: 815, cat: TV, desc: "TV - Sons of Guns"}
- {id: 212, cat: TV, desc: "TV - South Park"}
- {id: 718, cat: TV, desc: "TV - Southland"}
- {id: 257, cat: TV, desc: "TV - Space 1999"}
- {id: 297, cat: TV, desc: "TV - Space Above and Beyond"}
- {id: 631, cat: TV, desc: "TV - Spartacus"}
- {id: 845, cat: TV, desc: "TV - Spike TV"}
- {id: 607, cat: TV, desc: "TV - Spooks"}
- {id: 131, cat: TV, desc: "TV - Sports Illustrated"}
- {id: 159, cat: TV, desc: "TV - Sports related"}
- {id: 378, cat: TV, desc: "TV - Stacked"}
- {id: 379, cat: TV, desc: "TV - Star Trek"}
- {id: 563, cat: TV, desc: "TV - Star Wars The Clone Wars"}
- {id: 615, cat: TV, desc: "TV - Star-Crossed"}
- {id: 139, cat: TV, desc: "TV - Star-Trek Enterprise"}
- {id: 144, cat: TV, desc: "TV - Star-Trek The Next Generation"}
- {id: 380, cat: TV, desc: "TV - Stargate"}
- {id: 123, cat: TV, desc: "TV - Stargate Atlantis"}
- {id: 124, cat: TV, desc: "TV - StarGate SG1"}
- {id: 562, cat: TV, desc: "TV - Stargate Universe"}
- {id: 258, cat: TV, desc: "TV - Starved"}
- {id: 213, cat: TV, desc: "TV - Stella"}
- {id: 614, cat: TV, desc: "TV - Steven Seagal Lawman"}
- {id: 381, cat: TV, desc: "TV - Still Standing"}
- {id: 857, cat: TV, desc: "TV - Strike Back"}
- {id: 528, cat: TV, desc: "TV - Studio 60 on the Sunset Strip"}
- {id: 838, cat: TV, desc: "TV - Suburgatory"}
- {id: 761, cat: TV, desc: "TV - Suits"}
- {id: 214, cat: TV, desc: "TV - Summerland"}
- {id: 400, cat: TV, desc: "TV - Super Fun Night"}
- {id: 298, cat: TV, desc: "TV - Supernatural"}
- {id: 299, cat: TV, desc: "TV - Surface"}
- {id: 382, cat: TV, desc: "TV - Survivor"}
- {id: 215, cat: TV, desc: "TV - Survivors"}
- {id: 847, cat: TV, desc: "TV - Swamp People"}
- {id: 863, cat: TV, desc: "TV - Switched at Birth"}
- {id: 153, cat: TV, desc: "TV - Tattoo Nightmares"}
- {id: 217, cat: TV, desc: "TV - Teen Titans"}
- {id: 731, cat: TV, desc: "TV - Teen Wolf"}
- {id: 764, cat: TV, desc: "TV - Terra Nova"}
- {id: 119, cat: TV, desc: "TV - That 70s Show"}
- {id: 316, cat: TV, desc: "TV - The 100"}
- {id: 168, cat: TV, desc: "TV - The 4400"}
- {id: 300, cat: TV, desc: "TV - The Adventures of Sherlock Holmes"}
- {id: 185, cat: TV, desc: "TV - The After"}
- {id: 383, cat: TV, desc: "TV - The Amazing Race"}
- {id: 887, cat: TV, desc: "TV - The Americans"}
- {id: 301, cat: TV, desc: "TV - The Apprentice"}
- {id: 384, cat: TV, desc: "TV - The Bernie Mac Show"}
- {id: 583, cat: TV, desc: "TV - The Big Bang Theory"}
- {id: 829, cat: TV, desc: "TV - The Big C"}
- {id: 572, cat: TV, desc: "TV - The Biggest Loser"}
- {id: 581, cat: TV, desc: "TV - The Blacklist"}
- {id: 410, cat: TV, desc: "TV - The Boondocks"}
- {id: 608, cat: TV, desc: "TV - The Border"}
- {id: 775, cat: TV, desc: "TV - The Borgias"}
- {id: 923, cat: TV, desc: "TV - The Bridge US"}
- {id: 711, cat: TV, desc: "TV - The Cape"}
- {id: 730, cat: TV, desc: "TV - The Carrie Diaries"}
- {id: 586, cat: TV, desc: "TV - The Cleveland Show"}
- {id: 896, cat: TV, desc: "TV - The Client List"}
- {id: 218, cat: TV, desc: "TV - The Closer"}
- {id: 272, cat: TV, desc: "TV - The Colbert Report"}
- {id: 219, cat: TV, desc: "TV - The Comeback"}
- {id: 510, cat: TV, desc: "TV - The Contender"}
- {id: 758, cat: TV, desc: "TV - The Crazy Ones"}
- {id: 114, cat: TV, desc: "TV - The Daily Show"}
- {id: 856, cat: TV, desc: "TV - The Dead Files"}
- {id: 220, cat: TV, desc: "TV - The Dead Zone"}
- {id: 189, cat: TV, desc: "TV - The Divide"}
- {id: 386, cat: TV, desc: "TV - The Dog Whisperer"}
- {id: 702, cat: TV, desc: "TV - The Event"}
- {id: 610, cat: TV, desc: "TV - The F Word"}
- {id: 639, cat: TV, desc: "TV - The Family"}
- {id: 835, cat: TV, desc: "TV - The Finder"}
- {id: 834, cat: TV, desc: "TV - The Firm"}
- {id: 973, cat: TV, desc: "TV - The Flash"}
- {id: 877, cat: TV, desc: "TV - The Following"}
- {id: 635, cat: TV, desc: "TV - The Forgotten"}
- {id: 932, cat: TV, desc: "TV - The Fosters"}
- {id: 816, cat: TV, desc: "TV - The Game"}
- {id: 766, cat: TV, desc: "TV - The Gates"}
- {id: 259, cat: TV, desc: "TV - The Girls Next Door"}
- {id: 740, cat: TV, desc: "TV - The Glades"}
- {id: 587, cat: TV, desc: "TV - The Goldbergs"}
- {id: 648, cat: TV, desc: "TV - The Good Wife"}
- {id: 912, cat: TV, desc: "TV - The Goodwin Games"}
- {id: 278, cat: TV, desc: "TV - The Haunting Of"}
- {id: 903, cat: TV, desc: "TV - The Hero"}
- {id: 655, cat: TV, desc: "TV - The Hills"}
- {id: 221, cat: TV, desc: "TV - The Inside"}
- {id: 595, cat: TV, desc: "TV - The Jeff Dunham Show"}
- {id: 387, cat: TV, desc: "TV - The Jetsons"}
- {id: 827, cat: TV, desc: "TV - The Killing"}
- {id: 388, cat: TV, desc: "TV - The King Of Queens"}
- {id: 321, cat: TV, desc: "TV - The Knick"}
- {id: 271, cat: TV, desc: "TV - The L Word"}
- {id: 609, cat: TV, desc: "TV - The League"}
- {id: 897, cat: TV, desc: "TV - The Leftovers"}
- {id: 808, cat: TV, desc: "TV - The Life and Times of Tim"}
- {id: 924, cat: TV, desc: "TV - The Listener"}
- {id: 222, cat: TV, desc: "TV - The Lone Gunmen"}
- {id: 152, cat: TV, desc: "TV - The Lost World"}
- {id: 643, cat: TV, desc: "TV - The Mentalist"}
- {id: 878, cat: TV, desc: "TV - The Michael J Fox"}
- {id: 630, cat: TV, desc: "TV - The Middle"}
- {id: 405, cat: TV, desc: "TV - The Millers"}
- {id: 901, cat: TV, desc: "TV - The Mindy Project"}
- {id: 860, cat: TV, desc: "TV - The Mob Doctor"}
- {id: 870, cat: TV, desc: "TV - The Musketeers"}
- {id: 239, cat: TV, desc: "TV - The Mysteries Of Laura"}
- {id: 938, cat: TV, desc: "TV - The Newsroom"}
- {id: 109, cat: TV, desc: "TV - The O.C."}
- {id: 308, cat: TV, desc: "TV - The Office"}
- {id: 319, cat: TV, desc: "TV - The Originals"}
- {id: 392, cat: TV, desc: "TV - The Others"}
- {id: 390, cat: TV, desc: "TV - The O`Reilly Factor"}
- {id: 698, cat: TV, desc: "TV - The Pacific"}
- {id: 302, cat: TV, desc: "TV - The PJs"}
- {id: 567, cat: TV, desc: "TV - The Practice"}
- {id: 260, cat: TV, desc: "TV - The Real World"}
- {id: 176, cat: TV, desc: "TV - The Red Road"}
- {id: 597, cat: TV, desc: "TV - The Replacements"}
- {id: 664, cat: TV, desc: "TV - The Sci Fi Guys"}
- {id: 393, cat: TV, desc: "TV - The Secret Adventures of Jules Verne"}
- {id: 786, cat: TV, desc: "TV - The Secret Circle"}
- {id: 668, cat: TV, desc: "TV - The Secret Life of the American Teenager"}
- {id: 735, cat: TV, desc: "TV - The Shadow Line"}
- {id: 223, cat: TV, desc: "TV - The Shield"}
- {id: 125, cat: TV, desc: "TV - The Simpsons"}
- {id: 423, cat: TV, desc: "TV - The Sopranos"}
- {id: 333, cat: TV, desc: "TV - The Strain"}
- {id: 236, cat: TV, desc: "TV - The Tomorrow People US"}
- {id: 699, cat: TV, desc: "TV - The Tudors"}
- {id: 611, cat: TV, desc: "TV - The Ultimate Fighter"}
- {id: 320, cat: TV, desc: "TV - The Unexplained Files"}
- {id: 721, cat: TV, desc: "TV - The Vampire Diaries"}
- {id: 654, cat: TV, desc: "TV - The Venture Bros"}
- {id: 725, cat: TV, desc: "TV - The Voice"}
- {id: 720, cat: TV, desc: "TV - The Walking Dead"}
- {id: 394, cat: TV, desc: "TV - The War At Home"}
- {id: 116, cat: TV, desc: "TV - The West Wing"}
- {id: 577, cat: TV, desc: "TV - The X Factor"}
- {id: 425, cat: TV, desc: "TV - Thief"}
- {id: 268, cat: TV, desc: "TV - Threshold"}
- {id: 796, cat: TV, desc: "TV - Thundercats"}
- {id: 216, cat: TV, desc: "TV - TLC Connections"}
- {id: 904, cat: TV, desc: "TV - TNA-Wrestling"}
- {id: 399, cat: TV, desc: "TV - Tonight Show With Jay Leno"}
- {id: 616, cat: TV, desc: "TV - Top Chef"}
- {id: 224, cat: TV, desc: "TV - Top Gear"}
- {id: 942, cat: TV, desc: "TV - Top Shot"}
- {id: 762, cat: TV, desc: "TV - Torchwood"}
- {id: 836, cat: TV, desc: "TV - Touch"}
- {id: 225, cat: TV, desc: "TV - Trailer Park Boys"}
- {id: 1001, cat: TV, desc: "TV - Transformers Prime"}
- {id: 733, cat: TV, desc: "TV - Treme"}
- {id: 303, cat: TV, desc: "TV - Tripping the Rift"}
- {id: 787, cat: TV, desc: "TV - Trophy Wife"}
- {id: 565, cat: TV, desc: "TV - True Blood"}
- {id: 180, cat: TV, desc: "TV - True Detective"}
- {id: 727, cat: TV, desc: "TV - Turn"}
- {id: 261, cat: TV, desc: "TV - Twin Peaks"}
- {id: 930, cat: TV, desc: "TV - Twisted"}
- {id: 401, cat: TV, desc: "TV - Two And A Half Men"}
- {id: 337, cat: TV, desc: "TV - Tyrant"}
- {id: 793, cat: TV, desc: "TV - UFC"}
- {id: 814, cat: TV, desc: "TV - Ugly Americans"}
- {id: 559, cat: TV, desc: "TV - Ugly Betty"}
- {id: 155, cat: TV, desc: "TV - UK"}
- {id: 934, cat: TV, desc: "TV - Under the Dome"}
- {id: 791, cat: TV, desc: "TV - Underbelly"}
- {id: 706, cat: TV, desc: "TV - Undercover Boss"}
- {id: 777, cat: TV, desc: "TV - Unforgettable"}
- {id: 129, cat: TV, desc: "TV - Unscripted"}
- {id: 739, cat: TV, desc: "TV - Unsealed Alien Files"}
- {id: 226, cat: TV, desc: "TV - Unsolved Mysteries"}
- {id: 868, cat: TV, desc: "TV - Up All Night"}
- {id: 262, cat: TV, desc: "TV - Urgences"}
- {id: 566, cat: TV, desc: "TV - V"}
- {id: 895, cat: TV, desc: "TV - Veep"}
- {id: 864, cat: TV, desc: "TV - Vegas"}
- {id: 121, cat: TV, desc: "TV - Veronica Mars"}
- {id: 908, cat: TV, desc: "TV - Vice"}
- {id: 402, cat: TV, desc: "TV - Viewtiful Joe"}
- {id: 799, cat: TV, desc: "TV - Vikings"}
- {id: 227, cat: TV, desc: "TV - Viva La Bam"}
- {id: 263, cat: TV, desc: "TV - Wanted"}
- {id: 593, cat: TV, desc: "TV - Warehouse 13"}
- {id: 995, cat: TV, desc: "TV - Wayward Pines"}
- {id: 264, cat: TV, desc: "TV - Weeds"}
- {id: 404, cat: TV, desc: "TV - Weird U S"}
- {id: 909, cat: TV, desc: "TV - Wentworth"}
- {id: 596, cat: TV, desc: "TV - When Ghosts Attack"}
- {id: 575, cat: TV, desc: "TV - White Collar"}
- {id: 406, cat: TV, desc: "TV - Whose Line Is It Anyway"}
- {id: 918, cat: TV, desc: "TV - Wilfred US"}
- {id: 135, cat: TV, desc: "TV - Will And Grace"}
- {id: 673, cat: TV, desc: "TV - Witches of East End"}
- {id: 408, cat: TV, desc: "TV - Without A Trace"}
- {id: 800, cat: TV, desc: "TV - Workaholics"}
- {id: 127, cat: TV, desc: "TV - WWE - Wrestling"}
- {id: 228, cat: TV, desc: "TV - X Files"}
- {id: 770, cat: TV, desc: "TV - X-Men"}
- {id: 265, cat: TV, desc: "TV - Young and the Restless"}
- {id: 801, cat: TV, desc: "TV - Young Justice"}
- {id: 889, cat: TV, desc: "TV - Zero Hour US"}
- {id: 1025, cat: TV, desc: "TV - HEVC/x265"}
- {id: 1026, cat: TV, desc: "TV - Divx/Xvid"}
- {id: 1027, cat: TV, desc: "TV - DVD"}
- {id: 1028, cat: TV, desc: "TV/HD - HD"}
- {id: 1029, cat: TV, desc: "TV - SVCD/VCD"}
#Apps
- {id: 7, cat: PC, desc: "Software"}
- {id: 416, cat: PC/Phone-Other, desc: "Software - Mobile"}
- {id: 532, cat: PC, desc: "Software - KeyGen / Tools"}
- {id: 17, cat: PC, desc: "Software - Linux"}
- {id: 27, cat: PC/Mac, desc: "Software - Mac"}
- {id: 232, cat: PC/Phone-Other, desc: "Software - Mobile phones"}
- {id: 18, cat: PC, desc: "Software - Other operating systems"}
- {id: 19, cat: PC, desc: "Software - Palm, PocketPC and IPAQ"}
- {id: 20, cat: PC, desc: "Software - Windows - CD/DVD Tools"}
- {id: 25, cat: PC, desc: "Software - Windows - Other"}
- {id: 21, cat: PC, desc: "Software - Windows - Photo Editing"}
- {id: 22, cat: PC, desc: "Software - Windows - Security"}
- {id: 23, cat: PC, desc: "Software - Windows - Sound Editing"}
- {id: 24, cat: PC, desc: "Software - Windows - Video Apps"}
#Games
- {id: 3, cat: PC/Games, desc: "Games"}
- {id: 136, cat: PC/Games, desc: "Games - fixes/patches"}
- {id: 422, cat: PC/Games, desc: "Games - Other"}
- {id: 26, cat: PC/Games, desc: "Games - Mac"}
- {id: 231, cat: Console, desc: "Games - Mobile phones"}
- {id: 627, cat: Console/NDS, desc: "Games - Nintendo DS"}
- {id: 11, cat: Console, desc: "Games - PS 2"}
- {id: 700, cat: Console/PS3, desc: "Games - PS 3"}
- {id: 12, cat: Console, desc: "Games - PS X"}
- {id: 158, cat: Console/PSP, desc: "Games - PSP"}
- {id: 13, cat: Console, desc: "Games - ROMS/Retro"}
- {id: 15, cat: Console, desc: "Games - Sega Saturn"}
- {id: 14, cat: PC/Games, desc: "Games - Video Demonstrations"}
- {id: 701, cat: Console/Wii, desc: "Games -Wii"}
- {id: 421, cat: PC/Games, desc: "Games - Windows"}
- {id: 10, cat: PC/Games, desc: "Games - Windows Kids Games"}
- {id: 16, cat: Console/Xbox, desc: "Games - XBox"}
- {id: 1017, cat: Console, desc: "Games - PS 1"}
- {id: 1018, cat: Console/Xbox 360, desc: "Games - Xbox 360"}
- {id: 1014, cat: Console/3DS, desc: "Games - Nintendo 3DS"}
- {id: 1015, cat: Console, desc: "Games - Dreamcast"}
- {id: 1016, cat: Console, desc: "Games - GameCube"}
#XXX
- {id: 533, cat: XXX, desc: "XXX"}
- {id: 943, cat: XXX, desc: "XXX - Animation/Hentai"}
- {id: 553, cat: XXX/DVD, desc: "XXX - DVD"}
- {id: 536, cat: XXX, desc: "XXX - Games"}
- {id: 948, cat: XXX/x264, desc: "XXX - HD Video"}
- {id: 535, cat: XXX/Imageset, desc: "XXX - Pictures"}
- {id: 552, cat: XXX, desc: "XXX - Video"}
- {id: 804, cat: XXX, desc: "XXX - Video 3D"}
- {id: 970, cat: XXX, desc: "XXX - Virtual Reality"}
- {id: 806, cat: XXX, desc: "XXX - Wallpapers"}
#Books
- {id: 2, cat: Books, desc: "Books"}
- {id: 625, cat: Books, desc: "Books - Adventure"}
- {id: 51, cat: Books, desc: "Books - Audio books"}
- {id: 848, cat: Books/Comics, desc: "Books - Comics"}
- {id: 624, cat: Books, desc: "Books - Crime"}
- {id: 623, cat: Books, desc: "Books - Drama"}
- {id: 50, cat: Books/Ebook, desc: "Books - Ebooks"}
- {id: 621, cat: Books, desc: "Books - Educational"}
- {id: 622, cat: Books, desc: "Books - Horror"}
- {id: 465, cat: Books/Magazines, desc: "Books - Magazines"}
- {id: 1000, cat: Books, desc: "Books - Sexual Fitness and Education"}
- {id: 626, cat: Books, desc: "Books - True Stories"}
#Other
- {id: 6, cat: Other, desc: "Pictures"}
- {id: 9, cat: Other, desc: "Other"}
- {id: 53, cat: Other, desc: "Pictures - Other"}
- {id: 52, cat: Other, desc: "Wallpapers"}
- {id: 80, cat: Other, desc: "Other - Articles"}
- {id: 143, cat: Other, desc: "Other - Comics"}
- {id: 85, cat: Other, desc: "Other - Funny clips"}
- {id: 81, cat: Other, desc: "Other - Manuals"}
- {id: 83, cat: Other, desc: "Other - Other"}
- {id: 413, cat: Other, desc: "Other - Radio shows"}
- {id: 82, cat: Other, desc: "Other - Religion"}
- {id: 874, cat: Other, desc: "Other - Subtitles"}
- {id: 557, cat: Other, desc: "Other - Training "}
- {id: 1021, cat: Other, desc: "Other - Tutorials"}
- {id: 1022, cat: Other, desc: "Other - Sounds"}
- {id: 1023, cat: Other, desc: "Other - Nulled Scripts"}
#Mobile
- {id: 752, cat: PC/Phone-Other, desc: "Mobile - Games for Android"}
- {id: 746, cat: PC/Phone-Other, desc: "Mobile - Games for Apple iPod, iPod Touch, iPad, iPhone"}
- {id: 745, cat: PC/Phone-Other, desc: "Mobile - Games for Java"}
- {id: 744, cat: PC/Phone-Other, desc: "Mobile - Games for Symbian"}
- {id: 743, cat: PC/Phone-Other, desc: "Mobile - Games for Windows Mobile"}
- {id: 517, cat: PC/Phone-Other, desc: "Mobile - Music"}
- {id: 554, cat: PC/Phone-Other, desc: "Mobile - Other"}
- {id: 748, cat: PC/Phone-Other, desc: "Mobile - Software - Other"}
- {id: 972, cat: PC/Phone-Other, desc: "Mobile - Software for Android"}
- {id: 749, cat: PC/Phone-Other, desc: "Mobile - Software for Apple iPad, iPhone, iPod Touch"}
- {id: 747, cat: PC/Phone-Other, desc: "Mobile - Software for Windows Mobile"}
- {id: 428, cat: PC/Phone-Other, desc: "Mobile - Tv"}
- {id: 417, cat: PC/Phone-Other, desc: "Mobile - Video"}
- {id: 750, cat: PC/Phone-Other, desc: "Mobile - Video for Apple iPad, iPhone, iPod Touch"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
search:
paths:
- path: "{{if .Keywords}}search/?search={{ .Keywords}}{{else}}{{end}}"
rows:
selector: tr[class^="tlr"]
fields:
title:
selector: td.tli a
category:
selector: td a[href^="/category/"]
attribute: href
filters:
- name: split
args: ["/", 2]
details:
selector: td.tli a
attribute: href
download:
selector: td a[href^="magnet:?xt="]
attribute: href
date:
selector: td:nth-last-of-type(5)
filters:
- name: timeago
size:
selector: td:nth-last-of-type(4)
seeders:
text: 0
leechers:
text: 0
seeders:
optional: true
selector: td.sy
leechers:
optional: true
selector: td.ly
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -5,8 +5,12 @@
language: en-us
type: public
encoding: UTF-8
followredirect: true
links:
- https://eztv.io/
legacylinks:
- https://eztv.ag/
- https://eztv.re/
caps:
categories:
@@ -24,7 +28,7 @@
- name: re_replace
args: ["S[0-9]{2}([^E]|$)", ""] # remove season tag without episode (search doesn't support it)
rows:
selector: "table.forum_header_border tr[name='hover'].forum_header_border"
selector: "table.forum_header_border tr[name='hover'].forum_header_border:has(a.magnet)" # some torrents don't have any download links, skip them
filters:
- name: andmatch
fields:

View File

@@ -0,0 +1,142 @@
---
site: film-paleis
name: Film-Paleis
description: "Film-Paleis is a DUTCH Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
language: nl-NL
type: semi-private
encoding: UTF-8
links:
- https://www.film-paleis.me/
caps:
categorymappings:
- {id: 2, cat: Movies/BluRay, desc: " Bluray/HD"}
- {id: 3, cat: Movies/DVD, desc: " DVD Kids"}
- {id: 4, cat: Audio/Video, desc: " DVD Muziek"}
- {id: 5, cat: Movies/DVD, desc: " DVD Films"}
- {id: 7, cat: Movies/UHD, desc: " 4K films"}
- {id: 8, cat: XXX, desc: " Erotiek"}
- {id: 9, cat: PC/Phone-Other, desc: " GSM/Navigatie"}
- {id: 10, cat: Audio, desc: " Muziek Album"}
- {id: 11, cat: Audio/Other, desc: " Muziek Diverse"}
- {id: 12, cat: Console/NDS, desc: " Nintendo"}
- {id: 13, cat: Movies, desc: " Classic"}
- {id: 15, cat: Other, desc: " Overige"}
- {id: 16, cat: PC/0day, desc: " PC Software"}
- {id: 17, cat: PC, desc: " PC Spellen"}
- {id: 19, cat: TV, desc: " TV Series"}
- {id: 21, cat: Movies/SD, desc: " Divx/Xvid"}
- {id: 24, cat: Books/Ebook, desc: " E-Books"}
- {id: 26, cat: Audio/Other, desc: " Cabaret"}
- {id: 27, cat: TV/Documentary, desc: " Documentaire"}
- {id: 31, cat: Movies/HD, desc: " HD 265"}
- {id: 32, cat: Audio/Audiobook, desc: " Luister Boeken"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: "/browse.php"
error:
- selector: table tr td font[color="yellow"]:not(contains("Torrents"))
test:
path: /
selector: :has(a[href="logout.php"])
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{.Keywords}}"
incldead: 1
rows:
selector: table.mainouter
filters:
- name: andmatch
fields:
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details", "download"]
size:
selector: td:nth-child(4) table tr td:nth-child(2)
filters:
- name: regexp
args: "(.+?) in"
files:
selector: td:nth-child(4) table tr td:nth-child(2)
filters:
- name: regexp
args: "in (\\d{1,}) bestan"
grabs:
selector: td:nth-child(4) table tr:nth-child(2) td:nth-child(1)
filters:
- name: regexp
args: "(\\d{1,})"
date:
selector: td:nth-child(4) table tr:nth-child(2) td:nth-child(2)
filters:
- name: replace
args: ["januari", "January"]
- name: replace
args: ["februari", "February"]
- name: replace
args: ["maart", "March"]
- name: replace
args: ["april", "April"]
- name: replace
args: ["mei", "May"]
- name: replace
args: ["juni", "June"]
- name: replace
args: ["juli", "July"]
- name: replace
args: ["augustus", "August"]
- name: replace
args: ["september", "September"]
- name: replace
args: ["oktober", "October"]
- name: replace
args: ["november", "November"]
- name: replace
args: ["december", "December"]
- name: re_replace
args: ["\\s*om\\s*"," "]
- name: dateparse
args: "2 January 2006 15:04:05"
seeders:
text: "0"
seeders:
optional: true
selector: td:nth-child(4) table tr:nth-child(3) td:nth-child(5) b:nth-child(1)
leechers:
text: "0"
leechers:
optional: true
selector: td:nth-child(4) table tr:nth-child(3) td:nth-child(5) b:nth-child(2)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,86 @@
---
site: gdf76
name: gdf76
description: "gdf76 is an ITALIAN semi-private site for ITA films in mp4 format optimized for streaming"
language: en
type: semi-private
encoding: UTF-8
links:
- http://gdf76.altervista.org/
caps:
categorymappings:
- {id: 11, cat: Movies, desc: "Film 720p"}
- {id: 13, cat: TV, desc: "Serie TV"}
- {id: 2, cat: Audio, desc: "Music"}
- {id: 3, cat: PC/Games, desc: "Games"}
- {id: 5, cat: TV/Anime, desc: "Anime"}
- {id: 6, cat: Books, desc: "Books"}
- {id: 7, cat: PC/0day, desc: "Apps Win"}
- {id: 8, cat: PC, desc: "Apps Linux"}
- {id: 9, cat: PC/Mac, desc: "Apps Mac"}
- {id: 4, cat: Other, desc: "Other"}
- {id: 12, cat: XXX, desc: "Adult"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: index.php
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:
- path: index.php
inputs:
page: torrents
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
category: 0
active: 0
rows:
selector: 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
size:
text: "500 MB"
date:
# 19/01/2019
selector: td:nth-child(4)
filters:
- name: dateparse
args: "02/01/2006"
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
grabs:
selector: td:nth-child(7)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -80,3 +80,10 @@
selector: td:nth-child(8)
date:
selector: td:nth-child(4)
downloadvolumefactor:
case:
"strong.tl_free": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -101,11 +101,42 @@
search:
paths:
- path: /index.php
inputs:
pages: 1
- path: /index.php
inputs:
pages: 2
- path: /index.php
inputs:
pages: 3
- path: /index.php
inputs:
pages: 4
- path: /index.php
inputs:
pages: 5
- path: /index.php
inputs:
pages: 6
- path: /index.php
inputs:
pages: 7
- path: /index.php
inputs:
pages: 8
- path: /index.php
inputs:
pages: 9
- path: /index.php
inputs:
pages: 10
inputs:
search: "{{ .Keywords }}"
category: "{{range .Categories}}{{.}};{{end}}"
page: "torrents"
active: 0
order: 3
by: 2
keywordsfilters:
- name: diacritics
args: replace
@@ -162,21 +193,21 @@
- name: regexp
args: "src=(.+?) "
size:
selector: td:nth-child(11)
selector: td:nth-last-child(3)
date:
selector: td:nth-child(6)
selector: td:nth-last-child(8)
filters:
- name: dateparse
args: "02/01/2006"
grabs:
selector: td:nth-child(9)
selector: td:nth-last-child(5)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(7)
selector: td:nth-last-child(7)
leechers:
selector: td:nth-child(8)
selector: td:nth-last-child(6)
downloadvolumefactor:
case:
img[alt="Free Leech"]: "0"

View File

@@ -5,15 +5,25 @@
language: fr-fr
type: public
encoding: UTF-8
followredirect: true
links:
- http://ww2.gktorrent.com/
- https://www.gktorrent.tv/
legacylinks:
- https://www.gktorrent.org/
- http://www.gktorrent.net/
- https://www.gktorrent.com/ # they're forcing http
- https://www.gktorrent.com/
- http://www.gktorrent.com/
- http://ww1.gktorrent.com/
- http://ww2.gktorrent.com/
- https://ww2.gktorrent.com/
- https://ww3.gktorrent.com/
- http://www.gktorrent.net/
- https://ww4.gktorrent.com/
- http://www.gktorrent.co/
- https://www.gktorrent.co/
- https://www.gktorrent.ws/
- https://www.gktorrent.org/
- https://www.gktorrent.me/
- https://www.rantop.org/
- https://www.gktorrent.net/
caps:
categorymappings:
- {id: movies, cat: Movies, desc: "Movies"}
@@ -32,7 +42,7 @@
settings: []
download:
selector: a[href^="/get_torrent/"]
selector: a[href*="/get_torrent/"]
search:
paths:

View File

@@ -130,7 +130,7 @@
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
files:
selector: td:nth-last-child(7)
selector: td:nth-last-child(8)
seeders:
selector: td:nth-last-child(3)
leechers:

View File

@@ -0,0 +1,115 @@
---
site: hd4free
name: hd4free
description: "General Tracker Movies/TV/Apps/Games/Music/Books"
language: en-us
type: private
encoding: UTF-8
links:
- https://hd4.xyz/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: Books, desc: "Books"}
- {id: 5, cat: PC/Mac, desc: "Apps"}
- {id: 6, cat: Other, desc: "Other"}
- {id: 7, cat: PC/Games, desc: "Games"}
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 }}"
error:
- selector: table.main:contains("Login Failed!")
test:
path: /torrents
search:
paths:
- path: /filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
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"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -0,0 +1,105 @@
---
site: hdcenter
name: HDCenter
description: "An German HD tracker"
language: de-de
type: private
encoding: UTF-8
links:
- https://hdcenter.cc/
caps:
categorymappings:
- {id: 1, cat: Movies/HD, desc: "Movies"}
- {id: 2, cat: Movies/3D, desc: "3D"}
- {id: 3, cat: TV/HD, desc: "Series"}
- {id: 4, cat: TV/Documentary, desc: "Documentary"}
- {id: 5, cat: TV/Sport, desc: "Sport"}
- {id: 6, cat: XXX, desc: "XXX"}
- {id: 7, cat: Audio/Lossless, desc: "Audio"}
- {id: 8, cat: PC/0day, desc: "Appz"}
- {id: 9, cat: Movies/HD, desc: "HDC"}
- {id: 10, cat: Movies/HD, desc: "TvR"}
- {id: 11, cat: Movies/HD, desc: "10Bit"}
- {id: 12, cat: Movies/HD, desc: "jTV"}
- {id: 13, cat: TV/HD, desc: "NERDS"}
- {id: 14, cat: Audio/Lossless, desc: "dOWnb3At"}
- {id: 15, cat: Movies/Other, desc: "Anime"}
- {id: 16, cat: Audio/Video, desc: "Live"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: /login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
timeout: "1"
error:
- selector: div#error-text
test:
path: /torrents.php
search:
paths:
- path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[title="download"]
attribute: href
optional: true
details:
selector: a.torrent_link_title
attribute: href
title:
selector: a.torrent_link_title
title: # special selector which only matches HDC releases not containing "English" and "only" tags and doesn't contain English in the title
selector: td.cats_col:has(a[href*="filter_cat[9]=1"]) + td.title_col:not(:has(span.tags_inner:contains("English"):contains("only"))):not(:has(span.tags_inner:contains("English"):contains("Only"))):not(:has(span.tags_inner:contains("english"):contains("only"))) a.torrent_link_title:not(:contains("English"))
optional: true
filters:
- name: replace # add GERMAN tag
args: ["-HDC", ".GERMAN-HDC"]
title: # special selector which only matches TvR releases not containing "GERMAN" already
selector: td.cats_col:has(a[href*="filter_cat[10]=1"]) + td.title_col a.torrent_link_title:not(:contains("GERMAN"))
optional: true
filters:
- name: replace # add GERMAN tag
args: [".DL", ".GERMAN.DL"]
category:
selector: td.cats_col > a
attribute: href
filters:
- name: regexp
args: "\\[(\\d+?)\\]"
date:
selector: td.time_col > .time
filters:
- name: append
args: " +01:00"
- name: dateparse
args: "Jan 02 2006, 15:04 -07:00"
size:
selector: td.size_col
grabs:
selector: td.snatcher_col
seeders:
selector: td.seeder_col
leechers:
selector: td.leecher_col
downloadvolumefactor:
case:
"span.freeleech_slot": "0" # 24h freeelech slot
"span.freeleech": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -1,7 +1,7 @@
---
site: hdchina
name: HDChina
description: "A chinese tracker"
description: "HDChina (HDWing) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
language: zh-cn
type: private
encoding: UTF-8
@@ -41,6 +41,8 @@
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
@@ -114,10 +116,15 @@
args: " ago"
downloadvolumefactor:
case:
img.pro_50pctdown: ".5"
img.pro_30pctdown: ".3"
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:
"*": "1"
img.pro_50pctdown2up: "2"
img.pro_free2up: "2"
img.pro_2up: "2"
"*": "1"

View File

@@ -168,7 +168,10 @@
leechers:
selector: td:nth-child(7) a
grabs:
selector: td:nth-child(8) a
selector: td:nth-child(8)
filters:
- name: replace
args: ["---", "0"]
date:
selector: td:nth-child(5)
filters:

View File

@@ -0,0 +1,220 @@
---
site: hdforever
name: HD-Forever
description: "A french private HD tracker"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://hdf.world
caps:
categories:
1: Movies
2: Movies
3: Movies
4: Movies
5: TV
6: TV/Anime
7: Movies
modes:
search: [q]
login:
path: login.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
login: "Log in"
error:
- selector: form#loginform > span.warning
test:
path: torrents.php
ratio:
path: torrents.php
selector: li#stats_ratio > span
search:
path: torrents.php
inputs:
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Query.Keywords }}"
order_by: time
order_way: desc
action: basic
searchsubmit: 1
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
selector: a[href^="torrents.php?action=download&"]
attribute: href
title:
selector: div.group_info
remove: span:nth-child(1), div.tags
filters:
- name: replace
args: ["\n", ""]
- name: re_replace
args: ["^(.+) (.+)", "$2-$1"]
- name: replace
args: [" ", " "]
- name: replace
args: ["Blu-Ray Original", "Complete.BluRay"]
- name: replace
args: ["Blu-Ray Remux", "Remux"]
- name: replace
args: ["Blu-Ray Rip", "BluRay.Rip"]
- name: replace
args: ["mHD", "mHD.BluRay.Rip"]
- name: replace
args: ["/ DC", "/ Directors.Cut"]
- name: replace
args: ["/ VL", "/ Extended"]
- name: replace
args: ["/ RM", "/ Remastered"]
- name: replace
args: ["/ UC", "/ Uncut"]
- name: replace
args: ["/ ES", "/ Special.Edition"]
- name: replace
args: [" / Cust_sub", ""]
- name: replace
args: [" / Cust", ""]
- name: replace
args: ["/ UN", "/ Unrated"]
- name: replace
args: [" / Crit", ""]
- name: replace
args: [" / WAC", ""]
- name: replace
args: [" / MoC", ""]
- name: replace
args: [" / BFI", ""]
- name: replace
args: [" / MUET", ""]
- name: replace
args: ["/ Exc NF", "/ NF"]
- name: replace
args: ["/ Exc AMZ", "/ AMZ"]
- name: replace
args: ["/ Exc YOU", "/ YT"]
- name: replace
args: [" / ↓25%", ""]
- name: replace
args: [" / ↓50%", ""]
- name: replace
args: [" / ↓75%", ""]
- name: replace
args: [" / Free", ""]
- name: replace
args: [" / Complété!", ""]
- name: replace
args: [" / ", "."]
- name: trim
- name: replace
args: [".VFF.VFQ.StFr.MULTI", ".MULTI.VFF.VFQ"]
- name: replace
args: [".VFF.VFQ.VO.StFr.MULTI", ".MULTI.VFF.VFQ"]
- name: replace
args: [".VFF.VFQ.VO.StFr", ".MULTI.VFF.VFQ"]
- name: replace
args: [".VFQ.VO.StFr", ".MULTI.VFQ"]
- name: replace
args: [".VO.VFI.StFr", ".MULTI"]
- name: replace
args: [".VO.VF?.StFr", ".MULTI"]
- name: replace
args: [".VFF.VO.StFr", ".MULTI.VFF"]
- name: replace
args: [".VOF.StFr", ".FRENCH"]
- name: replace
args: [".VFQ.StFr", ".FRENCH"]
- name: replace
args: [".VFF.StFr.MULTI", ".MULTI.VFF"]
- name: replace
args: [".VFF.StFr", ".FRENCH"]
- name: replace
args: [".VFI.MULTI", ".MULTI"]
- name: replace
args: [".VO.StFr", ".VOSTFR"]
- name: replace
args: [".VFQ.VO", ".MULTI.VFQ"]
- name: replace
args: [".VFF.VO", ".MULTI.VFF"]
- name: replace
args: [".VO.VF?.StFr", ".MULTI"]
- name: replace
args: [".VFI.StFr", ".FRENCH"]
- name: replace
args: [".VOF.MULTI", ".MULTI.FRENCH"]
- name: replace
args: [".VOF", ".FRENCH"]
- name: replace
args: [".VFQ.MULTI", ".MULTI.VFQ"]
description:
selector: div.group_info
details:
selector: a[href^="torrents.php?id="]
attribute: href
comments:
selector: a[href^="torrents.php?id="]
attribute: href
category:
selector: td.cats_col
case:
div.cats_film: 1
div.cats_dessinanimé: 2
div.cats_bonusbd: 3
div.cats_concert: 4
div.cats_série: 5
div.cats_sérieanim: 6
div.cats_doc: 7
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(4)
filters:
- name: replace
args: ["Il y a ", ""]
- name: replace
args: ["heures", "hours"]
- name: replace
args: ["heure", "hour"]
- name: replace
args: ["jours", "days"]
- name: replace
args: ["jour", "day"]
- name: replace
args: ["semaines", "weeks"]
- name: replace
args: ["semaine", "week"]
- name: replace
args: ["mois", "months"]
- name: replace
args: ["ans", "years"]
- name: replace
args: ["an", "year"]
- name: append
args: " ago"
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
downloadvolumefactor:
case:
"div.group_info:contains(\"↓Free\")": "0"
"div.group_info:contains(\"↓75%\")": "0.75"
"div.group_info:contains(\"↓50%\")": "0.50"
"div.group_info:contains(\"↓25%\")": "0.25"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -6,7 +6,7 @@
type: private
encoding: UTF-8
links:
- https://hdhome.org
- https://hdhome.org/
caps:
categorymappings:
@@ -70,18 +70,17 @@
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
logintype: "username"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("姿势不正确"))
- selector: td.embedded:has(h2:contains("失败"))
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

@@ -6,6 +6,8 @@
type: private
encoding: UTF-8
links:
- http://hdtorrents.xyz/
legacylinks:
- http://hdtorrents.it/
caps:
@@ -54,23 +56,25 @@
- name: re_replace #separate title
args: ["(\\s+\\/\\s+|\\/\\s+|\\s+\\/|\\/)(.*)\\s\\(", " ("]
- name: re_replace #remove (yyyy) from the title
args: ["(\\(\\d{4}\\))|(\\(\\d{4})", ""]
args: ["(\\(\\d{4}\\)?\\s?)", ""]
- name: re_replace #remove |
args: ["(\\s\\|\\s)", " "]
- name: re_replace #Stagione X --> S0X
args: ["Stagione (\\d{0,1}\\s)", "S0$1"]
- name: re_replace #Stagione XX --> SXX
args: ["Stagione (\\d{2}\\s)", "S$1"]
args: ["(\\s\\||\\s\\/)", ""]
- name: re_replace # Stagione X --> S0X
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
- name: re_replace # Stagione XX --> SXX
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
- name: re_replace #/ Episodio [YY-YY --> EYY-YY
args: ["(\\s\\/\\sEpisodio|\\s\\/\\sEpisodi|\\sEpisodio|\\s\\|\\sEpisodio|\\sEpisodi)\\s\\[", "E"]
args: ["(?i)(\\s\\/?\\s?Episodi[o]?)\\s\\[", "E"]
- name: re_replace # Episodio 4 to E4
args: ["(?i)\\b(?:[\\s\\/\\|]?Episodi[o]?\\s?(\\d+)|Puntata\\s?(\\d+))", "E$1$2"]
- name: re_replace #/ Completa [episodi YY-YY --> EYY-YY
args: ["(\\s\\/\\sCompleta\\s\\[episodi\\s)", "E"]
args: ["(?i)(\\s\\/\\sCompleta\\s\\[episodi\\s)", "E"]
- name: re_replace #remove di YY] | remove /YY]
args: ["(\\sdi\\s\\d{1,2}|\\/\\d{1,2})\\]", " "]
args: ["(?i)(\\sdi\\s\\d{1,2}|\\/\\d{1,2})\\]", " "]
- name: re_replace #remove various
args: ["(Serie completa|Completa|\\[in pausa\\])", ""]
args: ["(?i)(Serie completa|Completa|\\[in pausa\\])", ""]
title|append: #start year
text: "("
text: " ("
title|append: #add year
selector: td:nth-child(2) a:nth-child(1)
filters:
@@ -97,6 +101,9 @@
args: ["ITA", ""]
title|append: #end TAG
text: "ITA]"
filters:
- name: re_replace # replace multiple spaces
args: ["[ ]{2,}", " "]
details:
selector: td:nth-child(2) a:nth-child(1)
attribute: href
@@ -133,6 +140,8 @@
"a[href^=\"details.php\"]:contains(\"Stagione\")": 5040 # TV/HD
"*": 2040 # default to Movies/HD
downloadvolumefactor:
text: "1"
case:
img[src="pic/freedownload.gif"]: "0"
"*": "1"
uploadvolumefactor:
text: "1"

View File

@@ -90,7 +90,7 @@
- name: append
args: "Language: polish\n<br>"
- name: prepend
args: {{ .Result.description }}
args: "{{ .Result.description }}"
description:
optional: true
selector: img[src="pic/napisy.png"]
@@ -98,7 +98,7 @@
- name: append
args: "Subbed\n<br>"
- name: prepend
args: {{ .Result.description }}
args: "{{ .Result.description }}"
imdb:
optional: true
selector: a[href^="http://www.imdb.com/title/tt"]

View File

@@ -0,0 +1,109 @@
---
site: hush
name: HuSh
description: "HuSh is a community-built Movie/TV/FANRES database."
language: fr-fr
type: private
encoding: UTF-8
links:
- https://team-hush.org/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Movies, desc: "FANRES"}
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 }}"
error:
- selector: form[action*="/login"] .text-red
test:
path: /torrents
search:
paths:
- path: /filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
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

View File

@@ -88,7 +88,7 @@
selector: a[title][href^="details.php?id="]
attribute: href
category:
selector: a[href*=".php?cat="]
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
@@ -114,7 +114,7 @@
selector: td:has(a[href$="filelist=1#filelist"])
remove: a
date:
selector: td > font:has(i.fa-clock-o)
selector: td > span:has(i.fa-clock)
remove: b
filters:
- name: replace

View File

@@ -1,104 +0,0 @@
---
site: idope
name: Idope
description: "iDope is a Public torrent search engine presenting direct magnet links"
language: en-us
type: public
encoding: UTF-8
links:
- https://idope.cc/
legacylinks:
- https://idope.se/
caps:
categorymappings:
- {id: 0, cat: Other, desc: "Others"}
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: Other, desc: "Video"}
- {id: 3, cat: TV, desc: "TV"}
- {id: 4, cat: TV/Anime, desc: "Anime"}
- {id: 5, cat: XXX, desc: "XXX"}
- {id: 6, cat: Audio, desc: "Music"}
- {id: 7, cat: PC/Games, desc: "Games"}
- {id: 8, cat: PC, desc: "Apps"}
- {id: 9, cat: Books, desc: "Books"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: itorrents-links
type: checkbox
label: Add download links via itorrents.org
- name: info
type: info
label: ITorrents Note
default: Without the itorrents option only magnet links will be provided.
search:
paths:
# present trending results if there are no search parms supplied
# sort torrent-list by age in descending order
- path: "{{if .Keywords}}torrent-list/{{ .Keywords}}?&o=-3&c={{range .Categories }}{{.}}{{end}}{{else}}browse.html{{end}}"
rows:
selector: div[class="resultdiv"]
fields:
title:
selector: div[class="resultdivtop"] a div[class="resultdivtopname"]
category:
optional: true
selector: div[class="resultdivbotton"] div[class="resultdivbottoncategory"]
case:
":contains(\"Others\")": 0
":contains(\"Movies\")": 1
":contains(\"Video\")": 2
":contains(\"TV\")": 3
":contains(\"Anime\")": 4
":contains(\"XXX\")": 5
":contains(\"Music\")": 6
":contains(\"Games\")": 7
":contains(\"Apps\")": 8
":contains(\"Books\")": 9
details:
selector: div[class="resultdivtop"] a
attribute: href
download-itorrents:
selector: div[class="resultdivbotton"] div[id^="hideinfohash"]
filters:
- name: toupper
- name: prepend
args: http://itorrents.org/torrent/
- name: append
args: ".torrent"
download:
text: "{{if .Config.itorrents-links}}{{ .Result.download-itorrents }}{{else}}{{end}}"
magfile:
text: "{{ .Result.title }}"
filters:
- name: validfilename
- name: urlencode
magnet:
selector: div[class="resultdivbotton"] div[id^="hideinfohash"]
filters:
- name: prepend
args: "magnet:?xt=urn:btih:"
- name: append
args: "&dn={{ .Result.magfile }}.torrent"
- name: append
args: "&tr=http://182.176.139.129:6969/announce&tr=http://explodie.org:6969/announce&tr=http://tracker.mgtracker.org:2710/announce&tr=udp://tracker.coppersurfer.tk:6969/announce&tr=udp://tracker.leechers-paradise.org:6969/announce&tr=udp://tracker.pirateparty.gr:6969/announce&tr=udp://tracker.sktorrent.net:6969/announce&tr=udp://tracker.zer0day.to:1337/announce"
date:
selector: div[class="resultdivbotton"] div[class="resulttime"] div[class="resultdivbottontime"]
filters:
- name: timeago
size:
selector: div[class="resultdivbotton"] div[class="resultlength"] div[class="resultdivbottonlength"]
seeders:
selector: div[class="resultdivbotton"] div[class="resultseed"] div[class="resultdivbottonseed"]
files:
selector: div[class="resultdivbotton"] div[class="resultfile"] div[class="resultdivbottonfiles"]
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,92 @@
---
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

@@ -136,26 +136,36 @@
details:
selector: td:nth-child(2) > a
attribute: href
banner:
optional: true
selector: td:nth-child(2) > a
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?) "
# banner:
# optional: true
# selector: td:nth-child(2) > a
# attribute: onmouseover
# filters:
# - name: regexp
# args: "src=(.+?) "
size:
selector: td:nth-child(10)
selector: td:nth-last-child(2)
date:
selector: td:nth-child(6)
selector: td:nth-last-child(6):contains('ago')
optional: true
filters:
- name: timeago
date:
selector: td:nth-last-child(6):contains('/')
optional: true
filters:
- name: dateparse
args: "02/01/2006"
grabs:
selector: td:nth-child(9)
selector: td:nth-last-child(3)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(7)
selector: td:nth-last-child(5)
leechers:
selector: td:nth-child(8)
selector: td:nth-last-child(4)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -6,11 +6,18 @@
type: public
encoding: UTF-8
links:
- https://ilcorsaronero.cc/
legacylinks:
- https://ilcorsaronero.info/
- https://ilcorsaronero.ch/
certificates:
- 89c12d4a080b5aeec00acbb269dc9b44584b1b3f # incomplete CA chain
- aa7c40aa360a1cec8a9687312fd50402b912e618 # incomplete CA chain
- 83174ec1f92fa13cdef9d51888ea1dfba2166e17 # incomplete CA chain
- c414bf4ad6c69841693c147849f4c314aa200bdf # incomplete CA chain
- 3a402766ce22fd1aa24bfc1a4fd47e9309eb8c98 # incomplete CA chain
- 160f832730737a70264768ceddf3cd94bc51ffb7 # incomplete CA chain
- a60e969b27965d4dc2ff45d50c20e2e872d4e9b9 # incomplete CA chain
caps:
categorymappings:
@@ -125,7 +132,7 @@
- name: prepend
args: "magnet:?xt=urn:btih:"
- name: append
args: "&dn={{ .Result.title }}.torrent"
args: "&dn={{ .Result.title }}.torrent&tr=udp://tracker.coppersurfer.tk:6969&tr=udp://tracker.leechers-paradise.org:6969&tr=udp://tracker.opentrackr.org:1337"
size:
selector: td:nth-child(3) font
date:

View File

@@ -69,6 +69,8 @@
filters:
- name: replace
args: [" ()", ""]
- name: replace
args: ["\t", ""]
- name: replace
args: [" / Freeleech!", ""]
category:

View File

@@ -0,0 +1,80 @@
---
site: katcrs
name: KATcrs
description: "KATcrs is a Public KickAssTorrent clone for TV / MOVIES / GENERAL"
language: en-us
type: public
encoding: UTF-8
followredirect: true
links:
- http://kickasstvshow.host/
legacylinks:
- https://kickasskatcr.website/
- https://kickasskatcr.stream/
- https://kickassextratorrent.xyz/
- https://kickassextratorrent.website/
- https://kickassextratorrent.club/
- https://kickasstvshow.xyz/
caps:
categories:
movies: Movies
TV: TV
Video: TV/WEB-DL
Anime: TV/Anime
Music: Audio
Books: Books
Documentary: TV/Documentary
Games: Console
Apps: PC
Applications: PC
Other: Other
Othero: XXX
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
search:
paths:
- path: "{{ if .Keywords }}search/{{ .Keywords }}/{{else}}new/{{end}}"
rows:
selector: table.data tr.odd
filters:
- name: andmatch
fields:
category:
selector: span.uploader_block strong a
attribute: href
filters:
- name: trim
args: /
title:
selector: td:nth-child(1) div a.cellMainLink
attribute: title
details:
selector: td:nth-child(1) div a.cellMainLink
attribute: href
download:
selector: td:nth-child(1) div div a[data-download=""]
attribute: href
magnet:
selector: td:nth-child(1) div div a[data-nop=""]
attribute: href
size:
selector: td:nth-child(2)
date:
selector: td:nth-child(3)
filters:
- name: timeago
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -91,7 +91,11 @@
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie
test:

View File

@@ -1,7 +1,7 @@
---
site: linkomanija
name: LinkoManija
description: "LinkoManija is an ITALIAN Private site for TV / MOVIES / GENERAL"
description: "LinkoManija is an LITHUANIAN Private site for TV / MOVIES / GENERAL"
language: lt-lt
type: private
encoding: UTF-8

View File

@@ -6,94 +6,98 @@
type: private
encoding: UTF-8
links:
- https://magico.one/
legacylinks:
- https://magico.info/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 84, cat: Movies, desc: "N ees (2016, 2017)"}
- {id: 14, cat: Movies/SD, desc: "DVDRip-BDRip-BRRip (e?? 2015) FREE"}
- {id: 16, cat: Movies/SD, desc: "In Avouri (CAM) FREE"}
- {id: 17, cat: Movies/BluRay, desc: "B LU-RAY"}
- {id: 44, cat: Movies, desc: "E English Movies"}
- {id: 76, cat: Movies, desc: "N tokimanter"}
- {id: 82, cat: Movies, desc: "I EATP"}
- {id: 84, cat: Movies, desc: "Movies New (2017, 2018)"}
- {id: 14, cat: Movies/SD, desc: "Movies DVDRip-BDRip-BRRip (up to 2016) FREE"}
- {id: 16, cat: Movies/SD, desc: "Movies (CAM) FREE"}
- {id: 17, cat: Movies/BluRay, desc: "Movies BLU-RAY"}
- {id: 44, cat: Movies, desc: "Movies Greek"}
- {id: 76, cat: Movies, desc: "Movies Documentaries"}
- {id: 82, cat: Movies, desc: "Movies Theater"}
- {id: 52, cat: TV, desc: "series"}
- {id: 53, cat: TV/SD, desc: ", O Enes"}
- {id: 70, cat: TV/HD, desc: "O Enes (720p)"}
- {id: 54, cat: TV, desc: "E English"}
- {id: 86, cat: TV, desc: "O Enes Complete Seasons"}
- {id: 92, cat: TV, desc: "O Enes Complete Seasons (720p)"}
- {id: 87, cat: TV, desc: "E English Complete Seasons"}
- {id: 63, cat: TV, desc: "Y ychagogikes Emissions"}
- {id: 52, cat: TV, desc: "TV Series"}
- {id: 53, cat: TV/SD, desc: "TV Series Foreign"}
- {id: 70, cat: TV/HD, desc: "TV Series Foreign (720p)"}
- {id: 54, cat: TV, desc: "TV Series Greek"}
- {id: 86, cat: TV, desc: "TV Series Foreign Complete Seasons"}
- {id: 92, cat: TV, desc: "TV Series Foreign Complete Seasons (720p)"}
- {id: 87, cat: TV, desc: "TV Series Greek Complete Seasons"}
- {id: 63, cat: TV, desc: "TV Series Recreational"}
- {id: 83, cat: TV/Sport, desc: "TV Sports"}
- {id: 55, cat: Movies, desc: "Children"}
- {id: 38, cat: Movies, desc: "M etaglotismena (Movies)"}
- {id: 39, cat: Movies, desc: "M e Subtitled (Movies)"}
- {id: 93, cat: Movies, desc: "M etaglotismena (Series)"}
- {id: 94, cat: Movies, desc: "M e Subtitled (Series)"}
- {id: 45, cat: Movies, desc: "I absent Anime"}
- {id: 98, cat: Movies, desc: "M etaglotismena 3D"}
- {id: 64, cat: Movies, desc: "M music for Children"}
- {id: 38, cat: Movies, desc: "Children (Movies)"}
- {id: 39, cat: Movies, desc: "Children Subtitled (Movies)"}
- {id: 93, cat: Movies, desc: "Children (TV Series)"}
- {id: 94, cat: Movies, desc: "Children Subtitled (TV Series)"}
- {id: 45, cat: Movies, desc: "Children Anime"}
- {id: 98, cat: Movies, desc: "Children 3D"}
- {id: 64, cat: Movies, desc: "Children Music"}
- {id: 7, cat: Audio, desc: "Foreign music"}
- {id: 21, cat: Audio, desc: "N ees Releases"}
- {id: 46, cat: Audio, desc: "P. Alai Releases"}
- {id: 32, cat: Audio, desc: "D. iskografies"}
- {id: 20, cat: Audio, desc: "In ylloges"}
- {id: 102, cat: Audio, desc: "M AGICO Radio"}
- {id: 81, cat: Audio, desc: "K araoke"}
- {id: 95, cat: Audio, desc: "Soundtrack"}
- {id: 7, cat: Audio, desc: "Music Foreign"}
- {id: 21, cat: Audio, desc: "Music Foreign New Releases"}
- {id: 46, cat: Audio, desc: "Music Foreign Old Releases"}
- {id: 32, cat: Audio, desc: "Music Foreign Discographies"}
- {id: 20, cat: Audio, desc: "Music Foreign Collections"}
- {id: 102, cat: Audio, desc: "Music Foreign MAGICO Radio"}
- {id: 81, cat: Audio, desc: "Music Foreign Karaoke"}
- {id: 95, cat: Audio, desc: "Music Foreign Soundtrack"}
- {id: 47, cat: Audio, desc: "Greek music"}
- {id: 48, cat: Audio, desc: "N ees Releases"}
- {id: 49, cat: Audio, desc: "P. Alai Releases"}
- {id: 51, cat: Audio, desc: "D. iskografies"}
- {id: 50, cat: Audio, desc: "In ylloges"}
- {id: 101, cat: Audio, desc: "M AGICO Radio"}
- {id: 97, cat: Audio, desc: "Live Cd 's"}
- {id: 57, cat: Audio, desc: "P empetika"}
- {id: 58, cat: Audio, desc: "D. imotika"}
- {id: 59, cat: Audio, desc: "K exception of preservatives"}
- {id: 60, cat: Audio, desc: "N isiotika"}
- {id: 62, cat: Audio, desc: "P. ontiaka"}
- {id: 80, cat: Audio, desc: "K araoke"}
- {id: 96, cat: Audio, desc: "Soundtracks"}
- {id: 47, cat: Audio, desc: "Music Greek"}
- {id: 48, cat: Audio, desc: "Music Greek New Releases"}
- {id: 49, cat: Audio, desc: "Music Greek Old Releases"}
- {id: 51, cat: Audio, desc: "Music Greek Discographies"}
- {id: 50, cat: Audio, desc: "Music Greek Collections"}
- {id: 101, cat: Audio, desc: "Music Greek MAGICO Radio"}
- {id: 97, cat: Audio, desc: "Music Greek Live Cd's"}
- {id: 57, cat: Audio, desc: "Music Greek Rebetika"}
- {id: 58, cat: Audio, desc: "Music Greek Primary"}
- {id: 59, cat: Audio, desc: "Music Greek Cretan"}
- {id: 60, cat: Audio, desc: "Music Greek Island"}
- {id: 62, cat: Audio, desc: "Music Greek Pontian"}
- {id: 80, cat: Audio, desc: "Music Greek Karaoke"}
- {id: 96, cat: Audio, desc: "Music Greek Soundtracks"}
- {id: 73, cat: Audio, desc: "seasonal Music"}
- {id: 74, cat: Audio, desc: "X ristougenna"}
- {id: 79, cat: Audio, desc: "P. ascha"}
- {id: 75, cat: Audio, desc: "A pokriatika"}
- {id: 78, cat: Audio, desc: "A Tariff Valentine"}
- {id: 73, cat: Audio, desc: "Music Seasonal"}
- {id: 74, cat: Audio, desc: "Music Seasonal Xmas"}
- {id: 79, cat: Audio, desc: "Music Seasonal Easter"}
- {id: 75, cat: Audio, desc: "Music Seasonal Halloween"}
- {id: 78, cat: Audio, desc: "Music Seasonal Valentines"}
- {id: 33, cat: Books, desc: "Books"}
- {id: 41, cat: Books, desc: "E nglis"}
- {id: 65, cat: Books, desc: "K omix"}
- {id: 43, cat: Books, desc: "P. periods"}
- {id: 72, cat: Books, desc: "P. aidika"}
- {id: 66, cat: Books, desc: "L. exika - Educational"}
- {id: 42, cat: Books, desc: "O enoglossa"}
- {id: 67, cat: Books, desc: "E. Konya-Photos"}
- {id: 41, cat: Books, desc: "Books Greek"}
- {id: 65, cat: Books, desc: "Books Comics"}
- {id: 43, cat: Books, desc: "Books Periodicals"}
- {id: 105, cat: Books, desc: "Books Audio"}
- {id: 72, cat: Books, desc: "Books Children"}
- {id: 66, cat: Books, desc: "Books Educational"}
- {id: 42, cat: Books, desc: "Books Foreign"}
- {id: 67, cat: Books, desc: "Books Photos"}
- {id: 6, cat: PC, desc: "programs"}
- {id: 18, cat: PC/0day, desc: "PC"}
- {id: 40, cat: PC/Phone-Android, desc: "Android"}
- {id: 19, cat: PC/Mac, desc: "Mac"}
- {id: 6, cat: PC, desc: "Programs"}
- {id: 18, cat: PC/0day, desc: "Programs PC"}
- {id: 40, cat: PC/Phone-Android, desc: "Programs Android"}
- {id: 19, cat: PC/Mac, desc: "Programs Mac"}
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 27, cat: PC/Games, desc: "PC"}
- {id: 68, cat: PC/Phone-Android, desc: "Android"}
- {id: 27, cat: PC/Games, desc: "Games PC"}
- {id: 68, cat: PC/Phone-Android, desc: "Games Android"}
- {id: 88, cat: Other, desc: "Design / Tutorials / Accessories"}
- {id: 89, cat: Other, desc: "Photoshop Tutorials"}
- {id: 91, cat: Other, desc: "Illustrator Tutorials"}
- {id: 90, cat: Other, desc: "After Effects Tutorials"}
- {id: 88, cat: Other, desc: "Tutorials / Design / Accessories"}
- {id: 89, cat: Other, desc: "Tutorials Photoshop"}
- {id: 91, cat: Other, desc: "Tutorials Illustrator"}
- {id: 90, cat: Other, desc: "Tutorials After Effects"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: /?p=home&pid=1
@@ -135,28 +139,29 @@
error:
- selector: div#show_error font
rows:
selector: div#content > div.torrent-box[id^="torrent_"]
selector: div#content > div.torrent-box[id^="torrent_"], tr:has(a[href*="?p=torrents"][href*="&action=details"])
filters:
- name: andmatch
fields:
title:
selector: a[href*="?p=torrents&pid=10&action=details"]
selector: a[href*="?p=torrents"][href*="&action=details"]
filters:
- name: replace
args: ["Grey's Anatomy", "Greys Anatomy"]
category:
selector: div.categoryImage > a
selector: a[href*="?p=torrents"][href*="&cid="]
attribute: href
filters:
- name: querystring
args: cid
details:
selector: a[href*="?p=torrents&pid=10&action=details"]
selector: a[href*="?p=torrents"][href*="&action=details"]
attribute: href
download:
selector: a[href*="?p=torrents&pid=10&action=download"]
selector: a[href*="?p=torrents"][href*="&action=download"]
attribute: href
imdb:
optional: true
selector: a[href^="http://www.imdb.com/title/tt"]
attribute: href
size:
@@ -172,6 +177,7 @@
selector: a[rel="fancybox"]
attribute: href
description:
optional: true
selector: div.torrentDetails > div:has(span.floatright)
downloadvolumefactor:
case:
@@ -217,5 +223,17 @@
args: ["Κυριακή", "Sunday"]
- name: dateparse
args: "02-01-2006 15:04"
date:
# <br /> Uploaded Saturday at 21:09 by
optional: true
selector: td.torrent_name
remove: div, a, span
filters:
- name: replace
args: ["Uploaded ", ""]
- name: replace
args: [" by", ""]
- name: replace
args: ["at ", ""]
- name: dateparse
args: "02-01-2006 15:04"

View File

@@ -6,6 +6,8 @@
type: public
encoding: UTF-8
links:
- https://www.magnetdl.com/
legacylinks:
- http://www.magnetdl.com/
caps:

View File

@@ -96,11 +96,13 @@
title:
selector: a[href^="details.php?id="] > b
attribute: title
title:
selector: a[href^="details.php?id="] > b[title*="Torrent neve:"]
optional: true
attribute: title
filters:
- name: re_replace
args: ["^Torrent neve: ", ""]
- name: re_replace
args: ["<br />.*", ""]
- name: regexp
args: "Torrent neve: (.*?)<"
description:
selector: a[href^="details.php?id="] > b
attribute: title
@@ -122,7 +124,7 @@
attribute: href
banner:
optional: true
selector: img[src="pic/borito.png"]
selector: img[src="pic/borito.png"], a[href^="details.php?id="] > b[title*="Torrent neve:"]
attribute: title
filters:
- name: regexp

View File

@@ -0,0 +1,114 @@
---
site: metaliplayro
name: Romanian Metal Torrent
description: "Romanian Metal Torrent is a Private site dedicated to METAL MUSIC. This definition is for the English site."
language: en-us
type: private
encoding: UTF-8
links:
- https://metal.iplay.ro/
legacylinks:
- https://metal.stream.bike/
caps:
categories:
"Music": Audio
modes:
search: [q]
music-search: [q, album, artist, label, year]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img
input: vImageCodP
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.errorSummary
message:
selector: div.errorSummary ul li
test:
path: browse.php
selector: a[href="logout.php"]
ratio:
path: browse.php
selector: img:contains("Ratio =") > img
download:
method: get
before:
path: "login.php"
method: "post"
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
search:
paths:
- path: browse.php
method: get
inputs:
"search": "{{if .Query.Artist}}{{ .Query.Artist }}{{else}}{{ .Keywords }}{{end}}"
rows:
selector: table.torrents_table tbody tr:has(a[href^="download2.php?id="])
fields:
title:
selector: td a[href^="details.php?id="]
details:
selector: td a[href^="details.php?id="]
attribute: href
download:
selector: td a[href^="download2.php?id="]
attribute: href
filters:
- name: replace
args: ["download2.php?id=", "download.php/"]
- name: append
args: "/{{ .Result.title }}.torrent"
banner:
optional: true
selector: td:nth-child(2) a
attribute: onmouseover
filters:
- name: regexp
args: 'img src=(.+?) >'
- name: replace
args: ["./pic/noposter.jpg", ""]
date:
selector: td:nth-child(8) > span
attribute: title
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
filters:
- name: regexp
args: '([\d]+) seeders?'
leechers:
selector: td:nth-child(7)
filters:
- name: regexp
args: '([\d]+) leechers?'
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: '([\d]+) times'
category:
text: "Music"
downloadvolumefactor:
case:
img[src$="pic/freedownload.gif"]: "0"
img[src$="pic/half.gif"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[src$="pic/sticky2.gif"]: "1.5"
"*": "1"

View File

@@ -0,0 +1,74 @@
---
site: monova
name: Monova
description: "Monova is a Public torrent index."
language: en-us
type: public
encoding: UTF-8
links:
- https://monova.org/
- https://monova.to/
caps:
categories:
"video-camera": Movies
"music": Audio
"book": Books
"gamepad": PC/Games
"cog": PC/0day
"venus-mars": XXX
"list": Other
"picture-o": Other/Misc
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selector: a#download-file
search:
paths:
# https://monova.to/search?term=vikings+s05e05
# https://monova.to/video
- path: "{{if .Keywords}}/search?term={{.Keywords}}{{else}}/video{{end}}"
rows:
selector: tr.desktop:not(tr.success)
filters:
- name: andmatch
fields:
title:
selector: td.torrent_name a
category:
selector: td.torrent_name i
attribute: class
filters:
# remove fa fa- prefix
- name: replace
args: ["fa fa-", ""]
details:
selector: td.torrent_name a
attribute: href
download:
selector: td.torrent_name a
attribute: href
size:
selector: td.center-align
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"
date:
selector: td.torrent_name
remove: a
filters:
- name: replace
args: ["added ",""]
- name: timeago

View File

@@ -124,15 +124,15 @@
- name: replace
args: ["pic/nopic.jpg", ""]
size:
selector: td.rowfollow:nth-child(5)
selector: td.rowfollow:nth-last-child(6)
grabs:
selector: td.rowfollow:nth-child(8)
selector: td.rowfollow:nth-last-child(3)
seeders:
selector: td.rowfollow:nth-child(6)
selector: td.rowfollow:nth-last-child(5)
leechers:
selector: td.rowfollow:nth-child(7)
selector: td.rowfollow:nth-last-child(4)
date:
selector: td.rowfollow:nth-child(4):not(:has(span))
selector: td.rowfollow:nth-last-child(7):not(:has(span))
optional: true
filters:
- name: append
@@ -140,7 +140,7 @@
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
date:
selector: td.rowfollow:nth-child(4) > span[title]
selector: td.rowfollow:nth-last-child(7) > span[title]
optional: true
attribute: title
filters:

View File

@@ -9,6 +9,20 @@
- https://nnm-club.me/
legacylinks:
- https://nnm-club.name/
certificates:
- 7877113458e90f3643dd28424657a29469f5dc55
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: striprussian
type: checkbox
label: Strip Russian Letters
default: true
caps:
categorymappings:
@@ -724,7 +738,7 @@
- name: re_replace
args: ["(\\([Сс]езон\\s+(\\d+).+[Сс]ери[ия]\\s+(?:(\\d+-*\\d*).*\\d+)*\\))", "(S$2E$3) RUS"]
- name: re_replace
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", ""]
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
- name: replace
args: ["WEBDLRip", "WEBDL"]
- name: replace

View File

@@ -7,6 +7,8 @@
encoding: UTF-8
links:
- https://nyaa.si
certificates:
- 3801e330482d4f9baef71ca4e33ba23ede74f59c # incomplete CA chain
settings:
- name: filter-id

View File

@@ -90,7 +90,7 @@
- name: append
args: "Language: polish\n<br>"
- name: prepend
args: {{ .Result.description }}
args: "{{ .Result.description }}"
description:
optional: true
selector: img[src="pic/napisy.png"]
@@ -98,7 +98,7 @@
- name: append
args: "Subbed\n<br>"
- name: prepend
args: {{ .Result.description }}
args: "{{ .Result.description }}"
imdb:
optional: true
selector: a[href^="http://www.imdb.com/title/tt"]

View File

@@ -0,0 +1,107 @@
---
site: prostylex
name: ProStyleX
description: "ProStyleX is a Public torrent site for 0Day and General"
language: en-us
type: public
encoding: UTF-8
links:
- http://prostylex.com/
caps:
categorymappings:
- {id: 1, cat: Movies/SD, desc: "Movies - Divx/Xvid"}
- {id: 2, cat: Movies/WEBDL, desc: "Movies - h.264/x264"}
- {id: 3, cat: Movies/HD, desc: "Movies - HD"}
- {id: 4, cat: Movies/DVD, desc: "Movies - DVD"}
- {id: 5, cat: Movies/Other, desc: "Movies - Cam/TS"}
- {id: 6, cat: Movies/Foreign, desc: "Movies - Non-English"}
- {id: 7, cat: Movies/3D, desc: "Movies - 3D"}
- {id: 8, cat: Movies/UHD, desc: "Movies - 4K"}
- {id: 9, cat: Movies/Other, desc: "Movies - Dubs/Dual Audio"}
- {id: 12, cat: TV/WEB-DL, desc: "TV - x264"}
- {id: 13, cat: TV/SD, desc: "TV - Xvid"}
- {id: 14, cat: TV/HD, desc: "TV - HD"}
- {id: 15, cat: TV/OTHER, desc: "TV - Packs"}
- {id: 20, cat: Audio/MP3, desc: "Music - Audio"}
- {id: 21, cat: Audio/Video, desc: "Music - Video"}
- {id: 22, cat: Audio/Other, desc: "Music - Other"}
- {id: 40, cat: XXX, desc: "XXX - Video"}
- {id: 42, cat: XXX, desc: "XXX - HD Video"}
- {id: 43, cat: XXX, desc: "XXX - Movie"}
- {id: 44, cat: XXX, desc: "XXX - Anime/Hentai"}
- {id: 45, cat: XXX, desc: "XXX - Pics/Comix/Book"}
- {id: 46, cat: XXX, desc: "XXX - Games"}
- {id: 53, cat: Audio/Audiobook, desc: "Books - Audio books"}
- {id: 54, cat: Books/Comics, desc: "Books - Comics"}
- {id: 55, cat: Books/Ebook, desc: "Books - Ebooks"}
- {id: 56, cat: Books/Magazines, desc: "Books - Magazines"}
- {id: 57, cat: Books/Other, desc: "Books - Other"}
- {id: 58, cat: Other, desc: "Pictures - Other"}
- {id: 59, cat: Other, desc: "Pictures - Wallpapers"}
- {id: 65, cat: TV/Anime, desc: "Anime - All"}
- {id: 90, cat: PC/ISO, desc: "Games - PC-ISO"}
- {id: 91, cat: Console, desc: "Games - PS2"}
- {id: 92, cat: Console/PSP, desc: "Games - PSP"}
- {id: 93, cat: Console/PS3, desc: "Games - PS3"}
- {id: 94, cat: PC/Games, desc: "Games - PC-RIP"}
- {id: 95, cat: Console/Xbox 360, desc: "Games - Xbox360"}
- {id: 96, cat: Console/Other, desc: "Games - Other"}
- {id: 97, cat: Console/Wii, desc: "Games - Wii"}
- {id: 98, cat: Console/NDS, desc: "Games - Nintendo DS"}
- {id: 99, cat: PC/Phone-Android, desc: "Games - Android"}
- {id: 120, cat: PC/0day, desc: "Apps - Windows"}
- {id: 121, cat: PC, desc: "Apps - Linux"}
- {id: 122, cat: PC/Phone-Android, desc: "Apps - Android"}
- {id: 123, cat: PC/Mac, desc: "Apps - Mac"}
- {id: 124, cat: PC, desc: "Apps - Other"}
- {id: 130, cat: Other, desc: "Other - Other"}
- {id: 134, cat: Other, desc: "Other - Tutorials"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selector: a[href^="magnet:?"]
search:
paths:
# http://prostylex.com/torrents-search.php?search=
# http://prostylex.com/torrents-search.php?c1=1&c2=1&c3=1&search=expanse&cat=0&incldead=0&freeleech=0&inclexternal=0&lang=0
- path: "torrents-search.php?{{range .Categories}}c{{.}}=1&{{end}}{{if .Keywords}}&search={{ .Keywords}}&cat=0&incldead=0&freeleech=0&inclexternal=0&lang=0{{else}}search={{end}}"
rows:
# selector: tr:has(a[href^="/torrent/"])
selector: tr.t-row
fields:
title:
selector: td a[href^="torrents-details.php?id="]
category:
selector: td a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: td a[href^="torrents-details.php?id="]
attribute: href
download:
selector: td a[href^="torrents-details.php?id="]
attribute: href
date:
selector: th:nth-child(5)
filters:
- name: timeago
size:
selector: th:nth-child(4)
seeders:
selector: th:nth-child(6)
leechers:
selector: th:nth-child(7)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

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

View File

@@ -0,0 +1,104 @@
---
site: pwtorrents
name: PWTorrents
description: "PWTorrents (PWT) is a Private Torrent Tracker for PROFESSIONAL WRESTLING"
language: en-us
type: private
encoding: UTF-8
links:
- https://pwtorrents.net/
caps:
categorymappings:
- {id: 1, cat: TV/Sport, desc: "Boxing"}
- {id: 2, cat: TV/Sport, desc: "Documentaries"}
- {id: 3, cat: TV/Sport, desc: "DVD"}
- {id: 4, cat: TV/Sport, desc: "ECW"}
- {id: 5, cat: TV/Sport, desc: "Games and Software"}
- {id: 6, cat: TV/Sport, desc: "Indy's"}
- {id: 7, cat: TV/Sport, desc: "Matches"}
- {id: 8, cat: TV/Sport, desc: "Misc."}
- {id: 9, cat: TV/Sport, desc: "MMA"}
- {id: 11, cat: TV/Sport, desc: "Puro"}
- {id: 10, cat: TV/Sport, desc: "PWT Packs"}
- {id: 12, cat: TV/Sport, desc: "Ring Of Honor"}
- {id: 13, cat: TV/Sport, desc: "TNA PPV's"}
- {id: 14, cat: TV/Sport, desc: "TNA Weekly"}
- {id: 15, cat: TV/Sport, desc: "WCW"}
- {id: 18, cat: TV/Sport, desc: "WWE Network"}
- {id: 16, cat: TV/Sport, desc: "WWE PPV's"}
- {id: 17, cat: TV/Sport, desc: "WWE Weekly"}
modes:
search: [q]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Login failed!")
test:
path: my.php
ratio:
path: browse.php
selector: span.smallfont:has(a[href="logout.php"])
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s\\s"
search:
paths:
# https://pwtorrents.net/browse.php?c18=1&c16=1&c17=1&incldead=0
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
incldead: "1"
search: "{{ .Keywords }}"
sort: "4" # date
type: "desc"
rows:
selector: table[border="1"][cellspacing="0"][cellpadding="5"] tr:has(a[href^="download.php?id="])
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
download:
selector: a[href^="download.php"]
attribute: href
details:
selector: a[href^="details.php?id="]
attribute: href
grabs:
selector: td:nth-child(6) a
filters:
- name: replace
args: ["times", ""]
- name: replace
args: ["time", ""]
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
date:
selector: td:nth-child(4)
filters:
- name: dateparse
args: "2006-01-0215:04:05"
downloadvolumefactor:
case:
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -72,24 +72,49 @@
selector: a.view-torrent
attribute: href
size:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: ([\d\.]+)
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"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -85,7 +85,7 @@
- name: append
args: "Language: polish\n<br>"
- name: prepend
args: {{ .Result.description }}
args: "{{ .Result.description }}"
imdb:
optional: true
selector: a[href^="http://www.imdb.com/title/tt"]

View File

@@ -33,7 +33,7 @@
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Login Failed!")
- selector: form[action*="/login"] .text-red
test:
path: /torrents
@@ -77,6 +77,30 @@
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"

View File

@@ -30,6 +30,10 @@
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie

View File

@@ -0,0 +1,81 @@
---
site: RockBox
name: RockBox Rock/Metal Tracker
description: "RockBox Semi-Private site dedicated to HEAVY METAL/ROCK MUSIC. This definition is for the English site."
language: en-us
type: semi-private
encoding: UTF-8
links:
- https://rawkbawx.rocks/
caps:
categories:
"Music": Audio
modes:
search: [q]
music-search: [q, album, artist, label, year]
login:
path: login.php
method: form
form: form[action="login.php?returnto=index.php"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: div.errorSummary
message:
selector: div.errorSummary ul li
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
method: get
inputs:
search: "{{if .Query.Artist}}{{ .Query.Artist }}{{else}}{{ .Keywords }}{{end}}"
rows:
selector: body:nth-child(2) tbody tr td:nth-child(2) table.lista tbody tr:nth-child(2) table.lista tbody tr:has(a[href^="download.php?id="])
fields:
title:
selector: td a[href^="details.php?id="]
details:
selector: td a[href^="details.php?id="]
attribute: href
comments:
selector: td a[href^="details.php?id="]
attribute: href
download:
selector: td a[href^="download.php?id="]
attribute: href
# dates come in two flavours:
date:
# 13/10/2018
selector: td:nth-child(6):contains("/")
optional: true
filters:
- name: dateparse
args: "02/01/2006"
date:
# 1 hour ago, 2 days ago, 3 weeks ago etc
selector: td:nth-child(6):not(:contains("/"))
optional: true
filters:
- name: timeago
size:
selector: td:nth-child(7)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
grabs:
selector: td:nth-child(11)
category:
text: "Music"
downloadvolumefactor:
text: "1"
uploadvolumefactor:
text: "1"

View File

@@ -6,6 +6,8 @@
type: private
encoding: windows-1252
links:
- https://rodvd.net/
legacylinks:
- http://rodvd.net/
caps:
@@ -105,7 +107,7 @@
selector: a[href*="http://www.imdb.com/title/tt"]
attribute: href
size:
selector: td:nth-child(6)
selector: td:nth-child(4)
seeders:
text: 9999
leechers:

View File

@@ -7,6 +7,8 @@
encoding: UTF-8
links:
- http://rutor.info/
- http://new-rutor.org/
- http://live-rutor.org/
caps:
# unfortunately RuTor does not display categories anywhere in its search results page :-(
@@ -35,12 +37,12 @@
search:
paths:
# http://rutor.info/search/0/0/000/0/gotham%2004x01
- path: "{{ if .Query.Q }}search/0/0/{{ .Config.method }}00/0/{{ .Query.Q }}{{else}}top{{end}}"
- path: "{{ if .Keywords }}search/0/0/{{ .Config.method }}00/0/{{ .Keywords }}/{{else}}top/{{end}}"
rows:
selector: table > tbody > tr:has(td:has(a.downgif))
selector: tr:has(td:has(a.downgif))
fields:
title:
selector: td:nth-of-type(2) a:nth-of-type(3)
selector: td:nth-of-type(2) a[href^="/torrent/"]
filters:
- name: re_replace
args: [".+\\/\\s([^а-яА-я\\/]+)\\s.*\\[(?:S*(\\d+))(?:x*(\\d+-*\\d*).*)*\\].*\\)\\s+(.+)\\s+(?:\\||от)\\s*(.+)","$1 - S$2E$3 - rus - $4 - $5"]
@@ -49,13 +51,14 @@
- name: replace
args: ["Кураж-Бамбей", "kurazh"]
details:
selector: td:nth-of-type(2) a:nth-of-type(3)
selector: td:nth-of-type(2) a[href^="/torrent/"]
attribute: href
download:
selector: td:nth-of-type(2) a:nth-of-type(1)
selector: td:nth-of-type(2) a.downgif
attribute: href
magnet:
selector: td:nth-of-type(2) a:nth-of-type(2)
optional: true
selector: td:nth-of-type(2) a[href^="magnet:?xt="]
attribute: href
date:
# 27 Окт 17
@@ -108,9 +111,9 @@
optional: true
selector: td:contains(\00a0B)
seeders:
selector: td span:has(img[alt="S"])
selector: td span.green
leechers:
selector: td:has(img[alt="L"]) span
selector: td span.red
downloadvolumefactor:
text: "0"
uploadvolumefactor:

View File

@@ -35,6 +35,10 @@
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie

View File

@@ -0,0 +1,103 @@
---
site: scenerush
name: SceneRush
description: "SceneRush is a Portuguese general tracker."
language: pt-PT
type: private
encoding: UTF-8
links:
- http://www.scene-rush.pt
caps:
categorymappings:
- {id: 1, cat: PC, desc: "Apps"}
- {id: 5, cat: PC/Games, desc: "PC Games"}
- {id: 6, cat: Movies/HD, desc: "HD"}
- {id: 7, cat: XXX, desc: "XXX"}
- {id: 8, cat: TV/Anime, desc: "ANIME"}
- {id: 9, cat: Audio, desc: "Audio"}
- {id: 11, cat: Console/Xbox 360, desc: "XBOX 360"}
- {id: 12, cat: Console/PSP, desc: "PSP"}
- {id: 13, cat: TV/Documentary, desc: "DOC"}
- {id: 17, cat: TV/HD, desc: "TV-X264"}
- {id: 19, cat: XXX/DVD, desc: "XXX DVD"}
- {id: 20, cat: Movies/DVD, desc: "A.DVD"}
- {id: 21, cat: PC/Mac, desc: "MAC"}
- {id: 32, cat: Movies/BluRay, desc: "BluRay"}
- {id: 33, cat: Console/Wii, desc: "WII"}
- {id: 34, cat: Console/PS3, desc: "PS3"}
- {id: 35, cat: Movies/HD, desc: "A.HD"}
- {id: 36, cat: PC/Phone-Android, desc: "Android"}
- {id: 37, cat: Movies/DVD, desc: "C.DVDR"}
- {id: 38, cat: Movies/Other, desc: "CAM TS"}
- {id: 40, cat: Console/PS4, desc: "PS4"}
- {id: 41, cat: Movies/SD, desc: "BDRIP"}
- {id: 42, cat: Movies/WEBDL, desc: "WEB DL"}
- {id: 43, cat: Books, desc: "EBOOK"}
- {id: 44, cat: TV/Sport, desc: "SPORTS"}
modes:
search: [q]
tv-search: [q]
login:
path: /takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed")+table)
test:
path: /browse.php
ratio:
path: /browse.php
selector: td[width='60'][style=['text-align:center;'] > span > font
search:
paths:
- path: /browse.php
method: post
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
blah: "0"
rows:
selector: table[cellpadding='5'][width='96%'] > tbody > tr:has(a[href*="details.php?id="])
fields:
title:
selector: td:nth-child(2) > a > b
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(10)
seeders:
selector: td:nth-child(11)
leechers:
selector: td:nth-child(12)
date:
selector: td:nth-child(7)
filters:
- name: re_replace
args: ["(\\d{4}-\\d{2}-\\d{2})(\\d{2}:\\d{2}:\\d{2})","$1 $2"]
- name: dateparse
args: "2018-12-30 22:30:31"
downloadvolumefactor:
case:
"i.fg-gold": "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -71,6 +71,8 @@
pwd: "{{ .Config.password }}"
error:
- selector: div.error
- selector: body:has(h1:contains("403 Forbidden")) # for banned IP notices
- selector: td.lista > span[style="color:#FF0000;"] # Nome Utente non corretto
test:
path: /index.php
selector: a[href="logout.php"]
@@ -78,6 +80,42 @@
search:
paths:
- path: /index.php
inputs:
pages: 1
- path: /index.php
inputs:
pages: 2
- path: /index.php
inputs:
pages: 3
- path: /index.php
inputs:
pages: 4
- path: /index.php
inputs:
pages: 5
- path: /index.php
inputs:
pages: 6
- path: /index.php
inputs:
pages: 7
- path: /index.php
inputs:
pages: 8
- path: /index.php
inputs:
pages: 9
- path: /index.php
inputs:
pages: 10
inputs:
search: "{{ .Keywords }}"
category: "{{range .Categories}}{{.}};{{end}}"
page: torrents
active: 0
order: 3
by: 2
keywordsfilters:
- name: diacritics
args: replace
@@ -85,11 +123,6 @@
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
- name: re_replace # S01E01 to 1 1
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1 $2"]
inputs:
search: "{{ .Keywords }}"
category: "{{range .Categories}}{{.}};{{end}}"
page: torrents
active: 0
rows:
selector: div.b-content > table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrents&category="])
filters:
@@ -99,7 +132,7 @@
selector: a[href^="download.php?id="]
attribute: href
title: # shortened title?
selector: a[href^="index.php?page=torrent-details"]
selector: td:nth-child(2)
filters:
- name: re_replace # replace special characters with " " (space)
args: ["[^a-zA-Z0-9\\s]|\\.", " "]
@@ -124,7 +157,7 @@
args: ["(?i)(Serie completa|Completat?a?|in pausa)", ""]
title: # long titles?
optional: true
selector: a[title][href^="index.php?page=torrent-details"]
selector: td:nth-child(2)
attribute: title
filters:
- name: re_replace # replace special characters with " " (space)
@@ -149,7 +182,7 @@
- name: re_replace # rimozioni varie
args: ["(?i)(Serie completa|Completat?a?|in pausa)", ""]
category:
selector: a[href^="index.php?page=torrents&category="]
selector: td:nth-child(1) a[href^="index.php?page=torrents&category="]
attribute: href
filters:
- name: querystring
@@ -165,21 +198,21 @@
- name: regexp
args: "src=(.+?) "
size:
selector: td:nth-child(10)
selector: td:nth-last-child(3)
date:
selector: td:nth-child(5)
selector: td[width="85"] # some users have an extra uploader column between the grabs and size column, see #4435
filters:
- name: dateparse
args: "02/01/2006"
grabs:
selector: td:nth-child(8)
selector: td[width="85"] + td + td + td
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(6)
selector: td[width="85"] + td
leechers:
selector: td:nth-child(7)
selector: td[width="85"] + td + td
downloadvolumefactor:
case:
img[alt="Free Leech"]: "0"

View File

@@ -0,0 +1,74 @@
---
site: shokweb
name: shokweb
description: "shokweb is a CHINESE Public tracker"
language: zh-CN
type: public
encoding: UTF-8
links:
- https://shokweb.com/
certificates:
- ba7fb6290a9d7d821e73efb0eac4ed95a7fd2d11 # expired
settings: []
caps:
categories:
"影视": Movies # Movie
"安装包": PC/ISO # installation package
"其他": Other # Other
"音乐": Audio # Music
"文档书籍": Books # Documents Book
"压缩文件": PC # Compressed Files
"图像": Other/Misc # Image
modes:
search: [q]
search:
paths:
# https://shokweb.com/ (latest)
# https://shokweb.com/search/supergirl%20s04e01 (search)
- path: "{{if .Keywords}}{{.Keywords}}{{else}}{{end}}"
rows:
selector: div:has(a[href^="magnet:?"])
filters:
- name: andmatch
fields:
title:
selector: a[href^="/post/"]
category:
selector: p:has(img) span:nth-last-child(4)
details:
selector: a[href^="/post/"]
attribute: href
download:
selector: a[href^="magnet:?"]
attribute: href
size:
selector: p:has(img) span:nth-last-child(2)
grabs:
selector: p:has(img) span:nth-last-child(5)
date:
selector: p:has(img) span:nth-last-child(1)
filters:
- name: replace
args: ["时", " hours"]
- name: replace
args: ["分", " minutes"]
- name: replace
args: ["天", " days"]
- name: replace
args: ["年", " year"]
- name: replace
args: ["月", " months"]
- name: replace
args: ["前", " ago"]
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -0,0 +1,89 @@
---
site: skytorrentsclone
name: SkyTorrentsClone
description: "SkyTorrents.lol is a Public SkyTorrents clone for TV / MOVIES / GENERAL"
language: en-us
type: public
encoding: UTF-8
links:
- https://www.skytorrents.to/
legacylinks:
- https://www.skytorrents.lol/
caps:
categories:
# category=
"album": Audio
"ebook": Books
"movie": Movies
"show": TV
# type=
"audio": Audio
"doc": Books
"games": PC/Games
"software": PC
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: itorrents-links
type: checkbox
label: Add download links via itorrents.org
default: true
- name: info
type: info
label: ITorrents Note
default: Without the itorrents option only magnet links will be provided.
search:
# https://www.skytorrents.lol/?query=mr+mercedes+s02e05&sort=created
# https://www.skytorrents.lol/top100
paths:
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created{{else}}top100{{end}}"
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=2{{else}}{{end}}"
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=3{{else}}{{end}}"
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=4{{else}}{{end}}"
rows:
selector: tr.result
fields:
title:
selector: td a
category:
# try category=
optional: true
selector: a.label[href*="category="]
category:
# try type=
optional: true
selector: a.label[href*="type="]
details:
selector: td a
attribute: href
download-itorrents:
selector: a[href^="//itorrents"]
attribute: href
download:
text: "{{if .Config.itorrents-links}}{{ .Result.download-itorrents }}{{else}}{{end}}"
magnet:
selector: a[href^="magnet:?"]
attribute: href
size:
selector: td:nth-child(2)
files:
selector: td:nth-child(3)
date:
# 20 Minutes ago
selector: td:nth-child(4)
filters:
- name: timeago
seeders:
selector: td:nth-child(5)
leechers:
selector: td:nth-child(6)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -302,13 +302,24 @@
- name: dateparse
args: "02/01/2006 15:04:05"
size:
selector: td:nth-child(5)
# seems size might be floating as the 4th or 5th td so lets try matching the size-unit
optional: true
selector: td.ttable_col2:contains(" GB")
size:
optional: true
selector: td.ttable_col2:contains(" MB")
size:
optional: true
selector: td.ttable_col2:contains(" kB")
size:
optional: true
selector: td.ttable_col2:contains(" B")
grabs:
selector: font[color^=orange]
selector: td.ttable_col1 > font[color^=orange]
seeders:
selector: font[color^=green]
selector: td.ttable_col1 > b > font[color^=green]
leechers:
selector: td.ttable_col1 > font[color^=red]
selector: td.ttable_col2 > font[color^=red]
downloadvolumefactor:
case:
img[src="images/free.gif"]: "0"

View File

@@ -86,6 +86,10 @@
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie

View File

@@ -0,0 +1,148 @@
---
site: takeabyte
name: TakeaByte
description: "TakeaByte is a NORDIC Private Torrent Tracker for 0DAY / GENERAL"
language: en-us
type: private
encoding: UTF-8
links:
- https://takeabyte-nordic.org/
certificates:
- 8b88d216d270b9b672ba44fbbdd5ca3d8919e5fd # expired Nov 2015
caps:
categorymappings:
- {id: 3, cat: Movies, desc: "Movies"}
- {id: 9, cat: Movies/3D, desc: "Movies 3D"}
- {id: 47, cat: Movies/BluRay, desc: "Movies BD 1080p"}
- {id: 21, cat: Movies/Other, desc: "Movies Boxset"}
- {id: 43, cat: Movies, desc: "Movies TBN"}
- {id: 40, cat: Movies, desc: "Movies Danish"}
- {id: 34, cat: Movies/DVD, desc: "Movies DVD-R"}
- {id: 10, cat: Movies/SD, desc: "Movies XviD"}
- {id: 19, cat: Movies, desc: "Movies Kids"}
- {id: 41, cat: Movies, desc: "Movies Swedish"}
- {id: 20, cat: Movies, desc: "Movies MP4"}
- {id: 49, cat: Movies, desc: "Movies Nordisk"}
- {id: 42, cat: Movies, desc: "Movies Norway"}
- {id: 11, cat: Movies/HD, desc: "HD 1080p"}
- {id: 25, cat: Movies/HD, desc: "HD-1080p Custom"}
- {id: 14, cat: Movies/HD, desc: "HD-720p"}
- {id: 26, cat: Movies/HD, desc: "HD-720p Custom"}
- {id: 23, cat: Audio/Other, desc: "Music Boxset"}
- {id: 35, cat: Audio/Lossless, desc: "Music Flac"}
- {id: 22, cat: Audio/MP3, desc: "Music MP3"}
- {id: 24, cat: Audio/Video, desc: "Music Video"}
- {id: 32, cat: Audio/Audiobook, desc: "Audio-Books"}
- {id: 33, cat: Books/Ebook, desc: "E-Books"}
- {id: 30, cat: PC/Mac, desc: "Apps Mac"}
- {id: 31, cat: PC/Phone-Other, desc: "Apps Mobile"}
- {id: 1, cat: PC/0day, desc: "Apps Windows"}
- {id: 15, cat: Console, desc: "Games Other"}
- {id: 45, cat: Console/NDS, desc: "Games NDS"}
- {id: 13, cat: Console, desc: "Games Others"}
- {id: 37, cat: Console/PS Vita, desc: "Games PS2"}
- {id: 38, cat: Console/PS3, desc: "Games PS3"}
- {id: 36, cat: Console/PSP, desc: "Games PSP"}
- {id: 7, cat: Console/Wii, desc: "Games Wii"}
- {id: 39, cat: Console/Xbox, desc: "Games XBOX"}
- {id: 8, cat: PC/Games, desc: "Games PC"}
- {id: 12, cat: PC/Games, desc: "Games PC Rips"}
- {id: 46, cat: Other, desc: "Wallpapers"}
- {id: 27, cat: TV/Other, desc: "TV Boxset"}
- {id: 28, cat: TV, desc: "TV-Series"}
- {id: 52, cat: XXX, desc: "XXX"}
- {id: 53, cat: XXX/Packs, desc: "XXX-Pack"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: "/browse.php"
error:
- selector: h2:contains("Login failed!")
message:
selector: table tr td.colhead2
test:
path: /
selector: :has(a[href^="logout.php?hash_please="])
search:
paths:
# http://takeabyte-nordic.org/browse.php?search=first+man&searchin=title&incldead=0
# http://takeabyte-nordic.org/browse.php?c9=1&c47=1&c21=1&c11=1&c25=1&c14=1&c26=1&c3=1&search=%22first+man%22&searchin=title&incldead=0
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{.Keywords}}"
searchin: "title"
incldead: 1
rows:
selector: table tr:has(a[href^="browse.php?cat="]):has(a[href^="details.php?id="])
filters:
- name: andmatch
fields:
title:
selector: a[href^="details.php?id="] b
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
size:
selector: td:nth-last-child(4)
files:
selector: td:nth-last-child(7)
grabs:
selector: td:nth-last-child(3)
filters:
- name: replace
args: ["times", ""]
- name: replace
args: ["time", ""]
# 2 flavours of dates
date:
# Today<br />13:20:59
# Yesterday<br />08:03:01
optional: true
selector: td:nth-last-child(5):contains("day")
date:
# Feb 14 2019<br />14:20:12
optional: true
selector: td:nth-last-child(5):not(:contains("day"))
filters:
- name: regex # drop break in between date and time
args: ["(.+?)<[^>]*>(.+?)","$1 $2"]
- name: dateparse
args: "Jan 2 2006 15:04:05"
seeders:
selector: td:nth-last-child(2)
leechers:
selector: td:nth-last-child(1)
downloadvolumefactor:
case:
"b:contains(\"[Free and Double]\")": "0"
"*": "1"
uploadvolumefactor:
case:
"b:contains(\"[Free and Double]\")": "2"
"*": "1"

View File

@@ -45,7 +45,7 @@
- {id: 399, cat: PC, desc: "Other OS", default: true}
#Games
- {id: 401, cat: Console, desc: "Games", default: true}
- {id: 400, cat: Console, desc: "Games", default: true}
- {id: 401, cat: PC/Games, desc: "PC", default: true}
- {id: 402, cat: PC/Mac, desc: "Mac", default: true}
- {id: 403, cat: Console/PS4, desc: "PSx", default: true}
@@ -87,6 +87,10 @@
"99": "Default"
"8": "Seeders"
"3": "Time"
- name: info
type: info
label: Proxies
default: The Pirate Bay is currently only reachable via TOR. But you can try to use an unofficial proxy from <a href="https://piratebayproxy.info/" target="_blank">piratebayproxy.info</a>.
search:
paths:

View File

@@ -107,7 +107,8 @@
orderby: "added"
sort: "desc"
rows:
selector: table.main > tbody > tr:contains("Alle Torrents") + tr > td > table.tableinborder > tbody > tr
# correct selector depends on the "Empfohlene Torrents in der Liste anzeigen" profile option
selector: table.main > tbody > tr:contains("Alle Torrents") + tr > td > table.tableinborder > tbody > tr, div.bro_torr_wrap:not(:contains("Alle Torrents")) > table.tableinborder > tbody > tr
filters:
- name: andmatch
fields:

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