mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-11 14:19:17 +02:00
Compare commits
224 Commits
v0.20.2313
...
v0.20.2671
Author | SHA1 | Date | |
---|---|---|---|
![]() |
da1f703aaa | ||
![]() |
373a84722c | ||
![]() |
f5ca7b5122 | ||
![]() |
a18157bb9e | ||
![]() |
d0bd6665d0 | ||
![]() |
7192865a2d | ||
![]() |
4ce5e2786c | ||
![]() |
c4aed48398 | ||
![]() |
8a0e353ad5 | ||
![]() |
aaea3d1555 | ||
![]() |
521a39275f | ||
![]() |
23c241ec57 | ||
![]() |
200d9dd376 | ||
![]() |
b8116cd0c9 | ||
![]() |
0cd30a0794 | ||
![]() |
40e98be02a | ||
![]() |
17c1a19ef5 | ||
![]() |
32af28a80c | ||
![]() |
578de3ca42 | ||
![]() |
c6f5f365ca | ||
![]() |
e16df84475 | ||
![]() |
a69f5d62db | ||
![]() |
e572804a86 | ||
![]() |
54855a5822 | ||
![]() |
970d57f9c4 | ||
![]() |
b6e2996833 | ||
![]() |
1eb056b569 | ||
![]() |
394e9551d5 | ||
![]() |
561c32a48a | ||
![]() |
0d27645a8e | ||
![]() |
7271abd193 | ||
![]() |
821d92cfb2 | ||
![]() |
f5c16520e4 | ||
![]() |
988c486fd9 | ||
![]() |
811dc3ed9a | ||
![]() |
8fb0504e7f | ||
![]() |
6350556850 | ||
![]() |
bcd4637a67 | ||
![]() |
eb67d1ad47 | ||
![]() |
e827e727fb | ||
![]() |
4c0a513c66 | ||
![]() |
6de0e1535c | ||
![]() |
c70e8bb189 | ||
![]() |
967ce651ba | ||
![]() |
f050791933 | ||
![]() |
4521fceae4 | ||
![]() |
16ae35a710 | ||
![]() |
91cd7a82d5 | ||
![]() |
0400bd81fd | ||
![]() |
6aeb9e5d5b | ||
![]() |
de00289965 | ||
![]() |
d0ad1f0b52 | ||
![]() |
bd24ec37cd | ||
![]() |
79eaf5c152 | ||
![]() |
8b76e04b7c | ||
![]() |
60ea6edda9 | ||
![]() |
54fd12428c | ||
![]() |
b8c5a00b97 | ||
![]() |
5e069e5d74 | ||
![]() |
ac5d6f5764 | ||
![]() |
1685c0c8b9 | ||
![]() |
6e234ff303 | ||
![]() |
462860e6b0 | ||
![]() |
c31ce0a8be | ||
![]() |
d0ebdea164 | ||
![]() |
d7c885306e | ||
![]() |
33f59521aa | ||
![]() |
3771801c41 | ||
![]() |
6485122cd3 | ||
![]() |
cbd8d88bf6 | ||
![]() |
d751eb84dc | ||
![]() |
9a69317f68 | ||
![]() |
761ec2b7f6 | ||
![]() |
92c711eb19 | ||
![]() |
89d6f4a656 | ||
![]() |
9861c2565d | ||
![]() |
263d26f8e6 | ||
![]() |
034ca38368 | ||
![]() |
e7384b73e4 | ||
![]() |
f1470fc3c5 | ||
![]() |
ac535dc7ad | ||
![]() |
cb10294900 | ||
![]() |
8442a7980f | ||
![]() |
aac2e5500e | ||
![]() |
c95d268a94 | ||
![]() |
b6611b1bb5 | ||
![]() |
733c8d0249 | ||
![]() |
ad635c442b | ||
![]() |
1ca2edf9b7 | ||
![]() |
d76325d6bc | ||
![]() |
f2a3de351a | ||
![]() |
b77177bbf3 | ||
![]() |
9cfffe4ea1 | ||
![]() |
1036f2c462 | ||
![]() |
df515dc38a | ||
![]() |
9eb5d0de3f | ||
![]() |
ba19357572 | ||
![]() |
db901dc3ec | ||
![]() |
77a8a60136 | ||
![]() |
5a4b0e4e30 | ||
![]() |
35c051b97e | ||
![]() |
8c57a6a03d | ||
![]() |
df50d290c5 | ||
![]() |
6f6cc47cab | ||
![]() |
ee86c57ac8 | ||
![]() |
6cc81b6266 | ||
![]() |
6d3b40b80d | ||
![]() |
6409a8e119 | ||
![]() |
a1e0aa8efe | ||
![]() |
a9bd16f681 | ||
![]() |
24e3d930ec | ||
![]() |
c82e4ae627 | ||
![]() |
ef71118f74 | ||
![]() |
fc4f36e68e | ||
![]() |
0a18ddfe4e | ||
![]() |
89858199ed | ||
![]() |
29be6f4c80 | ||
![]() |
aa72f5b80e | ||
![]() |
db6457319b | ||
![]() |
ef269a1358 | ||
![]() |
8f7375ff90 | ||
![]() |
18ac5ddf31 | ||
![]() |
1fd731aaf8 | ||
![]() |
01e9a73fa7 | ||
![]() |
8ffe670b29 | ||
![]() |
279caca6af | ||
![]() |
ec8eb929e6 | ||
![]() |
9678329b2e | ||
![]() |
34f77fc376 | ||
![]() |
1774fda60a | ||
![]() |
c413f72db0 | ||
![]() |
de6effabb2 | ||
![]() |
3a0403958a | ||
![]() |
134c6b34a6 | ||
![]() |
cc6acd8efb | ||
![]() |
f3a785bd2d | ||
![]() |
33c82015af | ||
![]() |
9490a8382f | ||
![]() |
07081bcf42 | ||
![]() |
5500a0e66f | ||
![]() |
451bd7809e | ||
![]() |
9fece7551b | ||
![]() |
59c2801528 | ||
![]() |
d60ae9f408 | ||
![]() |
0c82b4144e | ||
![]() |
23f1ea6a7b | ||
![]() |
b415098e5a | ||
![]() |
7467dc7768 | ||
![]() |
06956717ad | ||
![]() |
2b6184c020 | ||
![]() |
2afdd4872b | ||
![]() |
afdd007a3b | ||
![]() |
8f25af8c16 | ||
![]() |
572e422569 | ||
![]() |
fe9586bfdc | ||
![]() |
ba0fcef316 | ||
![]() |
f2086fae20 | ||
![]() |
d9dd7d4724 | ||
![]() |
b9f820f1c1 | ||
![]() |
8fa0e6d3bc | ||
![]() |
d29bcf4301 | ||
![]() |
5fef170942 | ||
![]() |
66c7af1769 | ||
![]() |
07c3f64f01 | ||
![]() |
84ec02539e | ||
![]() |
65c8c57609 | ||
![]() |
61de21b19a | ||
![]() |
75b0cf089d | ||
![]() |
f935062818 | ||
![]() |
1da8c25efb | ||
![]() |
9e6dab885a | ||
![]() |
9d51a9c10f | ||
![]() |
ae18515a59 | ||
![]() |
e2b741f918 | ||
![]() |
99300a1149 | ||
![]() |
8d75884850 | ||
![]() |
af0718a482 | ||
![]() |
42bfba7b6f | ||
![]() |
b3957207c5 | ||
![]() |
6a6ff05473 | ||
![]() |
c398c75e33 | ||
![]() |
c46ece6147 | ||
![]() |
dbd3935708 | ||
![]() |
eabcac471e | ||
![]() |
91b2e4f7be | ||
![]() |
afe2a1fe3a | ||
![]() |
9ad04329a3 | ||
![]() |
0d178c746d | ||
![]() |
c0bd28227d | ||
![]() |
5c87d043ea | ||
![]() |
23c88fdbb3 | ||
![]() |
077f80bf6f | ||
![]() |
05fb6b36a0 | ||
![]() |
63f3cf28ec | ||
![]() |
79c4ad207b | ||
![]() |
cd83a369e5 | ||
![]() |
f855b4c4da | ||
![]() |
ff4d7f945a | ||
![]() |
9dcb2de745 | ||
![]() |
218c7e155f | ||
![]() |
990ad1b7f2 | ||
![]() |
22e10d8736 | ||
![]() |
37c12423b2 | ||
![]() |
80afa6060e | ||
![]() |
190a6e7e06 | ||
![]() |
b1dc291011 | ||
![]() |
22e933bdb9 | ||
![]() |
9006f3c330 | ||
![]() |
6ecb3f3931 | ||
![]() |
630123bb6a | ||
![]() |
9cbb3a05ad | ||
![]() |
08d692f469 | ||
![]() |
b57269c673 | ||
![]() |
9eb88fd7e2 | ||
![]() |
da3c72610f | ||
![]() |
b4e33c0563 | ||
![]() |
404004c69a | ||
![]() |
735ef0780e | ||
![]() |
f7a9da3cfa | ||
![]() |
a94898b19c | ||
![]() |
fd0fa83c0f | ||
![]() |
acc6d5d370 | ||
![]() |
8078c273df | ||
![]() |
3ca1a08e30 |
10
.github/workflows/codeql-analysis.yml
vendored
10
.github/workflows/codeql-analysis.yml
vendored
@@ -35,7 +35,7 @@ on:
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: windows-2019
|
||||
runs-on: windows-2022
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
@@ -62,11 +62,6 @@ jobs:
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
- name: Set up dotnet
|
||||
uses: actions/setup-dotnet@v2
|
||||
with:
|
||||
dotnet-version: '6.0.*'
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
|
||||
@@ -85,5 +80,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
34
README.md
34
README.md
@@ -32,7 +32,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Anidex
|
||||
* AniLibria
|
||||
* AnimeClipse
|
||||
* Animedia
|
||||
* Anime Tosho
|
||||
* AniRena
|
||||
* AniSource
|
||||
@@ -58,9 +57,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Demonoid
|
||||
* DivxTotal
|
||||
* dmhy
|
||||
* Dodder (菟丝子资源社区)
|
||||
* DonTorrent
|
||||
* E-Hentai
|
||||
* elitetorrent
|
||||
* EpubLibre
|
||||
* EXT Torrents
|
||||
* ExtraTorrent.st
|
||||
@@ -111,7 +110,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Pornforall
|
||||
* PornLeech
|
||||
* PornosLab
|
||||
* PornoTor
|
||||
* PornoTorrent
|
||||
* Portugas
|
||||
* ProPorn
|
||||
@@ -126,7 +124,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* seleZen
|
||||
* Sexy-Pics
|
||||
* Shana Project
|
||||
* ShizaProject
|
||||
* ShowRSS
|
||||
* Solid Torrents
|
||||
* sosulki
|
||||
@@ -135,7 +132,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* The Pirate Bay (TPB)
|
||||
* Tokyo Tosho
|
||||
* Torlock
|
||||
* Torlook
|
||||
* Torrent[CORE]
|
||||
* Torrent Downloads (TD)
|
||||
* Torrent Oyun indir
|
||||
@@ -159,7 +155,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Torrentz2nz
|
||||
* TrahT
|
||||
* truPornolabs
|
||||
* Underverse
|
||||
* UnionDHT
|
||||
* VSTHouse
|
||||
* VST Torrents
|
||||
@@ -192,13 +187,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ExtremlymTorrents
|
||||
* Fenyarnyek-Tracker
|
||||
* File-Tracker
|
||||
* Fou-Du-Cinema
|
||||
* Gay-Torrents.net
|
||||
* Genesis-Movement
|
||||
* HD-CzTorrent
|
||||
* HDGalaKtik
|
||||
* HunTorrent
|
||||
* KinoNaVse100
|
||||
* Kinorun
|
||||
* Kinozal
|
||||
* LostFilm.tv
|
||||
@@ -229,6 +222,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Torrents-Local
|
||||
* TribalMixes
|
||||
* Union Fansub
|
||||
* xTorrenty
|
||||
* YggTorrent (YGG)
|
||||
* ZOMB
|
||||
* Ztracker
|
||||
@@ -263,6 +257,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ArabP2P
|
||||
* aro.lol
|
||||
* AsianCinema
|
||||
* AsianDVDClub
|
||||
* Audiences
|
||||
* AudioNews (AN)
|
||||
* Aussierul.es [![(invite needed)][inviteneeded]](#)
|
||||
@@ -274,11 +269,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* BeyondHD (BHD)
|
||||
* Bibliotik
|
||||
* Bit-Bázis
|
||||
* Bit-City Reloaded
|
||||
* BIT-HDTV
|
||||
* Bitded
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen [![(invite needed)][inviteneeded]](#)
|
||||
* Bit Of Valor
|
||||
* BitSexy
|
||||
* Bitspyder
|
||||
* BitTorrentFiles
|
||||
@@ -345,6 +340,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* FileList (FL)
|
||||
* FinElite (FE)
|
||||
* FinVip
|
||||
* Flux-Zone
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* Fuzer (FZ)
|
||||
@@ -391,6 +387,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Hebits
|
||||
* HellasHut
|
||||
* HHanClub
|
||||
* HQMusic
|
||||
* House of Devil
|
||||
* iHDBits
|
||||
* ImmortalSeed (iS)
|
||||
@@ -399,6 +396,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Insane Tracker
|
||||
* IPTorrents (IPT)
|
||||
* JME-REUNIT3D
|
||||
* JoyHD [![(invite needed)][inviteneeded]](#)
|
||||
* JPopsuki
|
||||
* JPTV
|
||||
* Karagarga
|
||||
@@ -414,7 +412,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* leech24
|
||||
* LegacyHD (HD4Free)
|
||||
* LemonHD
|
||||
* Libble [![(invite needed)][inviteneeded]](#)
|
||||
* Les-Cinephiles
|
||||
* Libble
|
||||
* LibraNet (LN)
|
||||
* LinkoManija [![(invite needed)][inviteneeded]](#)
|
||||
* Locadora
|
||||
@@ -432,17 +431,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
|
||||
* MNV (Max-New-Vision)
|
||||
* MOJBLiNK
|
||||
* Mononoké-BT [![(invite needed)][inviteneeded]](#)
|
||||
* MoreThanTV (MTV)
|
||||
* MouseBits
|
||||
* Movie-Torrentz
|
||||
* Moviesite
|
||||
* MyAnonamouse (MAM)
|
||||
* MySpleen [![(invite needed)][inviteneeded]](#)
|
||||
* NBTorrents
|
||||
* NCore
|
||||
* Nebulance (NBL) (TransmiTheNet)
|
||||
* NetCosmo
|
||||
* NorBits
|
||||
* Old Toons World
|
||||
* OpenCD [![(invite needed)][inviteneeded]](#)
|
||||
@@ -450,7 +446,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* OshenPT
|
||||
* Ourbits (HDPter) [![(invite needed)][inviteneeded]](#)
|
||||
* P2PBG
|
||||
* P2PElite
|
||||
* Partis
|
||||
* PassThePopcorn (PTP)
|
||||
* Peeratiko
|
||||
@@ -463,11 +458,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* PolishSource (PS)
|
||||
* PolishTracker
|
||||
* Pornbay [![(invite needed)][inviteneeded]](#)
|
||||
* PornBits (PB)
|
||||
* PotUK
|
||||
* Pretome
|
||||
* PrivateHD (PHD)
|
||||
* ProAudioTorrents (PAT)
|
||||
* PTChina (铂金学院)
|
||||
* PTerClub
|
||||
* PTFiles (PTF)
|
||||
* PThome [![(invite needed)][inviteneeded]](#)
|
||||
@@ -491,7 +486,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Romanian Metal Torrents (RMT) [![(invite needed)][inviteneeded]](#)
|
||||
* RPTorrents
|
||||
* SceneHD [![(invite needed)][inviteneeded]](#)
|
||||
* ScenePalace (SP)
|
||||
* SceneRush
|
||||
* SceneTime
|
||||
* SDBits [![(invite needed)][inviteneeded]](#)
|
||||
@@ -517,14 +511,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Superbits (SBS)
|
||||
* Swarmazon
|
||||
* Tapochek
|
||||
* Tasmanit [![(invite needed)][inviteneeded]](#)
|
||||
* Tasmanit
|
||||
* Team CT Game (TCTG)
|
||||
* TeamHD
|
||||
* TeamOS
|
||||
* TEKNO3D [![(invite needed)][inviteneeded]](#)
|
||||
* TellyTorrent
|
||||
* teracod (Movie Zone)
|
||||
* The Falling Angels (TFA) [![(invite needed)][inviteneeded]](#)
|
||||
* The Falling Angels (TFA)
|
||||
* The Geeks
|
||||
* The New Retro
|
||||
* The Occult [![(invite needed)][inviteneeded]](#)
|
||||
@@ -535,13 +529,13 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* The Vault [![(invite needed)][inviteneeded]](#)
|
||||
* The-Crazy-Ones
|
||||
* The-New-Fun
|
||||
* TheAudioScene
|
||||
* TheEmpire (TE)
|
||||
* TheLeachZone (TLZ)
|
||||
* TheScenePlace (TSP)
|
||||
* TJUPT
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* TmGHuB
|
||||
* Tornado
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
* Torrent Surf
|
||||
@@ -570,7 +564,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TvRoad
|
||||
* TVstore
|
||||
* Twilight Torrents
|
||||
* Twilights Zoom
|
||||
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
|
||||
* UHDBits
|
||||
* UnionGang
|
||||
@@ -589,6 +582,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* YDYPT
|
||||
* Zamunda.net
|
||||
* Zelka.org
|
||||
* ZmPT (织梦)
|
||||
* ZonaQ
|
||||
</details>
|
||||
|
||||
|
@@ -7,7 +7,7 @@ variables:
|
||||
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
buildConfiguration: Release
|
||||
netCoreFramework: net6.0
|
||||
netCoreSdkVersion: 6.0.x
|
||||
netCoreSdkVersion: 6.0.403 # #13806 & dotnet/runtime#79796
|
||||
# system.debug: true
|
||||
|
||||
trigger:
|
||||
@@ -26,7 +26,7 @@ stages:
|
||||
jobs:
|
||||
- job: Build
|
||||
workspace:
|
||||
clean: outputs
|
||||
clean: all
|
||||
strategy:
|
||||
matrix:
|
||||
Windows:
|
||||
@@ -52,50 +52,50 @@ stages:
|
||||
artifactName: Jackett.Binaries.macOSARM64.tar.gz
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
LinuxARM32:
|
||||
buildDescription: Linux ARM32
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-arm
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxARM32.tar.gz
|
||||
LinuxARM64:
|
||||
buildDescription: Linux ARM64
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxARM64.tar.gz
|
||||
LinuxMuslAMDx64:
|
||||
buildDescription: Linux musl AMD x64
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslAMDx64.tar.gz
|
||||
LinuxMuslARM32:
|
||||
buildDescription: Linux musl ARM32
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM32.tar.gz
|
||||
LinuxMuslARM64:
|
||||
buildDescription: Linux musl ARM64
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM64.tar.gz
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
imageName: ubuntu-22.04
|
||||
framework: net462
|
||||
runtime: linux-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
@@ -104,7 +104,6 @@ stages:
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
@@ -113,8 +112,23 @@ stages:
|
||||
version: $(netCoreSdkVersion)
|
||||
installationPath: $(Agent.ToolsDirectory)/dotnet
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Build DateTimeRoutines
|
||||
# this task is not mandatory since DateTimeRoutines is build in the next task, but the purpose is to fix:
|
||||
# error MSB4018: System.IO.IOException: The process cannot access the file
|
||||
# '/home/vsts/work/1/net6.0-linux-musl-arm/src/DateTimeRoutines/bin/Release/netstandard2.0/DateTimeRoutines.deps.json'
|
||||
# because it is being used by another process.
|
||||
inputs:
|
||||
command: build
|
||||
projects: 'src/DateTimeRoutines/DateTimeRoutines.csproj'
|
||||
publishWebProjects: false
|
||||
zipAfterPublish: false
|
||||
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework netstandard2.0'
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Build Jackett Server
|
||||
# the retries are just in case the previous task doesn't fix the error
|
||||
retryCountOnTaskFailure: 3
|
||||
inputs:
|
||||
command: publish
|
||||
projects: 'src/Jackett.Server/Jackett.Server.csproj'
|
||||
@@ -303,12 +317,11 @@ stages:
|
||||
- job: Linting_Dotnet
|
||||
displayName: Linting Dotnet
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
vmImage: ubuntu-22.04
|
||||
workspace:
|
||||
clean: outputs
|
||||
clean: all
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
@@ -337,12 +350,11 @@ stages:
|
||||
- job: Linting_YAML
|
||||
displayName: Linting YAML
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
vmImage: ubuntu-22.04
|
||||
workspace:
|
||||
clean: outputs
|
||||
clean: all
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
displayName: Install Python
|
||||
@@ -358,12 +370,11 @@ stages:
|
||||
- job: Validate_YAML_Schema
|
||||
displayName: Validate YAML Schema
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
vmImage: ubuntu-22.04
|
||||
workspace:
|
||||
clean: outputs
|
||||
clean: all
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: Bash@3
|
||||
displayName: Validate YAML Schema
|
||||
@@ -393,7 +404,7 @@ stages:
|
||||
jobs:
|
||||
- job: UnitTest
|
||||
workspace:
|
||||
clean: outputs
|
||||
clean: all
|
||||
strategy:
|
||||
matrix:
|
||||
Windows:
|
||||
@@ -408,20 +419,19 @@ stages:
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
framework: net461
|
||||
imageName: ubuntu-22.04
|
||||
framework: net462
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: UseDotNet@2
|
||||
displayName: Install .NET Core SDK
|
||||
@@ -430,15 +440,6 @@ stages:
|
||||
version: $(netCoreSdkVersion)
|
||||
installationPath: $(Agent.ToolsDirectory)/dotnet
|
||||
|
||||
# this task is a workaround to fix a bug in Azure (not required under normal circumstances)
|
||||
# https://developercommunity.visualstudio.com/content/problem/983843/dotnet-build-task-does-not-use-nugetorg-for-one-pr.html
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Restore Test Project
|
||||
inputs:
|
||||
command: restore
|
||||
projects: '**/*.Test*/*.csproj'
|
||||
includeNuGetOrg: true
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Unit Tests (Mono, Linux and macOS)
|
||||
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
|
||||
@@ -487,7 +488,7 @@ stages:
|
||||
jobs:
|
||||
- job: IntegrationTest
|
||||
workspace:
|
||||
clean: outputs
|
||||
clean: all
|
||||
strategy:
|
||||
matrix:
|
||||
Windows:
|
||||
@@ -504,22 +505,21 @@ stages:
|
||||
runtime: osx-x64
|
||||
LinuxAMDx64:
|
||||
buildDescription: Linux AMD x64
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-x64
|
||||
Mono:
|
||||
buildDescription: Mono
|
||||
imageName: ubuntu-20.04
|
||||
imageName: ubuntu-22.04
|
||||
artifactName: Jackett.Binaries.Mono.tar.gz
|
||||
framework: net461
|
||||
framework: net462
|
||||
runtime: linux-x64
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download artifacts for integration tests
|
||||
@@ -556,15 +556,6 @@ stages:
|
||||
version: $(netCoreSdkVersion)
|
||||
installationPath: $(Agent.ToolsDirectory)/dotnet
|
||||
|
||||
# this task is a workaround to fix a bug in Azure (not required under normal circumstances)
|
||||
# https://developercommunity.visualstudio.com/content/problem/983843/dotnet-build-task-does-not-use-nugetorg-for-one-pr.html
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Restore IntegrationTest Project
|
||||
inputs:
|
||||
command: restore
|
||||
projects: '**/*IntegrationTest*/*.csproj'
|
||||
includeNuGetOrg: true
|
||||
|
||||
- task: DotNetCoreCLI@2
|
||||
displayName: Integration Tests (Mono, Linux and macOS)
|
||||
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
|
||||
@@ -592,12 +583,11 @@ stages:
|
||||
jobs:
|
||||
- job: Publish
|
||||
workspace:
|
||||
clean: outputs
|
||||
clean: all
|
||||
pool:
|
||||
vmImage: ubuntu-20.04
|
||||
vmImage: ubuntu-22.04
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: false
|
||||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Artifacts for Publish
|
||||
|
@@ -8,6 +8,7 @@ JACKETT_DIR="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
# Launch Jackett (with CLI parameters)
|
||||
"${JACKETT_DIR}/jackett" --NoRestart "$@"
|
||||
ec=$?
|
||||
|
||||
# Get user running the service
|
||||
JACKETT_USER=$(whoami)
|
||||
@@ -16,3 +17,5 @@ JACKETT_USER=$(whoami)
|
||||
while pgrep -u "${JACKETT_USER}" JackettUpdater > /dev/null; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
exit $ec
|
||||
|
@@ -1 +1 @@
|
||||
span.multiselect-native-select{position:relative}span.multiselect-native-select select{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px -1px -1px -3px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;left:50%;top:30px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0}.multiselect-container .input-group{margin:5px}.multiselect-container>li{padding:0}.multiselect-container>li>a.multiselect-all label{font-weight:700}.multiselect-container>li.multiselect-group label{margin:0;padding:3px 20px 3px 20px;height:100%;font-weight:700}.multiselect-container>li.multiselect-group-clickable label{cursor:pointer}.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px 20px 3px 40px}.multiselect-container>li>a>label.radio,.multiselect-container>li>a>label.checkbox{margin:0}.multiselect-container>li>a>label>input[type=checkbox]{margin-bottom:5px}.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.form-inline .multiselect-container label.checkbox,.form-inline .multiselect-container label.radio{padding:3px 20px 3px 40px}.form-inline .multiselect-container li a label.checkbox input[type=checkbox],.form-inline .multiselect-container li a label.radio input[type=radio]{margin-left:-20px;margin-right:0}
|
||||
span.multiselect-native-select{position:relative}span.multiselect-native-select select{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px -1px -1px -3px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;left:50%;top:30px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0}.multiselect-container .input-group{margin:5px}.multiselect-container .multiselect-reset .input-group{width:93%}.multiselect-container>li{padding:0}.multiselect-container>li>a.multiselect-all label{font-weight:700}.multiselect-container>li.multiselect-group label{margin:0;padding:3px 20px;height:100%;font-weight:700}.multiselect-container>li.multiselect-group-clickable label{cursor:pointer}.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px 20px 3px 40px}.multiselect-container>li>a>label.checkbox,.multiselect-container>li>a>label.radio{margin:0}.multiselect-container>li>a>label>input[type=checkbox]{margin-bottom:5px}.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.form-inline .multiselect-container label.checkbox,.form-inline .multiselect-container label.radio{padding:3px 20px 3px 40px}.form-inline .multiselect-container li a label.checkbox input[type=checkbox],.form-inline .multiselect-container li a label.radio input[type=radio]{margin-left:-20px;margin-right:0}
|
||||
|
@@ -917,8 +917,7 @@ function doErrorNotify(indexerId, errorMessage, errorEvent) {
|
||||
var githubTemplate = "?template=bug_report.yml&"
|
||||
if (errorMessage.includes("FlareSolverr")) {
|
||||
githubRepo = "FlareSolverr/FlareSolverr";
|
||||
githubText = "FlareSolverr";
|
||||
githubTemplate = "?"
|
||||
githubText = "FlareSolverr"
|
||||
}
|
||||
var githubUrl = "https://github.com/" + githubRepo + "/issues/new" + githubTemplate + "title=[" + indexerId + "] (" + errorEvent + ")";
|
||||
var indexEnd = 2000 - githubUrl.length; // keep url <= 2k #5104
|
||||
@@ -1257,7 +1256,7 @@ function setSavedPresets(presets) {
|
||||
}
|
||||
|
||||
function setSavePresetsButtonState(table, element, state = false) {
|
||||
var button = element.find("button[id=jackett-search-results-datatable_savepreset_button]")
|
||||
var button = element.find("button[id=jackett-search-results-datatable_savepreset_button]")
|
||||
if (state) {
|
||||
button.attr("class", "btn btn-danger btn-sm");
|
||||
button.on("click", function () {
|
||||
@@ -1404,6 +1403,8 @@ function updateSearchResultTable(element, results) {
|
||||
newKeyword = "^((?!" + $.fn.dataTable.util.escapeRegex(keyword.substring(1)) + ").)*$";
|
||||
else
|
||||
newKeyword = '(' + keyword.split('|').map(k => $.fn.dataTable.util.escapeRegex(k)).join('|') + ')';
|
||||
// fix search filters with "-", "." or "_" characters in the middle of the word => #13628
|
||||
newKeyword = newKeyword.replace("\\-", "\\-\u200B?").replace("\\.", "\\.\u200B?").replace("_", "_\u200B?");
|
||||
newKeywords.push(newKeyword);
|
||||
});
|
||||
var filterText = newKeywords.join(" ");
|
||||
|
@@ -22,7 +22,7 @@
|
||||
<script type="text/javascript" src="../libs/handlebarsextend.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../bootstrap/bootstrap.min.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../libs/bootstrap-notify.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../libs/bootstrap-multiselect.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../libs/bootstrap-multiselect.js?changed=20230107001"></script>
|
||||
<script type="text/javascript" src="../libs/tagify.min.js?changed=11662"></script>
|
||||
<script type="text/javascript" src="../libs/jQuery.tagify.min.js?changed=11662"></script>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=20220721002" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=20220721002" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.min.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=2017083001" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=20230107001" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css?changed=2017083001">
|
||||
<title>Jackett</title>
|
||||
</head>
|
||||
@@ -756,6 +756,6 @@
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20221003"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=2023010701"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
3248
src/Jackett.Common/Content/libs/bootstrap-multiselect.js
vendored
3248
src/Jackett.Common/Content/libs/bootstrap-multiselect.js
vendored
File diff suppressed because it is too large
Load Diff
@@ -13,14 +13,12 @@ links:
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblockit.page/
|
||||
- https://1337x.nocensor.lol/
|
||||
- https://1337x.unblockit.ink/
|
||||
- https://1337x.nocensor.art/
|
||||
- https://1337x.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://1337x.is/
|
||||
- https://1337x.unblockit.ws/
|
||||
- https://1337x.nocensor.work/
|
||||
- https://1337x.unblockit.kim/
|
||||
- https://1337x.unblockit.bz/
|
||||
- https://1337x.unblockit.tv/
|
||||
- https://1337x.unblockit.how/
|
||||
@@ -37,6 +35,9 @@ legacylinks:
|
||||
- https://1337x.unblockit.cat/
|
||||
- https://1337x.unblockit.nz/
|
||||
- https://1337x.nocensor.world/
|
||||
- https://1337x.unblockit.page/
|
||||
- https://1337x.unblockit.pet/
|
||||
- https://1337x.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -125,9 +125,15 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img.lazyload
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td:nth-child(4) > span[title]
|
||||
selector: td.rowfollow:nth-child(5) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -137,7 +143,7 @@ search:
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td:nth-child(4):not(:has(span))
|
||||
selector: td.rowfollow:nth-child(5):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -147,13 +153,13 @@ search:
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
selector: td.rowfollow:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
|
@@ -63,7 +63,7 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: index.php?page=login&returnto=index.php
|
||||
path: index.php?page=login
|
||||
method: form
|
||||
form: form
|
||||
inputs:
|
||||
|
@@ -142,22 +142,19 @@ search:
|
||||
date_day:
|
||||
# Today<br> 10:20 AM
|
||||
# Yesterday<br> 08:03 PM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
date_year:
|
||||
# Feb 14 2019<br> 10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-last-child(7):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
grabs:
|
||||
|
@@ -77,7 +77,8 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# currently supports only one query id at one time.
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
|
@@ -129,6 +129,7 @@ search:
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
remove: span
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
@@ -137,25 +138,23 @@ search:
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-last-child(9)
|
||||
date_yday:
|
||||
date_day:
|
||||
# Yesterday<br/>6:00 AM
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# Aug 6 2021<br/>7:25 PM
|
||||
selector: td:nth-last-child(7):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 3:04 PM -07:00"
|
||||
args: "Jan 2 2006 3:04 PM"
|
||||
date:
|
||||
text: "{{ if or .Result.date_yday .Result.date_year }}{{ or .Result.date_yday .Result.date_year }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
grabs:
|
||||
|
@@ -140,8 +140,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -61,6 +61,10 @@ search:
|
||||
# https://www.acgsou.com/search.php?keyword=test
|
||||
- path: "{{ if .Keywords }}search.php?keyword={{ .Keywords }}{{ else }}1.html{{ end }}"
|
||||
|
||||
headers:
|
||||
# site blocks Jackett's User-Agents, so slightly alter it here (e.g. Safari/537.36 > Safari/537.35)
|
||||
User-Agent: ["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"]
|
||||
|
||||
rows:
|
||||
selector: table tbody tr[class^="alt"]:has(td:nth-child(3) a)
|
||||
|
||||
|
@@ -115,11 +115,10 @@ search:
|
||||
selector: td:nth-last-child(2)
|
||||
date:
|
||||
selector: td:last-child
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "060102 15:04:05 -07:00"
|
||||
args: "060102 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/freeleech.png"]: 0 # dl not counted
|
||||
|
@@ -79,7 +79,7 @@ search:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
@@ -137,8 +137,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
@@ -163,4 +168,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 6.4.0
|
||||
# json UNIT3D 6.5.0
|
||||
|
@@ -299,16 +299,15 @@ search:
|
||||
"[src$=\"/outros2.png\"]": 130
|
||||
date_optional:
|
||||
selector: p:contains("Lançado:")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Lançado: (.+?)$"
|
||||
- name: re_replace
|
||||
args: [" (\\d:)", " 0$1"]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/06 15:04:05 -07:00"
|
||||
args: "02/01/06 15:04:05"
|
||||
date:
|
||||
text: "{{ if .Result.date_optional }}{{ .Result.date_optional }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
|
@@ -2,7 +2,7 @@
|
||||
id: animeclipse
|
||||
name: AnimeClipse
|
||||
description: "AnimeClipse is a Public site for Hellenic Fansubs Anime."
|
||||
language: en-US
|
||||
language: el-GR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
|
@@ -137,8 +137,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -125,8 +125,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -84,6 +84,9 @@ search:
|
||||
selector: container
|
||||
_media:
|
||||
selector: media
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["WEB", "WEB-DL"]
|
||||
_resolution:
|
||||
selector: resolution
|
||||
_audioFormat:
|
||||
@@ -100,20 +103,23 @@ search:
|
||||
_language:
|
||||
selector: language
|
||||
optional: true
|
||||
_releaseGroup:
|
||||
selector: releaseGroup
|
||||
optional: true
|
||||
filters:
|
||||
- name: trim
|
||||
title:
|
||||
selector: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["'", "'"]
|
||||
- name: htmldecode
|
||||
- name: append
|
||||
args: " {{ .Result.year }} {{ .Result._codec }} {{ .Result._container }} {{ .Result._media }} {{ .Result._resolution }} {{ .Result._audioFormat }}{{ if .Result._subbing }} Subs{{ else }}{{ end }}{{ if .Result._flags }} {{ .Result._flags }}{{ else }}{{ end }}{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}"
|
||||
args: " {{ .Result.year }} {{ .Result._codec }} {{ .Result._container }} {{ .Result._media }} {{ .Result._resolution }} {{ .Result._audioFormat }}{{ if .Result._subbing }} Subs{{ else }}{{ end }}{{ if .Result._flags }} {{ .Result._flags }}{{ else }}{{ end }}{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}{{ if and (.Result._releaseGroup) (ne .Result._releaseGroup \"NULL\") }} -{{ .Result._releaseGroup }}{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: guid
|
||||
download:
|
||||
selector: link
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["&", "&"]
|
||||
- name: htmldecode
|
||||
infohash:
|
||||
selector: infohash
|
||||
imdbid:
|
||||
|
@@ -149,11 +149,10 @@ search:
|
||||
date:
|
||||
selector: td:nth-child(4) span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
args: "2006-01-02 15:04:05"
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
|
155
src/Jackett.Common/Definitions/asiandvdclub.yml
Normal file
155
src/Jackett.Common/Definitions/asiandvdclub.yml
Normal file
@@ -0,0 +1,155 @@
|
||||
---
|
||||
id: asiandvdclub
|
||||
name: AsianDVDClub
|
||||
description: "AsianDVDClub (ADC) is a Private Torrent Tracker for Asian DVD and BluRay"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://asiandvdclub.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 3, cat: Movies, desc: "Japan"}
|
||||
- {id: 5, cat: Movies, desc: "China"}
|
||||
- {id: 4, cat: Movies, desc: "Korea"}
|
||||
- {id: 2, cat: Movies, desc: "Hong Kong"}
|
||||
- {id: 6, cat: Movies, desc: "Philippines"}
|
||||
- {id: 7, cat: Movies, desc: "Taiwan"}
|
||||
- {id: 8, cat: Movies, desc: "Thailand"}
|
||||
- {id: 9, cat: Movies, desc: "Vietnam"}
|
||||
- {id: 10, cat: Movies, desc: "Malaysia"}
|
||||
- {id: 11, cat: Movies, desc: "Other Asian"}
|
||||
- {id: 12, cat: Other, desc: "Miscellaneous"}
|
||||
- {id: 15, cat: TV, desc: "TV Series"}
|
||||
- {id: 16, cat: Audio, desc: "Music/OST"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
up: seeders
|
||||
size: size
|
||||
title: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: post
|
||||
inputs:
|
||||
apple: evil
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: b:contains("Try again")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="/logout"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents/
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}countries[]={{.}}&{{end}}"
|
||||
searchbox: "{{ .Keywords }}"
|
||||
search: Search
|
||||
golden: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
column: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.torrenttable_helper > tbody > tr:has(img)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: img[class^="cat-"]
|
||||
attribute: class
|
||||
case:
|
||||
img.cat-anime: 1
|
||||
img.cat-hk: 2
|
||||
img.cat-japan: 3
|
||||
img.cat-korea: 4
|
||||
img.cat-china: 5
|
||||
img.cat-phil: 6
|
||||
img.cat-taiwan: 7
|
||||
img.cat-thai: 8
|
||||
img.cat-viet: 9
|
||||
img.cat-malaysia: 10
|
||||
img.cat-rest: 11
|
||||
img.cat-india: 11
|
||||
img.cat-misc: 12
|
||||
img.cat-pinku: 12
|
||||
img.cat-drama: 15
|
||||
img.cat-ost: 16
|
||||
title:
|
||||
selector: span[id]
|
||||
details:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["torrent", "download"]
|
||||
poster:
|
||||
selector: span[id]
|
||||
attribute: data-ot
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src='(.+?)'
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
date:
|
||||
selector: td:nth-child(9) span.small
|
||||
filters:
|
||||
- name: timeago
|
||||
grabs:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="images/golden.gif"]: 0
|
||||
img[src$="images/silver.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.5
|
||||
minimumseedtime:
|
||||
# 45 days (as seconds = 45 x 24 x 60 x 60)
|
||||
text: 3888000
|
||||
# Engine n/a
|
@@ -75,7 +75,7 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 justdead
|
||||
incldead: 0
|
||||
# promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30%
|
||||
|
@@ -7,15 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://audiobookbay.fi/
|
||||
- https://audiobookbay.li/
|
||||
- https://audiobookbay.se/
|
||||
- https://audiobookbay.unblockit.page/
|
||||
- https://audiobookbay.unblockit.ink/
|
||||
legacylinks:
|
||||
- https://audiobookbay.la/
|
||||
- https://audiobookbay.unblockit.ch/
|
||||
- https://audiobookbay.unblockit.ws/
|
||||
- http://audiobookbay.net/
|
||||
- https://audiobookbay.unblockit.kim/
|
||||
- https://audiobookbay.unblockit.bz/
|
||||
- https://audiobookbay.unblockit.tv/
|
||||
- http://audiobookbay.nl/
|
||||
@@ -34,6 +31,9 @@ legacylinks:
|
||||
- https://audiobookbay.unblockit.bet/
|
||||
- https://audiobookbay.unblockit.cat/
|
||||
- https://audiobookbay.unblockit.nz/
|
||||
- https://audiobookbay.fi/
|
||||
- https://audiobookbay.unblockit.page/
|
||||
- https://audiobookbay.unblockit.pet/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -10,33 +10,49 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 12, cat: Console, desc: "XBOX360"}
|
||||
- {id: 9, cat: TV, desc: "TV-Boxsets"}
|
||||
- {id: 15, cat: PC/Mobile-Android, desc: "Android"}
|
||||
- {id: 35, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 51, cat: PC/Mac, desc: "Apple"}
|
||||
- {id: 3, cat: PC, desc: "Apps"}
|
||||
- {id: 24, cat: PC, desc: "Apple"}
|
||||
- {id: 11, cat: TV, desc: "TV/x264"}
|
||||
- {id: 23, cat: Console, desc: "Visionary"}
|
||||
- {id: 14, cat: TV/Sport, desc: "WWE"}
|
||||
- {id: 26, cat: Console, desc: "Xbox"}
|
||||
- {id: 13, cat: Console, desc: "XBOX-JTAG"}
|
||||
- {id: 35, cat: Movies/Other, desc: "Anime"}
|
||||
- {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
|
||||
- {id: 6, cat: Movies, desc: "Movies/XVID"}
|
||||
- {id: 10, cat: TV, desc: "TV/Xvid"}
|
||||
- {id: 29, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 40, cat: TV, desc: "Soaps"}
|
||||
- {id: 27, cat: Console, desc: "Roms and Emulators"}
|
||||
- {id: 30, cat: Console, desc: "Playstation"}
|
||||
- {id: 7, cat: Audio, desc: "Music"}
|
||||
- {id: 22, cat: Console, desc: "CoinOps"}
|
||||
- {id: 42, cat: Console, desc: "CoinOPS Official"}
|
||||
- {id: 65, cat: Console, desc: "CoinOps Unofficial"}
|
||||
- {id: 63, cat: Books/Comics, desc: "Comics"}
|
||||
- {id: 60, cat: Console, desc: "Core"}
|
||||
- {id: 44, cat: Console, desc: "CP78"}
|
||||
- {id: 16, cat: TV/Documentary, desc: "Docu"}
|
||||
- {id: 41, cat: Console, desc: "Dragon"}
|
||||
- {id: 5, cat: Books, desc: "EBooks"}
|
||||
- {id: 38, cat: Console, desc: "Hyperspin Bolt-on Edition"}
|
||||
- {id: 61, cat: Console, desc: "emuxtras"}
|
||||
- {id: 69, cat: TV, desc: "Entertainment"}
|
||||
- {id: 34, cat: TV, desc: "Kids"}
|
||||
- {id: 8, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: 22, cat: PC/Games, desc: "CoinOPS"}
|
||||
- {id: 43, cat: Console, desc: "LB No Intro"}
|
||||
- {id: 33, cat: TV/Sport, desc: "MMA/Boxing"}
|
||||
- {id: 32, cat: Movies, desc: "Movie Pack"}
|
||||
- {id: 6, cat: Movies, desc: "Movies/XVID"}
|
||||
- {id: 7, cat: Audio, desc: "Music"}
|
||||
- {id: 31, cat: Console, desc: "Nintendo"}
|
||||
- {id: 59, cat: Console, desc: "P-R-U"}
|
||||
- {id: 8, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: 50, cat: Console, desc: "PlayBox"}
|
||||
- {id: 30, cat: Console, desc: "Playstation"}
|
||||
- {id: 62, cat: Console, desc: "RaspberryPi"}
|
||||
- {id: 56, cat: Console, desc: "Retro Minis"}
|
||||
- {id: 67, cat: Console, desc: "Retrobat"}
|
||||
- {id: 27, cat: Console, desc: "Roms and Emulators"}
|
||||
- {id: 68, cat: Console, desc: "Schmoomer's"}
|
||||
- {id: 57, cat: Console, desc: "Sega"}
|
||||
- {id: 40, cat: TV, desc: "Soaps"}
|
||||
- {id: 29, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 9, cat: TV, desc: "TV-Boxsets"}
|
||||
- {id: 11, cat: TV, desc: "TV/x264"}
|
||||
- {id: 10, cat: TV, desc: "TV/Xvid"}
|
||||
- {id: 14, cat: TV/Sport, desc: "WWE"}
|
||||
- {id: 26, cat: Console, desc: "Xbox"}
|
||||
- {id: 12, cat: Console, desc: "XBOX360"}
|
||||
- {id: 23, cat: XXX, desc: "xxx18+"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -45,6 +61,22 @@ caps:
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>40</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
@@ -67,12 +99,15 @@ search:
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ .Keywords }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: t_name
|
||||
category: 0 # multi cat search not supported
|
||||
# yes, no
|
||||
include_dead_torrents: yes
|
||||
# sort is done via do=quick_sort, and freeleech sorting is part of that set
|
||||
|
||||
rows:
|
||||
selector: table#sortabletable > tbody > tr:has(a[href*="/details.php?id="])
|
||||
selector: "table#sortabletable > tbody > tr:has(a[href*=\"/details.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"freedownload.gif\"]){{ else }}{{ end }}"
|
||||
filters:
|
||||
- name: andmatch
|
||||
args: 66
|
||||
@@ -108,6 +143,18 @@ search:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
poster:
|
||||
selector: div.tooltip-content > img
|
||||
attribute: src
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="freedownload.gif"]: 0
|
||||
img[src$="silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="x2.gif"]: 2
|
||||
"*": 1
|
||||
date:
|
||||
selector: "td:nth-child(2) > div:has(span[style=\"float: right;\"])"
|
||||
remove: span
|
||||
@@ -116,14 +163,4 @@ search:
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
poster:
|
||||
selector: div.tooltip-content > img
|
||||
attribute: src
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[alt^="Free Torrent "]: 0
|
||||
img[alt^="Silver Torrent "]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine tbd
|
||||
# TS Special Edition v.8.0
|
||||
|
@@ -8,12 +8,13 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://badasstorrents.com/
|
||||
- https://badasstorrents.nocensor.lol/
|
||||
- https://badasstorrents.nocensor.art/
|
||||
legacylinks:
|
||||
- https://badasstorrents.nocensor.work/
|
||||
- https://badasstorrents.nocensor.biz/
|
||||
- https://badasstorrents.nocensor.sbs/
|
||||
- https://badasstorrents.nocensor.world/
|
||||
- https://badasstorrents.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -80,15 +80,15 @@ search:
|
||||
div[title="Comics"]: 4
|
||||
div[title="Ebooks"]: 5
|
||||
div[title="Magazines"]: 7
|
||||
_author:
|
||||
author_optional:
|
||||
selector: .authorLink
|
||||
optional: true
|
||||
_editor:
|
||||
selector: .editorLink
|
||||
optional: true
|
||||
author:
|
||||
text: "{{ or .Result._author .Result._editor }}"
|
||||
_year:
|
||||
text: "{{ or .Result.author_optional .Result._editor }}"
|
||||
year:
|
||||
selector: .torYear
|
||||
optional: true
|
||||
_filetype:
|
||||
@@ -103,7 +103,7 @@ search:
|
||||
text: "{{ .Result.booktitle }}"
|
||||
filters:
|
||||
- name: append
|
||||
args: "{{ if .Result.author }} by {{ .Result.author }}{{ else }}{{ end }}{{ if .Result._year }} {{ .Result._year }}{{ else }}{{ end }}{{ if .Result._filetype }} {{ .Result._filetype }}{{ else }}{{ end }}{{ if .Result._retail }} {{ .Result._retail }}{{ else }}{{ end }}"
|
||||
args: "{{ if .Result.author }} by {{ .Result.author }}{{ else }}{{ end }}{{ if .Result.year }} {{ .Result.year }}{{ else }}{{ end }}{{ if .Result._filetype }} {{ .Result._filetype }}{{ else }}{{ end }}{{ if .Result._retail }} {{ .Result._retail }}{{ else }}{{ end }}"
|
||||
details:
|
||||
selector: .title a
|
||||
attribute: href
|
||||
|
@@ -1,161 +0,0 @@
|
||||
---
|
||||
id: bitcityreloaded
|
||||
name: Bit-City Reloaded
|
||||
description: "Bit-City Reloaded is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: ISO-8859-1
|
||||
links:
|
||||
- https://bc-reloaded.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "Anderes"}
|
||||
- {id: 34, cat: PC, desc: "Appz/Linux"}
|
||||
- {id: 35, cat: PC/Mac, desc: "Appz/Mac"}
|
||||
- {id: 36, cat: PC, desc: "Appz/Other"}
|
||||
- {id: 20, cat: PC/0day, desc: "Appz/Win"}
|
||||
- {id: 4, cat: Books/EBook, desc: "EBooks"}
|
||||
- {id: 10, cat: PC/Games, desc: "Games/PC"}
|
||||
- {id: 15, cat: PC/Mobile-Android, desc: "Handy & PDA"}
|
||||
- {id: 16, cat: Audio/Audiobook, desc: "Hörspiel/Hörbuch"}
|
||||
- {id: 30, cat: Movies/Foreign, desc: "International"}
|
||||
- {id: 43, cat: Movies/3D, desc: "Movie/3D"}
|
||||
- {id: 6, cat: Movies/HD, desc: "Movie/HD 1080p"}
|
||||
- {id: 7, cat: Movies/HD, desc: "Movie/HD 720p"}
|
||||
- {id: 17, cat: Movies/Other, desc: "Movie/MegaPack"}
|
||||
- {id: 9, cat: Movies/SD, desc: "Movie/SD"}
|
||||
- {id: 26, cat: XXX, desc: "Movie/XXX"}
|
||||
- {id: 41, cat: XXX/Other, desc: "Movie/XXX/Other"}
|
||||
- {id: 42, cat: XXX/Pack, desc: "Movie/XXX/Pack"}
|
||||
- {id: 45, cat: Movies/UHD, desc: "Movies/4K"}
|
||||
- {id: 33, cat: Movies/BluRay, desc: "Movies/BluRay"}
|
||||
- {id: 19, cat: Audio/Video, desc: "Musik Videos"}
|
||||
- {id: 18, cat: Audio, desc: "Musik/MP3/Flac"}
|
||||
- {id: 13, cat: Console/WiiU, desc: "Nintendo"}
|
||||
- {id: 12, cat: Console/PS4, desc: "Playstation"}
|
||||
- {id: 22, cat: TV/HD, desc: "Serie/HD"}
|
||||
- {id: 38, cat: TV, desc: "Serie/Pack"}
|
||||
- {id: 23, cat: TV/SD, desc: "Serie/SD"}
|
||||
- {id: 25, cat: TV/Sport, desc: "Sport"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Anzahl der Torrents beim Durchsuchen</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login/index.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: /
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://bc-reloaded.net/uebersicht.php?c7=1&c17=1&showsearch=1&search=2021+720p&blah=0&incldead=1&orderby=added&sort=desc
|
||||
- path: uebersicht.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
showsearch: 1
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both, 3 noDVDRip
|
||||
blah: 0
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
# site does not support imdbid searching or display imdb links in results.
|
||||
|
||||
rows:
|
||||
selector: "table.tableinborder[cellpadding=0] > tbody > tr{{ if .Config.freeleech }}:has(img[src$=\"torrent_ou.gif\"]){{ else }}{{ end }}"
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="uebersicht.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: table tbody tr:nth-of-type(2) td:nth-of-type(5)
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\u00a0", " "]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: table tbody tr:nth-of-type(2) > td > b
|
||||
files:
|
||||
selector: td:has(a[href*="&filelist=1"])> b:nth-child(2)
|
||||
grabs:
|
||||
selector: td:has(a[href*="&tosnatchers=1"])> b:nth-child(1)
|
||||
seeders:
|
||||
selector: table tbody tr:nth-of-type(2) td:nth-of-type(2) b:nth-of-type(1) font
|
||||
leechers:
|
||||
selector: table tbody tr:nth-of-type(2) td:nth-of-type(2) b:nth-of-type(2) font
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="torrent_ou.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="torrent_2u.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.7
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# engine n/a
|
@@ -12,7 +12,7 @@ caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Other, desc: "ในพระราชสำนัก (in the royal court)"}
|
||||
- {id: 4, cat: TV, desc: "รายการทีวี (TV)"}
|
||||
- {id: 7, cat: Movies, desc: "ภาพยนตร์ชุด (Movie Packs)"}
|
||||
- {id: 7, cat: TV, desc: "ภาพยนตร์ชุด (Series)"}
|
||||
- {id: 12, cat: Books/EBook, desc: "หนังสือ สื่อการสอน (Books)"}
|
||||
- {id: 13, cat: Other/Misc, desc: "ทั่วไป (General)"}
|
||||
- {id: 14, cat: TV/Sport, desc: "กีฬา (Sport)"}
|
||||
|
161
src/Jackett.Common/Definitions/bitofvalor.yml
Normal file
161
src/Jackett.Common/Definitions/bitofvalor.yml
Normal file
@@ -0,0 +1,161 @@
|
||||
---
|
||||
id: bitofvalor
|
||||
name: Bit Of Valor
|
||||
description: "Bit Of Valor is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: ISO-8859-2
|
||||
links:
|
||||
- https://bitvalor.hu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 26, cat: Books, desc: "E-Book/ENG"}
|
||||
- {id: 27, cat: Books, desc: "E-Book/HUN"}
|
||||
- {id: 28, cat: PC/Games, desc: "Játék/ISO"}
|
||||
- {id: 29, cat: PC/Games, desc: "Játék/RIP"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Cam/ENG"}
|
||||
- {id: 31, cat: Movies/SD, desc: "Cam/HUN"}
|
||||
- {id: 32, cat: Movies/HD, desc: "HD/ENG"}
|
||||
- {id: 33, cat: Movies/HD, desc: "HD/HUN"}
|
||||
- {id: 34, cat: Movies/DVD, desc: "Dvd9/HUN"}
|
||||
- {id: 35, cat: Movies/DVD, desc: "DVD/ENG"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "DVD/HUN"}
|
||||
- {id: 37, cat: TV, desc: "Sorozat/ENG"}
|
||||
- {id: 38, cat: TV, desc: "Sorozat/HUN"}
|
||||
- {id: 39, cat: Movies/SD, desc: "Xvid/ENG"}
|
||||
- {id: 40, cat: Movies/SD, desc: "Xvid/HUN"}
|
||||
- {id: 41, cat: Audio, desc: "Zene/ENG"}
|
||||
- {id: 42, cat: Audio, desc: "Zene/HUN"}
|
||||
- {id: 43, cat: Other, desc: "Képek"}
|
||||
- {id: 44, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 45, cat: PC, desc: "Program/ISO/RIP"}
|
||||
- {id: 46, cat: XXX/WEB-DL, desc: "XXX/Film"}
|
||||
- {id: 47, cat: XXX/ImageSet, desc: "XXX/Kép"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
book-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search FreeLeech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
1: title
|
||||
4: added
|
||||
5: size
|
||||
7: seeders
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrent oldalankén:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /
|
||||
selector: a[href^="logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 deadonly, 3 freeleech, 4 seedless
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# does not support imdbid search nor has imdbid link in results
|
||||
|
||||
rows:
|
||||
selector: tr:has(a[onmouseover]):not(:has(td.outer))
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[onmouseover]
|
||||
details:
|
||||
selector: a[onmouseover]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
download:
|
||||
selector: a[onmouseover]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
genre:
|
||||
selector: i
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: validate
|
||||
args: "Akció, Animációs, Kaland, Életrajzi, Vígjáték, Krimi, Dokumentum, Dráma, Családi, Fantasztikus, Film-noir, Bünügyi, Történelmi, Horror, Musical, Zenés, Misztikus, Hírek, Valóságshow, Romantikus, Sci-fi, Rövidfilm, Sport, Talkshow, Thriller, Háborús, Bemutató, XXX, Western, 60s, 70s, 80s, 90s, Alternative, Blues, Breaks, Classic, Country, Dance, Electronic, Folk, Funk, Hardcore, Hip.Hop, Haus, Metal, Pop, Pop.Rock, Rock, Soul, Techno, Disco, Trance, Live, Latin, Jazz"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# Engine n/a
|
@@ -7,11 +7,11 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
- https://bitsearch.nocensor.lol/
|
||||
legacylinks:
|
||||
- https://bitsearch.nocensor.biz/
|
||||
- https://bitsearch.nocensor.sbs/
|
||||
- https://bitsearch.nocensor.world/
|
||||
- https://bitsearch.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -151,20 +151,20 @@ search:
|
||||
args: "src=(.*?) width"
|
||||
files:
|
||||
selector: div.torrenttable:nth-last-child(7)
|
||||
date_year:
|
||||
# Jul 4 2019 08:04 AM
|
||||
selector: div.torrenttable:nth-last-child(5):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date_day:
|
||||
# Today 02:40 PM
|
||||
# Yesterday 09:10 AM
|
||||
selector: div.torrenttable:nth-last-child(5):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
date_year:
|
||||
# Jul 4 2019 08:04 AM
|
||||
selector: div.torrenttable:nth-last-child(5):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
|
@@ -14,6 +14,7 @@ legacylinks:
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 56, cat: Movies, desc: "BTRG"}
|
||||
- {id: 95, cat: Movies, desc: "BTRG HMAX"}
|
||||
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
|
||||
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
|
||||
- {id: 63, cat: Movies, desc: "Türkçe Film"}
|
||||
@@ -172,34 +173,34 @@ search:
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||
attribute: href
|
||||
date_year:
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at ")):not(:has(abbr[data-time]))
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
date_day:
|
||||
# Uploaded Friday at 05:11 by
|
||||
# Uploaded Today at 00:48 by
|
||||
# Uploaded Yesterday at 23:57 by
|
||||
selector: td.torrent_name:contains(" at "):not(:has(abbr[data-time]))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at ")):not(:has(abbr[data-time]))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04"
|
||||
date_unix:
|
||||
# within the hour (unix)
|
||||
selector: abbr[data-time]
|
||||
attribute: data-time
|
||||
optional: true
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_unix .Result.date_day }}{{ or .Result.date_year .Result.date_unix .Result.date_day }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_day .Result.date_year .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_unix }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
|
@@ -6,6 +6,8 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://blutopia.cc/
|
||||
legacylinks:
|
||||
- https://blutopia.xyz/
|
||||
|
||||
caps:
|
||||
@@ -27,7 +29,7 @@ settings:
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://blutopia.xyz/\" target =_blank>Blutopia</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://blutopia.cc/\" target =_blank>Blutopia</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -129,8 +131,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -25,7 +25,6 @@ caps:
|
||||
- {id: 5, cat: Movies/WEB-DL, desc: "HD - WEB-DL"}
|
||||
- {id: 14, cat: Movies/HD, desc: "HD - WEBRip"}
|
||||
- {id: 40, cat: Movies/HD, desc: "PTer"}
|
||||
- {id: 32, cat: PC/Games, desc: "Oyunlar (Games)"}
|
||||
- {id: 9, cat: Movies/SD, desc: "SD"}
|
||||
- {id: 23, cat: Movies/SD, desc: "SD - BluRay"}
|
||||
- {id: 10, cat: Movies/DVD, desc: "SD - DVD"}
|
||||
@@ -60,12 +59,19 @@ login:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php?logouthash="]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: takethanks.php
|
||||
method: post
|
||||
inputs:
|
||||
torrentid: "{{ .DownloadUri.Query.id }}"
|
||||
selectors:
|
||||
- selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
keywordsfilters:
|
||||
- name: re_replace # E01 to BL01
|
||||
args: ["(?i)\\bE(\\d+)\\b", "E$1"]
|
||||
inputs:
|
||||
# does not support multi categories so defaulting to ALL
|
||||
do: search
|
||||
@@ -86,14 +92,11 @@ search:
|
||||
args: category
|
||||
title:
|
||||
selector: div[id^="port-target-"] a
|
||||
filters:
|
||||
- name: re_replace # BL01 to E01
|
||||
args: ["(?i)\\bBL(\\d+)\\b", " E$1 "]
|
||||
details:
|
||||
selector: div[id^="port-target-"] a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="download.php?id="]
|
||||
selector: div[id^="port-target-"] a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[id^="port-content-"] img
|
||||
|
@@ -112,8 +112,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
selector: freeleech
|
||||
|
@@ -7,12 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.bulltorrent.com/
|
||||
- https://toros.nocensor.lol/
|
||||
legacylinks:
|
||||
- https://toros.nocensor.space/
|
||||
- https://toros.nocensor.work/
|
||||
- https://www.toros.co/
|
||||
- https://toros.nocensor.biz/
|
||||
- https://toros.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -88,9 +88,13 @@ search:
|
||||
selector: a[href^="/torrent/"]
|
||||
attribute: href
|
||||
date_day:
|
||||
selector: td:nth-child(2):contains("day")
|
||||
selector: td:nth-child(2):contains("day"), td:nth-child(2):contains("Hoy"), td:nth-child(2):contains("Ayer")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Hoy", "Today"]
|
||||
- name: replace
|
||||
args: ["Ayer", "Yesterday"]
|
||||
- name: fuzzytime
|
||||
date_ago:
|
||||
selector: td:nth-child(2):contains("ago")
|
||||
@@ -98,7 +102,7 @@ search:
|
||||
filters:
|
||||
- name: timeago
|
||||
date_year:
|
||||
selector: td:nth-child(2):not(:contains("ago")):not(:contains("day"))
|
||||
selector: td:nth-child(2):not(:contains("ago")):not(:contains("day")):not(:contains("Hoy")):not(:contains("Ayer"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
|
@@ -184,11 +184,10 @@ search:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-200615:04:05 -07:00"
|
||||
args: "02-01-200615:04:05"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
download:
|
||||
|
@@ -175,7 +175,7 @@ caps:
|
||||
- {id: 161, cat: PC/Games, desc: "Редактор уровней"}
|
||||
- {id: 162, cat: PC/Games, desc: "Культовая классика"}
|
||||
- {id: 163, cat: PC/Games, desc: "Минимализм"}
|
||||
- {id: 164, cat: PC/Games, desc: "Shoot 'em up"}
|
||||
- {id: 164, cat: PC/Games, desc: "Shoot'em up"}
|
||||
- {id: 165, cat: PC/Games, desc: "Решения с последствиями"}
|
||||
- {id: 166, cat: PC/Games, desc: "Процедурная генерация"}
|
||||
- {id: 167, cat: PC/Games, desc: "Мультипликация"}
|
||||
@@ -185,7 +185,7 @@ caps:
|
||||
- {id: 171, cat: PC/Games, desc: "Изометрия"}
|
||||
- {id: 172, cat: PC/Games, desc: "Карточная игра"}
|
||||
- {id: 173, cat: PC/Games, desc: "Чёрный юмор"}
|
||||
- {id: 174, cat: PC/Games, desc: "Beat 'em up"}
|
||||
- {id: 174, cat: PC/Games, desc: "Beat'em up"}
|
||||
- {id: 175, cat: PC/Games, desc: "Свобода выбора"}
|
||||
- {id: 176, cat: PC/Games, desc: "Рисованная графика"}
|
||||
- {id: 177, cat: PC/Games, desc: "Инопланетяне"}
|
||||
|
@@ -83,7 +83,7 @@ search:
|
||||
# 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
|
||||
keywordsfilters:
|
||||
# if searching for season packs switch S01 to season 1 #11775
|
||||
# if searching for season packs switch S01 to season 1 #11775
|
||||
- name: re_replace
|
||||
args: ["(?i)(S0)(\\d{1,2})$", "season $2"]
|
||||
- name: re_replace
|
||||
@@ -103,6 +103,21 @@ search:
|
||||
selector: "table.lista tr td table.lista tr:has(a[href^=\"index.php?page=torrent-details\"]):not(:has(a[href=\"index.php?page=torrents&category=0\"])){{ if .Config.freeleech }}:has(img[src=\"gold/gold.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
title_torrent:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
- name: htmldecode
|
||||
- name: re_replace
|
||||
args: ["(?i)\\.torrent$", ""]
|
||||
title_text:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
filters:
|
||||
# #11775
|
||||
- name: re_replace
|
||||
args: ["(?i)(season )", "S"]
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
@@ -110,11 +125,7 @@ search:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
filters:
|
||||
# #11775
|
||||
- name: re_replace
|
||||
args: ["(?i)(season )", "S"]
|
||||
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
@@ -140,25 +151,23 @@ search:
|
||||
date_day:
|
||||
# Yesterday at 10:03:30 PM
|
||||
selector: td:nth-child(5):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[ ]at|[\\s+]|[//\xa0],\\/g", " "]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date_year:
|
||||
# February 09, 2019, 06:35:08 AM
|
||||
selector: td:nth-child(5):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[,]|[\\s+]|[//\xa0],\\/g", " "]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "January 02 2006 03:04:05 PM -07:00"
|
||||
args: "January 02 2006 03:04:05 PM"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
|
@@ -104,12 +104,18 @@ search:
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
filters:
|
||||
- name: re_replace # Seasons X-Y --> SX-SY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
|
||||
- name: re_replace # Seasons X-Y --> S0X-S0Y
|
||||
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d)\\b", "S0$1-S0$2"]
|
||||
- name: re_replace # Seasons X-YY --> S0X-SYY
|
||||
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d+)\\b", "S0$1-S$2"]
|
||||
- name: re_replace # Seasons XX-YY --> SXX-SYY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)\\b", "S$1-S$2"]
|
||||
- name: re_replace # Season X --> S0X
|
||||
args: ["(?i)season\\s*(\\d+)", "S$1"]
|
||||
args: ["(?i)season\\s*(\\d)\\b", "S0$1"]
|
||||
- name: re_replace # Season XX --> SXX
|
||||
args: ["(?i)season\\s*(\\d+)\\b", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)Complete\\s+Series", ""]
|
||||
args: ["(?i)\\bComplete\\s+Series\\b", ""]
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
@@ -137,11 +143,10 @@ search:
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
args: "Jan 02 2006, 15:04"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://cpasbiens3.fr/
|
||||
- https://labastidevivante.fr/
|
||||
legacylinks:
|
||||
- http://www.cpasbiens.cc/
|
||||
- http://www.cpabien.cm/
|
||||
@@ -44,6 +44,7 @@ legacylinks:
|
||||
- https://www2.cpasbien-fr.fr/
|
||||
- https://www.cpasbien-fr.nz/
|
||||
- https://vwwvwvwvvw.cpasbien-fr.nz/
|
||||
- https://cpasbiens3.fr/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -200,11 +200,10 @@ search:
|
||||
selector: div.torrent-size
|
||||
date:
|
||||
selector: div.torrent-time
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: div.torrent-seeder
|
||||
leechers:
|
||||
|
@@ -269,13 +269,12 @@ search:
|
||||
date:
|
||||
selector: a[onmouseover][href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Partagé Voilà : </b>(.*?)<br"
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "01-02-2006 -07:00"
|
||||
args: "01-02-2006"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/Torrents/free.png"]: 0
|
||||
|
@@ -140,26 +140,24 @@ search:
|
||||
date_day:
|
||||
# Danas<br>08:10 AM
|
||||
# Juče<br>06:44 PM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):contains("Danas"), td:nth-of-type(6):contains("Juče")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Danas", "Today"]
|
||||
- name: replace
|
||||
args: ["Juče", "Yesterday"]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date_year:
|
||||
# Feb 14 2019<br>10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-of-type(6):not(:contains("Juče")):not(:contains("Danas"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-of-type(7)
|
||||
grabs:
|
||||
|
@@ -94,12 +94,18 @@ search:
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
filters:
|
||||
- name: re_replace # Seasons X-Y --> SX-SY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
|
||||
- name: re_replace # Seasons X-Y --> S0X-S0Y
|
||||
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d)\\b", "S0$1-S0$2"]
|
||||
- name: re_replace # Seasons X-YY --> S0X-SYY
|
||||
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d+)\\b", "S0$1-S$2"]
|
||||
- name: re_replace # Seasons XX-YY --> SXX-SYY
|
||||
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)\\b", "S$1-S$2"]
|
||||
- name: re_replace # Season X --> S0X
|
||||
args: ["(?i)season\\s*(\\d+)", "S$1"]
|
||||
args: ["(?i)season\\s*(\\d)\\b", "S0$1"]
|
||||
- name: re_replace # Season XX --> SXX
|
||||
args: ["(?i)season\\s*(\\d+)\\b", "S$1"]
|
||||
- name: re_replace
|
||||
args: ["(?i)Complete\\s+Series", ""]
|
||||
args: ["(?i)\\bComplete\\s+Series\\b", ""]
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
@@ -127,11 +133,10 @@ search:
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
args: "Jan 02 2006, 15:04"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
@@ -118,8 +118,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2022-02-28T19:09:44.000000Z
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -18,6 +18,12 @@ caps:
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"}
|
||||
- {id: 138, cat: Movies, desc: "Filme Pack`s"}
|
||||
# Kids
|
||||
- {id: 143, cat: Movies, desc: "Kids Filme"}
|
||||
- {id: 144, cat: TV, desc: "Kids Serien"}
|
||||
- {id: 145, cat: Audio, desc: "Kids Music"}
|
||||
- {id: 146, cat: Audio, desc: "Kids Audio"}
|
||||
- {id: 147, cat: Books, desc: "Kids EBook"}
|
||||
# Serien
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
|
@@ -138,8 +138,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -12,13 +12,11 @@ links:
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.tor2web.to/
|
||||
- https://demonoid.unblockit.page/
|
||||
- https://demonoid.unblockit.ink/
|
||||
- https://demonoid.torrentbay.to/
|
||||
- https://demonoid.nocensor.lol/
|
||||
- https://demonoid.nocensor.art/
|
||||
legacylinks:
|
||||
- https://demonoid.unblockit.ws/
|
||||
- https://demonoid.nocensor.work/
|
||||
- https://demonoid.unblockit.kim/
|
||||
- https://demonoid.unblockit.bz/
|
||||
- https://demonoid.unblockit.tv/
|
||||
- https://demonoid.unblockit.how/
|
||||
@@ -36,10 +34,15 @@ legacylinks:
|
||||
- https://demonoid.nocensor.world/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ws/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.pet/
|
||||
- https://demonoid.unblockit.page/
|
||||
- https://demonoid.unblockit.pet/
|
||||
- https://demonoid.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# fetch these from https://www.demonoid.is/cached/torrent_categories_script.js?v5
|
||||
# Everything
|
||||
- {id: 0, cat: Other/Misc, desc: "Miscellaneous"}
|
||||
# Applications
|
||||
- {id: 1, cat: PC/Mobile-Android, desc: "Applications Android"}
|
||||
- {id: 2, cat: PC/Mobile-iOS, desc: "Applications phone / Ipod touch"}
|
||||
@@ -369,6 +372,8 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 0
|
||||
category|noappend:
|
||||
selector: span.table__column__subtext > a:nth-child(2)
|
||||
attribute: href
|
||||
optional: true
|
||||
|
@@ -73,7 +73,7 @@ search:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
@@ -98,6 +98,8 @@ search:
|
||||
selector: details_link
|
||||
download:
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
@@ -129,8 +131,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
@@ -149,9 +156,10 @@ search:
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# global MR is 0.5 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.5
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 6.4.1 (custom)
|
||||
# json UNIT3D 6.5.0 (custom)
|
||||
|
@@ -12,26 +12,18 @@ caps:
|
||||
categorymappings:
|
||||
- {id: 49, cat: Movies/SD, desc: "film / Cam"}
|
||||
- {id: 21, cat: Movies/SD, desc: "film / Cam [magyar]"}
|
||||
- {id: 6, cat: Movies/SD, desc: "film / DVDRip/XviD"}
|
||||
- {id: 5, cat: Movies/SD, desc: "film / DVDRip/XviD [magyar]"}
|
||||
- {id: 32, cat: Movies/SD, desc: "film / BDRip/XviD"}
|
||||
- {id: 33, cat: Movies/SD, desc: "film / BDRip/XviD [magyar]"}
|
||||
- {id: 50, cat: Movies/SD, desc: "film / BDRip/x264"}
|
||||
- {id: 51, cat: Movies/SD, desc: "film / BDRip/x264 [magyar]"}
|
||||
- {id: 4, cat: Movies/DVD, desc: "film / DVD-R"}
|
||||
- {id: 3, cat: Movies/DVD, desc: "film / DVD-R [magyar]"}
|
||||
- {id: 45, cat: Movies/DVD, desc: "film / DVD9"}
|
||||
- {id: 46, cat: Movies/DVD, desc: "film / DVD9 [magyar]"}
|
||||
- {id: 30, cat: Movies/HD, desc: "film / HD"}
|
||||
- {id: 31, cat: Movies/HD, desc: "film / HD [magyar]"}
|
||||
- {id: 48, cat: Movies/BluRay, desc: "film / Bluray"}
|
||||
- {id: 47, cat: Movies/BluRay, desc: "film / Bluray [magyar]"}
|
||||
- {id: 10, cat: TV/SD, desc: "Sorozat / XviD"}
|
||||
- {id: 11, cat: TV/SD, desc: "Sorozat / XviD [magyar]"}
|
||||
- {id: 43, cat: TV/SD, desc: "Sorozat / DVD-R"}
|
||||
- {id: 41, cat: TV/SD, desc: "Sorozat / DVD-R [magyar]"}
|
||||
- {id: 44, cat: TV/HD, desc: "Sorozat / HD"}
|
||||
- {id: 42, cat: TV/HD, desc: "Sorozat / HD [magyar]"}
|
||||
- {id: 102, cat: Movies/SD, desc: "film / SD"}
|
||||
- {id: 101, cat: Movies/SD, desc: "film / SD [magyar]"}
|
||||
- {id: 106, cat: Movies/DVD, desc: "film / DVD-R"}
|
||||
- {id: 105, cat: Movies/DVD, desc: "film / DVD-R [magyar]"}
|
||||
- {id: 104, cat: Movies/HD, desc: "film / HD"}
|
||||
- {id: 103, cat: Movies/HD, desc: "film / HD [magyar]"}
|
||||
- {id: 108, cat: TV/SD, desc: "Sorozat / SD"}
|
||||
- {id: 107, cat: TV/SD, desc: "Sorozat / SD [magyar]"}
|
||||
- {id: 110, cat: TV/SD, desc: "Sorozat / DVD-R"}
|
||||
- {id: 109, cat: TV/SD, desc: "Sorozat / DVD-R [magyar]"}
|
||||
- {id: 112, cat: TV/HD, desc: "Sorozat / HD"}
|
||||
- {id: 111, cat: TV/HD, desc: "Sorozat / HD [magyar]"}
|
||||
- {id: 8, cat: Audio/MP3, desc: "Zene / MP3"}
|
||||
- {id: 9, cat: Audio/MP3, desc: "Zene / MP3 [magyar]"}
|
||||
- {id: 38, cat: Audio/Lossless, desc: "Zene / Lossless"}
|
||||
@@ -45,9 +37,9 @@ caps:
|
||||
- {id: 16, cat: PC/ISO, desc: "Programok / PC"}
|
||||
- {id: 24, cat: PC/Mobile-Other, desc: "Programok / Mobil"}
|
||||
- {id: 53, cat: PC/0day, desc: "Programok / Egyéb"}
|
||||
- {id: 17, cat: XXX/XviD, desc: "Pornó / XviD"}
|
||||
- {id: 113, cat: XXX/XviD, desc: "Pornó / SD"}
|
||||
- {id: 34, cat: XXX/DVD, desc: "Pornó / DVD-R"}
|
||||
- {id: 35, cat: XXX, desc: "Pornó / HD"}
|
||||
- {id: 114, cat: XXX, desc: "Pornó / HD"}
|
||||
- {id: 36, cat: XXX, desc: "Pornó / Képek"}
|
||||
- {id: 20, cat: Books, desc: "E-Book / Magyar"}
|
||||
- {id: 52, cat: Books, desc: "E-Book / Egyéb"}
|
||||
|
@@ -110,7 +110,7 @@ search:
|
||||
limit: 100
|
||||
order: "{{ .Config.type }}"
|
||||
page: search
|
||||
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
|
||||
section: all
|
||||
sort: "{{ .Config.sort }}"
|
||||
stereoscopic: false
|
||||
@@ -177,7 +177,7 @@ search:
|
||||
title_desc:
|
||||
optional: true
|
||||
selector: title
|
||||
year_desc:
|
||||
year:
|
||||
optional: true
|
||||
selector: year
|
||||
genre:
|
||||
@@ -193,7 +193,7 @@ search:
|
||||
selector: rating
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["0", ""]
|
||||
args: ["^0$", ""]
|
||||
_section_desc:
|
||||
optional: true
|
||||
selector: section
|
||||
@@ -224,5 +224,5 @@ search:
|
||||
- name: regexp
|
||||
args: "(.+?), $"
|
||||
description:
|
||||
text: "{{ if .Result.title_desc }}Title: {{ .Result.title_desc }}</br>{{ else }}{{ end }}{{ if .Result.year_desc }}Year: {{ .Result.year_desc }}</br>{{ else }}{{ end }}{{ if .Result.genre }}Genres: {{ .Result.genre }}</br>{{ else }}{{ end }}{{ if .Result._tagline_desc }}Tagline: {{ .Result._tagline_desc }}</br>{{ else }}{{ end }}{{ if .Result._cast_desc }}Cast: {{ .Result._cast_desc }}</br>{{ else }}{{ end }}{{ if .Result._rating_desc }}Rating: {{ .Result._rating_desc }}</br>{{ else }}{{ end }}{{ if .Result._tag_desc }}Tags: {{ .Result._tag_desc }}</br>{{ else }}{{ end }}{{ if .Result._predate_desc }}PRE: {{ .Result._predate_desc }}</br>{{ else }}{{ end }}{{ if .Result._section_desc }}Section: {{ .Result._section_desc }}{{ else }}{{ end }}"
|
||||
text: "{{ if .Result.title_desc }}Title: {{ .Result.title_desc }}</br>{{ else }}{{ end }}{{ if .Result.year }}Year: {{ .Result.year }}</br>{{ else }}{{ end }}{{ if .Result.genre }}Genres: {{ .Result.genre }}</br>{{ else }}{{ end }}{{ if .Result._tagline_desc }}Tagline: {{ .Result._tagline_desc }}</br>{{ else }}{{ end }}{{ if .Result._cast_desc }}Cast: {{ .Result._cast_desc }}</br>{{ else }}{{ end }}{{ if .Result._rating_desc }}Rating: {{ .Result._rating_desc }}</br>{{ else }}{{ end }}{{ if .Result._tag_desc }}Tags: {{ .Result._tag_desc }}</br>{{ else }}{{ end }}{{ if .Result._predate_desc }}PRE: {{ .Result._predate_desc }}</br>{{ else }}{{ end }}{{ if .Result._section_desc }}Section: {{ .Result._section_desc }}{{ else }}{{ end }}"
|
||||
# json rartracker api v1
|
||||
|
@@ -157,11 +157,10 @@ search:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
|
@@ -5,6 +5,8 @@ description: "DocsPedia is a Private Torrent Tracker for E-learning"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 0a9676d26d187ccc715189a5eea3bd43eff07c43 # Expired Jan 15 2023
|
||||
links:
|
||||
- https://www.docspedia.world/
|
||||
|
||||
@@ -139,22 +141,22 @@ search:
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
date_year:
|
||||
remove: a
|
||||
# Jul 4 2019 08:04 AM
|
||||
selector: div.torrenttable:nth-child(2):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date_day:
|
||||
remove: a
|
||||
# Today 02:40 PM
|
||||
# Yesterday 09:10 AM
|
||||
selector: div.torrenttable:nth-child(2):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
date_year:
|
||||
remove: a
|
||||
# Jul 4 2019 08:04 AM
|
||||
selector: div.torrenttable:nth-child(2):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
minimumratio:
|
||||
|
75
src/Jackett.Common/Definitions/dodder.yml
Normal file
75
src/Jackett.Common/Definitions/dodder.yml
Normal file
@@ -0,0 +1,75 @@
|
||||
---
|
||||
id: dodder
|
||||
name: Dodder
|
||||
description: "Dodder (菟丝子资源社区) is a CHINESE Public BitTorrent DHT search engine"
|
||||
language: zh-CN
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dodder.top/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Other: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
infohash:
|
||||
hash:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([A-F|a-f|0-9]{40})
|
||||
title:
|
||||
selector: b
|
||||
attribute: title
|
||||
filters:
|
||||
- name: validfilename
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
fileName: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.dodder-torrent-list > tbody > tr
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
title:
|
||||
selector: a[href^="/info/"]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="/info/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/info/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: div.layui-hide-xs
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
size:
|
||||
selector: span.layui-bg-gray
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
description:
|
||||
selector: span.layui-row
|
||||
remove: span.layui-badge
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -167,34 +167,34 @@ search:
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||
attribute: href
|
||||
date_year:
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at ")):not(:has(abbr[data-time]))
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
date_day:
|
||||
# Uploaded Friday at 05:11 by
|
||||
# Uploaded Today at 00:48 by
|
||||
# Uploaded Yesterday at 23:57 by
|
||||
selector: td.torrent_name:contains(" at "):not(:has(abbr[data-time]))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# Uploaded 30-01-2019 15:02 by
|
||||
selector: td.torrent_name:not(:contains(" at ")):not(:has(abbr[data-time]))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04"
|
||||
date_unix:
|
||||
# within the hour (unix)
|
||||
selector: abbr[data-time]
|
||||
attribute: data-time
|
||||
optional: true
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_unix .Result.date_day }}{{ or .Result.date_year .Result.date_unix .Result.date_day }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_day .Result.date_year .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_unix }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
seeders:
|
||||
@@ -215,4 +215,7 @@ search:
|
||||
case:
|
||||
"img[src$=\"/torrent_multiple_upload.png\"]": 2
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# TSUE 2.2
|
||||
|
@@ -1,157 +0,0 @@
|
||||
---
|
||||
id: elitetorrent-biz
|
||||
name: EliteTorrent.biz
|
||||
description: "EliteTorrent.biz is a Public torrent site for TV, movies and documentaries"
|
||||
language: es-ES
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://www.elitetorrent.com/
|
||||
- https://elitetorrent.nocensor.lol/
|
||||
legacylinks:
|
||||
- https://www.elitetorrent.nu/
|
||||
- https://www.elitetorrent.tv/
|
||||
- https://www.elitetorrent.li/
|
||||
- https://www.elitetorrent.bz/
|
||||
- https://www.elitetorrent.nl/
|
||||
- https://wwvv.elitetorrent.nl/
|
||||
- https://wvvw.elitetorrent.nl/
|
||||
- https://vvww.elitetorrent.nl/
|
||||
- https://www.elitetorrent.to/
|
||||
- https://www.elitetorrent.se/
|
||||
- https://elitetorrent.si/
|
||||
- https://elitetorrent.nocensor.work/
|
||||
- https://elitetorrent.com/
|
||||
- https://elitetorrent.app/
|
||||
- https://elitetorrent.nocensor.biz/
|
||||
- https://elitetorrent.la/
|
||||
- https://www.elitetorrent.wtf/
|
||||
- https://www.elitetorrent.dev/
|
||||
- https://elitetorrent.nocensor.sbs/
|
||||
- https://elitetorrent.nocensor.world/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
series: TV
|
||||
peliculas: Movies
|
||||
other: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
# site returns just 30 results, attempt to fetch up to 90
|
||||
paths:
|
||||
- path: /
|
||||
- path: /page/2/
|
||||
followredirect: true
|
||||
- path: /page/3/
|
||||
followredirect: true
|
||||
keywordsfilters:
|
||||
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
|
||||
- name: re_replace
|
||||
args: ["(?i)S0?(\\d{1,2})", " $1 "]
|
||||
- name: re_replace
|
||||
args: ["(?i)E(\\d{2,3})", " $1 "]
|
||||
inputs:
|
||||
s: "{{ .Keywords }}"
|
||||
$raw: "&x=0&y=0"
|
||||
|
||||
rows:
|
||||
selector: "#principal .miniboxs-ficha li:has(span:nth-of-type(2))"
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category_movie:
|
||||
selector: .meta a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "^.*/(peliculas)/.*$"
|
||||
category_tv:
|
||||
selector: .meta a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "^.*/(series)/.*$"
|
||||
category:
|
||||
text: "{{ if or .Result.category_movie .Result.category_tv }}{{ or .Result.category_movie .Result.category_tv }}{{ else }}other{{ end }}"
|
||||
_quality:
|
||||
selector: span:nth-of-type(2) > i
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["---", ""]
|
||||
_language:
|
||||
selector: span#idiomacio > i > img
|
||||
attribute: title
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Pelicula en ", ""]
|
||||
- name: replace
|
||||
args: ["Español Latino", "LATiN SPANiSH"]
|
||||
- name: replace
|
||||
args: ["Español Castellano", "SPANiSH"]
|
||||
- name: replace
|
||||
args: ["Ingles", "English"]
|
||||
- name: replace
|
||||
args: ["Subtitulado", " SPASUBS"]
|
||||
- name: replace
|
||||
args: ["VOSE", ""]
|
||||
title:
|
||||
selector: div.imagen > a
|
||||
attribute: title
|
||||
# normalize to SXXEYY format
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" – ", " "]
|
||||
- name: replace
|
||||
args: ["(", ""]
|
||||
- name: replace
|
||||
args: [")", ""]
|
||||
- name: re_replace
|
||||
args: ["(\\d{2})×(\\d{2})", "S$1E$2"]
|
||||
- name: re_replace
|
||||
args: ["(\\d{1})×(\\d{2})", "S0$1E$2"]
|
||||
- name: append
|
||||
args: " {{ .Result._quality }} {{ .Result._language }}"
|
||||
details:
|
||||
selector: .meta a
|
||||
attribute: href
|
||||
download:
|
||||
selector: .meta a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: .imagen img
|
||||
attribute: data-src
|
||||
size_optional:
|
||||
selector: .voto1
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["desc.", "512 MB"]
|
||||
- name: replace
|
||||
args: ["s", ""]
|
||||
size:
|
||||
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}512 MB{{ end }}"
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -141,11 +141,10 @@ search:
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
args: "Jan 02 2006, 15:04"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
@@ -136,11 +136,10 @@ search:
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
args: "Jan 02 2006, 15:04"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
@@ -7,11 +7,10 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://extratorrent.st/
|
||||
- https://extratorrent.unblockit.page/
|
||||
- https://extratorrent.nocensor.world/
|
||||
- https://extratorrent.unblockit.ink/
|
||||
- https://extratorrent.nocensor.art/
|
||||
legacylinks:
|
||||
- https://extratorrent.nocensor.work/
|
||||
- https://extratorrent.unblockit.kim/
|
||||
- https://extratorrent.unblockit.bz/
|
||||
- https://extratorrent.unblockit.tv/
|
||||
- https://extratorrent.unblockit.how/
|
||||
@@ -26,6 +25,10 @@ legacylinks:
|
||||
- https://extratorrent.unblockit.bet/
|
||||
- https://extratorrent.unblockit.cat/
|
||||
- https://extratorrent.unblockit.nz/
|
||||
- https://extratorrent.nocensor.world/
|
||||
- https://extratorrent.unblockit.page/
|
||||
- https://extratorrent.unblockit.pet/
|
||||
- https://extratorrent.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -5,6 +5,8 @@ description: "ExtremeBits is a Private Torrent Tracker for EXTREME SPORTS"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- 62ab0c90c702bd458a18d778c1fd5928b3721e13 # Expired 6 January 2023
|
||||
links:
|
||||
- https://extremebits.net/
|
||||
|
||||
|
@@ -151,11 +151,10 @@ search:
|
||||
args: "src=(.+?) "
|
||||
date:
|
||||
selector: td:nth-last-child(1)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02.01.200615:04:05 -07:00"
|
||||
args: "02.01.200615:04:05"
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
seeders:
|
||||
|
@@ -8,12 +8,14 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://ext.to/
|
||||
- https://site.extto.com/
|
||||
- https://ext.torrentbay.to/
|
||||
- https://search.extto.com/
|
||||
- https://extranet.torrentbay.to/
|
||||
legacylinks:
|
||||
- https://ext.unblockninja.com/
|
||||
- https://t.extto.com/
|
||||
- https://torrent.extto.com/
|
||||
- https://site.extto.com/
|
||||
- https://ext.torrentbay.to/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -13,14 +13,13 @@ links:
|
||||
- https://eztv.yt/
|
||||
- https://eztv1.xyz/
|
||||
- https://eztv.unblockninja.com/
|
||||
- https://eztv.unblockit.page/
|
||||
- https://eztv.nocensor.lol/
|
||||
- https://eztv.unblockit.ink/
|
||||
- https://eztv.nocensor.art/
|
||||
legacylinks:
|
||||
- https://eztv.ag/ # redirects to .re
|
||||
- https://eztv.it/ # redirects to .re
|
||||
- https://eztv.ch/ # redirects to .re
|
||||
- https://eztv.io/
|
||||
- https://eztv.unblockit.kim/
|
||||
- https://eztv.unblockit.bz/
|
||||
- https://eztv.unblockit.tv/
|
||||
- https://eztv.unblockit.how/
|
||||
@@ -36,6 +35,9 @@ legacylinks:
|
||||
- https://eztv.unblockit.cat/
|
||||
- https://eztv.unblockit.nz/
|
||||
- https://eztv.nocensor.world/
|
||||
- https://eztv.unblockit.page/
|
||||
- https://eztv.unblockit.pet/
|
||||
- https://eztv.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
@@ -120,13 +120,12 @@ search:
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{2}-\\d{2}-\\d{2} \\d{2}:\\d{2})"
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-06 15:04 -07:00"
|
||||
args: "02-01-06 15:04"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
|
@@ -149,8 +149,9 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
date_day:
|
||||
optional: true
|
||||
selector: td.torrent_name:contains("day"), td.torrent_name:contains("σήμερα"), td.torrent_name:contains("εχθές"), td.torrent_name:contains("Δευτέρα"), td.torrent_name:contains("Τρίτη"), td.torrent_name:contains("Τετάρτη"), td.torrent_name:contains("Πέμπτη"), td.torrent_name:contains("Παρασκευή"), td.torrent_name:contains("Σάββατο"), td.torrent_name:contains("Κυριακή")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
remove: span, a
|
||||
filters:
|
||||
- name: replace
|
||||
@@ -185,8 +186,9 @@ search:
|
||||
args: ["Κυριακή", "Sunday"]
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
optional: true
|
||||
selector: td.torrent_name:contains("-")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
remove: span, a
|
||||
filters:
|
||||
- name: replace
|
||||
@@ -203,12 +205,10 @@ search:
|
||||
args: [" τον/την", ""] # him/her
|
||||
- name: replace
|
||||
args: ["στις ", ""] # at
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
args: "02-01-2006 15:04"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
|
@@ -119,12 +119,11 @@ search:
|
||||
date_optional:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
args: "Jan 02 2006, 15:04"
|
||||
date: # some torrents have "Never" date
|
||||
text: "{{ if .Result.date_optional }}{{ .Result.date_optional }}{{ else }}20 years ago{{ end }}"
|
||||
size:
|
||||
|
@@ -146,11 +146,10 @@ search:
|
||||
args: "src=(.+?) "
|
||||
date:
|
||||
selector: td:nth-last-child(11)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
args: "02/01/2006"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
|
@@ -7,11 +7,12 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://filelisting.com/
|
||||
- https://filelisting.nocensor.lol/
|
||||
- https://filelisting.nocensor.art/
|
||||
legacylinks:
|
||||
- https://filelisting.nocensor.biz/
|
||||
- https://filelisting.nocensor.sbs/
|
||||
- https://filelisting.nocensor.world/
|
||||
- https://filelisting.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -146,11 +146,10 @@ search:
|
||||
date:
|
||||
# 23/12/2019 07:57
|
||||
selector: td:nth-last-child(4)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 15:04 -07:00"
|
||||
args: "02/01/2006 15:04"
|
||||
genre:
|
||||
selector: td:nth-child(2)
|
||||
remove: a
|
||||
|
160
src/Jackett.Common/Definitions/fluxzone.yml
Normal file
160
src/Jackett.Common/Definitions/fluxzone.yml
Normal file
@@ -0,0 +1,160 @@
|
||||
---
|
||||
id: fluxzone
|
||||
name: Flux-Zone
|
||||
description: "Flux-Zone is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ro-RO
|
||||
type: private
|
||||
encoding: utf-8
|
||||
links:
|
||||
- http://fluxzone.org/
|
||||
legacylinks:
|
||||
- https://fluxzone.org/ # not supported
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 15, cat: PC/Mobile-Other, desc: "Mobile"}
|
||||
- {id: 36, cat: TV/Documentary, desc: "Docs/Others"}
|
||||
- {id: 8, cat: Movies/UHD, desc: "Filme 4K"}
|
||||
- {id: 39, cat: Movies/3D, desc: "Filme 3D"}
|
||||
- {id: 1, cat: TV/Anime, desc: "Filme Anime"}
|
||||
- {id: 42, cat: TV/Anime, desc: "Filme Anime-RO"}
|
||||
- {id: 5, cat: Movies/BluRay, desc: "Filme BluRay"}
|
||||
- {id: 6, cat: Movies/BluRay, desc: "Filme BluRay-RO"}
|
||||
- {id: 9, cat: Movies/DVD, desc: "Filme DVD"}
|
||||
- {id: 10, cat: Movies/DVD, desc: "Filme DVD-RO"}
|
||||
- {id: 11, cat: Movies/HD, desc: "Filme HD"}
|
||||
- {id: 12, cat: Movies/HD, desc: "Filme HD-RO"}
|
||||
- {id: 24, cat: Movies/SD, desc: "Filme SD"}
|
||||
- {id: 25, cat: Movies/SD, desc: "Filme SD-RO"}
|
||||
- {id: 18, cat: Movies, desc: "Filme Packs"}
|
||||
- {id: 19, cat: Movies, desc: "Filme Packs-RO"}
|
||||
- {id: 30, cat: PC/Games, desc: "Jocuri PC"}
|
||||
- {id: 38, cat: Console, desc: "Jocuri Console"}
|
||||
- {id: 26, cat: PC, desc: "Programe"}
|
||||
- {id: 28, cat: Audio/Video, desc: "Muzica/Videoclip"}
|
||||
- {id: 21, cat: TV/SD, desc: "Seriale SD"}
|
||||
- {id: 81, cat: TV/HD, desc: "Seriale HD"}
|
||||
- {id: 79, cat: TV/UHD, desc: "Seriale 4K"}
|
||||
- {id: 27, cat: XXX, desc: "XXX"}
|
||||
- {id: 32, cat: TV/Sport, desc: "Sport"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
take_login: 1
|
||||
returnto: /
|
||||
error:
|
||||
- selector: td.embedded:contains("Login failed")
|
||||
test:
|
||||
path: /
|
||||
selector: a[href^="logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 title, 1 descr, 2 both
|
||||
blah: 0
|
||||
# 1 all, 2 onlydead, 3 free, 4 seedbox, 5 x2
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.mainblockcontenttt > tbody > tr.browse
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
# the title from the details link is often abbreviated so we use the download href instead
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "download.php/\\d+/(.+?)\\.torrent"
|
||||
- name: urldecode
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "15:04:0502/01/2006"
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freetorrent.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="pic/x2.png"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# Engine n/a
|
@@ -1,243 +0,0 @@
|
||||
---
|
||||
id: fouducinema
|
||||
name: Fou-Du-Cinema
|
||||
description: "Fou-Du-Cinema (FdC) is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://fou-du-cinema.ca/
|
||||
legacylinks:
|
||||
- https://fou-du-cinema.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 80, cat: Movies, desc: "Enfants Film"}
|
||||
- {id: 82, cat: TV, desc: "Enfants Série"}
|
||||
- {id: 1, cat: Movies/SD, desc: "FILM Xvid"}
|
||||
- {id: 101, cat: TV/Documentary, desc: "FILM Documentaire"}
|
||||
- {id: 75, cat: Movies/UHD, desc: "FILM 2160 P"}
|
||||
- {id: 63, cat: Movies/WEB-DL, desc: "FILM WEB"}
|
||||
- {id: 62, cat: Movies/WEB-DL, desc: "FILM WEB"}
|
||||
- {id: 66, cat: Movies/HD, desc: "FILM HDRip"}
|
||||
- {id: 34, cat: Movies/SD, desc: "FILM TVRip"}
|
||||
- {id: 33, cat: Movies/HD, desc: "FILM HDTV"}
|
||||
- {id: 31, cat: Movies/Other, desc: "FILM MUET"}
|
||||
- {id: 30, cat: Movies/Other, desc: "FILM VOST"}
|
||||
- {id: 29, cat: Movies/SD, desc: "FILM VHS"}
|
||||
- {id: 28, cat: Movies/HD, desc: "FILM 720"}
|
||||
- {id: 27, cat: Movies/HD, desc: "FILM BDRip"}
|
||||
- {id: 26, cat: Movies/BluRay, desc: "FILM BluRay"}
|
||||
- {id: 25, cat: Movies/BluRay, desc: "FILM ISO"}
|
||||
- {id: 4, cat: Movies/HD, desc: "FILM 1080"}
|
||||
- {id: 2, cat: Movies/DVD, desc: "FILM DVD"}
|
||||
- {id: 103, cat: Movies, desc: "FILM Pack"}
|
||||
- {id: 9, cat: TV/SD, desc: "SERIE DVD"}
|
||||
- {id: 72, cat: TV/UHD, desc: "SERIE 2160 P"}
|
||||
- {id: 65, cat: TV/HD, desc: "SERIE HDRip"}
|
||||
- {id: 21, cat: TV/HD, desc: "SERIE HDTV.1080p"}
|
||||
- {id: 20, cat: TV/HD, desc: "SERIE HDTV.720p"}
|
||||
- {id: 19, cat: TV/SD, desc: "SERIE HDTV"}
|
||||
- {id: 36, cat: TV/Other, desc: "SERIE Pack"}
|
||||
- {id: 17, cat: TV/SD, desc: "SERIE VHS"}
|
||||
- {id: 16, cat: TV/SD, desc: "SERIE TVRip"}
|
||||
- {id: 15, cat: TV/WEB-DL, desc: "SERIE WEB.1080p"}
|
||||
- {id: 14, cat: TV/WEB-DL, desc: "SERIE WEB.720p"}
|
||||
- {id: 12, cat: TV/WEB-DL, desc: "SERIE WEB"}
|
||||
- {id: 102, cat: TV/Documentary, desc: "SERIE Documentaire"}
|
||||
- {id: 67, cat: TV/Anime, desc: "ANIMEE films"}
|
||||
- {id: 70, cat: TV/Anime, desc: "ANIMEE Series"}
|
||||
- {id: 95, cat: TV/Anime, desc: "ANIMEE Animée"}
|
||||
- {id: 56, cat: PC/ISO, desc: "LOGICIELS Linux"}
|
||||
- {id: 24, cat: PC/Mac, desc: "LOGICIELS Apple"}
|
||||
- {id: 58, cat: PC/0day, desc: "LOGICIELS Windows"}
|
||||
- {id: 44, cat: Books/Mags, desc: "EBOOK Journaux"}
|
||||
- {id: 46, cat: Books/Technical, desc: "EBOOK Documents"}
|
||||
- {id: 48, cat: XXX/Other, desc: "EBOOK XXX"}
|
||||
- {id: 49, cat: Books/EBook, desc: "EBOOK Livres"}
|
||||
- {id: 5, cat: Audio/Video, desc: "MUSIC clip video"}
|
||||
- {id: 96, cat: PC/Games, desc: "JEUX Apple"}
|
||||
- {id: 8, cat: Console/PS3, desc: "JEUX PS3"}
|
||||
- {id: 45, cat: PC/Games, desc: "JEUX PC"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTI by another language in release name
|
||||
default: false
|
||||
- name: multilanguage
|
||||
type: select
|
||||
label: Replace MULTI by this language
|
||||
default: FRENCH
|
||||
options:
|
||||
FRENCH: FRENCH
|
||||
MULTI.FRENCH: MULTI.FRENCH
|
||||
ENGLISH: ENGLISH
|
||||
MULTI.ENGLISH: MULTI.ENGLISH
|
||||
VOSTFR: VOSTFR
|
||||
MULTI.VOSTFR: MULTI.VOSTFR
|
||||
- name: vostfr
|
||||
type: checkbox
|
||||
label: Replace VOSTFR with ENGLISH
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: countdown
|
||||
type: info
|
||||
label: Countdown Timer
|
||||
default: "This site is a Tracker based on Time: to keep your account the time must not be at 0000-00-00-00-00-00. Read <a href=\"https://fou-du-cinema.ca/faq.php#nogo\" target=\"_blank\">Fou-Du-Cinema FAQ</a> on how to keep the timer active."
|
||||
- name: registration
|
||||
type: info
|
||||
label: Registration Conformation
|
||||
default: After you register you will receive a confirmation email that contains a link to activate your account. If you have not received it check your Junk mail / Spam mail folder.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src^="cap/captcha_math.php?codeCaptcha="]
|
||||
input: stringCaptcha
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: ajax_det_poll.php
|
||||
method: post
|
||||
inputs:
|
||||
set_thanks: Merci
|
||||
det_id: "{{ .DownloadUri.Query.torrent }}"
|
||||
ajax: yes
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: 0
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
# site does not support imdbid searches or provide imdb links in results
|
||||
|
||||
rows:
|
||||
selector: div.content_wrap > div.selection_wrap:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
category_p1:
|
||||
selector: div.kat_cat_pic_name
|
||||
category_p2:
|
||||
selector: div.kat_cat_pic_name_b
|
||||
categorydesc:
|
||||
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
|
||||
title_phase1:
|
||||
selector: a[href^="details.php?id="]
|
||||
title_multilang:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)([\\s|\\.|-]multi[\\s|\\.|-])", ".{{ .Config.multilanguage }}."]
|
||||
title_phase2:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase2 }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)([\\s|\\.|-]vostfr[\\s|\\.|-])", ".ENGLISH."]
|
||||
- name: re_replace
|
||||
args: ["(?i)([\\s|\\.|-]subfrench[\\s|\\.|-])", ".ENGLISH."]
|
||||
title:
|
||||
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?torrent="]
|
||||
seeders:
|
||||
selector: div.selection_unter_aa > b
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa > b
|
||||
date_day:
|
||||
# Aujourd'hui à 06:26:25
|
||||
# Hier à 05:15:19
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Aujourd'hui à ", "Today "]
|
||||
- name: replace
|
||||
args: ["Hier à ", "Yesterday "]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
# Le 17.10.2020 à 04:39:44
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Le ", ""]
|
||||
- name: replace
|
||||
args: ["à ", ""]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "02.01.2006 15:04:05 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumseedtime:
|
||||
# 2.5 days (as seconds = 2.5 x 24 x 60 x 60)
|
||||
text: 216000
|
||||
# 3xT
|
@@ -134,34 +134,37 @@ search:
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: ul.TorrentList
|
||||
selector: ul.TorrentList, ul.Torrent-List
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: .TorrentList1 > a
|
||||
selector: a[href^="torrentslist.php?type="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: type
|
||||
title:
|
||||
selector: .TorrentList2 > a
|
||||
selector: a[href^="torrentdetails.php?torrentid="]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["[FFL] ", ""] # remove freeleech flag from title
|
||||
download:
|
||||
selector: .TorrentList2 > a
|
||||
selector: a[href^="torrentdetails.php?torrentid="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: append
|
||||
args: "&do=download"
|
||||
details:
|
||||
selector: .TorrentList2 > a
|
||||
selector: a[href^="torrentdetails.php?torrentid="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: .TorrentList3
|
||||
selector: .TorrentList3, .Torrent-List-Size
|
||||
seeders:
|
||||
selector: .TorrentList6
|
||||
selector: .TorrentList6, .Torrent-List-Seeds
|
||||
leechers:
|
||||
selector: .TorrentList7
|
||||
selector: .TorrentList7, .Torrent-List-Peers
|
||||
date:
|
||||
selector: li.TorrentList8
|
||||
selector: .TorrentList8, .Torrent-List-Date
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
@@ -169,7 +172,7 @@ search:
|
||||
args: "15:04 02-Jan-2006 -07:00"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
".TorrentList2 > a:contains(\"[FFL]\")": 0
|
||||
"a:contains(\"[FFL]\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
|
@@ -167,13 +167,12 @@ search:
|
||||
selector: a[href$="&todlers=1"]
|
||||
date:
|
||||
selector: .tadded
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d{4}-\\d{2}-\\d{2})(\\d{2}:\\d{2}:\\d{2}).*", "$1 $2"]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
args: "2006-01-02 15:04:05"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"td:nth-child(3) > div > nobr > font[color=\"yellow\"]": 0
|
||||
|
@@ -163,8 +163,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -116,15 +116,14 @@ search:
|
||||
attribute: href
|
||||
date:
|
||||
selector: div[id^="kt"] > table > tbody > tr > td:contains("Date Added:")
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{2}-\\d{2}-\\d{4} at \\d{2}:\\d{2}:\\d{2})"
|
||||
- name: replace
|
||||
args: [" at ", " "]
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04:05 -07:00"
|
||||
args: "02-01-2006 15:04:05"
|
||||
size:
|
||||
selector: td:nth-last-child(6)
|
||||
grabs:
|
||||
|
@@ -222,11 +222,10 @@ search:
|
||||
args: "src=(.+?) "
|
||||
date:
|
||||
selector: td:nth-last-child(9)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: td:nth-last-child(8)
|
||||
leechers:
|
||||
|
@@ -6,10 +6,9 @@ language: fr-FR
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
# to fetch current domain use https://www.protege-liens.com/gktorrent
|
||||
# to fetch current domain use https://www.protege-liens.com/Gktorrent
|
||||
links:
|
||||
- https://www.gktorrents.cc/
|
||||
- https://gktorrent.nocensor.lol/
|
||||
legacylinks:
|
||||
- https://www.gktorrent.org/
|
||||
- https://www.gktorrent.me/
|
||||
@@ -31,10 +30,12 @@ legacylinks:
|
||||
- https://www.gktorrents.org/
|
||||
- https://gktorrent.nocensor.sbs/
|
||||
- https://gktorrent.nocensor.world/
|
||||
- https://gktorrent.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Films, cat: Movies, desc: "Movies"}
|
||||
- {id: Animes, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: Séries, cat: TV, desc: "TV"}
|
||||
- {id: Musiques, cat: Audio, desc: "Music"}
|
||||
- {id: Ebooks, cat: Books, desc: "Books"}
|
||||
@@ -49,6 +50,7 @@ caps:
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
allowrawsearch: true
|
||||
|
||||
settings:
|
||||
- name: multilang
|
||||
|
@@ -10,15 +10,13 @@ links:
|
||||
- https://glodls.to/
|
||||
- https://gtdb.cc/
|
||||
- https://www.gtdb.to/
|
||||
- https://glotorrents.unblockit.page/
|
||||
- https://glotorrents.nocensor.lol/
|
||||
- https://glotorrents.unblockit.ink/
|
||||
- https://glotorrents.nocensor.art/
|
||||
- https://glodls.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://glodls.rocks/
|
||||
- https://gtdb.to/
|
||||
- https://glotorrents.unblockit.ws/
|
||||
- https://glotorrents.nocensor.work/
|
||||
- https://glotorrents.unblockit.kim/
|
||||
- https://glotorrents.unblockit.bz/
|
||||
- https://glotorrents.unblockit.tv/
|
||||
- https://glotorrents.unblockit.how/
|
||||
@@ -34,6 +32,9 @@ legacylinks:
|
||||
- https://glotorrents.unblockit.cat/
|
||||
- https://glotorrents.unblockit.nz/
|
||||
- https://glotorrents.nocensor.world/
|
||||
- https://glotorrents.unblockit.page/
|
||||
- https://glotorrents.unblockit.pet/
|
||||
- https://glotorrents.nocensor.lol/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -155,11 +155,10 @@ search:
|
||||
# some users will have an extra wait time column before the bookmark column, so we count up from the bottom
|
||||
date:
|
||||
selector: td:nth-last-of-type(12)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
args: "02/01/2006"
|
||||
seeders:
|
||||
selector: td:nth-last-of-type(10)
|
||||
leechers:
|
||||
|
@@ -1,11 +1,13 @@
|
||||
---
|
||||
id: gtorrentpro
|
||||
name: GTorrent.pro
|
||||
description: "GTorrent.pro is a RUSSIAN Public Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
name: GTorrent.ru
|
||||
description: "GTorrent.ru is a RUSSIAN Public Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ru-RU
|
||||
type: public
|
||||
encoding: windows-1251
|
||||
links:
|
||||
- http://gtorrent.ru/
|
||||
legacylinks:
|
||||
- http://gtorrent.pro/
|
||||
|
||||
caps:
|
||||
|
@@ -106,11 +106,10 @@ search:
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 02 2006, 15:04 -07:00"
|
||||
args: "Jan 02 2006, 15:04"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
|
@@ -61,10 +61,24 @@ search:
|
||||
paths:
|
||||
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
|
||||
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
name: "{{ .Keywords }}"
|
||||
$raw: "{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
@@ -100,8 +114,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -117,8 +117,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -157,11 +157,10 @@ search:
|
||||
args: "src=(.+?) "
|
||||
date:
|
||||
selector: td:nth-child(6)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
args: "02/01/2006"
|
||||
size:
|
||||
selector: td:nth-child(11)
|
||||
seeders:
|
||||
|
@@ -8,6 +8,7 @@ encoding: UTF-8
|
||||
links:
|
||||
- https://www.trackerpmr.com/
|
||||
- https://freetmd.com/
|
||||
- https://kinoradiomagia.tv/
|
||||
legacylinks:
|
||||
- https://hdgalaktik.com/
|
||||
|
||||
|
@@ -135,11 +135,10 @@ search:
|
||||
date:
|
||||
# 15.11.21<br>07:47
|
||||
selector: td:nth-child(5)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "2.01.0615:04 -07:00"
|
||||
args: "2.01.0615:04"
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
|
@@ -159,8 +159,13 @@ search:
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
# 2021-10-18T00:34:50.000000Z"
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "01/02/2006 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
|
@@ -154,11 +154,10 @@ search:
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2) > div:nth-last-child(1)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
args: "02-01-2006 15:04"
|
||||
download:
|
||||
selector: div[id^="port-target-"] a
|
||||
attribute: href
|
||||
|
@@ -113,7 +113,8 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# currently supports only one query id at one time.
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 onlydead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
|
@@ -61,11 +61,15 @@ login:
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: torrents.php
|
||||
path: /
|
||||
selector: a[href*="/logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
- path: ajax.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
searchstr: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
@@ -74,29 +78,21 @@ search:
|
||||
imdblt: 10
|
||||
# 1 freeleech, 2 neutral, 3 50%, 4 2x, 5 3x, 9 75%, 11 only perks, 0 normal
|
||||
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
action: advanced
|
||||
searchsubmit: 1
|
||||
action: browse
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
|
||||
rows:
|
||||
selector: .torrent
|
||||
selector: response.results
|
||||
attribute: torrents
|
||||
multiple: true
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: torrentId
|
||||
category:
|
||||
selector: .tooltip
|
||||
case:
|
||||
"div[class*=\"movies\"]": 1
|
||||
"div[class*=\"tv\"]": 2
|
||||
"div[class*=\"theater\"]": 3
|
||||
"div[class*=\"software\"]": 4
|
||||
"div[class*=\"games\"]": 5
|
||||
"div[class*=\"music\"]": 6
|
||||
"div[class*=\"books\"]": 7
|
||||
"div[class*=\"packs\"]": 8
|
||||
"div[class*=\"porno\"]": 9
|
||||
"div[class*=\"other\"]": 10
|
||||
selector: ..categoryID
|
||||
title_notenglish:
|
||||
selector: .torrent_info:not(:contains("a")):not(:contains("e")):not(:contains("i")):not(:contains("o")):not(:contains("u")):not(:contains("y"))
|
||||
selector: release:not(:contains("a")):not(:contains("e")):not(:contains("i")):not(:contains("o")):not(:contains("u")):not(:contains("y"))
|
||||
optional: true
|
||||
filters:
|
||||
# space out the book language at the end of the title
|
||||
@@ -106,7 +102,7 @@ search:
|
||||
- name: re_replace
|
||||
args: ["(עברית)$", " - עברית"] # Hebrew
|
||||
title_english:
|
||||
selector: .torrent_info
|
||||
selector: release
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -116,54 +112,59 @@ search:
|
||||
title:
|
||||
text: "{{ if .Result.title_notenglish }}{{ .Result.title_notenglish }}{{ else }}{{ .Result.title_english }}{{ end }}"
|
||||
details:
|
||||
selector: a[href*="torrentid"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: a[href^="magnet"]
|
||||
attribute: href
|
||||
optional: true
|
||||
text: "{{ .Config.sitelink }}torrents.php?torrentid={{ .Result._id }}"
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download"]
|
||||
attribute: href
|
||||
text: "{{ .Config.sitelink }}torrents.php?action=download&id={{ .Result._id }}"
|
||||
poster:
|
||||
selector: a[data-cover^="/images/"]
|
||||
attribute: data-cover
|
||||
selector: ..cover
|
||||
imdbid:
|
||||
selector: ..catalogue
|
||||
files:
|
||||
selector: td:nth-child(4)
|
||||
selector: fileCount
|
||||
date:
|
||||
selector: td:nth-child(5) span
|
||||
attribute: title
|
||||
selector: time
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # IST
|
||||
- name: dateparse
|
||||
args: "02/01/2006, 15:04 -07:00"
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
selector: size
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
selector: snatches
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
selector: leechers
|
||||
description:
|
||||
selector: ..tags
|
||||
_half:
|
||||
selector: isHalfFreeleech
|
||||
_free:
|
||||
selector: isFreeleech
|
||||
_x2:
|
||||
selector: isUploadX2
|
||||
_x3:
|
||||
selector: isUploadX3
|
||||
_quarter:
|
||||
selector: isQuarterLeech
|
||||
_neutral:
|
||||
selector: isNeutralLeech
|
||||
_personal:
|
||||
selector: isPersonalFreeleech
|
||||
downloadvolumefactor_special:
|
||||
optional: true
|
||||
text: "{{ if eq .Result._half \"True\" }}0.5{{ else }}{{ end }}{{ if eq .Result._quarter \"True\" }}0.25{{ else }}{{ end }}{{ if eq .Result._neutral \"True\" }}0{{ else }}{{ end }}{{ if eq .Result._free \"True\" }}0{{ else }}{{ end }}{{ if eq .Result._personal \"True\" }}0{{ else }}{{ end }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"strong.tl_notice[title*=\"חצי פריליץ'\"]": 0.5 # 50%
|
||||
"strong.tl_notice[title*=\"75% פריליץ'!\"]": 0.25 # 75%
|
||||
"strong.tl_notice[title*=\"נטרלי\"]": 0 # neutral
|
||||
"strong.tl_notice[title*=\"פריליץ'\"]": 0 # freeleech
|
||||
"*": 1
|
||||
text: "{{ if .Result.downloadvolumefactor_special }}{{ .Result.downloadvolumefactor_special }}{{ else }}1{{ end }}"
|
||||
uploadvolumefactor_special:
|
||||
optional: true
|
||||
text: "{{ if eq .Result._x3 \"True\" }}3{{ else }}{{ end }}{{ if eq .Result._x2 \"True\" }}2{{ else }}{{ end }}{{ if eq .Result._neutral \"True\" }}0{{ else }}{{ end }}"
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"strong.tl_notice[title*=\"העלאה משולשת\"]": 3 # 3x
|
||||
"strong.tl_notice[title*=\"העלאה כפולה\"]": 2 # 2x
|
||||
"strong.tl_notice[title*=\"נטרלי\"]": 0 # neutral
|
||||
"*": 1
|
||||
text: "{{ if .Result.uploadvolumefactor_special }}{{ .Result.uploadvolumefactor_special }}{{ else }}1{{ end }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
description:
|
||||
selector: div.tags
|
||||
# Gazelle
|
||||
# JSON Gazelle
|
||||
|
@@ -94,13 +94,13 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl (not working)
|
||||
search_area: "{{ if .Query.IMDBID }}1{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
|
186
src/Jackett.Common/Definitions/hqmusic.yml
Normal file
186
src/Jackett.Common/Definitions/hqmusic.yml
Normal file
@@ -0,0 +1,186 @@
|
||||
---
|
||||
id: hqmusic
|
||||
name: HQMusic
|
||||
description: "HQMusic is a Private Torrent Tracker for MUSIC"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://hqmusic.info/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q, album, artist, label, track, year, genre]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
login: "Log In"
|
||||
error:
|
||||
- selector: form#loginform > span.warning
|
||||
test:
|
||||
path: torrents.php
|
||||
|
||||
search:
|
||||
# http://hqmusic.info/ajax.php?artistname=John&groupname=Born&recordlabel=Sony&year=2012&filelist=Queen&freetorrent=&taglist=rock&tags_type=1&order_by=time&order_way=desc&filter_cat%5B1%5D=1&group_results=1&action=browse
|
||||
paths:
|
||||
- path: ajax.php
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
searchstr: "{{ .Keywords }}"
|
||||
artistname: "{{ if .Query.Artist }}{{ .Query.Artist }}{{ else }}{{ end }}"
|
||||
groupname: "{{ if .Query.Album }}{{ .Query.Album }}{{ else }}{{ end }}"
|
||||
recordlabel: "{{ if .Query.Label }}{{ .Query.Label }}{{ else }}{{ end }}"
|
||||
year: "{{ if .Query.Year }}{{ .Query.Year }}{{ else }}{{ end }}"
|
||||
filelist: "{{ if .Query.Track }}{{ .Query.Track }}{{ else }}{{ end }}"
|
||||
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
taglist: "{{ .Query.Genre }}"
|
||||
# 0 Any, 1 All
|
||||
tags_type: 1
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
group_results: 1
|
||||
action: browse
|
||||
|
||||
rows:
|
||||
selector: response.results
|
||||
attribute: torrents
|
||||
multiple: true
|
||||
|
||||
fields:
|
||||
_groupid:
|
||||
selector: ..groupId
|
||||
_torrentid:
|
||||
selector: torrentId
|
||||
category:
|
||||
text: 1
|
||||
artist:
|
||||
selector: ..artist
|
||||
filters:
|
||||
- name: htmldecode
|
||||
_groupName:
|
||||
selector: ..groupName
|
||||
filters:
|
||||
- name: htmldecode
|
||||
_releaseType:
|
||||
selector: ..releaseType
|
||||
album:
|
||||
optional: true
|
||||
text: "{{ if eq .Result._releaseType \"Album\" }}{{ .Result._groupName }}{{ else }}{{ end }}"
|
||||
track:
|
||||
optional: true
|
||||
text: "{{ if eq .Result._releaseType \"Single\" }}{{ .Result._groupName }}{{ else }}{{ end }}"
|
||||
year:
|
||||
optional: true
|
||||
selector: ..groupYear
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["^0$", ""]
|
||||
_format:
|
||||
selector: format
|
||||
_encoding:
|
||||
selector: encoding
|
||||
_hasLog:
|
||||
selector: hasLog
|
||||
_logScore:
|
||||
selector: logScore
|
||||
_hasCue:
|
||||
selector: hasCue
|
||||
_media:
|
||||
selector: media
|
||||
year_remaster:
|
||||
selector: remasterYear
|
||||
title_remaster:
|
||||
optional: true
|
||||
selector: remasterTitle
|
||||
title:
|
||||
# John Mayer - Born And Raised [2012] [Album] FLAC / Lossless / Log (100%) / Cue / CD
|
||||
# Duy - I Go [2022] [Single] Other / Lossless / WEB
|
||||
text: "{{ .Result.artist }} - {{ .Result._groupName }} {{ if .Result.year }}[{{ .Result.year }}] {{ else }}{{ end }}[{{ .Result._releaseType }}] {{ .Result._format }} / {{ .Result._encoding }} {{ if eq .Result._hasLog \"True\" }}/ Log {{ else }}{{ end }}{{ if ne .Result._logScore \"0\" }}({{ .Result._logScore }}%){{ else }}{{ end }}{{ if eq .Result._hasCue \"True\" }} / Cue{{ else }}{{ end }} / {{ .Result._media }}{{ if ne .Result.year_remaster \"0\" }} / {{ .Result.year_remaster }}{{ else }}{{ end }}{{ if .Result.title_remaster }} {{ .Result.title_remaster }}{{ else }}{{ end }}"
|
||||
details:
|
||||
text: "torrents.php?id={{ .Result._groupid }}&torrentid={{ .Result._torrentid }}"
|
||||
download:
|
||||
text: "torrents.php?action=download&id={{ .Result._torrentid }}"
|
||||
poster:
|
||||
selector: ..cover
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05 -07:00"
|
||||
size:
|
||||
selector: size
|
||||
files:
|
||||
selector: fileCount
|
||||
grabs:
|
||||
selector: snatches
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
genre:
|
||||
selector: ..tags
|
||||
filters:
|
||||
- name: replace
|
||||
args: [".", "_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
_free:
|
||||
selector: isFreeleech
|
||||
_neutral:
|
||||
selector: isNeutralLeech
|
||||
_personal:
|
||||
selector: isPersonalFreeleech
|
||||
downloadvolumefactor_special:
|
||||
optional: true
|
||||
text: "{{ if eq .Result._neutral \"True\" }}0{{ else }}{{ end }}{{ if eq .Result._free \"True\" }}0{{ else }}{{ end }}{{ if eq .Result._personal \"True\" }}0{{ else }}{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: "{{ if .Result.downloadvolumefactor_special }}{{ .Result.downloadvolumefactor_special }}{{ else }}1{{ end }}"
|
||||
uploadvolumefactor:
|
||||
text: "{{ if eq .Result._neutral \"True\" }}0{{ else }}1{{ end }}"
|
||||
minimumratio:
|
||||
text: 0.6
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# JSON Gazelle
|
@@ -94,13 +94,13 @@ search:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl (not working)
|
||||
search_area: "{{ if .Query.IMDBID }}1{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
|
@@ -232,19 +232,19 @@ search:
|
||||
selector: td:nth-last-child(2)
|
||||
date_ago:
|
||||
selector: td:nth-last-child(7):contains('ago')
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: timeago
|
||||
date_year:
|
||||
selector: td:nth-last-child(7):contains('/')
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02/01/2006 -07:00"
|
||||
args: "02/01/2006"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_ago }}{{ or .Result.date_year .Result.date_ago }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_ago .Result.date_year }}{{ or .Result.date_ago .Result.date_year }}{{ else }}now{{ end }}"
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
|
@@ -12,7 +12,7 @@ links:
|
||||
- https://ilcorsaronero.fun/
|
||||
- https://ilcorsaronero.pro/
|
||||
- https://ilcorsaronero.torrentbay.to/
|
||||
- https://ilcorsaronero.nocensor.lol/
|
||||
- https://ilcorsaronero.nocensor.art/
|
||||
legacylinks:
|
||||
- https://ilcorsaronero.live/
|
||||
- https://ilcorsaronero.vip/
|
||||
@@ -31,6 +31,7 @@ legacylinks:
|
||||
- https://ilcorsaronero.nocensor.biz/
|
||||
- https://ilcorsaronero.nocensor.sbs/
|
||||
- https://ilcorsaronero.nocensor.world/
|
||||
- https://ilcorsaronero.nocensor.lol/
|
||||
|
||||
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