mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-11 14:19:17 +02:00
Compare commits
363 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c2ff657272 | ||
![]() |
0d3c29df4f | ||
![]() |
8d195f3c8e | ||
![]() |
d5dea458cb | ||
![]() |
b9b94009bf | ||
![]() |
8bfe5edc0a | ||
![]() |
cc2071dc53 | ||
![]() |
e745b02c55 | ||
![]() |
ee162756d1 | ||
![]() |
9a571f6f4b | ||
![]() |
1b740f1a04 | ||
![]() |
9e695151b7 | ||
![]() |
c1c86ddd60 | ||
![]() |
328cf7090a | ||
![]() |
64f461bc98 | ||
![]() |
c6639e7d9b | ||
![]() |
841fac48f9 | ||
![]() |
0a2651e635 | ||
![]() |
bee30b2c1c | ||
![]() |
28dbb29513 | ||
![]() |
cf03b6e216 | ||
![]() |
87c4f26d02 | ||
![]() |
022b88ea22 | ||
![]() |
858658cdcf | ||
![]() |
16b3c43861 | ||
![]() |
def90ea2fb | ||
![]() |
a859f58e8f | ||
![]() |
449c478012 | ||
![]() |
896df26151 | ||
![]() |
50441fbc1d | ||
![]() |
32005e1120 | ||
![]() |
33c7b69ee8 | ||
![]() |
4d1c0265c6 | ||
![]() |
e1bc60ed29 | ||
![]() |
fc43bd65be | ||
![]() |
234eed9e66 | ||
![]() |
cf5ebe7909 | ||
![]() |
a2ba3d68f9 | ||
![]() |
2ffbedc2fa | ||
![]() |
b54c6bfa1f | ||
![]() |
a45cd07434 | ||
![]() |
5b75796250 | ||
![]() |
3d0e57f273 | ||
![]() |
68de3e7a6a | ||
![]() |
693f2b5965 | ||
![]() |
749a33abc5 | ||
![]() |
95a2f38e79 | ||
![]() |
55e5db4e28 | ||
![]() |
204e3f8fd2 | ||
![]() |
613a554314 | ||
![]() |
5efc7cd88c | ||
![]() |
5462ce0fd9 | ||
![]() |
d379319050 | ||
![]() |
d0daf0d00b | ||
![]() |
7f1e3dbb62 | ||
![]() |
36f1b79927 | ||
![]() |
f3302e5d53 | ||
![]() |
b71bbe49c5 | ||
![]() |
b3dec55a86 | ||
![]() |
1bbc01cfcd | ||
![]() |
502ac57cd4 | ||
![]() |
37430c5e79 | ||
![]() |
85752ca58c | ||
![]() |
86881e2ad6 | ||
![]() |
97367a55ac | ||
![]() |
d52f38efb9 | ||
![]() |
9d3e41cb5c | ||
![]() |
093425ac0a | ||
![]() |
e5c9fcd58e | ||
![]() |
6882715a3f | ||
![]() |
21c206feb7 | ||
![]() |
67d7562882 | ||
![]() |
1785b0832c | ||
![]() |
2fc92e84c4 | ||
![]() |
8db99363b6 | ||
![]() |
ffbcd89bce | ||
![]() |
99e49dad9e | ||
![]() |
57820de1c1 | ||
![]() |
ca4f08a030 | ||
![]() |
aa8e106727 | ||
![]() |
eda182f2c9 | ||
![]() |
83720c6982 | ||
![]() |
43213b8ff4 | ||
![]() |
77e9db411e | ||
![]() |
9d3eac2594 | ||
![]() |
52e89581cf | ||
![]() |
895fc4d077 | ||
![]() |
bda30d7193 | ||
![]() |
08a7641fb9 | ||
![]() |
77e3db2f88 | ||
![]() |
18ed7c88fb | ||
![]() |
f2c7de0845 | ||
![]() |
ee0d092c2f | ||
![]() |
5ec8045fe0 | ||
![]() |
924a8e9f96 | ||
![]() |
5389995b6d | ||
![]() |
609a222d98 | ||
![]() |
9f913d73f4 | ||
![]() |
0c39616c12 | ||
![]() |
e1e2441b91 | ||
![]() |
1085c753d7 | ||
![]() |
2ea46b5c9f | ||
![]() |
90607d561c | ||
![]() |
266568e4ce | ||
![]() |
3378895b4c | ||
![]() |
d847b93418 | ||
![]() |
e32f02a003 | ||
![]() |
8b0cede8ee | ||
![]() |
9f77de381b | ||
![]() |
e060c82cd3 | ||
![]() |
43f0f03b05 | ||
![]() |
25c7d84f95 | ||
![]() |
37ccf7a7a9 | ||
![]() |
a2e92da5f6 | ||
![]() |
d1e57c25d6 | ||
![]() |
db2ba3ba0b | ||
![]() |
902961dc5a | ||
![]() |
689568d147 | ||
![]() |
1cd05963df | ||
![]() |
fbb3c1bdfc | ||
![]() |
de5b26032e | ||
![]() |
0761ad7aee | ||
![]() |
6cce59126b | ||
![]() |
347191ab6a | ||
![]() |
afac5ad1cf | ||
![]() |
fa10c625dd | ||
![]() |
c546fd7ac8 | ||
![]() |
fc96965e54 | ||
![]() |
feaf5d4361 | ||
![]() |
f146b3eaa6 | ||
![]() |
d07b6ae863 | ||
![]() |
a25f2016dc | ||
![]() |
a5f0e2b5db | ||
![]() |
6ac9555cb5 | ||
![]() |
e7d9360b51 | ||
![]() |
5a7091075e | ||
![]() |
2270b13435 | ||
![]() |
80a99ce69f | ||
![]() |
c54cbb4cbe | ||
![]() |
de55e6e14e | ||
![]() |
0983540493 | ||
![]() |
6cc262a6d3 | ||
![]() |
2484ff16f3 | ||
![]() |
4e1d7ac09b | ||
![]() |
b8aa2a16dd | ||
![]() |
cf7ca97f9c | ||
![]() |
cc01b0ca05 | ||
![]() |
a84b1dce4d | ||
![]() |
be54f1a532 | ||
![]() |
064786f379 | ||
![]() |
9d140b3ab4 | ||
![]() |
a65d855cc4 | ||
![]() |
2698ac2907 | ||
![]() |
28971c2303 | ||
![]() |
6428a7134b | ||
![]() |
b33f5764ef | ||
![]() |
ebb855bf45 | ||
![]() |
9e90edd397 | ||
![]() |
ee2743cdc9 | ||
![]() |
a9731b036c | ||
![]() |
58ed5421ec | ||
![]() |
dc25480844 | ||
![]() |
789d168648 | ||
![]() |
f6668c9777 | ||
![]() |
5903e6abdf | ||
![]() |
0de4c1da43 | ||
![]() |
53bd7ce0c4 | ||
![]() |
4d4c9fe645 | ||
![]() |
caf583a684 | ||
![]() |
b445072a4d | ||
![]() |
82617f961d | ||
![]() |
c28df96332 | ||
![]() |
88c6c4af6e | ||
![]() |
df49bb8578 | ||
![]() |
a968913bc4 | ||
![]() |
5c9880e410 | ||
![]() |
d7af20d4f6 | ||
![]() |
8dc832d64a | ||
![]() |
91b87ee7be | ||
![]() |
ee8fc6a78f | ||
![]() |
18f48cb04b | ||
![]() |
dd64739af6 | ||
![]() |
05c4d1e331 | ||
![]() |
f9ad475aa8 | ||
![]() |
ad17897edd | ||
![]() |
2356ef3837 | ||
![]() |
b63e97fecd | ||
![]() |
c025a98cbf | ||
![]() |
0c84507b51 | ||
![]() |
875d7a005e | ||
![]() |
b1c25d4c5b | ||
![]() |
5ef6b8601a | ||
![]() |
a512a1e6b5 | ||
![]() |
5ba93dd9c2 | ||
![]() |
5216b6ece7 | ||
![]() |
eb5c8f4dcd | ||
![]() |
8a6ba04688 | ||
![]() |
287ad3a995 | ||
![]() |
00494bdac1 | ||
![]() |
4189aeac0e | ||
![]() |
5f66b1a297 | ||
![]() |
ad77068a7b | ||
![]() |
75d53b4026 | ||
![]() |
a4cd5e0047 | ||
![]() |
eccafdf4af | ||
![]() |
a7fab04e42 | ||
![]() |
95e17d1741 | ||
![]() |
a6c821762a | ||
![]() |
e66a839fb3 | ||
![]() |
1a8b48f4dc | ||
![]() |
e32baf18a4 | ||
![]() |
486a5313e4 | ||
![]() |
79b262569f | ||
![]() |
9a2a019ff5 | ||
![]() |
2dc4582830 | ||
![]() |
48d7ce271b | ||
![]() |
11acfddd64 | ||
![]() |
23f36bb0f8 | ||
![]() |
b2ff7b7091 | ||
![]() |
f73b55215c | ||
![]() |
806eabde31 | ||
![]() |
9538adcc30 | ||
![]() |
aef7b34ec3 | ||
![]() |
13e1548d54 | ||
![]() |
0c667322d9 | ||
![]() |
fa9abf2fed | ||
![]() |
5cd5b5277f | ||
![]() |
3e97da4c1a | ||
![]() |
610821a435 | ||
![]() |
5968285a39 | ||
![]() |
ba6453a78f | ||
![]() |
8a463886dd | ||
![]() |
a879c8af10 | ||
![]() |
f65cc2f273 | ||
![]() |
4796da7a89 | ||
![]() |
30032a6f63 | ||
![]() |
67bc9b69cf | ||
![]() |
6447bffacc | ||
![]() |
293e2efbf7 | ||
![]() |
dfaa7f1a69 | ||
![]() |
001ee19752 | ||
![]() |
5be247a1e6 | ||
![]() |
2707312d2b | ||
![]() |
7da5a9ea39 | ||
![]() |
1123c707c5 | ||
![]() |
35ac794927 | ||
![]() |
a9fe567299 | ||
![]() |
e5d2994174 | ||
![]() |
bc605a8146 | ||
![]() |
276801cc3b | ||
![]() |
463dda9f80 | ||
![]() |
38aa3eaa93 | ||
![]() |
515575f311 | ||
![]() |
79bd7bae67 | ||
![]() |
3c75f7afc0 | ||
![]() |
3c2bff5833 | ||
![]() |
d1c943d44a | ||
![]() |
5037e1871a | ||
![]() |
bb183d56cc | ||
![]() |
0ac587d97b | ||
![]() |
e7edd1734b | ||
![]() |
1ad901bfa8 | ||
![]() |
d4f16d96f1 | ||
![]() |
1762e6e02d | ||
![]() |
09ef1169b6 | ||
![]() |
2dcc21f5f7 | ||
![]() |
a7928ea4a8 | ||
![]() |
90d0f5b2e0 | ||
![]() |
56a26dd265 | ||
![]() |
99d294cc79 | ||
![]() |
880c818686 | ||
![]() |
8d8e9056a1 | ||
![]() |
915fb1d68e | ||
![]() |
e895a74f91 | ||
![]() |
f9512c8228 | ||
![]() |
2e0f6c7b03 | ||
![]() |
2cee151652 | ||
![]() |
a7117a077f | ||
![]() |
62cc95182f | ||
![]() |
4e3a420248 | ||
![]() |
a77e6211b3 | ||
![]() |
021e487528 | ||
![]() |
29ea7af919 | ||
![]() |
9843ca9491 | ||
![]() |
0b12640d58 | ||
![]() |
5329125950 | ||
![]() |
7128e0c599 | ||
![]() |
6f9a2caa18 | ||
![]() |
e98fad4f73 | ||
![]() |
2eb76ffb86 | ||
![]() |
4ffc9f06c9 | ||
![]() |
14912bba09 | ||
![]() |
bb2c8e6c6a | ||
![]() |
c4c91cc462 | ||
![]() |
fd036ecef9 | ||
![]() |
72c28319f3 | ||
![]() |
d255e83756 | ||
![]() |
a41c45b7d3 | ||
![]() |
83d11a58cb | ||
![]() |
fbadc4f3a9 | ||
![]() |
7bf35bda8f | ||
![]() |
f65df4e45d | ||
![]() |
da3f84527d | ||
![]() |
b915e815e9 | ||
![]() |
1ef7dcf457 | ||
![]() |
9eb52b76ca | ||
![]() |
55cae3657e | ||
![]() |
953e3cf701 | ||
![]() |
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 |
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
|
||||
|
4
.github/ISSUE_TEMPLATE.md
vendored
4
.github/ISSUE_TEMPLATE.md
vendored
@@ -7,7 +7,7 @@ If you are experiencing an issue with a tracker, then:
|
||||
2. If you haven't already, try upgrading to the latest version of Jackett, your issue may have already been resolved.
|
||||
3. If it is still not working for you, then a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
|
||||
|
||||
**Jackett version**:
|
||||
**Mono version** (if not using Windows):
|
||||
(At the bottom of your Jackett Dashboard page) **Jackett version**:
|
||||
(if you installed using Jackett.Binaries.Mono.tar.gz) **Mono version**:
|
||||
|
||||
-------------------------------
|
||||
|
265
README.md
265
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), [qBittorrent](https://www.qbittorrent.org/), etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
|
||||
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), [Nefarious](https://github.com/lardbit/nefarious) etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
|
||||
|
||||
Developer note: The software implements the [Torznab](https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with [nZEDb](https://github.com/nZEDb/nZEDb/blob/dev/docs/newznab_api_specification.txt) category numbering) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
|
||||
|
||||
@@ -17,17 +17,23 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
|
||||
#### Supported Systems
|
||||
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
|
||||
* Linux and macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
|
||||
* Linux
|
||||
* macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
|
||||
|
||||
### Supported Public Trackers
|
||||
* 1337x
|
||||
* ACG.RIP
|
||||
* Anidex
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AudioBookBay
|
||||
* BTstor.net
|
||||
* AudioBook Bay (ABB)
|
||||
* btbit
|
||||
* BTDB
|
||||
* BTDigg
|
||||
* BTKitty
|
||||
* cpasbien
|
||||
* cpasbienClone
|
||||
* DIGBT
|
||||
* ETTV
|
||||
* EliteTorrent.biz
|
||||
* ExtraTorrent.ag
|
||||
@@ -35,34 +41,42 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Frozen Layer
|
||||
* GkTorrent
|
||||
* Horrible Subs
|
||||
* IdopeClone
|
||||
* Il Corsaro Nero <!-- maintained by bonny1992 -->
|
||||
* Il Corsaro Blu
|
||||
* Isohunt2
|
||||
* KATcrs
|
||||
* KickAssTorrent
|
||||
* KickAssTorrent (KATcr)
|
||||
* KickAssTorrent (thekat.se clone)
|
||||
* KikiBT
|
||||
* LimeTorrents
|
||||
* MacTorrents
|
||||
* MagnetDL
|
||||
* MejorTorrent <!-- maintained by ivandelabeldad -->
|
||||
* Monova
|
||||
* Newpct (aka: tvsinpagar, descargas2020, torrentlocura, torrentrapid, tumejortorrent, pctnew, etc)
|
||||
* Nyaa.si
|
||||
* Nyaa-Pantsu
|
||||
* Nyoo
|
||||
* ProStyleX
|
||||
* QXR
|
||||
* RARBG
|
||||
* RuTor
|
||||
* shokweb
|
||||
* ShowRSS
|
||||
* SkyTorrentsClone
|
||||
* SolidTorrents
|
||||
* sukebei.Nyaa.si
|
||||
* sukebei-Pantsu
|
||||
* The Pirate Bay
|
||||
* The Pirate Bay (TPB)
|
||||
* TNTVillage <!-- maintained by bonny1992 -->
|
||||
* Tokyo Toshokan
|
||||
* Tokyo Tosho
|
||||
* Torlock
|
||||
* TorrentCouch
|
||||
* Torrent Downloads
|
||||
* TorrentGalaxy.org
|
||||
* Torrent Downloads (TD)
|
||||
* TorrentFunk
|
||||
* TorrentGalaxy.org (TGx)
|
||||
* TorrentKitty
|
||||
* TorrentProject2
|
||||
* Torrents.csv
|
||||
* Torrent9
|
||||
* Torernt9 clone (torrents9.ch)
|
||||
* Torrentz2
|
||||
@@ -72,11 +86,14 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
|
||||
### Supported Semi-Private Trackers
|
||||
* 7tor
|
||||
* Alein
|
||||
* ArenaBG
|
||||
* CzTorrent
|
||||
* Deildu
|
||||
* Film-Paleis
|
||||
* Gay-Torrents.net
|
||||
* Gay-Torrents.org
|
||||
* GDF76
|
||||
* Kinozal
|
||||
* LostFilm.tv
|
||||
* Mega-Bliz
|
||||
@@ -84,100 +101,117 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* MVGroup Forum
|
||||
* MVGroup Main
|
||||
* Newstudio
|
||||
* NetHD
|
||||
* NoName Club
|
||||
* NetHD (VietTorrent)
|
||||
* NoName Club (NNM-Club)
|
||||
* RockBox
|
||||
* RuTracker
|
||||
* Sharewood
|
||||
* SkTorrent
|
||||
* Union Fansub
|
||||
* Xtreme Zone
|
||||
* YggTorrent
|
||||
* Vanila
|
||||
* XtreMeZone (MYXZ)
|
||||
* YggTorrent (YGG)
|
||||
* Ztracker
|
||||
|
||||
### Supported Private Trackers
|
||||
* 2 Fast 4 You
|
||||
* 3D Torrents
|
||||
* 420files
|
||||
* 3D Torrents (3DT)
|
||||
* 3evils
|
||||
* 720pier
|
||||
* Abnormal
|
||||
* Acid-Lounge
|
||||
* Acid Lounge (A-L)
|
||||
* Aftershock
|
||||
* AlphaRatio (AR)
|
||||
* AnimeBytes
|
||||
* AmigosShareClub
|
||||
* AnimeBytes (AB)
|
||||
* AnimeTorrents (AnT)
|
||||
* Anthelion
|
||||
* AOX
|
||||
* ArabaFenice
|
||||
* Arche Torrent
|
||||
* AOX (Chippu)
|
||||
* Araba Fenice (Phoenix)
|
||||
* AsianCinema
|
||||
* AsianDVDClub
|
||||
* AST4u
|
||||
* Audiobook Torrents
|
||||
* Audiobook Torrents (ABT)
|
||||
* AudioNews (AN)
|
||||
* Awesome-HD (AHD)
|
||||
* Avistaz (AsiaTorrents)
|
||||
* B2S-Share
|
||||
* Back-ups
|
||||
* BakaBT
|
||||
* bB
|
||||
* BaconBits (bB)
|
||||
* BeyondHD (BHD)
|
||||
* BIGTorrent
|
||||
* BigTower
|
||||
* Bit-City Reloaded
|
||||
* BIT-HDTV
|
||||
* Bithorlo
|
||||
* BiT-TiTAN
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen
|
||||
* BitMe
|
||||
* BitMeTV
|
||||
* BitSoup [![(invite needed)][inviteneeded]](#)
|
||||
* BitsPiracy
|
||||
* Bitspyder
|
||||
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
|
||||
* BJ-Share
|
||||
* BitTurk
|
||||
* BJ-Share (BJ)
|
||||
* BlueBird
|
||||
* Blutopia (BLU)
|
||||
* Brasil Tracker
|
||||
* BroadcastTheNet (BTN)
|
||||
* BrokenStones
|
||||
* BTGigs
|
||||
* BTGigs (TG)
|
||||
* BTNext (BTNT)
|
||||
* BTXpress (BTX)
|
||||
* Carpathians
|
||||
* CartoonChaos (CC)
|
||||
* CasaTorrent
|
||||
* CasStudioTV
|
||||
* CCFBits
|
||||
* CGPeers
|
||||
* CHDBits
|
||||
* Cinematik
|
||||
* ChannelX
|
||||
* CiNEFiLHD
|
||||
* Cinemageddon
|
||||
* Cinematik
|
||||
* CinemaZ (EuTorrents)
|
||||
* Classix
|
||||
* DanishBits
|
||||
* DataScene
|
||||
* CrnaBerza
|
||||
* DanishBits (DB)
|
||||
* Dark-Shadow
|
||||
* Das Unerwartete
|
||||
* DataScene (DS)
|
||||
* DesiReleasers
|
||||
* DesiTorrents
|
||||
* Diablo Torrent
|
||||
* DigitalCore
|
||||
* DigitalHive
|
||||
* DivTeam
|
||||
* DocumentaryTorrents (DT)
|
||||
* Downloadville
|
||||
* Dragonworld Reloaded
|
||||
* Dream Team
|
||||
* DXDHD
|
||||
* EliteHD [![(invite needed)][inviteneeded]](#)
|
||||
* Elit Tracker
|
||||
* EliteHD (HDClub) [![(invite needed)][inviteneeded]](#)
|
||||
* Elit Tracker (ET)
|
||||
* Elite-Tracker
|
||||
* Empornium (EMP)
|
||||
* eStone
|
||||
* eStone (XiDER, BeLoad)
|
||||
* Ethor.net (Thor's Land)
|
||||
* FANO.IN
|
||||
* FileList (FL)
|
||||
* Femdomcult
|
||||
* Freedom-HD
|
||||
* Freedom-HD (Freedom Paradise)
|
||||
* FreeTorrent
|
||||
* FullMixMusic
|
||||
* FunFile
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* Fuzer
|
||||
* Fuzer (FZ)
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn)
|
||||
* Gfxnews
|
||||
* GFXNews
|
||||
* GFXPeers
|
||||
* GigaTorrents
|
||||
* GimmePeers <!-- maintained by jamesb2147 -->
|
||||
* Girotottent
|
||||
* GimmePeers (formerly ILT) <!-- maintained by jamesb2147 -->
|
||||
* GiroTorrent
|
||||
* GODS
|
||||
* Greek Team
|
||||
* HacheDe
|
||||
@@ -189,66 +223,78 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* HD-Spain
|
||||
* HD-Torrents (HDT)
|
||||
* HD-Bits.com
|
||||
* HDArea (HDA)
|
||||
* HDBits
|
||||
* HDChina
|
||||
* HDCenter
|
||||
* HDChina (HDWing)
|
||||
* HDCity
|
||||
* HDHome (HDBigger)
|
||||
* HDME
|
||||
* HDplus
|
||||
* HDSky
|
||||
* HDTorrents.it
|
||||
* Hebits
|
||||
* Hon3y HD
|
||||
* HQSource
|
||||
* HQSource (HQS)
|
||||
* HuSh
|
||||
* Hyperay
|
||||
* ICE Torrent
|
||||
* I Love Classics
|
||||
* Immortalseed
|
||||
* iLoveClassics (iLC)
|
||||
* ImmortalSeed (iS)
|
||||
* inPeril
|
||||
* Insane Tracker
|
||||
* IPTorrents (IPT)
|
||||
* JPopsuki
|
||||
* Kapaki
|
||||
* Karagarga
|
||||
* Le Saloon
|
||||
* LinkoManija
|
||||
* LosslessClub
|
||||
* M-Team (TP)
|
||||
* M-Team TP (MTTP)
|
||||
* Magico (Trellas)
|
||||
* Majomparádé
|
||||
* Majomparádé (TurkDepo)
|
||||
* Manicomio Share
|
||||
* Mononoké-BT
|
||||
* MoreThanTV (MTV)
|
||||
* MyAnonamouse
|
||||
* MyAnonamouse (MAM)
|
||||
* myAmity
|
||||
* MySpleen
|
||||
* NCore
|
||||
* Nebulance (NBL)
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* New Real World
|
||||
* NordicBits (NB)
|
||||
* Norbits
|
||||
* NordicBits (NB)
|
||||
* Nostalgic (The Archive)
|
||||
* notwhat.cd
|
||||
* Orpheus
|
||||
* Ourbits
|
||||
* Ourbits (HDPter)
|
||||
* P2PBG
|
||||
* Passione Torrent <!-- maintained by bonny1992 -->
|
||||
* PassThePopcorn (PTP)
|
||||
* PirateTheNet
|
||||
* PiXELHD
|
||||
* PolishSource
|
||||
* PiratBit
|
||||
* PirateTheNet (PTN)
|
||||
* PiXELHD (PxHD)
|
||||
* Pleasuredome
|
||||
* PolishSource (PS)
|
||||
* PolishTracker
|
||||
* Pretome
|
||||
* PrivateHD (PHD)
|
||||
* ProAudioTorrents (PAT)
|
||||
* Psytorrents
|
||||
* PTFiles
|
||||
* PT99
|
||||
* PTFiles (PTF)
|
||||
* PThome
|
||||
* PuntoTorrent
|
||||
* PWTorrents (PWT)
|
||||
* Racing4Everyone (R4E)
|
||||
* RacingForMe (RFM)
|
||||
* Redacted (PassTheHeadphones)
|
||||
* Red Star Torrent
|
||||
* Redtopia (RED)
|
||||
* Red Star Torrent (RST)
|
||||
* RetroFlix
|
||||
* RevolutionTT
|
||||
* RGU
|
||||
* RoDVD
|
||||
* Romanian Metal Torrent
|
||||
* RoDVD (Cinefiles)
|
||||
* Romanian Metal Torrent (RMT)
|
||||
* SceneFZ
|
||||
* SceneHD
|
||||
* SceneReactor
|
||||
@@ -258,18 +304,21 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Secret Cinema
|
||||
* Shareisland
|
||||
* ShareSpaceDB
|
||||
* Sharingue
|
||||
* Shazbat
|
||||
* Shellife
|
||||
* Shellife (SL)
|
||||
* SpaceTorrent
|
||||
* Speed-Share
|
||||
* SpeedCD
|
||||
* SpeedTorrent Reloaded
|
||||
* SportsCult
|
||||
* SportHD
|
||||
* Superbits
|
||||
* SportsCult
|
||||
* SuperBits (SBS)
|
||||
* TakeaByte
|
||||
* Tasmanit
|
||||
* TBPlus
|
||||
* TenYardTracker
|
||||
* The Empire
|
||||
* TenYardTorrents (TYT)
|
||||
* TheEmpire (TE)
|
||||
* The Geeks
|
||||
* The Horror Charnel (THC)
|
||||
* The Occult
|
||||
@@ -277,41 +326,48 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* The Place
|
||||
* The Shinning (TsH)
|
||||
* The Show
|
||||
* The Vault
|
||||
* The-Torrents
|
||||
* Torrent Network
|
||||
* Torrent Sector Crew
|
||||
* The Vault
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent.LT
|
||||
* TorrentBD
|
||||
* TorrentBytes
|
||||
* TorrentCCF [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentDay
|
||||
* Torrentech
|
||||
* TorrentBytes (TBy)
|
||||
* TorrentCCF (TCCF) [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentDay (TD)
|
||||
* Torrentech (TTH)
|
||||
* TorrentHeaven
|
||||
* TorrentHR
|
||||
* Torrenting
|
||||
* Torrenting (TT)
|
||||
* Torrentland
|
||||
* TorrentLeech (TL)
|
||||
* TorrentSeeds (TS)
|
||||
* Torrent-Syndikat
|
||||
* TOrrent-tuRK (TORK)
|
||||
* TorViet
|
||||
* TorViet (HDVNBits)
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory
|
||||
* TranceTraffic
|
||||
* Trezzor
|
||||
* TV Chaos UK
|
||||
* TurkTorrent (TT)
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TV-Vault
|
||||
* TVstore
|
||||
* u-torrents (SceneFZ)
|
||||
* UHDBits
|
||||
* Ultimate Gamer Club
|
||||
* Ultimate Gamer Club (UGC)
|
||||
* Vizuk
|
||||
* Waffles
|
||||
* World-In-HD
|
||||
* World-of-Tomorrow
|
||||
* WorldOfP2P (WOP)
|
||||
* x-ite.me (XM)
|
||||
* xBytesV2
|
||||
* XSpeeds
|
||||
* XSpeeds (XS)
|
||||
* XKTorrent
|
||||
* XWTorrents (XWT)
|
||||
* Xthor
|
||||
* ExoticaZ (Your Exotic Torrents)
|
||||
* ExoticaZ (YourExotic)
|
||||
* Zamunda.net
|
||||
* Zelka.org
|
||||
|
||||
@@ -324,7 +380,7 @@ It will query all configured indexers and return the combined results.
|
||||
|
||||
If your client supports multiple feeds it's recommended to add each indexer directly instead of using the all indexer.
|
||||
Using the all indexer has no advantages (besides reduced management overhead), only disadvantages:
|
||||
* you loose control over indexer specific settings (categories, search modes, etc.)
|
||||
* you lose control over indexer specific settings (categories, search modes, etc.)
|
||||
* mixing search modes (IMDB, query, etc.) might cause low quality results
|
||||
* indexer specific categories (>= 100000) can't be used.
|
||||
* slow indexers will slow down the overall result
|
||||
@@ -349,7 +405,24 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
|
||||
|
||||
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
|
||||
|
||||
## Installation on Linux
|
||||
## Install on Linux (AMDx64)
|
||||
1. Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
|
||||
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
|
||||
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
## Install on Linux (ARMv7 or above)
|
||||
1. Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
|
||||
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
|
||||
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
|
||||
## Installation on Linux (ARMv6 or below)
|
||||
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
|
||||
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
|
||||
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
|
||||
@@ -358,21 +431,12 @@ Jackett can also be run from the command line if you would like to see log messa
|
||||
* Redhat/Fedora: `yum install libcurl-devel`
|
||||
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
|
||||
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
|
||||
|
||||
Detailed instructions for [Ubuntu 14.x](http://www.htpcguides.com/install-jackett-on-ubuntu-14-x-for-custom-torrents-in-sonarr/) and [Ubuntu 15.x](http://www.htpcguides.com/install-jackett-ubuntu-15-x-for-custom-torrents-in-sonarr/)
|
||||
4. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd_mono.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
|
||||
|
||||
### Install as service
|
||||
1. Install Jackett with the steps from above.
|
||||
2. Open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service.
|
||||
2. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`.
|
||||
Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
### Installation on Linux via Ansible
|
||||
|
||||
On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/jackett)
|
||||
@@ -387,7 +451,7 @@ Install [Mono 5.8](http://www.mono-project.com/download/#download-mac) or better
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
2. Open the extracted folder and double-click on `install_service_macos`.
|
||||
2. Open the extracted folder and double-click on `install_service_macos_mono`.
|
||||
3. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
The service will start on each logon. You can always stop it by running `launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist` from Terminal. You can start it again it using `launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist`.
|
||||
@@ -447,21 +511,36 @@ location /jackett {
|
||||
The logfiles (log.txt/updater.txt) are stored in `%ProgramData%\Jackett` on Windows and `~/.config/Jackett/` on Linux/macOS.
|
||||
|
||||
## Configuring OMDb
|
||||
This feature is used as a fallback to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
This feature is used as a fallback (when using the aggregate Indexer) to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
|
||||
|
||||
## Creating an issue
|
||||
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)
|
||||
* Clone Jackett
|
||||
* From the `src` directory, run `dotnet restore`
|
||||
* Open the Jackett solution in Visual Studio 2017 (version 15.9 or above)
|
||||
* Right click on the Jackett solution and click 'Rebuild Solution' to restore nuget packages
|
||||
* Select Jackett.Server as startup project
|
||||
* In the drop down menu of the run button select "Jackett.Server" instead of "IIS Express"
|
||||
|
14
appveyor.yml
14
appveyor.yml
@@ -1,6 +1,10 @@
|
||||
version: 0.10.{build}
|
||||
version: 0.11.{build}
|
||||
skip_tags: true
|
||||
image: Visual Studio 2017
|
||||
image:
|
||||
- Ubuntu
|
||||
- Visual Studio 2017
|
||||
environment:
|
||||
APPVEYOR_YML_DISABLE_PS_LINUX: true
|
||||
configuration: Release
|
||||
assembly_info:
|
||||
patch: true
|
||||
@@ -17,18 +21,20 @@ dotnet_csproj:
|
||||
file_version: '{version}'
|
||||
informational_version: '{version}'
|
||||
build_script:
|
||||
- ps: .\build.ps1
|
||||
- ps: .\build.ps1 --target=Windows-Appveyor
|
||||
- sh: ./build.sh --target=Linux
|
||||
test: off
|
||||
before_deploy:
|
||||
- ps: ${env:release_description} = ( Get-Content -LiteralPath BuildOutput/ReleaseNotes.txt -Encoding UTF8 ) -join "`n";
|
||||
deploy:
|
||||
- provider: GitHub
|
||||
tag: v$(appveyor_build_version)
|
||||
tag: v$(APPVEYOR_BUILD_VERSION)
|
||||
description: $(release_description)
|
||||
auth_token:
|
||||
secure: hOg+16YTIbq4kO9u4D1YVOTbWDqgCX6mAQYMbnmBBSw2CiUsZh7OKbupoUb3FtWa
|
||||
artifact: /^(?:(?![Ee]xperimental).)*$/
|
||||
draft: true
|
||||
force_update: true
|
||||
on:
|
||||
branch: master
|
||||
notifications:
|
||||
|
282
build.cake
282
build.cake
@@ -14,8 +14,11 @@ var configuration = Argument("configuration", "Debug");
|
||||
|
||||
// Define directories.
|
||||
var workingDir = MakeAbsolute(Directory("./"));
|
||||
var artifactsDirName = "Artifacts";
|
||||
var testResultsDirName = "TestResults";
|
||||
string artifactsDirName = "Artifacts";
|
||||
string testResultsDirName = "TestResults";
|
||||
string netCoreFramework = "netcoreapp2.2";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string updaterProjectPath = "./src/Jackett.Updater/Jackett.Updater.csproj";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// TASKS
|
||||
@@ -25,8 +28,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 +51,8 @@ Task("Clean")
|
||||
CleanDirectories("./" + artifactsDirName);
|
||||
CleanDirectories("./" + testResultsDirName);
|
||||
|
||||
CreateDirectory("./" + artifactsDirName);
|
||||
|
||||
Information("Clean completed");
|
||||
});
|
||||
|
||||
@@ -67,41 +81,25 @@ 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 +117,19 @@ 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_mono", buildOutputPath);
|
||||
CopyFileToDirectory("./install_service_systemd_mono.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
|
||||
//There is an issue with Mono 5.8 (fixed in Mono 5.12) where its expecting to use its own patched version of System.Net.Http.dll, instead of the version supplied in folder
|
||||
//https://github.com/dotnet/corefx/issues/19914
|
||||
//https://bugzilla.xamarin.com/show_bug.cgi?id=60315
|
||||
@@ -145,37 +146,87 @@ 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");
|
||||
});
|
||||
|
||||
Task("Experimental-DotNetCore")
|
||||
.IsDependentOn("Check-Packaging-Platform")
|
||||
.Does(() =>
|
||||
{
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, "netcoreapp2.2", "win-x86");
|
||||
DotNetCorePublish(serverProjectPath, "netcoreapp2.2", "osx-x64");
|
||||
DotNetCorePublish(serverProjectPath, "netcoreapp2.2", "linux-x64");
|
||||
DotNetCorePublish(serverProjectPath, "netcoreapp2.2", "linux-arm");
|
||||
|
||||
Zip("./BuildOutput/Experimental/netcoreapp2.2/win-x86", $"./{artifactsDirName}/Experimental.netcoreapp.win-x86.zip");
|
||||
Zip("./BuildOutput/Experimental/netcoreapp2.2/osx-x64", $"./{artifactsDirName}/Experimental.netcoreapp.osx-x64.zip");
|
||||
Gzip("./BuildOutput/Experimental/netcoreapp2.2/linux-x64", $"./{artifactsDirName}", "Jackett", "Experimental.netcoreapp.linux-x64.tar.gz");
|
||||
Gzip("./BuildOutput/Experimental/netcoreapp2.2/linux-arm", $"./{artifactsDirName}", "Jackett", "Experimental.netcoreapp.linux-arm.tar.gz");
|
||||
Gzip("./BuildOutput/net461/linux-x64", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.Mono.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Experimental-DotNetCore")
|
||||
Task("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Packaging completed");
|
||||
string runtimeId = "osx-x64";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_macos", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.macOS.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-x64";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxAMDx64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM32.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm64";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Package")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
if (AppVeyor.IsRunningOnAppVeyor)
|
||||
@@ -187,12 +238,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);
|
||||
@@ -230,7 +281,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
|
||||
{
|
||||
@@ -239,6 +290,42 @@ Task("Release-Notes")
|
||||
|
||||
});
|
||||
|
||||
Task("Windows-Environment-Dev")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows-Environment Task Completed");
|
||||
});
|
||||
|
||||
Task("Windows-Environment-Appveyor")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows-Environment Task Completed");
|
||||
});
|
||||
|
||||
Task("Linux-Environment")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
.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)
|
||||
{
|
||||
@@ -285,29 +372,66 @@ 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("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/JackettUpdater");
|
||||
|
||||
string systemdScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_systemd.sh";
|
||||
if (FileExists(systemdScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {systemdScript}");
|
||||
}
|
||||
|
||||
string macOsServiceScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_macos";
|
||||
if (FileExists(macOsServiceScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {macOsServiceScript}");
|
||||
}
|
||||
|
||||
RunLinuxCommand("tar", $"-C {sourceFolder} -zcvf {outputDirectory}/{tarFileName}.gz {tarCdirectoryOption}");
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
@@ -315,12 +439,26 @@ private void DotNetCorePublish(string projectPath, string framework, string runt
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Default")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.IsDependentOn("Windows-Environment-Dev")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Default Task Completed");
|
||||
});
|
||||
|
||||
Task("Windows-Appveyor")
|
||||
.IsDependentOn("Windows-Environment-Appveyor")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows Appveyor Task Completed");
|
||||
});
|
||||
|
||||
Task("Linux")
|
||||
.IsDependentOn("Linux-Environment")
|
||||
.Does(() =>
|
||||
{
|
||||
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[@]}"
|
@@ -12,16 +12,12 @@ launchctl remove org.user.Jackett
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
if [ ! -f ./jackett ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate ./jackett - Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
@@ -38,7 +34,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
|
||||
<string>/usr/bin:/bin:/usr/sbin:/sbin</string>
|
||||
</dict>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
@@ -46,9 +42,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
|
||||
<string>org.user.Jackett</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>${monodir}/mono</string>
|
||||
<string>--debug</string>
|
||||
<string>JackettConsole.exe</string>
|
||||
<string>${jackettdir}/jackett</string>
|
||||
<string>--NoRestart</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
@@ -70,7 +64,6 @@ else
|
||||
cat << EOL
|
||||
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
|
||||
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
|
||||
Mono directory: \`${monodir}\`
|
||||
Jackett directory: \`${jackettdir}\`
|
||||
|
||||
EOL
|
||||
|
77
install_service_macos_mono
Executable file
77
install_service_macos_mono
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
#Setting up colors
|
||||
BOLDRED="$(printf '\033[1;31m')"
|
||||
BOLDGREEN="$(printf '\033[1;32m')"
|
||||
NC="$(printf '\033[0m')" # No Color
|
||||
|
||||
# Stop and unload the service if it's running
|
||||
launchctl remove org.user.Jackett
|
||||
|
||||
# Move working directory to Jackett's
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Write the plist to LaunchAgents
|
||||
mkdir -p ~/Library/LaunchAgents/
|
||||
cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>EnvironmentVariables</key>
|
||||
<dict>
|
||||
<key>PATH</key>
|
||||
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
|
||||
</dict>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>Label</key>
|
||||
<string>org.user.Jackett</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>${monodir}/mono</string>
|
||||
<string>--debug</string>
|
||||
<string>JackettConsole.exe</string>
|
||||
<string>--NoRestart</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>WorkingDirectory</key>
|
||||
<string>${jackettdir}</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
EOL
|
||||
|
||||
# Run the agent
|
||||
launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist
|
||||
|
||||
# Check that it's running
|
||||
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
|
||||
echo "${BOLDGREEN}Agent successfully installed and launched!${NC}"
|
||||
else
|
||||
cat << EOL
|
||||
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
|
||||
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
|
||||
Mono directory: \`${monodir}\`
|
||||
Jackett directory: \`${jackettdir}\`
|
||||
|
||||
EOL
|
||||
fi
|
@@ -13,23 +13,19 @@ systemctl stop ${jackettservice}
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
if [ ! -f ./jackett ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate jackett. Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if Jackett's owner is root
|
||||
jackettuser="$(stat -c "%U" ./JackettConsole.exe)"
|
||||
jackettuser="$(stat -c "%U" ./jackett)"
|
||||
if [ "${jackettuser}" == "root" ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett shouldn't run as root. Please, change the owner of the Jackett directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
@@ -50,7 +46,7 @@ Type=simple
|
||||
User=${jackettuser}
|
||||
Group=${jackettuser}
|
||||
WorkingDirectory=${jackettdir}
|
||||
ExecStart=${monodir}/mono --debug ${jackettdir}/JackettConsole.exe --NoRestart
|
||||
ExecStart=${jackettdir}/jackett --NoRestart
|
||||
TimeoutStopSec=20
|
||||
|
||||
[Install]
|
||||
|
82
install_service_systemd_mono.sh
Executable file
82
install_service_systemd_mono.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
|
@@ -6,7 +6,7 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://1337x.to
|
||||
- https://1337x.to/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -119,11 +119,11 @@
|
||||
search:
|
||||
paths:
|
||||
# present trending results if there are no search parms supplied
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/1/{{else}}/trending{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/2/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/3/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/4/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/5/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/1/{{else}}trending{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/2/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/3/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/4/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/5/{{else}}{{end}}"
|
||||
keywordsfilters:
|
||||
- name: replace # use this as a workaround till #893 is implemented
|
||||
args: ["Greys Anatomy", "Grey's Anatomy"]
|
||||
|
@@ -15,11 +15,9 @@
|
||||
- {id: 10, cat: TV/Anime, desc: "Animation: HD720P"}
|
||||
- {id: 11, cat: TV/Anime, desc: "Animation: HD1080P"}
|
||||
- {id: 56, cat: TV/Anime, desc: "Animation: DVDRip"}
|
||||
- {id: 13, cat: TV/Anime, desc: "Animation: DVD"}
|
||||
- {id: 18, cat: PC/0day, desc: "Applications: PC"}
|
||||
- {id: 16, cat: PC/Games, desc: "Applications: Jeux"}
|
||||
- {id: 19, cat: PC/Phone-Android, desc: "Applications: Android"}
|
||||
- {id: 38, cat: PC/Phone-IOS, desc: "Applications: Mobile Phone"}
|
||||
- {id: 17, cat: PC/0day, desc: "Applications: Autres"}
|
||||
- {id: 67, cat: TV, desc: "Autres: Emission TV"}
|
||||
- {id: 68, cat: TV/Sport, desc: "Autres: Sport"}
|
||||
@@ -34,6 +32,7 @@
|
||||
- {id: 53, cat: Books, desc: "E-Books: Livre Anglais"}
|
||||
- {id: 52, cat: Books, desc: "E-Books: Revue - Journaux"}
|
||||
- {id: 51, cat: Books, desc: "E-Books: BD"}
|
||||
- {id: 95, cat: Movies, desc: "Films: Film Divx XviD"}
|
||||
- {id: 66, cat: Movies, desc: "Films: VOSTFR"}
|
||||
- {id: 71, cat: Movies/WEBDL, desc: "Films: WEB-DL"}
|
||||
- {id: 65, cat: Movies, desc: "Films: VO"}
|
||||
@@ -49,19 +48,13 @@
|
||||
- {id: 92, cat: Movies/HD, desc: "Films: 4K"}
|
||||
- {id: 69, cat: Movies/3D, desc: "Films: Film 3D"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "Films: DVDRIP"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "Films: DVD5"}
|
||||
- {id: 5, cat: Movies/DVD, desc: "Films: DVD9"}
|
||||
- {id: 91, cat: Movies/HD, desc: "Films: RemuX"}
|
||||
- {id: 89, cat: Movies/HD, desc: "Films: BD/BR Rip"}
|
||||
- {id: 88, cat: Movies/BluRay, desc: "Films: Full BD/BR"}
|
||||
- {id: 77, cat: Other, desc: "GPS: Cartes"}
|
||||
- {id: 78, cat: Other, desc: "GPS: Radars"}
|
||||
- {id: 97, cat: Movies, desc: "Films: Cours Métrage"}
|
||||
- {id: 79, cat: TV/Anime, desc: "Mangas: HD"}
|
||||
- {id: 80, cat: TV/Anime, desc: "Mangas: HD VO"}
|
||||
- {id: 81, cat: TV/Anime, desc: "Mangas: HD VOSTFR"}
|
||||
- {id: 82, cat: TV/Anime, desc: "Mangas: DVDRIP"}
|
||||
- {id: 83, cat: TV/Anime, desc: "Mangas: DVDRIP VO"}
|
||||
- {id: 84, cat: TV/Anime, desc: "Mangas: DVDRIP VOSTFR"}
|
||||
- {id: 85, cat: TV/Anime, desc: "Mangas: Web-DL"}
|
||||
- {id: 86, cat: TV/Anime, desc: "Mangas: TV-RIP"}
|
||||
- {id: 75, cat: Audio, desc: "Musique: Concert TVRip"}
|
||||
@@ -70,6 +63,7 @@
|
||||
- {id: 22, cat: Audio/MP3, desc: "Musique: Album MP3"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Musique: Album Flac"}
|
||||
- {id: 64, cat: Audio, desc: "Musique: Mégamix Maison"}
|
||||
- {id: 96, cat: Audio/MP3, desc: "Musique: PlayList MP3"}
|
||||
- {id: 94, cat: Audio, desc: "Musique: Podcast"}
|
||||
- {id: 58, cat: Audio, desc: "Musique: Concert"}
|
||||
- {id: 93, cat: TV, desc: "Serie TV: Saison VOSTFR"}
|
||||
@@ -80,6 +74,7 @@
|
||||
- {id: 73, cat: TV/WEB-DL, desc: "Serie TV: WEB-DL"}
|
||||
- {id: 7, cat: TV, desc: "Serie TV: Episode FR"}
|
||||
- {id: 6, cat: TV, desc: "Serie TV: Saison FR"}
|
||||
- {id: 98, cat: TV/Anime, desc: "Serie TV: Manga VOSTFR"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: 3dtorrents
|
||||
name: 3D Torrents
|
||||
description: "3D Movie tracker"
|
||||
description: "3D Torrents (3DT) is a Private Torrent Tracker for 3D HD / BLURAY MOVIES"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
142
src/Jackett.Common/Definitions/3evils.yml
Normal file
142
src/Jackett.Common/Definitions/3evils.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
site: 3evils
|
||||
name: 3evils
|
||||
description: "3evils is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.3evils.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 65, cat: Books, desc: "Books"}
|
||||
- {id: 27, cat: Console/NDS, desc: "Games/Nintendo-DS"}
|
||||
- {id: 28, cat: Console/Other, desc: "Games/Switch"}
|
||||
- {id: 42, cat: PC/Phone-Android, desc: "Mobile/Android"}
|
||||
- {id: 44, cat: Movies/UHD, desc: "Movies/4K"}
|
||||
- {id: 13, cat: Movies/BluRay, desc: "Movies/Bluray"}
|
||||
- {id: 12, cat: Movies/DVD, desc: "Movies/DVD-R"}
|
||||
- {id: 14, cat: Movies, desc: "Movies/Packs"}
|
||||
- {id: 67, cat: Movies/HD, desc: "Movies/x264"}
|
||||
- {id: 55, cat: Movies/HD, desc: "Movies/X265"}
|
||||
- {id: 45, cat: Movies, desc: "Movies/Remux"}
|
||||
- {id: 62, cat: Audio, desc: "Music/Audio"}
|
||||
- {id: 32, cat: Audio, desc: "Music/Packs"}
|
||||
- {id: 6, cat: TV, desc: "TV/Packs"}
|
||||
- {id: 3, cat: TV/HD, desc: "TV/x264"}
|
||||
- {id: 4, cat: TV/HD, desc: "TV/x265"}
|
||||
- {id: 8, cat: TV/SD, desc: "TV/Xvid"}
|
||||
- {id: 63, cat: PC/0day, desc: "Windows/Applications"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
returnto: "/browse.php"
|
||||
error:
|
||||
- selector: h2:contains("Login failed!")
|
||||
message:
|
||||
selector: table tr td.colhead2
|
||||
test:
|
||||
path: /
|
||||
selector: :has(a[href$="/logout.php?hash_please="])
|
||||
|
||||
search:
|
||||
paths:
|
||||
# ttps://www.3evils.com/browse.php?search=black+lightning+s02e11&searchin=title&incldead=1
|
||||
# https://www.3evils.com/browse.php?c3=1&c4=1&search=&searchin=title&incldead=0
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{.Keywords}}"
|
||||
searchin: "title"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table.table-bordered tr:has(a[href^="browse.php?cat="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="] b
|
||||
title:
|
||||
# if this is available it is the full length title, as the one above can be abbreviated with ...
|
||||
optional: true
|
||||
selector: a[href^="details.php?id="][onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Tip\\('<b>(.*?)</b>"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
banner:
|
||||
selector: a[href^="details.php?id="][onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
# onmouseover="Tip('<b>blahblah /><img src=\'/imdb/images/0090293.jpg\' blahblah />');"
|
||||
- name: regexp
|
||||
args: "/imdb/(.*?).jpg"
|
||||
- name: prepend
|
||||
args: "/imdb/"
|
||||
- name: append
|
||||
args: ".jpg"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
files:
|
||||
selector: a[href^="filelist.php?id="]
|
||||
grabs:
|
||||
selector: a[href^="snatches.php?id="]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Today<br /> 10:20 AM
|
||||
# Yesterday<br /> 08:03 PM
|
||||
optional: true
|
||||
selector: td:nth-last-child(5):contains("day")
|
||||
date:
|
||||
# Feb 14 2019<br /> 10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-last-child(5):not(:contains("day"))
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 pm"
|
||||
seeders:
|
||||
text: "0"
|
||||
seeders:
|
||||
optional: true
|
||||
selector: a[href$="#seeders"]
|
||||
leechers:
|
||||
text: "0"
|
||||
leechers:
|
||||
optional: true
|
||||
selector: a[href$="#leechers"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"b:contains(\"[FREE]\")": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
124
src/Jackett.Common/Definitions/DasUnerwartete.yml
Normal file
124
src/Jackett.Common/Definitions/DasUnerwartete.yml
Normal file
@@ -0,0 +1,124 @@
|
||||
---
|
||||
site: Das-Unerwartete
|
||||
name: Das Unerwartete
|
||||
description: "Das Unerwartete is a Private GERMAN tracker"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dasunerwartete.nl
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
- {id: 112, cat: Audio/Audiobook, desc: "Hoerbuecher/Hoerspiele"}
|
||||
- {id: 51, cat: Audio, desc: "Musik"}
|
||||
- {id: 124, cat: Audio/Video, desc: "Musikvideo"}
|
||||
- {id: 103, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 88, cat: Movies, desc: "Kids Only"}
|
||||
- {id: 43, cat: Movies, desc: "Movie Packs"}
|
||||
- {id: 105, cat: Movies/HD, desc: "Movie/1080 P"}
|
||||
- {id: 107, cat: Movies/HD, desc: "Movie/3D"}
|
||||
- {id: 102, cat: Movies/HD, desc: "Movie/720 P"}
|
||||
- {id: 101, cat: Movies/BluRay, desc: "Movie/Blueray - HD"}
|
||||
- {id: 108, cat: Movies, desc: "Movie/Bollywood"}
|
||||
- {id: 93, cat: TV/Documentary, desc: "Movie/Dokus"}
|
||||
- {id: 125, cat: Movies/Foreign, desc: "Movie/International"}
|
||||
- {id: 91, cat: Movies/SD, desc: "Movie/SD"}
|
||||
- {id: 114, cat: Movies, desc: "Movie/TV-Rip"}
|
||||
- {id: 132, cat: Movies/HD, desc: "Movie/UHD"}
|
||||
- {id: 110, cat: Movies/HD, desc: "x264"}
|
||||
- {id: 106, cat: Console/PS3, desc: "Games/PS3"}
|
||||
- {id: 109, cat: Console/PSP, desc: "Games/PSP"}
|
||||
- {id: 113, cat: Console/Wii, desc: "Games/Wii"}
|
||||
- {id: 86, cat: PC/Games, desc: "Games/Windows"}
|
||||
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
|
||||
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
|
||||
- {id: 116, cat: PC/Games, desc: "Linux/Spiele"}
|
||||
- {id: 53, cat: PC/Phone-Android, desc: "Android/Appz/Games/Navi"}
|
||||
- {id: 126, cat: PC, desc: "Win/Mac/linux"}
|
||||
- {id: 129, cat: TV/HD, desc: "Serien/Folgen HD"}
|
||||
- {id: 61, cat: TV/SD, desc: "Serien/Folgen SD"}
|
||||
- {id: 131, cat: TV/HD, desc: "Serien/Staffeln HD"}
|
||||
- {id: 130, cat: TV/SD, desc: "Serien/Staffeln SD"}
|
||||
- {id: 94, cat: Books/Ebook, desc: "Ebooks"}
|
||||
- {id: 96, cat: TV/Anime, desc: "Anime / Hentai"}
|
||||
- {id: 9, cat: Other/Misc, desc: "Sonstiges"}
|
||||
- {id: 115, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 69, cat: XXX, desc: "XXX"}
|
||||
- {id: 122, cat: Books/Magazines, desc: "Zeitschriften/Zeitungen"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: .tablea:contains("Benutzername oder Passwort ungültig")
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
|
||||
rows:
|
||||
selector: table.tableinborder > tbody > tr:has(a[href^="download.php"])
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".torrent", ""]
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(2)
|
||||
grabs:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(3) b
|
||||
size:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(1)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(1) font
|
||||
leechers:
|
||||
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(3) font
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/oupic.gif"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
55
src/Jackett.Common/Definitions/acgrip.yml
Normal file
55
src/Jackett.Common/Definitions/acgrip.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
site: acgrip
|
||||
name: ACG.RIP
|
||||
description: "ACG.RIP is a CHINESE Public torrent tracker for the latest anime and Japanese related torrents"
|
||||
language: zh-cn
|
||||
type: public
|
||||
followredirect: true
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://acg.rip/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: TV
|
||||
modes:
|
||||
tv-search: [q, season, ep]
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
term: "{{ .Query.Keywords }}"
|
||||
rows:
|
||||
selector: tbody tr
|
||||
fields:
|
||||
title:
|
||||
selector: td.title > span.title a
|
||||
category:
|
||||
text: 1
|
||||
details:
|
||||
selector: td.title > span.title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td.action a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.size
|
||||
seeders:
|
||||
selector: td.peers div.seed
|
||||
leechers:
|
||||
selector: td.peers div.leech
|
||||
grabs:
|
||||
selector: td.peers div.done
|
||||
date:
|
||||
selector: td.date time
|
||||
attribute: datetime
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
142
src/Jackett.Common/Definitions/aftershock.yml
Normal file
142
src/Jackett.Common/Definitions/aftershock.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
site: aftershock
|
||||
name: Aftershock
|
||||
description: "Aftershock is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: hu-hu
|
||||
type: private
|
||||
encoding: iso-8859-1
|
||||
links:
|
||||
- https://aftershock-tracker.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 7, cat: Movies/SD, desc: "XvidEng"}
|
||||
- {id: 2, cat: Movies, desc: "AfterShock Release"}
|
||||
- {id: 190, cat: Movies/DVD, desc: "DVD-9Eng"}
|
||||
- {id: 191, cat: Movies/DVD, desc: "DVD-9Hun"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "DVDEng"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "DVDHun"}
|
||||
- {id: 23, cat: Books/Ebook, desc: "E-Book"}
|
||||
- {id: 3, cat: Movies, desc: "Film Pack"}
|
||||
- {id: 185, cat: Audio/Lossless, desc: "FLACeng"}
|
||||
- {id: 188, cat: Audio/Lossless, desc: "FLAChu"}
|
||||
- {id: 173, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 34, cat: Movies/HD, desc: "HDEng"}
|
||||
- {id: 33, cat: Movies/HD, desc: "HDHun"}
|
||||
- {id: 182, cat: XXX/x264, desc: "HDXXX"}
|
||||
- {id: 12, cat: PC/Games, desc: "JátékIso"}
|
||||
- {id: 130, cat: Console, desc: "JátékKonzol"}
|
||||
- {id: 38, cat: Console/PSP, desc: "JátékPS2"}
|
||||
- {id: 44, cat: Console, desc: "Jatekrip"}
|
||||
- {id: 131, cat: Console/Xbox, desc: "JátékX-box"}
|
||||
- {id: 140, cat: Other, desc: "Képek"}
|
||||
- {id: 141, cat: Other, desc: "Klipek"}
|
||||
- {id: 154, cat: Other, desc: "MeseEng"}
|
||||
- {id: 155, cat: Other, desc: "MeseHun"}
|
||||
- {id: 176, cat: Other, desc: "Mikro HDEng"}
|
||||
- {id: 174, cat: Other, desc: "Mikro HDHun"}
|
||||
- {id: 37, cat: PC/Phone-Other, desc: "MobilPDA"}
|
||||
- {id: 35, cat: PC, desc: "ProgramEgyéb"}
|
||||
- {id: 170, cat: PC/ISO, desc: "ProgramIso"}
|
||||
- {id: 24, cat: TV, desc: "Sorozat Eng"}
|
||||
- {id: 25, cat: TV, desc: "Sorozat Hun"}
|
||||
- {id: 167, cat: Movies/SD, desc: "Xvid CamEng"}
|
||||
- {id: 166, cat: Movies/SD, desc: "Xvid CamHun"}
|
||||
- {id: 9, cat: Movies/SD, desc: "XvidHun"}
|
||||
- {id: 169, cat: XXX/Imageset, desc: "XXX Képek"}
|
||||
- {id: 39, cat: XXX, desc: "XXXFilm"}
|
||||
- {id: 28, cat: Audio, desc: "ZeneEng"}
|
||||
- {id: 29, cat: Audio, desc: "ZeneHun"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.text:contains("Hiba")
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout.php"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: p.sajatadatok font
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table tbody#torrent_background tr:has(a.index)
|
||||
fields:
|
||||
title:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: name
|
||||
- name: urldecode
|
||||
category:
|
||||
selector: td a[href^="/browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: urldecode
|
||||
banner:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width="
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="https://www.imdb.com/title"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-last-child(6)
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
date:
|
||||
selector: td font
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\s", " "]
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icon_gift: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon_upload: "2"
|
||||
"*": "1"
|
126
src/Jackett.Common/Definitions/alein.yml
Normal file
126
src/Jackett.Common/Definitions/alein.yml
Normal file
@@ -0,0 +1,126 @@
|
||||
---
|
||||
site: alein
|
||||
name: Alein
|
||||
description: "Alein is a BULGARIAN Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: bg
|
||||
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"])
|
||||
|
||||
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:not(:has(td.lista-cat-rec))
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href*="id="]
|
||||
details:
|
||||
selector: td a[href*="id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href*="category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
selector: td a[href*="id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: id
|
||||
- name: prepend
|
||||
args: "download.php?id="
|
||||
- name: append
|
||||
args: "&f={{.Result.title}}.torrent"
|
||||
banner:
|
||||
selector: td a[href*="id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width="
|
||||
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"
|
295
src/Jackett.Common/Definitions/amigosshare.yml
Normal file
295
src/Jackett.Common/Definitions/amigosshare.yml
Normal file
@@ -0,0 +1,295 @@
|
||||
---
|
||||
site: amigosshare
|
||||
name: Amigos Share Club
|
||||
description: "Amigos Share Club is a Brazilian Private site for TV / MOVIES / GENERAL"
|
||||
language: pt-br
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://amigos-share.club/
|
||||
legacylinks:
|
||||
- http://amigos-share.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
|
||||
- {id: 108, cat: XXX, desc: "Adultos: Transex/Female"}
|
||||
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
|
||||
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
|
||||
- {id: 21, cat: PC/0day, desc: "Aplicativos: Windows"}
|
||||
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
|
||||
- {id: 23, cat: PC/Phone-Android, desc: "Aplicativos: Android"}
|
||||
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
|
||||
- {id: 26, cat: PC/Phone-IOS, desc: "Aplicativos: iPhone"}
|
||||
- {id: 27, cat: PC/Phone-IOS, desc: "Aplicativos: iPad"}
|
||||
- {id: 28, cat: PC/Phone-IOS, desc: "Aplicativos: iPod"}
|
||||
- {id: 71, cat: Books, desc: "Apostila: Cursos"}
|
||||
- {id: 72, cat: Books, desc: "Apostila: Apostila"}
|
||||
- {id: 67, cat: Books, desc: "Ebook: Livros"}
|
||||
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
|
||||
- {id: 85, cat: Movies, desc: "Filmes: Guerra"}
|
||||
- {id: 81, cat: Movies, desc: "Filmes: Musical"}
|
||||
- {id: 17, cat: Movies, desc: "Filmes: Biografia"}
|
||||
- {id: 16, cat: Movies, desc: "Filmes: Esportes"}
|
||||
- {id: 15, cat: Movies, desc: "Filmes: Ficção"}
|
||||
- {id: 14, cat: Movies, desc: "Filmes: Infantil"}
|
||||
- {id: 13, cat: Movies, desc: "Filmes: Nacionais"}
|
||||
- {id: 12, cat: Movies, desc: "Filmes: Policial"}
|
||||
- {id: 11, cat: Movies, desc: "Filmes: Religioso"}
|
||||
- {id: 10, cat: Movies, desc: "Filmes: Suspense"}
|
||||
- {id: 9, cat: Movies, desc: "Filmes: Western"}
|
||||
- {id: 8, cat: Movies, desc: "Filmes: Animação"}
|
||||
- {id: 7, cat: Movies, desc: "Filmes: Clássicos"}
|
||||
- {id: 6, cat: Movies, desc: "Filmes: Comédia"}
|
||||
- {id: 5, cat: Movies, desc: "Filmes: Documentário"}
|
||||
- {id: 4, cat: Movies, desc: "Filmes: Drama"}
|
||||
- {id: 3, cat: Movies, desc: "Filmes: Romance"}
|
||||
- {id: 2, cat: Movies, desc: "Filmes: Terror"}
|
||||
- {id: 1, cat: Movies, desc: "Filmes: Ação"}
|
||||
- {id: 80, cat: Movies, desc: "Filmes: Aventura"}
|
||||
- {id: 70, cat: Other, desc: "Fotos: XXX"}
|
||||
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
|
||||
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
|
||||
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Jogos: Mac"}
|
||||
- {id: 49, cat: Console, desc: "Jogos: Ps1"}
|
||||
- {id: 50, cat: Console, desc: "Jogos: Ps2"}
|
||||
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
|
||||
- {id: 52, cat: Console, desc: "Jogos: Dreamcast"}
|
||||
- {id: 54, cat: Console/Xbox 360, desc: "Jogos: X360"}
|
||||
- {id: 56, cat: Console/Xbox, desc: "Jogos: Xbox"}
|
||||
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
|
||||
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
|
||||
- {id: 111, cat: Console, desc: "Jogos: Nintendo Swich"}
|
||||
- {id: 110, cat: Console, desc: "Jogos: Nintendo Switch"}
|
||||
- {id: 57, cat: Console, desc: "Jogos: Android"}
|
||||
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
|
||||
- {id: 78, cat: Console/Xbox One, desc: "Jogos: Xbox One"}
|
||||
- {id: 29, cat: Audio, desc: "Musica: Axé"}
|
||||
- {id: 30, cat: Audio, desc: "Musica: Eletronica"}
|
||||
- {id: 31, cat: Audio, desc: "Musica: Funk"}
|
||||
- {id: 32, cat: Audio, desc: "Musica: Pagode"}
|
||||
- {id: 33, cat: Audio, desc: "Musica: Hip-Hop"}
|
||||
- {id: 34, cat: Audio, desc: "Musica: Rap"}
|
||||
- {id: 36, cat: Audio, desc: "Musica: Rock"}
|
||||
- {id: 37, cat: Audio, desc: "Musica: Hard Rock"}
|
||||
- {id: 38, cat: Audio, desc: "Musica: Blues"}
|
||||
- {id: 39, cat: Audio, desc: "Musica: Dance"}
|
||||
- {id: 40, cat: Audio, desc: "Musica: Dicografia"}
|
||||
- {id: 41, cat: Audio, desc: "Musica: Erudita"}
|
||||
- {id: 42, cat: Audio, desc: "Musica: Forró"}
|
||||
- {id: 43, cat: Audio, desc: "Musica: Dubstep"}
|
||||
- {id: 46, cat: Audio, desc: "Musica: Sertanejo"}
|
||||
- {id: 45, cat: Audio, desc: "Musica: Samba"}
|
||||
- {id: 77, cat: Audio, desc: "Musica: Outros"}
|
||||
- {id: 76, cat: Audio, desc: "Musica: Reggae"}
|
||||
- {id: 83, cat: Audio, desc: "Musica: Gospel"}
|
||||
- {id: 84, cat: Audio, desc: "Musica: Game (OST)"}
|
||||
- {id: 88, cat: TV, desc: "Series: Musical"}
|
||||
- {id: 86, cat: TV, desc: "Series: Guerra"}
|
||||
- {id: 105, cat: TV, desc: "Series: Biografia"}
|
||||
- {id: 99, cat: TV/Sport, desc: "Series: Esportes"}
|
||||
- {id: 103, cat: TV, desc: "Series: Ficção"}
|
||||
- {id: 102, cat: TV, desc: "Series: Infantil"}
|
||||
- {id: 89, cat: TV, desc: "Series: Nacionais"}
|
||||
- {id: 100, cat: TV, desc: "Series: Policial"}
|
||||
- {id: 98, cat: TV, desc: "Series: Religioso"}
|
||||
- {id: 90, cat: TV, desc: "Series: Suspense"}
|
||||
- {id: 91, cat: TV, desc: "Series: Western"}
|
||||
- {id: 92, cat: TV, desc: "Series: Animação"}
|
||||
- {id: 93, cat: TV, desc: "Series: Clássicos"}
|
||||
- {id: 94, cat: TV, desc: "Series: Comédia"}
|
||||
- {id: 95, cat: TV/Documentary, desc: "Series: Documentário"}
|
||||
- {id: 96, cat: TV, desc: "Series: Drama"}
|
||||
- {id: 97, cat: TV, desc: "Series: Romance"}
|
||||
- {id: 101, cat: TV, desc: "Series: Terror"}
|
||||
- {id: 104, cat: TV, desc: "Series: Ação"}
|
||||
- {id: 24, cat: TV, desc: "Series: Cartoon"}
|
||||
- {id: 19, cat: TV/HD, desc: "Series: HD"}
|
||||
- {id: 20, cat: TV, desc: "Series: Seriados"}
|
||||
- {id: 87, cat: TV, desc: "Series: Aventura"}
|
||||
- {id: 65, cat: TV, desc: "Shows: Show"}
|
||||
- {id: 63, cat: TV, desc: "Tv: Aberta"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Tv: Esportes"}
|
||||
- {id: 64, cat: TV, desc: "Tv: Fechada"}
|
||||
- {id: 73, cat: TV, desc: "Video Aula: Video Aula"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: "yes"
|
||||
error:
|
||||
- selector: div.alert-error
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: index.php
|
||||
selector: li:contains("Ratio:") a b
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://amigos-share.club/torrents-search.php?search=&c1=1&c19=1&c36=1&incldead=0&freeleech=0&lang=0sort=id&order=desc&page=1
|
||||
- path: torrents-search.php
|
||||
# site displays just 21 results, no profile options found to change this, so we attempt to fetch 5 pages
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 1
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 2
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 3
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 4
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 0
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
sort: "id"
|
||||
order: "desc"
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr:has(a[href^="torrents-details.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td:first-child img
|
||||
attribute: src
|
||||
case:
|
||||
# unfortunately the site does not have category numbers on the results page, just a .png which can apply to both movies and tv.
|
||||
# therefore I've order the list to favour movies,
|
||||
# also, not all .png have been verified as the site has many empty categories. their image names have been extrapolated from the cat desc.
|
||||
"[src$=\"/XXXZ.png\"]": "74"
|
||||
"[src$=\"/Hentai.png\"]": "75"
|
||||
"[src$=\"/Anime.png\"]": "69"
|
||||
"[src$=\"/Windows.png\"]": "21"
|
||||
"[src$=\"/Mac.png\"]": "22"
|
||||
"[src$=\"/Android.png\"]": "23"
|
||||
"[src$=\"/Linux.png\"]": "25"
|
||||
"[src$=\"/iPhone.png\"]": "26"
|
||||
"[src$=\"/iPad.png\"]": "27"
|
||||
"[src$=\"/iPod.png\"]": "28"
|
||||
"[src$=\"/Cursos.png\"]": "71"
|
||||
"[src$=\"/Apostila.png\"]": "72"
|
||||
"[src$=\"/E-books.png\"]": "67"
|
||||
"[src$=\"/Revista.png\"]": "68"
|
||||
"[src$=\"/Aventura.png\"]": "80"
|
||||
"[src$=\"/XXX.png\"]": "70"
|
||||
"[src$=\"/Jogos-Ps4.png\"]": "79"
|
||||
"[src$=\"/Jogos-PC.png\"]": "47"
|
||||
"[src$=\"/Jogos-EmuladoreseRoms.png\"]": "61"
|
||||
"[src$=\"/Jogos-Mac.png\"]": "48"
|
||||
"[src$=\"/Jogos-Ps1.png\"]": "49"
|
||||
"[src$=\"/Jogos-Ps2.png\"]": "50"
|
||||
"[src$=\"/Jogos-Ps3.png\"]": "51"
|
||||
"[src$=\"/Jogos-Dreamcast.png\"]": "52"
|
||||
"[src$=\"/ogos-X360.png\"]": "54"
|
||||
"[src$=\"/Jogos-Xbox.png\"]": "55"
|
||||
"[src$=\"/Jogos-Wii.png\"]": "56"
|
||||
"[src$=\"/Jogos-NintendoDS.png\"]": "58"
|
||||
"[src$=\"/Jogos-Android.png\"]": "57"
|
||||
"[src$=\"/Jogos-PSP.png\"]": "82"
|
||||
"[src$=\"/Jogos-XboxOne.png\"]": "78"
|
||||
"[src$=\"/Axe.png\"]": "29"
|
||||
"[src$=\"/Electronica.png\"]": "30"
|
||||
"[src$=\"/Funk.png\"]": "31"
|
||||
"[src$=\"/Pagode.png\"]": "32"
|
||||
"[src$=\"/Hip-Hop.png\"]": "33"
|
||||
"[src$=\"/Rap.png\"]": "34"
|
||||
"[src$=\"/Rock.png\"]": "36"
|
||||
"[src$=\"/Hard-Rock.png\"]": "37"
|
||||
"[src$=\"/Blues.png\"]": "38"
|
||||
"[src$=\"/Dance.png\"]": "39"
|
||||
"[src$=\"/Dicografia.png\"]": "40"
|
||||
"[src$=\"/Erudita.png\"]": "41"
|
||||
"[src$=\"/Forro.png\"]": "42"
|
||||
"[src$=\"/Dubstep.png\"]": "43"
|
||||
"[src$=\"/Sertanejo.png\"]": "46"
|
||||
"[src$=\"/Samba.png\"]": "45"
|
||||
"[src$=\"/Outros.png\"]": "77"
|
||||
"[src$=\"/Reggae.png\"]": "76"
|
||||
"[src$=\"/Gospel.png\"]": "83"
|
||||
"[src$=\"/Game-OST.png\"]": "84"
|
||||
"[src$=\"/Musical.png\"]": "88"
|
||||
"[src$=\"/Guerra.png\"]": "86"
|
||||
"[src$=\"/Biografia.png\"]": "105"
|
||||
"[src$=\"/Esportes.png\"]": "99"
|
||||
"[src$=\"/Ficcao.png\"]": "103"
|
||||
"[src$=\"/Infantil.png\"]": "102"
|
||||
"[src$=\"/Nacionais.png\"]": "89"
|
||||
"[src$=\"/Policial.png\"]": "100"
|
||||
"[src$=\"/Religioso.png\"]": "98"
|
||||
"[src$=\"/Suspense.png\"]": "90"
|
||||
"[src$=\"/Western.png\"]": "91"
|
||||
"[src$=\"/Animacao.png\"]": "92"
|
||||
"[src$=\"/Classicos.png\"]": "93"
|
||||
"[src$=\"/Comedia.png\"]": "94"
|
||||
"[src$=\"/Documentario.png\"]": "95"
|
||||
"[src$=\"/Drama.png\"]": "96"
|
||||
"[src$=\"/Romance.png\"]": "97"
|
||||
"[src$=\"/Terror.png\"]": "101"
|
||||
"[src$=\"/Acao.png\"]": "104"
|
||||
"[src$=\"/Cartoon.png\"]": "24"
|
||||
"[src$=\"/Serieshd.png\"]": "19"
|
||||
"[src$=\"/Seriado.png\"]": "20"
|
||||
"[src$=\"/Aventura.png\"]": "87"
|
||||
"[src$=\"/Shows.png\"]": "65"
|
||||
"[src$=\"/Aberta.png\"]": "63"
|
||||
"[src$=\"/Esportes.png\"]": "62"
|
||||
"[src$=\"/Fechada.png\"]": "64"
|
||||
"[src$=\"/Videoaula.png\"]": "73"
|
||||
"[src$=\"/Guerra.png\"]": "85"
|
||||
"[src$=\"/Musical.png\"]": "81"
|
||||
"[src$=\"/Biografia.png\"]": "17"
|
||||
"[src$=\"/Esportes.png\"]": "16"
|
||||
"[src$=\"/Ficcao.png\"]": "15"
|
||||
"[src$=\"/Infantil.png\"]": "14"
|
||||
"[src$=\"/Nacionais.png\"]": "13"
|
||||
"[src$=\"/Policial.png\"]": "12"
|
||||
"[src$=\"/Religioso.png\"]": "11"
|
||||
"[src$=\"/Suspense.png\"]": "10"
|
||||
"[src$=\"/Western.png\"]": "9"
|
||||
"[src$=\"/Animacao.png\"]": "8"
|
||||
"[src$=\"/Classicos.png\"]": "7"
|
||||
"[src$=\"/Comedia.png\"]": "6"
|
||||
"[src$=\"/Documentario.png\"]": "5"
|
||||
"[src$=\"/Drama.png\"]": "4"
|
||||
"[src$=\"/Romance.png\"]": "3"
|
||||
"[src$=\"/Terror.png\"]": "2"
|
||||
"[src$=\"/Acao.png\"]": "1"
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: td:nth-child(2) span.label-info
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"span.label-success i:contains(\"FREE\")": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -31,20 +31,18 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings:
|
||||
- name: cat-id
|
||||
type: text
|
||||
label: Category Id
|
||||
- name: info
|
||||
type: info
|
||||
label: Category Id Note
|
||||
default: "You can filter your searches by using any of the following category numbers (comma delimited):<br>1 :Anime - Sub<br>2 :Anime - Raw<br>3 :Anime - Dub<br>4 :LA - Sub<br>5 :LA - Raw<br>6 :Light Novel<br>7 :Manga - TLed<br>8 :Manga - Raw<br>9 :♫ - Lossy<br>10 :♫ - Lossless<br>11 :♫ - Video<br>12 :Games<br>13 :Applications<br>14 :Pictures<br>15 :Adult Video<br>16 :Other"
|
||||
- name: lang-id
|
||||
type: text
|
||||
label: Language Id
|
||||
label: Language ID
|
||||
- name: info
|
||||
type: info
|
||||
label: Language ID Note
|
||||
default: "You can filter your searches using any of the following language ID (comma delimited):<br>19 :Arabic<br>22 :Bengali<br>14 :Bulgarian<br>21 :Chinese (Simplified)<br>24 :Czech<br>20 :Danish<br>5 :Dutch<br>1 :English<br>11 :Finnish<br>10 :French<br>8 :German<br>13 :Greek<br>9 :Hungarian<br>27 :Indonesian<br>6 :Italian<br>2 :Japanese<br>28 :Korean<br>31 :Malaysian<br>25 :Mongolian<br>30 :Persian<br>3 :Polish<br>16 :Portuguese (Brazil)<br>17 :Portuguese (Portugal)<br>23 :Romanian<br>7 :Russian<br>4 :Serbo-Croatian<br>29 :Spanish (LATAM)<br>15 :Spanish (Spain)<br>18 :Swedish<br>26 :Turkish<br>12 :Vietnamese"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "?{{if .Config.cat-id}}id={{.Config.cat-id }}&{{else}}{{end}}{{if .Config.lang-id}}lang_id={{.Config.lang-id}}&{{else}}{{end}}q={{if .Keywords}}{{.Keywords}}{{else}}{{end}}"
|
||||
# https://anidex.info/?page=search&id=1,2,3&lang_id=5,1,10&group_id=0&q=rinshi
|
||||
- path: "?page=search&id={{if .Categories}}{{range .Categories}}{{.}},{{end}}{{else}}0{{end}}{{if .Config.lang-id}}&lang_id={{.Config.lang-id}}{{else}}{{end}}&group_id=0&q={{if .Keywords}}{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div.table-responsive > table > tbody > tr
|
||||
fields:
|
||||
|
@@ -35,7 +35,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "/{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: table tbody tr:has(td.torrents_small_type_data1)
|
||||
fields:
|
||||
|
@@ -90,7 +90,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "thanks.php"
|
||||
path: thanks.php
|
||||
method: "post"
|
||||
inputs:
|
||||
infohash: "{{ .DownloadUri.Query.id }}"
|
||||
|
@@ -1,143 +0,0 @@
|
||||
---
|
||||
site: archetorrent
|
||||
name: ArcheTorrent
|
||||
description: "ArcheTorrent is a FRENCH Private Torrent Tracker"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://archetorrent.com
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 18, cat: PC, desc: "Applications: PC"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Applications: Mac"}
|
||||
- {id: 54, cat: PC, desc: "Applications: linux"}
|
||||
- {id: 56, cat: XXX/Other, desc: "Autres: ebook xxx"}
|
||||
- {id: 36, cat: Books, desc: "Autres: E-Books"}
|
||||
- {id: 37, cat: Other, desc: "Autres: Images"}
|
||||
- {id: 38, cat: PC/Phone-Other, desc: "Autres: Telephone-mobile"}
|
||||
- {id: 47, cat: Movies, desc: "Films: Animé"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "Films: DVD"}
|
||||
- {id: 2, cat: Movies/SD, desc: "Films: Dvdrip"}
|
||||
- {id: 68, cat: Movies, desc: "Films: TAT Releases"}
|
||||
- {id: 70, cat: Movies/HD, desc: "Films: UHD 4K"}
|
||||
- {id: 69, cat: Movies, desc: "Films: Retro"}
|
||||
- {id: 3, cat: Movies/HD, desc: "Films: HD1080"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Films: HD720"}
|
||||
- {id: 4, cat: Movies, desc: "Films: Cam/Ts"}
|
||||
- {id: 22, cat: Movies/BluRay, desc: "Films: bluray"}
|
||||
- {id: 23, cat: Movies/3D, desc: "Films: 3D"}
|
||||
- {id: 24, cat: Movies/Foreign, desc: "Films: VOSTFR"}
|
||||
- {id: 25, cat: XXX, desc: "Films: Adulte"}
|
||||
- {id: 48, cat: TV/Documentary, desc: "Films: Documentaire"}
|
||||
- {id: 49, cat: Movies/Other, desc: "Films: Spectacle"}
|
||||
- {id: 51, cat: Movies/SD, desc: "Films: R5"}
|
||||
- {id: 52, cat: Movies/SD, desc: "Films: bdrip"}
|
||||
- {id: 53, cat: Movies/SD, desc: "Films: brrip"}
|
||||
- {id: 55, cat: Movies/DVD, desc: "Films: dvd-pack"}
|
||||
- {id: 57, cat: Movies, desc: "Films: manga"}
|
||||
- {id: 59, cat: Movies/WEBDL, desc: "Films: Webrip"}
|
||||
- {id: 63, cat: Movies/SD, desc: "Films: M-HD"}
|
||||
- {id: 10, cat: PC/Games, desc: "Jeux: PC"}
|
||||
- {id: 11, cat: Console/Other, desc: "Jeux: PS2"}
|
||||
- {id: 43, cat: Console/PS3, desc: "Jeux: PS3"}
|
||||
- {id: 12, cat: Console/PSP, desc: "Jeux: PSP"}
|
||||
- {id: 14, cat: Console/Xbox 360, desc: "Jeux: Xbox360"}
|
||||
- {id: 44, cat: Console/Wii, desc: "Jeux: Wii"}
|
||||
- {id: 45, cat: Console/NDS, desc: "Jeux: DS"}
|
||||
- {id: 27, cat: Audio/Video, desc: "Musique: Clip Video"}
|
||||
- {id: 62, cat: TV/SD, desc: "Serie tv: TV BDRip"}
|
||||
- {id: 5, cat: TV/SD, desc: "Serie tv: Dvdrip"}
|
||||
- {id: 41, cat: TV/HD, desc: "Serie tv: Hd"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serie tv: pack série tv"}
|
||||
- {id: 64, cat: TV/FOREIGN, desc: "Serie tv: vostfr"}
|
||||
- {id: 65, cat: TV/HD, desc: "Serie tv: Série tv 720P"}
|
||||
- {id: 66, cat: TV/HD, desc: "Serie tv: Série tv 1080P"}
|
||||
- {id: 67, cat: TV/HD, desc: "Serie tv: Série tv PackHD"}
|
||||
- {id: 73, cat: TV/Anime, desc: "Serie tv: Anime "}
|
||||
- {id: 72, cat: TV/Sport, desc: "Sport: sport"}
|
||||
- {id: 61, cat: TV/SD, desc: "Tv: DVDRip"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: form:contains("Erreur")
|
||||
message:
|
||||
selector: form
|
||||
remove: table
|
||||
test:
|
||||
path: torrents-search.php
|
||||
|
||||
search:
|
||||
keywordsfilters:
|
||||
- name: replace
|
||||
args: ["-", " "] # remove special search character (negative search)
|
||||
- name: replace
|
||||
args: ["+", " "] # remove special search character (positive search)
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: "1"
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["torrents-details.php", "download.php"]
|
||||
date:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Poster le: </b>(.*?)<br />"
|
||||
- name: dateparse
|
||||
args: "02-01-2006"
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" - (Nouveau!)", ""]
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: img.rounded-img
|
||||
attribute: src
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(9) font b
|
||||
seeders:
|
||||
selector: td:nth-child(7) font b
|
||||
leechers:
|
||||
selector: td:nth-child(8) font b
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="freeleech"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -68,6 +68,21 @@
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: downloadlink
|
||||
type: select
|
||||
label: Download link
|
||||
default: "magnet:"
|
||||
options:
|
||||
"/download/" : ".torrent"
|
||||
"magnet:": "magnet"
|
||||
|
||||
login:
|
||||
path: /
|
||||
method: form
|
||||
@@ -85,11 +100,11 @@
|
||||
selector: a[href="/users/logout/"]
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:?"]
|
||||
selector: a[href^="{{ .Config.downloadlink }}"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents/
|
||||
- path: torrents/
|
||||
method: post
|
||||
followredirect: true
|
||||
inputs:
|
||||
@@ -122,14 +137,14 @@
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
# 08:49:09
|
||||
selector: td:nth-child(3):has(":")
|
||||
selector: td:nth-child(3):contains(":")
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "15:04:05"
|
||||
date:
|
||||
# 2018-10-19
|
||||
selector: td:nth-child(3):has("-")
|
||||
selector: td:nth-child(3):contains("-")
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
|
@@ -20,7 +20,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -28,11 +28,11 @@
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -48,11 +48,11 @@
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
selector: a[href*="/category/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
args: "/category/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
@@ -95,9 +95,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
@@ -108,3 +108,4 @@
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
||||
|
@@ -11,61 +11,64 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
|
||||
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
|
||||
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
|
||||
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
|
||||
- {id: "(Post)apocalyptic", cat: Audio/Audiobook, desc: "(Post)apocalyptic"}
|
||||
- {id: "True", cat: Audio/Audiobook, desc: "True Crime"}
|
||||
- {id: Action, cat: Audio/Audiobook, desc: "Action"}
|
||||
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
|
||||
- {id: Adventure, cat: Audio/Audiobook, desc: "Adventure"}
|
||||
- {id: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
|
||||
- {id: Art, cat: Audio/Audiobook, desc: "Art"}
|
||||
- {id: Autobiography, cat: Audio/Audiobook, desc: "Autobiography & Biographies"}
|
||||
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
|
||||
- {id: Business, cat: Audio/Audiobook, desc: "Business"}
|
||||
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
|
||||
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
|
||||
- {id: Computer, cat: Audio/Audiobook, desc: "Computer"}
|
||||
- {id: Contemporary, cat: Audio/Audiobook, desc: "Contemporary"}
|
||||
- {id: Crime, cat: Audio/Audiobook, desc: "Crime"}
|
||||
- {id: Detective, cat: Audio/Audiobook, desc: "Detective"}
|
||||
- {id: Doctor, cat: Audio/Audiobook, desc: "Doctor Who"}
|
||||
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
|
||||
- {id: Education, cat: Audio/Audiobook, desc: "Education"}
|
||||
- {id: Fantasy, cat: Audio/Audiobook, desc: "Fantasy"}
|
||||
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
|
||||
- {id: Gay, cat: Audio/Audiobook, desc: "Gay"}
|
||||
- {id: General, cat: Audio/Audiobook, desc: "General Fiction"}
|
||||
- {id: Historical, cat: Audio/Audiobook, desc: "Historical Fiction"}
|
||||
- {id: History, cat: Audio/Audiobook, desc: "History"}
|
||||
- {id: Horror, cat: Audio/Audiobook, desc: "Horror"}
|
||||
- {id: Humor, cat: Audio/Audiobook, desc: "Humor"}
|
||||
- {id: Lecture, cat: Audio/Audiobook, desc: "Lecture"}
|
||||
- {id: LGBT, cat: Audio/Audiobook, desc: "LGBT"}
|
||||
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
|
||||
- {id: Lecture, cat: Audio/Audiobook, desc: "Lecture"}
|
||||
- {id: Lesbian, cat: Audio/Audiobook, desc: "Lesbian"}
|
||||
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
|
||||
- {id: LitRPG, cat: Audio/Audiobook, desc: "LitRPG"}
|
||||
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
|
||||
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
|
||||
- {id: Misc., cat: Audio/Audiobook, desc: "Misc. Non-fiction"}
|
||||
- {id: Mystery, cat: Audio/Audiobook, desc: "Mystery"}
|
||||
- {id: Myth, cat: Audio/Audiobook, desc: "Myth Hunting"}
|
||||
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
|
||||
- {id: Other, cat: Audio/Audiobook, desc: "Other"}
|
||||
- {id: Paranormal, cat: Audio/Audiobook, desc: "Paranormal"}
|
||||
- {id: Plays, cat: Audio/Audiobook, desc: "Plays & Theater"}
|
||||
- {id: Poetry, cat: Audio/Audiobook, desc: "Poetry"}
|
||||
- {id: Political, cat: Audio/Audiobook, desc: "Political"}
|
||||
- {id: Postapocalyptic, cat: Audio/Audiobook, desc: "Postapocalyptic"}
|
||||
- {id: Radio, cat: Audio/Audiobook, desc: "Radio Productions"}
|
||||
- {id: Romance, cat: Audio/Audiobook, desc: "Romance"}
|
||||
- {id: Sci-Fi, cat: Audio/Audiobook, desc: "Sci-Fi"}
|
||||
- {id: Science, cat: Audio/Audiobook, desc: "Science"}
|
||||
- {id: Self-help, cat: Audio/Audiobook, desc: "Self-help"}
|
||||
- {id: SHTF, cat: Audio/Audiobook, desc: "SHTF"}
|
||||
- {id: Sex, cat: Audio/Audiobook, desc: "Sex Scenes"}
|
||||
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
|
||||
- {id: Spiritual, cat: Audio/Audiobook, desc: "Spiritual & Religious"}
|
||||
- {id: Sports, cat: Audio/Audiobook, desc: "Sports"}
|
||||
- {id: Suspense, cat: Audio/Audiobook, desc: "Suspense"}
|
||||
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
|
||||
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
|
||||
- {id: Thriller, cat: Audio/Audiobook, desc: "Thriller"}
|
||||
- {id: "True", cat: Audio/Audiobook, desc: "True Crime"}
|
||||
- {id: Tutorial, cat: Audio/Audiobook, desc: "Tutorial"}
|
||||
- {id: Violence, cat: Audio/Audiobook, desc: "Violence"}
|
||||
- {id: Westerns, cat: Audio/Audiobook, desc: "Westerns"}
|
||||
- {id: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
|
||||
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
|
||||
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
|
||||
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
|
||||
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
|
||||
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
|
||||
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
|
||||
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
|
||||
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -130,3 +133,11 @@
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "File Size: (.+?)s"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://abtorrents.me
|
||||
- https://abtorrents.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -43,8 +43,6 @@
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
@@ -59,11 +57,11 @@
|
||||
- selector: td.embedded:has(h2:contains("Oops"))
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
272
src/Jackett.Common/Definitions/audionews.yml
Normal file
272
src/Jackett.Common/Definitions/audionews.yml
Normal file
@@ -0,0 +1,272 @@
|
||||
---
|
||||
site: audionews
|
||||
name: AudioNews
|
||||
description: "AudioNews (AN) is a Private Torrent Tracker for AUDIO SOFTWARE / SAMPLES / ETC"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://audionews.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 106, cat: PC/Phone-Other, desc: "Mobile Apps"}
|
||||
- {id: 161, cat: PC/Phone-IOS, desc: "Mobile Apps iOS"}
|
||||
- {id: 160, cat: PC/Phone-Android, desc: "Mobile Apps Android"}
|
||||
- {id: 12, cat: PC, desc: "AUDIOAPPS"}
|
||||
- {id: 32, cat: PC, desc: "AUDIOAPPS DAW Apps"}
|
||||
- {id: 175, cat: PC, desc: "AUDIOAPPS Ableton"}
|
||||
- {id: 177, cat: PC, desc: "AUDIOAPPS Cakewalk"}
|
||||
- {id: 176, cat: PC, desc: "AUDIOAPPS REAPER"}
|
||||
- {id: 174, cat: PC, desc: "AUDIOAPPS Steinberg"}
|
||||
- {id: 34, cat: PC, desc: "AUDIOAPPS Mastering &Audio Editor Apps"}
|
||||
- {id: 37, cat: PC, desc: "AUDIOAPPS DJ Apps"}
|
||||
- {id: 13, cat: Audio, desc: "SAMPLE LIBRARIES"}
|
||||
- {id: 62, cat: Audio, desc: "SAMPLE LIBRARIES AMG"}
|
||||
- {id: 117, cat: Audio, desc: "SAMPLE LIBRARIES Bela D Media"}
|
||||
- {id: 118, cat: Audio, desc: "SAMPLE LIBRARIES Beta Monkey Music"}
|
||||
- {id: 51, cat: Audio, desc: "SAMPLE LIBRARIES Best Service"}
|
||||
- {id: 46, cat: Audio, desc: "SAMPLE LIBRARIES Big Fish"}
|
||||
- {id: 66, cat: Audio, desc: "SAMPLE LIBRARIES Bigga Giggas"}
|
||||
- {id: 122, cat: Audio, desc: "SAMPLE LIBRARIES Bluezone Corporation"}
|
||||
- {id: 123, cat: Audio, desc: "SAMPLE LIBRARIES Bunker 8"}
|
||||
- {id: 126, cat: Audio, desc: "SAMPLE LIBRARIES Cinematique Instruments"}
|
||||
- {id: 127, cat: Audio, desc: "SAMPLE LIBRARIES CineSamples"}
|
||||
- {id: 128, cat: Audio, desc: "SAMPLE LIBRARIES ClusterSound"}
|
||||
- {id: 121, cat: Audio, desc: "SAMPLE LIBRARIES Dan Dean"}
|
||||
- {id: 195, cat: Audio, desc: "SAMPLE LIBRARIES Diginoiz"}
|
||||
- {id: 52, cat: Audio, desc: "SAMPLE LIBRARIES Digital Juice"}
|
||||
- {id: 134, cat: Audio, desc: "SAMPLE LIBRARIES Digital-Redux"}
|
||||
- {id: 65, cat: Audio, desc: "SAMPLE LIBRARIES Digital Vision"}
|
||||
- {id: 59, cat: Audio, desc: "SAMPLE LIBRARIES Discovery Firm"}
|
||||
- {id: 61, cat: Audio, desc: "SAMPLE LIBRARIES Drumdrops"}
|
||||
- {id: 40, cat: Audio, desc: "SAMPLE LIBRARIES East West"}
|
||||
- {id: 74, cat: Audio, desc: "SAMPLE LIBRARIES Electronisounds"}
|
||||
- {id: 80, cat: Audio, desc: "SAMPLE LIBRARIES EMU format"}
|
||||
- {id: 82, cat: Audio, desc: "SAMPLE LIBRARIES ENSONIQ format"}
|
||||
- {id: 111, cat: Audio, desc: "SAMPLE LIBRARIES Fatloud"}
|
||||
- {id: 135, cat: Audio, desc: "SAMPLE LIBRARIES Fox Samples"}
|
||||
- {id: 41, cat: Audio, desc: "SAMPLE LIBRARIES FxPansion"}
|
||||
- {id: 130, cat: Audio, desc: "SAMPLE LIBRARIES Goldbaby"}
|
||||
- {id: 54, cat: Audio, desc: "SAMPLE LIBRARIES Hollywood Edge"}
|
||||
- {id: 64, cat: Audio, desc: "SAMPLE LIBRARIES IK Multimedia"}
|
||||
- {id: 75, cat: Audio, desc: "SAMPLE LIBRARIES Ilio"}
|
||||
- {id: 108, cat: Audio, desc: "SAMPLE LIBRARIES Industrial Strength Records"}
|
||||
- {id: 81, cat: Audio, desc: "SAMPLE LIBRARIES KURZWEIL format"}
|
||||
- {id: 91, cat: Audio, desc: "SAMPLE LIBRARIES Loopmasters"}
|
||||
- {id: 92, cat: Audio, desc: "SAMPLE LIBRARIES Masterbits"}
|
||||
- {id: 58, cat: Audio, desc: "SAMPLE LIBRARIES M-Audio"}
|
||||
- {id: 112, cat: Audio, desc: "SAMPLE LIBRARIES Mutekki"}
|
||||
- {id: 137, cat: Audio, desc: "SAMPLE LIBRARIES Mystic Kingz"}
|
||||
- {id: 47, cat: Audio, desc: "SAMPLE LIBRARIES Native Instruments"}
|
||||
- {id: 60, cat: Audio, desc: "SAMPLE LIBRARIES Nine Volt Audio"}
|
||||
- {id: 129, cat: Audio, desc: "SAMPLE LIBRARIES OrangeTree"}
|
||||
- {id: 203, cat: Audio, desc: "SAMPLE LIBRARIES Origin Sound"}
|
||||
- {id: 154, cat: Audio, desc: "SAMPLE LIBRARIES P5Audio"}
|
||||
- {id: 133, cat: Audio, desc: "SAMPLE LIBRARIES Peace Love Productions"}
|
||||
- {id: 140, cat: Audio, desc: "SAMPLE LIBRARIES Pound Audio"}
|
||||
- {id: 110, cat: Audio, desc: "SAMPLE LIBRARIES Prime Loops"}
|
||||
- {id: 180, cat: Audio, desc: "SAMPLE LIBRARIES Producer Loops"}
|
||||
- {id: 50, cat: Audio, desc: "SAMPLE LIBRARIES Prominy"}
|
||||
- {id: 171, cat: Audio, desc: "SAMPLE LIBRARIES Pulsed Records"}
|
||||
- {id: 132, cat: Audio, desc: "SAMPLE LIBRARIES Puremagnetik"}
|
||||
- {id: 49, cat: Audio, desc: "SAMPLE LIBRARIES Refills"}
|
||||
- {id: 99, cat: Audio, desc: "SAMPLE LIBRARIES reFX Nexus"}
|
||||
- {id: 125, cat: Audio, desc: "SAMPLE LIBRARIES Realsamples"}
|
||||
- {id: 83, cat: Audio, desc: "SAMPLE LIBRARIES ROLAND format"}
|
||||
- {id: 109, cat: Audio, desc: "SAMPLE LIBRARIES Sample Magic"}
|
||||
- {id: 136, cat: Audio, desc: "SAMPLE LIBRARIES Samplephonics"}
|
||||
- {id: 43, cat: Audio, desc: "SAMPLE LIBRARIES Sampletekk"}
|
||||
- {id: 48, cat: Audio, desc: "SAMPLE LIBRARIES Scarbee"}
|
||||
- {id: 178, cat: Audio, desc: "SAMPLE LIBRARIES SFX (Sound FX libraries)"}
|
||||
- {id: 90, cat: Audio, desc: "SAMPLE LIBRARIES Smartsound"}
|
||||
- {id: 172, cat: Audio, desc: "SAMPLE LIBRARIES Sonart Audio"}
|
||||
- {id: 116, cat: Audio, desc: "SAMPLE LIBRARIES SonicCouture"}
|
||||
- {id: 42, cat: Audio, desc: "SAMPLE LIBRARIES Sonic Implants"}
|
||||
- {id: 115, cat: Audio, desc: "SAMPLE LIBRARIES Sonic Reality"}
|
||||
- {id: 53, cat: Audio, desc: "SAMPLE LIBRARIES Sound Ideas"}
|
||||
- {id: 56, cat: Audio, desc: "SAMPLE LIBRARIES Sony"}
|
||||
- {id: 139, cat: Audio, desc: "SAMPLE LIBRARIES Sounds To Sample"}
|
||||
- {id: 76, cat: Audio, desc: "SAMPLE LIBRARIES Spectrasonics"}
|
||||
- {id: 162, cat: Audio, desc: "SAMPLE LIBRARIES Spitfire Audio"}
|
||||
- {id: 193, cat: Audio, desc: "SAMPLE LIBRARIES studiolinked"}
|
||||
- {id: 68, cat: Audio, desc: "SAMPLE LIBRARIES Synthogy"}
|
||||
- {id: 179, cat: Audio, desc: "SAMPLE LIBRARIES The Loop Loft"}
|
||||
- {id: 96, cat: Audio, desc: "SAMPLE LIBRARIES Tonehammer, 8dio, SoundIron"}
|
||||
- {id: 67, cat: Audio, desc: "SAMPLE LIBRARIES Toontrack, Drumkit From Hell, DFHS"}
|
||||
- {id: 69, cat: Audio, desc: "SAMPLE LIBRARIES Ueberschall"}
|
||||
- {id: 157, cat: Audio, desc: "SAMPLE LIBRARIES USB Soundscan"}
|
||||
- {id: 120, cat: Audio, desc: "SAMPLE LIBRARIES Valentino Production"}
|
||||
- {id: 173, cat: Audio, desc: "SAMPLE LIBRARIES vandalism sounds"}
|
||||
- {id: 170, cat: Audio, desc: "SAMPLE LIBRARIES Vanilla Groove Studios"}
|
||||
- {id: 119, cat: Audio, desc: "SAMPLE LIBRARIES Vengeance Sound"}
|
||||
- {id: 114, cat: Audio, desc: "SAMPLE LIBRARIES Video Helper"}
|
||||
- {id: 44, cat: Audio, desc: "SAMPLE LIBRARIES Vienna"}
|
||||
- {id: 77, cat: Audio, desc: "SAMPLE LIBRARIES Vipzone"}
|
||||
- {id: 131, cat: Audio, desc: "SAMPLE LIBRARIES Wavesfactory"}
|
||||
- {id: 89, cat: Audio, desc: "SAMPLE LIBRARIES West one"}
|
||||
- {id: 113, cat: Audio, desc: "SAMPLE LIBRARIES Wusik.com"}
|
||||
- {id: 78, cat: Audio, desc: "SAMPLE LIBRARIES Yellowtools"}
|
||||
- {id: 138, cat: Audio, desc: "SAMPLE LIBRARIES YnK.Audio"}
|
||||
- {id: 100, cat: Audio, desc: "SAMPLE LIBRARIES Zenhiser"}
|
||||
- {id: 57, cat: Audio, desc: "SAMPLE LIBRARIES Zero-G"}
|
||||
- {id: 15, cat: PC, desc: "VSTi + FX"}
|
||||
- {id: 72, cat: PC, desc: "VSTi + FX FX"}
|
||||
- {id: 181, cat: PC, desc: "VSTi + FX VSTi"}
|
||||
- {id: 18, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 186, cat: PC/Mac, desc: "MAC Apps"}
|
||||
- {id: 188, cat: PC/Mac, desc: "MAC FX"}
|
||||
- {id: 189, cat: PC/Mac, desc: "MAC Instruments"}
|
||||
- {id: 190, cat: PC/Mac, desc: "MAC TUTORIAL"}
|
||||
- {id: 187, cat: PC/Mac, desc: "MAC Samples"}
|
||||
- {id: 19, cat: Other, desc: "MISC"}
|
||||
- {id: 185, cat: Other, desc: "MISC Utilities"}
|
||||
- {id: 84, cat: Books, desc: "SHEET MUSIC"}
|
||||
- {id: 87, cat: Books, desc: "SHEET MUSIC Full Score"}
|
||||
- {id: 86, cat: Books, desc: "SHEET MUSIC Guitar"}
|
||||
- {id: 88, cat: Books, desc: "SHEET MUSIC Other instruments"}
|
||||
- {id: 85, cat: Books, desc: "SHEET MUSIC Piano"}
|
||||
- {id: 20, cat: Books, desc: "LEARNING"}
|
||||
- {id: 197, cat: Books, desc: "LEARNING Academy.FM"}
|
||||
- {id: 183, cat: Books, desc: "LEARNING ADSR"}
|
||||
- {id: 141, cat: Books, desc: "LEARNING Alfred"}
|
||||
- {id: 142, cat: Books, desc: "LEARNING Ask Video"}
|
||||
- {id: 27, cat: Books, desc: "LEARNING Books"}
|
||||
- {id: 143, cat: Books, desc: "LEARNING FaderPro"}
|
||||
- {id: 144, cat: Books, desc: "LEARNING Groove3"}
|
||||
- {id: 145, cat: Books, desc: "LEARNING Hal Leonard"}
|
||||
- {id: 105, cat: Books, desc: "LEARNING Hardware manuals"}
|
||||
- {id: 196, cat: Books, desc: "LEARNING Jam Track Central"}
|
||||
- {id: 146, cat: Books, desc: "LEARNING Lick Library"}
|
||||
- {id: 147, cat: Books, desc: "LEARNING Lynda.com"}
|
||||
- {id: 148, cat: Books, desc: "LEARNING MacProVideo"}
|
||||
- {id: 101, cat: Books, desc: "LEARNING Magazines"}
|
||||
- {id: 93, cat: Books, desc: "LEARNING Music Video (Concerts, DVD, DVDrip)"}
|
||||
- {id: 199, cat: Books, desc: "LEARNING PUREMIX"}
|
||||
- {id: 149, cat: Books, desc: "LEARNING Riff Interactive"}
|
||||
- {id: 194, cat: Books, desc: "LEARNING SkillShare"}
|
||||
- {id: 150, cat: Books, desc: "LEARNING Sonic Academy"}
|
||||
- {id: 151, cat: Books, desc: "LEARNING Total training"}
|
||||
- {id: 152, cat: Books, desc: "LEARNING TrueFire"}
|
||||
- {id: 182, cat: Books, desc: "LEARNING Udemy"}
|
||||
- {id: 28, cat: Books, desc: "LEARNING Video"}
|
||||
- {id: 153, cat: Books, desc: "LEARNING VTC"}
|
||||
- {id: 29, cat: Audio/Other, desc: "PRESETS"}
|
||||
- {id: 167, cat: Audio/Other, desc: "PRESETS Ableton Live"}
|
||||
- {id: 184, cat: Audio/Other, desc: "PRESETS Impulse Responses"}
|
||||
- {id: 166, cat: Audio/Other, desc: "PRESETS Massive"}
|
||||
- {id: 163, cat: Audio/Other, desc: "PRESETS Nebula"}
|
||||
- {id: 200, cat: Audio/Other, desc: "PRESETS Omnisphere"}
|
||||
- {id: 165, cat: Audio/Other, desc: "PRESETS Reaktor"}
|
||||
- {id: 201, cat: Audio/Other, desc: "PRESETS Xfer Serum"}
|
||||
- {id: 164, cat: Audio/Other, desc: "PRESETS Sylenth"}
|
||||
- {id: 168, cat: Audio/Other, desc: "PRESETS Toontrack"}
|
||||
- {id: 21, cat: Other, desc: "UPDATE"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
"login_username": "{{ .Config.username }}"
|
||||
"login_password": "{{ .Config.password }}"
|
||||
autologin: 1
|
||||
login: "Log in"
|
||||
redirect: "/"
|
||||
error:
|
||||
- selector: table.error
|
||||
message:
|
||||
selector: table.error tr td div.msg
|
||||
test:
|
||||
path: /
|
||||
selector: li a[href^="./login.php?logout=1"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: tracker.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"
|
||||
prev_allw: 1
|
||||
prev_a: 0
|
||||
prev_dla: 0
|
||||
prev_dlc: 0
|
||||
prev_dld: 0
|
||||
prev_dlw: 0
|
||||
prev_my: 0
|
||||
prev_new: 0
|
||||
prev_sd: 0
|
||||
prev_da: 1
|
||||
prev_dc: 0
|
||||
prev_df: 1
|
||||
prev_ds: 0
|
||||
pre_tor_type: 0
|
||||
prev_date_from: ""
|
||||
prev_date_to: ""
|
||||
prev_hide_rereg: 0
|
||||
o: 1
|
||||
s: 2
|
||||
df: 1
|
||||
da: 1
|
||||
nm: "{{ .Keywords }}"
|
||||
pn: ""
|
||||
submit: "Search"
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr:has(a[href*="/dl.php?id="])
|
||||
dateheaders:
|
||||
selector: td[colspan="20"] > strong
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "01-02-2006"
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href*="/viewtopic.php?t="]
|
||||
details:
|
||||
selector: td a[href*="/viewtopic.php?t="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: td a[href*="/dl.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href*="/tracker.php?f="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
size:
|
||||
text: "0 B"
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0GB)
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0MB)
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0kB)
|
||||
size:
|
||||
optional: true
|
||||
selector: td:contains(\00a0B)
|
||||
seeders:
|
||||
text: "0"
|
||||
seeders:
|
||||
optional: true
|
||||
selector: td[title="Seeders"]
|
||||
leechers:
|
||||
text: "0"
|
||||
leechers:
|
||||
optional: true
|
||||
selector: td[title="Leechers"]
|
||||
grabs:
|
||||
text: "0"
|
||||
grabs:
|
||||
optional: true
|
||||
selector: td[title^="Replies:"]
|
||||
downloadvolumefactor:
|
||||
text: "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://awesome-hd.me
|
||||
- https://awesome-hd.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -14,12 +14,18 @@
|
||||
- {id: 2, cat: TV/HD, desc: "TV-Shows"}
|
||||
|
||||
modes:
|
||||
searchstr: [q]
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
|
@@ -43,7 +43,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: bigtorrent
|
||||
name: BIGTorrent
|
||||
description: "ratio-free Hungarian tracker"
|
||||
description: "BIGTorrent is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -41,7 +41,7 @@
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -49,7 +49,7 @@
|
||||
sent: "yes"
|
||||
returnto: "/"
|
||||
error:
|
||||
- selector: table:contains("Login failed!")
|
||||
- selector: div.error
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{if .Keywords}}{{ .Keywords }}{{else}} {{end}}"
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr:has(a[href^="browse.php?cat="])
|
||||
fields:
|
||||
|
172
src/Jackett.Common/Definitions/bit-titan.yml
Normal file
172
src/Jackett.Common/Definitions/bit-titan.yml
Normal file
@@ -0,0 +1,172 @@
|
||||
---
|
||||
site: bit-titan
|
||||
name: BiT-TiTAN
|
||||
description: "BiT-TiTAN is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: iso-8859-1
|
||||
links:
|
||||
- https://bit-titan.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 2, cat: TV/Documentary, desc: "Doku Packs"}
|
||||
- {id: 3, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 4, cat: Movies/FOREIGN, desc: "International"}
|
||||
- {id: 5, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 6, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 7, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 36, cat: Movies/BluRay, desc: "Movies BluRay"}
|
||||
- {id: 8, cat: Movies/DVD, desc: "Movies DVD / HDVD"}
|
||||
- {id: 37, cat: Movies/HD, desc: "Movies HD Pack"}
|
||||
- {id: 9, cat: Movies/SD, desc: "Movies SD"}
|
||||
- {id: 38, cat: Movies/SD, desc: "Movies SD Pack"}
|
||||
- {id: 10, cat: Movies/UHD, desc: "Movies UHD"}
|
||||
- {id: 11, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 12, cat: TV/OTHER, desc: "Serien Packs"}
|
||||
- {id: 13, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 14, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 15, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 16, cat: XXX/XviD, desc: "XXX SD"}
|
||||
- {id: 17, cat: Audio/Lossless, desc: "Musik FLAC"}
|
||||
- {id: 18, cat: Audio/MP3, desc: "Musik MP3"}
|
||||
- {id: 19, cat: Audio/Other, desc: "Musik Sonstiges"}
|
||||
- {id: 20, cat: Audio/Video, desc: "Musik Videos"}
|
||||
- {id: 23, cat: Console, desc: "Spiele Handy"}
|
||||
- {id: 24, cat: Console, desc: "Spiele Linux"}
|
||||
- {id: 21, cat: Console/NDS, desc: "Spiele Nintendo"}
|
||||
- {id: 22, cat: Console/PSP, desc: "Spiele PlayStation"}
|
||||
- {id: 25, cat: Console, desc: "Spiele Sonstige"}
|
||||
- {id: 40, cat: Console, desc: "Spiele Wimmelbild"}
|
||||
- {id: 26, cat: PC/Games, desc: "Spiele Windows"}
|
||||
- {id: 27, cat: Console, desc: "XBOX 360/ONE"}
|
||||
- {id: 28, cat: PC, desc: "Software Handy"}
|
||||
- {id: 29, cat: PC, desc: "Software Linux"}
|
||||
- {id: 30, cat: PC/Mac, desc: "Software Mac Os"}
|
||||
- {id: 31, cat: PC, desc: "Software Sonstige"}
|
||||
- {id: 32, cat: PC/0day, desc: "Software Windows"}
|
||||
- {id: 33, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 39, cat: Books/Ebook, desc: "eBook"}
|
||||
- {id: 34, cat: Audio/Audiobook, desc: "Hörbücher/ -spiele"}
|
||||
- {id: 35, cat: XXX/Other, desc: "XXX Sonstiges"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src^="cap/captcha_math.php"]
|
||||
input: stringCaptcha
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: div#tom-b-t8
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# seachin 0=name 1=descr 2=both
|
||||
blah: 0
|
||||
# include dead 0=active 1=all 2=dead
|
||||
incldead: 1
|
||||
orderby: "added"
|
||||
sort: "desc"
|
||||
showsearch: 0
|
||||
rows:
|
||||
selector: table.tableinborder[border="0"][cellspacing="0"][cellpadding="0"] tr
|
||||
fields:
|
||||
category:
|
||||
selector: td.tableb a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: div a.tor-name
|
||||
details:
|
||||
selector: div a.tor-name
|
||||
attribute: href
|
||||
download:
|
||||
selector: div a.tor-name
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
banner:
|
||||
selector: div[id^="details-"] img
|
||||
attribute: src
|
||||
seeders:
|
||||
selector: div.tor-sl b
|
||||
leechers:
|
||||
selector: div.tor-sl b:last-of-type
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.tor-date:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 23:12:50
|
||||
selector: div.tor-date:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\u00a0", " "]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
size:
|
||||
selector: div.tor-size
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
grabs:
|
||||
selector: div.tor-take
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/ou_new.png"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -57,16 +57,20 @@
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -60,10 +60,10 @@
|
||||
- selector: table:contains("Login failed!")
|
||||
- selector: table:contains("Wrong Code!")
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
method: get
|
||||
inputs:
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -57,11 +57,11 @@
|
||||
error:
|
||||
- selector: td.msg_info > font > b
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
method: post
|
||||
inputs:
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
167
src/Jackett.Common/Definitions/bitturk.yml
Normal file
167
src/Jackett.Common/Definitions/bitturk.yml
Normal file
@@ -0,0 +1,167 @@
|
||||
---
|
||||
site: bitturk
|
||||
name: BitTurk
|
||||
description: "BitTurk is a Turkish Private Torrent Tracker for HD MOVIES / TV / GENERAL. This Indexer is for English only."
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.bitturk.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 69, cat: Movies, desc: "BiTTuRK Altın"}
|
||||
- {id: 56, cat: Movies, desc: "BTRG"}
|
||||
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
|
||||
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
|
||||
- {id: 63, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 64, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 66, cat: Movies/HD, desc: "x265"}
|
||||
- {id: 67, cat: XXX, desc: "XxX"}
|
||||
- {id: 68, cat: Movies, desc: "Dual (TR-~)"}
|
||||
- {id: 58, cat: Movies, desc: "Film"}
|
||||
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 45, cat: Movies, desc: "Eğitim / Prog "}
|
||||
- {id: 1, cat: Movies, desc: "Filmler"}
|
||||
- {id: 14, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 16, cat: Movies, desc: "Animasyon"}
|
||||
- {id: 17, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 31, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "Bluray"}
|
||||
- {id: 33, cat: Movies/BluRay, desc: "BRRiP"}
|
||||
- {id: 34, cat: Movies, desc: "Çizgi Film"}
|
||||
- {id: 35, cat: Movies, desc: "D-Z0N3"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 37, cat: Movies, desc: "MP4"}
|
||||
- {id: 38, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 39, cat: Movies, desc: "Türkçe BoX"}
|
||||
- {id: 40, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 41, cat: Movies, desc: "ViP"}
|
||||
- {id: 42, cat: Movies/SD, desc: "XviD"}
|
||||
- {id: 43, cat: Movies/SD, desc: "XviD BoX"}
|
||||
- {id: 55, cat: Movies/WEBDL, desc: "WEB-DL"}
|
||||
- {id: 7, cat: Audio, desc: "Müzik"}
|
||||
- {id: 20, cat: Audio, desc: "Türkçe MüziK"}
|
||||
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
|
||||
- {id: 2, cat: Console, desc: "Oyun"}
|
||||
- {id: 6, cat: PC, desc: "Program / Misc "}
|
||||
- {id: 47, cat: Other, desc: "Resimler"}
|
||||
- {id: 48, cat: TV, desc: "Televizyon"}
|
||||
- {id: 49, cat: TV/HD, desc: "Tv HD"}
|
||||
- {id: 50, cat: TV, desc: "Yab@ncı Dizi"}
|
||||
- {id: 51, cat: TV, desc: "Yerli Dizi"}
|
||||
- {id: 44, cat: Books, desc: "E-BooK"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info
|
||||
type: info
|
||||
label: Layout
|
||||
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b><li>And set the <b>Language (Dil)</b> to <b>English</b><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</ol>"
|
||||
|
||||
login:
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: "login"
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: 1
|
||||
loginbox_remember: "true"
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "stKey: \"(.+?)\","
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: ?p=home&pid=1
|
||||
selector: a[href*="/?p=logout&"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%25"]
|
||||
inputs:
|
||||
p: "torrents"
|
||||
pid: "32"
|
||||
$raw: "{{range .Categories}}cid[]={{.}}&{{end}}"
|
||||
keywords: "{{ .Keywords }}"
|
||||
search_type: "name"
|
||||
searchin: "title"
|
||||
error:
|
||||
- selector: div.error:not(:contains("Gösterilecek sonuç bulunamadı."))
|
||||
rows:
|
||||
selector: table#torrents_table_classic tr:has(td.torrent_name)
|
||||
fields:
|
||||
title:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
category:
|
||||
selector: div.category_image > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cid
|
||||
details:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||
attribute: href
|
||||
date:
|
||||
optional: true
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at "))
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04"
|
||||
date:
|
||||
optional: true
|
||||
# Uploaded Friday at 05:11 by
|
||||
# Uploaded Today at 00:48 by
|
||||
# Uploaded Yesterday at 23:57 by
|
||||
selector: td.torrent_name:contains(" at ")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: replace
|
||||
args: [" at ", " "]
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
selector: a[rel="torrent_seeders"]
|
||||
leechers:
|
||||
selector: a[rel="torrent_leechers"]
|
||||
grabs:
|
||||
selector: a[rel="times_completed"]
|
||||
banner:
|
||||
selector: a[rel="fancybox"]
|
||||
optional: true
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/torrent_free.png\"]": "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/torrent_multiple_upload.png\"]": "2"
|
||||
"*": "1"
|
@@ -24,7 +24,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -32,11 +32,11 @@
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: blutopia
|
||||
name: Blutopia
|
||||
description: "HD Tracker Movies/TV/FANRES"
|
||||
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -20,7 +20,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -28,11 +28,11 @@
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -64,14 +64,18 @@
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="https://www.imdb.com/title/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
@@ -95,16 +99,22 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D
|
||||
|
@@ -28,9 +28,16 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
# site returns just 15 results per page, attempt to fetch 100
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/1-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/2-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/3-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/4-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/5-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/6-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/7-1-0.html"
|
||||
rows:
|
||||
selector: .rs
|
||||
selector: .rs:has(a[href^="magnet:?xt"])
|
||||
fields:
|
||||
title:
|
||||
selector: .title
|
||||
|
64
src/Jackett.Common/Definitions/btdb.yml
Normal file
64
src/Jackett.Common/Definitions/btdb.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
site: btdb
|
||||
name: BTDB
|
||||
description: "BTDB is a Public BitTorrent DHT search engine."
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btdb.eu/
|
||||
legacylinks:
|
||||
- https://btdb.to/
|
||||
- https://btdb.unblocked.app/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info
|
||||
type: info
|
||||
label: Category for Sonarr and Radarr
|
||||
default: BTDB does not use categories. In your Sonarr or Radarr Torznab Indexer settings, set the category to 100001.
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time{{else}}recent{{end}}"
|
||||
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time&page=2{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time&page=3{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}?search={{ .Keywords}}&sort=time&page=4{{else}}{{end}}"
|
||||
rows:
|
||||
selector: li[class$="item"]
|
||||
fields:
|
||||
title:
|
||||
selector: h2[class$="title"] a[href*="/torrent/"]
|
||||
attribute: title
|
||||
category:
|
||||
text: "1"
|
||||
details:
|
||||
selector: h2[class$="title"] a[href*="/torrent/"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: div[class$="info"] a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: div[class$="info"] span:nth-of-type(1)
|
||||
files:
|
||||
selector: div[class$="info"] span:nth-of-type(2)
|
||||
date:
|
||||
selector: div[class$="info"] span:nth-of-type(3)
|
||||
grabs:
|
||||
selector: div[class$="info"] span:nth-of-type(4)
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
80
src/Jackett.Common/Definitions/btdigg.yml
Normal file
80
src/Jackett.Common/Definitions/btdigg.yml
Normal file
@@ -0,0 +1,80 @@
|
||||
---
|
||||
site: btdigg
|
||||
name: BTDigg
|
||||
description: "BTDigg is a Public BitTorrent DHT search engine."
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btdig.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info
|
||||
type: info
|
||||
default: BTDigg does not use categories. In your software Indexer settings, set the category to 100001.
|
||||
|
||||
search:
|
||||
# https://btdig.com/search?q=test&order=2
|
||||
# only 10 results per page
|
||||
# https://btdig.com/search?q=test&p=1&order=2
|
||||
paths:
|
||||
- path: search
|
||||
- path: search
|
||||
inputs:
|
||||
p: 1
|
||||
- path: search
|
||||
inputs:
|
||||
p: 2
|
||||
- path: search
|
||||
inputs:
|
||||
p: 3
|
||||
- path: search
|
||||
inputs:
|
||||
p: 4
|
||||
inputs:
|
||||
q: "{{if .Keywords }}{{.Keywords}}{{else}}test{{end}}"
|
||||
order: 2
|
||||
rows:
|
||||
selector: div.one_result
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: div.torrent_name a
|
||||
category:
|
||||
text: 1
|
||||
details:
|
||||
selector: div.torrent_name a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: span.torrent_age
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["found ", ""]
|
||||
files:
|
||||
text: 1
|
||||
files:
|
||||
selector: span.torrent_files
|
||||
optional: true
|
||||
size:
|
||||
selector: span.torrent_size
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -39,21 +39,21 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin__akcja.php
|
||||
path: takelogin__akcja.php
|
||||
method: post
|
||||
inputs:
|
||||
username_dupa: "{{ .Config.username }}"
|
||||
password__dupa: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
- selector: td.embedded:has(h2:contains("Error"))aD
|
||||
- selector: td.embedded:has(h2:contains("Error"))
|
||||
test:
|
||||
selector: a[href^="logout.php"]
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
78
src/Jackett.Common/Definitions/btkitty.yml
Normal file
78
src/Jackett.Common/Definitions/btkitty.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
site: btkitty
|
||||
name: BTKitty
|
||||
description: "BTKITTY is a Public BitTorrent DHT search engine."
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- http://btkitty.pet/
|
||||
legacylinks:
|
||||
- https://cnbtkitty.org/
|
||||
- http://cnbtkitty.org/
|
||||
- https://cnbtkitty.com/
|
||||
- http://cnbtkitty.com/
|
||||
- https://cnbtkitty.me/
|
||||
- http://cnbtkitty.me/
|
||||
- http://cnbtkitty.ws/
|
||||
|
||||
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"
|
@@ -87,7 +87,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /?p=home&pid=1
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: /ajax/login.php
|
||||
@@ -105,7 +105,7 @@
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: /?p=torrents&pid=32
|
||||
path: ?p=torrents&pid=32
|
||||
selector: a#logout
|
||||
|
||||
search:
|
||||
|
@@ -1,78 +0,0 @@
|
||||
---
|
||||
site: btstornet
|
||||
name: BTstor.net
|
||||
description: "BTstor.net is a Public BT-Scene clone for MOVIES / TV / GENERAL"
|
||||
language: us-en
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btstor.net/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"anime": TV/Anime
|
||||
"books": Books
|
||||
"games": PC/Games
|
||||
"movies": Movies
|
||||
"music": Audio
|
||||
"other": Other
|
||||
"shows": TV
|
||||
"software": PC
|
||||
"video": Movies
|
||||
"xxx": XXX
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: "#dlt_"
|
||||
|
||||
search:
|
||||
# https://btstor.net/
|
||||
# https://btstor.net/q/midnight+texas+s01e10/date/
|
||||
keywordsfilters:
|
||||
# replace space between keywords with +
|
||||
- name: re_replace
|
||||
args: [" ", "+"]
|
||||
paths:
|
||||
- path: "q/{{ if .Keywords }}{{ .Keywords }}{{else}}test{{end}}/date/"
|
||||
rows:
|
||||
selector: table.tor > tbody > tr[class$="_tr"]
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: td.tname_index > a
|
||||
details:
|
||||
selector: td.tname_index > a
|
||||
attribute: href
|
||||
category:
|
||||
# src="https://btstor.net/templates/btscene/images/shows.png"
|
||||
selector: td.tname_index > img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".png", ""]
|
||||
- name: split
|
||||
args: ["/", 6]
|
||||
download:
|
||||
selector: td.tname_index > a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.tsize_index
|
||||
seeders:
|
||||
selector: td.tseeds_index
|
||||
leechers:
|
||||
selector: td.tpeers_index
|
||||
date:
|
||||
selector: td.tupd_index
|
||||
filters:
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
129
src/Jackett.Common/Definitions/cartoonchaos.yml
Normal file
129
src/Jackett.Common/Definitions/cartoonchaos.yml
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
site: cartoonchaos
|
||||
name: CartoonChaos
|
||||
description: "CartoonChaos (CC) is a Private Torrent Tracker for ANIMATED MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.cartoonchaos.org/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "For best results, increase the torrents number in your profile to 100.<br />Default is 15."
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 30, cat: TV, desc: "Complete Sets"}
|
||||
- {id: 15, cat: TV, desc: "Educational"}
|
||||
- {id: 16, cat: TV, desc: "Kids"}
|
||||
- {id: 17, cat: TV, desc: "Mature Cartoons"}
|
||||
- {id: 41, cat: TV, desc: "Shorts"}
|
||||
- {id: 20, cat: TV/Anime, desc: "Anime Movies"}
|
||||
- {id: 21, cat: TV/Anime, desc: "Anime Series"}
|
||||
- {id: 26, cat: Movies, desc: "Animated Movies"}
|
||||
- {id: 23, cat: Audio, desc: "Sound Tracks"}
|
||||
- {id: 24, cat: Audio, desc: "Theme Tunes"}
|
||||
- {id: 43, cat: Audio/Other, desc: "Misc Audio"}
|
||||
- {id: 14, cat: TV, desc: "Banned"}
|
||||
- {id: 29, cat: TV, desc: "Public Domain"}
|
||||
- {id: 42, cat: TV/FOREIGN, desc: "Foreign Language"}
|
||||
- {id: 28, cat: TV, desc: "Animated Adverts"}
|
||||
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
|
||||
|
||||
modes:
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: form
|
||||
form: form[action^="index.php?page=login"]
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://www.cartoonchaos.org/index.php?page=torrents&search=transformers&category=30;21;20;26;15;16;17&options=0&active=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
|
||||
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
|
||||
# options: 0=title, 1=title&descr, 2=descr
|
||||
options: "{{if .Query.IMDBID}}1{{else}}0{{end}}"
|
||||
active: 0
|
||||
|
||||
rows:
|
||||
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
selector: td a[href^="download.php"]
|
||||
attribute: href
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="http://www.imdb.com/title/"]
|
||||
attribute: href
|
||||
filters:
|
||||
# http://anonym.to?javascript:popdetails('http://www.imdb.com/title/tt0086817');
|
||||
- name: replace
|
||||
args: [" http://anonym.to?javascript:popdetails('", ""]
|
||||
- name: replace
|
||||
args: ["');", ""]
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
# two flavours of dates
|
||||
date:
|
||||
# Yesterday at 10:03:30 PM
|
||||
selector: td:nth-child(5):contains("day")
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
|
||||
date:
|
||||
# February 09, 2019, 06:35:08 AM
|
||||
selector: td:nth-child(5):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
|
||||
- name: dateparse
|
||||
args: "January 02 2006 03:04:05 PM"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="gold/gold.gif"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
141
src/Jackett.Common/Definitions/casatorrent.yml
Normal file
141
src/Jackett.Common/Definitions/casatorrent.yml
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
site: casatorrent
|
||||
name: Casa-Torrent
|
||||
description: "Casa-Torrent is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://teamctgame.co/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 65, cat: Movies/HD, desc: "BD: BD"}
|
||||
- {id: 68, cat: Books/Magazines, desc: "Ebooks: Presse"}
|
||||
- {id: 56, cat: Books/Ebook, desc: "Ebooks: Ebooks"}
|
||||
- {id: 90, cat: Audio/Audiobook, desc: "Ebooks: Audio books"}
|
||||
- {id: 84, cat: XXX, desc: "Ebooks: XXX"}
|
||||
- {id: 95, cat: Books/Comics, desc: "Ebooks: Mangas"}
|
||||
- {id: 53, cat: Movies/HD, desc: "Films: 4K"}
|
||||
- {id: 50, cat: Movies/UHD, desc: "Films: 4K-Remux"}
|
||||
- {id: 72, cat: Movies/HD, desc: "Films: x265"}
|
||||
- {id: 54, cat: Movies/3D, desc: "Films: 3D"}
|
||||
- {id: 71, cat: Movies/BluRay, desc: "Films: Full Bluray"}
|
||||
- {id: 96, cat: Movies, desc: "Films: Remux"}
|
||||
- {id: 78, cat: Movies/DVD, desc: "Films: DVD-R"}
|
||||
- {id: 52, cat: Movies/HD, desc: "Films: HD.1080p"}
|
||||
- {id: 51, cat: Movies/HD, desc: "Films: HD.720p"}
|
||||
- {id: 87, cat: Movies/HD, desc: "Films: HDRiP"}
|
||||
- {id: 60, cat: Movies, desc: "Films: Pack"}
|
||||
- {id: 47, cat: Movies/DVD, desc: "Films: DVDRip"}
|
||||
- {id: 48, cat: Movies/BluRay, desc: "Films: BDRip / BRRip"}
|
||||
- {id: 80, cat: Movies/HD, desc: "Films: HDLiGHT / M-HD"}
|
||||
- {id: 63, cat: Movies/HD, desc: "Films: HD TV"}
|
||||
- {id: 58, cat: Movies/WEBDL, desc: "Films: Web - DL"}
|
||||
- {id: 75, cat: TV, desc: "Films: TVRiP"}
|
||||
- {id: 61, cat: Movies, desc: "Films: Animation"}
|
||||
- {id: 82, cat: TV/Anime, desc: "Films: Mangas"}
|
||||
- {id: 55, cat: Movies, desc: "Films: VOSTFR"}
|
||||
- {id: 89, cat: Movies, desc: "Films: VO"}
|
||||
- {id: 57, cat: Movies/WEBDL, desc: "Films: WebRip"}
|
||||
- {id: 98, cat: Movies, desc: "Films: VFSTFR"}
|
||||
- {id: 1, cat: XXX, desc: "Films: XXX"}
|
||||
- {id: 66, cat: PC/Games, desc: "Jeux: PC"}
|
||||
- {id: 97, cat: Console/PSP, desc: "Jeux : Jeux PS"}
|
||||
- {id: 81, cat: Console/Xbox, desc: "Jeux : XboX"}
|
||||
- {id: 62, cat: PC/0day, desc: "Logiciels: Windows"}
|
||||
- {id: 99, cat: Other, desc: "Logiciels: Graph / Wallpaper"}
|
||||
- {id: 77, cat: PC/Phone-Android, desc: "Logiciels: Android"}
|
||||
- {id: 94, cat: PC/Mac, desc: "Logiciels: MAC"}
|
||||
- {id: 93, cat: TV/Anime, desc: "Mangas: Animés"}
|
||||
- {id: 86, cat: TV/HD, desc: "Series: Episode HD"}
|
||||
- {id: 85, cat: TV/SD, desc: "Series: Episode SD"}
|
||||
- {id: 59, cat: TV/SD, desc: "Series: Tv - Pack SD"}
|
||||
- {id: 100, cat: TV/HD, desc: "Series: Tv - Pack HD"}
|
||||
- {id: 101, cat: TV/HD, desc: "Series: Episode HD Vostfr"}
|
||||
- {id: 102, cat: TV/SD, desc: "Series: Episode SD Vostfr"}
|
||||
- {id: 103, cat: TV/HD, desc: "Series: Tv - Pack HD Vostfr"}
|
||||
- {id: 104, cat: TV/SD, desc: "Series: Tv - Pack SD Vostfr"}
|
||||
- {id: 88, cat: TV, desc: "Spectacles: Tous"}
|
||||
- {id: 73, cat: TV/Documentary, desc: "TV: Documentaires"}
|
||||
- {id: 83, cat: TV, desc: "TV: Emissions"}
|
||||
- {id: 74, cat: TV/Sport, desc: "TV: Sports"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: p#msgError
|
||||
test:
|
||||
path: torrents-search.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: torrents-search.php
|
||||
selector: div#infobar b
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr.t-row
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="] b
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: img[src*="/uploads/images/"]
|
||||
attribute: src
|
||||
grabs:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Snatched: </b>(\\d+)<br"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
date:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "le: </b>(.*?)<br"
|
||||
- name: dateparse
|
||||
args: "02-01-2006"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.gif"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
339
src/Jackett.Common/Definitions/casstudiotv.yml
Normal file
339
src/Jackett.Common/Definitions/casstudiotv.yml
Normal file
@@ -0,0 +1,339 @@
|
||||
---
|
||||
site: casstudiotv
|
||||
name: CasStudioTV
|
||||
description: "CasStudioTV is a RUSSIAN Private Torrent Tracker for TV"
|
||||
language: ru
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://casstudio.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 259, cat: TV, desc: "Сериалы (TV Series)"}
|
||||
- {id: 56, cat: TV, desc: "Зарубежные сериалы (Foreign series)"}
|
||||
- {id: 310, cat: TV, desc: "9-1-1"}
|
||||
- {id: 246, cat: TV, desc: "11.22.63"}
|
||||
- {id: 158, cat: TV, desc: "4400 / The 4400"}
|
||||
- {id: 86, cat: TV, desc: "12 Обезьян / 12 Monkeys"}
|
||||
- {id: 120, cat: TV, desc: "Агенты Щ.И.Т. / Agents of S.H.I.E.L.D."}
|
||||
- {id: 72, cat: TV, desc: "Агент Картер / Agent Carter"}
|
||||
- {id: 103, cat: TV, desc: "Ад На Колёсах / Hell On Wheels"}
|
||||
- {id: 110, cat: TV, desc: "Американская семейка / Modern Family"}
|
||||
- {id: 62, cat: TV, desc: "Американцы / The Americans"}
|
||||
- {id: 70, cat: TV, desc: "Анатомия страсти / Анатомия Грей / Grey's Anatomy"}
|
||||
- {id: 210, cat: TV, desc: "База Куантико / Quantico"}
|
||||
- {id: 305, cat: TV, desc: "Беглецы / Runaways"}
|
||||
- {id: 122, cat: TV, desc: "Безумцы / Mad Men"}
|
||||
- {id: 134, cat: TV, desc: "Белый воротничок / White Collar"}
|
||||
- {id: 281, cat: TV, desc: "Барыги / Narcos"}
|
||||
- {id: 239, cat: TV, desc: "Баскетс / Baskets"}
|
||||
- {id: 155, cat: TV, desc: "Бешеные псы / Mad Dogs"}
|
||||
- {id: 243, cat: TV, desc: "Библиотекари / The Librarians"}
|
||||
- {id: 154, cat: TV, desc: "Блудливая Калифорния / Californication"}
|
||||
- {id: 208, cat: TV, desc: "Бойтесь ходячих мертвецов / Fear the Walking Dead"}
|
||||
- {id: 150, cat: TV, desc: "Больница Никербокер / The Knick"}
|
||||
- {id: 119, cat: TV, desc: "Бывает и хуже / The Middle"}
|
||||
- {id: 87, cat: TV, desc: "В поле зрения / Person of Interest"}
|
||||
- {id: 219, cat: TV, desc: "В пустыне смерти / Into the Badlands"}
|
||||
- {id: 118, cat: TV, desc: "Веб терапия / Web Therapy"}
|
||||
- {id: 123, cat: TV, desc: "Ведьмы Ист-Энда / Witches of East End"}
|
||||
- {id: 309, cat: TV, desc: "Видоизмененный углерод / Altered Carbon"}
|
||||
- {id: 241, cat: TV, desc: "Винил / Vinyl"}
|
||||
- {id: 91, cat: TV, desc: "Викинги / Vikings"}
|
||||
- {id: 172, cat: TV, desc: "Вице-Президент / Veep"}
|
||||
- {id: 204, cat: TV, desc: "Власть в ночном городе / Power"}
|
||||
- {id: 228, cat: TV, desc: "Волшебники / The Magicians"}
|
||||
- {id: 220, cat: TV, desc: "Восприятие / Perception"}
|
||||
- {id: 254, cat: TV, desc: "Восстание / Rebellion"}
|
||||
- {id: 248, cat: TV, desc: "Вместе / Togetherness"}
|
||||
- {id: 192, cat: TV, desc: "Водолей / Aquarius"}
|
||||
- {id: 65, cat: TV, desc: "Возмездие / Revenge"}
|
||||
- {id: 121, cat: TV, desc: "Все Ненавидят Криса / Everybody Hates Chris"}
|
||||
- {id: 166, cat: TV, desc: "Ганнибал / Hannibal"}
|
||||
- {id: 211, cat: TV, desc: "Герои: Возрождение / Heroes Reborn"}
|
||||
- {id: 293, cat: TV, desc: "Голубая кровь / Blue Bloods"}
|
||||
- {id: 145, cat: TV, desc: "Город Хищниц / Cougar Town"}
|
||||
- {id: 61, cat: TV, desc: "Готэм / Gotham"}
|
||||
- {id: 117, cat: TV, desc: "Гримм / Grimm"}
|
||||
- {id: 108, cat: TV, desc: "Две девицы на мели / 2 Broke Girls"}
|
||||
- {id: 66, cat: TV, desc: "Девочки / Girls"}
|
||||
- {id: 271, cat: TV, desc: "Девушка по вызову / The Girlfriend Experience"}
|
||||
- {id: 176, cat: TV, desc: "Декстер / Dexter"}
|
||||
- {id: 232, cat: TV, desc: "Десница Божья / Hand of God"}
|
||||
- {id: 307, cat: TV, desc: "Династия / Dynasty"}
|
||||
- {id: 102, cat: TV, desc: "Дневники вампира / The Vampire Diaries"}
|
||||
- {id: 229, cat: TV, desc: "Джессика Джонс / Jessica Jones"}
|
||||
- {id: 282, cat: TV, desc: "Дорожная команда / Roadies"}
|
||||
- {id: 205, cat: TV, desc: "До смерти красива / Drop Dead Diva"}
|
||||
- {id: 104, cat: TV, desc: "Древние / The Originals"}
|
||||
- {id: 278, cat: TV, desc: "Загадочные события / Stranger Things"}
|
||||
- {id: 182, cat: TV, desc: "Задержка в развитии / Arrested Development"}
|
||||
- {id: 201, cat: TV, desc: "За пределами / Выжившая / Род человеческий / Extant"}
|
||||
- {id: 301, cat: TV, desc: "Защитники / The Defenders"}
|
||||
- {id: 314, cat: TV, desc: "Звёздный путь / Star Trek"}
|
||||
- {id: 167, cat: TV, desc: "Зов крови / Потерянная / Фейри / Lost Girl"}
|
||||
- {id: 116, cat: TV, desc: "Зовите меня Фитц / Call Me Fitz"}
|
||||
- {id: 74, cat: TV, desc: "Империя / Empire"}
|
||||
- {id: 75, cat: TV, desc: "Как избежать наказания за убийство / How to Get Away with Murder"}
|
||||
- {id: 203, cat: TV, desc: "Как бы счастье / Happyish"}
|
||||
- {id: 141, cat: TV, desc: "Как Я Встретил Вашу Маму / How I Met Your Mother"}
|
||||
- {id: 277, cat: TV, desc: "Карантин / Containment"}
|
||||
- {id: 306, cat: TV, desc: "Каратель / The Punisher"}
|
||||
- {id: 174, cat: TV, desc: "Карточный домик / House of Cards"}
|
||||
- {id: 63, cat: TV, desc: "Касл / Castle"}
|
||||
- {id: 285, cat: TV, desc: "Квантовый скачок / Quantum Leap"}
|
||||
- {id: 169, cat: TV, desc: "Кей и Пил / Key and Peele"}
|
||||
- {id: 195, cat: TV, desc: "Киллджойс / Killjoys"}
|
||||
- {id: 222, cat: TV, desc: "Клуб жен астронавтов / The Astronaut Wives Club"}
|
||||
- {id: 197, cat: TV, desc: "Коварные горничные / Devious Maids"}
|
||||
- {id: 230, cat: TV, desc: "Колония / Colony"}
|
||||
- {id: 170, cat: TV, desc: "Континуум / Continuum"}
|
||||
- {id: 233, cat: TV, desc: "Конец детства / Childhood's End"}
|
||||
- {id: 147, cat: TV, desc: "Копы-новобранцы / Rookie Blue"}
|
||||
- {id: 291, cat: TV, desc: "Королева Юга / Queen of the South"}
|
||||
- {id: 193, cat: TV, desc: "Красавица и чудовище / Beauty and the Beast"}
|
||||
- {id: 132, cat: TV, desc: "Крах / The Fall"}
|
||||
- {id: 146, cat: TV, desc: "Красотки в Кливленде / Hot in Cleveland"}
|
||||
- {id: 171, cat: TV, desc: "Красавцы / Антураж / Entourage"}
|
||||
- {id: 207, cat: TV, desc: "Кремниевая долина / Silicon Valley"}
|
||||
- {id: 238, cat: TV, desc: "Легенды завтрашнего дня / Legends of Tomorrow"}
|
||||
- {id: 300, cat: TV, desc: "Легион / Legion"}
|
||||
- {id: 294, cat: TV, desc: "Лемони Сникет: 33 несчастья / A Series of Unfortunate Events"}
|
||||
- {id: 130, cat: TV, desc: "Лиллехаммер / Lilyhammer"}
|
||||
- {id: 276, cat: TV, desc: "Любовницы / Mistresses US"}
|
||||
- {id: 198, cat: TV, desc: "Люди / Humans"}
|
||||
- {id: 165, cat: TV, desc: "Лютер / Luther"}
|
||||
- {id: 247, cat: TV, desc: "Люцифер / Lucifer"}
|
||||
- {id: 313, cat: TV, desc: "МакГайвер / MacGyver"}
|
||||
- {id: 127, cat: TV, desc: "Майк и Молли / Mike & Molly"}
|
||||
- {id: 156, cat: TV, desc: "Мастера Секса / Masters of Sex"}
|
||||
- {id: 245, cat: TV, desc: "Медики Чикаго / Chicago Med"}
|
||||
- {id: 180, cat: TV, desc: "Миллеры в разводе / The Millers"}
|
||||
- {id: 244, cat: TV, desc: "Миллиарды / Billions"}
|
||||
- {id: 234, cat: TV, desc: "Мистер Робинсон / Mr. Robinson"}
|
||||
- {id: 200, cat: TV, desc: "Мистер робот / Mr. Robot"}
|
||||
- {id: 173, cat: TV, desc: "Мост / Broen / Bron"}
|
||||
- {id: 126, cat: TV, desc: "Мотель Бейтс / Bates Motel"}
|
||||
- {id: 231, cat: TV, desc: "Моцарт в джунглях / Mozart in the Jungle"}
|
||||
- {id: 69, cat: TV, desc: "Мушкетеры / The Musketeers"}
|
||||
- {id: 76, cat: TV, desc: "Мыслить как преступник / Criminal Minds"}
|
||||
- {id: 202, cat: TV, desc: "На грани / The Brink"}
|
||||
- {id: 175, cat: TV, desc: "Налёт / Braquo"}
|
||||
- {id: 125, cat: TV, desc: "Настоящая кровь / True Blood"}
|
||||
- {id: 152, cat: TV, desc: "Настоящий детектив / True Detective"}
|
||||
- {id: 79, cat: TV, desc: "Не те парни / The Wrong Mans"}
|
||||
- {id: 164, cat: TV, desc: "Нэшвилл / Nashville"}
|
||||
- {id: 58, cat: TV, desc: "Обитель лжи / House of Lies"}
|
||||
- {id: 137, cat: TV, desc: "Оборотень / Teen Wolf"}
|
||||
- {id: 303, cat: TV, desc: "Одаренные / The Gifted"}
|
||||
- {id: 92, cat: TV, desc: "Однажды в сказке / Once Upon A Time"}
|
||||
- {id: 279, cat: TV, desc: "Однажды ночью / The Night Of"}
|
||||
- {id: 275, cat: TV, desc: "Оранжевый - хит сезона / Orange is the New Black"}
|
||||
- {id: 304, cat: TV, desc: "Орвилл / The Orville"}
|
||||
- {id: 212, cat: TV, desc: "Оставленные / The Leftovers"}
|
||||
- {id: 139, cat: TV, desc: "Острые козырьки / Peaky Blinders"}
|
||||
- {id: 163, cat: TV, desc: "Отчаянные домохозяйки / Desperate Housewives"}
|
||||
- {id: 138, cat: TV, desc: "Отбросы / Misfits"}
|
||||
- {id: 80, cat: TV, desc: "Пересекающиеся линии / Пересекая черту / Crossing Lines"}
|
||||
- {id: 218, cat: TV, desc: "Плоть и кости / Flesh and Bone"}
|
||||
- {id: 99, cat: TV, desc: "Под куполом / Under The Dome"}
|
||||
- {id: 149, cat: TV, desc: "Подпольная Империя / Boardwalk Empire"}
|
||||
- {id: 78, cat: TV, desc: "Помнить все / Незабываемое / Unforgettable"}
|
||||
- {id: 272, cat: TV, desc: "Поворот / TURN"}
|
||||
- {id: 90, cat: TV, desc: "Пожарные Чикаго / Chicago Fire"}
|
||||
- {id: 236, cat: TV, desc: "Полицейские на велосипедах / Pacific Blue"}
|
||||
- {id: 144, cat: TV, desc: "Полиция Гавайев / Hawaii Five-0"}
|
||||
- {id: 77, cat: TV, desc: "Полиция Чикаго / Chicago PD"}
|
||||
- {id: 162, cat: TV, desc: "Последователи / The Following"}
|
||||
- {id: 287, cat: TV, desc: "Приговор / Conviction"}
|
||||
- {id: 135, cat: TV, desc: "ПригорАД / Suburgatory"}
|
||||
- {id: 274, cat: TV, desc: "Проповедник / Preacher"}
|
||||
- {id: 113, cat: TV, desc: "Просветленная / Enlightened"}
|
||||
- {id: 235, cat: TV, desc: "Пространство / The Expanse"}
|
||||
- {id: 290, cat: TV, desc: "Радиоволна / Frequency"}
|
||||
- {id: 112, cat: TV, desc: "Революция / Revolution"}
|
||||
- {id: 83, cat: TV, desc: "Родина / Homeland"}
|
||||
- {id: 128, cat: TV, desc: "Рэй Донован / Ray Donovan"}
|
||||
- {id: 136, cat: TV, desc: "Риццоли и Айлc / Rizzoli & Isles"}
|
||||
- {id: 160, cat: TV, desc: "Рухнувшие Небеса / Falling Skies"}
|
||||
- {id: 199, cat: TV, desc: "Салем / Salem"}
|
||||
- {id: 111, cat: TV, desc: "Сверхъестественное / Supernatural"}
|
||||
- {id: 157, cat: TV, desc: "Секретные материалы / X-Files"}
|
||||
- {id: 267, cat: TV, desc: "Семья / The Family"}
|
||||
- {id: 311, cat: TV, desc: "Сирена / Siren"}
|
||||
- {id: 64, cat: TV, desc: "Скандал / Scandal"}
|
||||
- {id: 213, cat: TV, desc: "Слепое пятно / Blindspot"}
|
||||
- {id: 129, cat: TV, desc: "Служба новостей / Новости / The Newsroom"}
|
||||
- {id: 286, cat: TV, desc: "Смертельное Оружие / Lethal Weapon"}
|
||||
- {id: 93, cat: TV, desc: "Сообщество / Community"}
|
||||
- {id: 179, cat: TV, desc: "Сопрано / The Sopranos"}
|
||||
- {id: 194, cat: TV, desc: "Сорвиголова / Daredevil"}
|
||||
- {id: 109, cat: TV, desc: "Сотня / 100 / The Hundred"}
|
||||
- {id: 153, cat: TV, desc: "Спартак / Spartacus"}
|
||||
- {id: 266, cat: TV, desc: "Страна чудес / Wonderland"}
|
||||
- {id: 191, cat: TV, desc: "Страшные сказки / Penny Dreadful"}
|
||||
- {id: 131, cat: TV, desc: "Стрела / Arrow"}
|
||||
- {id: 190, cat: TV, desc: "Супергёрл / Supergirl"}
|
||||
- {id: 82, cat: TV, desc: "Сыны Анархии / Sons of Anarchy"}
|
||||
- {id: 295, cat: TV, desc: "Табу / Taboo"}
|
||||
- {id: 273, cat: TV, desc: "Тайны Лауры / The Mysteries of Laura"}
|
||||
- {id: 178, cat: TV, desc: "Твин Пикс / Twin Peaks"}
|
||||
- {id: 107, cat: TV, desc: "Теория Большого Взрыва / The Big Bang Theory"}
|
||||
- {id: 196, cat: TV, desc: "Тёмная материя / Dark Matter"}
|
||||
- {id: 280, cat: TV, desc: "Тик / The Tick"}
|
||||
- {id: 181, cat: TV, desc: "Тугая струна / Wire in the Blood"}
|
||||
- {id: 95, cat: TV, desc: "Убийство / The Killing"}
|
||||
- {id: 81, cat: TV, desc: "Убить скуку / Bored to Death"}
|
||||
- {id: 98, cat: TV, desc: "Уилфред / Wilfred"}
|
||||
- {id: 187, cat: TV, desc: "Уэйуорд Пайнс / Wayward Pines"}
|
||||
- {id: 142, cat: TV, desc: "Флэш / Flash"}
|
||||
- {id: 168, cat: TV, desc: "Форс-мажоры / Костюмы / Suits"}
|
||||
- {id: 59, cat: TV, desc: "Ходячие мертвецы / The Walking Dead"}
|
||||
- {id: 308, cat: TV, desc: "Хороший доктор / The Good Doctor"}
|
||||
- {id: 143, cat: TV, desc: "Хранилище 13 / Warehouse 13"}
|
||||
- {id: 237, cat: TV, desc: "Хроники Шаннары / The Shannara Chronicles"}
|
||||
- {id: 94, cat: TV, desc: "Хэйвен / Haven"}
|
||||
- {id: 124, cat: TV, desc: "Царство / Reign"}
|
||||
- {id: 268, cat: TV, desc: "Час пик / Rush Hour"}
|
||||
- {id: 115, cat: TV, desc: "Чёрное зеркало / Black Mirror"}
|
||||
- {id: 73, cat: TV, desc: "Черные Паруса / Black Sails"}
|
||||
- {id: 177, cat: TV, desc: "Черный список / The Blacklist"}
|
||||
- {id: 189, cat: TV, desc: "Шёпот / The Whispers"}
|
||||
- {id: 106, cat: TV, desc: "Шпионка / Alias"}
|
||||
- {id: 85, cat: TV, desc: "Штамм / The Strain"}
|
||||
- {id: 288, cat: TV, desc: "Экзорцист / The Exorcist"}
|
||||
- {id: 105, cat: TV, desc: "Элементарно / Elementary"}
|
||||
- {id: 217, cat: TV, desc: "Эш против Зловещих мертвецов / Ash vs Evil Dead"}
|
||||
- {id: 270, cat: TV, desc: "яЗомби / iZombie"}
|
||||
- {id: 53, cat: TV, desc: "Другие сериалы (Other TV series)"}
|
||||
- {id: 240, cat: TV, desc: "Клим (Klim)"}
|
||||
- {id: 283, cat: TV, desc: "Amazon"}
|
||||
- {id: 284, cat: TV, desc: "Amazon English"}
|
||||
- {id: 88, cat: TV, desc: "Мультсериалы (Cartoons)"}
|
||||
- {id: 101, cat: TV, desc: "Южный Парк / South Park"}
|
||||
- {id: 89, cat: TV, desc: "Спецагент Арчер / Archer"}
|
||||
- {id: 225, cat: TV, desc: "Стендап / Stand Up"}
|
||||
- {id: 54, cat: TV, desc: "Особый раздел (Special section)"}
|
||||
- {id: 100, cat: TV, desc: "Короткометражки (Short films)"}
|
||||
- {id: 60, cat: TV, desc: "Документальные (Documentaries)"}
|
||||
- {id: 159, cat: TV, desc: "Разное (Misc.)"}
|
||||
- {id: 261, cat: TV, desc: "Спорт (Sport)"}
|
||||
- {id: 262, cat: TV, desc: "Автомотоспорт (Autosport)"}
|
||||
- {id: 263, cat: TV, desc: "Формула 1 / Formula 1"}
|
||||
- {id: 264, cat: TV, desc: "MotoGP / SBK"}
|
||||
- {id: 265, cat: TV, desc: "V8 supercars"}
|
||||
- {id: 31, cat: TV, desc: "Пользователи (Users)"}
|
||||
- {id: 188, cat: TV, desc: "Поздравления (Congratulations)"}
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: ucp.php?mode=login
|
||||
method: form
|
||||
form: form#login
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: fieldset:has(div.error)
|
||||
test:
|
||||
path: /
|
||||
selector: :has(a[href^="./ucp.php?mode=logout&sid="])
|
||||
|
||||
# download:
|
||||
# selector: a[href^="./download/file.php?id="]:not(img)
|
||||
|
||||
search:
|
||||
paths:
|
||||
#https://casstudio.tv/search.php?tracker_search=torrent&keywords=star&terms=all&author=&sc=1&sf=titleonly&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search
|
||||
- path: search.php
|
||||
inputs:
|
||||
tracker_search: "torrent"
|
||||
keywords: "{{if .Keywords }}{{.Keywords}}{{else}}star{{end}}"
|
||||
terms: "all"
|
||||
author: ""
|
||||
sc: "1"
|
||||
sf: "titleonly"
|
||||
sr: "topics"
|
||||
sk: "t"
|
||||
sd: "d"
|
||||
st: "0"
|
||||
ch: "300"
|
||||
t: "0"
|
||||
submit: "Search"
|
||||
|
||||
rows:
|
||||
selector: tr.row
|
||||
fields:
|
||||
title:
|
||||
selector: a.topictitle
|
||||
details:
|
||||
selector: a.topictitle
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="./viewforum.php?f="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
download:
|
||||
selector: a[href^="./download/file.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: a[href^="./viewforum.php?f="] + b
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["ТБ", "TB"]
|
||||
- name: replace
|
||||
args: ["ГБ", "GB"]
|
||||
- name: replace
|
||||
args: ["МБ", "MB"]
|
||||
- name: replace
|
||||
args: ["КБ", "KB"]
|
||||
seeders:
|
||||
selector: td.forumtopics span.seed
|
||||
leechers:
|
||||
selector: td.forumtopics span.leech
|
||||
grabs:
|
||||
selector: td.forumposts span.complet
|
||||
date:
|
||||
# 12 янв 2019, 11:26
|
||||
selector: td.forumdetails span.forum-descriptions
|
||||
filters:
|
||||
# extract the date
|
||||
- name: regexp
|
||||
args: "(\\d{2} \\D{3} \\d{4}, \\d{2}:\\d{2})"
|
||||
# replace month abbreviations
|
||||
- name: replace
|
||||
args: ["янв", "Jan"]
|
||||
- name: replace
|
||||
args: ["фев", "Feb"]
|
||||
- name: replace
|
||||
args: ["мар", "Mar"]
|
||||
- name: replace
|
||||
args: ["апр", "Apr"]
|
||||
- name: replace
|
||||
args: ["май", "May"]
|
||||
- name: replace
|
||||
args: ["июн", "Jun"]
|
||||
- name: replace
|
||||
args: ["июл", "Jul"]
|
||||
- name: replace
|
||||
args: ["авг", "Aug"]
|
||||
- name: replace
|
||||
args: ["сен", "Sep"]
|
||||
- name: replace
|
||||
args: ["окт", "Oct"]
|
||||
- name: replace
|
||||
args: ["ноя", "Nov"]
|
||||
- name: replace
|
||||
args: ["дек", "Dec"]
|
||||
- name: dateparse
|
||||
args: "02 Jan 06, 15:04"
|
||||
downloadvolumefactor:
|
||||
text: "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -47,7 +47,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
@@ -56,11 +56,11 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("登录失败"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
method: get
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
|
141
src/Jackett.Common/Definitions/channelx.yml
Normal file
141
src/Jackett.Common/Definitions/channelx.yml
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
site: Channelx
|
||||
name: ChannelX
|
||||
description: "ChannelX is a Private Torrent Tracker for High Quality Optimized HD MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://channelx.online/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Audiotracks"}
|
||||
- {id: 4, cat: TV/Sport, desc: "Sports"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: torrents
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: torrents
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download_check/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D 1.9
|
@@ -1,12 +1,12 @@
|
||||
---
|
||||
site: chdbits
|
||||
name: CHDBits
|
||||
description: "A general tracker"
|
||||
description: "CHDBits is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://chdbits.co
|
||||
- https://chdbits.co/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -25,7 +25,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -33,10 +33,10 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
ratio:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
selector: table#info_block
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
|
142
src/Jackett.Common/Definitions/cinefilhd.yml
Normal file
142
src/Jackett.Common/Definitions/cinefilhd.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
site: cinefilhd
|
||||
name: CiNEFiLHD
|
||||
description: "CiNEFiLHD is a Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.cinefilhd.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 37, cat: Movies/HD, desc: " Internal/HD-1080p"}
|
||||
- {id: 17, cat: Movies/HD, desc: " Internal/HD-720p"}
|
||||
- {id: 30, cat: TV/HD, desc: " Internal/HDTV"}
|
||||
- {id: 15, cat: Movies/HD, desc: " Internal/mHD"}
|
||||
- {id: 40, cat: Movies, desc: " Internal/Mp4"}
|
||||
- {id: 26, cat: Movies, desc: " Internal/Remux"}
|
||||
- {id: 45, cat: Movies/WEBDL, desc: " Internal/WEB-DL"}
|
||||
- {id: 25, cat: Movies/3D, desc: " Movies/3D-Ou"}
|
||||
- {id: 16, cat: Movies/3D, desc: " Movies/3D-SbS"}
|
||||
- {id: 5, cat: Movies/BluRay, desc: " Movies/BluRay"}
|
||||
- {id: 38, cat: Movies/HD, desc: " Movies/HD-1080p"}
|
||||
- {id: 10, cat: Movies/HD, desc: " Movies/HD-720p"}
|
||||
- {id: 29, cat: Movies/HD, desc: " Movies/mHD"}
|
||||
- {id: 41, cat: Movies, desc: " Movies/Mp4"}
|
||||
- {id: 39, cat: Movies, desc: " Movies/Remux"}
|
||||
- {id: 44, cat: Movies/WEBDL, desc: " Movies/WEB-DL"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: " Lossless"}
|
||||
- {id: 14, cat: Audio/MP3, desc: " MP3-Packs"}
|
||||
- {id: 22, cat: Audio/MP3, desc: " Music-MP3"}
|
||||
- {id: 43, cat: Audio/Video, desc: " Music/1080p"}
|
||||
- {id: 42, cat: Audio/Video, desc: " Music/720p"}
|
||||
- {id: 12, cat: TV/HD, desc: " HDTV-Packs"}
|
||||
- {id: 21, cat: TV/HD, desc: " Movies/HDTV"}
|
||||
|
||||
modes:
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
submitme: "LOGIN"
|
||||
returnto: /
|
||||
error:
|
||||
- selector: h2:contains("failed")
|
||||
message:
|
||||
selector: td.colhead2
|
||||
test:
|
||||
path: browse.php
|
||||
selector: :has(a[href^="logout.php?hash_please="])
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: div div font:contains("Ratio:")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio:\\s(.*?)\\s"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
# title descr genre all
|
||||
searchin: "{{ if .Query.IMDBID }}descr{{else}}title{{end}}"
|
||||
# 0=active 1=incl dead 2=only dead
|
||||
incldead: 1
|
||||
# 0=no 1=yes
|
||||
only_free: 0
|
||||
rows:
|
||||
selector: table.mainouter table > tbody > tr:has(a[href^="details.php?id="]), table.mainouter table > tbody > tr[id^="kdescr"]
|
||||
after: 1
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
banner:
|
||||
selector: a[href^="details.php?id="][onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
# onmouseover="Tip('<img class=\'pup\' src=\'https://image.tmdb.org/t/p/original/x96AdPlpl4MjUP2DeUhRJifhCMd.jpg\' width=
|
||||
- name: regexp
|
||||
args: src=\\'(.*?)\\'
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
files:
|
||||
selector: td:nth-child(4)
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Today<br /> 10:20 AM
|
||||
# Yesterday<br /> 08:03 PM
|
||||
optional: true
|
||||
selector: td:nth-child(6):contains("day")
|
||||
date:
|
||||
# Feb 14 2019<br /> 10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-child(6):not(:contains("day"))
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 pm"
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d,]+)
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
tr.freeleech_color: "0"
|
||||
tr.highlight: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# U-232 v3
|
@@ -9,7 +9,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.cinematik.net
|
||||
- https://www.cinematik.net/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
|
@@ -34,7 +34,7 @@
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{if .Keywords}}\"{{.Keywords}}\"{{else}}{{end}}"
|
||||
rows:
|
||||
selector: table > tbody > tr:has(a[href^="torrents.php?cat="])
|
||||
fields:
|
||||
|
@@ -7,7 +7,7 @@
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.cpabien.link/
|
||||
- https://www.cpasbien.vg/
|
||||
legacylinks:
|
||||
- http://www.cpasbiens.cc/
|
||||
- http://www.cpabien.cm/
|
||||
@@ -32,6 +32,9 @@
|
||||
- https://www.cpasbien.re/
|
||||
- http://www.cpasbien.io/
|
||||
- https://www.cpabien.bz/
|
||||
- https://www.cpabien.link/
|
||||
- https://www.cpasbiens.cz/
|
||||
- https://www.cpasbiens.bz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -45,16 +48,13 @@
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: div#telecharger a
|
||||
selector: div.btn-download a
|
||||
attribute: href
|
||||
search:
|
||||
paths:
|
||||
- path: search.php
|
||||
method: post
|
||||
inputs:
|
||||
t: "{{ .Keywords }}"
|
||||
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div.ligne1, div.ligne2
|
||||
selector: div#gauche > table > tbody > tr:has(a)
|
||||
fields:
|
||||
site_date:
|
||||
selector: a
|
||||
|
96
src/Jackett.Common/Definitions/cpasbienclone.yml
Normal file
96
src/Jackett.Common/Definitions/cpasbienclone.yml
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
site: cpasbienclone
|
||||
name: cpasbien clone
|
||||
description: "cpasbien clone is a FRENCH Public site for TV / MOVIES / GENERAL"
|
||||
language: fr-fr
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://cpasbiens.cm/
|
||||
legacylinks:
|
||||
- https://www1.cpasbiens.ws/
|
||||
- https://www2.cpasbiens.ws/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: films, cat: Movies, desc: "Movies"}
|
||||
- {id: series, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: div#btn-download a
|
||||
attribute: href
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div#gauche > table > tbody > tr:has(a)
|
||||
fields:
|
||||
site_date:
|
||||
selector: a
|
||||
filters:
|
||||
# date is at the end of the title, so we get it and name it site_date
|
||||
- name: regexp
|
||||
args: "(\\w+)$"
|
||||
title:
|
||||
selector: a
|
||||
filters:
|
||||
# now we put the date at the right place according scene naming rules using .Result.site_date
|
||||
- name: replace
|
||||
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
args: ["VOSTFR", "{{ .Result.site_date }} VOSTFR"]
|
||||
# and we delete it at the end
|
||||
- name: re_replace
|
||||
args: ["(\\w+)$", ""]
|
||||
details:
|
||||
selector: a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a
|
||||
attribute: href
|
||||
size:
|
||||
selector: div.poid
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Ko", "$1X00"]
|
||||
- name: re_replace
|
||||
args: [ " Ko", "000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Mo", "$1X00000"]
|
||||
- name: re_replace
|
||||
args: [ " Mo", "000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Go", "$1X00000000"]
|
||||
- name: re_replace
|
||||
args: [ " Go", "000000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) To", "$1X00000000000"]
|
||||
- name: re_replace
|
||||
args: [ " To", "000000000000"]
|
||||
- name: replace
|
||||
args: [ "X", "" ]
|
||||
date:
|
||||
text: "now"
|
||||
seeders:
|
||||
text: 0
|
||||
seeders:
|
||||
selector: div.up
|
||||
optional: true
|
||||
leechers:
|
||||
text: 0
|
||||
leechers:
|
||||
selector: div.down
|
||||
optional: true
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
159
src/Jackett.Common/Definitions/crnaberza.yml
Normal file
159
src/Jackett.Common/Definitions/crnaberza.yml
Normal file
@@ -0,0 +1,159 @@
|
||||
---
|
||||
site: crnaberza
|
||||
name: CrnaBerza
|
||||
description: "Crna Berza is a BALKAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: sr-sp
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.crnaberza.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 65, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 37, cat: Movies, desc: "Deca"}
|
||||
- {id: 43, cat: TV/Documentary, desc: "Dokumentarci"}
|
||||
- {id: 52, cat: Movies/DVD, desc: "Film/DVD Domaće"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Film/DVD Strano"}
|
||||
- {id: 73, cat: Movies/HD, desc: "Film/HD Domaće"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Film/HD Strano"}
|
||||
- {id: 29, cat: Movies/SD, desc: "Film/SD Domaće"}
|
||||
- {id: 54, cat: Movies/SD, desc: "Film/SD Strano"}
|
||||
- {id: 64, cat: Movies/HD, desc: "HD Boxset"}
|
||||
- {id: 61, cat: Movies/HD, desc: "HD Mesano"}
|
||||
- {id: 50, cat: PC/Games, desc: "Igre"}
|
||||
- {id: 44, cat: Books, desc: "Knjige"}
|
||||
- {id: 46, cat: Audio, desc: "Koncerti"}
|
||||
- {id: 58, cat: Audio/Lossless, desc: "Lossless/Domaće"}
|
||||
- {id: 59, cat: Audio/Lossless, desc: "Lossless/Strano"}
|
||||
- {id: 5, cat: Audio/MP3, desc: "MP3/Domaće"}
|
||||
- {id: 57, cat: Audio/MP3, desc: "MP3/Strano"}
|
||||
- {id: 49, cat: PC, desc: "Programi"}
|
||||
- {id: 28, cat: Other, desc: "Razno"}
|
||||
- {id: 62, cat: TV/SD, desc: "SD Boxset"}
|
||||
- {id: 38, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 39, cat: Audio/Video, desc: "Spotovi DVD"}
|
||||
- {id: 45, cat: Books/Comics, desc: "Stripovi"}
|
||||
- {id: 75, cat: TV/HD, desc: "TV/HD Domaće"}
|
||||
- {id: 77, cat: TV/HD, desc: "TV/HD Strano"}
|
||||
- {id: 78, cat: TV/Other, desc: "TV/ostalo"}
|
||||
- {id: 30, cat: TV/SD, desc: "TV/SD Domaće"}
|
||||
- {id: 34, cat: TV/SD, desc: "TV/SD Strano"}
|
||||
- {id: 60, cat: XXX, desc: "XXX/Domace"}
|
||||
- {id: 63, cat: XXX, desc: "XXX/Strano"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: incldead
|
||||
type: select
|
||||
label: "Search Torrents that are:"
|
||||
default: "0"
|
||||
options:
|
||||
"0" : "Active"
|
||||
"1": "Including Dead"
|
||||
"2": "Only Dead"
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the 'Torrents per page' setting to 100 on your 'Personal Options' from the 'Personal' menu on the Crna Berza webpage.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
submitme: "X"
|
||||
error:
|
||||
- selector: h2
|
||||
message:
|
||||
selector: table tr td.text
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href$="/logout.php"]
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: div div font:contains("Ratio:")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio:\\s(.*?)\\s\\s"
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://www.crnaberza.com/browse.php?c52=1&c20=1&c73=1&c48=1&c29=1&c75=1&c77=1&c78=1&c30=1&c34=1&incldead=1&search=star+trek
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
searchin: "title"
|
||||
incldead: "{{ .Config.incldead }}"
|
||||
|
||||
rows:
|
||||
selector: tr:has(td.trowtorrent)
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-of-type(1) a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "[-](\\d{1,2})$"
|
||||
title:
|
||||
selector: td:nth-of-type(2) a
|
||||
details:
|
||||
selector: td:nth-of-type(2) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-of-type(3) a
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-of-type(4)
|
||||
date:
|
||||
# Danas<br>08:10 AM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):contains("Danas")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Danas", "Today"]
|
||||
date:
|
||||
# Juče<br>06:44 PM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):contains("Juče")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Juče", "Yesterday"]
|
||||
date:
|
||||
# Feb 14 2019<br>10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):not(:contains("Juče")):not(:contains("Danas"))
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
size:
|
||||
selector: td:nth-of-type(7)
|
||||
grabs:
|
||||
selector: td:nth-of-type(8) a
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "([\\d]+)"
|
||||
seeders:
|
||||
selector: td:nth-of-type(9)
|
||||
leechers:
|
||||
selector: td:nth-of-type(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/pic/freedownload.gif\"]": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -9,13 +9,12 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Filmy"}
|
||||
- {id: 25, cat: TV, desc: "Seriály"}
|
||||
- {id: 23, cat: TV/Documentary, desc: "Filmy - dokument"}
|
||||
- {id: 22, cat: PC, desc: "Aplikace"}
|
||||
- {id: 1, cat: Movies, desc: "Filmy"}
|
||||
- {id: 36, cat: Movies/3D, desc: "Filmy - 3D"}
|
||||
- {id: 35, cat: Movies/Other, desc: "Filmy - anime"}
|
||||
- {id: 37, cat: Movies/BluRay, desc: "Filmy - Blu-ray"}
|
||||
- {id: 33, cat: TV/Documentary, desc: "Filmy - dokument"}
|
||||
- {id: 11, cat: Movies/DVD, desc: "Filmy - DVD"}
|
||||
- {id: 30, cat: Movies/DVD, desc: "Filmy - DVD full"}
|
||||
- {id: 5, cat: Movies, desc: "Filmy - kreslené"}
|
||||
@@ -29,6 +28,7 @@
|
||||
- {id: 32, cat: Audio, desc: "Mluvené slovo"}
|
||||
- {id: 16, cat: PC/Phone-Other, desc: "Mobil, PDA"}
|
||||
- {id: 4, cat: Other, desc: "Ostatní"}
|
||||
- {id: 25, cat: TV, desc: "Seriály"}
|
||||
- {id: 29, cat: Audio, desc: "Soundtrack"}
|
||||
- {id: 19, cat: Audio/Video, desc: "Videoklipy"}
|
||||
- {id: 24, cat: XXX, desc: "xXx"}
|
||||
@@ -42,17 +42,21 @@
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
s: "{{ .Keywords }}"
|
||||
@@ -84,11 +88,11 @@
|
||||
- name: re_replace
|
||||
args: ["(\\d{1})\\.", "S0$1"]
|
||||
category:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.categorie
|
||||
case:
|
||||
":contains(\"Filmy\")": 1
|
||||
":contains(\"Seriály\")": 25
|
||||
":contains(\"Filmy - dokument\")": 23
|
||||
":contains(\"Filmy - dokument\")": 33
|
||||
":contains(\"Aplikace\")": 22
|
||||
":contains(\"Filmy - 3D\")": 36
|
||||
":contains(\"Filmy - anime\")": 35
|
||||
@@ -119,20 +123,16 @@
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 0 ]
|
||||
- name: regexp
|
||||
args: "Velikost: (.+?) ?$"
|
||||
args: [ "|", 1 ]
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 1 ]
|
||||
- name: regexp
|
||||
args: "Přidán: (.+?) ?$"
|
||||
args: [ "|", 2 ]
|
||||
- name: append
|
||||
args: " +02:00"
|
||||
- name: dateparse
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
seeders:
|
||||
selector: td:nth-child(7) span
|
||||
leechers:
|
||||
|
237
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
237
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
@@ -0,0 +1,237 @@
|
||||
---
|
||||
site: dark-shadow
|
||||
name: Dark-Shadow
|
||||
description: "Dark-Shadow is a German Private site for TV / MOVIES / GENERAL"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dark-shadow.ml/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Film
|
||||
- {id: 32, cat: Movies/HD, desc: "Film HD"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Film SD"}
|
||||
- {id: 119, cat: Movies/DVD, desc: "Film DVD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Film 4K/2160p"}
|
||||
- {id: 26, cat: Movies/3D, desc: "Film 3D"}
|
||||
# Serien
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack"}
|
||||
- {id: 122, cat: TV, desc: "Serien Show"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Serien Doku"}
|
||||
# Doku
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
# Spiele
|
||||
- {id: 17, cat: PC/Games, desc: "Spiele PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiele Konsole"}
|
||||
- {id: 121, cat: Console, desc: "Spiele Wimmelbild"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiele Mobil"}
|
||||
# Musik
|
||||
- {id: 110, cat: Audio/MP3, desc: "Musik MP3"}
|
||||
- {id: 52, cat: Audio, desc: "Musik Pack"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Musik Flac"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Musik Video"}
|
||||
# App
|
||||
- {id: 12, cat: PC/0day, desc: "App PC"}
|
||||
- {id: 125, cat: PC/Mac, desc: "App MacOS"}
|
||||
- {id: 11, cat: PC/Phone-Other, desc: "App Mobil"}
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
# Internal
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal Serien SD"}
|
||||
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
|
||||
# Sonstiges
|
||||
- {id: 64, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 96, cat: Books/Ebook, desc: "e-Book"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Hörbuch"}
|
||||
- {id: 71, cat: Other, desc: "Anderes"}
|
||||
# XXX
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 75, cat: XXX/Packs, desc: "XXX Pack"}
|
||||
- {id: 76, cat: XXX/XviD, desc: "XXX SD"}
|
||||
- {id: 124, cat: XXX/Other, desc: "XXX Clips"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: pin
|
||||
type: text
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
pin: "{{ .Config.pin }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: selection.php
|
||||
|
||||
download:
|
||||
before:
|
||||
path: ajax_det_poll.php
|
||||
method: "post"
|
||||
inputs:
|
||||
set_thanks: "thanks"
|
||||
det_id: "{{ .DownloadUri.Query.torrent }}"
|
||||
ajax: "yes"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
blah: "0"
|
||||
orderby: "added"
|
||||
sort: "desc"
|
||||
rows:
|
||||
selector: div.selection_wrap
|
||||
fields:
|
||||
download:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
title:
|
||||
selector: a.selection_a
|
||||
details:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
category:
|
||||
selector: div.kat_cat_pic
|
||||
case:
|
||||
# Movies
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"4K/2160p\"))": "114"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": "119"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "32"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "28"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": "26"
|
||||
# Serien
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "60"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "57"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "59"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Show\"))": "122"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Doku\"))": "123"
|
||||
# Musik
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": "48"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"MP3\"))": "110"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "52"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Videos\"))": "120"
|
||||
# Doku
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "15"
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "14"
|
||||
# Games
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "17"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": "121"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Konsole\"))": "24"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "126"
|
||||
# App
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "12"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"MacOS\"))": "125"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "11"
|
||||
# Sport
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "62"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "61"
|
||||
# Sonstiges
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Anime\"))": "64"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": "96"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": "63"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": "71"
|
||||
# XXX
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "76"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "73"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "75"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Clips\"))": "124"
|
||||
# Internal
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film HD\"))": "128"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film SD\"))": "129"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien HD\"))": "130"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien SD\"))": "131"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": "132"
|
||||
banner:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
filters:
|
||||
- name: trim
|
||||
args: "x"
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
optional: true
|
@@ -22,6 +22,7 @@
|
||||
- {id: 2, cat: Other, desc: "MiSC"}
|
||||
- {id: 5, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 27, cat: Movies, desc: "Movies | Pack"}
|
||||
- {id: 63, cat: Movies, desc: "Movies | Pack-Ro"}
|
||||
- {id: 46, cat: Movies/3D, desc: "Movies | 3D"}
|
||||
- {id: 26, cat: Movies/SD, desc: "Movies | Cam"}
|
||||
- {id: 25, cat: Movies, desc: "Movies | Documentary"}
|
||||
@@ -30,24 +31,33 @@
|
||||
- {id: 23, cat: Movies/HD, desc: "Movies | HD"}
|
||||
- {id: 31, cat: Movies/HD, desc: "Movies | HD-Ro"}
|
||||
- {id: 34, cat: Movies/Foreign, desc: "Movies | Hindi"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Movies | Xvid"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Movies | Xvid-Ro"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Movies | SD"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Movies | SD-Ro"}
|
||||
- {id: 50, cat: Movies/BluRay, desc: "Movies | Blu-Ray"}
|
||||
- {id: 51, cat: Movies/BluRay, desc: "Movies | Blu-Ray-Ro"}
|
||||
- {id: 55, cat: Movies/UHD, desc: "Movies | 4K"}
|
||||
- {id: 59, cat: Movies/UHD, desc: "Movies | 4K-Ro"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Music | Video"}
|
||||
- {id: 19, cat: Audio , desc: "Music | Mp3/Flac"}
|
||||
- {id: 18, cat: Other, desc: "Other"}
|
||||
- {id: 42, cat: Other, desc: "Premiera | DsT"}
|
||||
- {id: 14, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 47, cat: TV/SD, desc: "Tv | Episodes"}
|
||||
- {id: 28, cat: TV/HD, desc: "Tv-HD | Episodes"}
|
||||
- {id: 47, cat: TV/HD, desc: "Tv | HD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Tv | HD-Ro"}
|
||||
- {id: 28, cat: TV/SD, desc: "Tv | SD"}
|
||||
- {id: 58, cat: TV/SD, desc: "Tv | SD-Ro"}
|
||||
- {id: 54, cat: TV, desc: "Tv | Pack"}
|
||||
- {id: 61, cat: TV, desc: "Tv | Pack-Ro"}
|
||||
- {id: 13, cat: Other, desc: "Tutoriale"}
|
||||
- {id: 12, cat: XXX, desc: "XxX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -55,57 +65,27 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
ratio:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
selector: font:contains("Ratio:") > span
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: div.ncls > table > tbody > tr:has(a.tname)
|
||||
fields:
|
||||
title-attribute:
|
||||
selector: a.tname
|
||||
attribute: title
|
||||
title-text:
|
||||
selector: a.tname
|
||||
title:
|
||||
text: "{{if .Result.title-attribute }}{{ .Result.title-attribute }}{{else}}{{ .Result.title-text }}{{end}}"
|
||||
selector: a.tname
|
||||
details:
|
||||
selector: a.tname
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="/download.php/"], a[href^="/downloadd.php/"] # some releases use a download link with two d's
|
||||
attribute: href
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
selector: td:nth-child(2) > right > div:has(font:contains("Uploaded"))
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Uploaded: ", ""]
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
banner:
|
||||
selector: a.tname
|
||||
attribute: onmouseover
|
||||
@@ -116,13 +96,35 @@
|
||||
selector: a[href^="http://www.imdb.com/title/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="/download.php/"], a[href^="/downloadd.php/"] # some releases use a download link with two d's
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:contains("Added:") a#added-btn
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Added: ", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src=\"pic/free.png\"]": "0"
|
||||
"a#free-btn": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:nth-child(2) > right
|
||||
remove: div
|
||||
|
140
src/Jackett.Common/Definitions/desireleasers.yml
Normal file
140
src/Jackett.Common/Definitions/desireleasers.yml
Normal file
@@ -0,0 +1,140 @@
|
||||
---
|
||||
site: desireleasers
|
||||
name: DesiReleasers
|
||||
description: "DesiReleasers is an INDIAN Private Torrent Tracker for INDIAN MOVIES"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://desireleasers.be/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: Audio/Video, desc: "Music Videos"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
test:
|
||||
path: torrents
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: torrents
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D 1.9.1
|
@@ -81,7 +81,7 @@
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: /login.php?from=index1
|
||||
path: login.php?from=index1
|
||||
method: post
|
||||
inputs:
|
||||
action: "login"
|
||||
|
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"
|
129
src/Jackett.Common/Definitions/divteam.yml
Normal file
129
src/Jackett.Common/Definitions/divteam.yml
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
site: divteam
|
||||
name: DivTeam
|
||||
description: "DivTeam is a SPANISH Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: es-es
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://divteam.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 60, cat: Movies/HD, desc: "MicroHD 720p"}
|
||||
- {id: 77, cat: Movies/HD, desc: "MicroHD 1080p"}
|
||||
- {id: 78, cat: Movies/HD, desc: "MicroHD 4k"}
|
||||
- {id: 64, cat: TV/HD, desc: "Pack Series"}
|
||||
- {id: 65, cat: TV/HD, desc: "Pack Series VOSE"}
|
||||
- {id: 80, cat: Movies/BluRay, desc: "BDRip X265 1080p"}
|
||||
- {id: 81, cat: Movies/UHD, desc: "UHDRip x265 4K"}
|
||||
- {id: 82, cat: Movies/WEBDL, desc: "Pelis Web-DL 1080"}
|
||||
- {id: 83, cat: Movies/WEBDL, desc: "Pelis Web-DL 720"}
|
||||
- {id: 84, cat: Movies/UHD, desc: "UHD Remux x265"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Deportes"}
|
||||
- {id: 20, cat: TV/HD, desc: "Series"}
|
||||
- {id: 31, cat: TV/HD, desc: "Series VOSE"}
|
||||
- {id: 69, cat: Movies, desc: "Ciclo Cine Clasico"}
|
||||
- {id: 70, cat: Movies, desc: "Ciclo Clint Eastwood"}
|
||||
- {id: 71, cat: Movies, desc: "Ciclo Studio Ghibli"}
|
||||
- {id: 72, cat: Movies, desc: "Ciclo George A. Romero"}
|
||||
- {id: 73, cat: Movies, desc: "Saga Fast And Furious"}
|
||||
- {id: 74, cat: Movies, desc: "Saga Crepúsculo"}
|
||||
- {id: 75, cat: Movies, desc: "Saga The Purge"}
|
||||
- {id: 79, cat: Movies, desc: "Saga Star Wars"}
|
||||
- {id: 18, cat: Movies/BluRay, desc: "Video Full & Remux"}
|
||||
- {id: 76, cat: Movies, desc: "x-men saga"}
|
||||
- {id: 6, cat: Books/Ebook, desc: "EBooks"}
|
||||
- {id: 58, cat: Books/Ebook, desc: "Kiosko"}
|
||||
- {id: 24, cat: TV/Documentary, desc: "Documentales"}
|
||||
- {id: 32, cat: TV/Documentary, desc: "Documentales VOSE"}
|
||||
- {id: 49, cat: Books/Ebook, desc: "eLearning"}
|
||||
- {id: 68, cat: TV, desc: "eLearning Multimedia"}
|
||||
- {id: 16, cat: Movies/DVD, desc: "DVD-Rip"}
|
||||
- {id: 48, cat: Movies/BluRay, desc: "BR-Rip/HD-Rip"}
|
||||
- {id: 17, cat: Movies/BluRay, desc: "BD-Rip"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 34, cat: PC/Games, desc: "Juegos Pc"}
|
||||
- {id: 7, cat: PC/0day, desc: "Software Pc"}
|
||||
- {id: 35, cat: Console, desc: "Juegos Sony"}
|
||||
- {id: 36, cat: PC/Games, desc: "Juegos Microsoft"}
|
||||
- {id: 37, cat: Console/NDS, desc: "Juegos Nintendo"}
|
||||
- {id: 45, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 44, cat: Audio/Lossless, desc: "Music flac"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div#login-alert
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://divteam.com/index.php?page=torrents&search=daredevil&category=20;23;31;65;64;60;63;69;70;71;72;73;74;75;76;77;78;80;81;82;83;84&active=1
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: "torrents"
|
||||
category: "{{range .Categories}}{{.}};{{end}}"
|
||||
search: "{{if .Keywords }}{{.Keywords}}{{else}}{{end}}"
|
||||
active: 0
|
||||
options: 0
|
||||
|
||||
rows:
|
||||
selector: table.table.table-bordered > tbody > tr:has(a[href^="download.php?id="])
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
banner:
|
||||
selector: a[onmouseover][href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/gold.png"]: "0"
|
||||
img[src="images/silver.png"]: "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="images/2x.png"]: "2"
|
||||
img[src="images/3x.png"]: "3"
|
||||
img[src="images/4x.png"]: "4"
|
||||
img[src="images/5x.png"]: "5"
|
||||
"*": "1"
|
142
src/Jackett.Common/Definitions/documentarytorrents.yml
Normal file
142
src/Jackett.Common/Definitions/documentarytorrents.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
site: documentarytorrents
|
||||
name: DocumentaryTorrents
|
||||
description: "Documentary Torrents (DT) is a Private Torrent Tracker for E-LEARNING MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.documentarytorrents.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 128, cat: TV/HD, desc: "Adventure: HD"}
|
||||
- {id: 129, cat: TV/SD, desc: "Adventure: Xvid / x264"}
|
||||
- {id: 85, cat: TV/SD, desc: "Biography: Xvid / x264"}
|
||||
- {id: 86, cat: TV/HD, desc: "Biography: HD"}
|
||||
- {id: 60, cat: TV/HD, desc: "Computers: HD"}
|
||||
- {id: 58, cat: TV/SD, desc: "Computers: Xvid / x264"}
|
||||
- {id: 103, cat: TV/SD, desc: "Crime: Xvid / x264"}
|
||||
- {id: 105, cat: TV/HD, desc: "Crime: HD"}
|
||||
- {id: 64, cat: TV/SD, desc: "Culture: Xvid / x264"}
|
||||
- {id: 66, cat: TV/HD, desc: "Culture: HD"}
|
||||
- {id: 122, cat: TV/SD, desc: "Discovery: Xvid / x264"}
|
||||
- {id: 123, cat: TV/HD, desc: "Discovery: HD"}
|
||||
- {id: 98, cat: TV/HD, desc: "Drugs: HD"}
|
||||
- {id: 97, cat: TV/SD, desc: "Drugs: Xvid / x264"}
|
||||
- {id: 92, cat: TV/HD, desc: "Economy: HD"}
|
||||
- {id: 91, cat: TV/SD, desc: "Economy: Xvid / x264"}
|
||||
- {id: 83, cat: TV/HD, desc: "Food: HD"}
|
||||
- {id: 82, cat: TV/SD, desc: "Food: Xvid / x264"}
|
||||
- {id: 124, cat: TV/HD, desc: "HBO: HD"}
|
||||
- {id: 125, cat: TV/SD, desc: "HBO: Xvid / x264"}
|
||||
- {id: 76, cat: TV/SD, desc: "Health: Xvid / x264"}
|
||||
- {id: 78, cat: TV/HD, desc: "Health: HD"}
|
||||
- {id: 67, cat: TV/SD, desc: "History: Xvid / x264"}
|
||||
- {id: 69, cat: TV/HD, desc: "History: HD"}
|
||||
- {id: 79, cat: TV/SD, desc: "Humor: Xvid / x264"}
|
||||
- {id: 80, cat: TV/HD, desc: "Humor: HD"}
|
||||
- {id: 116, cat: TV/HD, desc: "Music: HD"}
|
||||
- {id: 115, cat: TV/SD, desc: "Music: Xvid / x264"}
|
||||
- {id: 118, cat: TV/HD, desc: "NatGeo: HD"}
|
||||
- {id: 119, cat: TV/SD, desc: "NatGeo: Xvid / x264"}
|
||||
- {id: 63, cat: TV/HD, desc: "Nature: HD"}
|
||||
- {id: 61, cat: TV/SD, desc: "Nature: Xvid / x264"}
|
||||
- {id: 109, cat: TV/SD, desc: "New World Order: Xvid / x264"}
|
||||
- {id: 111, cat: TV/HD, desc: "New World Order: HD"}
|
||||
- {id: 48, cat: TV/HD, desc: "Other: HD"}
|
||||
- {id: 50, cat: TV/HD, desc: "Other: DVD"}
|
||||
- {id: 9, cat: TV/SD, desc: "Other: Xvid / x264"}
|
||||
- {id: 126, cat: TV/HD, desc: "PBS: HD"}
|
||||
- {id: 127, cat: TV/SD, desc: "PBS: Xvid / x264"}
|
||||
- {id: 72, cat: TV/HD, desc: "Politics: HD"}
|
||||
- {id: 112, cat: Books/Ebook, desc: "Politics: Ebook"}
|
||||
- {id: 70, cat: TV/SD, desc: "Politics: Xvid / x264"}
|
||||
- {id: 114, cat: Books/Ebook, desc: "Reference: Ebook"}
|
||||
- {id: 117, cat: Audio/Audiobook, desc: "Reference: Audio Book"}
|
||||
- {id: 56, cat: TV/HD, desc: "Religion: HD"}
|
||||
- {id: 54, cat: TV/SD, desc: "Religion: Xvid / x264"}
|
||||
- {id: 94, cat: TV/SD, desc: "Science: Xvid / x264"}
|
||||
- {id: 95, cat: TV/HD, desc: "Science: HD"}
|
||||
- {id: 75, cat: TV/HD, desc: "Space: HD"}
|
||||
- {id: 73, cat: TV/SD, desc: "Space: Xvid / x264"}
|
||||
- {id: 113, cat: TV/HD, desc: "Space: DVD"}
|
||||
- {id: 100, cat: TV/SD, desc: "Sports: Xvid / x264"}
|
||||
- {id: 102, cat: TV/HD, desc: "Sports: HD"}
|
||||
- {id: 106, cat: TV/SD, desc: "Technology: Xvid / x264"}
|
||||
- {id: 108, cat: TV/HD, desc: "Technology: HD"}
|
||||
- {id: 121, cat: TV/SD, desc: "Transport: Xvid / x264"}
|
||||
- {id: 120, cat: TV/HD, desc: "Transport: HD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Travel: HD"}
|
||||
- {id: 52, cat: TV/SD, desc: "Travel: Xvid / x264"}
|
||||
- {id: 89, cat: TV/HD, desc: "War: HD"}
|
||||
- {id: 88, cat: TV/SD, desc: "War: Xvid / x264"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: form
|
||||
form: form[action="account-login.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.myBlock:has(font.error)
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href$="/account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: index.php
|
||||
selector: img[title="Ratio"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://documentarytorrents.com/torrents.php?c123=1&c69=1&c67=1&c89=1&c88=1&search=grow+old&cat=0&incldead=1&freeleech=0&lang=0
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
cat: 0
|
||||
incldead: 1
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner tr.t-row
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/freeleech_star.gif"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -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"
|
||||
|
@@ -86,7 +86,7 @@
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
@@ -106,7 +106,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "ajax_det_poll.php"
|
||||
path: ajax_det_poll.php
|
||||
method: "post"
|
||||
inputs:
|
||||
set_thanks: "thanks"
|
||||
@@ -236,13 +236,22 @@
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
selector: div.selection_unter_ab
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: dateparse
|
||||
|
@@ -30,23 +30,6 @@
|
||||
- {id: 144, cat: Movies, desc: "9.5 packages"}
|
||||
- {id: 145, cat: Movies, desc: "9.6 filmography"}
|
||||
- {id: 143, cat: Movies, desc: "9.7 Tv Movies"}
|
||||
# - {id: 130, cat: , desc: ""}
|
||||
# - {id: 131, cat: , desc: ""}
|
||||
# - {id: 132, cat: , desc: ""}
|
||||
# - {id: 133, cat: , desc: ""}
|
||||
# - {id: 134, cat: , desc: ""}
|
||||
# - {id: 135, cat: , desc: ""}
|
||||
# - {id: 136, cat: , desc: ""}
|
||||
# - {id: 137, cat: , desc: ""}
|
||||
# - {id: 138, cat: , desc: ""}
|
||||
# - {id: 139, cat: , desc: ""}
|
||||
# - {id: 140, cat: , desc: ""}
|
||||
# - {id: 141, cat: , desc: ""}
|
||||
# - {id: 142, cat: , desc: ""}
|
||||
# - {id: 144, cat: , desc: ""}
|
||||
# - {id: 145, cat: , desc: ""}
|
||||
# - {id: 143, cat: , desc: ""}
|
||||
# - {id: 116, cat: , desc: ""}
|
||||
- {id: 116, cat: Movies, desc: "Two foreign films integrated subtitles"}
|
||||
- {id: 146, cat: Movies, desc: "CAM / TS / TC"}
|
||||
- {id: 147, cat: Movies, desc: "DVDSCR / PPVRiP / WebRip / R5"}
|
||||
@@ -55,24 +38,10 @@
|
||||
- {id: 150, cat: Movies, desc: "MicroHD"}
|
||||
- {id: 151, cat: Movies, desc: "HD - WEB-DL"}
|
||||
- {id: 152, cat: Movies, desc: "Tv Movies"}
|
||||
# - {id: 242, cat: , desc: ""}
|
||||
- {id: 153, cat: Movies, desc: "Packages"}
|
||||
- {id: 154, cat: Movies, desc: "filmography"}
|
||||
- {id: 243, cat: Movies, desc: "HD 1080p"}
|
||||
- {id: 244, cat: Movies, desc: "HD 480p"}
|
||||
# - {id: 146, cat: , desc: ""}
|
||||
# - {id: 147, cat: , desc: ""}
|
||||
# - {id: 148, cat: , desc: ""}
|
||||
# - {id: 149, cat: , desc: ""}
|
||||
# - {id: 150, cat: , desc: ""}
|
||||
# - {id: 151, cat: , desc: ""}
|
||||
# - {id: 152, cat: , desc: ""}
|
||||
# - {id: 242, cat: , desc: ""}
|
||||
# - {id: 153, cat: , desc: ""}
|
||||
# - {id: 154, cat: , desc: ""}
|
||||
# - {id: 243, cat: , desc: ""}
|
||||
# - {id: 244, cat: , desc: ""}
|
||||
# - {id: 117, cat: , desc: ""}
|
||||
- {id: 117, cat: Movies, desc: "???????e? ?a???e?"}
|
||||
- {id: 155, cat: Movies, desc: "CAM / TS / TC"}
|
||||
- {id: 156, cat: Movies, desc: "SCR / PPVRiP / Webrip / R5"}
|
||||
@@ -85,18 +54,6 @@
|
||||
- {id: 163, cat: Movies, desc: "TV Movies"}
|
||||
- {id: 164, cat: Movies, desc: "?a?eta 8"}
|
||||
- {id: 165, cat: Movies, desc: "F??µ???af?e?"}
|
||||
# - {id: 155, cat: , desc: ""}
|
||||
# - {id: 156, cat: , desc: ""}
|
||||
# - {id: 157, cat: , desc: ""}
|
||||
# - {id: 158, cat: , desc: ""}
|
||||
# - {id: 159, cat: , desc: ""}
|
||||
# - {id: 160, cat: , desc: ""}
|
||||
# - {id: 161, cat: , desc: ""}
|
||||
# - {id: 162, cat: , desc: ""}
|
||||
# - {id: 163, cat: , desc: ""}
|
||||
# - {id: 164, cat: , desc: ""}
|
||||
# - {id: 165, cat: , desc: ""}
|
||||
# - {id: 118, cat: , desc: ""}
|
||||
- {id: 118, cat: TV, desc: "Foreign Television external subtitles"}
|
||||
- {id: 166, cat: TV, desc: "SD"}
|
||||
- {id: 167, cat: TV, desc: "720p"}
|
||||
@@ -104,13 +61,6 @@
|
||||
- {id: 169, cat: TV, desc: "Sport"}
|
||||
- {id: 170, cat: TV, desc: "documentaries"}
|
||||
- {id: 171, cat: TV, desc: "Packages"}
|
||||
# - {id: 166, cat: , desc: ""}
|
||||
# - {id: 167, cat: , desc: ""}
|
||||
# - {id: 168, cat: , desc: ""}
|
||||
# - {id: 169, cat: , desc: ""}
|
||||
# - {id: 170, cat: , desc: ""}
|
||||
# - {id: 171, cat: , desc: ""}
|
||||
# - {id: 119, cat: , desc: ""}
|
||||
- {id: 119, cat: TV, desc: "foreign Television integrated subtitles"}
|
||||
- {id: 172, cat: TV, desc: "SD"}
|
||||
- {id: 173, cat: TV, desc: "720p"}
|
||||
@@ -119,14 +69,6 @@
|
||||
- {id: 176, cat: TV, desc: "documentaries"}
|
||||
- {id: 177, cat: TV, desc: "Tv Rips"}
|
||||
- {id: 178, cat: TV, desc: "Packages"}
|
||||
# - {id: 172, cat: , desc: ""}
|
||||
# - {id: 173, cat: , desc: ""}
|
||||
# - {id: 174, cat: , desc: ""}
|
||||
# - {id: 175, cat: , desc: ""}
|
||||
# - {id: 176, cat: , desc: ""}
|
||||
# - {id: 177, cat: , desc: ""}
|
||||
# - {id: 178, cat: , desc: ""}
|
||||
# - {id: 120, cat: , desc: ""}
|
||||
- {id: 120, cat: TV, desc: "Greek Television"}
|
||||
- {id: 179, cat: TV, desc: "SD"}
|
||||
- {id: 180, cat: TV, desc: "720p"}
|
||||
@@ -135,14 +77,6 @@
|
||||
- {id: 183, cat: TV, desc: "five documentaries"}
|
||||
- {id: 184, cat: TV, desc: "six Tv Rips"}
|
||||
- {id: 185, cat: TV, desc: "Packages"}
|
||||
# - {id: 179, cat: , desc: ""}
|
||||
# - {id: 180, cat: , desc: ""}
|
||||
# - {id: 181, cat: , desc: ""}
|
||||
# - {id: 182, cat: , desc: ""}
|
||||
# - {id: 183, cat: , desc: ""}
|
||||
# - {id: 184, cat: , desc: ""}
|
||||
# - {id: 185, cat: , desc: ""}
|
||||
# - {id: 122, cat: , desc: ""}
|
||||
- {id: 122, cat: Audio, desc: "?e?? ???s???"}
|
||||
- {id: 216, cat: Audio, desc: "1. DJs Stuff & Promos"}
|
||||
- {id: 217, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
|
||||
@@ -156,7 +90,6 @@
|
||||
- {id: 225, cat: Audio, desc: "9.1 Varius Artist"}
|
||||
- {id: 226, cat: Audio, desc: "9.2 Compact Disc Club"}
|
||||
- {id: 227, cat: Audio, desc: "9.3 ???s??a Video Clips"}
|
||||
# - {id: 123, cat: , desc: ""}
|
||||
- {id: 123, cat: Audio, desc: "???????? ???s???"}
|
||||
- {id: 228, cat: Audio, desc: "1. DJs Stuff & Promos"}
|
||||
- {id: 229, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
|
||||
@@ -171,7 +104,6 @@
|
||||
- {id: 238, cat: Audio, desc: "9.2 Varius Artist"}
|
||||
- {id: 239, cat: Audio, desc: "9.3 Compact Disc Club"}
|
||||
- {id: 240, cat: Audio, desc: "9.4 ???s??a Video Clips"}
|
||||
# - {id: 121, cat: , desc: ""}
|
||||
- {id: 121, cat: Movies, desc: "children"}
|
||||
- {id: 186, cat: Movies, desc: "children's films external subtitles"}
|
||||
- {id: 187, cat: Movies, desc: "two children's films integrated subtitles"}
|
||||
@@ -182,16 +114,6 @@
|
||||
- {id: 192, cat: Movies, desc: "Anime external subtitles"}
|
||||
- {id: 193, cat: Movies, desc: "Anime integrated subtitles"}
|
||||
- {id: 194, cat: Movies, desc: "Anime Metaglotismenes"}
|
||||
# - {id: 186, cat: , desc: ""}
|
||||
# - {id: 187, cat: , desc: ""}
|
||||
# - {id: 188, cat: , desc: ""}
|
||||
# - {id: 189, cat: , desc: ""}
|
||||
# - {id: 190, cat: , desc: ""}
|
||||
# - {id: 191, cat: , desc: ""}
|
||||
# - {id: 192, cat: , desc: ""}
|
||||
# - {id: 193, cat: , desc: ""}
|
||||
# - {id: 194, cat: , desc: ""}
|
||||
# - {id: 128, cat: , desc: ""}
|
||||
- {id: 128, cat: Console, desc: "9.1 ?a????d?a"}
|
||||
- {id: 195, cat: Console, desc: "Windows Games"}
|
||||
- {id: 196, cat: Console, desc: "Nintendo DS"}
|
||||
@@ -201,41 +123,23 @@
|
||||
- {id: 200, cat: Console, desc: "Sony PSP"}
|
||||
- {id: 201, cat: Console, desc: "Wii"}
|
||||
- {id: 202, cat: Console, desc: "XboX 360"}
|
||||
# - {id: 124, cat: , desc: ""}
|
||||
- {id: 124, cat: PC, desc: "9.2 Applications"}
|
||||
- {id: 203, cat: PC, desc: "Applications Windows"}
|
||||
- {id: 204, cat: PC, desc: "Applications Mac"}
|
||||
- {id: 205, cat: PC, desc: "Linux Applications"}
|
||||
# - {id: 203, cat: , desc: ""}
|
||||
# - {id: 204, cat: , desc: ""}
|
||||
# - {id: 205, cat: , desc: ""}
|
||||
# - {id: 126, cat: , desc: ""}
|
||||
- {id: 126, cat: Books, desc: "9.3 Electronic Books"}
|
||||
- {id: 206, cat: Books, desc: "Electronic books"}
|
||||
- {id: 207, cat: Books, desc: "Magazines"}
|
||||
- {id: 208, cat: Books, desc: "Comic Books"}
|
||||
# - {id: 206, cat: , desc: ""}
|
||||
# - {id: 207, cat: , desc: ""}
|
||||
# - {id: 208, cat: , desc: ""}
|
||||
# - {id: 125, cat: , desc: ""}
|
||||
- {id: 125, cat: Other, desc: "9.4 Gallery"}
|
||||
- {id: 209, cat: Other, desc: "Gallery"}
|
||||
- {id: 210, cat: Other, desc: "Gallery HD"}
|
||||
- {id: 211, cat: Other, desc: "Photos 3D"}
|
||||
- {id: 212, cat: Other, desc: "Wallpapers"}
|
||||
- {id: 213, cat: Other, desc: "Screensavers"}
|
||||
# - {id: 209, cat: , desc: ""}
|
||||
# - {id: 210, cat: , desc: ""}
|
||||
# - {id: 211, cat: , desc: ""}
|
||||
# - {id: 212, cat: , desc: ""}
|
||||
# - {id: 213, cat: , desc: ""}
|
||||
# - {id: 127, cat: , desc: ""}
|
||||
- {id: 127, cat: PC/Phone-Other, desc: "9.5 Mobile / Miscellaneous"}
|
||||
- {id: 214, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 215, cat: PC/Phone-Other, desc: "Miscellaneous"}
|
||||
# - {id: 214, cat: , desc: ""}
|
||||
# - {id: 215, cat: , desc: ""}
|
||||
# - {id: 129, cat: , desc: ""}
|
||||
- {id: 129, cat: Other, desc: "9.6 Blocked DREAM TEAM"}
|
||||
|
||||
modes:
|
||||
@@ -256,7 +160,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "takethanks.php"
|
||||
path: takethanks.php
|
||||
method: "post"
|
||||
inputs:
|
||||
torrentid: "{{ .DownloadUri.Query.id }}"
|
||||
|
@@ -26,7 +26,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -34,11 +34,11 @@
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -101,9 +101,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
@@ -114,3 +114,4 @@
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
||||
|
@@ -25,7 +25,11 @@
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
path: index.php
|
||||
# site returns just 30 results, attempt to fetch upto 90
|
||||
paths:
|
||||
- path: /
|
||||
- path: /page/2/
|
||||
- path: /page/3/
|
||||
keywordsfilters:
|
||||
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
|
||||
- name: re_replace
|
||||
@@ -35,6 +39,8 @@
|
||||
inputs:
|
||||
s: "{{ .Keywords }}"
|
||||
$raw: "&x=0&y=0"
|
||||
error:
|
||||
- selector: "#principal div.not_results"
|
||||
rows:
|
||||
selector: "#principal .miniboxs-ficha li"
|
||||
fields:
|
||||
@@ -59,6 +65,10 @@
|
||||
- name: split
|
||||
args: ["/", 3]
|
||||
size:
|
||||
text: "0 B"
|
||||
size:
|
||||
# size can be missing
|
||||
optional: true
|
||||
selector: .voto1
|
||||
filters:
|
||||
- name: replace
|
||||
|
@@ -4,7 +4,7 @@
|
||||
---
|
||||
site: empornium
|
||||
name: Empornium
|
||||
description: "A porn tracker"
|
||||
description: "Empornium (EMP) is a Private Torrent Tracker for XXX"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
@@ -53,11 +53,11 @@
|
||||
- name: replace
|
||||
args: ["\");", ""]
|
||||
test:
|
||||
path: /letoltes.php
|
||||
path: letoltes.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /letoltes.php
|
||||
- path: letoltes.php
|
||||
method: get
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}kat[]={{.}}&{{end}}"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.ettv.tv
|
||||
- https://www.ettv.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -65,7 +65,7 @@
|
||||
selector: a[href^="{{ .Config.downloadlink }}"]
|
||||
|
||||
search:
|
||||
path: torrents-search.php
|
||||
path: "{{if .Keywords}}torrents-search.php{{else}}torrents.php{{end}}"
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
@@ -49,6 +49,8 @@
|
||||
download:
|
||||
selector: td:nth-child(3) a.magnet, td:nth-child(3) a
|
||||
attribute: href
|
||||
size:
|
||||
text: "500 MB"
|
||||
size:
|
||||
optional: true
|
||||
selector: td:nth-child(4)
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.fano.in
|
||||
- https://www.fano.in/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
---
|
||||
site: femdomcult
|
||||
name: Femdomcult
|
||||
description: "A porn tracker"
|
||||
description: "Femdomcult is a Private Torrent Tracker for FETISH XXX"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
141
src/Jackett.Common/Definitions/film-paleis.yml
Normal file
141
src/Jackett.Common/Definitions/film-paleis.yml
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
site: film-paleis
|
||||
name: Film-Paleis
|
||||
description: "Film-Paleis is a DUTCH Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: nl-NL
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.film-paleis.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2, cat: Movies/BluRay, desc: " Bluray/HD"}
|
||||
- {id: 3, cat: Movies/DVD, desc: " DVD Kids"}
|
||||
- {id: 4, cat: Audio/Video, desc: " DVD Muziek"}
|
||||
- {id: 5, cat: Movies/DVD, desc: " DVD Films"}
|
||||
- {id: 7, cat: Movies/UHD, desc: " 4K films"}
|
||||
- {id: 8, cat: XXX, desc: " Erotiek"}
|
||||
- {id: 9, cat: PC/Phone-Other, desc: " GSM/Navigatie"}
|
||||
- {id: 10, cat: Audio, desc: " Muziek Album"}
|
||||
- {id: 11, cat: Audio/Other, desc: " Muziek Diverse"}
|
||||
- {id: 12, cat: Console/NDS, desc: " Nintendo"}
|
||||
- {id: 13, cat: Movies, desc: " Classic"}
|
||||
- {id: 15, cat: Other, desc: " Overige"}
|
||||
- {id: 16, cat: PC/0day, desc: " PC Software"}
|
||||
- {id: 17, cat: PC, desc: " PC Spellen"}
|
||||
- {id: 19, cat: TV, desc: " TV Series"}
|
||||
- {id: 21, cat: Movies/SD, desc: " Divx/Xvid"}
|
||||
- {id: 24, cat: Books/Ebook, desc: " E-Books"}
|
||||
- {id: 26, cat: Audio/Other, desc: " Cabaret"}
|
||||
- {id: 27, cat: TV/Documentary, desc: " Documentaire"}
|
||||
- {id: 31, cat: Movies/HD, desc: " HD 265"}
|
||||
- {id: 32, cat: Audio/Audiobook, desc: " Luister Boeken"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table[border="0"][cellspacing="0"][cellpadding="10"] tr td font[color="yellow"]
|
||||
test:
|
||||
path: /
|
||||
selector: :has(a[href="logout.php"])
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{.Keywords}}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table.mainouter
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details", "download"]
|
||||
size:
|
||||
selector: td:nth-child(4) table tr td:nth-child(2)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?) in"
|
||||
files:
|
||||
selector: td:nth-child(4) table tr td:nth-child(2)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "in (\\d{1,}) bestan"
|
||||
grabs:
|
||||
selector: td:nth-child(4) table tr:nth-child(2) td:nth-child(1)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{1,})"
|
||||
date:
|
||||
selector: td:nth-child(4) table tr:nth-child(2) td:nth-child(2)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["januari", "January"]
|
||||
- name: replace
|
||||
args: ["februari", "February"]
|
||||
- name: replace
|
||||
args: ["maart", "March"]
|
||||
- name: replace
|
||||
args: ["april", "April"]
|
||||
- name: replace
|
||||
args: ["mei", "May"]
|
||||
- name: replace
|
||||
args: ["juni", "June"]
|
||||
- name: replace
|
||||
args: ["juli", "July"]
|
||||
- name: replace
|
||||
args: ["augustus", "August"]
|
||||
- name: replace
|
||||
args: ["september", "September"]
|
||||
- name: replace
|
||||
args: ["oktober", "October"]
|
||||
- name: replace
|
||||
args: ["november", "November"]
|
||||
- name: replace
|
||||
args: ["december", "December"]
|
||||
- name: re_replace
|
||||
args: ["\\s*om\\s*"," "]
|
||||
- name: dateparse
|
||||
args: "2 January 2006 15:04:05"
|
||||
seeders:
|
||||
text: "0"
|
||||
seeders:
|
||||
optional: true
|
||||
selector: td:nth-child(4) table tr:nth-child(3) td:nth-child(5) b:nth-child(1)
|
||||
leechers:
|
||||
text: "0"
|
||||
leechers:
|
||||
optional: true
|
||||
selector: td:nth-child(4) table tr:nth-child(3) td:nth-child(5) b:nth-child(2)
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -10,7 +10,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "list_thanks.php"
|
||||
path: list_thanks.php
|
||||
method: "get"
|
||||
inputs:
|
||||
id: "{{ .DownloadUri.Query.id }}"
|
||||
@@ -21,55 +21,70 @@
|
||||
caps:
|
||||
categorymappings:
|
||||
# ANIMES
|
||||
- {id: 105, cat: TV/Anime, desc: "1080p"}
|
||||
- {id: 104, cat: TV/Anime, desc: "720p"}
|
||||
- {id: 90, cat: TV/Anime, desc: "HDRIP-720p"}
|
||||
- {id: 93, cat: TV/Anime, desc: "HDRIP1080p"}
|
||||
- {id: 131, cat: TV/Anime, desc: "SD"}
|
||||
- {id: 120, cat: TV/Anime, desc: "X265-1080p"}
|
||||
- {id: 119, cat: TV/Anime, desc: "X265-720p"}
|
||||
- {id: 107, cat: TV/Anime, desc: "1080p"}
|
||||
- {id: 106, cat: TV/Anime, desc: "720p"}
|
||||
- {id: 94, cat: TV/Anime, desc: "HDRIP1080p"}
|
||||
- {id: 91, cat: TV/Anime, desc: "HDRIP720p"}
|
||||
|
||||
- {id: 105, cat: TV/Anime, desc: "ANIMES 1080p-Bluray"}
|
||||
- {id: 149, cat: TV/Anime, desc: "ANIMES 3D"}
|
||||
- {id: 143, cat: TV/Anime, desc: "ANIMES 4K-2160p"}
|
||||
- {id: 104, cat: TV/Anime, desc: "ANIMES 720p-Bluray"}
|
||||
- {id: 90, cat: TV/Anime, desc: "ANIMES HDrip-720p"}
|
||||
- {id: 93, cat: TV/Anime, desc: "ANIMES HDrip-1080p"}
|
||||
- {id: 131, cat: TV/Anime, desc: "ANIMES SD"}
|
||||
- {id: 120, cat: TV/Anime, desc: "ANIMES X265-1080p"}
|
||||
- {id: 119, cat: TV/Anime, desc: "ANIMES X265-720p"}
|
||||
# DOCUMENTAIRES
|
||||
- {id: 107, cat: TV/Documentary, desc: "DOCS 1080p-Bluray"}
|
||||
- {id: 152, cat: TV/Documentary, desc: "DOCS 2160p-Bluray"}
|
||||
- {id: 106, cat: TV/Documentary, desc: "DOCS 720p-Bluray"}
|
||||
- {id: 94, cat: TV/Documentary, desc: "DOCS HDrip-1080p"}
|
||||
- {id: 91, cat: TV/Documentary, desc: "DOCS HDrip-720p"}
|
||||
- {id: 142, cat: TV/Documentary, desc: "DOCS HDTV"}
|
||||
- {id: 141, cat: TV/Documentary, desc: "DOCS SD"}
|
||||
# EBOOK
|
||||
- {id: 124, cat: Books, desc: "Livres et Magazines"}
|
||||
|
||||
# FILMS
|
||||
- {id: 97, cat: Movies/HD, desc: "1080p"}
|
||||
- {id: 103, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 111, cat: Movies/HD, desc: "4K"}
|
||||
- {id: 96, cat: Movies/HD, desc: "720p"}
|
||||
- {id: 127, cat: Movies/HD, desc: "BDrip"}
|
||||
- {id: 128, cat: Movies/HD, desc: "BRrip"}
|
||||
- {id: 126, cat: Movies/SD, desc: "DVDrip"}
|
||||
- {id: 89, cat: Movies/HD, desc: "HDRIP-720p"}
|
||||
- {id: 92, cat: Movies/HD, desc: "HDRIP1080p"}
|
||||
- {id: 112, cat: Movies/SD, desc: "Team-Hush"}
|
||||
- {id: 129, cat: Movies/HD, desc: "Team-Romkent"}
|
||||
- {id: 125, cat: Movies/Other, desc: "WEBrip"}
|
||||
- {id: 110, cat: Movies/HD, desc: "X265-1080p"}
|
||||
- {id: 109, cat: Movies/HD, desc: "X265-720p"}
|
||||
|
||||
- {id: 97, cat: Movies/HD, desc: "FILMS Bluray-1080p"}
|
||||
- {id: 103, cat: Movies/3D, desc: "FILMS 3D"}
|
||||
- {id: 111, cat: Movies/UHD, desc: "FILMS 4K"}
|
||||
- {id: 96, cat: Movies/HD, desc: "FILMS Bluray-720p"}
|
||||
- {id: 127, cat: Movies/HD, desc: "FILMS BDrip"}
|
||||
- {id: 128, cat: Movies/HD, desc: "FILMS BRrip"}
|
||||
- {id: 140, cat: Movies/HD, desc: "FILMS BSD-Team"}
|
||||
- {id: 126, cat: Movies/SD, desc: "FILMS DVDrip"}
|
||||
- {id: 136, cat: Movies/BluRay, desc: "FILMS Full-Bluray"}
|
||||
- {id: 135, cat: Movies/SD, desc: "FILMS Team Freedom-HD"}
|
||||
- {id: 137, cat: Movies/SD, desc: "FILMS Team ticadow"}
|
||||
- {id: 89, cat: Movies/HD, desc: "FILMS HDrip-720p"}
|
||||
- {id: 92, cat: Movies/HD, desc: "FILMS HDrip-1080p"}
|
||||
- {id: 112, cat: Movies/SD, desc: "FILMS Team-Hush"}
|
||||
- {id: 129, cat: Movies/HD, desc: "FILMS Team-Romkent"}
|
||||
- {id: 125, cat: Movies/Other, desc: "FILMS WEBrip"}
|
||||
- {id: 110, cat: Movies/HD, desc: "FILMS X265-1080p"}
|
||||
- {id: 109, cat: Movies/HD, desc: "FILMS X265-720p"}
|
||||
# GAMES
|
||||
- {id: 134, cat: PC/Games, desc: "jeu PC"}
|
||||
# MUSIQUES
|
||||
- {id: 114, cat: Audio/Lossless, desc: "Flac"}
|
||||
- {id: 113, cat: Audio/MP3, desc: "MP3"}
|
||||
- {id: 132, cat: Audio, desc: "Musiques-HQ"}
|
||||
- {id: 130, cat: Audio/Video, desc: "video clip"}
|
||||
|
||||
# SERIE-sd
|
||||
- {id: 121, cat: TV/SD, desc: "SD"}
|
||||
|
||||
# SERIES-HD
|
||||
- {id: 102, cat: TV/HD, desc: "1080p"}
|
||||
- {id: 101, cat: TV/HD, desc: "720p"}
|
||||
- {id: 100, cat: TV/HD, desc: "HDrip1080p"}
|
||||
- {id: 99, cat: TV/HD, desc: "HDrip720p"}
|
||||
|
||||
- {id: 114, cat: Audio/Lossless, desc: "MUSIQUES Flac"}
|
||||
- {id: 113, cat: Audio/MP3, desc: "MUSIQUES MP3"}
|
||||
- {id: 132, cat: Audio, desc: "MUSIQUES HQ"}
|
||||
- {id: 130, cat: Audio/Video, desc: "MUSIQUES video clip"}
|
||||
# SERIE
|
||||
- {id: 121, cat: TV/SD, desc: "SERIE SD"}
|
||||
- {id: 102, cat: TV/HD, desc: "SERIE 1080p-Bluray"}
|
||||
- {id: 101, cat: TV/HD, desc: "SERIE 720p-Bluray"}
|
||||
- {id: 100, cat: TV/HD, desc: "SERIE HDrip-1080p"}
|
||||
- {id: 99, cat: TV/HD, desc: "SERIE HDrip-720p"}
|
||||
- {id: 151, cat: TV/UHD, desc: "SERIE HDrip-2160p"}
|
||||
# SPECTACLES
|
||||
- {id: 118, cat: TV/Sport, desc: "HDRIP1080p"}
|
||||
- {id: 117, cat: TV/Sport, desc: "HDRIP720p"}
|
||||
- {id: 138, cat: TV, desc: "SPECTACLES Bluray-1080p"}
|
||||
- {id: 139, cat: TV, desc: "SPECTACLES Bluray-720p"}
|
||||
- {id: 133, cat: TV, desc: "SPECTACLES DVDrip"}
|
||||
- {id: 118, cat: TV, desc: "SPECTACLES HDrip-1080p"}
|
||||
- {id: 117, cat: TV, desc: "SPECTACLES HDrip-720p"}
|
||||
# SPORT
|
||||
- {id: 146, cat: TV/Sport, desc: "SPORT HDTV-1080p"}
|
||||
- {id: 147, cat: TV/Sport, desc: "SPORT HDTV-720p"}
|
||||
- {id: 148, cat: TV/Sport, desc: "SPORT SD"}
|
||||
- {id: 144, cat: TV/Sport, desc: "SPORT WEB-DL-1080p"}
|
||||
- {id: 145, cat: TV/Sport, desc: "SPORT WEB-DL-720p"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -134,6 +149,8 @@
|
||||
selector: td:nth-child(4)
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[alt="freeleech"]: "0"
|
||||
|
@@ -1,33 +1,36 @@
|
||||
---
|
||||
site: redtopia
|
||||
name: Redtopia
|
||||
description: "Tracker Music/Podcasts/Audiobooks"
|
||||
site: freetorrent
|
||||
name: FreeTorrent
|
||||
description: "FreeTorrent is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://redtopia.xyz/
|
||||
- https://freetorrent.tk/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Audio, desc: "Studio Album"}
|
||||
- {id: 2, cat: Audio, desc: "Studio Single"}
|
||||
- {id: 3, cat: Audio, desc: "Studio Collection"}
|
||||
- {id: 4, cat: Audio, desc: "Indie Album"}
|
||||
- {id: 5, cat: Audio, desc: "Indie Single"}
|
||||
- {id: 6, cat: Audio, desc: "Indie Collection"}
|
||||
- {id: 7, cat: Audio, desc: "Live Album"}
|
||||
- {id: 8, cat: Audio, desc: "OST"}
|
||||
- {id: 9, cat: Audio, desc: "Podcast"}
|
||||
- {id: 10, cat: Audio, desc: "Audio Book"}
|
||||
- {id: 11, cat: Audio, desc: "Audio Drama"}
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: PC/0day, desc: "Software"}
|
||||
- {id: 5, cat: Books, desc: "Ebook"}
|
||||
- {id: 6, cat: PC/Games, desc: "Games"}
|
||||
- {id: 7, cat: TV, desc: "Animations"}
|
||||
- {id: 8, cat: PC, desc: "Linux"}
|
||||
- {id: 9, cat: PC/Mac, desc: "MacOS"}
|
||||
- {id: 10, cat: PC/Phone-Android, desc: "Android app"}
|
||||
- {id: 11, cat: PC/Phone-Android, desc: "Android ROMs"}
|
||||
- {id: 12, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 13, cat: TV, desc: "Shows"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -35,16 +38,20 @@
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
uploader: ""
|
||||
sorting: created_at
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
@@ -65,16 +72,20 @@
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="https://www.imdb.com/title/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
@@ -98,16 +109,18 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0"
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0"
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # global flag
|
||||
"i[data-original-title=\"Double upload\"]": "2" # torrent specific flag
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://funkytorrents.com
|
||||
- http://funkytorrents.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
#$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
site: gay-torrents
|
||||
name: Gay-Torrents.net
|
||||
description: "Gay Torrents Live Free!"
|
||||
description: "Gay-Torrents.net is a Private Torrent Tracker for GAY XXX"
|
||||
language: en-us
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
|
@@ -3,12 +3,12 @@
|
||||
#
|
||||
site: gay-torrentsorg
|
||||
name: gay-torrents.org
|
||||
description: "Tracker for GAY XXX, movies, TV, books and PC."
|
||||
description: "Gay-Torrents.org is a Private Torrent Tracker for GAY XXX"
|
||||
language: en-us
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://gay-torrents.org
|
||||
- https://gay-torrents.org/
|
||||
- https://gay-area.org/
|
||||
|
||||
settings:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
#
|
||||
site: gaytorrentru
|
||||
name: GAYtorrent.ru
|
||||
description: "World largest gay porn library for free with a stunning forum and 24/7 chat."
|
||||
description: "GayTorrent.ru is a Private Torrent Tracker for GAY XXX"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
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: it-it
|
||||
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 > td > table > tbody 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"
|
@@ -218,7 +218,7 @@
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
"login_username": "{{ .Config.username }}"
|
||||
@@ -230,12 +230,12 @@
|
||||
message:
|
||||
selector: td.thead b
|
||||
test:
|
||||
path: /tracker.php
|
||||
path: tracker.php
|
||||
selector: li a[href^="login.php?logout=1"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /tracker.php
|
||||
- path: tracker.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"
|
||||
|
@@ -23,7 +23,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -32,11 +32,11 @@
|
||||
error:
|
||||
- selector: .auth_form > .warning
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchstr: "{{ .Query.Keywords }}"
|
||||
|
@@ -51,7 +51,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
@@ -60,11 +60,11 @@
|
||||
error:
|
||||
- selector: div.box:has(div.title:contains("bejelentkez"))
|
||||
test:
|
||||
path: /torrentek.php
|
||||
path: torrentek.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrentek.php
|
||||
- path: torrentek.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
@@ -77,7 +77,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /index.php?page=login
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
@@ -85,12 +85,12 @@
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /index.php
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "thanks.php"
|
||||
path: thanks.php
|
||||
method: "post"
|
||||
inputs:
|
||||
infohash: "{{ .DownloadUri.Query.id }}"
|
||||
@@ -100,12 +100,43 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /index.php
|
||||
- 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
|
||||
|
@@ -7,7 +7,7 @@
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.gktorrent.net/
|
||||
- https://www.gktorrent.tv/
|
||||
legacylinks:
|
||||
- https://www.gktorrent.com/
|
||||
- http://www.gktorrent.com/
|
||||
@@ -23,6 +23,8 @@
|
||||
- https://www.gktorrent.org/
|
||||
- https://www.gktorrent.me/
|
||||
- https://www.rantop.org/
|
||||
- https://www.gktorrent.net/
|
||||
- https://www.gktorrent.cx/
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: movies, cat: Movies, desc: "Movies"}
|
||||
@@ -45,7 +47,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}/recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div.listing-torrent > table > tbody > tr:has(a)
|
||||
fields:
|
||||
|
@@ -13,7 +13,7 @@
|
||||
# Movie
|
||||
- {id: 132, cat: Movies/BluRay, desc: "BluRay"}
|
||||
- {id: 146, cat: Movies/HD, desc: "Remux"}
|
||||
- {id: 186, cat: Movies/HD, desc: "UHD"}
|
||||
- {id: 186, cat: Movies/UHD, desc: "UHD"}
|
||||
- {id: 189, cat: Movies/HD, desc: "HD"}
|
||||
- {id: 190, cat: Movies/SD, desc: "SD"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVD"}
|
||||
@@ -21,10 +21,10 @@
|
||||
- {id: 16, cat: Movies, desc: "Packs"}
|
||||
|
||||
# Serien
|
||||
- {id: 187, cat: TV/HD, desc: "Staffeln UHD"}
|
||||
- {id: 187, cat: TV/UHD, desc: "Staffeln UHD"}
|
||||
- {id: 173, cat: TV/HD, desc: "Staffeln HD"}
|
||||
- {id: 133, cat: TV/SD, desc: "Staffeln SD"}
|
||||
- {id: 188, cat: TV/HD, desc: "Folgen UHD"}
|
||||
- {id: 188, cat: TV/UHD, desc: "Folgen UHD"}
|
||||
- {id: 174, cat: TV/HD, desc: "Folgen HD"}
|
||||
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: pin
|
||||
@@ -89,7 +90,7 @@
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: /login/
|
||||
path: login/
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
|
@@ -78,7 +78,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
take_login: "1"
|
||||
@@ -88,11 +88,11 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
@@ -121,20 +121,20 @@
|
||||
download:
|
||||
text: "download2.php?torrent={{ .Result._id }}"
|
||||
size:
|
||||
selector: td:nth-last-child(3)
|
||||
selector: td:nth-last-child(4)
|
||||
date:
|
||||
selector: td:nth-last-child(5) > nobr
|
||||
selector: td:nth-last-child(6) > nobr
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00"
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -07:00"
|
||||
files:
|
||||
selector: td:nth-last-child(6)
|
||||
selector: td:nth-last-child(8)
|
||||
seeders:
|
||||
selector: td:nth-last-child(2)
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(1)
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src=\"pic/free.png\"]": "0"
|
||||
|
@@ -60,9 +60,11 @@
|
||||
- {id: 129, cat: Other/Misc, desc: "Documentales H265"}
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /ajax/login.php
|
||||
path: ajax/login.php
|
||||
method: post
|
||||
headers:
|
||||
user-agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36"
|
||||
@@ -75,7 +77,7 @@
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /?p=home&pid=1
|
||||
path: ?p=home&pid=1
|
||||
selector: div#member_info_bar
|
||||
|
||||
search:
|
||||
|
@@ -25,7 +25,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -33,11 +33,11 @@
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -100,9 +100,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0"
|
||||
@@ -113,3 +113,4 @@
|
||||
"i[data-original-title=\"Double upload\"]": "2"
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
||||
|
115
src/Jackett.Common/Definitions/hdarea.yml
Normal file
115
src/Jackett.Common/Definitions/hdarea.yml
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
site: hdarea
|
||||
name: HDArea
|
||||
description: "HDArea is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.hdarea.co
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
|
||||
- {id: 415, cat: Movies/HD, desc: "Movies REMUX"}
|
||||
- {id: 416, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 410, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 411, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 414, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: 412, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
|
||||
- {id: 413, cat: Movies/HD, desc: "Movies HDTV"}
|
||||
- {id: 417, cat: Movies/Other, desc: "Movies iPad"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations"}
|
||||
- {id: 402, cat: TV, desc: "TV Series"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 409, cat: Other, desc: "Misc"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /torrents.php
|
||||
|
||||
ratio:
|
||||
path: /torrents.php
|
||||
selector: table#info_block
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio:\\s(.*?)\\s\\s"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00"
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: "0"
|
||||
img.pro_free2up: "0"
|
||||
img.pro_50pctdown: "0.5"
|
||||
img.pro_50pctdown2up: "0.5"
|
||||
img.pro_30pctdown: "0.3"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: "2"
|
||||
img.pro_free2up: "2"
|
||||
img.pro_2up: "2"
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, img
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdbits.org
|
||||
- https://hdbits.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -23,7 +23,7 @@
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
|
@@ -6,7 +6,7 @@
|
||||
encoding: UTF-8
|
||||
type: private
|
||||
links:
|
||||
- https://www.hd-bits.com
|
||||
- https://www.hd-bits.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -33,7 +33,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -42,7 +42,7 @@
|
||||
error:
|
||||
- selector: div#error-text
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: hdchina
|
||||
name: HDChina
|
||||
description: "A chinese tracker"
|
||||
description: "HDChina (HDWing) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -41,26 +41,28 @@
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
method: cookie
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -114,10 +116,15 @@
|
||||
args: " ago"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown: ".5"
|
||||
img.pro_30pctdown: ".3"
|
||||
img.pro_free: "0"
|
||||
img.pro_free2up: "0"
|
||||
img.pro_50pctdown: "0.5"
|
||||
img.pro_50pctdown2up: "0.5"
|
||||
img.pro_30pctdown: "0.3"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
img.pro_50pctdown2up: "2"
|
||||
img.pro_free2up: "2"
|
||||
img.pro_2up: "2"
|
||||
"*": "1"
|
||||
|
@@ -115,8 +115,20 @@
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info
|
||||
type: info
|
||||
label: "IP requirement"
|
||||
default: "This site accepts only users with Spanish IP addresses.<br>For others it will return error: 403 Forbidden."
|
||||
|
||||
login:
|
||||
path: /index.php?page=login
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user