mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-13 07:24:08 +02:00
Compare commits
177 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e1e2441b91 | ||
![]() |
1085c753d7 | ||
![]() |
2ea46b5c9f | ||
![]() |
90607d561c | ||
![]() |
266568e4ce | ||
![]() |
3378895b4c | ||
![]() |
d847b93418 | ||
![]() |
e32f02a003 | ||
![]() |
8b0cede8ee | ||
![]() |
9f77de381b | ||
![]() |
e060c82cd3 | ||
![]() |
43f0f03b05 | ||
![]() |
25c7d84f95 | ||
![]() |
37ccf7a7a9 | ||
![]() |
a2e92da5f6 | ||
![]() |
d1e57c25d6 | ||
![]() |
db2ba3ba0b | ||
![]() |
902961dc5a | ||
![]() |
689568d147 | ||
![]() |
1cd05963df | ||
![]() |
fbb3c1bdfc | ||
![]() |
de5b26032e | ||
![]() |
0761ad7aee | ||
![]() |
6cce59126b | ||
![]() |
347191ab6a | ||
![]() |
afac5ad1cf | ||
![]() |
fa10c625dd | ||
![]() |
c546fd7ac8 | ||
![]() |
fc96965e54 | ||
![]() |
feaf5d4361 | ||
![]() |
f146b3eaa6 | ||
![]() |
d07b6ae863 | ||
![]() |
a25f2016dc | ||
![]() |
a5f0e2b5db | ||
![]() |
6ac9555cb5 | ||
![]() |
e7d9360b51 | ||
![]() |
5a7091075e | ||
![]() |
2270b13435 | ||
![]() |
80a99ce69f | ||
![]() |
c54cbb4cbe | ||
![]() |
de55e6e14e | ||
![]() |
0983540493 | ||
![]() |
6cc262a6d3 | ||
![]() |
2484ff16f3 | ||
![]() |
4e1d7ac09b | ||
![]() |
b8aa2a16dd | ||
![]() |
cf7ca97f9c | ||
![]() |
cc01b0ca05 | ||
![]() |
a84b1dce4d | ||
![]() |
be54f1a532 | ||
![]() |
064786f379 | ||
![]() |
9d140b3ab4 | ||
![]() |
a65d855cc4 | ||
![]() |
2698ac2907 | ||
![]() |
28971c2303 | ||
![]() |
6428a7134b | ||
![]() |
b33f5764ef | ||
![]() |
ebb855bf45 | ||
![]() |
9e90edd397 | ||
![]() |
ee2743cdc9 | ||
![]() |
a9731b036c | ||
![]() |
58ed5421ec | ||
![]() |
dc25480844 | ||
![]() |
789d168648 | ||
![]() |
f6668c9777 | ||
![]() |
5903e6abdf | ||
![]() |
0de4c1da43 | ||
![]() |
53bd7ce0c4 | ||
![]() |
4d4c9fe645 | ||
![]() |
caf583a684 | ||
![]() |
b445072a4d | ||
![]() |
82617f961d | ||
![]() |
c28df96332 | ||
![]() |
88c6c4af6e | ||
![]() |
df49bb8578 | ||
![]() |
a968913bc4 | ||
![]() |
5c9880e410 | ||
![]() |
d7af20d4f6 | ||
![]() |
8dc832d64a | ||
![]() |
91b87ee7be | ||
![]() |
ee8fc6a78f | ||
![]() |
18f48cb04b | ||
![]() |
dd64739af6 | ||
![]() |
05c4d1e331 | ||
![]() |
f9ad475aa8 | ||
![]() |
ad17897edd | ||
![]() |
2356ef3837 | ||
![]() |
b63e97fecd | ||
![]() |
c025a98cbf | ||
![]() |
0c84507b51 | ||
![]() |
875d7a005e | ||
![]() |
b1c25d4c5b | ||
![]() |
5ef6b8601a | ||
![]() |
a512a1e6b5 | ||
![]() |
5ba93dd9c2 | ||
![]() |
5216b6ece7 | ||
![]() |
eb5c8f4dcd | ||
![]() |
8a6ba04688 | ||
![]() |
287ad3a995 | ||
![]() |
00494bdac1 | ||
![]() |
4189aeac0e | ||
![]() |
5f66b1a297 | ||
![]() |
ad77068a7b | ||
![]() |
75d53b4026 | ||
![]() |
a4cd5e0047 | ||
![]() |
eccafdf4af | ||
![]() |
a7fab04e42 | ||
![]() |
95e17d1741 | ||
![]() |
a6c821762a | ||
![]() |
e66a839fb3 | ||
![]() |
1a8b48f4dc | ||
![]() |
e32baf18a4 | ||
![]() |
486a5313e4 | ||
![]() |
79b262569f | ||
![]() |
9a2a019ff5 | ||
![]() |
2dc4582830 | ||
![]() |
48d7ce271b | ||
![]() |
11acfddd64 | ||
![]() |
23f36bb0f8 | ||
![]() |
b2ff7b7091 | ||
![]() |
f73b55215c | ||
![]() |
806eabde31 | ||
![]() |
9538adcc30 | ||
![]() |
aef7b34ec3 | ||
![]() |
13e1548d54 | ||
![]() |
0c667322d9 | ||
![]() |
fa9abf2fed | ||
![]() |
5cd5b5277f | ||
![]() |
3e97da4c1a | ||
![]() |
610821a435 | ||
![]() |
5968285a39 | ||
![]() |
ba6453a78f | ||
![]() |
8a463886dd | ||
![]() |
a879c8af10 | ||
![]() |
f65cc2f273 | ||
![]() |
4796da7a89 | ||
![]() |
30032a6f63 | ||
![]() |
67bc9b69cf | ||
![]() |
6447bffacc | ||
![]() |
293e2efbf7 | ||
![]() |
dfaa7f1a69 | ||
![]() |
001ee19752 | ||
![]() |
5be247a1e6 | ||
![]() |
2707312d2b | ||
![]() |
7da5a9ea39 | ||
![]() |
1123c707c5 | ||
![]() |
35ac794927 | ||
![]() |
a9fe567299 | ||
![]() |
e5d2994174 | ||
![]() |
bc605a8146 | ||
![]() |
276801cc3b | ||
![]() |
463dda9f80 | ||
![]() |
38aa3eaa93 | ||
![]() |
515575f311 | ||
![]() |
79bd7bae67 | ||
![]() |
3c75f7afc0 | ||
![]() |
3c2bff5833 | ||
![]() |
d1c943d44a | ||
![]() |
5037e1871a | ||
![]() |
bb183d56cc | ||
![]() |
0ac587d97b | ||
![]() |
e7edd1734b | ||
![]() |
1ad901bfa8 | ||
![]() |
d4f16d96f1 | ||
![]() |
1762e6e02d | ||
![]() |
09ef1169b6 | ||
![]() |
2dcc21f5f7 | ||
![]() |
a7928ea4a8 | ||
![]() |
90d0f5b2e0 | ||
![]() |
56a26dd265 | ||
![]() |
99d294cc79 | ||
![]() |
880c818686 | ||
![]() |
8d8e9056a1 | ||
![]() |
915fb1d68e | ||
![]() |
e895a74f91 | ||
![]() |
f9512c8228 | ||
![]() |
2e0f6c7b03 |
205
README.md
205
README.md
@@ -9,7 +9,7 @@
|
||||
|
||||
This project is a new fork and is recruiting development help. If you are able to help out please contact us.
|
||||
|
||||
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
|
||||
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), [Nefarious](https://github.com/lardbit/nefarious) etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
|
||||
|
||||
Developer note: The software implements the [Torznab](https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with [nZEDb](https://github.com/nZEDb/nZEDb/blob/dev/docs/newznab_api_specification.txt) category numbering) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
|
||||
|
||||
@@ -17,14 +17,16 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
|
||||
#### Supported Systems
|
||||
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
|
||||
* Linux and macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
|
||||
* Linux
|
||||
* macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
|
||||
|
||||
### Supported Public Trackers
|
||||
* 1337x
|
||||
* ACG.RIP
|
||||
* Anidex
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AudioBookBay
|
||||
* AudioBook Bay (ABB)
|
||||
* BTstor.net
|
||||
* btbit
|
||||
* BTKitty
|
||||
@@ -38,12 +40,11 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Frozen Layer
|
||||
* GkTorrent
|
||||
* Horrible Subs
|
||||
* IdopeClone
|
||||
* Il Corsaro Nero <!-- maintained by bonny1992 -->
|
||||
* Il Corsaro Blu
|
||||
* Isohunt2
|
||||
* KATcrs
|
||||
* KickAssTorrent
|
||||
* KickAssTorrent (KATcr)
|
||||
* KickAssTorrent (thekat.se clone)
|
||||
* LimeTorrents
|
||||
* MagnetDL
|
||||
@@ -54,26 +55,29 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Nyaa-Pantsu
|
||||
* Nyoo
|
||||
* ProStyleX
|
||||
* QXR
|
||||
* RARBG
|
||||
* RuTor
|
||||
* shokweb
|
||||
* ShowRSS
|
||||
* SkyTorrentsClone
|
||||
* SolidTorrents
|
||||
* sukebei.Nyaa.si
|
||||
* sukebei-Pantsu
|
||||
* The Pirate Bay
|
||||
* The Pirate Bay (TPB)
|
||||
* TNTVillage <!-- maintained by bonny1992 -->
|
||||
* Tokyo Toshokan
|
||||
* Tokyo Tosho
|
||||
* Torlock
|
||||
* TorrentCouch
|
||||
* Torrent Downloads
|
||||
* Torrent Downloads (TD)
|
||||
* TorrentFunk
|
||||
* TorrentGalaxy.org
|
||||
* TorrentGalaxy.org (TGx)
|
||||
* TorrentKitty
|
||||
* TorrentProject2
|
||||
* Torrents.csv
|
||||
* Torrent9
|
||||
* Torernt9 clone (torrents9.ch)
|
||||
* Torrentz2
|
||||
* Torrof
|
||||
* Torrof (Torrentoff)
|
||||
* World Wide Torrents
|
||||
* YTS.ag
|
||||
* Zooqle
|
||||
@@ -95,104 +99,112 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* MVGroup Forum
|
||||
* MVGroup Main
|
||||
* Newstudio
|
||||
* NetHD
|
||||
* NoName Club
|
||||
* NetHD (VietTorrent)
|
||||
* NoName Club (NNM-Club)
|
||||
* RockBox
|
||||
* RuTracker
|
||||
* SkTorrent
|
||||
* Union Fansub
|
||||
* Vanila
|
||||
* Xtreme Zone
|
||||
* YggTorrent
|
||||
* XtreMeZone (MYXZ)
|
||||
* YggTorrent (YGG)
|
||||
* Ztracker
|
||||
|
||||
### Supported Private Trackers
|
||||
* 2 Fast 4 You
|
||||
* 3D Torrents
|
||||
* 3D Torrents (3DT)
|
||||
* 3evils
|
||||
* 420files
|
||||
* 720pier
|
||||
* Abnormal
|
||||
* Acid-Lounge
|
||||
* Acid Lounge (A-L)
|
||||
* Aftershock
|
||||
* AlphaRatio (AR)
|
||||
* AnimeBytes
|
||||
* AmigosShareClub
|
||||
* AnimeBytes (AB)
|
||||
* AnimeTorrents (AnT)
|
||||
* Anthelion
|
||||
* AOX
|
||||
* ArabaFenice
|
||||
* Arche Torrent
|
||||
* AOX (Chippu)
|
||||
* Araba Fenice (Phoenix)
|
||||
* ArcheTorrent
|
||||
* AsianCinema
|
||||
* AsianDVDClub
|
||||
* AST4u
|
||||
* Audiobook Torrents
|
||||
* Audiobook Torrents (ABT)
|
||||
* AudioNews (AN)
|
||||
* Awesome-HD (AHD)
|
||||
* Avistaz (AsiaTorrents)
|
||||
* B2S-Share
|
||||
* Back-ups
|
||||
* BakaBT
|
||||
* bB
|
||||
* BaconBits (bB)
|
||||
* BeyondHD (BHD)
|
||||
* BIGTorrent
|
||||
* BigTower
|
||||
* Bit-City Reloaded
|
||||
* BIT-HDTV
|
||||
* Bithorlo
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen
|
||||
* BitMe
|
||||
* BitMeTV
|
||||
* BitSoup [![(invite needed)][inviteneeded]](#)
|
||||
* BitsPiracy
|
||||
* Bitspyder
|
||||
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
|
||||
* BJ-Share
|
||||
* BitTurk
|
||||
* BJ-Share (BJ)
|
||||
* BlueBird
|
||||
* Blutopia (BLU)
|
||||
* Brasil Tracker
|
||||
* BroadcastTheNet (BTN)
|
||||
* BrokenStones
|
||||
* BTGigs
|
||||
* BTGigs (TG)
|
||||
* BTNext (BTNT)
|
||||
* BTXpress (BTX)
|
||||
* Carpathians
|
||||
* CartoonChaos (CC)
|
||||
* CasStudioTV
|
||||
* CCFBits
|
||||
* CGPeers
|
||||
* CHDBits
|
||||
* Cinematik
|
||||
* Cinemageddon
|
||||
* Cinematik
|
||||
* CinemaZ (EuTorrents)
|
||||
* Classix
|
||||
* DanishBits
|
||||
* DataScene
|
||||
* CrnaBerza
|
||||
* DanishBits (DB)
|
||||
* Dark-Shadow
|
||||
* DataScene (DS)
|
||||
* DesiTorrents
|
||||
* Diablo Torrent
|
||||
* DigitalCore
|
||||
* DigitalHive
|
||||
* DivTeam
|
||||
* DocumentaryTorrents (DT)
|
||||
* Downloadville
|
||||
* Dragonworld Reloaded
|
||||
* Dream Team
|
||||
* DXDHD
|
||||
* EliteHD [![(invite needed)][inviteneeded]](#)
|
||||
* Elit Tracker
|
||||
* EliteHD (HDClub) [![(invite needed)][inviteneeded]](#)
|
||||
* Elit Tracker (ET)
|
||||
* Elite-Tracker
|
||||
* Empornium (EMP)
|
||||
* eStone
|
||||
* eStone (XiDER, BeLoad)
|
||||
* Ethor.net (Thor's Land)
|
||||
* FANO.IN
|
||||
* FileList (FL)
|
||||
* Femdomcult
|
||||
* Freedom-HD
|
||||
* Freedom-HD (Freedom Paradise)
|
||||
* FullMixMusic
|
||||
* FunFile
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* Fuzer
|
||||
* Fuzer (FZ)
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn)
|
||||
* Gfxnews
|
||||
* GFXNews
|
||||
* GFXPeers
|
||||
* GigaTorrents
|
||||
* GimmePeers <!-- maintained by jamesb2147 -->
|
||||
* Girotottent
|
||||
* GimmePeers (formerly ILT) <!-- maintained by jamesb2147 -->
|
||||
* GiroTorrent
|
||||
* GODS
|
||||
* Greek Team
|
||||
* HacheDe
|
||||
@@ -204,21 +216,24 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* HD-Spain
|
||||
* HD-Torrents (HDT)
|
||||
* HD-Bits.com
|
||||
* HDArea (HDA)
|
||||
* HDBits
|
||||
* HDCenter
|
||||
* HDChina (HDWing)
|
||||
* HDCity
|
||||
* HDHome (HDBigger)
|
||||
* HDME
|
||||
* HDplus
|
||||
* HDSky
|
||||
* HDTorrents.it
|
||||
* Hebits
|
||||
* Hon3y HD
|
||||
* HQSource
|
||||
* HQSource (HQS)
|
||||
* HuSh
|
||||
* Hyperay
|
||||
* ICE Torrent
|
||||
* I Love Classics
|
||||
* Immortalseed
|
||||
* iLoveClassics (iLC)
|
||||
* ImmortalSeed (iS)
|
||||
* inPeril
|
||||
* Insane Tracker
|
||||
* IPTorrents (IPT)
|
||||
@@ -228,47 +243,50 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Le Saloon
|
||||
* LinkoManija
|
||||
* LosslessClub
|
||||
* M-Team (TP)
|
||||
* M-Team TP (MTTP)
|
||||
* Magico (Trellas)
|
||||
* Majomparádé
|
||||
* Majomparádé (TurkDepo)
|
||||
* Manicomio Share
|
||||
* Mononoké-BT
|
||||
* MoreThanTV (MTV)
|
||||
* MyAnonamouse
|
||||
* MyAnonamouse (MAM)
|
||||
* myAmity
|
||||
* MySpleen
|
||||
* NCore
|
||||
* Nebulance (NBL)
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* New Real World
|
||||
* NordicBits (NB)
|
||||
* Norbits
|
||||
* NordicBits (NB)
|
||||
* Nostalgic (The Archive)
|
||||
* notwhat.cd
|
||||
* Orpheus
|
||||
* Ourbits
|
||||
* Ourbits (HDPter)
|
||||
* Passione Torrent <!-- maintained by bonny1992 -->
|
||||
* PassThePopcorn (PTP)
|
||||
* PiratBit
|
||||
* PirateTheNet
|
||||
* PiXELHD
|
||||
* PolishSource
|
||||
* PirateTheNet (PTN)
|
||||
* PiXELHD (PxHD)
|
||||
* PolishSource (PS)
|
||||
* PolishTracker
|
||||
* Pretome
|
||||
* PrivateHD (PHD)
|
||||
* ProAudioTorrents (PAT)
|
||||
* Psytorrents
|
||||
* PT99
|
||||
* PTFiles
|
||||
* PTFiles (PTF)
|
||||
* PThome
|
||||
* PuntoTorrent
|
||||
* PWTorrents (PWT)
|
||||
* Racing4Everyone (R4E)
|
||||
* RacingForMe (RFM)
|
||||
* Redacted (PassTheHeadphones)
|
||||
* Red Star Torrent
|
||||
* Red Star Torrent (RST)
|
||||
* Redtopia (RED)
|
||||
* RetroFlix
|
||||
* RevolutionTT
|
||||
* RGU
|
||||
* RoDVD
|
||||
* Romanian Metal Torrent
|
||||
* RoDVD (Cinefiles)
|
||||
* Romanian Metal Torrent (RMT)
|
||||
* SceneFZ
|
||||
* SceneHD
|
||||
* SceneReactor
|
||||
@@ -278,19 +296,21 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* Secret Cinema
|
||||
* Shareisland
|
||||
* ShareSpaceDB
|
||||
* Sharingue
|
||||
* Shazbat
|
||||
* Shellife
|
||||
* Shellife (SL)
|
||||
* SpaceTorrent
|
||||
* Speed-Share
|
||||
* SpeedCD
|
||||
* SpeedTorrent Reloaded
|
||||
* SportsCult
|
||||
* SportHD
|
||||
* Superbits
|
||||
* SportsCult
|
||||
* SuperBits (SBS)
|
||||
* TakeaByte
|
||||
* Tasmanit
|
||||
* TBPlus
|
||||
* TenYardTracker
|
||||
* The Empire
|
||||
* TenYardTorrents (TYT)
|
||||
* TheEmpire (TE)
|
||||
* The Geeks
|
||||
* The Horror Charnel (THC)
|
||||
* The Occult
|
||||
@@ -298,43 +318,46 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
|
||||
* The Place
|
||||
* The Shinning (TsH)
|
||||
* The Show
|
||||
* The Vault
|
||||
* The-Torrents
|
||||
* Torrent Network
|
||||
* Torrent Sector Crew
|
||||
* The Vault
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent.LT
|
||||
* TorrentBD
|
||||
* TorrentBytes
|
||||
* TorrentCCF [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentDay
|
||||
* Torrentech
|
||||
* TorrentBytes (TBy)
|
||||
* TorrentCCF (TCCF) [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentDay (TD)
|
||||
* Torrentech (TTH)
|
||||
* TorrentHeaven
|
||||
* TorrentHR
|
||||
* Torrenting
|
||||
* Torrenting (TT)
|
||||
* Torrentland
|
||||
* TorrentLeech (TL)
|
||||
* TorrentSeeds (TS)
|
||||
* Torrent-Syndikat
|
||||
* TOrrent-tuRK (TORK)
|
||||
* TorViet
|
||||
* TorViet (HDVNBits)
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory
|
||||
* TranceTraffic
|
||||
* Trezzor
|
||||
* TurkTorrent (TT)
|
||||
* TV Chaos UK
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TV-Vault
|
||||
* TVstore
|
||||
* u-torrents (SceneFZ)
|
||||
* UHDBits
|
||||
* Ultimate Gamer Club
|
||||
* Ultimate Gamer Club (UGC)
|
||||
* Vizuk
|
||||
* Waffles
|
||||
* World-In-HD
|
||||
* WorldOfP2P (WOP)
|
||||
* x-ite.me (XM)
|
||||
* xBytesV2
|
||||
* XSpeeds
|
||||
* XSpeeds (XS)
|
||||
* XWTorrents (XWT)
|
||||
* Xthor
|
||||
* ExoticaZ (Your Exotic Torrents)
|
||||
* ExoticaZ (YourExotic)
|
||||
* Zamunda.net
|
||||
* Zelka.org
|
||||
|
||||
@@ -347,7 +370,7 @@ It will query all configured indexers and return the combined results.
|
||||
|
||||
If your client supports multiple feeds it's recommended to add each indexer directly instead of using the all indexer.
|
||||
Using the all indexer has no advantages (besides reduced management overhead), only disadvantages:
|
||||
* you loose control over indexer specific settings (categories, search modes, etc.)
|
||||
* you lose control over indexer specific settings (categories, search modes, etc.)
|
||||
* mixing search modes (IMDB, query, etc.) might cause low quality results
|
||||
* indexer specific categories (>= 100000) can't be used.
|
||||
* slow indexers will slow down the overall result
|
||||
@@ -372,7 +395,24 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
|
||||
|
||||
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
|
||||
|
||||
## Installation on Linux
|
||||
### Install on Linux (AMDx64)
|
||||
1. Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
|
||||
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
|
||||
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
### Install on Linux (ARMv7 or above)
|
||||
1. Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
|
||||
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
|
||||
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
|
||||
### Installation on Linux (ARMv6 or below)
|
||||
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
|
||||
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
|
||||
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
|
||||
@@ -381,21 +421,12 @@ Jackett can also be run from the command line if you would like to see log messa
|
||||
* Redhat/Fedora: `yum install libcurl-devel`
|
||||
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
|
||||
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
|
||||
|
||||
Detailed instructions for [Ubuntu 14.x](http://www.htpcguides.com/install-jackett-on-ubuntu-14-x-for-custom-torrents-in-sonarr/) and [Ubuntu 15.x](http://www.htpcguides.com/install-jackett-ubuntu-15-x-for-custom-torrents-in-sonarr/)
|
||||
4. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd_mono.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
|
||||
|
||||
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
|
||||
|
||||
### Install as service
|
||||
1. Install Jackett with the steps from above.
|
||||
2. Open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service.
|
||||
2. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`.
|
||||
Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
|
||||
|
||||
### Installation on Linux via Ansible
|
||||
|
||||
On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/jackett)
|
||||
@@ -470,7 +501,7 @@ location /jackett {
|
||||
The logfiles (log.txt/updater.txt) are stored in `%ProgramData%\Jackett` on Windows and `~/.config/Jackett/` on Linux/macOS.
|
||||
|
||||
## Configuring OMDb
|
||||
This feature is used as a fallback to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
This feature is used as a fallback (when using the aggregate Indexer) to get the movie/series title if only the IMDB ID is provided in the request.
|
||||
To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
|
||||
|
||||
## Creating an issue
|
||||
@@ -497,6 +528,8 @@ All contributions are welcome just send a pull request.
|
||||
|
||||
### Windows
|
||||
* Install the .NET Core [SDK](https://www.microsoft.com/net/download/windows)
|
||||
* Clone Jackett
|
||||
* From the `src` directory, run `dotnet restore`
|
||||
* Open the Jackett solution in Visual Studio 2017 (version 15.9 or above)
|
||||
* Right click on the Jackett solution and click 'Rebuild Solution' to restore nuget packages
|
||||
* Select Jackett.Server as startup project
|
||||
|
@@ -1,8 +1,8 @@
|
||||
version: 0.10.{build}
|
||||
version: 0.11.{build}
|
||||
skip_tags: true
|
||||
image:
|
||||
- Visual Studio 2017
|
||||
image:
|
||||
- Ubuntu
|
||||
- Visual Studio 2017
|
||||
environment:
|
||||
APPVEYOR_YML_DISABLE_PS_LINUX: true
|
||||
configuration: Release
|
||||
@@ -28,12 +28,13 @@ before_deploy:
|
||||
- ps: ${env:release_description} = ( Get-Content -LiteralPath BuildOutput/ReleaseNotes.txt -Encoding UTF8 ) -join "`n";
|
||||
deploy:
|
||||
- provider: GitHub
|
||||
tag: v$(appveyor_build_version)
|
||||
tag: v$(APPVEYOR_BUILD_VERSION)
|
||||
description: $(release_description)
|
||||
auth_token:
|
||||
secure: hOg+16YTIbq4kO9u4D1YVOTbWDqgCX6mAQYMbnmBBSw2CiUsZh7OKbupoUb3FtWa
|
||||
artifact: /^(?:(?![Ee]xperimental).)*$/
|
||||
draft: true
|
||||
force_update: true
|
||||
on:
|
||||
branch: master
|
||||
notifications:
|
||||
|
70
build.cake
70
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,7 +120,6 @@ Task("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Run-Unit-Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = "./BuildOutput/net461/linux-x64/Jackett";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, "net461", "linux-x64", buildOutputPath);
|
||||
@@ -127,7 +127,7 @@ Task("Package-Mono-Full-Framework")
|
||||
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
|
||||
|
||||
CopyFileToDirectory("./install_service_macos", buildOutputPath);
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./install_service_systemd_mono.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
|
||||
//There is an issue with Mono 5.8 (fixed in Mono 5.12) where its expecting to use its own patched version of System.Net.Http.dll, instead of the version supplied in folder
|
||||
@@ -154,30 +154,37 @@ Task("Package-DotNetCore-macOS")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "osx-x64";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_macos", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.macOS.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxAMD64")
|
||||
Task("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-x64";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxAMD64.tar.gz");
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxAMDx64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM32")
|
||||
@@ -185,15 +192,18 @@ Task("Package-DotNetCore-LinuxARM32")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxARM32.tar.gz");
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM32.tar.gz");
|
||||
});
|
||||
|
||||
Task("Package-DotNetCore-LinuxARM64")
|
||||
@@ -201,22 +211,25 @@ Task("Package-DotNetCore-LinuxARM64")
|
||||
.Does(() =>
|
||||
{
|
||||
string runtimeId = "linux-arm64";
|
||||
string serverProjectPath = "./src/Jackett.Server/Jackett.Server.csproj";
|
||||
string buildOutputPath = $"./BuildOutput/{netCoreFramework}/{runtimeId}/Jackett";
|
||||
string updaterOutputPath = buildOutputPath + "/Updater";
|
||||
|
||||
DotNetCorePublish(serverProjectPath, netCoreFramework, runtimeId, buildOutputPath);
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
CopyFileToDirectory("./Upstart.config", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxARM64.tar.gz");
|
||||
DotNetCorePublish(updaterProjectPath, netCoreFramework, runtimeId, updaterOutputPath);
|
||||
CopyFiles(updaterOutputPath + "/JackettUpdater*", buildOutputPath);
|
||||
DeleteDirectory(updaterOutputPath, new DeleteDirectorySettings {Recursive = true, Force = true});
|
||||
|
||||
CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath);
|
||||
|
||||
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.LinuxARM64.tar.gz");
|
||||
});
|
||||
|
||||
Task("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
if (AppVeyor.IsRunningOnAppVeyor && IsRunningOnWindows())
|
||||
if (AppVeyor.IsRunningOnAppVeyor)
|
||||
{
|
||||
foreach (var file in GetFiles(workingDir + $"/{artifactsDirName}/*"))
|
||||
{
|
||||
@@ -280,10 +293,10 @@ Task("Release-Notes")
|
||||
Task("Windows-Environment")
|
||||
.IsDependentOn("Package-Windows-Full-Framework")
|
||||
.IsDependentOn("Package-Mono-Full-Framework")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
//.IsDependentOn("Package-DotNetCore-macOS")
|
||||
//.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
//.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
//.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
.IsDependentOn("Release-Notes")
|
||||
.Does(() =>
|
||||
@@ -293,7 +306,7 @@ Task("Windows-Environment")
|
||||
|
||||
Task("Linux-Environment")
|
||||
.IsDependentOn("Package-DotNetCore-macOS")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMD64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM32")
|
||||
.IsDependentOn("Package-DotNetCore-LinuxARM64")
|
||||
.IsDependentOn("Appveyor-Push-Artifacts")
|
||||
@@ -380,7 +393,8 @@ private void Gzip(string sourceFolder, string outputDirectory, string tarCdirect
|
||||
{
|
||||
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type d -exec chmod 755 {} \;");
|
||||
RunLinuxCommand("find", MakeAbsolute(Directory(sourceFolder)) + @" -type f -exec chmod 644 {} \;");
|
||||
//RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))} /Jackett/jackett");
|
||||
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/jackett");
|
||||
RunLinuxCommand("chmod", $"755 {MakeAbsolute(Directory(sourceFolder))}/Jackett/JackettUpdater");
|
||||
RunLinuxCommand("tar", $"-C {sourceFolder} -zcvf {outputDirectory}/{tarFileName}.gz {tarCdirectoryOption}");
|
||||
}
|
||||
}
|
||||
|
12
install_service_systemd.sh
Executable file → Normal file
12
install_service_systemd.sh
Executable file → Normal file
@@ -13,23 +13,19 @@ systemctl stop ${jackettservice}
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
if [ ! -f ./jackett ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate jackett. Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if Jackett's owner is root
|
||||
jackettuser="$(stat -c "%U" ./JackettConsole.exe)"
|
||||
jackettuser="$(stat -c "%U" ./jackett)"
|
||||
if [ "${jackettuser}" == "root" ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett shouldn't run as root. Please, change the owner of the Jackett directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
@@ -50,7 +46,7 @@ Type=simple
|
||||
User=${jackettuser}
|
||||
Group=${jackettuser}
|
||||
WorkingDirectory=${jackettdir}
|
||||
ExecStart=${monodir}/mono --debug ${jackettdir}/JackettConsole.exe --NoRestart
|
||||
ExecStart=${jackettdir}/jackett --NoRestart
|
||||
TimeoutStopSec=20
|
||||
|
||||
[Install]
|
||||
|
82
install_service_systemd_mono.sh
Normal file
82
install_service_systemd_mono.sh
Normal file
@@ -0,0 +1,82 @@
|
||||
#!/bin/bash
|
||||
|
||||
#Setting up colors
|
||||
BOLDRED="$(printf '\033[1;31m')"
|
||||
BOLDGREEN="$(printf '\033[1;32m')"
|
||||
NC="$(printf '\033[0m')" # No Color
|
||||
|
||||
# Stop and unload the service if it's running
|
||||
jackettservice="jackett.service"
|
||||
systemctl stop ${jackettservice}
|
||||
|
||||
# Move working directory to Jackett's
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# Check if we're running from Jackett's directory
|
||||
if [ ! -f ./JackettConsole.exe ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
|
||||
exit 1
|
||||
fi
|
||||
jackettdir="$(pwd)"
|
||||
|
||||
# Check if Jackett's owner is root
|
||||
jackettuser="$(stat -c "%U" ./JackettConsole.exe)"
|
||||
if [ "${jackettuser}" == "root" ]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett shouldn't run as root. Please, change the owner of the Jackett directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if mono is installed
|
||||
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
|
||||
monodir="$(dirname $(command -v mono))"
|
||||
|
||||
# Check that no other service called Jackett is already running
|
||||
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
|
||||
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Write the systemd service descriptor
|
||||
cat >"/etc/systemd/system/${jackettservice}" <<EOL
|
||||
[Unit]
|
||||
Description=Jackett Daemon
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
SyslogIdentifier=jackett
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
Type=simple
|
||||
User=${jackettuser}
|
||||
Group=${jackettuser}
|
||||
WorkingDirectory=${jackettdir}
|
||||
ExecStart=${monodir}/mono --debug ${jackettdir}/JackettConsole.exe --NoRestart
|
||||
TimeoutStopSec=20
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
EOL
|
||||
|
||||
# Reload systemd daemon
|
||||
systemctl daemon-reload
|
||||
|
||||
# Enable the service for following restarts
|
||||
systemctl enable ${jackettservice}
|
||||
|
||||
# Run the service
|
||||
systemctl start ${jackettservice}
|
||||
|
||||
# Check that it's running
|
||||
if [[ $(systemctl status ${jackettservice} | grep "active (running)") ]]; then
|
||||
echo "${BOLDGREEN}Agent successfully installed and launched!${NC}"
|
||||
else
|
||||
cat << EOL
|
||||
${BOLDRED}ERROR${NC}: Could not launch service. The installation might have failed.
|
||||
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
|
||||
Mono directory: \`${monodir}\`
|
||||
Jackett directory: \`${jackettdir}\`
|
||||
Jackett user: \`${jackettuser}\`
|
||||
|
||||
EOL
|
||||
fi
|
@@ -6,7 +6,7 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://1337x.to
|
||||
- https://1337x.to/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -119,11 +119,11 @@
|
||||
search:
|
||||
paths:
|
||||
# present trending results if there are no search parms supplied
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/1/{{else}}/trending{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/2/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/3/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/4/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}/sort-search/{{ .Keywords}}/time/desc/5/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/1/{{else}}trending{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/2/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/3/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/4/{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}sort-search/{{ .Keywords}}/time/desc/5/{{else}}{{end}}"
|
||||
keywordsfilters:
|
||||
- name: replace # use this as a workaround till #893 is implemented
|
||||
args: ["Greys Anatomy", "Grey's Anatomy"]
|
||||
|
@@ -15,11 +15,9 @@
|
||||
- {id: 10, cat: TV/Anime, desc: "Animation: HD720P"}
|
||||
- {id: 11, cat: TV/Anime, desc: "Animation: HD1080P"}
|
||||
- {id: 56, cat: TV/Anime, desc: "Animation: DVDRip"}
|
||||
- {id: 13, cat: TV/Anime, desc: "Animation: DVD"}
|
||||
- {id: 18, cat: PC/0day, desc: "Applications: PC"}
|
||||
- {id: 16, cat: PC/Games, desc: "Applications: Jeux"}
|
||||
- {id: 19, cat: PC/Phone-Android, desc: "Applications: Android"}
|
||||
- {id: 38, cat: PC/Phone-IOS, desc: "Applications: Mobile Phone"}
|
||||
- {id: 17, cat: PC/0day, desc: "Applications: Autres"}
|
||||
- {id: 67, cat: TV, desc: "Autres: Emission TV"}
|
||||
- {id: 68, cat: TV/Sport, desc: "Autres: Sport"}
|
||||
@@ -34,6 +32,7 @@
|
||||
- {id: 53, cat: Books, desc: "E-Books: Livre Anglais"}
|
||||
- {id: 52, cat: Books, desc: "E-Books: Revue - Journaux"}
|
||||
- {id: 51, cat: Books, desc: "E-Books: BD"}
|
||||
- {id: 95, cat: Movies, desc: "Films: Film Divx XviD"}
|
||||
- {id: 66, cat: Movies, desc: "Films: VOSTFR"}
|
||||
- {id: 71, cat: Movies/WEBDL, desc: "Films: WEB-DL"}
|
||||
- {id: 65, cat: Movies, desc: "Films: VO"}
|
||||
@@ -49,19 +48,13 @@
|
||||
- {id: 92, cat: Movies/HD, desc: "Films: 4K"}
|
||||
- {id: 69, cat: Movies/3D, desc: "Films: Film 3D"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "Films: DVDRIP"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "Films: DVD5"}
|
||||
- {id: 5, cat: Movies/DVD, desc: "Films: DVD9"}
|
||||
- {id: 91, cat: Movies/HD, desc: "Films: RemuX"}
|
||||
- {id: 89, cat: Movies/HD, desc: "Films: BD/BR Rip"}
|
||||
- {id: 88, cat: Movies/BluRay, desc: "Films: Full BD/BR"}
|
||||
- {id: 77, cat: Other, desc: "GPS: Cartes"}
|
||||
- {id: 78, cat: Other, desc: "GPS: Radars"}
|
||||
- {id: 97, cat: Movies, desc: "Films: Cours Métrage"}
|
||||
- {id: 79, cat: TV/Anime, desc: "Mangas: HD"}
|
||||
- {id: 80, cat: TV/Anime, desc: "Mangas: HD VO"}
|
||||
- {id: 81, cat: TV/Anime, desc: "Mangas: HD VOSTFR"}
|
||||
- {id: 82, cat: TV/Anime, desc: "Mangas: DVDRIP"}
|
||||
- {id: 83, cat: TV/Anime, desc: "Mangas: DVDRIP VO"}
|
||||
- {id: 84, cat: TV/Anime, desc: "Mangas: DVDRIP VOSTFR"}
|
||||
- {id: 85, cat: TV/Anime, desc: "Mangas: Web-DL"}
|
||||
- {id: 86, cat: TV/Anime, desc: "Mangas: TV-RIP"}
|
||||
- {id: 75, cat: Audio, desc: "Musique: Concert TVRip"}
|
||||
@@ -70,6 +63,7 @@
|
||||
- {id: 22, cat: Audio/MP3, desc: "Musique: Album MP3"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Musique: Album Flac"}
|
||||
- {id: 64, cat: Audio, desc: "Musique: Mégamix Maison"}
|
||||
- {id: 96, cat: Audio/MP3, desc: "Musique: PlayList MP3"}
|
||||
- {id: 94, cat: Audio, desc: "Musique: Podcast"}
|
||||
- {id: 58, cat: Audio, desc: "Musique: Concert"}
|
||||
- {id: 93, cat: TV, desc: "Serie TV: Saison VOSTFR"}
|
||||
@@ -80,6 +74,7 @@
|
||||
- {id: 73, cat: TV/WEB-DL, desc: "Serie TV: WEB-DL"}
|
||||
- {id: 7, cat: TV, desc: "Serie TV: Episode FR"}
|
||||
- {id: 6, cat: TV, desc: "Serie TV: Saison FR"}
|
||||
- {id: 98, cat: TV/Anime, desc: "Serie TV: Manga VOSTFR"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: 3dtorrents
|
||||
name: 3D Torrents
|
||||
description: "3D Movie tracker"
|
||||
description: "3D Torrents (3DT) is a Private Torrent Tracker for 3D HD / BLURAY MOVIES"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
@@ -10,12 +10,24 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2, cat: Console, desc: "Games"}
|
||||
- {id: 3, cat: Movies, desc: "Movies"}
|
||||
- {id: 4, cat: Audio, desc: "Music"}
|
||||
- {id: 9, cat: TV/Anime, desc: " Anime"}
|
||||
- {id: 17, cat: TV, desc: " TV"}
|
||||
- {id: 18, cat: PC, desc: "Appz"}
|
||||
- {id: 65, cat: Books, desc: "Books"}
|
||||
- {id: 27, cat: Console/NDS, desc: "Games/Nintendo-DS"}
|
||||
- {id: 28, cat: Console/Other, desc: "Games/Switch"}
|
||||
- {id: 42, cat: PC/Phone-Android, desc: "Mobile/Android"}
|
||||
- {id: 44, cat: Movies/UHD, desc: "Movies/4K"}
|
||||
- {id: 13, cat: Movies/BluRay, desc: "Movies/Bluray"}
|
||||
- {id: 12, cat: Movies/DVD, desc: "Movies/DVD-R"}
|
||||
- {id: 14, cat: Movies, desc: "Movies/Packs"}
|
||||
- {id: 67, cat: Movies/HD, desc: "Movies/x264"}
|
||||
- {id: 55, cat: Movies/HD, desc: "Movies/X265"}
|
||||
- {id: 45, cat: Movies, desc: "Movies/Remux"}
|
||||
- {id: 62, cat: Audio, desc: "Music/Audio"}
|
||||
- {id: 32, cat: Audio, desc: "Music/Packs"}
|
||||
- {id: 6, cat: TV, desc: "TV/Packs"}
|
||||
- {id: 3, cat: TV/HD, desc: "TV/x264"}
|
||||
- {id: 4, cat: TV/HD, desc: "TV/x265"}
|
||||
- {id: 8, cat: TV/SD, desc: "TV/Xvid"}
|
||||
- {id: 63, cat: PC/0day, desc: "Windows/Applications"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -80,31 +92,35 @@
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
files:
|
||||
selector: td:nth-last-child(9)
|
||||
selector: a[href^="filelist.php?id="]
|
||||
grabs:
|
||||
selector: td:nth-last-child(5)
|
||||
selector: a[href^="snatches.php?id="]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Times", ""]
|
||||
- name: regexp
|
||||
args: "(\\d+)"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Today<br />10:20 AM
|
||||
# Yesterday<br />08:03 PM
|
||||
# Today<br /> 10:20 AM
|
||||
# Yesterday<br /> 08:03 PM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
date:
|
||||
# Feb 14 2019<br />10:20 AM
|
||||
# Feb 14 2019<br /> 10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):not(:contains("day"))
|
||||
filters:
|
||||
- name: regex # drop break in between date and time
|
||||
args: ["(.+?)<[^>]*>(.+?)","$1 $2"]
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 pm"
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
text: "0"
|
||||
seeders:
|
||||
optional: true
|
||||
selector: a[href$="#seeders"]
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
text: "0"
|
||||
leechers:
|
||||
optional: true
|
||||
selector: a[href$="#leechers"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"b:contains(\"[FREE]\")": "0"
|
||||
|
@@ -20,7 +20,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -28,11 +28,11 @@
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -95,9 +95,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
|
55
src/Jackett.Common/Definitions/acgrip.yml
Normal file
55
src/Jackett.Common/Definitions/acgrip.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
site: acgrip
|
||||
name: ACG.RIP
|
||||
description: "ACG.RIP is a CHINESE Public torrent tracker for the latest anime and Japanese related torrents"
|
||||
language: zh-cn
|
||||
type: public
|
||||
followredirect: true
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://acg.rip/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
1: TV
|
||||
modes:
|
||||
tv-search: [q, season, ep]
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
term: "{{ .Query.Keywords }}"
|
||||
rows:
|
||||
selector: tbody tr
|
||||
fields:
|
||||
title:
|
||||
selector: td.title > span.title a
|
||||
category:
|
||||
text: 1
|
||||
details:
|
||||
selector: td.title > span.title a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td.action a
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.size
|
||||
seeders:
|
||||
selector: td.peers div.seed
|
||||
leechers:
|
||||
selector: td.peers div.leech
|
||||
grabs:
|
||||
selector: td.peers div.done
|
||||
date:
|
||||
selector: td.date time
|
||||
attribute: datetime
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
downloadvolumefactor:
|
||||
text: "0"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
142
src/Jackett.Common/Definitions/aftershock.yml
Normal file
142
src/Jackett.Common/Definitions/aftershock.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
site: aftershock
|
||||
name: Aftershock
|
||||
description: "Aftershock is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: hu-hu
|
||||
type: private
|
||||
encoding: iso-8859-1
|
||||
links:
|
||||
- https://aftershock-tracker.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 7, cat: Movies/SD, desc: "XvidEng"}
|
||||
- {id: 2, cat: Movies, desc: "AfterShock Release"}
|
||||
- {id: 190, cat: Movies/DVD, desc: "DVD-9Eng"}
|
||||
- {id: 191, cat: Movies/DVD, desc: "DVD-9Hun"}
|
||||
- {id: 1, cat: Movies/DVD, desc: "DVDEng"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "DVDHun"}
|
||||
- {id: 23, cat: Books/Ebook, desc: "E-Book"}
|
||||
- {id: 3, cat: Movies, desc: "Film Pack"}
|
||||
- {id: 185, cat: Audio/Lossless, desc: "FLACeng"}
|
||||
- {id: 188, cat: Audio/Lossless, desc: "FLAChu"}
|
||||
- {id: 173, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 34, cat: Movies/HD, desc: "HDEng"}
|
||||
- {id: 33, cat: Movies/HD, desc: "HDHun"}
|
||||
- {id: 182, cat: XXX/x264, desc: "HDXXX"}
|
||||
- {id: 12, cat: PC/Games, desc: "JátékIso"}
|
||||
- {id: 130, cat: Console, desc: "JátékKonzol"}
|
||||
- {id: 38, cat: Console/PSP, desc: "JátékPS2"}
|
||||
- {id: 44, cat: Console, desc: "Jatekrip"}
|
||||
- {id: 131, cat: Console/Xbox, desc: "JátékX-box"}
|
||||
- {id: 140, cat: Other, desc: "Képek"}
|
||||
- {id: 141, cat: Other, desc: "Klipek"}
|
||||
- {id: 154, cat: Other, desc: "MeseEng"}
|
||||
- {id: 155, cat: Other, desc: "MeseHun"}
|
||||
- {id: 176, cat: Other, desc: "Mikro HDEng"}
|
||||
- {id: 174, cat: Other, desc: "Mikro HDHun"}
|
||||
- {id: 37, cat: PC/Phone-Other, desc: "MobilPDA"}
|
||||
- {id: 35, cat: PC, desc: "ProgramEgyéb"}
|
||||
- {id: 170, cat: PC/ISO, desc: "ProgramIso"}
|
||||
- {id: 24, cat: TV, desc: "Sorozat Eng"}
|
||||
- {id: 25, cat: TV, desc: "Sorozat Hun"}
|
||||
- {id: 167, cat: Movies/SD, desc: "Xvid CamEng"}
|
||||
- {id: 166, cat: Movies/SD, desc: "Xvid CamHun"}
|
||||
- {id: 9, cat: Movies/SD, desc: "XvidHun"}
|
||||
- {id: 169, cat: XXX/Imageset, desc: "XXX Képek"}
|
||||
- {id: 39, cat: XXX, desc: "XXXFilm"}
|
||||
- {id: 28, cat: Audio, desc: "ZeneEng"}
|
||||
- {id: 29, cat: Audio, desc: "ZeneHun"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.text:contains("Hiba")
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="/logout.php"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: p.sajatadatok font
|
||||
filters:
|
||||
- name: replace
|
||||
args: [",", ""]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: table tbody#torrent_background tr:has(a.index)
|
||||
fields:
|
||||
title:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: name
|
||||
- name: urldecode
|
||||
category:
|
||||
selector: td a[href^="/browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a.index
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: urldecode
|
||||
banner:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width="
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href^="https://www.imdb.com/title"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-last-child(6)
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
date:
|
||||
selector: td font
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\s", " "]
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icon_gift: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon_upload: "2"
|
||||
"*": "1"
|
@@ -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:
|
||||
|
291
src/Jackett.Common/Definitions/amigosshare.yml
Normal file
291
src/Jackett.Common/Definitions/amigosshare.yml
Normal file
@@ -0,0 +1,291 @@
|
||||
---
|
||||
site: amigosshare
|
||||
name: Amigos Share Club
|
||||
description: "Amigos Share Club is a Brazilian Private site for TV / MOVIES / GENERAL"
|
||||
language: pt-br
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://amigos-share.club/
|
||||
legacylinks:
|
||||
- http://amigos-share.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
|
||||
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
|
||||
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
|
||||
- {id: 21, cat: PC/0day, desc: "Aplicativos: Windows"}
|
||||
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
|
||||
- {id: 23, cat: PC/Phone-Android, desc: "Aplicativos: Android"}
|
||||
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
|
||||
- {id: 26, cat: PC/Phone-IOS, desc: "Aplicativos: iPhone"}
|
||||
- {id: 27, cat: PC/Phone-IOS, desc: "Aplicativos: iPad"}
|
||||
- {id: 28, cat: PC/Phone-IOS, desc: "Aplicativos: iPod"}
|
||||
- {id: 71, cat: Books, desc: "Apostila: Cursos"}
|
||||
- {id: 72, cat: Books, desc: "Apostila: Apostila"}
|
||||
- {id: 67, cat: Books, desc: "Ebook: Livros"}
|
||||
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
|
||||
- {id: 85, cat: Movies, desc: "Filmes: Guerra"}
|
||||
- {id: 81, cat: Movies, desc: "Filmes: Musical"}
|
||||
- {id: 17, cat: Movies, desc: "Filmes: Biografia"}
|
||||
- {id: 16, cat: Movies, desc: "Filmes: Esportes"}
|
||||
- {id: 15, cat: Movies, desc: "Filmes: Ficção"}
|
||||
- {id: 14, cat: Movies, desc: "Filmes: Infantil"}
|
||||
- {id: 13, cat: Movies, desc: "Filmes: Nacionais"}
|
||||
- {id: 12, cat: Movies, desc: "Filmes: Policial"}
|
||||
- {id: 11, cat: Movies, desc: "Filmes: Religioso"}
|
||||
- {id: 10, cat: Movies, desc: "Filmes: Suspense"}
|
||||
- {id: 9, cat: Movies, desc: "Filmes: Western"}
|
||||
- {id: 8, cat: Movies, desc: "Filmes: Animação"}
|
||||
- {id: 7, cat: Movies, desc: "Filmes: Clássicos"}
|
||||
- {id: 6, cat: Movies, desc: "Filmes: Comédia"}
|
||||
- {id: 5, cat: Movies, desc: "Filmes: Documentário"}
|
||||
- {id: 4, cat: Movies, desc: "Filmes: Drama"}
|
||||
- {id: 3, cat: Movies, desc: "Filmes: Romance"}
|
||||
- {id: 2, cat: Movies, desc: "Filmes: Terror"}
|
||||
- {id: 1, cat: Movies, desc: "Filmes: Ação"}
|
||||
- {id: 80, cat: Movies, desc: "Filmes: Aventura"}
|
||||
- {id: 70, cat: Other, desc: "Fotos: XXX"}
|
||||
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
|
||||
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
|
||||
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Jogos: Mac"}
|
||||
- {id: 49, cat: Console, desc: "Jogos: Ps1"}
|
||||
- {id: 50, cat: Console, desc: "Jogos: Ps2"}
|
||||
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
|
||||
- {id: 52, cat: Console, desc: "Jogos: Dreamcast"}
|
||||
- {id: 54, cat: Console/Xbox 360, desc: "Jogos: X360"}
|
||||
- {id: 56, cat: Console/Xbox, desc: "Jogos: Xbox"}
|
||||
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
|
||||
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
|
||||
- {id: 57, cat: Console, desc: "Jogos: Android"}
|
||||
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
|
||||
- {id: 78, cat: Console/Xbox One, desc: "Jogos: Xbox One"}
|
||||
- {id: 29, cat: Audio, desc: "Musica: Axé"}
|
||||
- {id: 30, cat: Audio, desc: "Musica: Eletronica"}
|
||||
- {id: 31, cat: Audio, desc: "Musica: Funk"}
|
||||
- {id: 32, cat: Audio, desc: "Musica: Pagode"}
|
||||
- {id: 33, cat: Audio, desc: "Musica: Hip-Hop"}
|
||||
- {id: 34, cat: Audio, desc: "Musica: Rap"}
|
||||
- {id: 36, cat: Audio, desc: "Musica: Rock"}
|
||||
- {id: 37, cat: Audio, desc: "Musica: Hard Rock"}
|
||||
- {id: 38, cat: Audio, desc: "Musica: Blues"}
|
||||
- {id: 39, cat: Audio, desc: "Musica: Dance"}
|
||||
- {id: 40, cat: Audio, desc: "Musica: Dicografia"}
|
||||
- {id: 41, cat: Audio, desc: "Musica: Erudita"}
|
||||
- {id: 42, cat: Audio, desc: "Musica: Forró"}
|
||||
- {id: 43, cat: Audio, desc: "Musica: Dubstep"}
|
||||
- {id: 46, cat: Audio, desc: "Musica: Sertanejo"}
|
||||
- {id: 45, cat: Audio, desc: "Musica: Samba"}
|
||||
- {id: 77, cat: Audio, desc: "Musica: Outros"}
|
||||
- {id: 76, cat: Audio, desc: "Musica: Reggae"}
|
||||
- {id: 83, cat: Audio, desc: "Musica: Gospel"}
|
||||
- {id: 84, cat: Audio, desc: "Musica: Game (OST)"}
|
||||
- {id: 88, cat: TV, desc: "Series: Musical"}
|
||||
- {id: 86, cat: TV, desc: "Series: Guerra"}
|
||||
- {id: 105, cat: TV, desc: "Series: Biografia"}
|
||||
- {id: 99, cat: TV/Sport, desc: "Series: Esportes"}
|
||||
- {id: 103, cat: TV, desc: "Series: Ficção"}
|
||||
- {id: 102, cat: TV, desc: "Series: Infantil"}
|
||||
- {id: 89, cat: TV, desc: "Series: Nacionais"}
|
||||
- {id: 100, cat: TV, desc: "Series: Policial"}
|
||||
- {id: 98, cat: TV, desc: "Series: Religioso"}
|
||||
- {id: 90, cat: TV, desc: "Series: Suspense"}
|
||||
- {id: 91, cat: TV, desc: "Series: Western"}
|
||||
- {id: 92, cat: TV, desc: "Series: Animação"}
|
||||
- {id: 93, cat: TV, desc: "Series: Clássicos"}
|
||||
- {id: 94, cat: TV, desc: "Series: Comédia"}
|
||||
- {id: 95, cat: TV/Documentary, desc: "Series: Documentário"}
|
||||
- {id: 96, cat: TV, desc: "Series: Drama"}
|
||||
- {id: 97, cat: TV, desc: "Series: Romance"}
|
||||
- {id: 101, cat: TV, desc: "Series: Terror"}
|
||||
- {id: 104, cat: TV, desc: "Series: Ação"}
|
||||
- {id: 24, cat: TV, desc: "Series: Cartoon"}
|
||||
- {id: 19, cat: TV/HD, desc: "Series: HD"}
|
||||
- {id: 20, cat: TV, desc: "Series: Seriados"}
|
||||
- {id: 87, cat: TV, desc: "Series: Aventura"}
|
||||
- {id: 65, cat: TV, desc: "Shows: Show"}
|
||||
- {id: 63, cat: TV, desc: "Tv: Aberta"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Tv: Esportes"}
|
||||
- {id: 64, cat: TV, desc: "Tv: Fechada"}
|
||||
- {id: 73, cat: TV, desc: "Video Aula: Video Aula"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: "yes"
|
||||
error:
|
||||
- selector: div.alert-error
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: index.php
|
||||
selector: li:contains("Ratio:") a b
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://amigos-share.club/torrents-search.php?search=&c1=1&c19=1&c36=1&incldead=0&freeleech=0&lang=0sort=id&order=desc&page=1
|
||||
- path: torrents-search.php
|
||||
# site displays just 21 results, no profile options found to change this, so we attempt to fetch 5 pages
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 1
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 2
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 3
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
page: 4
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 0
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
sort: "id"
|
||||
order: "desc"
|
||||
rows:
|
||||
selector: table.table-striped > tbody > tr:has(a[href^="torrents-details.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td:first-child img
|
||||
attribute: src
|
||||
case:
|
||||
# unfortunately the site does not have category numbers on the results page, just a .png which can apply to both movies and tv.
|
||||
# therefore I've order the list to favour movies,
|
||||
# also, not all .png have been verified as the site has many empty categories. their image names have been extrapolated from the cat desc.
|
||||
"[src$=\"/XXXZ.png\"]": "74"
|
||||
"[src$=\"/Hentai.png\"]": "75"
|
||||
"[src$=\"/Anime.png\"]": "69"
|
||||
"[src$=\"/Windows.png\"]": "21"
|
||||
"[src$=\"/Mac.png\"]": "22"
|
||||
"[src$=\"/Android.png\"]": "23"
|
||||
"[src$=\"/Linux.png\"]": "25"
|
||||
"[src$=\"/iPhone.png\"]": "26"
|
||||
"[src$=\"/iPad.png\"]": "27"
|
||||
"[src$=\"/iPod.png\"]": "28"
|
||||
"[src$=\"/Cursos.png\"]": "71"
|
||||
"[src$=\"/Apostila.png\"]": "72"
|
||||
"[src$=\"/E-books.png\"]": "67"
|
||||
"[src$=\"/Revista.png\"]": "68"
|
||||
"[src$=\"/Aventura.png\"]": "80"
|
||||
"[src$=\"/XXX.png\"]": "70"
|
||||
"[src$=\"/Jogos-Ps4.png\"]": "79"
|
||||
"[src$=\"/Jogos-PC.png\"]": "47"
|
||||
"[src$=\"/Jogos-EmuladoreseRoms.png\"]": "61"
|
||||
"[src$=\"/Jogos-Mac.png\"]": "48"
|
||||
"[src$=\"/Jogos-Ps1.png\"]": "49"
|
||||
"[src$=\"/Jogos-Ps2.png\"]": "50"
|
||||
"[src$=\"/Jogos-Ps3.png\"]": "51"
|
||||
"[src$=\"/Jogos-Dreamcast.png\"]": "52"
|
||||
"[src$=\"/ogos-X360.png\"]": "54"
|
||||
"[src$=\"/Jogos-Xbox.png\"]": "55"
|
||||
"[src$=\"/Jogos-Wii.png\"]": "56"
|
||||
"[src$=\"/Jogos-NintendoDS.png\"]": "58"
|
||||
"[src$=\"/Jogos-Android.png\"]": "57"
|
||||
"[src$=\"/Jogos-PSP.png\"]": "82"
|
||||
"[src$=\"/Jogos-XboxOne.png\"]": "78"
|
||||
"[src$=\"/Axe.png\"]": "29"
|
||||
"[src$=\"/Electronica.png\"]": "30"
|
||||
"[src$=\"/Funk.png\"]": "31"
|
||||
"[src$=\"/Pagode.png\"]": "32"
|
||||
"[src$=\"/Hip-Hop.png\"]": "33"
|
||||
"[src$=\"/Rap.png\"]": "34"
|
||||
"[src$=\"/Rock.png\"]": "36"
|
||||
"[src$=\"/Hard-Rock.png\"]": "37"
|
||||
"[src$=\"/Blues.png\"]": "38"
|
||||
"[src$=\"/Dance.png\"]": "39"
|
||||
"[src$=\"/Dicografia.png\"]": "40"
|
||||
"[src$=\"/Erudita.png\"]": "41"
|
||||
"[src$=\"/Forro.png\"]": "42"
|
||||
"[src$=\"/Dubstep.png\"]": "43"
|
||||
"[src$=\"/Sertanejo.png\"]": "46"
|
||||
"[src$=\"/Samba.png\"]": "45"
|
||||
"[src$=\"/Outros.png\"]": "77"
|
||||
"[src$=\"/Reggae.png\"]": "76"
|
||||
"[src$=\"/Gospel.png\"]": "83"
|
||||
"[src$=\"/Game-OST.png\"]": "84"
|
||||
"[src$=\"/Musical.png\"]": "88"
|
||||
"[src$=\"/Guerra.png\"]": "86"
|
||||
"[src$=\"/Biografia.png\"]": "105"
|
||||
"[src$=\"/Esportes.png\"]": "99"
|
||||
"[src$=\"/Ficcao.png\"]": "103"
|
||||
"[src$=\"/Infantil.png\"]": "102"
|
||||
"[src$=\"/Nacionais.png\"]": "89"
|
||||
"[src$=\"/Policial.png\"]": "100"
|
||||
"[src$=\"/Religioso.png\"]": "98"
|
||||
"[src$=\"/Suspense.png\"]": "90"
|
||||
"[src$=\"/Western.png\"]": "91"
|
||||
"[src$=\"/Animacao.png\"]": "92"
|
||||
"[src$=\"/Classicos.png\"]": "93"
|
||||
"[src$=\"/Comedia.png\"]": "94"
|
||||
"[src$=\"/Documentario.png\"]": "95"
|
||||
"[src$=\"/Drama.png\"]": "96"
|
||||
"[src$=\"/Romance.png\"]": "97"
|
||||
"[src$=\"/Terror.png\"]": "101"
|
||||
"[src$=\"/Acao.png\"]": "104"
|
||||
"[src$=\"/Cartoon.png\"]": "24"
|
||||
"[src$=\"/Serieshd.png\"]": "19"
|
||||
"[src$=\"/Seriado.png\"]": "20"
|
||||
"[src$=\"/Aventura.png\"]": "87"
|
||||
"[src$=\"/Shows.png\"]": "65"
|
||||
"[src$=\"/Aberta.png\"]": "63"
|
||||
"[src$=\"/Esportes.png\"]": "62"
|
||||
"[src$=\"/Fechada.png\"]": "64"
|
||||
"[src$=\"/Videoaula.png\"]": "73"
|
||||
"[src$=\"/Guerra.png\"]": "85"
|
||||
"[src$=\"/Musical.png\"]": "81"
|
||||
"[src$=\"/Biografia.png\"]": "17"
|
||||
"[src$=\"/Esportes.png\"]": "16"
|
||||
"[src$=\"/Ficcao.png\"]": "15"
|
||||
"[src$=\"/Infantil.png\"]": "14"
|
||||
"[src$=\"/Nacionais.png\"]": "13"
|
||||
"[src$=\"/Policial.png\"]": "12"
|
||||
"[src$=\"/Religioso.png\"]": "11"
|
||||
"[src$=\"/Suspense.png\"]": "10"
|
||||
"[src$=\"/Western.png\"]": "9"
|
||||
"[src$=\"/Animacao.png\"]": "8"
|
||||
"[src$=\"/Classicos.png\"]": "7"
|
||||
"[src$=\"/Comedia.png\"]": "6"
|
||||
"[src$=\"/Documentario.png\"]": "5"
|
||||
"[src$=\"/Drama.png\"]": "4"
|
||||
"[src$=\"/Romance.png\"]": "3"
|
||||
"[src$=\"/Terror.png\"]": "2"
|
||||
"[src$=\"/Acao.png\"]": "1"
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: td:nth-child(2) span.label-info
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
leechers:
|
||||
selector: td:nth-child(5)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"span.label-success i:contains(\"FREE\")": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -35,7 +35,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "/{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}?s={{ .Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: table tbody tr:has(td.torrents_small_type_data1)
|
||||
fields:
|
||||
|
@@ -90,7 +90,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "thanks.php"
|
||||
path: thanks.php
|
||||
method: "post"
|
||||
inputs:
|
||||
infohash: "{{ .DownloadUri.Query.id }}"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://archetorrent.com
|
||||
- https://archetorrent.com/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
|
@@ -89,7 +89,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents/
|
||||
- path: torrents/
|
||||
method: post
|
||||
followredirect: true
|
||||
inputs:
|
||||
|
@@ -20,7 +20,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -28,11 +28,11 @@
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -48,11 +48,11 @@
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
selector: a[href*="/category/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
args: "/category/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
@@ -95,9 +95,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://abtorrents.me
|
||||
- https://abtorrents.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -59,11 +59,11 @@
|
||||
- selector: td.embedded:has(h2:contains("Oops"))
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://awesome-hd.me
|
||||
- https://awesome-hd.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -14,7 +14,9 @@
|
||||
- {id: 2, cat: TV/HD, desc: "TV-Shows"}
|
||||
|
||||
modes:
|
||||
searchstr: [q]
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
|
@@ -43,7 +43,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: bigtorrent
|
||||
name: BIGTorrent
|
||||
description: "ratio-free Hungarian tracker"
|
||||
description: "BIGTorrent is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -41,7 +41,7 @@
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -49,7 +49,7 @@
|
||||
sent: "yes"
|
||||
returnto: "/"
|
||||
error:
|
||||
- selector: table:contains("Login failed!")
|
||||
- selector: div.error
|
||||
test:
|
||||
path: index.php
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{if .Keywords}}{{ .Keywords }}{{else}} {{end}}"
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr:has(a[href^="browse.php?cat="])
|
||||
fields:
|
||||
|
@@ -66,11 +66,11 @@
|
||||
login:
|
||||
method: cookie
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -60,10 +60,10 @@
|
||||
- selector: table:contains("Login failed!")
|
||||
- selector: table:contains("Wrong Code!")
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
method: get
|
||||
inputs:
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -57,11 +57,11 @@
|
||||
error:
|
||||
- selector: td.msg_info > font > b
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
method: post
|
||||
inputs:
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
167
src/Jackett.Common/Definitions/bitturk.yml
Normal file
167
src/Jackett.Common/Definitions/bitturk.yml
Normal file
@@ -0,0 +1,167 @@
|
||||
---
|
||||
site: bitturk
|
||||
name: BitTurk
|
||||
description: "BitTurk is a Turkish Private Torrent Tracker for HD MOVIES / TV / GENERAL. This Indexer is for English only."
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.bitturk.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 69, cat: Movies, desc: "BiTTuRK Altın"}
|
||||
- {id: 56, cat: Movies, desc: "BTRG"}
|
||||
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
|
||||
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
|
||||
- {id: 63, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 64, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 66, cat: Movies/HD, desc: "x265"}
|
||||
- {id: 67, cat: XXX, desc: "XxX"}
|
||||
- {id: 68, cat: Movies, desc: "Dual (TR-~)"}
|
||||
- {id: 58, cat: Movies, desc: "Film"}
|
||||
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||
- {id: 45, cat: Movies, desc: "Eğitim / Prog "}
|
||||
- {id: 1, cat: Movies, desc: "Filmler"}
|
||||
- {id: 14, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 16, cat: Movies, desc: "Animasyon"}
|
||||
- {id: 17, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 31, cat: Movies, desc: "Belgesel"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "Bluray"}
|
||||
- {id: 33, cat: Movies/BluRay, desc: "BRRiP"}
|
||||
- {id: 34, cat: Movies, desc: "Çizgi Film"}
|
||||
- {id: 35, cat: Movies, desc: "D-Z0N3"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 37, cat: Movies, desc: "MP4"}
|
||||
- {id: 38, cat: Movies, desc: "Türk Filmi"}
|
||||
- {id: 39, cat: Movies, desc: "Türkçe BoX"}
|
||||
- {id: 40, cat: Movies, desc: "Türkçe Film"}
|
||||
- {id: 41, cat: Movies, desc: "ViP"}
|
||||
- {id: 42, cat: Movies/SD, desc: "XviD"}
|
||||
- {id: 43, cat: Movies/SD, desc: "XviD BoX"}
|
||||
- {id: 55, cat: Movies/WEBDL, desc: "WEB-DL"}
|
||||
- {id: 7, cat: Audio, desc: "Müzik"}
|
||||
- {id: 20, cat: Audio, desc: "Türkçe MüziK"}
|
||||
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
|
||||
- {id: 2, cat: Console, desc: "Oyun"}
|
||||
- {id: 6, cat: PC, desc: "Program / Misc "}
|
||||
- {id: 47, cat: Other, desc: "Resimler"}
|
||||
- {id: 48, cat: TV, desc: "Televizyon"}
|
||||
- {id: 49, cat: TV/HD, desc: "Tv HD"}
|
||||
- {id: 50, cat: TV, desc: "Yab@ncı Dizi"}
|
||||
- {id: 51, cat: TV, desc: "Yerli Dizi"}
|
||||
- {id: 44, cat: Books, desc: "E-BooK"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info
|
||||
type: info
|
||||
label: Layout
|
||||
default: "<ol><li>Only the English Classic profile is supported.<li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b><li>And set the <b>Language (Dil)</b> to <b>English</b><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</ol>"
|
||||
|
||||
login:
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: "login"
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: 1
|
||||
loginbox_remember: "true"
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "stKey: \"(.+?)\","
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: ?p=home&pid=1
|
||||
selector: a[href*="/?p=logout&"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%25"]
|
||||
inputs:
|
||||
p: "torrents"
|
||||
pid: "32"
|
||||
$raw: "{{range .Categories}}cid[]={{.}}&{{end}}"
|
||||
keywords: "{{ .Keywords }}"
|
||||
search_type: "name"
|
||||
searchin: "title"
|
||||
error:
|
||||
- selector: div.error:not(:contains("Gösterilecek sonuç bulunamadı."))
|
||||
rows:
|
||||
selector: table#torrents_table_classic tr:has(td.torrent_name)
|
||||
fields:
|
||||
title:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
category:
|
||||
selector: div.category_image > a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cid
|
||||
details:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||
attribute: href
|
||||
date:
|
||||
optional: true
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at "))
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04"
|
||||
date:
|
||||
optional: true
|
||||
# Uploaded Friday at 05:11 by
|
||||
# Uploaded Today at 00:48 by
|
||||
# Uploaded Yesterday at 23:57 by
|
||||
selector: td.torrent_name:contains(" at ")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: replace
|
||||
args: [" at ", " "]
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
selector: a[rel="torrent_seeders"]
|
||||
leechers:
|
||||
selector: a[rel="torrent_leechers"]
|
||||
grabs:
|
||||
selector: a[rel="times_completed"]
|
||||
banner:
|
||||
selector: a[rel="fancybox"]
|
||||
optional: true
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/torrent_free.png\"]": "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/torrent_multiple_upload.png\"]": "2"
|
||||
"*": "1"
|
@@ -24,7 +24,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -32,11 +32,11 @@
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: blutopia
|
||||
name: Blutopia
|
||||
description: "HD Tracker Movies/TV/FANRES"
|
||||
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -20,7 +20,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -28,11 +28,11 @@
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -95,9 +95,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
|
@@ -28,9 +28,16 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
# site returns just 15 results per page, attempt to fetch 100
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/1-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/2-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/3-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/4-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/5-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/6-1-0.html"
|
||||
- path: "list/{{if .Keywords}}{{.Keywords}}{{else}}movie{{end}}/7-1-0.html"
|
||||
rows:
|
||||
selector: .rs
|
||||
selector: .rs:has(a[href^="magnet:?xt"])
|
||||
fields:
|
||||
title:
|
||||
selector: .title
|
||||
|
@@ -39,7 +39,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin__akcja.php
|
||||
path: takelogin__akcja.php
|
||||
method: post
|
||||
inputs:
|
||||
username_dupa: "{{ .Config.username }}"
|
||||
@@ -49,11 +49,11 @@
|
||||
- selector: td.embedded:has(h2:contains("Error"))aD
|
||||
test:
|
||||
selector: a[href^="logout.php"]
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -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:
|
||||
|
@@ -87,7 +87,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /?p=home&pid=1
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: /ajax/login.php
|
||||
@@ -105,7 +105,7 @@
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: /?p=torrents&pid=32
|
||||
path: ?p=torrents&pid=32
|
||||
selector: a#logout
|
||||
|
||||
search:
|
||||
|
@@ -19,7 +19,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -27,11 +27,11 @@
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -94,9 +94,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
|
128
src/Jackett.Common/Definitions/cartoonchaos.yml
Normal file
128
src/Jackett.Common/Definitions/cartoonchaos.yml
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
site: cartoonchaos
|
||||
name: CartoonChaos
|
||||
description: "CartoonChaos (CC) is a Private Torrent Tracker for ANIMATED MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.cartoonchaos.org/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "For best results, increase the torrents number in your profile to 100.<br />Default is 15."
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 30, cat: TV, desc: "Complete Sets"}
|
||||
- {id: 15, cat: TV, desc: "Educational"}
|
||||
- {id: 16, cat: TV, desc: "Kids"}
|
||||
- {id: 17, cat: TV, desc: "Mature Cartoons"}
|
||||
- {id: 41, cat: TV, desc: "Shorts"}
|
||||
- {id: 20, cat: TV/Anime, desc: "Anime Movies"}
|
||||
- {id: 21, cat: TV/Anime, desc: "Anime Series"}
|
||||
- {id: 26, cat: Movies, desc: "Animated Movies"}
|
||||
- {id: 23, cat: Audio, desc: "Sound Tracks"}
|
||||
- {id: 24, cat: Audio, desc: "Theme Tunes"}
|
||||
- {id: 43, cat: Audio/Other, desc: "Misc Audio"}
|
||||
- {id: 14, cat: TV, desc: "Banned"}
|
||||
- {id: 29, cat: TV, desc: "Public Domain"}
|
||||
- {id: 42, cat: TV/FOREIGN, desc: "Foreign Language"}
|
||||
- {id: 28, cat: TV, desc: "Animated Adverts"}
|
||||
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: form
|
||||
form: form[action^="index.php?page=login"]
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://www.cartoonchaos.org/index.php?page=torrents&search=transformers&category=30;21;20;26;15;16;17&options=0&active=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
|
||||
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
|
||||
options: 0
|
||||
active: 0
|
||||
|
||||
rows:
|
||||
selector: table.lista tr td table.lista tr:has(a[href^="index.php?page=torrent-details"])
|
||||
fields:
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
download:
|
||||
selector: td a[href^="download.php"]
|
||||
attribute: href
|
||||
imdb:
|
||||
optional: true
|
||||
selector: a[href*="http://www.imdb.com/title/"]
|
||||
attribute: href
|
||||
filters:
|
||||
# http://anonym.to?javascript:popdetails('http://www.imdb.com/title/tt0086817');
|
||||
- name: replace
|
||||
args: [" http://anonym.to?javascript:popdetails('", ""]
|
||||
- name: replace
|
||||
args: ["');", ""]
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
# two flavours of dates
|
||||
date:
|
||||
# Yesterday at 10:03:30 PM
|
||||
selector: td:nth-child(5):contains("day")
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
|
||||
date:
|
||||
# February 09, 2019, 06:35:08 AM
|
||||
selector: td:nth-child(5):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
|
||||
- name: dateparse
|
||||
args: "January 02 2006 03:04:05 PM"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="gold/gold.gif"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -47,7 +47,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
@@ -56,11 +56,11 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("登录失败"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
method: get
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
|
@@ -1,12 +1,12 @@
|
||||
---
|
||||
site: chdbits
|
||||
name: CHDBits
|
||||
description: "A general tracker"
|
||||
description: "CHDBits is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://chdbits.co
|
||||
- https://chdbits.co/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -25,7 +25,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -33,10 +33,10 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
ratio:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
selector: table#info_block
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
|
@@ -9,7 +9,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.cinematik.net
|
||||
- https://www.cinematik.net/
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
|
@@ -34,7 +34,7 @@
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{if .Keywords}}\"{{.Keywords}}\"{{else}}{{end}}"
|
||||
rows:
|
||||
selector: table > tbody > tr:has(a[href^="torrents.php?cat="])
|
||||
fields:
|
||||
|
@@ -7,7 +7,7 @@
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://www.cpabien.link/
|
||||
- https://www.cpasbiens.bz/
|
||||
legacylinks:
|
||||
- http://www.cpasbiens.cc/
|
||||
- http://www.cpabien.cm/
|
||||
@@ -32,6 +32,8 @@
|
||||
- https://www.cpasbien.re/
|
||||
- http://www.cpasbien.io/
|
||||
- https://www.cpabien.bz/
|
||||
- https://www.cpabien.link/
|
||||
- https://www.cpasbiens.cz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -45,16 +47,13 @@
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selector: div#telecharger a
|
||||
selector: div.btn-download a
|
||||
attribute: href
|
||||
search:
|
||||
paths:
|
||||
- path: search.php
|
||||
method: post
|
||||
inputs:
|
||||
t: "{{ .Keywords }}"
|
||||
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div.ligne1, div.ligne2
|
||||
selector: div#gauche > table > tbody > tr:has(a)
|
||||
fields:
|
||||
site_date:
|
||||
selector: a
|
||||
|
@@ -28,7 +28,7 @@
|
||||
attribute: href
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}/recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div#gauche > table > tbody > tr:has(a)
|
||||
fields:
|
||||
|
159
src/Jackett.Common/Definitions/crnaberza.yml
Normal file
159
src/Jackett.Common/Definitions/crnaberza.yml
Normal file
@@ -0,0 +1,159 @@
|
||||
---
|
||||
site: crnaberza
|
||||
name: CrnaBerza
|
||||
description: "Crna Berza is a BALKAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: sr-sp
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.crnaberza.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 65, cat: Movies/3D, desc: "3D Film"}
|
||||
- {id: 37, cat: Movies, desc: "Deca"}
|
||||
- {id: 43, cat: TV/Documentary, desc: "Dokumentarci"}
|
||||
- {id: 52, cat: Movies/DVD, desc: "Film/DVD Domaće"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "Film/DVD Strano"}
|
||||
- {id: 73, cat: Movies/HD, desc: "Film/HD Domaće"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Film/HD Strano"}
|
||||
- {id: 29, cat: Movies/SD, desc: "Film/SD Domaće"}
|
||||
- {id: 54, cat: Movies/SD, desc: "Film/SD Strano"}
|
||||
- {id: 64, cat: Movies/HD, desc: "HD Boxset"}
|
||||
- {id: 61, cat: Movies/HD, desc: "HD Mesano"}
|
||||
- {id: 50, cat: PC/Games, desc: "Igre"}
|
||||
- {id: 44, cat: Books, desc: "Knjige"}
|
||||
- {id: 46, cat: Audio, desc: "Koncerti"}
|
||||
- {id: 58, cat: Audio/Lossless, desc: "Lossless/Domaće"}
|
||||
- {id: 59, cat: Audio/Lossless, desc: "Lossless/Strano"}
|
||||
- {id: 5, cat: Audio/MP3, desc: "MP3/Domaće"}
|
||||
- {id: 57, cat: Audio/MP3, desc: "MP3/Strano"}
|
||||
- {id: 49, cat: PC, desc: "Programi"}
|
||||
- {id: 28, cat: Other, desc: "Razno"}
|
||||
- {id: 62, cat: TV/SD, desc: "SD Boxset"}
|
||||
- {id: 38, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 39, cat: Audio/Video, desc: "Spotovi DVD"}
|
||||
- {id: 45, cat: Books/Comics, desc: "Stripovi"}
|
||||
- {id: 75, cat: TV/HD, desc: "TV/HD Domaće"}
|
||||
- {id: 77, cat: TV/HD, desc: "TV/HD Strano"}
|
||||
- {id: 78, cat: TV/Other, desc: "TV/ostalo"}
|
||||
- {id: 30, cat: TV/SD, desc: "TV/SD Domaće"}
|
||||
- {id: 34, cat: TV/SD, desc: "TV/SD Strano"}
|
||||
- {id: 60, cat: XXX, desc: "XXX/Domace"}
|
||||
- {id: 63, cat: XXX, desc: "XXX/Strano"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: incldead
|
||||
type: select
|
||||
label: "Search Torrents that are:"
|
||||
default: "0"
|
||||
options:
|
||||
"0" : "Active"
|
||||
"1": "Including Dead"
|
||||
"2": "Only Dead"
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the 'Torrents per page' setting to 100 on your 'Personal Options' from the 'Personal' menu on the Crna Berza webpage.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
submitme: "X"
|
||||
error:
|
||||
- selector: h2
|
||||
message:
|
||||
selector: table tr td.text
|
||||
test:
|
||||
path: browse.php
|
||||
selector: a[href$="/logout.php"]
|
||||
|
||||
ratio:
|
||||
path: browse.php
|
||||
selector: div div font:contains("Ratio:")
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio:\\s(.*?)\\s\\s"
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://www.crnaberza.com/browse.php?c52=1&c20=1&c73=1&c48=1&c29=1&c75=1&c77=1&c78=1&c30=1&c34=1&incldead=1&search=star+trek
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
searchin: "title"
|
||||
incldead: "{{ .Config.incldead }}"
|
||||
|
||||
rows:
|
||||
selector: tr:has(td.trowtorrent)
|
||||
fields:
|
||||
category:
|
||||
selector: td:nth-of-type(1) a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "[-](\\d{1,2})$"
|
||||
title:
|
||||
selector: td:nth-of-type(2) a
|
||||
details:
|
||||
selector: td:nth-of-type(2) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-of-type(3) a
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-of-type(4)
|
||||
date:
|
||||
# Danas<br>08:10 AM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):contains("Danas")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Danas", "Today"]
|
||||
date:
|
||||
# Juče<br>06:44 PM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):contains("Juče")
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Juče", "Yesterday"]
|
||||
date:
|
||||
# Feb 14 2019<br>10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):not(:contains("Juče")):not(:contains("Danas"))
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
size:
|
||||
selector: td:nth-of-type(7)
|
||||
grabs:
|
||||
selector: td:nth-of-type(8) a
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "([\\d]+)"
|
||||
seeders:
|
||||
selector: td:nth-of-type(9)
|
||||
leechers:
|
||||
selector: td:nth-of-type(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src$=\"/pic/freedownload.gif\"]": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
text: "1"
|
@@ -52,11 +52,11 @@
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
s: "{{ .Keywords }}"
|
||||
|
237
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
237
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
@@ -0,0 +1,237 @@
|
||||
---
|
||||
site: dark-shadow
|
||||
name: Dark-Shadow
|
||||
description: "Dark-Shadow is a German Private site for TV / MOVIES / GENERAL"
|
||||
language: de-de
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dark-shadow.ml/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Film
|
||||
- {id: 32, cat: Movies/HD, desc: "Film HD"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Film SD"}
|
||||
- {id: 119, cat: Movies/DVD, desc: "Film DVD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Film 4K/2160p"}
|
||||
- {id: 26, cat: Movies/3D, desc: "Film 3D"}
|
||||
# Serien
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack"}
|
||||
- {id: 122, cat: TV, desc: "Serien Show"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Serien Doku"}
|
||||
# Doku
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
# Spiele
|
||||
- {id: 17, cat: PC/Games, desc: "Spiele PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiele Konsole"}
|
||||
- {id: 121, cat: Console, desc: "Spiele Wimmelbild"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiele Mobil"}
|
||||
# Musik
|
||||
- {id: 110, cat: Audio/MP3, desc: "Musik MP3"}
|
||||
- {id: 52, cat: Audio, desc: "Musik Pack"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Musik Flac"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Musik Video"}
|
||||
# App
|
||||
- {id: 12, cat: PC/0day, desc: "App PC"}
|
||||
- {id: 125, cat: PC/Mac, desc: "App MacOS"}
|
||||
- {id: 11, cat: PC/Phone-Other, desc: "App Mobil"}
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
# Internal
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal Serien SD"}
|
||||
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
|
||||
# Sonstiges
|
||||
- {id: 64, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 96, cat: Books/Ebook, desc: "e-Book"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Hörbuch"}
|
||||
- {id: 71, cat: Other, desc: "Anderes"}
|
||||
# XXX
|
||||
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
|
||||
- {id: 75, cat: XXX/Packs, desc: "XXX Pack"}
|
||||
- {id: 76, cat: XXX/XviD, desc: "XXX SD"}
|
||||
- {id: 124, cat: XXX/Other, desc: "XXX Clips"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: pin
|
||||
type: text
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
pin: "{{ .Config.pin }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: selection.php
|
||||
|
||||
download:
|
||||
before:
|
||||
path: ajax_det_poll.php
|
||||
method: "post"
|
||||
inputs:
|
||||
set_thanks: "thanks"
|
||||
det_id: "{{ .DownloadUri.Query.torrent }}"
|
||||
ajax: "yes"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
blah: "0"
|
||||
orderby: "added"
|
||||
sort: "desc"
|
||||
rows:
|
||||
selector: div.selection_wrap
|
||||
fields:
|
||||
download:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
title:
|
||||
selector: a.selection_a
|
||||
details:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
category:
|
||||
selector: div.kat_cat_pic
|
||||
case:
|
||||
# Movies
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"4K/2160p\"))": "114"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"DVD\"))": "119"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "32"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "28"
|
||||
":has(div.kat_cat_pic_name:contains(\"Movie\")):has(div.kat_cat_pic_name_b:contains(\"3D\"))": "26"
|
||||
# Serien
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "60"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "57"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "59"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Show\"))": "122"
|
||||
":has(div.kat_cat_pic_name:contains(\"Serien\")):has(div.kat_cat_pic_name_b:contains(\"Doku\"))": "123"
|
||||
# Musik
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Flac\"))": "48"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"MP3\"))": "110"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "52"
|
||||
":has(div.kat_cat_pic_name:contains(\"Music\")):has(div.kat_cat_pic_name_b:contains(\"Videos\"))": "120"
|
||||
# Doku
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "15"
|
||||
":has(div.kat_cat_pic_name:contains(\"Doku\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "14"
|
||||
# Games
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "17"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Wimmelbild\"))": "121"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Konsole\"))": "24"
|
||||
":has(div.kat_cat_pic_name:contains(\"Game\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "126"
|
||||
# App
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"PC\"))": "12"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"MacOS\"))": "125"
|
||||
":has(div.kat_cat_pic_name:contains(\"App\")):has(div.kat_cat_pic_name_b:contains(\"Mobil\"))": "11"
|
||||
# Sport
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "62"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sport\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "61"
|
||||
# Sonstiges
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Anime\"))": "64"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"E-Book\"))": "96"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Hörbuch\"))": "63"
|
||||
":has(div.kat_cat_pic_name:contains(\"Sonstiges\")):has(div.kat_cat_pic_name_b:contains(\"Other\"))": "71"
|
||||
# XXX
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"SD\"))": "76"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"HD\"))": "73"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Pack\"))": "75"
|
||||
":has(div.kat_cat_pic_name:contains(\"XXX\")):has(div.kat_cat_pic_name_b:contains(\"Clips\"))": "124"
|
||||
# Internal
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film HD\"))": "128"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Film SD\"))": "129"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien HD\"))": "130"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Serien SD\"))": "131"
|
||||
":has(div.kat_cat_pic_name:contains(\"Internal\")):has(div.kat_cat_pic_name_b:contains(\"Sonstiges\"))": "132"
|
||||
banner:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
filters:
|
||||
- name: trim
|
||||
args: "x"
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", ""]
|
||||
- name: replace
|
||||
args: [",", "."]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
optional: true
|
@@ -22,6 +22,7 @@
|
||||
- {id: 2, cat: Other, desc: "MiSC"}
|
||||
- {id: 5, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 27, cat: Movies, desc: "Movies | Pack"}
|
||||
- {id: 63, cat: Movies, desc: "Movies | Pack-Ro"}
|
||||
- {id: 46, cat: Movies/3D, desc: "Movies | 3D"}
|
||||
- {id: 26, cat: Movies/SD, desc: "Movies | Cam"}
|
||||
- {id: 25, cat: Movies, desc: "Movies | Documentary"}
|
||||
@@ -30,24 +31,33 @@
|
||||
- {id: 23, cat: Movies/HD, desc: "Movies | HD"}
|
||||
- {id: 31, cat: Movies/HD, desc: "Movies | HD-Ro"}
|
||||
- {id: 34, cat: Movies/Foreign, desc: "Movies | Hindi"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Movies | Xvid"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Movies | Xvid-Ro"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Movies | SD"}
|
||||
- {id: 36, cat: Movies/SD, desc: "Movies | SD-Ro"}
|
||||
- {id: 50, cat: Movies/BluRay, desc: "Movies | Blu-Ray"}
|
||||
- {id: 51, cat: Movies/BluRay, desc: "Movies | Blu-Ray-Ro"}
|
||||
- {id: 55, cat: Movies/UHD, desc: "Movies | 4K"}
|
||||
- {id: 59, cat: Movies/UHD, desc: "Movies | 4K-Ro"}
|
||||
- {id: 21, cat: Audio/Video, desc: "Music | Video"}
|
||||
- {id: 19, cat: Audio , desc: "Music | Mp3/Flac"}
|
||||
- {id: 18, cat: Other, desc: "Other"}
|
||||
- {id: 42, cat: Other, desc: "Premiera | DsT"}
|
||||
- {id: 14, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 47, cat: TV/SD, desc: "Tv | Episodes"}
|
||||
- {id: 28, cat: TV/HD, desc: "Tv-HD | Episodes"}
|
||||
- {id: 47, cat: TV/HD, desc: "Tv | HD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Tv | HD-Ro"}
|
||||
- {id: 28, cat: TV/SD, desc: "Tv | SD"}
|
||||
- {id: 58, cat: TV/SD, desc: "Tv | SD-Ro"}
|
||||
- {id: 54, cat: TV, desc: "Tv | Pack"}
|
||||
- {id: 61, cat: TV, desc: "Tv | Pack-Ro"}
|
||||
- {id: 13, cat: Other, desc: "Tutoriale"}
|
||||
- {id: 12, cat: XXX, desc: "XxX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -55,57 +65,27 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
ratio:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
selector: font:contains("Ratio:") > span
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
rows:
|
||||
selector: div.ncls > table > tbody > tr:has(a.tname)
|
||||
fields:
|
||||
title-attribute:
|
||||
selector: a.tname
|
||||
attribute: title
|
||||
title-text:
|
||||
selector: a.tname
|
||||
title:
|
||||
text: "{{if .Result.title-attribute }}{{ .Result.title-attribute }}{{else}}{{ .Result.title-text }}{{end}}"
|
||||
selector: a.tname
|
||||
details:
|
||||
selector: a.tname
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="/download.php/"], a[href^="/downloadd.php/"] # some releases use a download link with two d's
|
||||
attribute: href
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
selector: td:nth-child(2) > right > div:has(font:contains("Uploaded"))
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Uploaded: ", ""]
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
banner:
|
||||
selector: a.tname
|
||||
attribute: onmouseover
|
||||
@@ -116,13 +96,35 @@
|
||||
selector: a[href^="http://www.imdb.com/title/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
download:
|
||||
selector: a[href^="/download.php/"], a[href^="/downloadd.php/"] # some releases use a download link with two d's
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:contains("Added:") a#added-btn
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Added: ", ""]
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"img[src=\"pic/free.png\"]": "0"
|
||||
"a#free-btn": "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:nth-child(2) > right
|
||||
remove: div
|
||||
|
@@ -81,7 +81,7 @@
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: /login.php?from=index1
|
||||
path: login.php?from=index1
|
||||
method: post
|
||||
inputs:
|
||||
action: "login"
|
||||
|
129
src/Jackett.Common/Definitions/divteam.yml
Normal file
129
src/Jackett.Common/Definitions/divteam.yml
Normal file
@@ -0,0 +1,129 @@
|
||||
---
|
||||
site: divteam
|
||||
name: DivTeam
|
||||
description: "DivTeam is a SPANISH Private Torrent Tracker for MOVIES / GENERAL"
|
||||
language: es-es
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://divteam.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 60, cat: Movies/HD, desc: "MicroHD 720p"}
|
||||
- {id: 77, cat: Movies/HD, desc: "MicroHD 1080p"}
|
||||
- {id: 78, cat: Movies/HD, desc: "MicroHD 4k"}
|
||||
- {id: 64, cat: TV/HD, desc: "Pack Series"}
|
||||
- {id: 65, cat: TV/HD, desc: "Pack Series VOSE"}
|
||||
- {id: 80, cat: Movies/BluRay, desc: "BDRip X265 1080p"}
|
||||
- {id: 81, cat: Movies/UHD, desc: "UHDRip x265 4K"}
|
||||
- {id: 82, cat: Movies/WEBDL, desc: "Pelis Web-DL 1080"}
|
||||
- {id: 83, cat: Movies/WEBDL, desc: "Pelis Web-DL 720"}
|
||||
- {id: 84, cat: Movies/UHD, desc: "UHD Remux x265"}
|
||||
- {id: 23, cat: TV/Sport, desc: "Deportes"}
|
||||
- {id: 20, cat: TV/HD, desc: "Series"}
|
||||
- {id: 31, cat: TV/HD, desc: "Series VOSE"}
|
||||
- {id: 69, cat: Movies, desc: "Ciclo Cine Clasico"}
|
||||
- {id: 70, cat: Movies, desc: "Ciclo Clint Eastwood"}
|
||||
- {id: 71, cat: Movies, desc: "Ciclo Studio Ghibli"}
|
||||
- {id: 72, cat: Movies, desc: "Ciclo George A. Romero"}
|
||||
- {id: 73, cat: Movies, desc: "Saga Fast And Furious"}
|
||||
- {id: 74, cat: Movies, desc: "Saga Crepúsculo"}
|
||||
- {id: 75, cat: Movies, desc: "Saga The Purge"}
|
||||
- {id: 79, cat: Movies, desc: "Saga Star Wars"}
|
||||
- {id: 18, cat: Movies/BluRay, desc: "Video Full & Remux"}
|
||||
- {id: 76, cat: Movies, desc: "x-men saga"}
|
||||
- {id: 6, cat: Books/Ebook, desc: "EBooks"}
|
||||
- {id: 58, cat: Books/Ebook, desc: "Kiosko"}
|
||||
- {id: 24, cat: TV/Documentary, desc: "Documentales"}
|
||||
- {id: 32, cat: TV/Documentary, desc: "Documentales VOSE"}
|
||||
- {id: 49, cat: Books/Ebook, desc: "eLearning"}
|
||||
- {id: 68, cat: TV, desc: "eLearning Multimedia"}
|
||||
- {id: 16, cat: Movies/DVD, desc: "DVD-Rip"}
|
||||
- {id: 48, cat: Movies/BluRay, desc: "BR-Rip/HD-Rip"}
|
||||
- {id: 17, cat: Movies/BluRay, desc: "BD-Rip"}
|
||||
- {id: 5, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 34, cat: PC/Games, desc: "Juegos Pc"}
|
||||
- {id: 7, cat: PC/0day, desc: "Software Pc"}
|
||||
- {id: 35, cat: Console, desc: "Juegos Sony"}
|
||||
- {id: 36, cat: PC/Games, desc: "Juegos Microsoft"}
|
||||
- {id: 37, cat: Console/NDS, desc: "Juegos Nintendo"}
|
||||
- {id: 45, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 44, cat: Audio/Lossless, desc: "Music flac"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div#login-alert
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://divteam.com/index.php?page=torrents&search=daredevil&category=20;23;31;65;64;60;63;69;70;71;72;73;74;75;76;77;78;80;81;82;83;84&active=1
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: "torrents"
|
||||
category: "{{range .Categories}}{{.}};{{end}}"
|
||||
search: "{{if .Keywords }}{{.Keywords}}{{else}}{{end}}"
|
||||
active: 0
|
||||
options: 0
|
||||
|
||||
rows:
|
||||
selector: table.table.table-bordered > tbody > tr:has(a[href^="download.php?id="])
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
banner:
|
||||
selector: a[onmouseover][href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/gold.png"]: "0"
|
||||
img[src="images/silver.png"]: "0.5"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="images/2x.png"]: "2"
|
||||
img[src="images/3x.png"]: "3"
|
||||
img[src="images/4x.png"]: "4"
|
||||
img[src="images/5x.png"]: "5"
|
||||
"*": "1"
|
142
src/Jackett.Common/Definitions/documentarytorrents.yml
Normal file
142
src/Jackett.Common/Definitions/documentarytorrents.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
site: documentarytorrents
|
||||
name: DocumentaryTorrents
|
||||
description: "Documentary Torrents (DT) is a Private Torrent Tracker for E-LEARNING MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.documentarytorrents.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 128, cat: TV/HD, desc: "Adventure: HD"}
|
||||
- {id: 129, cat: TV/SD, desc: "Adventure: Xvid / x264"}
|
||||
- {id: 85, cat: TV/SD, desc: "Biography: Xvid / x264"}
|
||||
- {id: 86, cat: TV/HD, desc: "Biography: HD"}
|
||||
- {id: 60, cat: TV/HD, desc: "Computers: HD"}
|
||||
- {id: 58, cat: TV/SD, desc: "Computers: Xvid / x264"}
|
||||
- {id: 103, cat: TV/SD, desc: "Crime: Xvid / x264"}
|
||||
- {id: 105, cat: TV/HD, desc: "Crime: HD"}
|
||||
- {id: 64, cat: TV/SD, desc: "Culture: Xvid / x264"}
|
||||
- {id: 66, cat: TV/HD, desc: "Culture: HD"}
|
||||
- {id: 122, cat: TV/SD, desc: "Discovery: Xvid / x264"}
|
||||
- {id: 123, cat: TV/HD, desc: "Discovery: HD"}
|
||||
- {id: 98, cat: TV/HD, desc: "Drugs: HD"}
|
||||
- {id: 97, cat: TV/SD, desc: "Drugs: Xvid / x264"}
|
||||
- {id: 92, cat: TV/HD, desc: "Economy: HD"}
|
||||
- {id: 91, cat: TV/SD, desc: "Economy: Xvid / x264"}
|
||||
- {id: 83, cat: TV/HD, desc: "Food: HD"}
|
||||
- {id: 82, cat: TV/SD, desc: "Food: Xvid / x264"}
|
||||
- {id: 124, cat: TV/HD, desc: "HBO: HD"}
|
||||
- {id: 125, cat: TV/SD, desc: "HBO: Xvid / x264"}
|
||||
- {id: 76, cat: TV/SD, desc: "Health: Xvid / x264"}
|
||||
- {id: 78, cat: TV/HD, desc: "Health: HD"}
|
||||
- {id: 67, cat: TV/SD, desc: "History: Xvid / x264"}
|
||||
- {id: 69, cat: TV/HD, desc: "History: HD"}
|
||||
- {id: 79, cat: TV/SD, desc: "Humor: Xvid / x264"}
|
||||
- {id: 80, cat: TV/HD, desc: "Humor: HD"}
|
||||
- {id: 116, cat: TV/HD, desc: "Music: HD"}
|
||||
- {id: 115, cat: TV/SD, desc: "Music: Xvid / x264"}
|
||||
- {id: 118, cat: TV/HD, desc: "NatGeo: HD"}
|
||||
- {id: 119, cat: TV/SD, desc: "NatGeo: Xvid / x264"}
|
||||
- {id: 63, cat: TV/HD, desc: "Nature: HD"}
|
||||
- {id: 61, cat: TV/SD, desc: "Nature: Xvid / x264"}
|
||||
- {id: 109, cat: TV/SD, desc: "New World Order: Xvid / x264"}
|
||||
- {id: 111, cat: TV/HD, desc: "New World Order: HD"}
|
||||
- {id: 48, cat: TV/HD, desc: "Other: HD"}
|
||||
- {id: 50, cat: TV/HD, desc: "Other: DVD"}
|
||||
- {id: 9, cat: TV/SD, desc: "Other: Xvid / x264"}
|
||||
- {id: 126, cat: TV/HD, desc: "PBS: HD"}
|
||||
- {id: 127, cat: TV/SD, desc: "PBS: Xvid / x264"}
|
||||
- {id: 72, cat: TV/HD, desc: "Politics: HD"}
|
||||
- {id: 112, cat: Books/Ebook, desc: "Politics: Ebook"}
|
||||
- {id: 70, cat: TV/SD, desc: "Politics: Xvid / x264"}
|
||||
- {id: 114, cat: Books/Ebook, desc: "Reference: Ebook"}
|
||||
- {id: 117, cat: Audio/Audiobook, desc: "Reference: Audio Book"}
|
||||
- {id: 56, cat: TV/HD, desc: "Religion: HD"}
|
||||
- {id: 54, cat: TV/SD, desc: "Religion: Xvid / x264"}
|
||||
- {id: 94, cat: TV/SD, desc: "Science: Xvid / x264"}
|
||||
- {id: 95, cat: TV/HD, desc: "Science: HD"}
|
||||
- {id: 75, cat: TV/HD, desc: "Space: HD"}
|
||||
- {id: 73, cat: TV/SD, desc: "Space: Xvid / x264"}
|
||||
- {id: 113, cat: TV/HD, desc: "Space: DVD"}
|
||||
- {id: 100, cat: TV/SD, desc: "Sports: Xvid / x264"}
|
||||
- {id: 102, cat: TV/HD, desc: "Sports: HD"}
|
||||
- {id: 106, cat: TV/SD, desc: "Technology: Xvid / x264"}
|
||||
- {id: 108, cat: TV/HD, desc: "Technology: HD"}
|
||||
- {id: 121, cat: TV/SD, desc: "Transport: Xvid / x264"}
|
||||
- {id: 120, cat: TV/HD, desc: "Transport: HD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Travel: HD"}
|
||||
- {id: 52, cat: TV/SD, desc: "Travel: Xvid / x264"}
|
||||
- {id: 89, cat: TV/HD, desc: "War: HD"}
|
||||
- {id: 88, cat: TV/SD, desc: "War: Xvid / x264"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: form
|
||||
form: form[action="account-login.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.myBlock:has(font.error)
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href$="/account-logout.php"]
|
||||
|
||||
ratio:
|
||||
path: index.php
|
||||
selector: img[title="Ratio"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://documentarytorrents.com/torrents.php?c123=1&c69=1&c67=1&c89=1&c88=1&search=grow+old&cat=0&incldead=1&freeleech=0&lang=0
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
cat: 0
|
||||
incldead: 1
|
||||
freeleech: 0
|
||||
lang: 0
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner tr.t-row
|
||||
filters:
|
||||
- name: andmatch
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/freeleech_star.gif"]: "0"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
@@ -86,7 +86,7 @@
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
@@ -106,7 +106,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "ajax_det_poll.php"
|
||||
path: ajax_det_poll.php
|
||||
method: "post"
|
||||
inputs:
|
||||
set_thanks: "thanks"
|
||||
@@ -236,13 +236,22 @@
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
# 2 flavours of dates
|
||||
date:
|
||||
selector: div.selection_unter_ab
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
date:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: dateparse
|
||||
|
@@ -30,23 +30,6 @@
|
||||
- {id: 144, cat: Movies, desc: "9.5 packages"}
|
||||
- {id: 145, cat: Movies, desc: "9.6 filmography"}
|
||||
- {id: 143, cat: Movies, desc: "9.7 Tv Movies"}
|
||||
# - {id: 130, cat: , desc: ""}
|
||||
# - {id: 131, cat: , desc: ""}
|
||||
# - {id: 132, cat: , desc: ""}
|
||||
# - {id: 133, cat: , desc: ""}
|
||||
# - {id: 134, cat: , desc: ""}
|
||||
# - {id: 135, cat: , desc: ""}
|
||||
# - {id: 136, cat: , desc: ""}
|
||||
# - {id: 137, cat: , desc: ""}
|
||||
# - {id: 138, cat: , desc: ""}
|
||||
# - {id: 139, cat: , desc: ""}
|
||||
# - {id: 140, cat: , desc: ""}
|
||||
# - {id: 141, cat: , desc: ""}
|
||||
# - {id: 142, cat: , desc: ""}
|
||||
# - {id: 144, cat: , desc: ""}
|
||||
# - {id: 145, cat: , desc: ""}
|
||||
# - {id: 143, cat: , desc: ""}
|
||||
# - {id: 116, cat: , desc: ""}
|
||||
- {id: 116, cat: Movies, desc: "Two foreign films integrated subtitles"}
|
||||
- {id: 146, cat: Movies, desc: "CAM / TS / TC"}
|
||||
- {id: 147, cat: Movies, desc: "DVDSCR / PPVRiP / WebRip / R5"}
|
||||
@@ -55,24 +38,10 @@
|
||||
- {id: 150, cat: Movies, desc: "MicroHD"}
|
||||
- {id: 151, cat: Movies, desc: "HD - WEB-DL"}
|
||||
- {id: 152, cat: Movies, desc: "Tv Movies"}
|
||||
# - {id: 242, cat: , desc: ""}
|
||||
- {id: 153, cat: Movies, desc: "Packages"}
|
||||
- {id: 154, cat: Movies, desc: "filmography"}
|
||||
- {id: 243, cat: Movies, desc: "HD 1080p"}
|
||||
- {id: 244, cat: Movies, desc: "HD 480p"}
|
||||
# - {id: 146, cat: , desc: ""}
|
||||
# - {id: 147, cat: , desc: ""}
|
||||
# - {id: 148, cat: , desc: ""}
|
||||
# - {id: 149, cat: , desc: ""}
|
||||
# - {id: 150, cat: , desc: ""}
|
||||
# - {id: 151, cat: , desc: ""}
|
||||
# - {id: 152, cat: , desc: ""}
|
||||
# - {id: 242, cat: , desc: ""}
|
||||
# - {id: 153, cat: , desc: ""}
|
||||
# - {id: 154, cat: , desc: ""}
|
||||
# - {id: 243, cat: , desc: ""}
|
||||
# - {id: 244, cat: , desc: ""}
|
||||
# - {id: 117, cat: , desc: ""}
|
||||
- {id: 117, cat: Movies, desc: "???????e? ?a???e?"}
|
||||
- {id: 155, cat: Movies, desc: "CAM / TS / TC"}
|
||||
- {id: 156, cat: Movies, desc: "SCR / PPVRiP / Webrip / R5"}
|
||||
@@ -85,18 +54,6 @@
|
||||
- {id: 163, cat: Movies, desc: "TV Movies"}
|
||||
- {id: 164, cat: Movies, desc: "?a?eta 8"}
|
||||
- {id: 165, cat: Movies, desc: "F??µ???af?e?"}
|
||||
# - {id: 155, cat: , desc: ""}
|
||||
# - {id: 156, cat: , desc: ""}
|
||||
# - {id: 157, cat: , desc: ""}
|
||||
# - {id: 158, cat: , desc: ""}
|
||||
# - {id: 159, cat: , desc: ""}
|
||||
# - {id: 160, cat: , desc: ""}
|
||||
# - {id: 161, cat: , desc: ""}
|
||||
# - {id: 162, cat: , desc: ""}
|
||||
# - {id: 163, cat: , desc: ""}
|
||||
# - {id: 164, cat: , desc: ""}
|
||||
# - {id: 165, cat: , desc: ""}
|
||||
# - {id: 118, cat: , desc: ""}
|
||||
- {id: 118, cat: TV, desc: "Foreign Television external subtitles"}
|
||||
- {id: 166, cat: TV, desc: "SD"}
|
||||
- {id: 167, cat: TV, desc: "720p"}
|
||||
@@ -104,13 +61,6 @@
|
||||
- {id: 169, cat: TV, desc: "Sport"}
|
||||
- {id: 170, cat: TV, desc: "documentaries"}
|
||||
- {id: 171, cat: TV, desc: "Packages"}
|
||||
# - {id: 166, cat: , desc: ""}
|
||||
# - {id: 167, cat: , desc: ""}
|
||||
# - {id: 168, cat: , desc: ""}
|
||||
# - {id: 169, cat: , desc: ""}
|
||||
# - {id: 170, cat: , desc: ""}
|
||||
# - {id: 171, cat: , desc: ""}
|
||||
# - {id: 119, cat: , desc: ""}
|
||||
- {id: 119, cat: TV, desc: "foreign Television integrated subtitles"}
|
||||
- {id: 172, cat: TV, desc: "SD"}
|
||||
- {id: 173, cat: TV, desc: "720p"}
|
||||
@@ -119,14 +69,6 @@
|
||||
- {id: 176, cat: TV, desc: "documentaries"}
|
||||
- {id: 177, cat: TV, desc: "Tv Rips"}
|
||||
- {id: 178, cat: TV, desc: "Packages"}
|
||||
# - {id: 172, cat: , desc: ""}
|
||||
# - {id: 173, cat: , desc: ""}
|
||||
# - {id: 174, cat: , desc: ""}
|
||||
# - {id: 175, cat: , desc: ""}
|
||||
# - {id: 176, cat: , desc: ""}
|
||||
# - {id: 177, cat: , desc: ""}
|
||||
# - {id: 178, cat: , desc: ""}
|
||||
# - {id: 120, cat: , desc: ""}
|
||||
- {id: 120, cat: TV, desc: "Greek Television"}
|
||||
- {id: 179, cat: TV, desc: "SD"}
|
||||
- {id: 180, cat: TV, desc: "720p"}
|
||||
@@ -135,14 +77,6 @@
|
||||
- {id: 183, cat: TV, desc: "five documentaries"}
|
||||
- {id: 184, cat: TV, desc: "six Tv Rips"}
|
||||
- {id: 185, cat: TV, desc: "Packages"}
|
||||
# - {id: 179, cat: , desc: ""}
|
||||
# - {id: 180, cat: , desc: ""}
|
||||
# - {id: 181, cat: , desc: ""}
|
||||
# - {id: 182, cat: , desc: ""}
|
||||
# - {id: 183, cat: , desc: ""}
|
||||
# - {id: 184, cat: , desc: ""}
|
||||
# - {id: 185, cat: , desc: ""}
|
||||
# - {id: 122, cat: , desc: ""}
|
||||
- {id: 122, cat: Audio, desc: "?e?? ???s???"}
|
||||
- {id: 216, cat: Audio, desc: "1. DJs Stuff & Promos"}
|
||||
- {id: 217, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
|
||||
@@ -156,7 +90,6 @@
|
||||
- {id: 225, cat: Audio, desc: "9.1 Varius Artist"}
|
||||
- {id: 226, cat: Audio, desc: "9.2 Compact Disc Club"}
|
||||
- {id: 227, cat: Audio, desc: "9.3 ???s??a Video Clips"}
|
||||
# - {id: 123, cat: , desc: ""}
|
||||
- {id: 123, cat: Audio, desc: "???????? ???s???"}
|
||||
- {id: 228, cat: Audio, desc: "1. DJs Stuff & Promos"}
|
||||
- {id: 229, cat: Audio, desc: "2. DJs Stuff & Promos (Flac)"}
|
||||
@@ -171,7 +104,6 @@
|
||||
- {id: 238, cat: Audio, desc: "9.2 Varius Artist"}
|
||||
- {id: 239, cat: Audio, desc: "9.3 Compact Disc Club"}
|
||||
- {id: 240, cat: Audio, desc: "9.4 ???s??a Video Clips"}
|
||||
# - {id: 121, cat: , desc: ""}
|
||||
- {id: 121, cat: Movies, desc: "children"}
|
||||
- {id: 186, cat: Movies, desc: "children's films external subtitles"}
|
||||
- {id: 187, cat: Movies, desc: "two children's films integrated subtitles"}
|
||||
@@ -182,16 +114,6 @@
|
||||
- {id: 192, cat: Movies, desc: "Anime external subtitles"}
|
||||
- {id: 193, cat: Movies, desc: "Anime integrated subtitles"}
|
||||
- {id: 194, cat: Movies, desc: "Anime Metaglotismenes"}
|
||||
# - {id: 186, cat: , desc: ""}
|
||||
# - {id: 187, cat: , desc: ""}
|
||||
# - {id: 188, cat: , desc: ""}
|
||||
# - {id: 189, cat: , desc: ""}
|
||||
# - {id: 190, cat: , desc: ""}
|
||||
# - {id: 191, cat: , desc: ""}
|
||||
# - {id: 192, cat: , desc: ""}
|
||||
# - {id: 193, cat: , desc: ""}
|
||||
# - {id: 194, cat: , desc: ""}
|
||||
# - {id: 128, cat: , desc: ""}
|
||||
- {id: 128, cat: Console, desc: "9.1 ?a????d?a"}
|
||||
- {id: 195, cat: Console, desc: "Windows Games"}
|
||||
- {id: 196, cat: Console, desc: "Nintendo DS"}
|
||||
@@ -201,41 +123,23 @@
|
||||
- {id: 200, cat: Console, desc: "Sony PSP"}
|
||||
- {id: 201, cat: Console, desc: "Wii"}
|
||||
- {id: 202, cat: Console, desc: "XboX 360"}
|
||||
# - {id: 124, cat: , desc: ""}
|
||||
- {id: 124, cat: PC, desc: "9.2 Applications"}
|
||||
- {id: 203, cat: PC, desc: "Applications Windows"}
|
||||
- {id: 204, cat: PC, desc: "Applications Mac"}
|
||||
- {id: 205, cat: PC, desc: "Linux Applications"}
|
||||
# - {id: 203, cat: , desc: ""}
|
||||
# - {id: 204, cat: , desc: ""}
|
||||
# - {id: 205, cat: , desc: ""}
|
||||
# - {id: 126, cat: , desc: ""}
|
||||
- {id: 126, cat: Books, desc: "9.3 Electronic Books"}
|
||||
- {id: 206, cat: Books, desc: "Electronic books"}
|
||||
- {id: 207, cat: Books, desc: "Magazines"}
|
||||
- {id: 208, cat: Books, desc: "Comic Books"}
|
||||
# - {id: 206, cat: , desc: ""}
|
||||
# - {id: 207, cat: , desc: ""}
|
||||
# - {id: 208, cat: , desc: ""}
|
||||
# - {id: 125, cat: , desc: ""}
|
||||
- {id: 125, cat: Other, desc: "9.4 Gallery"}
|
||||
- {id: 209, cat: Other, desc: "Gallery"}
|
||||
- {id: 210, cat: Other, desc: "Gallery HD"}
|
||||
- {id: 211, cat: Other, desc: "Photos 3D"}
|
||||
- {id: 212, cat: Other, desc: "Wallpapers"}
|
||||
- {id: 213, cat: Other, desc: "Screensavers"}
|
||||
# - {id: 209, cat: , desc: ""}
|
||||
# - {id: 210, cat: , desc: ""}
|
||||
# - {id: 211, cat: , desc: ""}
|
||||
# - {id: 212, cat: , desc: ""}
|
||||
# - {id: 213, cat: , desc: ""}
|
||||
# - {id: 127, cat: , desc: ""}
|
||||
- {id: 127, cat: PC/Phone-Other, desc: "9.5 Mobile / Miscellaneous"}
|
||||
- {id: 214, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 215, cat: PC/Phone-Other, desc: "Miscellaneous"}
|
||||
# - {id: 214, cat: , desc: ""}
|
||||
# - {id: 215, cat: , desc: ""}
|
||||
# - {id: 129, cat: , desc: ""}
|
||||
- {id: 129, cat: Other, desc: "9.6 Blocked DREAM TEAM"}
|
||||
|
||||
modes:
|
||||
@@ -256,7 +160,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "takethanks.php"
|
||||
path: takethanks.php
|
||||
method: "post"
|
||||
inputs:
|
||||
torrentid: "{{ .DownloadUri.Query.id }}"
|
||||
|
@@ -26,7 +26,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -34,11 +34,11 @@
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -101,9 +101,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
|
@@ -25,7 +25,11 @@
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
path: index.php
|
||||
# site returns just 30 results, attempt to fetch upto 90
|
||||
paths:
|
||||
- path: /
|
||||
- path: /page/2/
|
||||
- path: /page/3/
|
||||
keywordsfilters:
|
||||
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
|
||||
- name: re_replace
|
||||
@@ -61,6 +65,10 @@
|
||||
- name: split
|
||||
args: ["/", 3]
|
||||
size:
|
||||
text: "0 B"
|
||||
size:
|
||||
# size can be missing
|
||||
optional: true
|
||||
selector: .voto1
|
||||
filters:
|
||||
- name: replace
|
||||
|
@@ -4,7 +4,7 @@
|
||||
---
|
||||
site: empornium
|
||||
name: Empornium
|
||||
description: "A porn tracker"
|
||||
description: "Empornium (EMP) is a Private Torrent Tracker for XXX"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
@@ -53,11 +53,11 @@
|
||||
- name: replace
|
||||
args: ["\");", ""]
|
||||
test:
|
||||
path: /letoltes.php
|
||||
path: letoltes.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /letoltes.php
|
||||
- path: letoltes.php
|
||||
method: get
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}kat[]={{.}}&{{end}}"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.ettv.tv
|
||||
- https://www.ettv.tv/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -49,6 +49,8 @@
|
||||
download:
|
||||
selector: td:nth-child(3) a.magnet, td:nth-child(3) a
|
||||
attribute: href
|
||||
size:
|
||||
text: "500 MB"
|
||||
size:
|
||||
optional: true
|
||||
selector: td:nth-child(4)
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.fano.in
|
||||
- https://www.fano.in/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
---
|
||||
site: femdomcult
|
||||
name: Femdomcult
|
||||
description: "A porn tracker"
|
||||
description: "Femdomcult is a Private Torrent Tracker for FETISH XXX"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "list_thanks.php"
|
||||
path: list_thanks.php
|
||||
method: "get"
|
||||
inputs:
|
||||
id: "{{ .DownloadUri.Query.id }}"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://funkytorrents.com
|
||||
- http://funkytorrents.com/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
#$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
site: gay-torrents
|
||||
name: Gay-Torrents.net
|
||||
description: "Gay Torrents Live Free!"
|
||||
description: "Gay-Torrents.net is a Private Torrent Tracker for GAY XXX"
|
||||
language: en-us
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
|
@@ -3,12 +3,12 @@
|
||||
#
|
||||
site: gay-torrentsorg
|
||||
name: gay-torrents.org
|
||||
description: "Tracker for GAY XXX, movies, TV, books and PC."
|
||||
description: "Gay-Torrents.org is a Private Torrent Tracker for GAY XXX"
|
||||
language: en-us
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://gay-torrents.org
|
||||
- https://gay-torrents.org/
|
||||
- https://gay-area.org/
|
||||
|
||||
settings:
|
||||
|
@@ -4,7 +4,7 @@
|
||||
#
|
||||
site: gaytorrentru
|
||||
name: GAYtorrent.ru
|
||||
description: "World largest gay porn library for free with a stunning forum and 24/7 chat."
|
||||
description: "GayTorrent.ru is a Private Torrent Tracker for GAY XXX"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
@@ -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"]
|
||||
|
@@ -218,7 +218,7 @@
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
"login_username": "{{ .Config.username }}"
|
||||
@@ -230,12 +230,12 @@
|
||||
message:
|
||||
selector: td.thead b
|
||||
test:
|
||||
path: /tracker.php
|
||||
path: tracker.php
|
||||
selector: li a[href^="login.php?logout=1"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /tracker.php
|
||||
- path: tracker.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"
|
||||
|
@@ -23,7 +23,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -32,11 +32,11 @@
|
||||
error:
|
||||
- selector: .auth_form > .warning
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchstr: "{{ .Query.Keywords }}"
|
||||
|
@@ -51,7 +51,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
@@ -60,11 +60,11 @@
|
||||
error:
|
||||
- selector: div.box:has(div.title:contains("bejelentkez"))
|
||||
test:
|
||||
path: /torrentek.php
|
||||
path: torrentek.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrentek.php
|
||||
- path: torrentek.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
@@ -77,7 +77,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /index.php?page=login
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
@@ -85,12 +85,12 @@
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /index.php
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: "thanks.php"
|
||||
path: thanks.php
|
||||
method: "post"
|
||||
inputs:
|
||||
infohash: "{{ .DownloadUri.Query.id }}"
|
||||
@@ -100,34 +100,34 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 1
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 2
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 3
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 4
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 5
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 6
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 7
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 8
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 9
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
inputs:
|
||||
pages: 10
|
||||
inputs:
|
||||
|
@@ -24,6 +24,7 @@
|
||||
- https://www.gktorrent.me/
|
||||
- https://www.rantop.org/
|
||||
- https://www.gktorrent.net/
|
||||
- https://www.gktorrent.cx/
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: movies, cat: Movies, desc: "Movies"}
|
||||
@@ -46,7 +47,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{if .Keywords}}/recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
- path: "{{if .Keywords}}recherche/{{.Keywords}}{{else}}{{end}}"
|
||||
rows:
|
||||
selector: div.listing-torrent > table > tbody > tr:has(a)
|
||||
fields:
|
||||
|
@@ -13,7 +13,7 @@
|
||||
# Movie
|
||||
- {id: 132, cat: Movies/BluRay, desc: "BluRay"}
|
||||
- {id: 146, cat: Movies/HD, desc: "Remux"}
|
||||
- {id: 186, cat: Movies/HD, desc: "UHD"}
|
||||
- {id: 186, cat: Movies/UHD, desc: "UHD"}
|
||||
- {id: 189, cat: Movies/HD, desc: "HD"}
|
||||
- {id: 190, cat: Movies/SD, desc: "SD"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVD"}
|
||||
@@ -21,10 +21,10 @@
|
||||
- {id: 16, cat: Movies, desc: "Packs"}
|
||||
|
||||
# Serien
|
||||
- {id: 187, cat: TV/HD, desc: "Staffeln UHD"}
|
||||
- {id: 187, cat: TV/UHD, desc: "Staffeln UHD"}
|
||||
- {id: 173, cat: TV/HD, desc: "Staffeln HD"}
|
||||
- {id: 133, cat: TV/SD, desc: "Staffeln SD"}
|
||||
- {id: 188, cat: TV/HD, desc: "Folgen UHD"}
|
||||
- {id: 188, cat: TV/UHD, desc: "Folgen UHD"}
|
||||
- {id: 174, cat: TV/HD, desc: "Folgen HD"}
|
||||
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: pin
|
||||
@@ -89,7 +90,7 @@
|
||||
label: Password
|
||||
|
||||
login:
|
||||
path: /login/
|
||||
path: login/
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
|
@@ -78,7 +78,7 @@
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
take_login: "1"
|
||||
@@ -88,11 +88,11 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
@@ -60,9 +60,11 @@
|
||||
- {id: 129, cat: Other/Misc, desc: "Documentales H265"}
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /ajax/login.php
|
||||
path: ajax/login.php
|
||||
method: post
|
||||
headers:
|
||||
user-agent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36"
|
||||
@@ -75,7 +77,7 @@
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /?p=home&pid=1
|
||||
path: ?p=home&pid=1
|
||||
selector: div#member_info_bar
|
||||
|
||||
search:
|
||||
|
@@ -25,7 +25,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -33,11 +33,11 @@
|
||||
error:
|
||||
- selector: table.main:contains("Login Failed!")
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -100,9 +100,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0"
|
||||
|
115
src/Jackett.Common/Definitions/hdarea.yml
Normal file
115
src/Jackett.Common/Definitions/hdarea.yml
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
site: hdarea
|
||||
name: HDArea
|
||||
description: "HDArea is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.hdarea.co
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
|
||||
- {id: 415, cat: Movies/HD, desc: "Movies REMUX"}
|
||||
- {id: 416, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 410, cat: Movies/HD, desc: "Movies 1080p"}
|
||||
- {id: 411, cat: Movies/HD, desc: "Movies 720p"}
|
||||
- {id: 414, cat: Movies/DVD, desc: "Movies DVD"}
|
||||
- {id: 412, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
|
||||
- {id: 413, cat: Movies/HD, desc: "Movies HDTV"}
|
||||
- {id: 417, cat: Movies/Other, desc: "Movies iPad"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations"}
|
||||
- {id: 402, cat: TV, desc: "TV Series"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 409, cat: Other, desc: "Misc"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /torrents.php
|
||||
|
||||
ratio:
|
||||
path: /torrents.php
|
||||
selector: table#info_block
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio:\\s(.*?)\\s\\s"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
incldead: "1"
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
fields:
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
optional: true
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
date:
|
||||
selector: td:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00"
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: "0"
|
||||
img.pro_free2up: "0"
|
||||
img.pro_50pctdown: "0.5"
|
||||
img.pro_50pctdown2up: "0.5"
|
||||
img.pro_30pctdown: "0.3"
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: "2"
|
||||
img.pro_free2up: "2"
|
||||
img.pro_2up: "2"
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, img
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdbits.org
|
||||
- https://hdbits.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -23,7 +23,7 @@
|
||||
search: [q]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
|
@@ -6,7 +6,7 @@
|
||||
encoding: UTF-8
|
||||
type: private
|
||||
links:
|
||||
- https://www.hd-bits.com
|
||||
- https://www.hd-bits.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -33,7 +33,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -42,7 +42,7 @@
|
||||
error:
|
||||
- selector: div#error-text
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
|
@@ -44,25 +44,25 @@
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker in your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
method: cookie
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
|
@@ -115,8 +115,20 @@
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: info
|
||||
type: info
|
||||
label: "IP requirement"
|
||||
default: "This site accepts only users with Spanish IP addresses.<br>For others it will return error: 403 Forbidden."
|
||||
|
||||
login:
|
||||
path: /index.php?page=login
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
|
@@ -1,12 +1,12 @@
|
||||
---
|
||||
site: hdforever
|
||||
name: HD-Forever
|
||||
description: "A french private HD tracker"
|
||||
description: "HD-Forever (HD-F) is a FRENCH Private Torrent Tracker for HD MOVIES"
|
||||
language: fr-fr
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdf.world
|
||||
- https://hdf.world/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: windows-1252
|
||||
links:
|
||||
- https://hdme.eu
|
||||
- https://hdme.eu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -43,7 +43,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
form: form
|
||||
inputs:
|
||||
@@ -54,10 +54,10 @@
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: /my.php
|
||||
path: my.php
|
||||
|
||||
ratio:
|
||||
path: /my.php
|
||||
path: my.php
|
||||
selector: span.smallfont > font
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
122
src/Jackett.Common/Definitions/hdplus.yml
Normal file
122
src/Jackett.Common/Definitions/hdplus.yml
Normal file
@@ -0,0 +1,122 @@
|
||||
---
|
||||
site: hdplus
|
||||
name: HDplus
|
||||
description: "HDplus is Private Torrent Tracker for MOVIES / TV / MUSIC"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdplus.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: 1
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: meta[name="csrf-token"]
|
||||
attribute: content
|
||||
error:
|
||||
- selector: form[action$="/login"] .text-red
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout"]
|
||||
|
||||
ratio:
|
||||
path: /
|
||||
selector: span:has(i.fa-sync-alt)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Ratio : (\\d+)"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
uploader: ""
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tvdb: ""
|
||||
tmdb: ""
|
||||
sort: created_at
|
||||
direction: desc
|
||||
qty: 100
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.view-torrent
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d\.]+)
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
|
||||
- name: re_replace
|
||||
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
|
||||
- name: re_replace
|
||||
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
|
||||
- name: re_replace
|
||||
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
|
||||
- name: re_replace
|
||||
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
|
||||
"*": "1"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
@@ -1,12 +1,12 @@
|
||||
---
|
||||
site: hdsky
|
||||
name: HDSky
|
||||
description: "A chinese tracker"
|
||||
description: "HDSky is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-cn
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdsky.me
|
||||
- https://hdsky.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -40,10 +40,10 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
ratio:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
selector: table#info_block
|
||||
filters:
|
||||
- name: regexp
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
|
||||
|
@@ -38,6 +38,8 @@
|
||||
search:
|
||||
path: index.php
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bS0*(\\d+)\\b", "T$1"]
|
||||
- name: re_replace
|
||||
args: ["S0?(\\d{1,2})E(\\d{1,2})", "$1x$2"]
|
||||
inputs:
|
||||
|
@@ -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"]
|
||||
|
@@ -63,11 +63,11 @@
|
||||
- selector: tbody:has(td.colhead > span:contains("Error"))
|
||||
- selector: tbody:has(td.colhead > span:contains("failed"))
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
@@ -43,7 +43,7 @@
|
||||
label: Pin
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -55,11 +55,11 @@
|
||||
- selector: td.embedded:has(h2:contains("Error"))
|
||||
test:
|
||||
selector: a[href^="logout.php"]
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -10,9 +10,12 @@
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Movies, desc: "FANRES"}
|
||||
- {id: 1, cat: Movies, desc: "Film"}
|
||||
- {id: 2, cat: TV, desc: "Serie"}
|
||||
- {id: 3, cat: Movies, desc: "Doc"}
|
||||
- {id: 4, cat: Movies, desc: "Dessin Anime"}
|
||||
- {id: 5, cat: Movies, desc: "Rlz Hush"}
|
||||
- {id: 6, cat: Movies, desc: "Media"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -20,7 +23,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -28,11 +31,11 @@
|
||||
error:
|
||||
- selector: form[action*="/login"] .text-red
|
||||
test:
|
||||
path: /torrents
|
||||
path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /filterTorrents
|
||||
- path: filterTorrents
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
|
||||
@@ -95,9 +98,9 @@
|
||||
- name: re_replace
|
||||
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
|
||||
@@ -106,4 +109,5 @@
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
|
||||
"*": "1"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.hyperay.org
|
||||
- https://www.hyperay.org/
|
||||
legacylinks:
|
||||
- https://www.hyperay.cc
|
||||
|
||||
@@ -46,11 +46,11 @@
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: /torrents.php
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /torrents.php
|
||||
- path: torrents.php
|
||||
method: post
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.icetorrent.org
|
||||
- https://www.icetorrent.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -26,7 +26,7 @@
|
||||
- {id: 26, cat: PC/Games, desc: "Games/PC"}
|
||||
- {id: 38, cat: PC/Phone-Other, desc: "Mobile"}
|
||||
- {id: 59, cat: Movies/3D, desc: "Movies/3D"}
|
||||
- {id: 92, cat: Movies/HD, desc: "Movies/4K-UHD"}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Movies/4K-UHD"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "Movies/Blu-Ray"}
|
||||
- {id: 28, cat: Movies/DVD, desc: "Movies/DVD"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies/HD-x264"}
|
||||
@@ -53,7 +53,7 @@
|
||||
movie-search: [q, imdbid]
|
||||
|
||||
login:
|
||||
path: /login.php
|
||||
path: login.php
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
@@ -62,7 +62,7 @@
|
||||
error:
|
||||
- selector: font:contains("failed") + table
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
ratio:
|
||||
text: -1
|
||||
@@ -79,7 +79,7 @@
|
||||
incldead: 1
|
||||
search_by: "{{ if .Query.IMDBID }}imdb{{else}}name{{end}}"
|
||||
rows:
|
||||
selector: table.torrenttable > tbody > tr:has(a[title][href^="details.php?id="])
|
||||
selector: table.table-striped > tbody > tr:has(a[title][href^="details.php?id="])
|
||||
fields:
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
@@ -93,13 +93,10 @@
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
imdb:
|
||||
selector: a[title="IMDB"]
|
||||
attribute: href
|
||||
banner:
|
||||
attribute: rel
|
||||
imdb:
|
||||
selector: a[href^="http://www.imdb.com/title/"]
|
||||
selector: a[href*="https://www.imdb.com/title/"]
|
||||
optional: true
|
||||
attribute: href
|
||||
download:
|
||||
@@ -114,13 +111,10 @@
|
||||
selector: td:has(a[href$="filelist=1#filelist"])
|
||||
remove: a
|
||||
date:
|
||||
selector: td > span:has(i.fa-clock)
|
||||
remove: b
|
||||
selector: td > small:has(i.fa-clock)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: replace
|
||||
args: ["Added on ", ""]
|
||||
- name: replace
|
||||
args: ["st ", " "]
|
||||
- name: replace
|
||||
@@ -129,8 +123,8 @@
|
||||
args: ["rd ", " "]
|
||||
- name: replace
|
||||
args: ["th ", " "]
|
||||
- name: replace
|
||||
args: [" by", ""]
|
||||
- name: regexp
|
||||
args: "(.+?) by"
|
||||
- name: append
|
||||
args: " +02:00"
|
||||
- name: dateparse
|
||||
@@ -145,6 +139,3 @@
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"*": "1"
|
||||
description:
|
||||
selector: td:has(a[title][href^="details.php?id="])
|
||||
remove: a[title][href^="details.php?id="], div, font:contains("Added on")
|
||||
|
@@ -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"
|
@@ -51,7 +51,7 @@
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /index.php
|
||||
- path: index.php
|
||||
keywordsfilters:
|
||||
- name: diacritics
|
||||
args: replace
|
||||
|
@@ -6,10 +6,12 @@
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://ilcorsaronero.cc/
|
||||
- https://ilcorsaronero.live/
|
||||
legacylinks:
|
||||
- https://ilcorsaronero.vip/
|
||||
- https://ilcorsaronero.info/
|
||||
- https://ilcorsaronero.ch/
|
||||
- https://ilcorsaronero.cc/
|
||||
certificates:
|
||||
- 89c12d4a080b5aeec00acbb269dc9b44584b1b3f # incomplete CA chain
|
||||
- aa7c40aa360a1cec8a9687312fd50402b912e618 # incomplete CA chain
|
||||
|
@@ -1,7 +1,7 @@
|
||||
---
|
||||
site: iloveclassics
|
||||
name: I Love Classics
|
||||
description: "Classics movie tracker"
|
||||
description: "iLoveClassics (iLC) is a Private Torrent Tracker for CLASSIC MOVIES / TV"
|
||||
language: en-us
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
|
@@ -35,7 +35,7 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /takelogin.php
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -43,11 +43,11 @@
|
||||
error:
|
||||
- selector: font.logintext
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Query.Keywords }}"
|
||||
|
@@ -55,11 +55,11 @@
|
||||
error:
|
||||
- selector: div.login_error_content
|
||||
test:
|
||||
path: /browse.php
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /browse.php
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
|
||||
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Query.Keywords }}{{end}}"
|
||||
|
@@ -44,10 +44,10 @@
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
login:
|
||||
path: /?p=home&pid=1
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: /ajax/login.php
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: "login"
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
@@ -62,7 +62,7 @@
|
||||
error:
|
||||
- selector: ":contains(\"-ERROR-\")"
|
||||
test:
|
||||
path: /?p=torrents&pid=32
|
||||
path: ?p=torrents&pid=32
|
||||
selector: a#logout
|
||||
|
||||
search:
|
||||
|
@@ -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
|
||||
|
@@ -99,11 +99,11 @@
|
||||
login:
|
||||
method: cookie
|
||||
test:
|
||||
path: /category/latest/page/1
|
||||
path: category/latest/page/1
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}/katsearch/page/1/{{ .Keywords }}{{ else }}/category/latest/page/1{{ end }}"
|
||||
- path: "{{ if .Keywords }}katsearch/page/1/{{ .Keywords }}{{ else }}category/latest/page/1{{ end }}"
|
||||
rows:
|
||||
selector: table.torrents_table > tbody > tr
|
||||
fields:
|
||||
|
@@ -6,7 +6,7 @@
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.linkomanija.net
|
||||
- https://www.linkomanija.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user