mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-12 15:04:13 +02:00
Compare commits
288 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
363d08634a | ||
![]() |
2b503e01a1 | ||
![]() |
a838dbcb6c | ||
![]() |
16f96e0419 | ||
![]() |
5fe974afad | ||
![]() |
593bbb37d3 | ||
![]() |
c9fbc7268b | ||
![]() |
a32ad215cd | ||
![]() |
34509d284f | ||
![]() |
2ca7975d3d | ||
![]() |
e8dbaa4a8e | ||
![]() |
a6fd4c3da1 | ||
![]() |
1b3365d8ad | ||
![]() |
a822b3c4f4 | ||
![]() |
ff663cc202 | ||
![]() |
4c3dbb4746 | ||
![]() |
a4ba0d21d9 | ||
![]() |
859da99442 | ||
![]() |
1cbeb74c8e | ||
![]() |
4ae705eb15 | ||
![]() |
b469c2e764 | ||
![]() |
2712ff432b | ||
![]() |
9da64d5bbf | ||
![]() |
5d21a69b07 | ||
![]() |
a083090b5e | ||
![]() |
27ae1b3e82 | ||
![]() |
f0245900e4 | ||
![]() |
4ea6ce6cc2 | ||
![]() |
f905e44b09 | ||
![]() |
fa1ee57072 | ||
![]() |
da56368720 | ||
![]() |
a61991fcdb | ||
![]() |
8051e87d2a | ||
![]() |
a0eb39f87b | ||
![]() |
b3d2ad94a7 | ||
![]() |
a6154898ed | ||
![]() |
9b39e1c3c2 | ||
![]() |
656702cde7 | ||
![]() |
34114c23fc | ||
![]() |
31c629c862 | ||
![]() |
be34f78be0 | ||
![]() |
219d9548a1 | ||
![]() |
88a24cad1e | ||
![]() |
a86e1e82f2 | ||
![]() |
747394fce7 | ||
![]() |
09229dcf29 | ||
![]() |
5afc1a1c9a | ||
![]() |
505948b69a | ||
![]() |
68e72e41cf | ||
![]() |
573ba5b41f | ||
![]() |
dfd1ec375b | ||
![]() |
3fa0b76b59 | ||
![]() |
c830a59d58 | ||
![]() |
d05767fd3b | ||
![]() |
08ab66a447 | ||
![]() |
6ee45ec0b2 | ||
![]() |
6d23341f06 | ||
![]() |
58f9078d70 | ||
![]() |
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 |
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**:
|
||||
|
||||
-------------------------------
|
||||
|
4
.github/no_information_provided.md
vendored
4
.github/no_information_provided.md
vendored
@@ -5,5 +5,5 @@ You've created an issue, but haven't provided any details to allow the community
|
||||
Provide a description of the feature request or bug, the more details the better.
|
||||
If you are experiencing an issue with a tracker, a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
|
||||
|
||||
**Jackett version**:
|
||||
**Mono version** (if not using Windows):
|
||||
(At the bottom of your Jackett Dashboard page) **Jackett version**:
|
||||
(if you installed using Jackett.Binaries.Mono.tar.gz) **Mono version**:
|
||||
|
117
README.md
117
README.md
@@ -16,8 +16,9 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
|
||||
|
||||
#### Supported Systems
|
||||
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
|
||||
* Linux and macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
|
||||
* Windows 7SP1 or greater using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461)
|
||||
* Linux ([supported operating systems here](https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md))
|
||||
* macOS 10.12 or greater
|
||||
|
||||
### Supported Public Trackers
|
||||
* 1337x
|
||||
@@ -26,8 +27,9 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AudioBook Bay (ABB)
|
||||
* BTstor.net
|
||||
* btbit
|
||||
* BTDB
|
||||
* BTDigg
|
||||
* BTKitty
|
||||
* cpasbien
|
||||
* cpasbienClone
|
||||
@@ -39,14 +41,15 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Frozen Layer
|
||||
* GkTorrent
|
||||
* Horrible Subs
|
||||
* IdopeClone
|
||||
* Il Corsaro Nero <!-- maintained by bonny1992 -->
|
||||
* Il Corsaro Blu
|
||||
* Isohunt2
|
||||
* KATcrs
|
||||
* KickAssTorrent (KATcr)
|
||||
* KickAssTorrent (thekat.se clone)
|
||||
* KikiBT
|
||||
* LimeTorrents
|
||||
* MacTorrents
|
||||
* MagnetDL
|
||||
* MejorTorrent <!-- maintained by ivandelabeldad -->
|
||||
* Monova
|
||||
@@ -61,22 +64,22 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* shokweb
|
||||
* ShowRSS
|
||||
* SkyTorrentsClone
|
||||
* SolidTorrents
|
||||
* sukebei.Nyaa.si
|
||||
* sukebei-Pantsu
|
||||
* The Pirate Bay (TPB)
|
||||
* TNTVillage <!-- maintained by bonny1992 -->
|
||||
* Tokyo Tosho
|
||||
* Torlock
|
||||
* TorrentCouch
|
||||
* Torrent Downloads (TD)
|
||||
* TorrentFunk
|
||||
* TorrentGalaxy.org (TGx)
|
||||
* TorrentKitty
|
||||
* TorrentProject2
|
||||
* Torrents.csv
|
||||
* Torrent9
|
||||
* Torernt9 clone (torrents9.ch)
|
||||
* Torrentz2
|
||||
* Torrof (Torrentoff)
|
||||
* World Wide Torrents
|
||||
* YTS.ag
|
||||
* Zooqle
|
||||
@@ -102,7 +105,9 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* NoName Club (NNM-Club)
|
||||
* RockBox
|
||||
* RuTracker
|
||||
* Sharewood
|
||||
* SkTorrent
|
||||
* SoundPark
|
||||
* Union Fansub
|
||||
* Vanila
|
||||
* XtreMeZone (MYXZ)
|
||||
@@ -113,10 +118,10 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* 2 Fast 4 You
|
||||
* 3D Torrents (3DT)
|
||||
* 3evils
|
||||
* 420files
|
||||
* 720pier
|
||||
* Abnormal
|
||||
* Acid Lounge (A-L)
|
||||
* Aftershock
|
||||
* AlphaRatio (AR)
|
||||
* AmigosShareClub
|
||||
* AnimeBytes (AB)
|
||||
@@ -124,13 +129,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Anthelion
|
||||
* AOX (Chippu)
|
||||
* Araba Fenice (Phoenix)
|
||||
* ArcheTorrent
|
||||
* AsianCinema
|
||||
* AsianDVDClub
|
||||
* AST4u
|
||||
* Audiobook Torrents (ABT)
|
||||
* AudioNews (AN)
|
||||
* Awesome-HD (AHD)
|
||||
* AVG (Audio Video Games)
|
||||
* Avistaz (AsiaTorrents)
|
||||
* B2S-Share
|
||||
* Back-ups
|
||||
@@ -141,13 +146,15 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* BigTower
|
||||
* Bit-City Reloaded
|
||||
* BIT-HDTV
|
||||
* BiT-TiTAN
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen
|
||||
* BitMe
|
||||
* BitMeTV
|
||||
* BitsPiracy
|
||||
* Bitspyder
|
||||
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
|
||||
* BitTorrentFiles
|
||||
* BitTurk
|
||||
* BJ-Share (BJ)
|
||||
* BlueBird
|
||||
* Blutopia (BLU)
|
||||
@@ -156,22 +163,28 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* BrokenStones
|
||||
* BTGigs (TG)
|
||||
* BTNext (BTNT)
|
||||
* BTXpress (BTX)
|
||||
* Carpathians
|
||||
* CartoonChaos (CC)
|
||||
* CasaTorrent
|
||||
* CasStudioTV
|
||||
* CCFBits
|
||||
* CGPeers
|
||||
* CHDBits
|
||||
* ChannelX
|
||||
* CiNEFiLHD
|
||||
* Cinemageddon
|
||||
* Cinematik
|
||||
* CinemaZ (EuTorrents)
|
||||
* Classix
|
||||
* CrnaBerza
|
||||
* DanishBits (DB)
|
||||
* Dark-Shadow
|
||||
* Das Unerwartete
|
||||
* DataScene (DS)
|
||||
* DesiReleasers
|
||||
* DesiTorrents
|
||||
* Diablo Torrent
|
||||
* DigitalCore
|
||||
* DigitalHive
|
||||
* DivTeam
|
||||
* DocumentaryTorrents (DT)
|
||||
@@ -189,6 +202,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* FileList (FL)
|
||||
* Femdomcult
|
||||
* Freedom-HD (Freedom Paradise)
|
||||
* FreeTorrent
|
||||
* FullMixMusic
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
@@ -218,6 +232,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* HDCity
|
||||
* HDHome (HDBigger)
|
||||
* HDME
|
||||
* HDplus
|
||||
* HDSky
|
||||
* HDTorrents.it
|
||||
* Hebits
|
||||
@@ -255,11 +270,14 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* notwhat.cd
|
||||
* Orpheus
|
||||
* Ourbits (HDPter)
|
||||
* P2PBG
|
||||
* Passione Torrent <!-- maintained by bonny1992 -->
|
||||
* PassThePopcorn (PTP)
|
||||
* Peers.FM
|
||||
* PiratBit
|
||||
* PirateTheNet (PTN)
|
||||
* PiXELHD (PxHD)
|
||||
* Pleasuredome
|
||||
* PolishSource (PS)
|
||||
* PolishTracker
|
||||
* Pretome
|
||||
@@ -268,12 +286,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Psytorrents
|
||||
* PT99
|
||||
* PTFiles (PTF)
|
||||
* PThome
|
||||
* PuntoTorrent
|
||||
* PWTorrents (PWT)
|
||||
* Racing4Everyone (R4E)
|
||||
* RacingForMe (RFM)
|
||||
* Redacted (PassTheHeadphones)
|
||||
* Red Star Torrent (RST)
|
||||
* Redtopia (RED)
|
||||
* RetroFlix
|
||||
* RevolutionTT
|
||||
* RGU
|
||||
@@ -288,6 +307,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Secret Cinema
|
||||
* Shareisland
|
||||
* ShareSpaceDB
|
||||
* Sharingue
|
||||
* Shazbat
|
||||
* Shellife (SL)
|
||||
* SpaceTorrent
|
||||
@@ -311,12 +331,13 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* The Show
|
||||
* The-Torrents
|
||||
* The Vault
|
||||
* Tigers-dl
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent.LT
|
||||
* TorrentBD
|
||||
* TorrentBytes (TBy)
|
||||
* TorrentCCF (TCCF) [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentCCF (TCCF)
|
||||
* TorrentDay (TD)
|
||||
* Torrentech (TTH)
|
||||
* TorrentHeaven
|
||||
@@ -328,22 +349,26 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Torrent-Syndikat
|
||||
* TOrrent-tuRK (TORK)
|
||||
* TorViet (HDVNBits)
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory
|
||||
* TranceTraffic
|
||||
* Trezzor
|
||||
* TurkTorrent (TT)
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TV-Vault
|
||||
* TVstore
|
||||
* u-torrents (SceneFZ)
|
||||
* UHDBits
|
||||
* Ultimate Gamer Club (UGC)
|
||||
* Vizuk
|
||||
* Waffles
|
||||
* World-In-HD
|
||||
* World-of-Tomorrow
|
||||
* WorldOfP2P (WOP)
|
||||
* x-ite.me (XM)
|
||||
* xBytesV2
|
||||
* XSpeeds (XS)
|
||||
* XKTorrent
|
||||
* XWTorrents (XWT)
|
||||
* Xthor
|
||||
* ExoticaZ (YourExotic)
|
||||
@@ -359,7 +384,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
|
||||
@@ -367,8 +392,8 @@ Using the all indexer has no advantages (besides reduced management overhead), o
|
||||
|
||||
To get all Jackett indexers including their capabilities you can use `t=indexers` on the all indexer. To get only configured/unconfigured indexers you can also add `configured=true/false` as query parameter.
|
||||
|
||||
## Installation on Windows
|
||||
|
||||
## Installation on Windows
|
||||
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
|
||||
|
||||
To get started with using the installer for Jackett, follow the steps below:
|
||||
@@ -384,7 +409,34 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
|
||||
|
||||
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
|
||||
|
||||
## Installation on Linux
|
||||
|
||||
## Install on Linux (AMDx64)
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
|
||||
|
||||
### Install as service
|
||||
To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
### Run without installing as a service
|
||||
Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
|
||||
|
||||
### home directory
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
|
||||
## Install on Linux (ARMv7 or above)
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
|
||||
|
||||
### Install as service
|
||||
To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
### Run without installing as a service
|
||||
Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
|
||||
|
||||
### home directory
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
|
||||
## Installation on Linux (ARMv6 or below)
|
||||
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
|
||||
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
|
||||
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
|
||||
@@ -393,20 +445,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
|
||||
|
||||
@@ -414,14 +458,14 @@ On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/
|
||||
|
||||
On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chrisjohnson00/jackett)
|
||||
|
||||
|
||||
## Installation on macOS
|
||||
|
||||
### Prerequisites
|
||||
Install [Mono 5.8](http://www.mono-project.com/download/#download-mac) or better (using the latest pkg installer is recommended).
|
||||
* Setup ssl support by running `curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin`
|
||||
macOS 10.12 or greater
|
||||
|
||||
### Install as service
|
||||
1. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
1. Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
|
||||
2. Open the extracted folder and double-click on `install_service_macos`.
|
||||
3. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
@@ -429,14 +473,17 @@ The service will start on each logon. You can always stop it by running `launchc
|
||||
Logs are stored as usual under `~/.config/Jackett/log.txt`.
|
||||
|
||||
### Run without installing as a service
|
||||
Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
|
||||
Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`.
|
||||
|
||||
|
||||
## Installation using Docker
|
||||
Detailed instructions are available at [LinuxServer.io Jackett Docker](https://hub.docker.com/r/linuxserver/jackett/). The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system eg. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
|
||||
|
||||
|
||||
## Installation on Synology
|
||||
Jackett is available as beta package from [SynoCommunity](https://synocommunity.com/)
|
||||
|
||||
|
||||
## Running Jackett behind a reverse proxy
|
||||
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base Path Override" Jackett option accordingly.
|
||||
|
||||
@@ -482,7 +529,7 @@ location /jackett {
|
||||
The logfiles (log.txt/updater.txt) are stored in `%ProgramData%\Jackett` on Windows and `~/.config/Jackett/` on Linux/macOS.
|
||||
|
||||
## Configuring OMDb
|
||||
This feature is used as a fallback to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
This feature is used as a fallback (when using the aggregate Indexer) to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
|
||||
|
||||
## Creating an issue
|
||||
@@ -509,6 +556,8 @@ All contributions are welcome just send a pull request.
|
||||
|
||||
### Windows
|
||||
* Install the .NET Core [SDK](https://www.microsoft.com/net/download/windows)
|
||||
* Clone Jackett
|
||||
* From the `src` directory, run `dotnet restore`
|
||||
* Open the Jackett solution in Visual Studio 2017 (version 15.9 or above)
|
||||
* Right click on the Jackett solution and click 'Rebuild Solution' to restore nuget packages
|
||||
* Select Jackett.Server as startup project
|
||||
@@ -527,7 +576,7 @@ cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r osx-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/netcoreapp2.2/osx-x64/JackettConsole # run jackett
|
||||
./Jackett.Server/bin/Debug/netcoreapp2.2/osx-x64/jackett # run jackett
|
||||
```
|
||||
|
||||
### Linux
|
||||
@@ -540,14 +589,8 @@ cd Jackett/src
|
||||
|
||||
# dotnet core version
|
||||
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r linux-x64 -c Debug # takes care of everything
|
||||
./Jackett.Server/bin/Debug/netcoreapp2.2/linux-x64/JackettConsole # run jackett
|
||||
./Jackett.Server/bin/Debug/netcoreapp2.2/linux-x64/jackett # run jackett
|
||||
```
|
||||
<!--
|
||||
# mono version (currently broken)
|
||||
nuget restore Jackett.sln # prepare dependencies
|
||||
msbuild Jackett.Server/Jackett.Server.csproj /t:Build /p:Configuration=Debug # compile
|
||||
mono Jackett.Server/bin/Debug/JackettServer.exe # run jackett
|
||||
-->
|
||||
|
||||
## Screenshots
|
||||
|
||||
|
11
appveyor.yml
11
appveyor.yml
@@ -1,8 +1,8 @@
|
||||
version: 0.10.{build}
|
||||
version: 0.11.{build}
|
||||
skip_tags: true
|
||||
image:
|
||||
- Visual Studio 2017
|
||||
image:
|
||||
- Ubuntu
|
||||
- Visual Studio 2017
|
||||
environment:
|
||||
APPVEYOR_YML_DISABLE_PS_LINUX: true
|
||||
configuration: Release
|
||||
@@ -21,19 +21,20 @@ dotnet_csproj:
|
||||
file_version: '{version}'
|
||||
informational_version: '{version}'
|
||||
build_script:
|
||||
- ps: .\build.ps1 --target=Default
|
||||
- ps: .\build.ps1 --target=Windows-Appveyor
|
||||
- sh: ./build.sh --target=Linux
|
||||
test: off
|
||||
before_deploy:
|
||||
- ps: ${env:release_description} = ( Get-Content -LiteralPath BuildOutput/ReleaseNotes.txt -Encoding UTF8 ) -join "`n";
|
||||
deploy:
|
||||
- provider: GitHub
|
||||
tag: v$(appveyor_build_version)
|
||||
tag: v$(APPVEYOR_BUILD_VERSION)
|
||||
description: $(release_description)
|
||||
auth_token:
|
||||
secure: hOg+16YTIbq4kO9u4D1YVOTbWDqgCX6mAQYMbnmBBSw2CiUsZh7OKbupoUb3FtWa
|
||||
artifact: /^(?:(?![Ee]xperimental).)*$/
|
||||
draft: true
|
||||
force_update: true
|
||||
on:
|
||||
branch: master
|
||||
notifications:
|
||||
|
102
build.cake
102
build.cake
@@ -14,9 +14,11 @@ var configuration = Argument("configuration", "Debug");
|
||||
|
||||
// Define directories.
|
||||
var workingDir = MakeAbsolute(Directory("./"));
|
||||
var artifactsDirName = "Artifacts";
|
||||
var testResultsDirName = "TestResults";
|
||||
var netCoreFramework = "netcoreapp2.2";
|
||||
string artifactsDirName = "Artifacts";
|
||||
string testResultsDirName = "TestResults";
|
||||
string netCoreFramework = "netcoreapp2.2";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string updaterProjectPath = "./src/Jackett.Updater/Jackett.Updater.csproj";
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// TASKS
|
||||
@@ -89,7 +91,6 @@ Task("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Run-Unit-Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = "./BuildOutput/net461/win7-x86/Jackett";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, "net461", "win7-x86", buildOutputPath);
|
||||
@@ -119,15 +120,14 @@ Task("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Run-Unit-Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = "./BuildOutput/net461/linux-x64/Jackett";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, "net461", "linux-x64", buildOutputPath);
|
||||
|
||||
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
|
||||
|
||||
CopyFileToDirectory("./install_service_macos", buildOutputPath);
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./install_service_macos_mono", buildOutputPath);
|
||||
CopyFileToDirectory("./install_service_systemd_mono.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
|
||||
//There is an issue with Mono 5.8 (fixed in Mono 5.12) where its expecting to use its own patched version of System.Net.Http.dll, instead of the version supplied in folder
|
||||
@@ -154,30 +154,37 @@ Task("Package-DotNetCore-macOS")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "osx-x64";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_macos", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.macOS.tar.gz");
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.macOS.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxAMD64")
|
||||
Task("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-x64";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxAMD64.tar.gz");
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxAMDx64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM32")
|
||||
@@ -185,15 +192,18 @@ Task("Package-DotNetCore-LinuxARM32")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxARM32.tar.gz");
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM32.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM64")
|
||||
@@ -201,22 +211,25 @@ Task("Package-DotNetCore-LinuxARM64")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm64";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxARM64.tar.gz");
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
if (AppVeyor.IsRunningOnAppVeyor && IsRunningOnWindows())
|
||||
if (AppVeyor.IsRunningOnAppVeyor)
|
||||
{
|
||||
foreach (var file in GetFiles(workingDir + $"/{artifactsDirName}/*"))
|
||||
{
|
||||
@@ -277,11 +290,11 @@ Task("Release-Notes")
|
||||
|
||||
});
|
||||
|
||||
Task("Windows-Environment")
|
||||
Task("Windows-Environment-Dev")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
@@ -291,9 +304,19 @@ Task("Windows-Environment")
|
||||
Information("Windows-Environment Task Completed");
|
||||
});
|
||||
|
||||
Task("Windows-Environment-Appveyor")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows-Environment Task Completed");
|
||||
});
|
||||
|
||||
Task("Linux-Environment")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
@@ -380,7 +403,21 @@ private void Gzip(string sourceFolder, string outputDirectory, string tarCdirect
|
||||
{
|
||||
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type d -exec chmod 755 {} \;");
|
||||
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type f -exec chmod 644 {} \;");
|
||||
//RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))} /Jackett/jackett");
|
||||
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/jackett");
|
||||
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/JackettUpdater");
|
||||
|
||||
string systemdScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_systemd.sh";
|
||||
if (FileExists(systemdScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {systemdScript}");
|
||||
}
|
||||
|
||||
string macOsServiceScript = MakeAbsolute(Directory(sourceFolder)) + "/Jackett/install_service_macos";
|
||||
if (FileExists(macOsServiceScript))
|
||||
{
|
||||
RunLinuxCommand("chmod", $"755 {macOsServiceScript}");
|
||||
}
|
||||
|
||||
RunLinuxCommand("tar", $"-C {sourceFolder} -zcvf {outputDirectory}/{tarFileName}.gz {tarCdirectoryOption}");
|
||||
}
|
||||
}
|
||||
@@ -402,12 +439,19 @@ private void DotNetCorePublish(string projectPath, string framework, string runt
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Default")
|
||||
.IsDependentOn("Windows-Environment")
|
||||
.IsDependentOn("Windows-Environment-Dev")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Default Task Completed");
|
||||
});
|
||||
|
||||
Task("Windows-Appveyor")
|
||||
.IsDependentOn("Windows-Environment-Appveyor")
|
||||
.Does(() =>
|
||||
{
|
||||
Information("Windows Appveyor Task Completed");
|
||||
});
|
||||
|
||||
Task("Linux")
|
||||
.IsDependentOn("Linux-Environment")
|
||||
.Does(() =>
|
||||
|
@@ -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
|
@@ -270,6 +270,11 @@ table td.fit{
|
||||
text-align: right;
|
||||
margin-right: 1em;
|
||||
}
|
||||
input#searchquery{
|
||||
|
||||
input#searchquery {
|
||||
width:400px;
|
||||
}
|
||||
|
||||
#proxy-warning {
|
||||
color: red;
|
||||
}
|
||||
|
@@ -100,6 +100,7 @@ function loadJackettSettings() {
|
||||
})
|
||||
|
||||
reloadIndexers();
|
||||
proxyWarning(data.proxy_url);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1221,4 +1222,18 @@ function bindUIButtons() {
|
||||
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");
|
||||
});
|
||||
});
|
||||
|
||||
$('#jackett-proxy-url').on('input', function () {
|
||||
proxyWarning($(this).val());
|
||||
});
|
||||
}
|
||||
|
||||
function proxyWarning(input) {
|
||||
if (input != null && input.trim() !== "") {
|
||||
$('#proxy-warning').show();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#proxy-warning').hide();
|
||||
}
|
||||
}
|
||||
|
@@ -281,6 +281,10 @@ div#jackett-releases-datatable_wrapper {
|
||||
width: 100%;
|
||||
overflow-x: scroll;
|
||||
}
|
||||
input#searchquery{
|
||||
input#searchquery {
|
||||
width:50%;
|
||||
}
|
||||
|
||||
#proxy-warning {
|
||||
color: red;
|
||||
}
|
||||
|
@@ -34,8 +34,8 @@
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="../bootstrap/bootstrap.min.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../animate.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=2017083001" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=2017083001" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=20190401" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=20190401" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.min.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=2017083001" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css?changed=2017083001">
|
||||
@@ -87,8 +87,10 @@
|
||||
<h4>Adding a Jackett indexer to RSS clients (RSS feed)</h4>
|
||||
<ol>
|
||||
<li>Click on the indexers corresponding <button type="button" class="btn btn-xs btn-info">Copy RSS Feed</button> button and paste it into the URL field of the RSS client.</li>
|
||||
<li>You can adjust the <b>q</b> (search string) and <b>cat</b> (categories) arguments accordingly.
|
||||
E.g. <b>...&cat=2030,2040&q=big+buck+bunny</b> will search for "big buck bunny" in the Movies/SD (2030) and Movies/HD (2040) categories (See the indexer configuration for available categories).</li>
|
||||
<li>
|
||||
You can adjust the <b>q</b> (search string) and <b>cat</b> (categories) arguments accordingly.
|
||||
E.g. <b>...&cat=2030,2040&q=big+buck+bunny</b> will search for "big buck bunny" in the Movies/SD (2030) and Movies/HD (2040) categories (See the indexer configuration for available categories).
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
<hr />
|
||||
@@ -138,6 +140,12 @@
|
||||
<option value="2">socks5</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="proxy-warning" hidden>
|
||||
<span>
|
||||
WARNING: The proxy option is unstable and potentially leaks requests. If no fix from the community is forthcoming
|
||||
in the next few months, the proxy option will be removed from Jackett. Recommendation is to use a VPN.
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<span class="input-header">Proxy url: </span>
|
||||
<input id="jackett-proxy-url" class="form-control input-right" type="text" value="" placeholder="Blank to disable">
|
||||
@@ -663,6 +671,6 @@
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20180711"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20190401"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -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]
|
||||
|
@@ -10,12 +10,24 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2, cat: Console, desc: "Games"}
|
||||
- {id: 3, cat: Movies, desc: "Movies"}
|
||||
- {id: 4, cat: Audio, desc: "Music"}
|
||||
- {id: 9, cat: TV/Anime, desc: " Anime"}
|
||||
- {id: 17, cat: TV, desc: " TV"}
|
||||
- {id: 18, cat: PC, desc: "Appz"}
|
||||
- {id: 65, cat: Books, desc: "Books"}
|
||||
- {id: 27, cat: Console/NDS, desc: "Games/Nintendo-DS"}
|
||||
- {id: 28, cat: Console/Other, desc: "Games/Switch"}
|
||||
- {id: 42, cat: PC/Phone-Android, desc: "Mobile/Android"}
|
||||
- {id: 44, cat: Movies/UHD, desc: "Movies/4K"}
|
||||
- {id: 13, cat: Movies/BluRay, desc: "Movies/Bluray"}
|
||||
- {id: 12, cat: Movies/DVD, desc: "Movies/DVD-R"}
|
||||
- {id: 14, cat: Movies, desc: "Movies/Packs"}
|
||||
- {id: 67, cat: Movies/HD, desc: "Movies/x264"}
|
||||
- {id: 55, cat: Movies/HD, desc: "Movies/X265"}
|
||||
- {id: 45, cat: Movies, desc: "Movies/Remux"}
|
||||
- {id: 62, cat: Audio, desc: "Music/Audio"}
|
||||
- {id: 32, cat: Audio, desc: "Music/Packs"}
|
||||
- {id: 6, cat: TV, desc: "TV/Packs"}
|
||||
- {id: 3, cat: TV/HD, desc: "TV/x264"}
|
||||
- {id: 4, cat: TV/HD, desc: "TV/x265"}
|
||||
- {id: 8, cat: TV/SD, desc: "TV/Xvid"}
|
||||
- {id: 63, cat: PC/0day, desc: "Windows/Applications"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -46,6 +58,7 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{.Keywords}}"
|
||||
searchin: "title"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table.table-bordered tr:has(a[href^="browse.php?cat="])
|
||||
@@ -77,34 +90,49 @@
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
files:
|
||||
selector: td:nth-last-child(9)
|
||||
grabs:
|
||||
selector: td:nth-last-child(5)
|
||||
banner:
|
||||
selector: a[href^="details.php?id="][onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Times", ""]
|
||||
# onmouseover="Tip('<b>blahblah /><img src=\'/imdb/images/0090293.jpg\' blahblah />');"
|
||||
- name: regexp
|
||||
args: "/imdb/(.*?).jpg"
|
||||
- name: prepend
|
||||
args: "/imdb/"
|
||||
- name: append
|
||||
args: ".jpg"
|
||||
size:
|
||||
selector: td:nth-last-child(4)
|
||||
files:
|
||||
selector: a[href^="filelist.php?id="]
|
||||
grabs:
|
||||
selector: a[href^="snatches.php?id="]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Today<br />10:20 AM
|
||||
# Yesterday<br />08:03 PM
|
||||
# Today<br /> 10:20 AM
|
||||
# Yesterday<br /> 08:03 PM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
selector: td:nth-last-child(5):contains("day")
|
||||
date:
|
||||
# Feb 14 2019<br />10:20 AM
|
||||
# Feb 14 2019<br /> 10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):not(:contains("day"))
|
||||
selector: td:nth-last-child(5):not(:contains("day"))
|
||||
filters:
|
||||
- name: regex # drop break in between date and time
|
||||
args: ["(.+?)<[^>]*>(.+?)","$1 $2"]
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 pm"
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
text: "0"
|
||||
seeders:
|
||||
optional: true
|
||||
selector: a[href$="#seeders"]
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
text: "0"
|
||||
leechers:
|
||||
optional: true
|
||||
selector: a[href$="#leechers"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"b:contains(\"[FREE]\")": "0"
|
||||
|
@@ -6,88 +6,99 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bittorrentfiles.me/
|
||||
legacylinks:
|
||||
- https://www.Bittorrentfiles.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movie
|
||||
- {id: 48, cat: Movies/HD, desc: "1080p"}
|
||||
- {id: 31, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 21, cat: Movies/HD, desc: "720p"}
|
||||
- {id: 28, cat: Movies/SD, desc: "AVI"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVD-R"}
|
||||
- {id: 40, cat: Movies/HD, desc: "h264/x264"}
|
||||
- {id: 30, cat: Movies/HD, desc: "HD/BD"}
|
||||
- {id: 49, cat: Movies/Foreign, desc: "International"}
|
||||
- {id: 78, cat: Movies/HD, desc: "UHD"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Movie 1080p"}
|
||||
- {id: 31, cat: Movies/3D, desc: "Movie 3D"}
|
||||
- {id: 21, cat: Movies/HD, desc: "Movie 720p"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Movie AVI"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||
- {id: 40, cat: Movies/HD, desc: Movie "h264/x264"}
|
||||
- {id: 30, cat: Movies/HD, desc: "Movie HD/BD"}
|
||||
- {id: 49, cat: Movies/Foreign, desc: "Movie International"}
|
||||
- {id: 78, cat: Movies/UHD, desc: "Movie UHD"}
|
||||
- {id: 85, cat: Movies/HD, desc: "Movie x265"}
|
||||
|
||||
# Serien
|
||||
- {id: 79, cat: TV/HD, desc: "Staffeln HD"}
|
||||
- {id: 56, cat: TV/SD, desc: "Staffeln SD"}
|
||||
- {id: 88, cat: TV/UHD, desc: "Staffeln UHD"}
|
||||
- {id: 86, cat: TV/HD, desc: "Folgen UHD"}
|
||||
- {id: 54, cat: TV/HD, desc: "Folgen HD"}
|
||||
- {id: 80, cat: TV/HD, desc: "Folgen HD/BD"}
|
||||
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
|
||||
- {id: 55, cat: TV/Foreign, desc: "International"}
|
||||
- {id: 55, cat: TV/Foreign, desc: "Folgen International"}
|
||||
|
||||
# Doku
|
||||
- {id: 64, cat: TV/Documentary, desc: "HD"}
|
||||
- {id: 36, cat: TV/Documentary, desc: "SD"}
|
||||
- {id: 81, cat: TV/Documentary, desc: "3D"}
|
||||
- {id: 82, cat: TV/Documentary, desc: "Packs"}
|
||||
- {id: 91, cat: TV/Documentary, desc: "Doku UHD"}
|
||||
- {id: 64, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 36, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 81, cat: TV/Documentary, desc: "Doku 3D"}
|
||||
- {id: 82, cat: TV/Documentary, desc: "Doku Packs"}
|
||||
|
||||
# Spiele
|
||||
- {id: 4, cat: PC/Games, desc: "Windows"}
|
||||
- {id: 72, cat: Console/XBox360, desc: "XBOX 360"}
|
||||
- {id: 44, cat: Console/XBoxOne, desc: "XBOX One"}
|
||||
- {id: 43, cat: Console/Wii, desc: "Wii"}
|
||||
- {id: 69, cat: Console, desc: "PS2"}
|
||||
- {id: 70, cat: Console/PS3, desc: "PS3"}
|
||||
- {id: 70, cat: Console/PS4, desc: "PS4"}
|
||||
- {id: 70, cat: Console/PSP, desc: "PSP"}
|
||||
- {id: 42, cat: Console/Other, desc: "Misc"}
|
||||
- {id: 4, cat: PC/Games, desc: "Spiele Windows"}
|
||||
- {id: 92, cat: PC/Mac, desc: "Spiele Mac"}
|
||||
- {id: 93, cat: PC, desc: "Spiele Linux"}
|
||||
- {id: 97, cat: Console/XBox, desc: "Spiele XBOX"}
|
||||
- {id: 94, cat: PC/Phone-Other, desc: "Spiele Mobile"}
|
||||
- {id: 95, cat: Console/NDS, desc: "Spiele Nintendo"}
|
||||
- {id: 96, cat: Console/PSP, desc: "Spiele Playstation"}
|
||||
- {id: 42, cat: Console/Other, desc: "Spiele Andere"}
|
||||
|
||||
# Musik
|
||||
- {id: 66, cat: Audio, desc: "Alben"}
|
||||
- {id: 75, cat: Audio, desc: "Singles"}
|
||||
- {id: 50, cat: Audio, desc: "Charts"}
|
||||
- {id: 52, cat: Audio, desc: "Packs"}
|
||||
- {id: 53, cat: Audio/Video, desc: "Video"}
|
||||
- {id: 61, cat: Audio/Video, desc: "DVD-R"}
|
||||
- {id: 83, cat: Audio, desc: "Flac"}
|
||||
- {id: 68, cat: Audio, desc: "Live"}
|
||||
- {id: 6, cat: Audio, desc: "Misc"}
|
||||
- {id: 51, cat: Audio, desc: "OST"}
|
||||
- {id: 67, cat: Audio, desc: "Sampler"}
|
||||
- {id: 66, cat: Audio, desc: "Musik Alben"}
|
||||
- {id: 75, cat: Audio, desc: "Musik Singles"}
|
||||
- {id: 50, cat: Audio, desc: "Musik Charts"}
|
||||
- {id: 52, cat: Audio, desc: "Musik Packs"}
|
||||
- {id: 53, cat: Audio/Video, desc: "Musik Video"}
|
||||
- {id: 61, cat: Audio/Video, desc: "Musik DVD-R"}
|
||||
- {id: 83, cat: Audio/Lossless, desc: "Musik Flac"}
|
||||
- {id: 68, cat: Audio, desc: "Musik Live"}
|
||||
- {id: 6, cat: Audio, desc: "Musik Misc"}
|
||||
- {id: 51, cat: Audio, desc: "Musik OST"}
|
||||
- {id: 67, cat: Audio, desc: "Musik Sampler"}
|
||||
|
||||
# App
|
||||
- {id: 22, cat: PC/0day, desc: "Windows"}
|
||||
- {id: 62, cat: PC/Mac, desc: "Mac OS"}
|
||||
- {id: 63, cat: PC/0day, desc: "Linux"}
|
||||
- {id: 34, cat: PC, desc: "Andere"}
|
||||
- {id: 98, cat: PC/0day, desc: "App Windows"}
|
||||
- {id: 62, cat: PC/Mac, desc: "App Mac OS"}
|
||||
- {id: 63, cat: PC/0day, desc: "App Linux"}
|
||||
- {id: 34, cat: PC, desc: "App Andere"}
|
||||
|
||||
# Sport
|
||||
- {id: 74, cat: TV/Sport, desc: "HD"}
|
||||
- {id: 39, cat: TV/Sport, desc: "SD"}
|
||||
- {id: 74, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 39, cat: TV/Sport, desc: "Sport SD"}
|
||||
|
||||
# Sonstiges
|
||||
- {id: 41, cat: Books/Comics, desc: "A-Book"}
|
||||
- {id: 33, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 35, cat: Books, desc: "e-Book"}
|
||||
- {id: 65, cat: Other, desc: "E-Learning"}
|
||||
- {id: 65, cat: PC, desc: "Mobile"}
|
||||
- {id: 9, cat: Other, desc: "Other"}
|
||||
- {id: 41, cat: Books/Comics, desc: "Sonstiges A-Book"}
|
||||
- {id: 33, cat: TV/Anime, desc: "Sonstiges Anime"}
|
||||
- {id: 35, cat: Books/Ebook, desc: "Sonstiges e-Book-DE"}
|
||||
- {id: 90, cat: Books/Ebook, desc: "Sonstiges e-Book-INT"}
|
||||
- {id: 65, cat: Other, desc: "Sonstiges E-Learning"}
|
||||
- {id: 37, cat: PC, desc: "Sonstiges Mobile"}
|
||||
- {id: 87, cat: Books/Magazines, desc: "Sonstiges E-Paper"}
|
||||
- {id: 38, cat: Other, desc: "Sonstiges Kids"}
|
||||
- {id: 47, cat: Other, desc: "Sonstiges Line"}
|
||||
- {id: 9, cat: Other, desc: "Sonstiges Andere"}
|
||||
|
||||
#XXX
|
||||
- {id: 58, cat: Books/Comics, desc: "HD"}
|
||||
- {id: 33, cat: XXX, desc: "Hentai"}
|
||||
- {id: 35, cat: XXX/Other, desc: "Other"}
|
||||
- {id: 65, cat: XXX/Packs, desc: "Pack"}
|
||||
- {id: 65, cat: XXX, desc: "SD"}
|
||||
- {id: 58, cat: Books/Comics, desc: "XXX HD"}
|
||||
- {id: 46, cat: XXX, desc: "XXX Hentai"}
|
||||
- {id: 35, cat: XXX/Other, desc: "XXX Andere"}
|
||||
- {id: 59, cat: XXX/Packs, desc: "XXX Pack"}
|
||||
- {id: 27, cat: XXX, desc: "XXX SD"}
|
||||
- {id: 76, cat: XXX, desc: "XXX Andere"}
|
||||
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: user
|
||||
@@ -113,8 +124,11 @@
|
||||
path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
|
||||
# 0=title 1=descr 2=nfo 3=all
|
||||
search_where: "{{if .Query.IMDBID}}3{{else}}0{{end}}"
|
||||
# 0=active 1=all 2=dead 4=upload 5=doubleup 6=halfdown 7=highlight =request
|
||||
status: 1
|
||||
|
||||
rows:
|
||||
selector: table.tableinborder > tbody > tr:has(a[href^="details.php"])
|
||||
@@ -134,10 +148,16 @@
|
||||
download:
|
||||
selector: a[href^="/download.php"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(4)
|
||||
text: 0
|
||||
grabs:
|
||||
selector: a[title="Snatcher"]
|
||||
optional: true
|
||||
files:
|
||||
text: 0
|
||||
files:
|
||||
selector: a[title="Files"]
|
||||
optional: true
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
@@ -146,24 +166,42 @@
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
selector: td:nth-child(2) > a
|
||||
text: 0
|
||||
seeders:
|
||||
selector: a[title="Seeder"]
|
||||
optional: true
|
||||
leechers:
|
||||
selector: td:nth-child(3)
|
||||
text: 0
|
||||
leechers:
|
||||
selector: a[title="Leecher"]
|
||||
optional: true
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
selector: td:nth-child(10)
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: td:nth-child(10):contains("Heute"), td:nth-child(10):contains("Gestern")
|
||||
optional: true
|
||||
filters:
|
||||
- name: split
|
||||
args: ["by", 0]
|
||||
args: ["b", 0]
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 23:12:50
|
||||
selector: td:nth-child(10):contains("."):contains(":")
|
||||
optional: true
|
||||
filters:
|
||||
- name: split
|
||||
args: ["b", 0]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[alt="OU"]: "0"
|
||||
img[alt="D/2"]: "0.5"
|
||||
img[alt="D / 2"]: "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
|
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"
|
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"
|
@@ -67,9 +67,6 @@
|
||||
path: /
|
||||
selector: :has(a[href="logout.php"])
|
||||
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://alein.org/index.php?page=torrents&category=1%3B15%3B41%3B14%3B48%3B39%3B20%3B16%3B5%3B21%3B22%3B11&search=venom&active=1
|
||||
@@ -81,22 +78,35 @@
|
||||
active: "1"
|
||||
|
||||
rows:
|
||||
selector: tr.trclass
|
||||
selector: tr.trclass:not(:has(td.lista-cat-rec))
|
||||
fields:
|
||||
title:
|
||||
selector: td.lista-list a
|
||||
selector: td a[href*="id="]
|
||||
details:
|
||||
selector: td.lista-list a
|
||||
selector: td a[href*="id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td.lista-cat a
|
||||
selector: td a[href*="category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
selector: td.lista-list a
|
||||
selector: td a[href*="id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: id
|
||||
- name: prepend
|
||||
args: "download.php?id="
|
||||
- name: append
|
||||
args: "&f={{.Result.title}}.torrent"
|
||||
banner:
|
||||
selector: td a[href*="id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width="
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
|
@@ -6,10 +6,26 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://amigos-share.club/
|
||||
legacylinks:
|
||||
- http://amigos-share.club/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "Set <b>Exibição De Torrents</b> to <b>Lista</b> in your <b>Minhas Configurações</b>.<br />Using <b>Capas</b> is not supported and will return 0 results."
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
|
||||
- {id: 108, cat: XXX, desc: "Adultos: Transex/Female"}
|
||||
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
|
||||
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
|
||||
@@ -44,7 +60,7 @@
|
||||
- {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: 70, cat: XXX, 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"}
|
||||
@@ -57,6 +73,8 @@
|
||||
- {id: 56, cat: Console/Xbox, desc: "Jogos: Xbox"}
|
||||
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
|
||||
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
|
||||
- {id: 111, cat: Console, desc: "Jogos: Nintendo Swich"}
|
||||
- {id: 110, cat: Console, desc: "Jogos: Nintendo Switch"}
|
||||
- {id: 57, cat: Console, desc: "Jogos: Android"}
|
||||
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
|
||||
- {id: 78, cat: Console/Xbox One, desc: "Jogos: Xbox One"}
|
||||
@@ -116,8 +134,7 @@
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: form
|
||||
form: form.form-signin
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
@@ -125,18 +142,18 @@
|
||||
error:
|
||||
- selector: div.alert-error
|
||||
test:
|
||||
path: index.php
|
||||
path: torrents-search.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: index.php
|
||||
path: torrents-search.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
|
||||
# site displays just 9 results, no profile options found to change this, so we attempt to fetch 5 pages
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 1
|
||||
@@ -152,13 +169,13 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 0
|
||||
incldead: 1
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
sort: "id"
|
||||
order: "desc"
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr:has(a[href^="torrents-details.php?id="])
|
||||
selector: table > tbody > tr:has(a[href^="torrents-details.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
@@ -168,6 +185,12 @@
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=\"(.*?)\""
|
||||
category:
|
||||
selector: td:first-child img
|
||||
attribute: src
|
||||
@@ -190,7 +213,7 @@
|
||||
"[src$=\"/E-books.png\"]": "67"
|
||||
"[src$=\"/Revista.png\"]": "68"
|
||||
"[src$=\"/Aventura.png\"]": "80"
|
||||
"[src$=\"/XXX.png\"]": "70"
|
||||
"[src$=\"/Revistas-XXX.png\"]": "70"
|
||||
"[src$=\"/Jogos-Ps4.png\"]": "79"
|
||||
"[src$=\"/Jogos-PC.png\"]": "47"
|
||||
"[src$=\"/Jogos-EmuladoreseRoms.png\"]": "61"
|
||||
@@ -276,14 +299,14 @@
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: td:nth-child(2) span.label-info
|
||||
selector: td:nth-child(2) span.badge-info
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"span.label-success i:contains(\"FREE\")": "0"
|
||||
"span.badge-success:contains(\"FREE\")": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
|
@@ -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:
|
||||
|
@@ -1,206 +0,0 @@
|
||||
---
|
||||
site: archetorrent
|
||||
name: ArcheTorrent
|
||||
description: "ArcheTorrent is a FRENCH Private Torrent Tracker"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://archetorrent.com/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: filter_title
|
||||
type: checkbox
|
||||
label: Try to normalize releases names by moving year after the title
|
||||
default: false
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTI by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTI by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH : "FRENCH"
|
||||
MULTI.FRENCH: "MULTI.FRENCH"
|
||||
ENGLISH: "ENGLISH"
|
||||
MULTI.ENGLISH: "MULTI.ENGLISH"
|
||||
VOSTFR: "VOSTFR"
|
||||
MULTI.VOSTFR: "MULTI.VOSTFR"
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR with ENGLISH
|
||||
default: false
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 18, cat: PC, desc: "Applications: PC"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Applications: Mac"}
|
||||
- {id: 54, cat: PC, desc: "Applications: linux"}
|
||||
- {id: 56, cat: XXX/Other, desc: "Autres: ebook xxx"}
|
||||
- {id: 36, cat: Books, desc: "Autres: E-Books"}
|
||||
- {id: 37, cat: Other, desc: "Autres: Images"}
|
||||
- {id: 38, cat: PC/Phone-Other, desc: "Autres: Telephone-mobile"}
|
||||
- {id: 47, cat: Movies, desc: "Films: Animé"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "Films: DVD"}
|
||||
- {id: 2, cat: Movies/SD, desc: "Films: Dvdrip"}
|
||||
- {id: 68, cat: Movies, desc: "Films: TAT Releases"}
|
||||
- {id: 70, cat: Movies/HD, desc: "Films: UHD 4K"}
|
||||
- {id: 69, cat: Movies, desc: "Films: Retro"}
|
||||
- {id: 3, cat: Movies/HD, desc: "Films: HD1080"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Films: HD720"}
|
||||
- {id: 4, cat: Movies, desc: "Films: Cam/Ts"}
|
||||
- {id: 22, cat: Movies/BluRay, desc: "Films: bluray"}
|
||||
- {id: 23, cat: Movies/3D, desc: "Films: 3D"}
|
||||
- {id: 24, cat: Movies/Foreign, desc: "Films: VOSTFR"}
|
||||
- {id: 25, cat: XXX, desc: "Films: Adulte"}
|
||||
- {id: 48, cat: TV/Documentary, desc: "Films: Documentaire"}
|
||||
- {id: 49, cat: Movies/Other, desc: "Films: Spectacle"}
|
||||
- {id: 51, cat: Movies/SD, desc: "Films: R5"}
|
||||
- {id: 52, cat: Movies/SD, desc: "Films: bdrip"}
|
||||
- {id: 53, cat: Movies/SD, desc: "Films: brrip"}
|
||||
- {id: 55, cat: Movies/DVD, desc: "Films: dvd-pack"}
|
||||
- {id: 57, cat: Movies, desc: "Films: manga"}
|
||||
- {id: 59, cat: Movies/WEBDL, desc: "Films: Webrip"}
|
||||
- {id: 63, cat: Movies/SD, desc: "Films: M-HD"}
|
||||
- {id: 10, cat: PC/Games, desc: "Jeux: PC"}
|
||||
- {id: 11, cat: Console/Other, desc: "Jeux: PS2"}
|
||||
- {id: 43, cat: Console/PS3, desc: "Jeux: PS3"}
|
||||
- {id: 12, cat: Console/PSP, desc: "Jeux: PSP"}
|
||||
- {id: 14, cat: Console/Xbox 360, desc: "Jeux: Xbox360"}
|
||||
- {id: 44, cat: Console/Wii, desc: "Jeux: Wii"}
|
||||
- {id: 45, cat: Console/NDS, desc: "Jeux: DS"}
|
||||
- {id: 27, cat: Audio/Video, desc: "Musique: Clip Video"}
|
||||
- {id: 62, cat: TV/SD, desc: "Serie tv: TV BDRip"}
|
||||
- {id: 5, cat: TV/SD, desc: "Serie tv: Dvdrip"}
|
||||
- {id: 41, cat: TV/HD, desc: "Serie tv: Hd"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serie tv: pack série tv"}
|
||||
- {id: 64, cat: TV/FOREIGN, desc: "Serie tv: vostfr"}
|
||||
- {id: 65, cat: TV/HD, desc: "Serie tv: Série tv 720P"}
|
||||
- {id: 66, cat: TV/HD, desc: "Serie tv: Série tv 1080P"}
|
||||
- {id: 67, cat: TV/HD, desc: "Serie tv: Série tv PackHD"}
|
||||
- {id: 73, cat: TV/Anime, desc: "Serie tv: Anime "}
|
||||
- {id: 72, cat: TV/Sport, desc: "Sport: sport"}
|
||||
- {id: 61, cat: TV/SD, desc: "Tv: DVDRip"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: form:contains("Erreur")
|
||||
message:
|
||||
selector: form
|
||||
remove: table
|
||||
test:
|
||||
path: torrents-search.php
|
||||
|
||||
search:
|
||||
keywordsfilters:
|
||||
- name: replace
|
||||
args: ["-", " "] # remove special search character (negative search)
|
||||
- name: replace
|
||||
args: ["+", " "] # remove special search character (positive search)
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: "1"
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["torrents-details.php", "download.php"]
|
||||
date:
|
||||
selector: td:nth-child(3) a
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Poster le: </b>(.*?)<br />"
|
||||
- name: dateparse
|
||||
args: "02-01-2006"
|
||||
|
||||
title_normal:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" - (Nouveau!)", ""]
|
||||
title_filtered:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" - (Nouveau!)", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)^(?:(.+?)((?:[\\.\\-\\s_\\[]+(?:imax|(?:dvd|bd|tv)(?:rip|scr)|bluray(?:\\-?rip)?|720\\s*p?|1080\\s*p?|vof?|vost(?:fr)?|multi|vf(?:f|q)?[1-3]?|(?:true)?french|eng?)[\\.\\-\\s_\\]]*)*)([\\(\\[]?(?:20|1[7-9])\\d{2}[\\)\\]]?)(.*)$|(.*))$", "$1 $3 $2 $4 $5"]
|
||||
- name: replace
|
||||
args: [".", " "]
|
||||
- name: trim
|
||||
- name: re_replace
|
||||
args: ["(?i)\\s(mkv|avi|divx|xvid|mp4)$", ""]
|
||||
- name: re_replace
|
||||
args: ["(\\s{2,5})", " "]
|
||||
- name: trim
|
||||
title_phase1:
|
||||
text: "{{if .Config.filter_title }}{{ .Result.title_filtered }}{{else}}{{ .Result.title_normal }}{{end}}"
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[\\.\\s\\[\\-][Mm][Uu][Ll][Tt][Ii][\\.\\s\\]\\-]", ".{{ .Config.multilanguage }}."]
|
||||
title_phase2:
|
||||
text: "{{if .Config.multilang }}{{ .Result.title_multilang }}{{else}}{{ .Result.title_phase1 }}{{end}}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[\\.\\s\\[\\-][Vv][Oo][Ss][Tt][Ff][Rr][\\.\\s\\]\\-]", ".ENGLISH."]
|
||||
title:
|
||||
text: "{{if .Config.vostfr }}{{ .Result.title_vostfr }}{{else}}{{ .Result.title_phase2 }}{{end}}"
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: img.rounded-img
|
||||
attribute: src
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(9) font b
|
||||
seeders:
|
||||
selector: td:nth-child(7) font b
|
||||
leechers:
|
||||
selector: td:nth-child(8) font b
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="freeleech"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -68,6 +68,21 @@
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: downloadlink
|
||||
type: select
|
||||
label: Download link
|
||||
default: "magnet:?xt="
|
||||
options:
|
||||
"/get/key:" : ".torrent"
|
||||
"magnet:?xt=": "magnet"
|
||||
|
||||
login:
|
||||
path: /
|
||||
method: form
|
||||
@@ -85,7 +100,7 @@
|
||||
selector: a[href="/users/logout/"]
|
||||
|
||||
download:
|
||||
selector: a[href^="magnet:?"]
|
||||
selector: a[href*="{{ .Config.downloadlink }}"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -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
|
||||
|
@@ -25,10 +25,19 @@
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
- selector: div.has-error
|
||||
test:
|
||||
path: torrents
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: torrents
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -36,13 +45,14 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
direction: desc
|
||||
sort: "created_at"
|
||||
direction: "desc"
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
@@ -61,17 +71,28 @@
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
@@ -95,16 +116,22 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D 1.9.2
|
||||
|
@@ -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
|
||||
|
@@ -43,8 +43,6 @@
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
|
299
src/Jackett.Common/Definitions/avg.yml
Normal file
299
src/Jackett.Common/Definitions/avg.yml
Normal file
@@ -0,0 +1,299 @@
|
||||
---
|
||||
site: avg
|
||||
name: AVG
|
||||
description: "Audio Video Games (BestRepack) is a RUSSIAN Private Torrent Tracker for GAMES"
|
||||
language: ru-ru
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://avg.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 110, cat: PC/Games, desc: "Репаки от R.G. Catalyst"}
|
||||
- {id: 146, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Горячие новинки"}
|
||||
- {id: 112, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Action"}
|
||||
- {id: 113, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Fighting"}
|
||||
- {id: 114, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst RPG"}
|
||||
- {id: 118, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Аркады"}
|
||||
- {id: 120, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Квесты и приключения"}
|
||||
- {id: 122, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Стратегии"}
|
||||
- {id: 124, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Симуляторы"}
|
||||
- {id: 126, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Гонки"}
|
||||
- {id: 147, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Горячие новинки"}
|
||||
- {id: 115, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Action"}
|
||||
- {id: 116, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Fighting"}
|
||||
- {id: 117, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst RPG"}
|
||||
- {id: 119, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Аркады"}
|
||||
- {id: 121, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Квесты и приключения"}
|
||||
- {id: 123, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Стратегии"}
|
||||
- {id: 125, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Симуляторы"}
|
||||
- {id: 127, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Гонки"}
|
||||
- {id: 9, cat: PC/Games, desc: "Игры PC (Репаки) Горячие новинки"}
|
||||
- {id: 2, cat: PC/Games, desc: "Игры PC (Репаки) Action"}
|
||||
- {id: 8, cat: PC/Games, desc: "Игры PC (Репаки) Fighting"}
|
||||
- {id: 3, cat: PC/Games, desc: "Игры PC (Репаки) RPG"}
|
||||
- {id: 7, cat: PC/Games, desc: "Игры PC (Репаки) Аркады"}
|
||||
- {id: 6, cat: PC/Games, desc: "Игры PC (Репаки) Квесты и приключения"}
|
||||
- {id: 4, cat: PC/Games, desc: "Игры PC (Репаки) Стратегии"}
|
||||
- {id: 5, cat: PC/Games, desc: "Игры PC (Репаки) Симуляторы"}
|
||||
- {id: 73, cat: PC/Games, desc: "Игры PC (Репаки) Гонки"}
|
||||
- {id: 149, cat: PC/Games, desc: "Игры PC (Репаки) «Стройбат»"}
|
||||
- {id: 148, cat: PC/Games, desc: "Игры PC (Оригиналы) Горячие новинки"}
|
||||
- {id: 129, cat: PC/Games, desc: "Игры PC (Оригиналы) Action"}
|
||||
- {id: 131, cat: PC/Games, desc: "Игры PC (Оригиналы) Fighting"}
|
||||
- {id: 133, cat: PC/Games, desc: "Игры PC (Оригиналы) RPG"}
|
||||
- {id: 135, cat: PC/Games, desc: "Игры PC (Оригиналы) Аркады"}
|
||||
- {id: 137, cat: PC/Games, desc: "Игры PC (Оригиналы) Квесты и приключения"}
|
||||
- {id: 139, cat: PC/Games, desc: "Игры PC (Оригиналы) Стратегии"}
|
||||
- {id: 141, cat: PC/Games, desc: "Игры PC (Оригиналы) Симуляторы"}
|
||||
- {id: 143, cat: PC/Games, desc: "Игры PC (Оригиналы) Гонки"}
|
||||
- {id: 19, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты)"}
|
||||
- {id: 130, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Action"}
|
||||
- {id: 132, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Fighting"}
|
||||
- {id: 134, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) RPG"}
|
||||
- {id: 136, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Аркады"}
|
||||
- {id: 138, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Квесты и приключения"}
|
||||
- {id: 140, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Стратегии"}
|
||||
- {id: 142, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Симуляторы"}
|
||||
- {id: 144, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Гонки"}
|
||||
- {id: 145, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Linux / MacOS"}
|
||||
- {id: 10, cat: PC/Games, desc: "Игры PC (Оригиналы) Горячие новинки"}
|
||||
- {id: 11, cat: PC/Games, desc: "Игры PC (Оригиналы) Action"}
|
||||
- {id: 12, cat: PC/Games, desc: "Игры PC (Оригиналы) Fighting"}
|
||||
- {id: 13, cat: PC/Games, desc: "Игры PC (Оригиналы) RPG"}
|
||||
- {id: 14, cat: PC/Games, desc: "Игры PC (Оригиналы) Аркады"}
|
||||
- {id: 15, cat: PC/Games, desc: "Игры PC (Оригиналы) Квесты и приключения"}
|
||||
- {id: 16, cat: PC/Games, desc: "Игры PC (Оригиналы) Стратегии"}
|
||||
- {id: 17, cat: PC/Games, desc: "Игры PC (Оригиналы) Симуляторы"}
|
||||
- {id: 74, cat: PC/Games, desc: "Игры PC (Оригиналы) Гонки"}
|
||||
- {id: 98, cat: PC/Games, desc: "Игры PC (Оригиналы) Игры для Linux"}
|
||||
- {id: 99, cat: PC/Games, desc: "Игры PC (Оригиналы) Игры для MacOS"}
|
||||
- {id: 70, cat: Console/Xbox, desc: "Игры для консолей Xbox"}
|
||||
- {id: 71, cat: Console/PSP, desc: "Игры для консолей Playstation"}
|
||||
- {id: 72, cat: Console/Other, desc: "Игры для консолей Другие консоли"}
|
||||
- {id: 34, cat: Movies, desc: "Кинематограф Новинки"}
|
||||
- {id: 109, cat: Movies/HD, desc: "Кинематограф Новинки HD Remux / Blu-Ray Discs"}
|
||||
- {id: 108, cat: Movies/HD, desc: "Кинематограф Новинки HD Rips (720p,1080p)"}
|
||||
- {id: 20, cat: Movies, desc: "Кинематограф Отечественное кино"}
|
||||
- {id: 21, cat: Movies, desc: "Кинематограф Зарубежное кино"}
|
||||
- {id: 28, cat: TV, desc: "Отечественные сериалы"}
|
||||
- {id: 27, cat: TV, desc: "Зарубежные сериалы"}
|
||||
- {id: 29, cat: TV, desc: "Мультфильмы"}
|
||||
- {id: 30, cat: TV, desc: "Мультсериалы"}
|
||||
- {id: 37, cat: TV, desc: "Документальное кино"}
|
||||
- {id: 38, cat: TV, desc: "Концерты и передачи"}
|
||||
- {id: 67, cat: TV/Anime, desc: "Аниме Релизы"}
|
||||
- {id: 45, cat: Audio, desc: "Музыка Тяжелая и альтернативная музыка"}
|
||||
- {id: 85, cat: Audio, desc: "Музыка Эстрадная и поп-музыка"}
|
||||
- {id: 77, cat: Audio, desc: "Музыка Электронная музыка"}
|
||||
- {id: 58, cat: Audio, desc: "Музыка Рэп, хип-хоп, R`n`B"}
|
||||
- {id: 78, cat: Audio, desc: "Музыка Фолк, этническая и народная музыка"}
|
||||
- {id: 42, cat: Audio, desc: "Музыка Классическая и академическая музыка"}
|
||||
- {id: 82, cat: Audio, desc: "Музыка New Age, Chillout, музыка для медитации"}
|
||||
- {id: 79, cat: Audio, desc: "Музыка Джаз, блюз"}
|
||||
- {id: 80, cat: Audio, desc: "Музыка Авторская песня, шансон"}
|
||||
- {id: 49, cat: Audio, desc: "Музыка Саундтреки"}
|
||||
- {id: 50, cat: Audio, desc: "Музыка Саундтреки Саундтреки к фильмам, мультфильмам, сериалам"}
|
||||
- {id: 51, cat: Audio, desc: "Музыка Саундтреки Саундтреки к играм"}
|
||||
- {id: 81, cat: Audio, desc: "Музыка Прочая музыка"}
|
||||
- {id: 83, cat: Audio, desc: "Музыка Прочая музыка Неофициальные сборники"}
|
||||
- {id: 156, cat: PC, desc: "Программное обеспечение Live CD, DVD, USB версии"}
|
||||
- {id: 157, cat: PC, desc: "Программное обеспечение Windows 10 и более поздние"}
|
||||
- {id: 158, cat: PC, desc: "Программное обеспечение Windows 8.1 и более ранние"}
|
||||
- {id: 159, cat: PC, desc: "Программное обеспечение Обновления и языковые пакеты"}
|
||||
- {id: 160, cat: PC, desc: "Программное обеспечение Серверные версии"}
|
||||
- {id: 193, cat: PC/Mac, desc: "Программное обеспечение macOS"}
|
||||
- {id: 194, cat: PC/Mac, desc: "Программное обеспечение macOS Stable (Release)"}
|
||||
- {id: 195, cat: PC/Mac, desc: "Программное обеспечение macOS Dev (Beta)"}
|
||||
- {id: 164, cat: PC/Mac, desc: "Программное обеспечение macOS Дистрибутивы Linux"}
|
||||
- {id: 163, cat: PC/Mac, desc: "Программное обеспечение macOS *nix OS"}
|
||||
- {id: 162, cat: PC/Mac, desc: "Программное обеспечение macOS Программное обеспечение"}
|
||||
- {id: 165, cat: PC, desc: "Программное обеспечение Мультимедиа и графика"}
|
||||
- {id: 172, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Аудио-редакторы"}
|
||||
- {id: 171, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Видео-редакторы"}
|
||||
- {id: 170, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Графические редакторы"}
|
||||
- {id: 169, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для аудио"}
|
||||
- {id: 168, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для видео"}
|
||||
- {id: 167, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для графики"}
|
||||
- {id: 166, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Моделирование, рендеринг, плагины"}
|
||||
- {id: 173, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка"}
|
||||
- {id: 177, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка DDK/SDK"}
|
||||
- {id: 178, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Веб-редакторы"}
|
||||
- {id: 176, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Системы управления базами данных (СУБД)"}
|
||||
- {id: 175, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Компиляторы и среды разработки"}
|
||||
- {id: 174, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Компоненты и дополнения"}
|
||||
- {id: 179, cat: PC/0day, desc: "Программное обеспечение Windows Software"}
|
||||
- {id: 188, cat: PC/0day, desc: "Программное обеспечение Windows Software Интернет-приложения"}
|
||||
- {id: 187, cat: PC/0day, desc: "Программное обеспечение Windows Software Информационная безопасность"}
|
||||
- {id: 186, cat: PC/0day, desc: "Программное обеспечение Windows Software Офисные приложения и редакторы"}
|
||||
- {id: 185, cat: PC/0day, desc: "Программное обеспечение Windows Software Переводчики и словари"}
|
||||
- {id: 184, cat: PC/0day, desc: "Программное обеспечение Windows Software Проигрыватели и кодеки"}
|
||||
- {id: 183, cat: PC/0day, desc: "Программное обеспечение Windows Software Работа с носителями и медиа"}
|
||||
- {id: 182, cat: PC/0day, desc: "Программное обеспечение Windows Software Системные приложения"}
|
||||
- {id: 181, cat: PC/0day, desc: "Программное обеспечение Windows Software Эмуляторы"}
|
||||
- {id: 180, cat: PC/0day, desc: "Программное обеспечение Windows Software Прочие приложения"}
|
||||
- {id: 197, cat: PC/0day, desc: "Программное обеспечение Windows Software Архиваторы и файловые менеджеры"}
|
||||
- {id: 203, cat: PC/0day, desc: "Программное обеспечение Windows Software Проигрыватели и кодеки"}
|
||||
- {id: 202, cat: PC/0day, desc: "Программное обеспечение Windows Software Офисные приложения и редакторы"}
|
||||
- {id: 201, cat: PC/0day, desc: "Программное обеспечение Windows Software Работа с носителями и медиа"}
|
||||
- {id: 200, cat: PC/0day, desc: "Программное обеспечение Windows Software Информационная безопасность"}
|
||||
- {id: 199, cat: PC/0day, desc: "Программное обеспечение Windows Software Интернет-приложения"}
|
||||
- {id: 198, cat: PC/0day, desc: "Программное обеспечение Windows Software Системные приложения"}
|
||||
- {id: 22, cat: Other, desc: "Прочее Оформление релизов"}
|
||||
- {id: 53, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (игры)"}
|
||||
- {id: 54, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (кино/мультфильмы/аниме)"}
|
||||
- {id: 55, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (музыка)"}
|
||||
- {id: 192, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (софт)"}
|
||||
- {id: 31, cat: Other, desc: "Прочее Обновления/DLC"}
|
||||
- {id: 102, cat: Other, desc: "Прочее Обновления/DLC для MacOS"}
|
||||
- {id: 101, cat: Other, desc: "Прочее Обновления/DLC для Linux"}
|
||||
- {id: 100, cat: Other, desc: "Прочее Обновления/DLC для Windows"}
|
||||
- {id: 76, cat: Other, desc: "Прочее Языковые пакеты"}
|
||||
- {id: 103, cat: Other, desc: "Прочее Языковые пакеты для MacOS"}
|
||||
- {id: 104, cat: Other, desc: "Прочее Языковые пакеты для Linux"}
|
||||
- {id: 105, cat: Other, desc: "Прочее Языковые пакеты для Windows"}
|
||||
- {id: 84, cat: Other, desc: "Прочее Демо-, альфа-, бета-версии"}
|
||||
- {id: 32, cat: Other, desc: "Прочее NoCD/NoDVD"}
|
||||
- {id: 75, cat: Other, desc: "Прочее Моды"}
|
||||
- {id: 106, cat: Other, desc: "Прочее Моды Моды для Titan Quest (+ Immortal Throne)"}
|
||||
- {id: 95, cat: Other, desc: "Прочее Моды Моды для Dungeon Siege"}
|
||||
- {id: 94, cat: Other, desc: "Прочее Моды Моды для Resident Evil 4"}
|
||||
- {id: 93, cat: Other, desc: "Прочее Моды Моды для Doom III"}
|
||||
- {id: 92, cat: Other, desc: "Прочее Моды Плагины для TESV Skyrim"}
|
||||
- {id: 91, cat: Other, desc: "Прочее Моды Плагины для TESIV Oblivion"}
|
||||
- {id: 90, cat: Other, desc: "Прочее Моды Плагины для TESIII Morrowind"}
|
||||
- {id: 97, cat: Other, desc: "Прочее Пиратки"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
"login_username": "{{ .Config.username }}"
|
||||
"login_password": "{{ .Config.password }}"
|
||||
autologin: 1
|
||||
login: "Log in"
|
||||
error:
|
||||
- selector: table.error tr td div.msg:not(:contains(">>>"))
|
||||
test:
|
||||
path: tracker.php
|
||||
selector: a[href="./login.php?logout=1"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: tracker.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"
|
||||
prev_allw: 1
|
||||
prev_a: 0
|
||||
prev_dla: 0
|
||||
prev_dlc: 0
|
||||
prev_dld: 0
|
||||
prev_dlw: 0
|
||||
prev_my: 0
|
||||
prev_new: 0
|
||||
prev_sd: 0
|
||||
prev_da: 1
|
||||
prev_dc: 0
|
||||
prev_df: 1
|
||||
prev_ds: 0
|
||||
prev_tor_type: 0
|
||||
# sort by 1=registered 2=topicTitle 4=completed 10=seed 11=leech 12=up 13=down 5=replies 6=views 7=size 8=lastPost 9=seedLastSeen
|
||||
o: 1
|
||||
# 1=asc 2=desc
|
||||
s: 2
|
||||
# show category
|
||||
dc: 0
|
||||
# show forum
|
||||
df: 1
|
||||
# show author
|
||||
da: 1
|
||||
# show speed
|
||||
ds: 0
|
||||
# -1=all time
|
||||
tm: -1
|
||||
# seed not seen -1=disregard
|
||||
sns: -1
|
||||
# group releases -1=not selected
|
||||
srg: -1
|
||||
nm: "{{ .Keywords }}"
|
||||
# find a username
|
||||
pn: ""
|
||||
submit: " Search "
|
||||
|
||||
rows:
|
||||
selector: tr[id^="tor_"]
|
||||
fields:
|
||||
title:
|
||||
selector: td a.genmed b
|
||||
details:
|
||||
selector: td a.genmed
|
||||
attribute: href
|
||||
download:
|
||||
selector: td a.tr-dl
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a.gen
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "=(\\d+)\\."
|
||||
size:
|
||||
selector: td a.tr-dl
|
||||
seeders:
|
||||
selector: td.seedmed
|
||||
leechers:
|
||||
selector: td.leechmed
|
||||
# Russian and Ukranian and English languages are supported
|
||||
grabs:
|
||||
optional: true
|
||||
selector: td[title^="Ответов"]
|
||||
grabs:
|
||||
optional: true
|
||||
selector: td[title^="Відповідей"]
|
||||
grabs:
|
||||
optional: true
|
||||
selector: td[title^="Replies"]
|
||||
# date for English, Russian, Ukrainian
|
||||
date:
|
||||
selector: td[title="Added"] p:last-of-type, td[title="Добавлен"] p:last-of-type, td[title="Додано"] p:last-of-type
|
||||
filters:
|
||||
# replace month abbreviations
|
||||
- name: re_replace
|
||||
args: ["Янв|Січ", "Jan"]
|
||||
- name: re_replace
|
||||
args: ["Фев|Лют", "Feb"]
|
||||
- name: re_replace
|
||||
args: ["Мар|Бер", "Mar"]
|
||||
- name: re_replace
|
||||
args: ["Апр|Кві", "Apr"]
|
||||
- name: re_replace
|
||||
args: ["Май|Травень", "May"]
|
||||
- name: re_replace
|
||||
args: ["Июн|Чер", "Jun"]
|
||||
- name: re_replace
|
||||
args: ["Июл|Лип", "Jul"]
|
||||
- name: re_replace
|
||||
args: ["Авг|Сер", "Aug"]
|
||||
- name: re_replace
|
||||
args: ["Сен|Вер", "Sep"]
|
||||
- name: re_replace
|
||||
args: ["Окт|Жов", "Oct"]
|
||||
- name: re_replace
|
||||
args: ["Ноя|Лис", "Nov"]
|
||||
- name: re_replace
|
||||
args: ["Дек|Грудень", "Dec"]
|
||||
- name: dateparse
|
||||
args: "2-Jan-06"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="styles/images/tor_gold.gif"]: "0"
|
||||
img[src="styles/images/tor_silver.gif"]: "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -14,7 +14,9 @@
|
||||
- {id: 2, cat: TV/HD, desc: "TV-Shows"}
|
||||
|
||||
modes:
|
||||
searchstr: [q]
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
|
@@ -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"
|
@@ -135,13 +135,24 @@
|
||||
- name: replace
|
||||
args: ["×", ""]
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
selector: td:nth-child(5):contains('.')
|
||||
optional: true
|
||||
remove: font
|
||||
filters:
|
||||
- name: replace
|
||||
args: [". ", " "]
|
||||
- name: prepend
|
||||
args: "2019."
|
||||
- name: re_replace
|
||||
args: ["([0-9]{4}).([0-9]+).([0-9]+) (.*)", "$2.$3.$1 $4"]
|
||||
date:
|
||||
selector: td:nth-child(5):contains('ma'), td:nth-child(5):contains("tegnap"), td:nth-child(5):contains('-')
|
||||
optional: true
|
||||
remove: font
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["ma", "today"]
|
||||
- name: replace
|
||||
args: ["tegnap", "yesterday"]
|
||||
|
||||
description:
|
||||
selector: td:nth-child(2) > div
|
||||
|
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"
|
@@ -25,8 +25,9 @@
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
- selector: div.has-error
|
||||
test:
|
||||
path: torrents
|
||||
|
||||
@@ -36,12 +37,13 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
@@ -61,17 +63,28 @@
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
@@ -95,16 +108,22 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D 1.9.2
|
||||
|
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"
|
@@ -46,7 +46,7 @@
|
||||
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
|
||||
|
@@ -5,8 +5,9 @@
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- http://cnbtkitty.ws/
|
||||
- http://btkitty.pet/
|
||||
legacylinks:
|
||||
- https://cnbtkitty.org/
|
||||
- http://cnbtkitty.org/
|
||||
@@ -14,6 +15,7 @@
|
||||
- http://cnbtkitty.com/
|
||||
- https://cnbtkitty.me/
|
||||
- http://cnbtkitty.me/
|
||||
- http://cnbtkitty.ws/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -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"
|
@@ -40,9 +40,9 @@
|
||||
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
@@ -63,9 +63,10 @@
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
|
||||
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
|
||||
options: 0
|
||||
# options: 0=title, 1=title&descr, 2=descr
|
||||
options: "{{if .Query.IMDBID}}1{{else}}0{{end}}"
|
||||
active: 0
|
||||
|
||||
rows:
|
||||
|
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"
|
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: div.has-error
|
||||
test:
|
||||
path: torrents
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: torrents
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download_check/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D 1.9.2
|
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
|
@@ -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.cpasbiens.cz/
|
||||
- https://www.cpasbien.vg/
|
||||
legacylinks:
|
||||
- http://www.cpasbiens.cc/
|
||||
- http://www.cpabien.cm/
|
||||
@@ -33,6 +33,8 @@
|
||||
- http://www.cpasbien.io/
|
||||
- https://www.cpabien.bz/
|
||||
- https://www.cpabien.link/
|
||||
- https://www.cpasbiens.cz/
|
||||
- https://www.cpasbiens.bz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -65,7 +67,9 @@
|
||||
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"]
|
||||
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
|
@@ -16,21 +16,28 @@
|
||||
categorymappings:
|
||||
- {id: films, cat: Movies, desc: "Movies"}
|
||||
- {id: series, cat: TV, desc: "TV"}
|
||||
- {id: musique, cat: Audio, desc: "Music"}
|
||||
- {id: ebook, cat: Books, desc: "Ebook"}
|
||||
- {id: logiciels, cat: PC, desc: "Software"}
|
||||
- {id: jeux-pc, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: jeux-consoles, cat: Console, desc: "Console Games"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: div#btn-download a
|
||||
selector: div.btn-download a
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div#gauche > table > tbody > tr:has(a)
|
||||
selector: table.table-corps > tbody > tr:has(a)
|
||||
fields:
|
||||
site_date:
|
||||
selector: a
|
||||
@@ -43,7 +50,9 @@
|
||||
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"]
|
||||
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
@@ -61,21 +70,21 @@
|
||||
selector: div.poid
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Ko", "$1X00"]
|
||||
args: [ "\\.(\\d)Ko", "$1X00"]
|
||||
- name: re_replace
|
||||
args: [ " Ko", "000"]
|
||||
args: [ "Ko", "000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Mo", "$1X00000"]
|
||||
args: [ "\\.(\\d)Mo", "$1X00000"]
|
||||
- name: re_replace
|
||||
args: [ " Mo", "000000"]
|
||||
args: [ "Mo", "000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) Go", "$1X00000000"]
|
||||
args: [ "\\.(\\d)Go", "$1X00000000"]
|
||||
- name: re_replace
|
||||
args: [ " Go", "000000000"]
|
||||
args: [ "Go", "000000000"]
|
||||
- name: re_replace
|
||||
args: [ "\\.(\\d) To", "$1X00000000000"]
|
||||
args: [ "\\.(\\d)To", "$1X00000000000"]
|
||||
- name: re_replace
|
||||
args: [ " To", "000000000000"]
|
||||
args: [ "To", "000000000000"]
|
||||
- name: replace
|
||||
args: [ "X", "" ]
|
||||
date:
|
||||
|
@@ -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"}
|
||||
@@ -88,11 +88,11 @@
|
||||
- name: re_replace
|
||||
args: ["(\\d{1})\\.", "S0$1"]
|
||||
category:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.categorie
|
||||
case:
|
||||
":contains(\"Filmy\")": 1
|
||||
":contains(\"Seriály\")": 25
|
||||
":contains(\"Filmy - dokument\")": 23
|
||||
":contains(\"Filmy - dokument\")": 33
|
||||
":contains(\"Aplikace\")": 22
|
||||
":contains(\"Filmy - 3D\")": 36
|
||||
":contains(\"Filmy - anime\")": 35
|
||||
@@ -123,20 +123,16 @@
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 0 ]
|
||||
- name: regexp
|
||||
args: "Velikost: (.+?) ?$"
|
||||
args: [ "|", 1 ]
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
selector: td.detaily
|
||||
filters:
|
||||
- name: split
|
||||
args: [ "|", 1 ]
|
||||
- name: regexp
|
||||
args: "Přidán: (.+?) ?$"
|
||||
args: [ "|", 2 ]
|
||||
- name: append
|
||||
args: " +02:00"
|
||||
- name: dateparse
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
args: "2.1.2006 15:04 -07:00"
|
||||
seeders:
|
||||
selector: td:nth-child(7) span
|
||||
leechers:
|
||||
|
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
|
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
|
@@ -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
|
||||
|
@@ -15,10 +15,11 @@
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 5, cat: PC/0day, desc: "Apps"}
|
||||
- {id: 6, cat: Books, desc: "Books"}
|
||||
- {id: 6, cat: Books, desc: "eBooks"}
|
||||
- {id: 7, cat: PC/Games, desc: "Games"}
|
||||
- {id: 8, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 9, cat: Other, desc: "Other"}
|
||||
- {id: 9, cat: Other, desc: "Others"}
|
||||
- {id: 10, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -31,10 +32,19 @@
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
- selector: div.has-error
|
||||
test:
|
||||
path: torrents
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: torrents
|
||||
selector: li:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -42,13 +52,14 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
direction: desc
|
||||
sort: "created_at"
|
||||
direction: "desc"
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
@@ -67,17 +78,28 @@
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
banner:
|
||||
optional: true
|
||||
selector: div.torrent-poster img
|
||||
attribute: src
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["https://via.placeholder.com/600x900", ""]
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
@@ -101,16 +123,22 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D 1.9.2
|
||||
|
@@ -6,6 +6,8 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.elitetorrent.io/
|
||||
legacylinks:
|
||||
- https://www.elitetorrent.biz/
|
||||
|
||||
caps:
|
||||
@@ -27,9 +29,9 @@
|
||||
search:
|
||||
# site returns just 30 results, attempt to fetch upto 90
|
||||
paths:
|
||||
- path: index.php
|
||||
- path: index.php/page/2/
|
||||
- path: index.php/page/3/
|
||||
- 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
|
||||
|
@@ -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,30 +1,33 @@
|
||||
---
|
||||
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
|
||||
@@ -42,9 +45,13 @@
|
||||
- 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
|
@@ -50,7 +50,7 @@
|
||||
active: 0
|
||||
|
||||
rows:
|
||||
selector: tr:has(a[href^="index.php?page=torrent-details"])
|
||||
selector: tr > td > table > tbody tr:has(a[href^="index.php?page=torrent-details"])
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
|
@@ -7,7 +7,7 @@
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.gktorrent.tv/
|
||||
- https://www.gktorrent.net/
|
||||
legacylinks:
|
||||
- https://www.gktorrent.com/
|
||||
- http://www.gktorrent.com/
|
||||
@@ -23,7 +23,9 @@
|
||||
- https://www.gktorrent.org/
|
||||
- https://www.gktorrent.me/
|
||||
- https://www.rantop.org/
|
||||
- https://www.gktorrent.net/
|
||||
- https://www.gktorrent.cx/
|
||||
- https://www.gktorrent.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: movies, cat: Movies, desc: "Movies"}
|
||||
@@ -61,7 +63,9 @@
|
||||
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"]
|
||||
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -44,19 +44,19 @@
|
||||
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
|
||||
|
||||
|
@@ -8,6 +8,18 @@
|
||||
links:
|
||||
- https://hdf.world/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: usetoken
|
||||
type: checkbox
|
||||
label: Always try to use the FreeLeech Token
|
||||
default: false
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: Movies
|
||||
@@ -49,9 +61,17 @@
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr.torrent
|
||||
fields:
|
||||
download:
|
||||
download-regular:
|
||||
selector: a[href^="torrents.php?action=download&"]
|
||||
attribute: href
|
||||
download-usetoken:
|
||||
selector: a[href^="torrents.php?action=download&"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: append
|
||||
args: "&usetoken=1"
|
||||
download:
|
||||
text: "{{if .Config.usetoken}}{{ .Result.download-usetoken }}{{else}}{{ .Result.download-regular }}{{end}}"
|
||||
title:
|
||||
selector: div.group_info
|
||||
remove: span:nth-child(1), div.tags
|
||||
@@ -210,7 +230,7 @@
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"div.group_info:contains(\"↓Free\")": "0"
|
||||
"div.group_info:contains(\"/ Free\")": "0"
|
||||
"div.group_info:contains(\"↓75%\")": "0.75"
|
||||
"div.group_info:contains(\"↓50%\")": "0.50"
|
||||
"div.group_info:contains(\"↓25%\")": "0.25"
|
||||
|
@@ -1,12 +1,12 @@
|
||||
---
|
||||
site: 420files
|
||||
name: 420files
|
||||
description: "Tracker Movies/TV/Music"
|
||||
site: hdplus
|
||||
name: HDplus
|
||||
description: "HDplus is Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://420.org/
|
||||
- https://hdplus.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -15,7 +15,7 @@
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
@@ -25,10 +25,23 @@
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: meta[name="csrf-token"]
|
||||
attribute: content
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
- selector: form[action$="/login"] .text-red
|
||||
test:
|
||||
path: torrents
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: span:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -40,8 +53,7 @@
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
@@ -95,16 +107,17 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
@@ -26,19 +26,19 @@
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here.</ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
method: cookie
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: torrents.php
|
||||
|
||||
@@ -58,11 +58,16 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
incldead: "1"
|
||||
spstate: "0"
|
||||
inclbookmarked: "0"
|
||||
# 0=including dead 1=active 2=dead
|
||||
incldead: 0
|
||||
# show promotions 0=all 1=normal 2=free 3=2x 4=2x free 5=50% 6=2x50% 7=30%
|
||||
spstate: 0
|
||||
# 0=all 1=bookmarked 2=not
|
||||
inclbookmarked: 0
|
||||
# 0=title 1=descr 3=uploaded 4=imdb url
|
||||
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
|
||||
search_mode: "0"
|
||||
# 0=AND 1=OR 2=exact
|
||||
search_mode: 0
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
filters:
|
||||
@@ -84,7 +89,7 @@
|
||||
selector: form[action^="download.php?id="]
|
||||
attribute: action
|
||||
imdb:
|
||||
selector: a[href^="http://www.imdb.com/title/tt"]
|
||||
selector: a[href*="www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
@@ -118,4 +123,5 @@
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, img
|
||||
remove: a, img
|
||||
# NexusPHP
|
||||
|
@@ -118,13 +118,19 @@
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
text: 1
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$1"]
|
||||
leechers:
|
||||
text: 1
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$2"]
|
||||
|
@@ -98,9 +98,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
@@ -111,3 +111,4 @@
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
||||
|
@@ -26,7 +26,7 @@
|
||||
- {id: 26, cat: PC/Games, desc: "Games/PC"}
|
||||
- {id: 38, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 59, cat: Movies/3D, desc: "Movies/3D"}
|
||||
- {id: 92, cat: Movies/HD, desc: "Movies/4K-UHD"}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Movies/4K-UHD"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "Movies/Blu-Ray"}
|
||||
- {id: 28, cat: Movies/DVD, desc: "Movies/DVD"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies/HD-x264"}
|
||||
@@ -60,7 +60,7 @@
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: font:contains("failed") + table
|
||||
- selector: div.alert:contains("failed")
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
incldead: 1
|
||||
search_by: "{{ if .Query.IMDBID }}imdb{{else}}name{{end}}"
|
||||
rows:
|
||||
selector: table.torrenttable > tbody > tr:has(a[title][href^="details.php?id="])
|
||||
selector: table.table-striped > tbody > tr:has(a[title][href^="details.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
@@ -93,13 +93,10 @@
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
imdb:
|
||||
selector: a[title="IMDB"]
|
||||
attribute: href
|
||||
banner:
|
||||
attribute: rel
|
||||
imdb:
|
||||
selector: a[href^="http://www.imdb.com/title/"]
|
||||
selector: a[href*="https://www.imdb.com/title/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
download:
|
||||
@@ -114,13 +111,10 @@
|
||||
selector: td:has(a[href$="filelist=1#filelist"])
|
||||
remove: a
|
||||
date:
|
||||
selector: td > span:has(i.fa-clock)
|
||||
remove: b
|
||||
selector: td > small:has(i.fa-clock)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: replace
|
||||
args: ["Added on ", ""]
|
||||
- name: replace
|
||||
args: ["st ", " "]
|
||||
- name: replace
|
||||
@@ -129,8 +123,8 @@
|
||||
args: ["rd ", " "]
|
||||
- name: replace
|
||||
args: ["th ", " "]
|
||||
- name: replace
|
||||
args: [" by", ""]
|
||||
- name: regexp
|
||||
args: "(.+?) by"
|
||||
- name: append
|
||||
args: " +02:00"
|
||||
- name: dateparse
|
||||
@@ -145,6 +139,3 @@
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:has(a[title][href^="details.php?id="])
|
||||
remove: a[title][href^="details.php?id="], div, font:contains("Added on")
|
||||
|
@@ -1,92 +0,0 @@
|
||||
---
|
||||
site: idopeclone
|
||||
name: IdopeClone
|
||||
description: "This Clone of iDope is a Public torrent search engine"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.idope.site/
|
||||
legacylinks:
|
||||
- https://idope.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: other, cat: Other, desc: "Others"}
|
||||
- {id: movies, cat: Movies, desc: "Movies"}
|
||||
- {id: videos, cat: Other, desc: "Videos"}
|
||||
- {id: tv, cat: TV, desc: "TV"}
|
||||
- {id: anime, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: xxx, cat: XXX, desc: "XXX"}
|
||||
- {id: adult, cat: XXX, desc: "XXX"}
|
||||
- {id: music, cat: Audio, desc: "Music"}
|
||||
- {id: games, cat: PC/Games, desc: "Games"}
|
||||
- {id: apps, cat: PC/0day, desc: "Apps"}
|
||||
- {id: applications, cat: PC/0day, desc: "Apps"}
|
||||
- {id: android, cat: PC/Phone-Android, desc: "Android"}
|
||||
- {id: software, cat: PC/0day, desc: "Apps"}
|
||||
- {id: books, cat: Books, desc: "Books"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}search/{{ .Keywords}}/{{else}}recent/{{end}}"
|
||||
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/2{{else}}recent/2{{end}}"
|
||||
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/3{{else}}recent/3{{end}}"
|
||||
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/4{{else}}recent/4{{end}}"
|
||||
- path: "{{if .Keywords}}s/{{ .Keywords}}/page/5{{else}}recent/5{{end}}"
|
||||
rows:
|
||||
selector: li:has(div.opt-text-w3layouts)
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: div.opt-text-w3layouts a
|
||||
details:
|
||||
selector: div.opt-text-w3layouts a
|
||||
attribute: href
|
||||
category:
|
||||
optional: true
|
||||
selector: a[href^="/browse/"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/browse/", ""]
|
||||
magnet:
|
||||
selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: div.seedbar span:nth-child(4)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Age: ", ""]
|
||||
- name: timeago
|
||||
files:
|
||||
selector: div.seedbar span:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Files: ", ""]
|
||||
size:
|
||||
selector: div.seedbar span:nth-child(3)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Size: ", ""]
|
||||
seeders:
|
||||
selector: div.seedbar span:nth-child(1)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Seed: ", ""]
|
||||
leechers:
|
||||
selector: div.seedbar span:nth-child(2)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Leech: ", ""]
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -6,8 +6,10 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://ilcorsaronero.vip/
|
||||
- https://ilcorsaronero.pizza/
|
||||
legacylinks:
|
||||
- https://ilcorsaronero.live/
|
||||
- https://ilcorsaronero.vip/
|
||||
- https://ilcorsaronero.info/
|
||||
- https://ilcorsaronero.ch/
|
||||
- https://ilcorsaronero.cc/
|
||||
@@ -57,16 +59,12 @@
|
||||
# - path: "{{if .Keywords}}argh.php?search={{ .Keywords}}
|
||||
# {{else}}/recenti
|
||||
# {{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=0{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=1{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=2{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=3{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=4{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=5{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=6{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=7{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=8{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=9{{else}}/recenti{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=0{{else}}/browse/0{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=1{{else}}/browse/1{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=2{{else}}/browse/2{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=3{{else}}/browse/3{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=4{{else}}/browse/4{{end}}"
|
||||
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=5{{else}}/browse/5{{end}}"
|
||||
keywordsfilters:
|
||||
- name: diacritics
|
||||
args: replace
|
||||
|
@@ -142,7 +142,7 @@
|
||||
- name: re_replace
|
||||
args: ["([a-zA-Z]+)\\s+(\\d{1,2})\\s+'(\\d{2})", "$2 $1 $3"]
|
||||
- name: dateparse
|
||||
args: "02 Jan 06"
|
||||
args: "2 Jan 06"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"*": 1
|
||||
|
70
src/Jackett.Common/Definitions/kikibt.yml
Normal file
70
src/Jackett.Common/Definitions/kikibt.yml
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
site: kikibt
|
||||
name: KikiBT
|
||||
description: "KikiBT is a CHINESE Public BitTorrent DHT search engine."
|
||||
language: cn-cn
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://kikibt.cc/
|
||||
- https://kikibt.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info
|
||||
type: info
|
||||
default: KikiBT 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}}"
|
||||
rows:
|
||||
selector: dl.item
|
||||
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(2) b
|
||||
files:
|
||||
selector: dd span:nth-of-type(3) b
|
||||
date:
|
||||
selector: dd span:nth-of-type(1) b
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02"
|
||||
grabs:
|
||||
selector: dd span:nth-of-type(5) b
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
text: "1"
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -88,6 +88,10 @@
|
||||
"10" : "9.5GB or higher"
|
||||
"11": "Gold (FreeLeech)"
|
||||
"12": "Silver (50%DL)"
|
||||
- name: striprussian
|
||||
type: checkbox
|
||||
label: Strip Russian Letters
|
||||
default: true
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
@@ -106,6 +110,13 @@
|
||||
paths:
|
||||
# http://kinozal.tv/browse.php?s=lucifer+2017&g=0&c=0&v=0&d=0&w=0&t=0&f=0
|
||||
- path: browse.php
|
||||
keywordsfilters:
|
||||
- name: diacritics
|
||||
args: replace
|
||||
- name: re_replace # S01 to 1
|
||||
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
|
||||
- name: re_replace # S01E01 to 1 1
|
||||
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1 $2"]
|
||||
inputs:
|
||||
# multi cat is not supported. so defaulting to ALL
|
||||
c: "0"
|
||||
@@ -154,6 +165,28 @@
|
||||
fields:
|
||||
title:
|
||||
selector: td.nam a[href^="/details.php?id="]
|
||||
filters:
|
||||
# normalize to SXXEYY format
|
||||
- name: replace
|
||||
args: [" / ", " "]
|
||||
- name: replace
|
||||
args: ["Кураж-Бамбей", "kurazh"]
|
||||
- name: replace
|
||||
args: ["Кубик в Кубе", "Kubik"]
|
||||
- name: re_replace
|
||||
args: ["\\((\\d+)\\s+[Сс]езон:\\s+(?:(\\d+-*\\d*)\\s+[Сс]ери[ия]\\s+.*\\d+)\\)(.*)\\s([12][0-9]{3})\\s(.*)", "$3 - S$1E$2 - rus $5"]
|
||||
- name: re_replace
|
||||
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: re_replace
|
||||
args: ["\\((\\d+p)\\)", "$1"]
|
||||
- name: replace
|
||||
args: ["-Rip", "Rip"]
|
||||
- name: replace
|
||||
args: ["WEB-DL", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEBDLRip", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["HDTVRip", "HDTV"]
|
||||
details:
|
||||
selector: td.nam a[href^="/details.php?id="]
|
||||
attribute: href
|
||||
|
@@ -86,6 +86,10 @@
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src^="access_code/"]
|
||||
input: private_key
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
|
63
src/Jackett.Common/Definitions/mactorrents.yml
Normal file
63
src/Jackett.Common/Definitions/mactorrents.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
site: mactorrents
|
||||
name: MacTorrents
|
||||
description: "MacTorrents is a Public tracker for Mac software"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://mac-torrents.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"mac-os-apps": PC/Mac
|
||||
"mac-os-games": PC/Games
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
s: "{{.Keywords}}"
|
||||
rows:
|
||||
selector: div.iso-item article
|
||||
fields:
|
||||
title:
|
||||
selector: div.blog-content h3 a
|
||||
category:
|
||||
selector: a[href*="/category/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: split
|
||||
args: ["/", 4]
|
||||
details:
|
||||
selector: div.blog-content h3 a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a.download
|
||||
attribute: href
|
||||
banner:
|
||||
selector: div.blog-media p a img
|
||||
attribute: data-src
|
||||
date:
|
||||
selector: div.blog-content div.entry-meta time
|
||||
attribute: datetime
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["T", " "]
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05-07:00"
|
||||
size:
|
||||
text: "500 MB"
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
text: "1"
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -6,6 +6,8 @@
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://en.metal-tracker.com/
|
||||
legacylinks:
|
||||
- http://en.metal-tracker.com/
|
||||
|
||||
caps:
|
||||
@@ -20,7 +22,7 @@
|
||||
|
||||
login:
|
||||
path: user/login.html
|
||||
method: form
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
|
@@ -34,9 +34,15 @@
|
||||
paths:
|
||||
# https://monova.to/search?term=vikings+s05e05
|
||||
# https://monova.to/video
|
||||
- path: "{{if .Keywords}}search?term={{.Keywords}}{{else}}video{{end}}"
|
||||
# https://monova.org/video?page=2
|
||||
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=1{{else}}video?page=1{{end}}"
|
||||
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=2{{else}}video?page=2{{end}}"
|
||||
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=3{{else}}video?page=3{{end}}"
|
||||
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=4{{else}}video?page=4{{end}}"
|
||||
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=5{{else}}video?page=5{{end}}"
|
||||
rows:
|
||||
selector: tr.desktop:not(tr.success)
|
||||
#selector: tr.desktop:not(tr.success)
|
||||
selector: tr.desktop
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
@@ -56,7 +62,11 @@
|
||||
selector: td.torrent_name a
|
||||
attribute: href
|
||||
size:
|
||||
optional: true
|
||||
selector: td.center-align
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["N/A","500 MB"]
|
||||
seeders:
|
||||
text: "1"
|
||||
leechers:
|
||||
@@ -66,9 +76,14 @@
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
||||
date:
|
||||
optional: true
|
||||
selector: td.torrent_name
|
||||
remove: a
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["added ",""]
|
||||
- name: replace
|
||||
args: [" ago.*$",""]
|
||||
- name: replace
|
||||
args: ["min.","minutes"]
|
||||
- name: timeago
|
||||
|
@@ -87,10 +87,7 @@
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +0700"
|
||||
- name: dateparse
|
||||
args: "2006-01-0215:04:05 -0700"
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"span.label:contains(\"Free\")": "0"
|
||||
|
@@ -11,6 +11,7 @@
|
||||
- https://nnm-club.name/
|
||||
certificates:
|
||||
- 7877113458e90f3643dd28424657a29469f5dc55
|
||||
- 0edfdcc8cf9f69dbe5473878145cae92504275b0
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -731,18 +732,22 @@
|
||||
title:
|
||||
selector: a[href^="viewtopic.php?t="] > b
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\b(\\d)\\b", "0$1"]
|
||||
- name: replace
|
||||
args: [" / ", " "]
|
||||
- name: replace
|
||||
args: ["Кураж-Бамбей", "kurazh"]
|
||||
- name: replace
|
||||
args: ["Кубик в Кубе", "Kubik"]
|
||||
- name: re_replace
|
||||
args: ["(\\([Сс]езон\\s+(\\d+).+[Сс]ери[ия]\\s+(?:(\\d+-*\\d*).*\\d+)*\\))", "(S$2E$3) RUS"]
|
||||
args: ["((\\([12][0-9]{3}\\))(.+)\\([Сс]езон\\s+(\\d+).+[Сс]ери[ия]\\s+(?:(\\d+-*\\d*).*\\d+)*\\))", " - S$4E$5 - rus $3"]
|
||||
- name: re_replace
|
||||
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
|
||||
- name: replace
|
||||
args: ["WEBDLRip", "WEBDL"]
|
||||
args: ["-Rip", "Rip"]
|
||||
- name: replace
|
||||
args: ["WEB-DLRip", "WEBDL"]
|
||||
args: ["WEB-DL", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["WEBDLRip", "WEBDL"]
|
||||
- name: replace
|
||||
args: ["HDTVRip", "HDTV"]
|
||||
details:
|
||||
|
@@ -76,8 +76,6 @@
|
||||
autocomplete_toggle: 1
|
||||
rows:
|
||||
selector: table#torrent_table tr:not(:first-child)
|
||||
# filters:
|
||||
# - name: andmatch
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
@@ -85,10 +83,8 @@
|
||||
selector: td.cats_col div a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: strdump
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
- name: strdump
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
|
@@ -12,6 +12,7 @@
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://nyaa.pantsu.cat/
|
||||
- https://nyaa.pt/
|
||||
|
||||
settings:
|
||||
- name: cat-id
|
||||
|
@@ -10,23 +10,17 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
|
||||
- {id: 402, cat: Movies/HD, desc: "Movies REMUX"}
|
||||
- {id: 419, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 404, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 405, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 406, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: 407, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
|
||||
- {id: 408, cat: Movies/SD, desc: "Movies HDTV"}
|
||||
- {id: 409, cat: Movies/Other, desc: "Movies iPad"}
|
||||
- {id: 401, cat: Movies, desc: "Movies"}
|
||||
- {id: 402, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 405, cat: TV, desc: "TV Packs"}
|
||||
- {id: 410, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 411, cat: TV/Anime, desc: "Animations"}
|
||||
- {id: 412, cat: TV, desc: "TV Series"}
|
||||
- {id: 412, cat: TV, desc: "TV Episodes"}
|
||||
- {id: 413, cat: TV, desc: "TV Shows"}
|
||||
- {id: 414, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 415, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 416, cat: Audio, desc: "Music"}
|
||||
- {id: 420, cat: Other, desc: "Other"}
|
||||
- {id: 419, cat: TV, desc: "Concert"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -41,8 +35,20 @@
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("登录失败"))
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
ratio:
|
||||
path: torrents.php
|
||||
selector: span.medium:has(a[href="logout.php"])
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["分享率:", "Ratio: "] # for simplified chinese language setting
|
||||
- name: regexp
|
||||
args: "Ratio: (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -51,8 +57,14 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
incldead: "1"
|
||||
# 0=including dead 1=active 2=dead
|
||||
incldead: 0
|
||||
# show promotions: 0=all 1=normal 2=free 3=2x 4=2xFree 5=50% 6=2x50% 7=30%
|
||||
spstate: 0
|
||||
# 0=title 1=descr 3=uploader 4=imdb URL
|
||||
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
|
||||
# 0=AND 1=OR 2=Exact
|
||||
search_mode: 0
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
fields:
|
||||
@@ -74,26 +86,22 @@
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdb:
|
||||
optional: true
|
||||
selector: div.imdb_100 > a
|
||||
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]
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00"
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: "0"
|
||||
@@ -109,5 +117,6 @@
|
||||
img.pro_2up: "2"
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, img
|
||||
# NexusPHP Standard v1.5 Beta 4
|
||||
|
169
src/Jackett.Common/Definitions/p2pbg.yml
Normal file
169
src/Jackett.Common/Definitions/p2pbg.yml
Normal file
@@ -0,0 +1,169 @@
|
||||
---
|
||||
site: p2pbg
|
||||
name: P2PBG
|
||||
description: "P2PBG is a BULGARIAN Private Torrent Tracker for 0DAY / GENERAL"
|
||||
language: bg
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://p2pbg.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/SD, desc: "Movies-XviD"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Movies-x264"}
|
||||
- {id: 34, cat: Movies, desc: "Movies-BG"}
|
||||
- {id: 17, cat: Movies/HD, desc: "Movies-MPEG2"}
|
||||
- {id: 35, cat: Movies, desc: "Movies-GSM"}
|
||||
- {id: 55, cat: Movies/3D, desc: "Movies-3D"}
|
||||
- {id: 18, cat: Movies/BluRay, desc: "Movies-BR/HD-DVD"}
|
||||
- {id: 7, cat: TV/Documentary , desc: "Movies-Documentaries"}
|
||||
- {id: 11, cat: Movies/DVD, desc: "Movies-DVD"}
|
||||
- {id: 24, cat: TV/SD, desc: "TV-BG"}
|
||||
- {id: 14, cat: TV, desc: "TV-Shows"}
|
||||
- {id: 15, cat: TV, desc: "TV-Boxset"}
|
||||
- {id: 38, cat: TV/Anime, desc: "TV-Cartoons"}
|
||||
- {id: 8, cat: PC/Games, desc: "Games-PC ISO"}
|
||||
- {id: 9, cat: PC/Games, desc: "Games-PC Rips"}
|
||||
- {id: 21, cat: Console/Xbox, desc: "Games-XboX"}
|
||||
- {id: 22, cat: Console/Xbox 360, desc: "Games-X360"}
|
||||
- {id: 33, cat: Console/Wii, desc: "Games-Wii"}
|
||||
- {id: 20, cat: Console/PSP, desc: "Games-PSP"}
|
||||
- {id: 23, cat: Console/PS3, desc: "Games-PS3"}
|
||||
- {id: 12, cat: Console/PS3, desc: "Games-PS2"}
|
||||
- {id: 2, cat: Audio/MP3, desc: "Music-Song"}
|
||||
- {id: 28, cat: Audio, desc: "Music-Album"}
|
||||
- {id: 19, cat: Audio/Video, desc: "Music-Video"}
|
||||
- {id: 29, cat: Audio, desc: "Music-Discography"}
|
||||
- {id: 3, cat: Audio/Video, desc: "Music-DVD"}
|
||||
- {id: 31, cat: PC/0day, desc: "Appz Ripped"}
|
||||
- {id: 26, cat: PC/ISO, desc: "Appz PC-ISO"}
|
||||
- {id: 49, cat: PC/Mac, desc: "Appz MacOS"}
|
||||
- {id: 30, cat: PC, desc: "Appz-Linux"}
|
||||
- {id: 27, cat: PC, desc: "Appz-GSM"}
|
||||
- {id: 39, cat: Other, desc: "e-Learning"}
|
||||
- {id: 37, cat: Other/Misc, desc: "Pictures"}
|
||||
- {id: 4, cat: Other, desc: "Other"}
|
||||
- {id: 6, cat: Books, desc: "Books"}
|
||||
- {id: 52, cat: PC/Phone-Other, desc: "Mobile-GSM"}
|
||||
- {id: 40, cat: PC/Phone-IOS, desc: "Mobile-iPhone"}
|
||||
- {id: 51, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 5, cat: TV/Sport, desc: "Sport F1"}
|
||||
- {id: 13, cat: XXX, desc: "XXX"}
|
||||
- {id: 54, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 32, cat: XXX/Imageset, desc: "XXX Pictures"}
|
||||
- {id: 56, cat: XXX, desc: "XXX 3D"}
|
||||
- {id: 53, cat: XXX, desc: "XXX Hentai"}
|
||||
- {id: 48, cat: XXX, desc: "XXX BG Amateurs"}
|
||||
|
||||
|
||||
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_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "For best results, increase the torrents number in your profile to 100.<br />Default is 15."
|
||||
|
||||
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: index.php
|
||||
selector: :has(a[href="logout.php"])
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://p2pbg.com/index.php?page=torrents&search=%D0%9A%D0%B0%D1%82%D0%BE&category=0&active=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: "torrents"
|
||||
category: "{{if .Categories }}{{range .Categories}}{{.}};{{end}}{{else}}0;{{end}}"
|
||||
search: "{{if .Keywords }}{{.Keywords}}{{else}}{{end}}"
|
||||
active: "1"
|
||||
|
||||
rows:
|
||||
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
|
||||
fields:
|
||||
title:
|
||||
selector: td a[onclick]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["View details: ", ""]
|
||||
- name: replace
|
||||
args: ["Преглед на детайли: ", ""]
|
||||
- name: replace
|
||||
args: ["Преглед на детайли: ", ""]
|
||||
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 img[src="/torrentimg/pic.png"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width="
|
||||
# two flavours
|
||||
date:
|
||||
# Yesterday
|
||||
# Вчера
|
||||
selector: td:nth-child(6):not(:contains("/"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["сейчас", "now"]
|
||||
- name: replace
|
||||
args: ["сегодня", "Today"]
|
||||
- name: replace
|
||||
args: ["вчера", "Yesterday"]
|
||||
date:
|
||||
# 14/03/2019
|
||||
selector: td:nth-child(6):contains("/")
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
grabs:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
126
src/Jackett.Common/Definitions/peersfm.yml
Normal file
126
src/Jackett.Common/Definitions/peersfm.yml
Normal file
@@ -0,0 +1,126 @@
|
||||
---
|
||||
site: peersfm
|
||||
name: Peers.FM
|
||||
description: "Peers.FM is a RUSSIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ru-ru
|
||||
type: private
|
||||
encoding: windows-1251
|
||||
links:
|
||||
- https://peers.fm/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 18, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 17, cat: PC, desc: "Database"}
|
||||
- {id: 25, cat: TV, desc: "EDU"}
|
||||
- {id: 14, cat: Movies/HD, desc: "HD Видео"}
|
||||
- {id: 7, cat: Other, desc: "Images"}
|
||||
- {id: 15, cat: PC/Mac, desc: "Mac"}
|
||||
- {id: 26, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 24, cat: TV, desc: "TV Show"}
|
||||
- {id: 1, cat: PC, desc: "WaReZ"}
|
||||
- {id: 10, cat: XXX, desc: "XXX"}
|
||||
- {id: 9, cat: Audio/Audiobook, desc: "Аудиокниги"}
|
||||
- {id: 3, cat: PC/Games, desc: "Игры/GameZ"}
|
||||
- {id: 2, cat: Audio/Video, desc: "Клипы/Концерты"}
|
||||
- {id: 8, cat: Books/Magazines, desc: "Книги/Журналы"}
|
||||
- {id: 20, cat: Audio/Lossless, desc: "Музыка/Lossless"}
|
||||
- {id: 11, cat: Audio/Mp3, desc: "Музыка/Mp3"}
|
||||
- {id: 13, cat: TV, desc: "Мультфильмы"}
|
||||
- {id: 12, cat: Other, desc: "Разное/Miscellaneous"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "Фильмы DVD"}
|
||||
- {id: 6, cat: Movies, desc: "Фильмы MPEG4"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
SSL: 1
|
||||
error:
|
||||
- selector: table[width="400"] tr td
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href="/logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0=active 1=incl dead 2=only dead 3=FREE
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table[width="940px"] > tbody > tr:has(a[href^="details.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
grabs:
|
||||
selector: a[href^="download.php/"]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
# replace month abbreviations
|
||||
- name: replace
|
||||
args: ["янв", "Jan"]
|
||||
- name: replace
|
||||
args: ["фев", "Feb"]
|
||||
- name: replace
|
||||
args: ["мар", "Mar"]
|
||||
- name: replace
|
||||
args: ["апр", "Apr"]
|
||||
- name: replace
|
||||
args: ["май", "May"]
|
||||
- name: replace
|
||||
args: ["июн", "Jun"]
|
||||
- name: replace
|
||||
args: ["июл", "Jul"]
|
||||
- name: replace
|
||||
args: ["авг", "Aug"]
|
||||
- name: replace
|
||||
args: ["сен", "Sep"]
|
||||
- name: replace
|
||||
args: ["окт", "Oct"]
|
||||
- name: replace
|
||||
args: ["ноя", "Nov"]
|
||||
- name: replace
|
||||
args: ["дек", "Dec"]
|
||||
- name: dateparse
|
||||
args: "15:04:0502 Jan 2006"
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/free_100.png"]: "0"
|
||||
img[src="pic/free_75.png"]: "0.25"
|
||||
img[src="pic/free_50.png"]: "0.5"
|
||||
img[src="pic/free_25.png"]: "0.75"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -6,6 +6,9 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://piratbit.top/
|
||||
- https://piratbit.ml/
|
||||
legacylinks:
|
||||
- https://pb.wtf/
|
||||
- https://piratbit.pw/
|
||||
|
||||
|
137
src/Jackett.Common/Definitions/pleasuredome.yml
Normal file
137
src/Jackett.Common/Definitions/pleasuredome.yml
Normal file
@@ -0,0 +1,137 @@
|
||||
---
|
||||
site: pleasuredome
|
||||
name: PleasureDome
|
||||
description: "PleasureDome is a private site for Arcade / Console / PC Games"
|
||||
language: en
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.pleasuredome.org.uk/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Arcade
|
||||
- {id: 10, cat: Console, desc: "MAME"}
|
||||
- {id: 11, cat: Console, desc: "Pinball"}
|
||||
- {id: 12, cat: Console, desc: "ZiNc"}
|
||||
- {id: 13, cat: Console, desc: "Nebula"}
|
||||
- {id: 14, cat: Console, desc: "Daphne"}
|
||||
- {id: 17, cat: Console, desc: "Fruit"}
|
||||
- {id: 32, cat: Console, desc: "Neo-Geo"}
|
||||
- {id: 33, cat: Console, desc: "NonMAME"}
|
||||
- {id: 34, cat: Console, desc: "RAINE"}
|
||||
- {id: 35, cat: Console, desc: "Kawaks"}
|
||||
- {id: 40, cat: Console, desc: "FBA"}
|
||||
- {id: 51, cat: Console, desc: "HBMAME"}
|
||||
- {id: 58, cat: Console, desc: "Dice"}
|
||||
# Computer
|
||||
- {id: 16, cat: Console, desc: "Amiga"}
|
||||
- {id: 19, cat: Console, desc: "Amstrad"}
|
||||
- {id: 20, cat: Console, desc: "Commodore 64"}
|
||||
- {id: 22, cat: Console, desc: "Apple"}
|
||||
- {id: 25, cat: Console, desc: "Sinclair"}
|
||||
- {id: 41, cat: Console, desc: "Doom"}
|
||||
- {id: 44, cat: Console, desc: "MS-DOS"}
|
||||
- {id: 50, cat: Console, desc: "eXoDOS"}
|
||||
- {id: 53, cat: Console, desc: "Win3xO"}
|
||||
- {id: 55, cat: Console, desc: "Neo Kobe"}
|
||||
# Computer / Console
|
||||
- {id: 15, cat: Console, desc: "MESS"}
|
||||
- {id: 24, cat: Console, desc: "Atari"}
|
||||
- {id: 31, cat: Console, desc: "TOSEC"}
|
||||
- {id: 38, cat: Console, desc: "Dreamcast"}
|
||||
- {id: 43, cat: Console, desc: "ScummVM"}
|
||||
- {id: 46, cat: Console, desc: "Redump"}
|
||||
- {id: 48, cat: Console, desc: "Trurip"}
|
||||
- {id: 52, cat: Console, desc: "GoodTools"}
|
||||
- {id: 57, cat: Console, desc: "Hyperspin"}
|
||||
- {id: 61, cat: Console, desc: "RAWdump"}
|
||||
# Console
|
||||
- {id: 18, cat: Console, desc: "Sega"}
|
||||
- {id: 21, cat: Console, desc: "3DO"}
|
||||
- {id: 23, cat: Console, desc: "PC Engine"}
|
||||
- {id: 47, cat: Console, desc: "Demul"}
|
||||
- {id: 49, cat: Console, desc: "Sega Saturn"}
|
||||
- {id: 54, cat: Console, desc: "No-Intro"}
|
||||
- {id: 59, cat: Console, desc: "XBOX"}
|
||||
- {id: 60, cat: Console, desc: "DMC"}
|
||||
# iscellaneous
|
||||
- {id: 4, cat: Console, desc: "Other"}
|
||||
- {id: 37, cat: Console, desc: "Remix Projects"}
|
||||
- {id: 39, cat: Console, desc: "EmuMovies"}
|
||||
- {id: 42, cat: Console, desc: "CDi"}
|
||||
- {id: 45, cat: Console, desc: "NUON"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: login2.php
|
||||
method: form
|
||||
form: form[action="login2.php"]
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div font[color="#FF0000"]
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
category: 0
|
||||
active: 0
|
||||
sort: "data"
|
||||
order: "DESC"
|
||||
|
||||
rows:
|
||||
selector: table[width="100%"] > tbody tr:has(a[href^="download.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: td:nth-child(2) a
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["[FREE] ", ""]
|
||||
details:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["javascript:popdetails('", ""]
|
||||
- name: replace
|
||||
args: [");'", ""]
|
||||
category:
|
||||
selector: td:nth-child(1) a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
optional: true
|
||||
selector: td:nth-child(4) a
|
||||
attribute: href
|
||||
date:
|
||||
# 19/01/2019
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9) a
|
||||
grabs:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src=\"images/fdownload.gif\"]": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
123
src/Jackett.Common/Definitions/pthome.yml
Normal file
123
src/Jackett.Common/Definitions/pthome.yml
Normal file
@@ -0,0 +1,123 @@
|
||||
---
|
||||
site: pthome
|
||||
name: PThome
|
||||
description: "PThome is a CHINESE Private Torrent Tracker for 0DAY / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.pthome.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies(电影)"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries(记录片)"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations(动漫)"}
|
||||
- {id: 402, cat: TV, desc: "TV Series(电视剧)"}
|
||||
- {id: 403, cat: TV/OTHER, desc: "TV Shows(综艺)"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos(MV)"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(体育)"}
|
||||
- {id: 408, cat: Audio/Lossless, desc: "HQ Audio(音乐)"}
|
||||
- {id: 410, cat: Console, desc: "Games(游戏)"}
|
||||
- {id: 411, cat: PC, desc: "Software(软件)"}
|
||||
- {id: 412, cat: Books, desc: "Study(学习)"}
|
||||
- {id: 409, cat: Other, desc: "Misc(其他)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
ratio:
|
||||
path: index.php
|
||||
selector: table tr td.bottom
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["分享率:","Ratio:"] # for simplified chinese language setting
|
||||
- name: regexp
|
||||
args: "Ratio:\\s(.*?)\\s\\s"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
incldead: "0"
|
||||
spstate: "0"
|
||||
inclbookmarked: "0"
|
||||
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
|
||||
search_area: "{{if .Query.IMDBID}}4{{else}}0{{end}}"
|
||||
search_mode: "0"
|
||||
|
||||
rows:
|
||||
selector: table.torrents tr:has(a[href^="?cat="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: td.torrents-box a
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php", "download.php"]
|
||||
imdb:
|
||||
selector: a[href^="http://www.imdb.com/title/tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
selector: td:nth-child(4) span
|
||||
attribute: title
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: "0"
|
||||
img.pro_free2up: "0"
|
||||
img.pro_50pctdown: "0.5"
|
||||
img.pro_50pctdown2up: "0.5"
|
||||
img.pro_30pctdown: "0.3"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: "2"
|
||||
img.pro_free2up: "2"
|
||||
img.pro_2up: "2"
|
||||
"*": "1"
|
@@ -12,55 +12,55 @@
|
||||
categorymappings:
|
||||
- {id: 17, cat: Movies/Other, desc: "VCD/SVCD - SVCD/VCD"}
|
||||
- {id: 78, cat: Movies/Other, desc: "VCD/SVCD - Estrenos VCD/SVCD"}
|
||||
- {id: 14, cat: Movies/SD, desc: "XVID - Series"}
|
||||
- {id: 45, cat: Movies/SD, desc: "XVID - Animación"}
|
||||
- {id: 46, cat: Movies/SD, desc: "XVID - Deportes"}
|
||||
- {id: 47, cat: Movies/SD, desc: "XVID - Documentales"}
|
||||
- {id: 14, cat: TV/SD, desc: "XVID - Series"}
|
||||
- {id: 45, cat: TV/Anime, desc: "XVID - Animación"}
|
||||
- {id: 46, cat: TV/Sport, desc: "XVID - Deportes"}
|
||||
- {id: 47, cat: TV/Documentary, desc: "XVID - Documentales"}
|
||||
- {id: 33, cat: Movies/SD, desc: "XVID - Estrenos"}
|
||||
- {id: 48, cat: Movies/SD, desc: "XVID - Películas"}
|
||||
- {id: 114, cat: Movies/SD, desc: "XVID - Estrenos BajaCalidad"}
|
||||
- {id: 12, cat: Movies/SD, desc: "XVID - Adulto (+18)"}
|
||||
- {id: 51, cat: Movies/SD, desc: "XVID - Música"}
|
||||
- {id: 37, cat: Movies/DVD, desc: "DVD - Animación"}
|
||||
- {id: 38, cat: Movies/DVD, desc: "DVD - Deportes"}
|
||||
- {id: 39, cat: Movies/DVD, desc: "DVD - Documentales"}
|
||||
- {id: 12, cat: XXX/XviD, desc: "XVID - Adulto (+18)"}
|
||||
- {id: 51, cat: Audio/Video, desc: "XVID - Música"}
|
||||
- {id: 37, cat: TV/Anime, desc: "DVD - Animación"}
|
||||
- {id: 38, cat: TV/Sport, desc: "DVD - Deportes"}
|
||||
- {id: 39, cat: TV/Documentary, desc: "DVD - Documentales"}
|
||||
- {id: 40, cat: Movies/DVD, desc: "DVD - Películas"}
|
||||
- {id: 41, cat: Movies/DVD, desc: "DVD - Series"}
|
||||
- {id: 42, cat: Movies/DVD, desc: "DVD - Adulto (+18)"}
|
||||
- {id: 43, cat: Movies/DVD, desc: "DVD - Música"}
|
||||
- {id: 106, cat: Movies/HD, desc: "HDRip - Animación"}
|
||||
- {id: 107, cat: Movies/HD, desc: "HDRip - Deportes"}
|
||||
- {id: 108, cat: Movies/HD, desc: "HDRip - Documentales"}
|
||||
- {id: 41, cat: TV/SD, desc: "DVD - Series"}
|
||||
- {id: 42, cat: XXX/DVD, desc: "DVD - Adulto (+18)"}
|
||||
- {id: 43, cat: Audio/Video, desc: "DVD - Música"}
|
||||
- {id: 106, cat: TV/Anime, desc: "HDRip - Animación"}
|
||||
- {id: 107, cat: TV/Sport, desc: "HDRip - Deportes"}
|
||||
- {id: 108, cat: TV/Documentary, desc: "HDRip - Documentales"}
|
||||
- {id: 109, cat: Movies/HD, desc: "HDRip - Películas"}
|
||||
- {id: 110, cat: Movies/HD, desc: "HDRip - Series"}
|
||||
- {id: 112, cat: Movies/HD, desc: "HDRip - Adulto (+18)"}
|
||||
- {id: 111, cat: Movies/HD, desc: "HDRip - Música"}
|
||||
- {id: 117, cat: Movies/3D, desc: "3D - Animación"}
|
||||
- {id: 118, cat: Movies/3D, desc: "3D - Deportes"}
|
||||
- {id: 119, cat: Movies/3D, desc: "3D - Documentales"}
|
||||
- {id: 110, cat: TV/HD, desc: "HDRip - Series"}
|
||||
- {id: 112, cat: XXX/x264, desc: "HDRip - Adulto (+18)"}
|
||||
- {id: 111, cat: Audio/Video, desc: "HDRip - Música"}
|
||||
- {id: 117, cat: TV/Anime, desc: "3D - Animación"}
|
||||
- {id: 118, cat: TV/Sport, desc: "3D - Deportes"}
|
||||
- {id: 119, cat: TV/Documentary, desc: "3D - Documentales"}
|
||||
- {id: 120, cat: Movies/3D, desc: "3D - Películas"}
|
||||
- {id: 121, cat: Movies/3D, desc: "3D - Adulto (+18)"}
|
||||
- {id: 126, cat: Movies/HD, desc: "Micro HD - Animación"}
|
||||
- {id: 127, cat: Movies/HD, desc: "Micro HD - Deportes"}
|
||||
- {id: 128, cat: Movies/HD, desc: "Micro HD - Documentales"}
|
||||
- {id: 121, cat: XXX, desc: "3D - Adulto (+18)"}
|
||||
- {id: 126, cat: TV/Anime, desc: "Micro HD - Animación"}
|
||||
- {id: 127, cat: TV/Sport, desc: "Micro HD - Deportes"}
|
||||
- {id: 128, cat: TV/Documentary, desc: "Micro HD - Documentales"}
|
||||
- {id: 57, cat: Movies/HD, desc: "Micro HD - Películas"}
|
||||
- {id: 124, cat: Movies/HD, desc: "Micro HD - Series"}
|
||||
- {id: 129, cat: Movies/HD, desc: "Micro HD - Adulto"}
|
||||
- {id: 130, cat: Movies/HD, desc: "Micro HD - Música"}
|
||||
- {id: 53, cat: Movies/HD, desc: "HD - Animación"}
|
||||
- {id: 54, cat: Movies/HD, desc: "HD - Deportes"}
|
||||
- {id: 55, cat: Movies/HD, desc: "HD - Documentales"}
|
||||
- {id: 124, cat: TV/HD, desc: "Micro HD - Series"}
|
||||
- {id: 129, cat: XXX/x264, desc: "Micro HD - Adulto"}
|
||||
- {id: 130, cat: Audio/Video, desc: "Micro HD - Música"}
|
||||
- {id: 53, cat: TV/Anime, desc: "HD - Animación"}
|
||||
- {id: 54, cat: TV/Sport, desc: "HD - Deportes"}
|
||||
- {id: 55, cat: TV/Documentary, desc: "HD - Documentales"}
|
||||
- {id: 56, cat: Movies/HD, desc: "HD - BDrip/BDremux/FullBD"}
|
||||
- {id: 58, cat: Movies/HD, desc: "HD - WEB-DL/Line Dubbed"}
|
||||
- {id: 59, cat: Movies/HD, desc: "HD - Series"}
|
||||
- {id: 63, cat: Movies/HD, desc: "HD - Adulto (+18)"}
|
||||
- {id: 61, cat: Movies/HD, desc: "HD - Música"}
|
||||
- {id: 136, cat: Movies/UHD, desc: "UHD - Animación"}
|
||||
- {id: 137, cat: Movies/UHD, desc: "UHD - Deportes"}
|
||||
- {id: 138, cat: Movies/UHD, desc: "UHD - Documentales"}
|
||||
- {id: 59, cat: TV/HD, desc: "HD - Series"}
|
||||
- {id: 63, cat: XXX/x264, desc: "HD - Adulto (+18)"}
|
||||
- {id: 61, cat: Audio/Video, desc: "HD - Música"}
|
||||
- {id: 136, cat: TV/Anime, desc: "UHD - Animación"}
|
||||
- {id: 137, cat: TV/Sport, desc: "UHD - Deportes"}
|
||||
- {id: 138, cat: TV/Documentary, desc: "UHD - Documentales"}
|
||||
- {id: 139, cat: Movies/UHD, desc: "UHD - Películas"}
|
||||
- {id: 140, cat: Movies/UHD, desc: "UHD - Series"}
|
||||
- {id: 141, cat: Movies/UHD, desc: "UHD - Adulto (+18)"}
|
||||
- {id: 140, cat: TV/UHD, desc: "UHD - Series"}
|
||||
- {id: 141, cat: XXX/x264, desc: "UHD - Adulto (+18)"}
|
||||
- {id: 69, cat: Audio/MP3, desc: "MP3"}
|
||||
- {id: 70, cat: Audio/Lossless, desc: "FLAC"}
|
||||
- {id: 71, cat: Audio/Other, desc: "Otros Formatos"}
|
||||
@@ -132,8 +132,13 @@
|
||||
selector: td:nth-child(3) a
|
||||
attribute: href
|
||||
size:
|
||||
# 1,36 GB
|
||||
# 296,98 MB
|
||||
# 1.018,29 MB
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
|
@@ -13,10 +13,8 @@
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV/Sport, desc: "BTCC"}
|
||||
- {id: 2, cat: TV/Sport, desc: "Documentaries/TV"}
|
||||
- {id: 3, cat: TV/Sport, desc: "DTM"}
|
||||
- {id: 4, cat: TV/Sport, desc: "Formula 1 2018"}
|
||||
- {id: 6, cat: TV/Sport, desc: "Formula 1 2017-1950 (HD)"}
|
||||
- {id: 21, cat: TV/Sport, desc: "Formula 1 2017-1950 (SD)"}
|
||||
- {id: 22, cat: TV/Sport, desc: "Formula 2"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Formula E"}
|
||||
- {id: 24, cat: TV/Sport, desc: "Misc"}
|
||||
@@ -27,8 +25,19 @@
|
||||
- {id: 33, cat: TV/Sport, desc: "Touring Cars"}
|
||||
- {id: 50, cat: TV/Sport, desc: "WRC"}
|
||||
- {id: 53, cat: TV/Sport, desc: "Open-Wheelers"}
|
||||
- {id: 54, cat: TV/Sport, desc: "Documentaries/Movies"}
|
||||
- {id: 55, cat: TV/Sport, desc: "Season Reviews"}
|
||||
- {id: 56, cat: TV/Sport, desc: "WRX"}
|
||||
- {id: 57, cat: TV/Sport, desc: "WEC"}
|
||||
- {id: 58, cat: TV/Sport, desc: "Formula 1 Full Seasons"}
|
||||
- {id: 60, cat: TV/Sport, desc: "Drag Racing"}
|
||||
- {id: 61, cat: TV/Sport, desc: "Rally"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Formula 1 Testing"}
|
||||
- {id: 63, cat: TV/Sport, desc: "Supercars"}
|
||||
- {id: 64, cat: TV/Sport, desc: "Indycar Complete Seasons"}
|
||||
- {id: 65, cat: TV/Sport, desc: "NASCAR Complete Seasons"}
|
||||
- {id: 66, cat: TV/Sport, desc: "Documentaries"}
|
||||
- {id: 67, cat: TV/Sport, desc: "Formula 1 2019"}
|
||||
- {id: 68, cat: TV/Sport, desc: "Formula 1 2018-1950"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -39,10 +48,19 @@
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
- selector: div.has-error
|
||||
test:
|
||||
path: torrents
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: span:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -50,8 +68,12 @@
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
sorting: created_at
|
||||
imdb: ""
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
@@ -74,11 +96,11 @@
|
||||
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\.]+)
|
||||
@@ -105,16 +127,22 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
|
||||
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
|
||||
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
|
||||
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
|
||||
"*": "1"
|
||||
# UNIT3D 1.9.2
|
||||
|
223
src/Jackett.Common/Definitions/racingforme.yml
Normal file
223
src/Jackett.Common/Definitions/racingforme.yml
Normal file
@@ -0,0 +1,223 @@
|
||||
---
|
||||
site: racingforme
|
||||
name: RacingForMe
|
||||
description: "Racing For Me (RFM) is a Private Torrent Tracker for RACING"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.racingfor.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1000, cat: TV/Sport, desc: "Formula 1 - Full races"}
|
||||
- {id: 1010, cat: TV/Sport, desc: "F1 Full Seasons"}
|
||||
- {id: 1020, cat: TV/Sport, desc: "F1 Full Season 1950-1980"}
|
||||
- {id: 1030, cat: TV/Sport, desc: "F1 Full Season 1981-1990"}
|
||||
- {id: 1040, cat: TV/Sport, desc: "F1 Full Season 1991-2000"}
|
||||
- {id: 1050, cat: TV/Sport, desc: "F1 Full Season 2001-2010"}
|
||||
- {id: 1060, cat: TV/Sport, desc: "F1 Full Season 2011-2017"}
|
||||
- {id: 1070, cat: TV/Sport, desc: "F1 Full Season 2011-2017 (HD)"}
|
||||
- {id: 2000, cat: TV/Sport, desc: "Formula 1 - Highlights"}
|
||||
- {id: 2010, cat: TV/Sport, desc: "F1 Highlights 1950-1980"}
|
||||
- {id: 2020, cat: TV/Sport, desc: "F1 Highlights 1981-1990"}
|
||||
- {id: 2030, cat: TV/Sport, desc: "F1 Highlights 1991-2000"}
|
||||
- {id: 2040, cat: TV/Sport, desc: "F1 Highlights 2001-2010"}
|
||||
- {id: 2050, cat: TV/Sport, desc: "F1 Highlights 2011-2017"}
|
||||
- {id: 2060, cat: TV/Sport, desc: "F1 Highlights 2011-2017 (HD)"}
|
||||
- {id: 3000, cat: TV/Sport, desc: "Formula 1 - FP and quali"}
|
||||
- {id: 3010, cat: TV/Sport, desc: "F1 FP and quali 1950-1980"}
|
||||
- {id: 3020, cat: TV/Sport, desc: "F1 FP and quali 1981-1990"}
|
||||
- {id: 3030, cat: TV/Sport, desc: "F1 FP and quali 1991-2000"}
|
||||
- {id: 3040, cat: TV/Sport, desc: "F1 FP and quali 2001-2010"}
|
||||
- {id: 3050, cat: TV/Sport, desc: "F1 FP and quali 2011-2017"}
|
||||
- {id: 3060, cat: TV/Sport, desc: "F1 FP and quali 2011-2017 (HD)"}
|
||||
- {id: 4000, cat: TV/Sport, desc: "Formula 1 - Onboard"}
|
||||
- {id: 4010, cat: TV/Sport, desc: "F1 Onboard 1950-1980"}
|
||||
- {id: 4020, cat: TV/Sport, desc: "F1 Onboard 1981-1990"}
|
||||
- {id: 4030, cat: TV/Sport, desc: "F1 Onboard 1991-2000"}
|
||||
- {id: 4040, cat: TV/Sport, desc: "F1 Onboard 2001-2010"}
|
||||
- {id: 4050, cat: TV/Sport, desc: "F1 Onboard 2011-2017"}
|
||||
- {id: 5000, cat: TV/Sport, desc: "Formula 1 - Miscellaneous"}
|
||||
- {id: 5010, cat: TV/Sport, desc: "F1 Misc Documentaries"}
|
||||
- {id: 5020, cat: TV/Sport, desc: "F1 Misc Driver/team specials"}
|
||||
- {id: 5030, cat: TV/Sport, desc: "F1 Misc Event specials"}
|
||||
- {id: 5040, cat: TV/Sport, desc: "F1 Misc Other"}
|
||||
- {id: 6000, cat: TV/Sport, desc: "Formula 1 - 2018"}
|
||||
- {id: 6010, cat: TV/Sport, desc: "F1 2018 Free practices"}
|
||||
- {id: 6020, cat: TV/Sport, desc: "F1 2018 Qualifications"}
|
||||
- {id: 6030, cat: TV/Sport, desc: "F1 2018 Races"}
|
||||
- {id: 6040, cat: TV/Sport, desc: "F1 2018 Highlights"}
|
||||
- {id: 6050, cat: TV/Sport, desc: "F1 2018 Onboards"}
|
||||
- {id: 6060, cat: TV/Sport, desc: "F1 2018 Other"}
|
||||
- {id: 7000, cat: TV/Sport, desc: "Formula 1 - 2018 (HD)"}
|
||||
- {id: 7010, cat: TV/Sport, desc: "F1 2018 (HD) Free practices"}
|
||||
- {id: 7020, cat: TV/Sport, desc: "F1 2018 (HD) Qualifications"}
|
||||
- {id: 7030, cat: TV/Sport, desc: "F1 2018 (HD) Races"}
|
||||
- {id: 7040, cat: TV/Sport, desc: "F1 2018 (HD) Highlights"}
|
||||
- {id: 7050, cat: TV/Sport, desc: "F1 2018 (HD) Other"}
|
||||
- {id: 8000, cat: TV/Sport, desc: "Moto3 / Moto2 / MotoGP"}
|
||||
- {id: 8010, cat: TV/Sport, desc: "Moto 125cc"}
|
||||
- {id: 8020, cat: TV/Sport, desc: "Moto 250cc"}
|
||||
- {id: 8030, cat: TV/Sport, desc: "Moto Moto3"}
|
||||
- {id: 8040, cat: TV/Sport, desc: "Moto Moto2"}
|
||||
- {id: 8050, cat: TV/Sport, desc: "Moto MotoGP"}
|
||||
- {id: 9000, cat: TV/Sport, desc: "Motorbikes"}
|
||||
- {id: 9010, cat: TV/Sport, desc: "Motorbikes AMA"}
|
||||
- {id: 9020, cat: TV/Sport, desc: "Motorbikes World Supersport"}
|
||||
- {id: 9030, cat: TV/Sport, desc: "Motorbikes World Superstock"}
|
||||
- {id: 9040, cat: TV/Sport, desc: "Motorbikes WSBK"}
|
||||
- {id: 9050, cat: TV/Sport, desc: "Motorbikes BSB"}
|
||||
- {id: 9060, cat: TV/Sport, desc: "Motorbikes Other"}
|
||||
- {id: 9070, cat: TV/Sport, desc: "Motorbikes MotoAmerica"}
|
||||
- {id: 10000, cat: TV/Sport, desc: "Touring cars"}
|
||||
- {id: 10010, cat: TV/Sport, desc: "Touring cars WTCC"}
|
||||
- {id: 10020, cat: TV/Sport, desc: "Touring cars DTM"}
|
||||
- {id: 10030, cat: TV/Sport, desc: "Touring cars V8 Supercars"}
|
||||
- {id: 10040, cat: TV/Sport, desc: "Touring cars BTCC"}
|
||||
- {id: 10050, cat: TV/Sport, desc: "Touring cars Porsche Supercup"}
|
||||
- {id: 10060, cat: TV/Sport, desc: "Touring cars Other"}
|
||||
- {id: 11000, cat: TV/Sport, desc: "Sports cars"}
|
||||
- {id: 11010, cat: TV/Sport, desc: "Sports cars BSS"}
|
||||
- {id: 11020, cat: TV/Sport, desc: "Sports cars Le Mans 24H"}
|
||||
- {id: 11030, cat: TV/Sport, desc: "Sports cars WSC/WEC"}
|
||||
- {id: 11040, cat: TV/Sport, desc: "Sports cars IMSA"}
|
||||
- {id: 11050, cat: TV/Sport, desc: "Sports cars USC"}
|
||||
- {id: 11070, cat: TV/Sport, desc: "Sports cars BES"}
|
||||
- {id: 11080, cat: TV/Sport, desc: "Sports cars Super GT"}
|
||||
- {id: 11090, cat: TV/Sport, desc: "Sports cars IMSA Pilot Challenge"}
|
||||
- {id: 11060, cat: TV/Sport, desc: "Sports cars Other"}
|
||||
- {id: 12000, cat: TV/Sport, desc: "American open-wheelers"}
|
||||
- {id: 12010, cat: TV/Sport, desc: "American open-wheelers CCWS"}
|
||||
- {id: 12020, cat: TV/Sport, desc: "American open-wheelers IRL"}
|
||||
- {id: 12030, cat: TV/Sport, desc: "American open-wheelers CART"}
|
||||
- {id: 12040, cat: TV/Sport, desc: "American open-wheelers Indycar Series"}
|
||||
- {id: 12050, cat: TV/Sport, desc: "American open-wheelers Indy Lights"}
|
||||
- {id: 12060, cat: TV/Sport, desc: "American open-wheelers Other"}
|
||||
- {id: 13000, cat: TV/Sport, desc: "Rally"}
|
||||
- {id: 13010, cat: TV/Sport, desc: "Rally WRC"}
|
||||
- {id: 13020, cat: TV/Sport, desc: "Rally ERC"}
|
||||
- {id: 13030, cat: TV/Sport, desc: "Rally BRC"}
|
||||
- {id: 13040, cat: TV/Sport, desc: "Rally National series"}
|
||||
- {id: 13050, cat: TV/Sport, desc: "Rally Enduro-rally"}
|
||||
- {id: 13060, cat: TV/Sport, desc: "Rally Rally cross"}
|
||||
- {id: 13070, cat: TV/Sport, desc: "Rally Other"}
|
||||
- {id: 14000, cat: TV/Sport, desc: "NASCAR / Stockcars"}
|
||||
- {id: 14010, cat: TV/Sport, desc: "NASCAR Sprint Cup"}
|
||||
- {id: 14020, cat: TV/Sport, desc: "NASCAR XFINITY Series"}
|
||||
- {id: 14030, cat: TV/Sport, desc: "NASCAR CW Trucks"}
|
||||
- {id: 14040, cat: TV/Sport, desc: "NASCAR ARCA"}
|
||||
- {id: 14050, cat: TV/Sport, desc: "NASCAR Other"}
|
||||
- {id: 15000, cat: TV/Sport, desc: "F3000 / GP2 / Formula 2"}
|
||||
- {id: 15010, cat: TV/Sport, desc: "F2 1985-1990"}
|
||||
- {id: 15020, cat: TV/Sport, desc: "F2 1991-2000"}
|
||||
- {id: 15030, cat: TV/Sport, desc: "F2 2001-2011"}
|
||||
- {id: 15040, cat: TV/Sport, desc: "F2 2012-2017"}
|
||||
- {id: 15050, cat: TV/Sport, desc: "F2 GP2 Asia"}
|
||||
- {id: 16000, cat: TV/Sport, desc: "Single seaters"}
|
||||
- {id: 16010, cat: TV/Sport, desc: "Single seaters Formula 2"}
|
||||
- {id: 16020, cat: TV/Sport, desc: "Single seaters FIA F3"}
|
||||
- {id: 16030, cat: TV/Sport, desc: "Single seaters GP3"}
|
||||
- {id: 16040, cat: TV/Sport, desc: "Single seaters WSBR 2.0"}
|
||||
- {id: 16050, cat: TV/Sport, desc: "Single seaters WSBR 3.5"}
|
||||
- {id: 16060, cat: TV/Sport, desc: "Single seaters British F3"}
|
||||
- {id: 16070, cat: TV/Sport, desc: "Single seaters Formula E"}
|
||||
- {id: 16080, cat: TV/Sport, desc: "Single seaters Other"}
|
||||
- {id: 17000, cat: TV/Sport, desc: "Other Photographs"}
|
||||
- {id: 17010, cat: TV/Sport, desc: "Other Formula 1"}
|
||||
- {id: 17020, cat: TV/Sport, desc: "Other Motorbikes"}
|
||||
- {id: 17030, cat: TV/Sport, desc: "Other Touring cars"}
|
||||
- {id: 17040, cat: TV/Sport, desc: "Other Rally"}
|
||||
- {id: 17050, cat: TV/Sport, desc: "Other Sports cars"}
|
||||
- {id: 17060, cat: TV/Sport, desc: "Other"}
|
||||
- {id: 18000, cat: TV/Sport, desc: "Miscellaneous"}
|
||||
- {id: 18010, cat: TV/Sport, desc: "Documentaries"}
|
||||
- {id: 18020, cat: TV/Sport, desc: "TV shows"}
|
||||
- {id: 18030, cat: TV/Sport, desc: "DVD covers"}
|
||||
- {id: 18040, cat: TV/Sport, desc: "E-books"}
|
||||
- {id: 18050, cat: TV/Sport, desc: "Other"}
|
||||
- {id: 19000, cat: TV/Sport, desc: "Other"}
|
||||
- {id: 19010, cat: TV/Sport, desc: "Drag racing"}
|
||||
- {id: 19020, cat: TV/Sport, desc: "Truck racing"}
|
||||
- {id: 19030, cat: TV/Sport, desc: "Off-road"}
|
||||
- {id: 19040, cat: TV/Sport, desc: "Drifting"}
|
||||
- {id: 19050, cat: TV/Sport, desc: "Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
rememberme: 1
|
||||
error:
|
||||
- selector: div#Error
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# only 20 results per page so attempt to fetch 5 pages
|
||||
# https://www.racingfor.me/search/australia%20f1%202018?c=7000&ob=&offset=20#results
|
||||
- path: "search/{{if .Keywords}}{{.Keywords}}{{else}}*{{end}}"
|
||||
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=20{{else}}*?offset=20{{end}}"
|
||||
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=40{{else}}*?offset=40{{end}}"
|
||||
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=60{{else}}*?offset=60{{end}}"
|
||||
- path: "search/{{if .Keywords}}{{.Keywords}}&offset=80{{else}}*?offset=80{{end}}"
|
||||
rows:
|
||||
selector: div#torrentBorder
|
||||
fields:
|
||||
category:
|
||||
selector: span.catIcon a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: c
|
||||
title:
|
||||
selector: span.browseTitle a
|
||||
download:
|
||||
selector: span.browseTitle a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/details/", "/download/"]
|
||||
details:
|
||||
selector: span.browseTitle a
|
||||
attribute: href
|
||||
size:
|
||||
selector: span.torrentData span.torrentFiles
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?) in"
|
||||
files:
|
||||
selector: span.torrentData span.torrentFiles
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" in > 100", " in 100 file"]
|
||||
- name: regexp
|
||||
args: " in (\\d+) file"
|
||||
seeders:
|
||||
selector: span.torrentData span.torrentPeers
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+) seeder"
|
||||
leechers:
|
||||
selector: span.torrentData span.torrentPeers
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "and (\\d+) leecher"
|
||||
grabs:
|
||||
selector: span.torrentData span.torrentSnatched
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)"
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
text: "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -1,40 +1,54 @@
|
||||
---
|
||||
site: scenerush
|
||||
name: SceneRush
|
||||
description: "SceneRush is a Portuguese general tracker."
|
||||
description: "SceneRush is a PORTUGUESE Private Torrent Tracker for 0DAY / GENERAL"
|
||||
language: pt-PT
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.scene-rush.pt/
|
||||
legacylinks:
|
||||
- http://www.scene-rush.pt/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: PC, desc: "Apps"}
|
||||
- {id: 2, cat: Movies, desc: "XVID"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 4, cat: TV, desc: "TV XVID"}
|
||||
- {id: 5, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: 6, cat: Movies/HD, desc: "HD"}
|
||||
- {id: 7, cat: XXX, desc: "XXX"}
|
||||
- {id: 8, cat: TV/Anime, desc: "ANIME"}
|
||||
- {id: 8, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 9, cat: Audio, desc: "Audio"}
|
||||
- {id: 10, cat: Other, desc: "Other"}
|
||||
- {id: 11, cat: Console/Xbox 360, desc: "XBOX 360"}
|
||||
- {id: 12, cat: Console/PSP, desc: "PSP"}
|
||||
- {id: 13, cat: TV/Documentary, desc: "DOC"}
|
||||
- {id: 17, cat: TV/HD, desc: "TV-X264"}
|
||||
- {id: 13, cat: TV/Documentary, desc: "Doc"}
|
||||
- {id: 14, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: 15, cat: Console, desc: "PS2"}
|
||||
- {id: 16, cat: TV/Sport, desc: "TV WWE"}
|
||||
- {id: 17, cat: TV/HD, desc: "TV X264"}
|
||||
- {id: 18, cat: TV, desc: "TV DVD"}
|
||||
- {id: 19, cat: XXX/DVD, desc: "XXX DVD"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "A.DVD"}
|
||||
- {id: 21, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 20, cat: TV/Anime, desc: "Anime DVD"}
|
||||
- {id: 21, cat: PC/Mac, desc: "Mac"}
|
||||
- {id: 23, cat: Movies, desc: "Boxset"}
|
||||
- {id: 31, cat: Other, desc: "OFF"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "BluRay"}
|
||||
- {id: 33, cat: Console/Wii, desc: "WII"}
|
||||
- {id: 34, cat: Console/PS3, desc: "PS3"}
|
||||
- {id: 35, cat: Movies/HD, desc: "A.HD"}
|
||||
- {id: 35, cat: TV/Anime, desc: "Anime HD"}
|
||||
- {id: 36, cat: PC/Phone-Android, desc: "Android"}
|
||||
- {id: 37, cat: Movies/DVD, desc: "C.DVDR"}
|
||||
- {id: 37, cat: Movies/DVD, desc: "Custom DVDR"}
|
||||
- {id: 38, cat: Movies/Other, desc: "CAM TS"}
|
||||
- {id: 39, cat: Other, desc: "GPS"}
|
||||
- {id: 40, cat: Console/PS4, desc: "PS4"}
|
||||
- {id: 41, cat: Movies/SD, desc: "BDRIP"}
|
||||
- {id: 41, cat: Movies/BluRay, desc: "BDRIP"}
|
||||
- {id: 42, cat: Movies/WEBDL, desc: "WEB DL"}
|
||||
- {id: 43, cat: Books, desc: "EBOOK"}
|
||||
- {id: 44, cat: TV/Sport, desc: "SPORTS"}
|
||||
- {id: 43, cat: Books, desc: "Ebook"}
|
||||
- {id: 44, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 46, cat: Movies/UHD, desc: "4K"}
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
@@ -45,18 +59,23 @@
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed")+table)
|
||||
- selector: h2:contains("Falhou")
|
||||
message:
|
||||
selector: table tr td.text
|
||||
test:
|
||||
path: browse.php
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: td[width='60'][style=['text-align:center;'] > span > font
|
||||
selector: td.text:contains("Ratio")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio actual ›(.*?) ]"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
@@ -93,7 +112,7 @@
|
||||
- name: re_replace
|
||||
args: ["(\\d{4}-\\d{2}-\\d{2})(\\d{2}:\\d{2}:\\d{2})","$1 $2"]
|
||||
- name: dateparse
|
||||
args: "2018-12-30 22:30:31"
|
||||
args: "2006-01-02 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i.fg-gold": "0"
|
||||
|
105
src/Jackett.Common/Definitions/sharewood.yml
Normal file
105
src/Jackett.Common/Definitions/sharewood.yml
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
site: sharewood
|
||||
name: Sharewood
|
||||
description: "sharewood is a Semi-Private FRENCH Torrent Tracker for GENERAL"
|
||||
language: fr-fr
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.sharewood.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: "Vidéos Torrent", cat: Movies, desc: "Vidéos"}
|
||||
- {id: "Vidéos Torrent", cat: TV, desc: "Vidéos"}
|
||||
- {id: "Audios Torrent", cat: Audio, desc: "Audios"}
|
||||
- {id: "Applications Torrent", cat: PC, desc: "Applications"}
|
||||
- {id: "Ebooks Torrent", cat: Books, desc: "Ebooks"}
|
||||
- {id: "Jeux-Vidéos Torrent", cat: Console, desc: "Jeux-Vidéos"}
|
||||
- {id: "Formations Torrent", cat: Other, desc: "Formations"}
|
||||
- {id: "XXX Torrent", cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: meta[name="csrf-token"]
|
||||
attribute: content
|
||||
error:
|
||||
- selector: form[action$="/login"] .text-red
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: li:has(i.fa-signal)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
description: ""
|
||||
uploader: ""
|
||||
sorting: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: div.table-responsive-line
|
||||
fields:
|
||||
category:
|
||||
selector: i.torrent-icon
|
||||
attribute: data-original-title
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["/torrents/", "/download/"]
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
size:
|
||||
selector: div.col-detail div.row div:nth-child(2)
|
||||
seeders:
|
||||
selector: div.bouton-s
|
||||
leechers:
|
||||
selector: div.bouton-l
|
||||
date:
|
||||
selector: div.col-detail div.row div span
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["il y a ", ""]
|
||||
- name: replace
|
||||
args: ["heure", "hour"]
|
||||
- name: replace
|
||||
args: ["jour", "day"]
|
||||
- name: replace
|
||||
args: ["semaine", "week"]
|
||||
- name: replace
|
||||
args: ["mois", "month"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# UNIT3D
|
@@ -1,17 +1,19 @@
|
||||
---
|
||||
site: btxpress
|
||||
name: BTXpress
|
||||
description: "HD Tracker Movies/TV"
|
||||
language: en-us
|
||||
site: sharingue
|
||||
name: Sharingue
|
||||
description: "Sharingue is a BRAZILIAN Private Tracker for TV / MOVIES / ANIME / MUSIC"
|
||||
language: pt-br
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://btxpress.org/
|
||||
- https://www.sharingue.live/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 1, cat: Movies, desc: "Movies (Filmes)"}
|
||||
- {id: 3, cat: Audio, desc: "Music (Músicas)"}
|
||||
- {id: 4, cat: TV, desc: "TV (Séries)"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime (Animes)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -24,10 +26,23 @@
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: meta[name="csrf-token"]
|
||||
attribute: content
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
- selector: form[action$="/login"] .text-red
|
||||
test:
|
||||
path: torrents
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: span:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -40,7 +55,7 @@
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
@@ -61,13 +76,13 @@
|
||||
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\.]+)
|
||||
@@ -94,16 +109,17 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
|
||||
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
@@ -29,23 +29,23 @@
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: itorrents-links
|
||||
- name: btdb.eu-links
|
||||
type: checkbox
|
||||
label: Add download links via itorrents.org
|
||||
label: Add download links via btdb.eu
|
||||
default: true
|
||||
- name: info
|
||||
type: info
|
||||
label: ITorrents Note
|
||||
default: Without the itorrents option only magnet links will be provided.
|
||||
label: btdb.eu Note
|
||||
default: Without the btdb.eu option only magnet links will be provided.
|
||||
|
||||
search:
|
||||
# https://www.skytorrents.lol/?query=mr+mercedes+s02e05&sort=created
|
||||
# https://www.skytorrents.lol/?search=mr+mercedes+s02e05&sort=created
|
||||
# https://www.skytorrents.lol/top100
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created{{else}}top100{{end}}"
|
||||
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=2{{else}}{{end}}"
|
||||
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=3{{else}}{{end}}"
|
||||
- path: "{{ if .Keywords }}?query={{ .Keywords }}&sort=created&page=4{{else}}{{end}}"
|
||||
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created{{else}}top100{{end}}"
|
||||
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created&page=2{{else}}{{end}}"
|
||||
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created&page=3{{else}}{{end}}"
|
||||
- path: "{{ if .Keywords }}?search={{ .Keywords }}&sort=created&page=4{{else}}{{end}}"
|
||||
rows:
|
||||
selector: tr.result
|
||||
fields:
|
||||
@@ -62,11 +62,11 @@
|
||||
details:
|
||||
selector: td a
|
||||
attribute: href
|
||||
download-itorrents:
|
||||
selector: a[href^="//itorrents"]
|
||||
download-btdb.eu:
|
||||
selector: a[href^="//btdb.eu"]
|
||||
attribute: href
|
||||
download:
|
||||
text: "{{if .Config.itorrents-links}}{{ .Result.download-itorrents }}{{else}}{{end}}"
|
||||
text: "{{if .Config.btdb.eu-links}}{{ .Result.download-btdb.eu }}{{else}}{{end}}"
|
||||
magnet:
|
||||
selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
|
74
src/Jackett.Common/Definitions/solidtorrents.yml
Normal file
74
src/Jackett.Common/Definitions/solidtorrents.yml
Normal file
@@ -0,0 +1,74 @@
|
||||
---
|
||||
site: solidtorrents
|
||||
name: SolidTorrents
|
||||
description: "SolidTorrents is a Public torrent meta-search engine"
|
||||
language: en-us
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://solidtorrents.net/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"Audio": Audio
|
||||
"Video": Movies
|
||||
"Image": Other/Misc
|
||||
"Document": Books/Comics
|
||||
"eBook": Books/Ebook
|
||||
"Program": PC/0day
|
||||
"Android": PC/Phone-Android
|
||||
"Archive": Other
|
||||
"Diskimage": PC/ISO
|
||||
"Sourcecode": Movies/Other
|
||||
"Database": Movies/DVD
|
||||
"Unknown": Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://solidtorrents.net/search?q=gotham%20s05e02&sort=date&category=all
|
||||
- path: "search?q={{.Keywords}}&sort=date&category=all"
|
||||
rows:
|
||||
selector: div[role="listitem"]:has(a[href^="magnet:?xt="])
|
||||
fields:
|
||||
title:
|
||||
selector: div[class$="__title"] h3
|
||||
details:
|
||||
selector: div[class$="__title"] a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: div.v-list__tile__content div:nth-of-type(2)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?) \\|"
|
||||
date:
|
||||
selector: div.v-list__tile__content div:nth-of-type(2)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["a few", "1"]
|
||||
- name: replace
|
||||
args: ["an ", "1 "]
|
||||
- name: replace
|
||||
args: ["a ", "1 "]
|
||||
- name: regexp
|
||||
args: "(\\d+ \\w+ \\w+)"
|
||||
seeders:
|
||||
selector: div.v-list__tile__content div:nth-of-type(3) span:nth-child(1)
|
||||
leechers:
|
||||
selector: div.v-list__tile__content div:nth-of-type(3) span:nth-child(2)
|
||||
size:
|
||||
selector: div.v-list__tile__content div:nth-of-type(3)
|
||||
remove: span
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
129
src/Jackett.Common/Definitions/soundpark.yml
Normal file
129
src/Jackett.Common/Definitions/soundpark.yml
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
site: soundpark
|
||||
name: SoundPark
|
||||
description: "SoundPark Semi-Private RUSSIAN site dedicated to MUSIC."
|
||||
language: ru-RU
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://soundpark-club.com/
|
||||
- https://soundpark-club.casa/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
"Music": Audio
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form[action="/login"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
returnto: ""
|
||||
error:
|
||||
- selector: div.stdmsg_text
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout"]
|
||||
|
||||
download:
|
||||
selector: a[href^="/album/download-torrent/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}search{{else}}music{{end}}"
|
||||
inputs:
|
||||
q: "{{ .Keywords }}"
|
||||
num: 50
|
||||
|
||||
rows:
|
||||
# first selector is for the music page (recent uploads) and the second selector is for the search page
|
||||
selector: div[itemscope] > table.browse_albums, div.div-rellist
|
||||
fields:
|
||||
title:
|
||||
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
|
||||
details:
|
||||
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
|
||||
attribute: href
|
||||
category:
|
||||
text: "Music"
|
||||
banner:
|
||||
selector: tr:nth-child(2) td:nth-child(1) a img, div i img
|
||||
attribute: src
|
||||
optional: true
|
||||
download:
|
||||
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
|
||||
attribute: href
|
||||
# dates come in two flavours:
|
||||
# Russian, Spanish and English supported
|
||||
date:
|
||||
# fix for spanish yesterday, the time is not present
|
||||
text: now
|
||||
date:
|
||||
# Today at 22:28:10
|
||||
# Yesterday at 10:18:40
|
||||
# Вчера в 10:18:40
|
||||
# Hoy a las 07:33:17
|
||||
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):contains(":"), div > span.edit:contains(":")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" at ", " "]
|
||||
- name: re_replace
|
||||
args: ["Ayer a las|Вчера в", "Yesterday"]
|
||||
- name: re_replace
|
||||
args: ["Hoy a las|Сегодня в", "Today"]
|
||||
date:
|
||||
# 3 april 2019
|
||||
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):not(:contains(":")), div > span.edit:not(:contains(":"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["enero|января", "January"]
|
||||
- name: re_replace
|
||||
args: ["febrero|февраля", "February"]
|
||||
- name: re_replace
|
||||
args: ["marzo|марта ", "March"]
|
||||
- name: re_replace
|
||||
args: ["abril|апреля", "April"]
|
||||
- name: re_replace
|
||||
args: ["mayo|мая", "May"]
|
||||
- name: re_replace
|
||||
args: ["junio|июня", "June"]
|
||||
- name: re_replace
|
||||
args: ["julio|июля", "July"]
|
||||
- name: re_replace
|
||||
args: ["agosto|августа", "August"]
|
||||
- name: re_replace
|
||||
args: ["septiembre|сентября", "September"]
|
||||
- name: re_replace
|
||||
args: ["octubre|октября", "October"]
|
||||
- name: re_replace
|
||||
args: ["noviembre|ноября", "November"]
|
||||
- name: re_replace
|
||||
args: ["diciembre|декабря", "December"]
|
||||
- name: dateparse
|
||||
args: "2 January 2006"
|
||||
size:
|
||||
# search page does not have size.
|
||||
text: "500 MB"
|
||||
size:
|
||||
# but today's page can, if the content fixed-length string contains a title that is not too long.
|
||||
selector: tr:nth-child(2) td.descr meta
|
||||
attribute: content
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Size: (.*?),"
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
@@ -10,67 +10,13 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 41, cat: PC/Phone-Android, desc: "Applications / Android"}
|
||||
- {id: 42, cat: PC/Phone-IOS, desc: "Applications / iOS"}
|
||||
- {id: 57, cat: Books/Comics, desc: "Ebooks / Bandes dessinées"}
|
||||
- {id: 58, cat: XXX, desc: "Ebooks / Bandes dessinées X"}
|
||||
- {id: 31, cat: Books/Magazines, desc: "Ebooks / Journaux"}
|
||||
- {id: 32, cat: Books/Ebook, desc: "Ebooks / Livres"}
|
||||
- {id: 59, cat: Books/Comics, desc: "Ebooks / Manga"}
|
||||
- {id: 77, cat: Movies/UHD, desc: "Films / 4K rip"}
|
||||
- {id: 23, cat: Movies, desc: "Films / Animés"}
|
||||
- {id: 49, cat: Movies/BluRay, desc: "Films / BDrip"}
|
||||
- {id: 51, cat: Movies/BluRay, desc: "Films / BluRay 1080"}
|
||||
- {id: 52, cat: Movies/BluRay, desc: "Films / BluRay 4K"}
|
||||
- {id: 50, cat: Movies/BluRay, desc: "Films / BluRay 720"}
|
||||
- {id: 19, cat: Movies/BluRay, desc: "Films / BRrip"}
|
||||
- {id: 74, cat: TV/Documentary, desc: "Films / Documentaires"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Films / DVD-R 5"}
|
||||
- {id: 48, cat: Movies/DVD, desc: "Films / DVD-R 9"}
|
||||
- {id: 53, cat: Movies/DVD, desc: "Films / DVDrip"}
|
||||
- {id: 64, cat: Movies/HD, desc: "Films / HDLight 1080"}
|
||||
- {id: 63, cat: Movies/HD, desc: "Films / HDLight 720"}
|
||||
- {id: 55, cat: Movies/HD, desc: "Films / HDrip 1080"}
|
||||
- {id: 54, cat: Movies/HD, desc: "Films / HDrip 720"}
|
||||
- {id: 60, cat: Movies/HD, desc: "Films / HDTV"}
|
||||
- {id: 62, cat: Movies/HD, desc: "Films / HDTV 1080"}
|
||||
- {id: 61, cat: Movies/HD, desc: "Films / HDTV 720"}
|
||||
- {id: 75, cat: Movies/SD, desc: "Films / VHSrip"}
|
||||
- {id: 65, cat: Movies/WEBDL, desc: "Films / Web-DL"}
|
||||
- {id: 67, cat: Movies/WEBDL, desc: "Films / Web-DL 1080"}
|
||||
- {id: 68, cat: Movies/WEBDL, desc: "Films / Web-DL 4K"}
|
||||
- {id: 69, cat: Movies/WEBDL, desc: "Films / Web-DL 4K"}
|
||||
- {id: 66, cat: Movies/WEBDL, desc: "Films / Web-DL 720"}
|
||||
- {id: 70, cat: Movies/WEBDL, desc: "Films / WEBrip"}
|
||||
- {id: 72, cat: Movies/WEBDL, desc: "Films / WEBrip 1080"}
|
||||
- {id: 73, cat: Movies/WEBDL, desc: "Films / WEBrip 4K"}
|
||||
- {id: 71, cat: Movies/WEBDL, desc: "Films / WEBrip 720"}
|
||||
- {id: 9, cat: XXX, desc: "Films X"}
|
||||
- {id: 76, cat: Console/3DS, desc: "Jeux / 3DS"}
|
||||
- {id: 29, cat: PC/Phone-Android, desc: "Jeux / Android"}
|
||||
- {id: 12, cat: Console, desc: "Jeux / GameBoy"}
|
||||
- {id: 45, cat: Console, desc: "Jeux / GameBoy Advance"}
|
||||
- {id: 30, cat: PC/Phone-IOS, desc: "Jeux / iOS"}
|
||||
- {id: 46, cat: PC/Mac, desc: "Jeux / Mac"}
|
||||
- {id: 4, cat: PC/Games, desc: "Jeux / PC "}
|
||||
- {id: 36, cat: Console/PSP, desc: "Jeux / PS1"}
|
||||
- {id: 37, cat: Console/PSP, desc: "Jeux / PS2"}
|
||||
- {id: 33, cat: Console/PS3, desc: "Jeux / PS3"}
|
||||
- {id: 34, cat: Console/PS4, desc: "Jeux / PS4"}
|
||||
- {id: 78, cat: Console/Wii, desc: "Jeux / Wii"}
|
||||
- {id: 38, cat: Console/Xbox, desc: "Jeux / Xbox"}
|
||||
- {id: 40, cat: Console/Xbox, desc: "Jeux / Xbox One"}
|
||||
- {id: 39, cat: Console/Xbox 360, desc: "Jeux / Xbox360"}
|
||||
- {id: 28, cat: PC/Mac, desc: "Logiciels / Apple"}
|
||||
- {id: 26, cat: PC, desc: "Logiciels / Linux"}
|
||||
- {id: 27, cat: PC/0day, desc: "Logiciels / Windows"}
|
||||
- {id: 56, cat: Audio/Lossless, desc: "Musiques / FLAC"}
|
||||
- {id: 6, cat: Audio/MP3, desc: "Musiques / MP3"}
|
||||
- {id: 7, cat: TV, desc: "Séries"}
|
||||
- {id: 44, cat: XXX, desc: "Séries X"}
|
||||
- {id: 47, cat: TV, desc: "Séries animées"}
|
||||
- {id: 43, cat: TV/HD, desc: "Séries HD"}
|
||||
- {id: 0, cat: Other, desc: "Other"}
|
||||
- {id: 1, cat: Audio, desc: "Musique"}
|
||||
- {id: 2, cat: Movies, desc: "Film"}
|
||||
- {id: 3, cat: TV, desc: "Série"}
|
||||
- {id: 4, cat: Console, desc: "Jeux"}
|
||||
- {id: 5, cat: Books, desc: "Ebook"}
|
||||
- {id: 6, cat: PC, desc: "Logiciels"}
|
||||
- {id: 7, cat: XXX, desc: "Contenu Adulte"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -121,31 +67,29 @@
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["heures", "hours"]
|
||||
- name: replace
|
||||
args: ["heure", "hour"]
|
||||
- name: replace
|
||||
args: ["jours", "days"]
|
||||
- name: replace
|
||||
args: ["jour", "day"]
|
||||
- name: replace
|
||||
args: ["semaines", "weeks"]
|
||||
- name: replace
|
||||
args: ["semaine", "week"]
|
||||
- name: replace
|
||||
args: ["mois", "months"]
|
||||
args: ["moi", "month"]
|
||||
- name: replace
|
||||
args: ["ans", "years"]
|
||||
- name: replace
|
||||
args: ["an", "year"]
|
||||
args: [" an", " year"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
text: "0"
|
||||
seeders:
|
||||
optional: true
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
text: "0"
|
||||
leechers:
|
||||
optional: true
|
||||
selector: td:nth-child(7)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
|
@@ -15,7 +15,8 @@
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -55,14 +56,12 @@
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
#$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBIDShort }}{{else}}{{ .Keywords }}{{end}}"
|
||||
incldead: 1
|
||||
cat: 0
|
||||
|
||||
rows:
|
||||
selector: p + table > tbody > tr:has(a[href^="download.php"]), p + table > tbody > tr:has(a[href^="download.php"]) + tr[id^="kdescr"] # sometimes an unexpected tr[id^="kdescr"] row shows up (for unpublished torrents?)
|
||||
filters:
|
||||
- name: andmatch
|
||||
after: 1
|
||||
fields:
|
||||
title:
|
||||
|
@@ -1,161 +1,131 @@
|
||||
---
|
||||
---
|
||||
site: theshinning
|
||||
name: The Shinning
|
||||
description: "The Shinning (TsH) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: windows-1252
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://theshinning.me/
|
||||
legacylinks:
|
||||
- https://theshinning.org
|
||||
- https://theshinning.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Filme
|
||||
- {id: 28, cat: Movies/SD, desc: "HORROR"}
|
||||
- {id: 25, cat: Movies/DVD, desc: "SD|DVD"}
|
||||
- {id: 99, cat: Movies/SD, desc: "SD|SPORT"}
|
||||
- {id: 24, cat: Movies/SD, desc: "SD|x264"}
|
||||
- {id: 22, cat: Movies/SD, desc: "SD|XVID"}
|
||||
- {id: 26, cat: XXX, desc: "SD|XxX"}
|
||||
|
||||
# High Definition
|
||||
- {id: 29, cat: Movies/BluRay, desc: "BLURAY"}
|
||||
- {id: 19, cat: Movies/HD, desc: "HD|1080p"}
|
||||
- {id: 21, cat: Movies/3D, desc: "HD|3D"}
|
||||
- {id: 107, cat: Movies/HD, desc: "HD|4K"}
|
||||
- {id: 20, cat: Movies/HD, desc: "HD|720p"}
|
||||
- {id: 101, cat: Movies/HD, desc: "HD|REMUX"}
|
||||
- {id: 100, cat: Movies/HD, desc: "HD|SPORT"}
|
||||
- {id: 27, cat: XXX, desc: "HD|XxX"}
|
||||
- {id: 102, cat: Movies/HD, desc: "SMALL|HD"}
|
||||
|
||||
# Musik
|
||||
- {id: 13, cat: Audio, desc: "CHARTS"}
|
||||
- {id: 31, cat: Audio/Lossless, desc: "FLAC"}
|
||||
- {id: 97, cat: Audio/Audiobook, desc: "HOERSPIELE"}
|
||||
- {id: 30, cat: Audio/MP3, desc: "MP3"}
|
||||
- {id: 106, cat: Audio, desc: "SAMPLER"}
|
||||
|
||||
# Releaser
|
||||
- {id: 18, cat: Movies, desc: "CR3WHD"}
|
||||
- {id: 16, cat: Movies, desc: "ONKEL JENS"}
|
||||
- {id: 17, cat: Movies, desc: "xTM|XviD"}
|
||||
|
||||
# Serie
|
||||
- {id: 11, cat: TV/SD, desc: "DVD|SERIEN"}
|
||||
- {id: 9, cat: TV/HD, desc: "HD|SERIEN"}
|
||||
- {id: 32, cat: TV, desc: "MIXED|SERIEN"}
|
||||
- {id: 10, cat: TV, desc: "PACK|SERIEN"}
|
||||
- {id: 8, cat: TV/SD, desc: "SD|SERIEN"}
|
||||
- {id: 105, cat: TV, desc: "SMALL|SERIE"}
|
||||
- {id: 12, cat: TV, desc: "US|SERIEN"}
|
||||
|
||||
# Sonstige
|
||||
- {id: 98, cat: PC, desc: "APPS"}
|
||||
- {id: 90, cat: TV/Documentary, desc: "DOKUS"}
|
||||
- {id: 91, cat: Books, desc: "EBOOKS"}
|
||||
- {id: 14, cat: Movies, desc: "KINOHITS"}
|
||||
- {id: 15, cat: Other, desc: "REQUEST"}
|
||||
- {id: 23, cat: Other , desc: "SONSTIGES"}
|
||||
- {id: 104, cat: XXX/Imageset, desc: "XXX|IMAGE"}
|
||||
|
||||
# Spiele
|
||||
- {id: 96, cat: Console/NDS, desc: "GAMES|NDS"}
|
||||
- {id: 92, cat: PC/Games, desc: "GAMES|PC"}
|
||||
- {id: 94, cat: Console/PS4, desc: "GAMES|PS"}
|
||||
- {id: 95, cat: Console/Wii, desc: "GAMES|WII"}
|
||||
- {id: 93, cat: Console/Xbox, desc: "GAMES|XBOX"}
|
||||
|
||||
# Wrestling
|
||||
- {id: 3, cat: TV/Sport, desc: "HD|RAW"}
|
||||
- {id: 1, cat: TV/Sport, desc: "HD|SMACKD"}
|
||||
- {id: 6, cat: TV/Sport, desc: "NXT"}
|
||||
- {id: 7, cat: TV/Sport, desc: "PPV"}
|
||||
- {id: 4, cat: TV/Sport, desc: "SD|RAW"}
|
||||
- {id: 2, cat: TV/Sport, desc: "SD|SMACKD"}
|
||||
- {id: 5, cat: TV/Sport, desc: "TNA"}
|
||||
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: Console, desc: "Games"}
|
||||
- {id: 5, cat: PC, desc: "Apps"}
|
||||
- {id: 6, cat: Other, desc: "Misc"}
|
||||
- {id: 7, cat: XXX, desc: "XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: meta[name="csrf-token"]
|
||||
attribute: content
|
||||
error:
|
||||
- selector: div.stderr_info_wrap
|
||||
- selector: form[action$="/login"] .text-red
|
||||
test:
|
||||
path: browse.php
|
||||
selector: img[title="Ratio"] + i
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: img[title="Ratio"] + i
|
||||
path: /
|
||||
selector: span:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
showsearch: "1"
|
||||
incldead: "1"
|
||||
orderby: "added"
|
||||
sort: "desc"
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
mal: ""
|
||||
sorting: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
# correct selector depends on the "Empfohlene Torrents in der Liste anzeigen" profile option
|
||||
selector: table.main > tbody > tr:contains("Alle Torrents") + tr > td > table.tableinborder > tbody > tr, div.bro_torr_wrap:not(:contains("Alle Torrents")) > table.tableinborder > tbody > tr
|
||||
filters:
|
||||
- name: andmatch
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download-ssl.php?torrent="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: div.title_wrap
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["[TsH]", ""]
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: div.title_wrap > a
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
size:
|
||||
selector: div.bro_right_ad > b
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
grabs:
|
||||
selector: div.bro_right_ae > b
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: div.bro_box1_aa > b
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: div.bro_box_aaa > b
|
||||
date:
|
||||
selector: div.bro_box_date > span
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\u00a0", " "]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span[title="OnlyUp"]: "0"
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
# UNIT3D
|
||||
|
194
src/Jackett.Common/Definitions/tigers-dl.yml
Normal file
194
src/Jackett.Common/Definitions/tigers-dl.yml
Normal file
@@ -0,0 +1,194 @@
|
||||
---
|
||||
site: tigers-dl
|
||||
name: Tigers-dl
|
||||
description: "Tigers-dl is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.tigers-dl.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Cam et Screener
|
||||
- {id: 81, cat: Movies, desc: "Cam ts / tc / Fr"}
|
||||
- {id: 82, cat: Movies, desc: "Cam ts / tc / US"}
|
||||
# Movies
|
||||
- {id: 11, cat: Movies, desc: "Action"}
|
||||
- {id: 13, cat: Movies, desc: "Animation"}
|
||||
- {id: 14, cat: Movies, desc: "Arts Martiaux"}
|
||||
- {id: 15, cat: Movies, desc: "Aventure"}
|
||||
- {id: 16, cat: Movies, desc: "Biographies"}
|
||||
- {id: 17, cat: Movies, desc: "Comedie dramatique"}
|
||||
- {id: 18, cat: Movies, desc: "Comedie musicale"}
|
||||
- {id: 19, cat: Movies, desc: "Comedie"}
|
||||
- {id: 20, cat: Movies, desc: "Divers"}
|
||||
- {id: 21, cat: Movies, desc: "Documentaires"}
|
||||
- {id: 22, cat: Movies, desc: "Drame"}
|
||||
- {id: 23, cat: Movies, desc: "Epouvante-horreur"}
|
||||
- {id: 24, cat: Movies, desc: "Espionnage"}
|
||||
- {id: 25, cat: Movies, desc: "Famille"}
|
||||
- {id: 26, cat: Movies, desc: "Fantastique"}
|
||||
- {id: 27, cat: Movies, desc: "Guerre"}
|
||||
- {id: 28, cat: Movies, desc: "Historique"}
|
||||
- {id: 29, cat: Movies, desc: "Musical"}
|
||||
- {id: 30, cat: Movies, desc: "Peplum"}
|
||||
- {id: 31, cat: Movies, desc: "Policier"}
|
||||
- {id: 32, cat: Movies, desc: "Romance"}
|
||||
- {id: 33, cat: Movies, desc: "Science fiction"}
|
||||
- {id: 34, cat: Movies, desc: "Thriller"}
|
||||
- {id: 35, cat: Movies, desc: "Western"}
|
||||
- {id: 42, cat: Movies, desc: "Coffret"}
|
||||
- {id: 43, cat: Movies, desc: "Trilogie"}
|
||||
- {id: 71, cat: Movies, desc: "Anciens Films"}
|
||||
# Music / Concert
|
||||
- {id: 37, cat: Audio/MP3, desc: "Music Mp3"}
|
||||
- {id: 38, cat: Audio, desc: "Concerts"}
|
||||
- {id: 39, cat: Audio, desc: "Megamix"}
|
||||
- {id: 40, cat: Audio, desc: "Compilation"}
|
||||
- {id: 41, cat: Audio, desc: "Spectacles"}
|
||||
# Animation
|
||||
- {id: 45, cat: TV, desc: "wall disney"}
|
||||
- {id: 46, cat: TV, desc: "Dessins animé"}
|
||||
- {id: 47, cat: TV/Anime, desc: "Manga"}
|
||||
# Apps
|
||||
- {id: 7, cat: PC/0day, desc: "Apps Win"}
|
||||
- {id: 8, cat: PC, desc: "Apps Linux"}
|
||||
- {id: 9, cat: PC/Mac, desc: "Apps Mac"}
|
||||
- {id: 77, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
# Games
|
||||
- {id: 49, cat: PC/Games, desc: "Jeux PC"}
|
||||
- {id: 50, cat: Console/PSP, desc: "PSP"}
|
||||
- {id: 51, cat: Console/Wii, desc: "wii"}
|
||||
- {id: 52, cat: Console/PS3, desc: "PS3"}
|
||||
- {id: 53, cat: Console/PS4, desc: "PS4"}
|
||||
- {id: 61, cat: Console/Xbox, desc: "Xbox 360"}
|
||||
# E-BOOKS
|
||||
- {id: 55, cat: Books, desc: "Livres français"}
|
||||
- {id: 56, cat: Books, desc: "BD"}
|
||||
- {id: 57, cat: Books, desc: "Journaux"}
|
||||
- {id: 58, cat: Books, desc: "Magazines"}
|
||||
- {id: 59, cat: Books, desc: "Cuisine"}
|
||||
- {id: 60, cat: Books, desc: "Science"}
|
||||
- {id: 76, cat: Books, desc: "Informatiques"}
|
||||
# Series TV
|
||||
- {id: 63, cat: TV/SD, desc: "Séries VF"}
|
||||
- {id: 64, cat: TV/HD, desc: "Séries VF 720p"}
|
||||
- {id: 65, cat: TV/HD, desc: "Séries VF 1080p"}
|
||||
- {id: 66, cat: TV/SD, desc: "Séries VOSTFR"}
|
||||
- {id: 67, cat: TV/HD, desc: "Séries VOSTFR 720p"}
|
||||
- {id: 68, cat: TV/HD, desc: "Séries VOSTFR 1080p"}
|
||||
- {id: 69, cat: TV/SD, desc: "Séries VO"}
|
||||
- {id: 70, cat: TV, desc: "Anciennes Séries !!!"}
|
||||
# Movies Porno
|
||||
- {id: 73, cat: XXX, desc: "Films porno - V.I.P"}
|
||||
- {id: 74, cat: XXX, desc: "BD porno"}
|
||||
- {id: 75, cat: XXX, desc: "Manga"}
|
||||
|
||||
|
||||
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: index.php
|
||||
selector: :has(a[href="logout.php"])
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.tigers-dl.net/index.php?page=torrents&search=venom&category=0&active=0&order=3&by=2
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: "torrents"
|
||||
category: "{{range .Categories}}{{.}};{{end}}"
|
||||
search: "{{.Keywords}}"
|
||||
# 0=all 1=active only 2=dead only
|
||||
active: 0
|
||||
# 1=cat. 2=name 3=age 4=size 5=seed 6=leech 7=comm
|
||||
order: 3
|
||||
# 1=desc 2=asc
|
||||
by: 2
|
||||
|
||||
rows:
|
||||
selector: table.lista tr:has(a[href^="index.php?page=torrent-details"])
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href*="torrent-details"]
|
||||
details:
|
||||
selector: td a[href*="torrent-details"]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href*="category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
selector: td a[href^="download.php?id="]
|
||||
attribute: href
|
||||
banner:
|
||||
selector: td a[href*="id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width="
|
||||
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: replace
|
||||
args: ["---", "0"]
|
||||
date:
|
||||
selector: td:nth-child(9)
|
||||
filters:
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
- name: append
|
||||
args: " ago"
|
||||
downloadvolumefactor:
|
||||
text: "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -6,6 +6,8 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://torrent-turk.co/
|
||||
legacylinks:
|
||||
- https://torrent-turk.org/
|
||||
|
||||
caps:
|
||||
@@ -13,23 +15,43 @@
|
||||
- {id: 149, cat: Movies, desc: "Movies/Turkish"}
|
||||
- {id: 151, cat: Movies/HD, desc: "Movies/Turkish/1080p"}
|
||||
- {id: 152, cat: Movies/HD, desc: "Movies/Turkish/720p"}
|
||||
- {id: 153, cat: Movies/DVD, desc: "Movies/Turkish/DVD5-DVD9"}
|
||||
- {id: 154, cat: Movies/WEBDL, desc: "Movies/Turkish/BRRip-HDRip-DVDRip-WebDL"}
|
||||
- {id: 155, cat: Movies/Other, desc: "Movies/Turkish/Boxset"}
|
||||
|
||||
- {id: 156, cat: Movies, desc: "Movies/Foreign"}
|
||||
- {id: 157, cat: Movies/UHD, desc: "Movies/Foreign/4K"}
|
||||
- {id: 157, cat: Movies/UHD, desc: "Movies/Foreign/4K / 3D"}
|
||||
- {id: 159, cat: Movies/HD, desc: "Movies/Foreign/1080p"}
|
||||
- {id: 160, cat: Movies/HD, desc: "Movies/Foreign/720p"}
|
||||
- {id: 161, cat: Movies/DVD, desc: "Movies/Foreign/DVD5-DVD9"}
|
||||
- {id: 162, cat: Movies/WEBDL, desc: "Movies/Foreign/BRRip-HDRip-DVDRip-WebDL"}
|
||||
- {id: 163, cat: Movies/Other, desc: "Movies/Foreign/Boxset"}
|
||||
|
||||
- {id: 164, cat: TV, desc: "TV"}
|
||||
- {id: 165, cat: TV, desc: "TV/Turkish"}
|
||||
- {id: 166, cat: TV, desc: "TV/Foreign"}
|
||||
- {id: 167, cat: TV/Other, desc: "TV Programs"}
|
||||
- {id: 185, cat: TV/Documentary, desc: "TV/Documentary"}
|
||||
- {id: 168, cat: TV/Other, desc: "TV/Other"}
|
||||
|
||||
- {id: 171, cat: Audio, desc: "Music"}
|
||||
- {id: 172, cat: Audio, desc: "Music/Turkish"}
|
||||
- {id: 173, cat: Audio, desc: "Music/Foreign"}
|
||||
- {id: 184, cat: Audio, desc: "Music/Discography"}
|
||||
- {id: 174, cat: Audio/Video, desc: "Music/Video"}
|
||||
|
||||
- {id: 175, cat: PC, desc: "Apps / Game / Graphics"}
|
||||
- {id: 176, cat: PC, desc: "Apps"}
|
||||
- {id: 177, cat: Other, desc: "Pictures"}
|
||||
- {id: 183, cat: Books/Ebook, desc: "EBook"}
|
||||
- {id: 178, cat: Books/Technical, desc: "Training Sets"}
|
||||
- {id: 179, cat: PC, desc: "OS"}
|
||||
- {id: 180, cat: PC/Games, desc: "PC/Games"}
|
||||
- {id: 181, cat: Console, desc: "Playstation"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
@@ -42,18 +64,18 @@
|
||||
- name: info
|
||||
type: info
|
||||
label: Layout
|
||||
default: Only the classic profile is supported. Make sure to set the "Torrent listesi" option in your profile to "Klasik".
|
||||
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
|
||||
form: form#sls_form
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: "login"
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: "true"
|
||||
loginbox_remember: 1
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
@@ -98,6 +120,26 @@
|
||||
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:
|
||||
@@ -113,11 +155,9 @@
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[title=\"FREE!\"]": "0"
|
||||
"img[title=\"Download Multiplier: 0.5\"]": "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"img[title=\"Upload Multiplier: 2\"]": "2"
|
||||
"*": "1"
|
||||
date:
|
||||
selector: td.torrent_name > abbr.timeago
|
||||
optional: true
|
||||
attribute: data-time
|
||||
|
@@ -7,7 +7,8 @@
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://wvw.torrent9.uno/
|
||||
- https://wvw.t9.pe/
|
||||
|
||||
legacylinks:
|
||||
- http://www.torrent9.ec/
|
||||
- http://www.torrent9.red/
|
||||
@@ -23,6 +24,8 @@
|
||||
- https://ww1.torrent9.ph/
|
||||
- https://torrent9.ga/
|
||||
- https://www.torrent9.uno/
|
||||
- https://wvw.torrent9.uno/
|
||||
- https://ww1.torrent9.uno/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -38,12 +41,14 @@
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: a[href^="/downloading/"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}/search_torrent/{{ .Keywords }}/page-0{{else}}/top_torrent.php{{end}}"
|
||||
- path: "{{ if .Keywords }}/search_torrent/{{ re_replace .Keywords \"[']+\" \"\" }}/page-0{{else}}/top_torrent.php{{end}}"
|
||||
rows:
|
||||
selector: div.table-responsive > table tbody tr
|
||||
fields:
|
||||
@@ -58,7 +63,9 @@
|
||||
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"]
|
||||
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
|
@@ -7,11 +7,12 @@
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www2.torrent9.ch/
|
||||
- https://wwv.torrent9.vg/
|
||||
legacylinks:
|
||||
- https://www.torrents9.pw/
|
||||
- https://www.torrent9.ch/
|
||||
- https://www1.torrent9.ch/
|
||||
- https://www2.torrent9.ch/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -72,7 +73,9 @@
|
||||
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"]
|
||||
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
|
||||
- name: replace
|
||||
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
|
||||
- name: replace
|
||||
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
|
||||
- name: replace
|
||||
|
@@ -84,8 +84,7 @@
|
||||
|
||||
login:
|
||||
path: torrent/account-login.php
|
||||
method: form
|
||||
form: form[action="account-login.php"]
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
@@ -93,7 +92,7 @@
|
||||
- selector: div.row p.red-text
|
||||
test:
|
||||
path: torrent/torrents-search.php
|
||||
selector: a[href*="logout"]
|
||||
selector: div.myB-content:contains("Ratio:")
|
||||
|
||||
ratio:
|
||||
path: torrent/torrents-search.php
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user