mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-13 07:24:08 +02:00
Compare commits
380 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7a7c00c562 | ||
![]() |
7d39938af6 | ||
![]() |
47d815c805 | ||
![]() |
0300942a8f | ||
![]() |
0ba21e3f18 | ||
![]() |
008b995df4 | ||
![]() |
7dd8e247c8 | ||
![]() |
c408c6880c | ||
![]() |
68aa4184e0 | ||
![]() |
0407b15c1b | ||
![]() |
27240bcfed | ||
![]() |
a3f0131156 | ||
![]() |
5924a4fd22 | ||
![]() |
296c218308 | ||
![]() |
bce1689bfe | ||
![]() |
d0d4dcf11d | ||
![]() |
5a1f9e4af9 | ||
![]() |
a2946ca903 | ||
![]() |
a2c881a968 | ||
![]() |
25ae101654 | ||
![]() |
b9c2f8ad5d | ||
![]() |
ba39c8ad5b | ||
![]() |
a45770f541 | ||
![]() |
ba565e0376 | ||
![]() |
649d53f857 | ||
![]() |
f612345fac | ||
![]() |
d8607ee0f2 | ||
![]() |
8c84bed209 | ||
![]() |
655448fb74 | ||
![]() |
15049a4efb | ||
![]() |
a90ed2601a | ||
![]() |
fa71356666 | ||
![]() |
12ffb4cbe7 | ||
![]() |
b67f59e865 | ||
![]() |
d51dda4434 | ||
![]() |
70666c459b | ||
![]() |
60b7c7860b | ||
![]() |
fc343b336f | ||
![]() |
8cacbcc9b9 | ||
![]() |
e48a20f93d | ||
![]() |
5d2c64711f | ||
![]() |
a76becef3a | ||
![]() |
82c7900f77 | ||
![]() |
3984af24fd | ||
![]() |
375fc86937 | ||
![]() |
3d99aa3863 | ||
![]() |
5e48f764aa | ||
![]() |
3294bbcea3 | ||
![]() |
405ff7009f | ||
![]() |
a499989649 | ||
![]() |
45b47268f9 | ||
![]() |
76dd662fe3 | ||
![]() |
b6cf6c4e16 | ||
![]() |
42b4fae278 | ||
![]() |
35b8f726fb | ||
![]() |
d8d8030644 | ||
![]() |
9a417590b6 | ||
![]() |
119c7b2e34 | ||
![]() |
7df5a64a8b | ||
![]() |
28e8e765b0 | ||
![]() |
86169a41c0 | ||
![]() |
5641aa560b | ||
![]() |
0288bd4ad8 | ||
![]() |
399119b2da | ||
![]() |
4a03e52cb4 | ||
![]() |
7bcd0b5b86 | ||
![]() |
9fd4bbae4f | ||
![]() |
6b536ce62f | ||
![]() |
d878c9e05e | ||
![]() |
cb8835b878 | ||
![]() |
e188454fec | ||
![]() |
ab9d8f6403 | ||
![]() |
ce15cb8bfe | ||
![]() |
9e7d1cc547 | ||
![]() |
7b2657870a | ||
![]() |
31df2c27dd | ||
![]() |
b64b3504ba | ||
![]() |
af6c732306 | ||
![]() |
8da6140753 | ||
![]() |
3c03494d85 | ||
![]() |
5af3eaa926 | ||
![]() |
f79608fe6c | ||
![]() |
316f4f2864 | ||
![]() |
71babe611a | ||
![]() |
25ddcb10bb | ||
![]() |
4c07918cd4 | ||
![]() |
88fc9123e7 | ||
![]() |
c38b668ea2 | ||
![]() |
ea1d86f107 | ||
![]() |
a96237b38b | ||
![]() |
5c9f652ef5 | ||
![]() |
8d72b9a395 | ||
![]() |
0c3e856086 | ||
![]() |
37216bd0a9 | ||
![]() |
f9ef3b836b | ||
![]() |
a0d0b2cb40 | ||
![]() |
590fd5139f | ||
![]() |
37ccdbb19d | ||
![]() |
cb02cac1e1 | ||
![]() |
ddb8095dd2 | ||
![]() |
23ee1145c5 | ||
![]() |
431570e696 | ||
![]() |
ebcb82ed80 | ||
![]() |
1352d1528a | ||
![]() |
822dc191dc | ||
![]() |
41bf6da9c6 | ||
![]() |
f3de97be61 | ||
![]() |
869efa32f4 | ||
![]() |
332a31afa2 | ||
![]() |
398601d0ef | ||
![]() |
a5c596c200 | ||
![]() |
9b3bdc9f36 | ||
![]() |
56433c5aa3 | ||
![]() |
b8a9eef6cf | ||
![]() |
75aef1b997 | ||
![]() |
af066426fd | ||
![]() |
3999e76ae8 | ||
![]() |
ef162f07e5 | ||
![]() |
7a9adc283b | ||
![]() |
7a5407d2c4 | ||
![]() |
eaf53e0f4c | ||
![]() |
81b1e64c9a | ||
![]() |
61d333cbc3 | ||
![]() |
2c1b6dbf9f | ||
![]() |
7644a5e3bd | ||
![]() |
7ef2faaf09 | ||
![]() |
de0dd2b035 | ||
![]() |
ccf0d546e9 | ||
![]() |
e56f5314b2 | ||
![]() |
64ac67f58b | ||
![]() |
6735ad030d | ||
![]() |
041115ff0e | ||
![]() |
d239197f0f | ||
![]() |
115e476196 | ||
![]() |
98439ea414 | ||
![]() |
4cf798b4b4 | ||
![]() |
806ed2d44e | ||
![]() |
cf77ec8932 | ||
![]() |
a1113c0ef0 | ||
![]() |
0138638825 | ||
![]() |
8af7944832 | ||
![]() |
5d0b33c003 | ||
![]() |
1c1664e8cb | ||
![]() |
3339375a26 | ||
![]() |
887d5d9f59 | ||
![]() |
ed86046377 | ||
![]() |
5887774640 | ||
![]() |
12cf07375e | ||
![]() |
11f4abbb46 | ||
![]() |
1a30a7e02d | ||
![]() |
0614ed1871 | ||
![]() |
fca85e6cae | ||
![]() |
fa093778c5 | ||
![]() |
e39451974c | ||
![]() |
488e793a22 | ||
![]() |
eb5875b820 | ||
![]() |
b8f5856bac | ||
![]() |
0c9acc990d | ||
![]() |
723eae7792 | ||
![]() |
201703ecbc | ||
![]() |
bdd62c2572 | ||
![]() |
74e8518060 | ||
![]() |
bcfccd83d4 | ||
![]() |
c0b9bb64f8 | ||
![]() |
7c4695604a | ||
![]() |
4ef83ad215 | ||
![]() |
537e25df3b | ||
![]() |
fe4a5f82b1 | ||
![]() |
a4053d914a | ||
![]() |
c86d3fb2f3 | ||
![]() |
c3749253b7 | ||
![]() |
d61bda4f8b | ||
![]() |
0f839682e1 | ||
![]() |
0a60686023 | ||
![]() |
802ddfe6ee | ||
![]() |
798a6df506 | ||
![]() |
09cf5ee06a | ||
![]() |
9a4092d7a2 | ||
![]() |
a466c87d34 | ||
![]() |
45327e642e | ||
![]() |
4a393cb244 | ||
![]() |
13c7f18024 | ||
![]() |
89eeee5939 | ||
![]() |
e7d52575ad | ||
![]() |
80371f7666 | ||
![]() |
cff056c71b | ||
![]() |
54663f51dd | ||
![]() |
1a31c23602 | ||
![]() |
1e5a6c16e5 | ||
![]() |
1dbb4ccea4 | ||
![]() |
84d3ebbc87 | ||
![]() |
6489dd99a5 | ||
![]() |
7868798857 | ||
![]() |
03e9ffc9ac | ||
![]() |
3858604b79 | ||
![]() |
cc2d607ce6 | ||
![]() |
9f56be5500 | ||
![]() |
b3d40d1f6f | ||
![]() |
9f44ab5d8f | ||
![]() |
b02a1d01a9 | ||
![]() |
de114b55b3 | ||
![]() |
487d746f66 | ||
![]() |
4febfc04a9 | ||
![]() |
9b867c5949 | ||
![]() |
50bf9acb4e | ||
![]() |
dabf592acb | ||
![]() |
3f2c2c59b1 | ||
![]() |
0212d2f4f4 | ||
![]() |
6c1dcd1a7d | ||
![]() |
a2eb4dbdbd | ||
![]() |
504573e5f5 | ||
![]() |
81035a002a | ||
![]() |
0e16d8da74 | ||
![]() |
6b460917ef | ||
![]() |
9bd65ceaa2 | ||
![]() |
7b5508d333 | ||
![]() |
4ba9569a08 | ||
![]() |
ac1fa68260 | ||
![]() |
864eb6f1cd | ||
![]() |
cb7acddd61 | ||
![]() |
383d9ff4f8 | ||
![]() |
5eb4dbe550 | ||
![]() |
10473c6bd3 | ||
![]() |
2ac29148af | ||
![]() |
e5682fc48e | ||
![]() |
f332369b53 | ||
![]() |
8a8a114723 | ||
![]() |
583d17dd36 | ||
![]() |
751d3e8b96 | ||
![]() |
60a9008480 | ||
![]() |
e606363ee7 | ||
![]() |
fd0c92f439 | ||
![]() |
10b6b08127 | ||
![]() |
0b9a0dab5a | ||
![]() |
1c4a2cf563 | ||
![]() |
a93c347672 | ||
![]() |
683ebca006 | ||
![]() |
000c57b9c1 | ||
![]() |
4c6b946cf9 | ||
![]() |
b3cf51172f | ||
![]() |
56b8a81248 | ||
![]() |
f7107bf37d | ||
![]() |
c545a49755 | ||
![]() |
19ec3e2aff | ||
![]() |
4846ea000a | ||
![]() |
a29d63e6dc | ||
![]() |
bd177cbf26 | ||
![]() |
93d5acd355 | ||
![]() |
7cc19212f5 | ||
![]() |
ba36c9bdff | ||
![]() |
734fc31d8e | ||
![]() |
6c6d55eb63 | ||
![]() |
17cabb2921 | ||
![]() |
b0250deee1 | ||
![]() |
de8adf382b | ||
![]() |
c31b9d84f0 | ||
![]() |
2bdf899927 | ||
![]() |
2101ebb2de | ||
![]() |
a92e0bef37 | ||
![]() |
090ee7b093 | ||
![]() |
4cd184ae72 | ||
![]() |
642f990862 | ||
![]() |
829347cba2 | ||
![]() |
ca39b85cc2 | ||
![]() |
7a57e2d302 | ||
![]() |
49de2b0a93 | ||
![]() |
a2bd2615c1 | ||
![]() |
71d368689c | ||
![]() |
e1515b468c | ||
![]() |
398f0993f4 | ||
![]() |
c846eb4330 | ||
![]() |
cae6d4ed73 | ||
![]() |
b286dc1c7f | ||
![]() |
61a69472c5 | ||
![]() |
a04fc6f123 | ||
![]() |
86964e1cc6 | ||
![]() |
2d7c30dbde | ||
![]() |
5b6d1ccc7b | ||
![]() |
b9b826c34c | ||
![]() |
b33018563b | ||
![]() |
033070d9a9 | ||
![]() |
8d67d1bf37 | ||
![]() |
f9143d14e5 | ||
![]() |
a601a25652 | ||
![]() |
6451525eb1 | ||
![]() |
acd1902734 | ||
![]() |
9d68ca86da | ||
![]() |
5b9165cd2f | ||
![]() |
8a48874b42 | ||
![]() |
b0132da030 | ||
![]() |
175d7f5379 | ||
![]() |
dc8023afe1 | ||
![]() |
d956872d95 | ||
![]() |
35defc04e0 | ||
![]() |
a2f5e5a5aa | ||
![]() |
ec5a8e6e33 | ||
![]() |
f00aa5faca | ||
![]() |
51ece1726c | ||
![]() |
579190b4bd | ||
![]() |
fd4d8d490a | ||
![]() |
e2fe43b3a7 | ||
![]() |
bedde1a3db | ||
![]() |
da638ad712 | ||
![]() |
10ae5e9d5d | ||
![]() |
71749ba8db | ||
![]() |
4373c38869 | ||
![]() |
2a17783a9c | ||
![]() |
a184ad4d7c | ||
![]() |
acc1e7e65a | ||
![]() |
95ffd0caa3 | ||
![]() |
b0e788788f | ||
![]() |
80f0c1b7da | ||
![]() |
7abdd0d817 | ||
![]() |
736330bea3 | ||
![]() |
accd06d291 | ||
![]() |
fed8294ae0 | ||
![]() |
1093355e77 | ||
![]() |
aae73741e8 | ||
![]() |
17002a6ede | ||
![]() |
4f96f437ad | ||
![]() |
335ea77e9e | ||
![]() |
41a4dc2922 | ||
![]() |
ee1d7a7625 | ||
![]() |
e9aa0edc37 | ||
![]() |
e64d7ea947 | ||
![]() |
8eb0415aaf | ||
![]() |
ef20198a4f | ||
![]() |
6c6d379002 | ||
![]() |
7c2a343629 | ||
![]() |
ea2e88d6bb | ||
![]() |
abaf909ef1 | ||
![]() |
74054523c5 | ||
![]() |
37daacf9fa | ||
![]() |
b58dc51f8d | ||
![]() |
6c661a4974 | ||
![]() |
7a49ddda3a | ||
![]() |
5e4cb3581d | ||
![]() |
968c2ca3a6 | ||
![]() |
af4fb5c6a0 | ||
![]() |
fc7d5a0e35 | ||
![]() |
2a7c693917 | ||
![]() |
838ad77d7f | ||
![]() |
3978ba6c04 | ||
![]() |
60554c25d9 | ||
![]() |
bd03c903d0 | ||
![]() |
113e5d658c | ||
![]() |
f9b4b5a76c | ||
![]() |
2f378210d9 | ||
![]() |
e5de468899 | ||
![]() |
204d96bcec | ||
![]() |
9e37b1429a | ||
![]() |
6b61e22f95 | ||
![]() |
c3dffe42be | ||
![]() |
796947fd6f | ||
![]() |
77b1da3089 | ||
![]() |
f3c6acf634 | ||
![]() |
ab810a20db | ||
![]() |
60f1be6f18 | ||
![]() |
ab6f7d5218 | ||
![]() |
67f50e88a3 | ||
![]() |
79a354c6d9 | ||
![]() |
ee20b141da | ||
![]() |
0c67c6322a | ||
![]() |
99ed3fbc2c | ||
![]() |
ef92bf5342 | ||
![]() |
053d2be3f3 | ||
![]() |
c155bf8c8c | ||
![]() |
e1232800c6 | ||
![]() |
7a2c0bf260 | ||
![]() |
203b5d1e37 | ||
![]() |
1325fc6391 | ||
![]() |
1c3bc3cbf4 | ||
![]() |
8509276972 | ||
![]() |
e7710489ca | ||
![]() |
f6a669ea46 | ||
![]() |
68ad01e346 | ||
![]() |
ffda2c8269 | ||
![]() |
896b2ab954 | ||
![]() |
bbcec8103d | ||
![]() |
8f0ba9cefe |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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
|
||||
|
6
.github/ISSUE_TEMPLATE.md
vendored
6
.github/ISSUE_TEMPLATE.md
vendored
@@ -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):
|
||||
|
187
README.md
187
README.md
@@ -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,68 @@ 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)
|
||||
* 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
|
||||
* Gay-Torrents.net
|
||||
* Gay-Torrents.org
|
||||
* GDF76
|
||||
* Kinozal
|
||||
* LostFilm.tv
|
||||
* Mega-Bliz
|
||||
@@ -79,9 +95,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 +107,28 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
### Supported Private Trackers
|
||||
* 2 Fast 4 You
|
||||
* 3D Torrents
|
||||
* 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,110 +138,115 @@ 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
|
||||
* 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
|
||||
* 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
|
||||
* PTFiles
|
||||
* PuntoTorrent
|
||||
@@ -233,8 +258,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
|
||||
@@ -250,15 +278,14 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Superbits
|
||||
* 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,9 +301,8 @@ 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
|
||||
@@ -290,9 +316,8 @@ 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
|
||||
* Xthor
|
||||
@@ -307,6 +332,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 +375,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 +443,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 +464,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
|
||||
|
||||
|
@@ -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";
|
||||
|
220
build.cake
220
build.cake
@@ -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
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
31
build.ps1
31
build.ps1
@@ -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
117
build.sh
Executable 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
0
install_service_macos
Normal file → Executable file
82
install_service_systemd.sh
Executable file
82
install_service_systemd.sh
Executable 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
|
@@ -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>
|
||||
|
@@ -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)) {
|
||||
|
@@ -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>
|
||||
|
@@ -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"]
|
||||
|
@@ -6,6 +6,8 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.2f4y.me/
|
||||
legacylinks:
|
||||
- http://www.2f4y.me/
|
||||
|
||||
caps:
|
||||
|
110
src/Jackett.Common/Definitions/420files.yml
Normal file
110
src/Jackett.Common/Definitions/420files.yml
Normal 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"
|
@@ -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]
|
||||
|
116
src/Jackett.Common/Definitions/alein.yml
Normal file
116
src/Jackett.Common/Definitions/alein.yml
Normal 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"
|
@@ -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
|
||||
|
@@ -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
|
||||
|
163
src/Jackett.Common/Definitions/arenabg.yml
Normal file
163
src/Jackett.Common/Definitions/arenabg.yml
Normal 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 & 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"
|
110
src/Jackett.Common/Definitions/asiancinema.yml
Normal file
110
src/Jackett.Common/Definitions/asiancinema.yml
Normal 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"
|
132
src/Jackett.Common/Definitions/audiobookbay.yml
Normal file
132
src/Jackett.Common/Definitions/audiobookbay.yml
Normal 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"
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
@@ -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"
|
@@ -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:
|
||||
|
@@ -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"
|
@@ -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"]
|
||||
|
76
src/Jackett.Common/Definitions/btkitty.yml
Normal file
76
src/Jackett.Common/Definitions/btkitty.yml
Normal 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"
|
78
src/Jackett.Common/Definitions/btstornet.yml
Normal file
78
src/Jackett.Common/Definitions/btstornet.yml
Normal 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"
|
@@ -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"
|
||||
|
@@ -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
|
||||
|
95
src/Jackett.Common/Definitions/cpasbienclone.yml
Normal file
95
src/Jackett.Common/Definitions/cpasbienclone.yml
Normal file
@@ -0,0 +1,95 @@
|
||||
---
|
||||
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://www2.cpasbiens.ws/
|
||||
legacylinks:
|
||||
- https://www1.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"
|
146
src/Jackett.Common/Definitions/desitorrents.yml
Normal file
146
src/Jackett.Common/Definitions/desitorrents.yml
Normal 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"
|
74
src/Jackett.Common/Definitions/digbt.yml
Normal file
74
src/Jackett.Common/Definitions/digbt.yml
Normal 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"
|
@@ -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"
|
||||
|
116
src/Jackett.Common/Definitions/dxdhd.yml
Normal file
116
src/Jackett.Common/Definitions/dxdhd.yml
Normal 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"
|
75
src/Jackett.Common/Definitions/elitetorrent-biz.yml
Normal file
75
src/Jackett.Common/Definitions/elitetorrent-biz.yml
Normal 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"
|
@@ -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
|
||||
|
@@ -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"
|
@@ -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:
|
||||
|
86
src/Jackett.Common/Definitions/gdf76.yml
Normal file
86
src/Jackett.Common/Definitions/gdf76.yml
Normal 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"
|
@@ -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"
|
||||
|
@@ -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"
|
||||
|
@@ -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:
|
||||
|
@@ -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:
|
||||
|
115
src/Jackett.Common/Definitions/hd4free.yml
Normal file
115
src/Jackett.Common/Definitions/hd4free.yml
Normal 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"
|
105
src/Jackett.Common/Definitions/hdcenter.yml
Normal file
105
src/Jackett.Common/Definitions/hdcenter.yml
Normal 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"
|
@@ -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:
|
||||
|
220
src/Jackett.Common/Definitions/hdforever.yml
Normal file
220
src/Jackett.Common/Definitions/hdforever.yml
Normal 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"
|
@@ -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}}"
|
||||
|
@@ -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"
|
||||
|
@@ -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"]
|
||||
|
109
src/Jackett.Common/Definitions/hush.yml
Normal file
109
src/Jackett.Common/Definitions/hush.yml
Normal 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
|
@@ -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
|
||||
|
@@ -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"
|
92
src/Jackett.Common/Definitions/idopeclone.yml
Normal file
92
src/Jackett.Common/Definitions/idopeclone.yml
Normal 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"
|
@@ -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"
|
||||
|
@@ -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:
|
||||
|
@@ -69,6 +69,8 @@
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" ()", ""]
|
||||
- name: replace
|
||||
args: ["\t", ""]
|
||||
- name: replace
|
||||
args: [" / Freeleech!", ""]
|
||||
category:
|
||||
|
80
src/Jackett.Common/Definitions/katcrs.yml
Normal file
80
src/Jackett.Common/Definitions/katcrs.yml
Normal 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"
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
@@ -6,6 +6,8 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.magnetdl.com/
|
||||
legacylinks:
|
||||
- http://www.magnetdl.com/
|
||||
|
||||
caps:
|
||||
|
@@ -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
|
||||
|
114
src/Jackett.Common/Definitions/metal-iplay-ro.yml
Normal file
114
src/Jackett.Common/Definitions/metal-iplay-ro.yml
Normal 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"
|
@@ -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:
|
||||
|
@@ -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
|
||||
|
@@ -7,6 +7,8 @@
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://nyaa.si
|
||||
certificates:
|
||||
- 3801e330482d4f9baef71ca4e33ba23ede74f59c # incomplete CA chain
|
||||
|
||||
settings:
|
||||
- name: filter-id
|
||||
|
@@ -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"]
|
||||
|
107
src/Jackett.Common/Definitions/prostylex.yml
Normal file
107
src/Jackett.Common/Definitions/prostylex.yml
Normal 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"
|
@@ -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"
|
||||
|
@@ -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"]
|
||||
|
@@ -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"
|
||||
|
81
src/Jackett.Common/Definitions/rockbox.yml
Normal file
81
src/Jackett.Common/Definitions/rockbox.yml
Normal 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"
|
@@ -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:
|
||||
|
@@ -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:
|
||||
|
103
src/Jackett.Common/Definitions/scenerush.yml
Normal file
103
src/Jackett.Common/Definitions/scenerush.yml
Normal 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"
|
@@ -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"
|
||||
|
74
src/Jackett.Common/Definitions/shokweb.yml
Normal file
74
src/Jackett.Common/Definitions/shokweb.yml
Normal 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"
|
89
src/Jackett.Common/Definitions/skytorrentsclone.yml
Normal file
89
src/Jackett.Common/Definitions/skytorrentsclone.yml
Normal 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"
|
@@ -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"
|
||||
|
@@ -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:
|
||||
|
@@ -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:
|
||||
|
@@ -7,8 +7,8 @@
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.torlock2.com/
|
||||
legacylinks:
|
||||
- https://www.torlock.com/
|
||||
- https://torlock.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -32,6 +32,18 @@
|
||||
tv-search: [q]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info
|
||||
type: info
|
||||
label: Layout
|
||||
default: Only the classic profile is supported. Make sure to set the "Torrent listesi" option in your profile to "Klasik".
|
||||
|
||||
login:
|
||||
path: /?p=home&pid=1
|
||||
method: form
|
||||
|
@@ -5,8 +5,9 @@
|
||||
language: fr-fr
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.torrent9.ph/
|
||||
- https://wvw.torrent9.uno/
|
||||
legacylinks:
|
||||
- http://www.torrent9.ec/
|
||||
- http://www.torrent9.red/
|
||||
@@ -18,6 +19,10 @@
|
||||
- https://www.torrent9.blue/
|
||||
- https://ww2.torrent9.blue/
|
||||
- https://www.torrent9.rip/
|
||||
- https://www.torrent9.ph/
|
||||
- https://ww1.torrent9.ph/
|
||||
- https://torrent9.ga/
|
||||
- https://www.torrent9.uno/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
134
src/Jackett.Common/Definitions/torrent9clone.yml
Normal file
134
src/Jackett.Common/Definitions/torrent9clone.yml
Normal file
@@ -0,0 +1,134 @@
|
||||
---
|
||||
site: torrent9clone
|
||||
name: Torrent9 clone (torrent9.ch)
|
||||
description: "Torrent9 is a FRENCH Public site for TV / MOVIES / GENERAL"
|
||||
language: fr-fr
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www2.torrent9.ch/
|
||||
legacylinks:
|
||||
- https://www.torrents9.pw/
|
||||
- https://www.torrent9.ch/
|
||||
- https://www1.torrent9.ch/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: films, cat: Movies, desc: "Movies"}
|
||||
- {id: series, cat: TV, desc: "TV"}
|
||||
- {id: musique, cat: Audio, desc: "Music"}
|
||||
- {id: ebook, cat: Books, desc: "Books"}
|
||||
- {id: logiciels, cat: PC, desc: "Software"}
|
||||
- {id: jeux-pc, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: jeux-consoles, cat: Console/Xbox360, desc: "Console Games"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: category
|
||||
type: select
|
||||
label: Category Filter
|
||||
default: "/"
|
||||
options:
|
||||
"/" : "All"
|
||||
"/films/": "Movies"
|
||||
"/films-french/": "Movies/French"
|
||||
"/films-vostfr/": "Movies/VOSTFR"
|
||||
"/films-dvdrip-x264/": "Movies/DVDRIP .x264"
|
||||
"/720p/": "Movies/BluRay 720p"
|
||||
"/1080p/": "Movies/BluRay 1080p"
|
||||
"/series/": "TV/Series"
|
||||
"/series-vostfr/": "TV/VOSTFR"
|
||||
"/series-francaise/": "TV/French"
|
||||
"/series-dvdrip/": "TV/DVDRIP"
|
||||
"/spectacles/": "Shows"
|
||||
"/musique/": "Music"
|
||||
"/ebook/": "Ebooks"
|
||||
"/logiciels/": "Software"
|
||||
"/jeux-pc/": "PC Games"
|
||||
"/jeux-consoles/": "Console Games"
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}/recherche/{{ .Keywords }}{{else}}/top{{end}}"
|
||||
rows:
|
||||
selector: div.table-responsive > table tbody tr
|
||||
fields:
|
||||
site_date:
|
||||
selector: td:nth-child(1) 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: td:nth-child(1) 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: td:nth-child(1) a
|
||||
attribute: href
|
||||
category:
|
||||
selector: td:nth-child(1) i
|
||||
case:
|
||||
i[class="Films"]: films
|
||||
i[class="Séries"]: series
|
||||
i[class="Musique"]: musique
|
||||
i[class=""Jeux-PC"]: jeux-pc
|
||||
i[class="Logiciels"]: logiciels
|
||||
i[class="Ebook"]: ebook
|
||||
download:
|
||||
selector: td:nth-child(1) a
|
||||
attribute: href
|
||||
date:
|
||||
text: "now"
|
||||
size:
|
||||
selector: td:nth-child(2)
|
||||
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", "" ]
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
selector: td:nth-child(3) span.seed_ok
|
||||
optional: true
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -6,9 +6,9 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://et8.org/
|
||||
legacylinks:
|
||||
- https://et8.org/
|
||||
legacylinks:
|
||||
- http://et8.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
60
src/Jackett.Common/Definitions/torrentcouch.yml
Normal file
60
src/Jackett.Common/Definitions/torrentcouch.yml
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
site: torrentcouch
|
||||
name: TorrentCouch
|
||||
description: "TorrentCounch is a Public TV tracker"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://torrentcouch.net/
|
||||
legacylinks:
|
||||
- https://torrentcouch.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: tr td a[href*="/files/download/"]
|
||||
|
||||
search:
|
||||
# https://torrentcouch.com/?s=expanse
|
||||
# https://torrentcouch.net/page/3/?s=expanse
|
||||
paths:
|
||||
- path: "{{if .Keywords}}/?s={{ .Keywords}}{{else}}/{{end}}"
|
||||
- path: "{{if .Keywords}}/page/2/?s={{ .Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/page/3/?s={{ .Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/page/4/?s={{ .Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: article
|
||||
fields:
|
||||
title:
|
||||
selector: h2 a
|
||||
category:
|
||||
text: "1"
|
||||
details:
|
||||
selector: h2 a
|
||||
attribute: href
|
||||
description:
|
||||
selector: p
|
||||
download:
|
||||
selector: h2 a
|
||||
attribute: href
|
||||
size:
|
||||
text: "500 MB"
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
text: "1"
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
119
src/Jackett.Common/Definitions/torrentfunk.yml
Normal file
119
src/Jackett.Common/Definitions/torrentfunk.yml
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
site: torrentfunk
|
||||
name: TorrentFunk
|
||||
description: "TorrentFunk is a Public torrent index"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.torrentfunk.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: Movies
|
||||
2: Audio
|
||||
3: TV
|
||||
4: PC/Games
|
||||
5: PC
|
||||
6: TV/Anime
|
||||
7: XXX
|
||||
8: Other
|
||||
9: Other
|
||||
10: Books
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: category
|
||||
type: select
|
||||
label: Category
|
||||
default: "all"
|
||||
options:
|
||||
"all": "All"
|
||||
"movie": "Movies"
|
||||
"music": "Music"
|
||||
"television": "TV"
|
||||
"game": "Games"
|
||||
"software": "Software"
|
||||
"anime": "Anime"
|
||||
"ebook": "eBooks"
|
||||
"adult": "Adult"
|
||||
- name: verified
|
||||
type: select
|
||||
label: Verified
|
||||
default: "_"
|
||||
options:
|
||||
"_": "Any"
|
||||
"on": "Verified Only"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort Desc
|
||||
default: "added"
|
||||
options:
|
||||
"added": "Date"
|
||||
"seeds": "Seeders"
|
||||
"peers": "Leechers"
|
||||
"size": "Size"
|
||||
"name": "Title"
|
||||
|
||||
download:
|
||||
selector: a[href^="/tor/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.torrentfunk.com/all/torrents/vikings.html?v=&smi=&sma=&i=50&sort=added&o=desc
|
||||
- path: "{{.Config.category}}/torrents/{{.Keywords}}.html?v={{re_replace .Config.verified \"_\" \"\"}}&smi=&sma=&i=50&sort={{.Config.sort}}&o=desc"
|
||||
|
||||
rows:
|
||||
selector: table.tmain tbody tr:has(a[href^="/torrent/"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: div a[href^="/torrent/"]
|
||||
category:
|
||||
selector: td[class^="tv"], td[class^="tn"]
|
||||
attribute: class
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d)"
|
||||
details:
|
||||
selector: div a[href^="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: div a[href^="/torrent/"]
|
||||
attribute: href
|
||||
# two types of dates
|
||||
date:
|
||||
# Today
|
||||
optional: true
|
||||
selector: td:nth-child(2):contains("Today")
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
date:
|
||||
# Yesterday
|
||||
optional: true
|
||||
selector: td:nth-child(2):contains("Yesterday")
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
date:
|
||||
# 7 Jul
|
||||
# 25 Dec
|
||||
selector: td:nth-child(2):contains(" ")
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2 Jan"
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
108
src/Jackett.Common/Definitions/torrentgalaxyorg.yml
Normal file
108
src/Jackett.Common/Definitions/torrentgalaxyorg.yml
Normal file
@@ -0,0 +1,108 @@
|
||||
---
|
||||
site: torrentgalaxyorg
|
||||
name: TorrentGalaxy.org
|
||||
description: "TorrentGalaxy.org (TGx) is a Public site for TV / MOVIES / GENERAL"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://torrentgalaxy.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 28, cat: TV/Anime, desc: "Anime - All"}
|
||||
- {id: 20, cat: PC/Phone-Other, desc: "Apps - Mobile"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Apps - OS"}
|
||||
- {id: 21, cat: PC, desc: "Apps - Other"}
|
||||
- {id: 18, cat: PC/0day, desc: "Apps - Windows"}
|
||||
- {id: 13, cat: Audio/Audiobook, desc: "Books - Audiobooks"}
|
||||
- {id: 12, cat: Books/Ebook, desc: "Books - Ebooks"}
|
||||
- {id: 14, cat: Books/Technical, desc: "Books - Education"}
|
||||
- {id: 15, cat: Books/Magazines, desc: "Books - Magazine"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "Documentaries - All"}
|
||||
- {id: 11, cat: Console, desc: "Games - Console"}
|
||||
- {id: 43, cat: PC/Phone-Other, desc: "Games - Mobile"}
|
||||
- {id: 17, cat: Console/Other, desc: "Games - Other"}
|
||||
- {id: 10, cat: PC/Games , desc: "Games - Windows"}
|
||||
- {id: 3, cat: Movies/UHD, desc: "Movies - 2K/4K UHD"}
|
||||
- {id: 46, cat: Movies/Foreign, desc: "Movies - Bollywood"}
|
||||
- {id: 45, cat: Movies/Other, desc: "Movies - CAM/TS"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies - HD"}
|
||||
- {id: 4, cat: Movies, desc: "Movies - Packs"}
|
||||
- {id: 1, cat: Movies/SD, desc: "Movies - SD"}
|
||||
- {id: 22, cat: Audio, desc: "Music - Albums"}
|
||||
- {id: 26, cat: Audio, desc: "Music - Discography"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Music - Lossless"}
|
||||
- {id: 25, cat: Audio/Video, desc: "Music - Musicvideo"}
|
||||
- {id: 24, cat: Audio, desc: "Music - Singles"}
|
||||
- {id: 40, cat: Audio/Other, desc: "Other - Other"}
|
||||
- {id: 37, cat: Other, desc: "Other - Pictures"}
|
||||
- {id: 33, cat: Other, desc: "Other - Training"}
|
||||
- {id: 41, cat: TV/HD, desc: "TV - Episodes HD"}
|
||||
- {id: 5, cat: TV/SD, desc: "TV - Episodes SD"}
|
||||
- {id: 6, cat: TV/OTHER, desc: "TV - Packs"}
|
||||
- {id: 7, cat: TV/Sport, desc: "TV - Sports"}
|
||||
- {id: 35, cat: XXX, desc: "XXX - HD"}
|
||||
- {id: 47, cat: XXX, desc: "XXX - Misc"}
|
||||
- {id: 34, cat: XXX, desc: "XXX - SD"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
# https://torrentgalaxy.org/torrents.php?c41=1&search=mercedes+s02e04&lang=0&sort=id&order=desc
|
||||
path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{.Keywords}}"
|
||||
lang: "0"
|
||||
sort: "id"
|
||||
order: "desc"
|
||||
rows:
|
||||
selector: div[class="tgxtablerow clickable-row click"]
|
||||
fields:
|
||||
title:
|
||||
selector: div.tgxtablecell:nth-child(3) div a
|
||||
attribute: title
|
||||
category:
|
||||
selector: div.tgxtablecell a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: div.tgxtablecell:nth-child(3) div a
|
||||
attribute: href
|
||||
download:
|
||||
selector: div.tgxtablecell:nth-child(4) a
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: div.tgxtablecell:nth-child(4) a:nth-child(2)
|
||||
attribute: href
|
||||
size:
|
||||
selector: div.tgxtablecell:nth-child(7) span
|
||||
seeders:
|
||||
selector: div.tgxtablecell:nth-child(10) span font b
|
||||
leechers:
|
||||
selector: div.tgxtablecell:nth-child(10) span font:nth-child(2) b
|
||||
date:
|
||||
# 20Mins ago
|
||||
optional: true
|
||||
selector: div.tgxtablecell:nth-child(11) small:contains("ago")
|
||||
filters:
|
||||
- name: timeago
|
||||
date:
|
||||
# 24/12/18 13:55
|
||||
optional: true
|
||||
selector: div.tgxtablecell:nth-child(11) small:contains(":")
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/06 15:04"
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -72,6 +72,8 @@
|
||||
date:
|
||||
selector: td.torrentNameInfo > div
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [" by.*", ""]
|
||||
- name: split
|
||||
args: ["|", -1]
|
||||
seeders:
|
||||
|
100
src/Jackett.Common/Definitions/torrentkitty.yml
Normal file
100
src/Jackett.Common/Definitions/torrentkitty.yml
Normal file
@@ -0,0 +1,100 @@
|
||||
---
|
||||
site: torrentkitty
|
||||
name: TorrentKitty
|
||||
description: "TorrentKitty is a CHINESE Public torrent search engine."
|
||||
language: cn
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://cntorrentkitty.com/
|
||||
- http://cntorrentkitty.xyz/
|
||||
|
||||
settings:
|
||||
- name: category
|
||||
type: select
|
||||
label: Category
|
||||
default: "0"
|
||||
options:
|
||||
"0": "All"
|
||||
"1": "Other"
|
||||
"2": "Video"
|
||||
"3": "Music"
|
||||
"4": "Documents"
|
||||
"5": "Software"
|
||||
"6": "Compress"
|
||||
"7": "Images"
|
||||
"8": "Image"
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"[其他]": Other # other
|
||||
"[视频]": Movies # video
|
||||
"[音乐]": Audio # music
|
||||
"[文档]": Books # documents
|
||||
"[软件]": PC/0day # software
|
||||
"[压缩]": PC # compress
|
||||
"[图片]": Other/Misc # images
|
||||
"[映像]": Other/Misc # image
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:?"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://cntorrentkitty.com/tk/what%20men%20want/1-0-0.html (10 hits)
|
||||
# http://cntorrentkitty.com/newest/ (100 hits)
|
||||
# try and fetch at least 50 keyword results
|
||||
- path: "{{if .Keywords}}tk/{{.Keywords}}/1-0-{{.Config.category}}.html{{else}}newest/{{end}}"
|
||||
- path: "{{if .Keywords}}tk/{{.Keywords}}/2-0-{{.Config.category}}.html{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}tk/{{.Keywords}}/3-0-{{.Config.category}}.html{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}tk/{{.Keywords}}/4-0-{{.Config.category}}.html{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}tk/{{.Keywords}}/5-0-{{.Config.category}}.html{{else}}{{end}}"
|
||||
rows:
|
||||
selector: p.p1:not(p.filelist), p.p0:not(p.filelist)
|
||||
after: 1
|
||||
fields:
|
||||
category:
|
||||
selector: span:nth-child(1)
|
||||
title:
|
||||
selector: a[target="_blank"]
|
||||
details:
|
||||
selector: a[target="_blank"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[target="_blank"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: b:contains(" GB"), b:contains(" MB"), b:contains(" KB")
|
||||
date:
|
||||
text: "now"
|
||||
date:
|
||||
selector: b:contains("收录"):contains(":")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["收录",""]
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
date:
|
||||
selector: b:contains(收录):not(:contains(":"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["收录",""]
|
||||
- name: dateparse
|
||||
args: "2006-01-02"
|
||||
files:
|
||||
selector: b:contains("个文件")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["个文件",""]
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
text: "1"
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -39,6 +39,7 @@
|
||||
- {id: 20, cat: TV/SD, desc: "Series - HDRip"}
|
||||
- {id: 22, cat: TV/SD, desc: "Series - DVD"}
|
||||
- {id: 51, cat: TV/OTHER, desc: "Series - Otros Formatos"}
|
||||
- {id: 84, cat: TV/HD, desc: "Series - H265"}
|
||||
#Documentales
|
||||
- {id: 53, cat: TV/Documentary, desc: "Documentales - HD"}
|
||||
- {id: 52, cat: TV/Documentary, desc: "Documentales - SD"}
|
||||
@@ -76,7 +77,7 @@
|
||||
active: "0"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
rows:
|
||||
selector: "#Mcol table.table-inverse ~ table.table-inverse > tbody > tr:not(:first-child)"
|
||||
selector: "#Mcol table.lista:nth-child(1) > tbody > tr:not(:first-child)"
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-child(1) a
|
||||
@@ -85,10 +86,15 @@
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: td:nth-child(2) a
|
||||
selector: td:nth-child(2)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [">", ""]
|
||||
- name: replace
|
||||
args: ["\"", ""]
|
||||
banner:
|
||||
optional: true
|
||||
selector: td:nth-child(2) a
|
||||
selector: td:nth-child(2) > a
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -98,19 +104,23 @@
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(8) a
|
||||
leechers:
|
||||
selector: td:nth-child(9) a
|
||||
grabs:
|
||||
selector: td:nth-child(10)
|
||||
seeders:
|
||||
selector: td:nth-child(6) a
|
||||
leechers:
|
||||
selector: td:nth-child(7) a
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["---", "0"]
|
||||
date:
|
||||
selector: td:nth-child(7)
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [">", ""]
|
||||
- name: replace
|
||||
args: ["\"", ""]
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
download:
|
||||
|
@@ -1,96 +0,0 @@
|
||||
---
|
||||
site: torrentsmd
|
||||
name: Torrents.Md
|
||||
description: "Torrents.Md is a Moldovan Private site for TV / MOVIES / GENERAL"
|
||||
language: ru-mo
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://torrentsmd.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filme"}
|
||||
- {id: 2, cat: Audio, desc: "Muzică"}
|
||||
- {id: 3, cat: PC, desc: "Software"}
|
||||
- {id: 4, cat: Console, desc: "Jocuri"}
|
||||
- {id: 5, cat: TV, desc: "Tv"}
|
||||
- {id: 7, cat: Other, desc: "Alte"}
|
||||
- {id: 8, cat: Books, desc: "Cărţi"}
|
||||
- {id: 9, cat: Audio/Video, desc: "Muzică video"}
|
||||
- {id: 10, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 11, cat: Movies, desc: "Filme animate"}
|
||||
- {id: 12, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 13, cat: Movies, desc: "Filme documentare"}
|
||||
- {id: 14, cat: Audio/Audiobook, desc: "Cărţi audio"}
|
||||
- {id: 15, cat: Other, desc: "Lecţii video"}
|
||||
- {id: 16, cat: Other, desc: "Fotografii"}
|
||||
- {id: 17, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 18, cat: TV/HD, desc: "HDTV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("eşuată"))
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Query.Keywords}}search.php{{else}}browse.php{{end}}"
|
||||
inputs:
|
||||
search_str: "{{ .Query.Keywords }}"
|
||||
rows:
|
||||
selector: table.tableTorrents > tbody > tr:has(a[href^="/details.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="/details.php?id="]
|
||||
details:
|
||||
selector: a[href^="/details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="/details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/details.php", "/download.php"]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["ore", "hours ago"]
|
||||
- name: replace
|
||||
args: ["minute", "minutes ago"]
|
||||
- name: dateparse
|
||||
args: "01-02 2006"
|
||||
- name: dateparse
|
||||
args: "01-02"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -107,7 +107,7 @@
|
||||
- name: prepend
|
||||
args: "magnet:?xt=urn:btih:"
|
||||
- name: append
|
||||
args: "&dn={{ .Result.magfile }}.torrent"
|
||||
args: "&dn={{ .Result.magfile }}.torrent&tr=udp://tracker.coppersurfer.tk:6969&tr=udp://tracker.leechers-paradise.org:6969&tr=udp://tracker.opentrackr.org:1337"
|
||||
category:
|
||||
optional: true
|
||||
selector: dt
|
||||
|
117
src/Jackett.Common/Definitions/torrof.yml
Normal file
117
src/Jackett.Common/Definitions/torrof.yml
Normal file
@@ -0,0 +1,117 @@
|
||||
---
|
||||
site: torrof
|
||||
name: Torrof
|
||||
description: "Torrof (Torrentoff) is meta-search engine for torrents"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.torrof.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"Software": PC
|
||||
"Book": Books
|
||||
"Video": Movies
|
||||
"Music": Audio
|
||||
"Other": Other
|
||||
"Picture": Other/Misc
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: category
|
||||
type: select
|
||||
label: Category
|
||||
default: "_"
|
||||
options:
|
||||
"_": "All"
|
||||
"Book": "Book"
|
||||
"Music": "Music"
|
||||
"Other": "Other"
|
||||
"Picture": "Picture"
|
||||
"Software": "Software"
|
||||
"Video": "Video"
|
||||
- name: verified
|
||||
type: select
|
||||
label: Verified
|
||||
default: "_"
|
||||
options:
|
||||
"_": "Any"
|
||||
"1": "Verified Only"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort
|
||||
default: "_"
|
||||
options:
|
||||
"_": "Default"
|
||||
"creation_date desc": "Age desc"
|
||||
"creation_date asc": "Age asc"
|
||||
"total_size desc": "Size desc"
|
||||
"total_size asc": "Size asc"
|
||||
|
||||
download:
|
||||
selector: section.file-info a:nth-child(2)
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
|
||||
method: post
|
||||
inputs:
|
||||
# torrof does not support trending/latest/new pages
|
||||
text: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
|
||||
size: "0:inf"
|
||||
date: "0:inf"
|
||||
verified_only: "{{ re_replace .Config.verified \"_\" \"\" }}"
|
||||
category: "{{ re_replace .Config.category \"_\" \"\" }}"
|
||||
tags: ""
|
||||
mode: "titles"
|
||||
sort: "{{ re_replace .Config.sort \"_\" \"\" }}"
|
||||
page: "0"
|
||||
|
||||
rows:
|
||||
# ignore adverts
|
||||
selector: tr:has(a[href^="/view/"])
|
||||
filters:
|
||||
# torrof uses fuzzy search logic
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
category:
|
||||
selector: td:nth-child(1) span
|
||||
attribute: title
|
||||
filters:
|
||||
# grab first word
|
||||
- name: split
|
||||
args: [" ", 0]
|
||||
details:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2006"
|
||||
size:
|
||||
selector: td:nth-child(3) span:nth-child(1)
|
||||
files:
|
||||
selector: td:nth-child(3) span:nth-last-child(1)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" Files", ""]
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
text: "1"
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -102,9 +102,6 @@
|
||||
download:
|
||||
selector: a.dl_a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "^(/download.php/\\d+/).*" # cut off download url after ID to avoid bad request errors with curl
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
size:
|
||||
|
@@ -62,6 +62,9 @@
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["S(\\d{2})E(\\d{2})", "$1 $2"]
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
category: "0"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user