mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-24 14:57:09 +01:00
Compare commits
195 Commits
v0.20.4207
...
cardigann-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ebe1de282 | ||
|
|
b6398bfc1d | ||
|
|
c0a994e481 | ||
|
|
a588ac62ab | ||
|
|
6208fcd575 | ||
|
|
80e7f56afb | ||
|
|
87e703167f | ||
|
|
41a629fc48 | ||
|
|
73b44bfabf | ||
|
|
e0424adce1 | ||
|
|
9c3c5316cc | ||
|
|
44b8bf4194 | ||
|
|
b5c151dd4d | ||
|
|
a2c2173c03 | ||
|
|
eaa6894896 | ||
|
|
8e62b48457 | ||
|
|
556df05b12 | ||
|
|
0b28597cdf | ||
|
|
97a5204d25 | ||
|
|
613d24a877 | ||
|
|
a45e0b18c0 | ||
|
|
6acf7ccca8 | ||
|
|
8689fb2bd1 | ||
|
|
ddd37f09c0 | ||
|
|
3703216bad | ||
|
|
6d55a50c9c | ||
|
|
b0ccae909b | ||
|
|
c65bb0411e | ||
|
|
c89a2742c1 | ||
|
|
82bbf8f23a | ||
|
|
7f3d19e37a | ||
|
|
39cd9ba9dd | ||
|
|
8f0755e8fc | ||
|
|
58f458d135 | ||
|
|
8ef13a0130 | ||
|
|
07f0ccf5a3 | ||
|
|
99204599d9 | ||
|
|
cc44db15a4 | ||
|
|
df02e2dcf1 | ||
|
|
d1bbda3438 | ||
|
|
8ea53cebc8 | ||
|
|
f1f8dd2f10 | ||
|
|
6bd5068541 | ||
|
|
99e7e2428f | ||
|
|
6acba8684a | ||
|
|
92ef4068ea | ||
|
|
bf2659f55d | ||
|
|
4dc99b2fd9 | ||
|
|
12dc639822 | ||
|
|
b3477fb70c | ||
|
|
4d2ac5b6a9 | ||
|
|
208b0bdb5b | ||
|
|
84ca9a06d8 | ||
|
|
aa16e7424c | ||
|
|
92f582e910 | ||
|
|
e3880b9143 | ||
|
|
6aee6d732a | ||
|
|
da80bde7d8 | ||
|
|
5a388b59d0 | ||
|
|
d7404e9cd4 | ||
|
|
373b15cb8e | ||
|
|
19de5f46b0 | ||
|
|
e74e7b3cf7 | ||
|
|
a3c361fac1 | ||
|
|
03776c5fe1 | ||
|
|
43f1fabae0 | ||
|
|
3a0c6a75e1 | ||
|
|
7a327230f1 | ||
|
|
7e8fdfa2b1 | ||
|
|
35e1218861 | ||
|
|
af54a3f9d0 | ||
|
|
04cc9939a6 | ||
|
|
5640a86838 | ||
|
|
bcc00f91bb | ||
|
|
6905cdc103 | ||
|
|
f1415f32c6 | ||
|
|
4e55187bdb | ||
|
|
967ff6db99 | ||
|
|
23cff411ed | ||
|
|
f42b76fb36 | ||
|
|
28c5c427e8 | ||
|
|
68205b13ca | ||
|
|
dcec23434f | ||
|
|
09dc556140 | ||
|
|
0d69d7ba1b | ||
|
|
cc8a980a70 | ||
|
|
e9f7e4d13f | ||
|
|
c6180f6860 | ||
|
|
8c5fb64aec | ||
|
|
a293346ce8 | ||
|
|
c0a5e24186 | ||
|
|
0e043a5792 | ||
|
|
98f7e720e7 | ||
|
|
8154acb47b | ||
|
|
df94aaf930 | ||
|
|
d8dc0d221a | ||
|
|
3ba502a378 | ||
|
|
b9655f1302 | ||
|
|
422eff86f4 | ||
|
|
e66d88bbcf | ||
|
|
669ddae0b0 | ||
|
|
0b0d08dd7c | ||
|
|
bf5b24a5a7 | ||
|
|
228089b35b | ||
|
|
f334cc89d6 | ||
|
|
3a9360add9 | ||
|
|
207dd1d51a | ||
|
|
47e78fc70c | ||
|
|
36d3f67fdc | ||
|
|
41a5d3165e | ||
|
|
2b9d950f39 | ||
|
|
7be7d6770f | ||
|
|
ff36eecfae | ||
|
|
0438ffdfc0 | ||
|
|
b614a8dc42 | ||
|
|
1eae091ab8 | ||
|
|
17d08d3f8c | ||
|
|
d70bdbb26d | ||
|
|
8d0edcdfb8 | ||
|
|
34193e11df | ||
|
|
57b8cbd407 | ||
|
|
c2dbf6a80d | ||
|
|
ff5586c4fa | ||
|
|
48ff6821e6 | ||
|
|
e282ff76a5 | ||
|
|
8affee4b2d | ||
|
|
dc352744c7 | ||
|
|
ef5276da64 | ||
|
|
32360070ad | ||
|
|
633d1631c2 | ||
|
|
d4fc8ab071 | ||
|
|
08713ae7b8 | ||
|
|
836f5372b3 | ||
|
|
7e7ace05be | ||
|
|
12da8b6131 | ||
|
|
abc2f43f9c | ||
|
|
1a49430b45 | ||
|
|
147549cbf8 | ||
|
|
fd884a8597 | ||
|
|
fff9f0730b | ||
|
|
951e510c1a | ||
|
|
bfa2757c98 | ||
|
|
623f48d83c | ||
|
|
efc1602936 | ||
|
|
906b8e1ff8 | ||
|
|
bf4228b0dc | ||
|
|
0a00e4edcd | ||
|
|
abbf37060d | ||
|
|
f6108ee852 | ||
|
|
a6bde9f001 | ||
|
|
2594fdba13 | ||
|
|
97873506e3 | ||
|
|
4944aef039 | ||
|
|
a63fd138a8 | ||
|
|
e4af5f1db2 | ||
|
|
25e45daa20 | ||
|
|
468ea2472b | ||
|
|
49f57a9833 | ||
|
|
63c7bf6aed | ||
|
|
f5b787562f | ||
|
|
182de9c60a | ||
|
|
497e02e80c | ||
|
|
fba5201ccd | ||
|
|
8c2baf3bd2 | ||
|
|
5b69bdfef4 | ||
|
|
844855e3ba | ||
|
|
ddb5e95785 | ||
|
|
ef714804ee | ||
|
|
3aab5de496 | ||
|
|
fbe225bbf6 | ||
|
|
897156176a | ||
|
|
2db0ca6d52 | ||
|
|
63faed4687 | ||
|
|
0806e4182b | ||
|
|
91307ff044 | ||
|
|
0f5e919f33 | ||
|
|
051cbabbcf | ||
|
|
bd3ec7533d | ||
|
|
78fecaced2 | ||
|
|
4142a9d037 | ||
|
|
1d89c135a3 | ||
|
|
16c2d6f9ca | ||
|
|
5c42955ba8 | ||
|
|
64ee0c912d | ||
|
|
a48aa7a6e1 | ||
|
|
c56f32695a | ||
|
|
c53933f307 | ||
|
|
baa8439781 | ||
|
|
c2aec85893 | ||
|
|
e146ad227c | ||
|
|
675b259e0a | ||
|
|
04e24bacb3 | ||
|
|
9638823cf1 | ||
|
|
05dfda2736 | ||
|
|
c6f4a55444 |
7
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
7
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -2,6 +2,7 @@ name: Bug report
|
||||
description: Create a report of your issue
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: troubleshooting
|
||||
attributes:
|
||||
label: Have you checked our Troubleshooting page for your issue?
|
||||
description: Please read the <a href="https://github.com/Jackett/Jackett/wiki/Troubleshooting">Troubleshooting</a> page for steps to resolve common issues.
|
||||
@@ -9,6 +10,7 @@ body:
|
||||
- label: I have checked the Troubleshooting page
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: already-an-issue
|
||||
attributes:
|
||||
label: Is there already an issue for your problem?
|
||||
description: Please make sure you are not creating an already submitted <a href="https://github.com/Jackett/Jackett/issues">Issue</a>. Check closed issues as well, because your issue may have already been fixed.
|
||||
@@ -16,6 +18,7 @@ body:
|
||||
- label: I have checked older issues, open and closed
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: contributing-guidelines
|
||||
attributes:
|
||||
label: Have you read our Contributing Guidelines?
|
||||
description: Please read our <a href="https://github.com/Jackett/Jackett/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> before submitting your issue to ensure a prompt response to your bug.
|
||||
@@ -23,6 +26,7 @@ body:
|
||||
- label: I have read the Contributing Guidelines
|
||||
required: true
|
||||
- type: textarea
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: Please provide the details of the system Jackett is running on. The best way to do this is to restart Jackett, access the dashboard, view the log, and copy/paste replacing the example below with the last 10 Info lines at the bottom of the log.
|
||||
@@ -40,12 +44,14 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: List steps to reproduce the error and details on what happens and what you expected to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: error-logs
|
||||
attributes:
|
||||
label: Logged Error Messages
|
||||
description: |
|
||||
@@ -55,6 +61,7 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: screenshots
|
||||
attributes:
|
||||
label: Screenshots
|
||||
description: Place any screenshots of the issue here if needed
|
||||
|
||||
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
#### Description
|
||||
A few sentences describing the overall goals of the pull request's commits.
|
||||
|
||||
#### Screenshot (if UI related)
|
||||
|
||||
#### Issues Fixed or Closed by this PR
|
||||
|
||||
* Fixes #XXXX
|
||||
50
README.md
50
README.md
@@ -14,7 +14,7 @@ Please see our [troubleshooting and contributing guidelines](CONTRIBUTING.md) be
|
||||
|
||||
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar3](https://github.com/mylar3/mylar3), [Lidarr](https://github.com/lidarr/lidarr), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), [qBittorrent](https://www.qbittorrent.org/), [Nefarious](https://github.com/lardbit/nefarious) etc.) into tracker-site-specific http queries, parses the html or json response, and then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
|
||||
|
||||
Developer note: The software implements the [Torznab](https://web.archive.org/web/20220517013745/https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with hybrid [nZEDb](https://github.com/nZEDb/nZEDb/blob/b485fa326a0ff1f47ce144164eb1f070e406b555/resources/db/schema/data/10-categories.tsv)/[Newznab](https://newznab.readthedocs.io/en/latest/misc/api/#predefined-categories) [category numbering](https://github.com/Jackett/Jackett/wiki/Jackett-Categories)) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
|
||||
Developer note: The software implements the [Torznab](https://torznab.github.io/spec-1.3-draft/index.html) (with hybrid [nZEDb](https://github.com/nZEDb/nZEDb/blob/b485fa326a0ff1f47ce144164eb1f070e406b555/resources/db/schema/data/10-categories.tsv)/[Newznab](https://newznab.readthedocs.io/en/latest/misc/api/#predefined-categories) [category numbering](https://github.com/Jackett/Jackett/wiki/Jackett-Categories)) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
|
||||
|
||||
A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](https://github.com/webtor-io/go-jackett)
|
||||
|
||||
@@ -106,7 +106,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* PornoTorrent
|
||||
* ProPorn
|
||||
* Rapidzona
|
||||
* RARBG
|
||||
* RinTorNeT
|
||||
* RuTor
|
||||
* RuTracker.RU
|
||||
@@ -137,14 +136,15 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Torrents.csv
|
||||
* TorrentSir (토렌트썰)
|
||||
* TorrentView (토렌트뷰)
|
||||
* TorrentWhiz ( 토렌트위즈)
|
||||
* TorrentWhiz (토렌트위즈)
|
||||
* Torrentz2eu
|
||||
* Torrentz2nz
|
||||
* TrahT
|
||||
* truPornolabs
|
||||
* UnionDHT
|
||||
* VSTHouse
|
||||
* VST Torrents
|
||||
* VST Torrentz
|
||||
* VSTorrent
|
||||
* xxxAdultTorrent
|
||||
* XXXClub
|
||||
* xxxtor
|
||||
@@ -168,7 +168,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Deildu
|
||||
* Demonoid
|
||||
* Devil-Torrents
|
||||
* DimeADozen (EzTorrent)
|
||||
* DXP (Deaf Experts)
|
||||
* Electro-Torrent
|
||||
* EliteTorrent-pl
|
||||
@@ -188,7 +187,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Il CorSaRo Blu
|
||||
* Kinorun
|
||||
* Kinozal
|
||||
* Lightning-Tor
|
||||
* LostFilm.tv
|
||||
* Magnetico (Local DHT) [[site](https://github.com/boramalper/magnetico)]
|
||||
* Marine Tracker
|
||||
@@ -196,6 +194,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Mazepa
|
||||
* Metal Tracker
|
||||
* Moviesite
|
||||
* MovieWorld (Flicker)
|
||||
* MuseBootlegs (MB)
|
||||
* MVGroup Forum
|
||||
* MVGroup Main
|
||||
* NetHD (VietTorrent)
|
||||
@@ -237,14 +237,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* 1ptbar
|
||||
* 2 Fast 4 You [![(invite needed)][inviteneeded]](#)
|
||||
* 2xFree
|
||||
* 3ChangTrai (3CT) [![(invite needed)][inviteneeded]](#)
|
||||
* 3ChangTrai (3CT)
|
||||
* 3D Torrents (3DT)
|
||||
* 3Wmg
|
||||
* 4thD (4th Dimension)
|
||||
* 52PT
|
||||
* 720pier
|
||||
* Abnormal
|
||||
* ABtorrents (ABT + RNS)
|
||||
* Acervos [![(invite needed)][inviteneeded]](#)
|
||||
* Acid Lounge (A-L)
|
||||
* AcrossTheTasman [![(invite needed)][inviteneeded]](#)
|
||||
* Aftershock
|
||||
@@ -267,7 +267,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* AudioNews (AN)
|
||||
* Aussierul.es [![(invite needed)][inviteneeded]](#)
|
||||
* AvistaZ (AsiaTorrents)
|
||||
* Back-ups [![(invite needed)][inviteneeded]](#)
|
||||
* Azusa [![(invite needed)][inviteneeded]](#)
|
||||
* Back-ups
|
||||
* BakaBT
|
||||
* BeiTai
|
||||
* Best-Core
|
||||
@@ -302,11 +303,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CarPT
|
||||
* CartoonChaos (CC)
|
||||
* Cathode-Ray.Tube (CRT)
|
||||
* CCFBits [![(invite needed)][inviteneeded]](#)
|
||||
* Central Torrent
|
||||
* CeskeForum
|
||||
* CGPeers [![(invite needed)][inviteneeded]](#)
|
||||
* CHDBits [![(invite needed)][inviteneeded]](#)
|
||||
* cheggit
|
||||
* ChileBT
|
||||
* CiNEFiLHD
|
||||
* Cinemageddon [![(invite needed)][inviteneeded]](#)
|
||||
@@ -319,6 +320,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CrazyHD
|
||||
* CrazySpirits
|
||||
* CrnaBerza
|
||||
* Dajiao (打胶) [![(invite needed)][inviteneeded]](#)
|
||||
* DANISH BYTES
|
||||
* Dark-Shadow
|
||||
* DataScene (DS)
|
||||
@@ -327,10 +329,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Diablo Torrent [![(invite needed)][inviteneeded]](#)
|
||||
* DICMusic
|
||||
* DigitalCore
|
||||
* DimeADozen (EzTorrent)
|
||||
* DiscFan
|
||||
* DivTeam
|
||||
* DocsPedia
|
||||
* Dream Tracker
|
||||
* Drugari
|
||||
* Ebooks-Shares
|
||||
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
|
||||
* eShareNet
|
||||
@@ -342,18 +346,20 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* FANO.IN [![(invite needed)][inviteneeded]](#)
|
||||
* Fantastic Heaven
|
||||
* Fantastiko
|
||||
* Fappaizuri
|
||||
* Femdomcult
|
||||
* FileList (FL)
|
||||
* FinElite (FE)
|
||||
* FinVip
|
||||
* Flux-Zone
|
||||
* Free Farm (自由农场)
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* Fuzer (FZ)
|
||||
* GainBound [![(invite needed)][inviteneeded]](#)
|
||||
* Gay-Torrents.org
|
||||
* GAYtorrent.ru
|
||||
* GazelleGames (GGn) [![(invite needed)][inviteneeded]](#)
|
||||
* GazelleGames (GGn)
|
||||
* Generation-Free
|
||||
* GigaTorrents
|
||||
* GimmePeers (formerly ILT)
|
||||
@@ -385,7 +391,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDRoute [![(invite needed)][inviteneeded]](#)
|
||||
* HDSky [![(invite needed)][inviteneeded]](#)
|
||||
* HDTime
|
||||
* HDTorrents.it [![(invite needed)][inviteneeded]](#)
|
||||
* HDTurk
|
||||
* HDU
|
||||
* HDVIDEO
|
||||
@@ -412,6 +417,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Keep Friends [![(invite needed)][inviteneeded]](#)
|
||||
* Korsar
|
||||
* KrazyZone
|
||||
* Kufei (库非)
|
||||
* Kufirc
|
||||
* LastFiles
|
||||
* Le Saloon
|
||||
@@ -421,13 +427,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* leech24
|
||||
* LemonHD
|
||||
* Les-Cinephiles
|
||||
* Lesbians4u
|
||||
* Libble
|
||||
* LibraNet (LN)
|
||||
* LinkoManija [![(invite needed)][inviteneeded]](#)
|
||||
* Locadora
|
||||
* LosslessClub [![(invite needed)][inviteneeded]](#)
|
||||
* LST
|
||||
* M-Team TP (MTTP) [![(invite needed)][inviteneeded]](#)
|
||||
* M-Team TP (MTTP)
|
||||
* MaDs Revolution
|
||||
* magic-heaven
|
||||
* Magico (Trellas) [![(invite needed)][inviteneeded]](#)
|
||||
@@ -460,6 +467,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* OshenPT
|
||||
* OurBits (HDPter)
|
||||
* P2PBG
|
||||
* Panda
|
||||
* Partis
|
||||
* Party-Tracker
|
||||
* PassThePopcorn (PTP)
|
||||
@@ -502,15 +510,15 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* RevolutionTT
|
||||
* Romanian Metal Torrents (RMT) [![(invite needed)][inviteneeded]](#)
|
||||
* RPTorrents
|
||||
* SceneHD [![(invite needed)][inviteneeded]](#)
|
||||
* SceneHD [![(invite needed)][inviteneeded]](#)
|
||||
* SceneRush
|
||||
* SceneTime
|
||||
* SDBits [![(invite needed)][inviteneeded]](#)
|
||||
* Secret Cinema
|
||||
* SeedFile
|
||||
* Shadowflow (影) [![(invite needed)][inviteneeded]](#)
|
||||
* Shareisland
|
||||
* SharkPT
|
||||
* Shazbat [![(invite needed)][inviteneeded]](#)
|
||||
* Shazbat
|
||||
* SiamBIT
|
||||
* SkipTheCommercials
|
||||
* SkipTheTrailers
|
||||
@@ -548,9 +556,9 @@ 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
|
||||
* TheDarkCommunity (TDC)
|
||||
* TheEmpire (TE)
|
||||
* TheLeachZone (TLZ)
|
||||
* TheRebels
|
||||
* TheScenePlace (TSP)
|
||||
* Thor's Land
|
||||
* TJUPT
|
||||
@@ -567,6 +575,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentBytes (TBy)
|
||||
* TorrentCCF (TCCF)
|
||||
* TorrentDay (TD)
|
||||
* Torrenteros (TTR)
|
||||
* TorrentHeaven [![(invite needed)][inviteneeded]](#)
|
||||
* TorrentHR [![(invite needed)][inviteneeded]](#)
|
||||
* Torrenting (TT)
|
||||
@@ -577,8 +586,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentSeeds (TS)
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
|
||||
* TranceTraffic [![(invite needed)][inviteneeded]](#)
|
||||
* Trezzor [![(invite needed)][inviteneeded]](#)
|
||||
* TranceTraffic
|
||||
* TreZzoR [![(invite needed)][inviteneeded]](#)
|
||||
* TurkSeed
|
||||
* TurkTorrent (TT)
|
||||
* TV Chaos UK (TVCUK)
|
||||
@@ -592,6 +601,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* UnleashTheCartoons
|
||||
* UnlimitZ
|
||||
* Uploads
|
||||
* UTOPIA
|
||||
* White Angel
|
||||
* World-In-HD [![(invite needed)][inviteneeded]](#)
|
||||
* World-of-Tomorrow
|
||||
@@ -609,7 +619,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ZonaQ
|
||||
</details>
|
||||
|
||||
Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maintainer and may be missing features or be broken. If you have an invite for them please send it to garfieldsixtynine -at- gmail.com to get them fixed/improved.
|
||||
Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maintainer and may be missing features or be broken. If you have an invite for them please send it to garfieldsixtynine -at- gmail.com or jacketttest -at- gmail.com to get them fixed/improved.
|
||||
|
||||
### Aggregate indexers
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
variables:
|
||||
majorVersion: 0
|
||||
minorVersion: 20
|
||||
minorVersion: 21
|
||||
patchVersion: $[counter(variables['minorVersion'], 1)] # this will reset when we bump minor
|
||||
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
|
||||
buildConfiguration: Release
|
||||
|
||||
13
src/Directory.Build.props
Normal file
13
src/Directory.Build.props
Normal file
@@ -0,0 +1,13 @@
|
||||
<Project>
|
||||
<!-- Common to all Jackett Projects -->
|
||||
<PropertyGroup>
|
||||
<!-- Specifies whether it's one of our own libraries -->
|
||||
<JackettProject>false</JackettProject>
|
||||
<JackettProject Condition="$(MSBuildProjectName.StartsWith('Jackett'))">true</JackettProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set the Product and Version info for our own projects -->
|
||||
<PropertyGroup Condition="'$(JackettProject)'=='true'">
|
||||
<PathMap>$(MSBuildProjectDirectory)=./$(MSBuildProjectName)/</PathMap>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -461,7 +461,7 @@ function displayUnconfiguredIndexersList() {
|
||||
$('#indexers div.dataTables_filter input').focusWithoutScrolling();
|
||||
});
|
||||
|
||||
$("#modals").append(UnconfiguredIndexersDialog);
|
||||
$("#modals").html(UnconfiguredIndexersDialog);
|
||||
|
||||
$('#add-selected-indexers').click(function () {
|
||||
var selectedIndexers = $('#unconfigured-indexer-datatable').DataTable().$('input[type="checkbox"]');
|
||||
@@ -799,7 +799,7 @@ function newConfigModal(title, config, caps, link, alternativesitelinks, descrip
|
||||
link: link,
|
||||
description: description
|
||||
}));
|
||||
$("#modals").append(configForm);
|
||||
$("#modals").html(configForm);
|
||||
populateConfigItems(configForm, config);
|
||||
|
||||
if (alternativesitelinks.length >= 1) {
|
||||
@@ -1043,14 +1043,13 @@ function showSearch(selectedFilter, selectedIndexer, query, category) {
|
||||
var selectedIndexers = [];
|
||||
if (selectedIndexer)
|
||||
selectedIndexers = selectedIndexer.split(",");
|
||||
$('#select-indexer-modal').remove();
|
||||
var releaseTemplate = Handlebars.compile($("#jackett-search").html());
|
||||
var releaseDialog = $(releaseTemplate({
|
||||
filters: availableFilters,
|
||||
active: selectedFilter
|
||||
}));
|
||||
|
||||
$("#modals").append(releaseDialog);
|
||||
$("#modals").html(releaseDialog);
|
||||
|
||||
releaseDialog.on('shown.bs.modal', function () {
|
||||
releaseDialog.find('#searchquery').focusWithoutScrolling();
|
||||
@@ -1581,7 +1580,7 @@ function bindUIButtons() {
|
||||
});
|
||||
}
|
||||
});
|
||||
$("#modals").append(releaseDialog);
|
||||
$("#modals").html(releaseDialog);
|
||||
releaseDialog.modal("show");
|
||||
}).fail(function () {
|
||||
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");
|
||||
@@ -1600,7 +1599,7 @@ function bindUIButtons() {
|
||||
logs: data
|
||||
};
|
||||
var releaseDialog = $(releaseTemplate(item));
|
||||
$("#modals").append(releaseDialog);
|
||||
$("#modals").html(releaseDialog);
|
||||
releaseDialog.modal("show");
|
||||
}).fail(function () {
|
||||
doNotify("Request to Jackett server failed", "danger", "glyphicon glyphicon-alert");
|
||||
|
||||
@@ -529,10 +529,10 @@
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>You can search all configured indexers from this screen.</p>
|
||||
<label for="text">Query</label>
|
||||
<label for="searchquery">Query</label>
|
||||
<input class="form-control" type="text" name="query" id="searchquery" />
|
||||
{{#if filters}}
|
||||
<label for="filter">Filter</label>
|
||||
<label for="searchFilter">Filter</label>
|
||||
<select name="filter" id="searchFilter">
|
||||
<option value="all">all</option>
|
||||
{{#each filters}}
|
||||
@@ -540,9 +540,9 @@
|
||||
{{/each}}
|
||||
</select>
|
||||
{{/if}}
|
||||
<label for="tracker">Tracker</label>
|
||||
<label for="searchTracker">Tracker</label>
|
||||
<select name="tracker" id="searchTracker" multiple="multiple"></select>
|
||||
<label for="category">Category</label>
|
||||
<label for="searchCategory">Category</label>
|
||||
<select name="category" id="searchCategory" multiple="multiple"></select>
|
||||
<button id="jackett-search-perform" class="btn btn-success btn-sm"><span class="fa fa-search"></span></button>
|
||||
<div id="searchResults"></div>
|
||||
@@ -756,6 +756,6 @@
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=2023041901"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=2023052701"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -13,12 +13,11 @@ links:
|
||||
- https://x1337x.ws/
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.unblockit.asia/
|
||||
- https://1337x.unblockit.mov/
|
||||
- https://1337x.unblockninja.com/
|
||||
legacylinks:
|
||||
- https://1337x.is/
|
||||
- https://1337x.nocensor.work/
|
||||
- https://1337x.unblockit.cam/
|
||||
- https://1337x.nocensor.biz/
|
||||
- https://1337x.gd/
|
||||
- https://1337x.unblockit.day/
|
||||
@@ -41,6 +40,7 @@ legacylinks:
|
||||
- https://1337x.mrunblock.guru/
|
||||
- https://1337x.mrunblock.life/ # cloudflare 403
|
||||
- https://1337x.unblockit.click/
|
||||
- https://1337x.unblockit.asia/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -189,4 +189,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP v1.8.3 2023-05-14
|
||||
|
||||
@@ -30,13 +30,13 @@ caps:
|
||||
- {id: 423, cat: XXX, desc: "IV(写真影片)", default: true}
|
||||
- {id: 424, cat: XXX, desc: "IV(写真图集)", default: true}
|
||||
# special
|
||||
- {id: 526, cat: Movies, desc: "VRMovies(3D/VR电影)", default: true}
|
||||
- {id: 527, cat: TV, desc: "VRSeries(3D/VR剧集)", default: true}
|
||||
- {id: 528, cat: Audio/Video, desc: "AV(VR无码)", default: true}
|
||||
- {id: 529, cat: Audio/Video, desc: "AV(VR有码)", default: true}
|
||||
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)", default: true}
|
||||
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)", default: true}
|
||||
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)", default: true}
|
||||
- {id: 526, cat: Movies, desc: "VRMovies(3D/VR电影)", default: false}
|
||||
- {id: 527, cat: TV, desc: "VRSeries(3D/VR剧集)", default: false}
|
||||
- {id: 528, cat: Audio/Video, desc: "AV(VR无码)", default: false}
|
||||
- {id: 529, cat: Audio/Video, desc: "AV(VR有码)", default: false}
|
||||
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)", default: false}
|
||||
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)", default: false}
|
||||
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -110,7 +110,7 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 420, 421, 422, 423, 424]
|
||||
categories: ["!", 526, 527, 528, 529, 530, 531, 532]
|
||||
- path: special.php
|
||||
categories: [526, 527, 528, 529, 530, 531, 532]
|
||||
inputs:
|
||||
|
||||
192
src/Jackett.Common/Definitions/3wmg.yml
Normal file
192
src/Jackett.Common/Definitions/3wmg.yml
Normal file
@@ -0,0 +1,192 @@
|
||||
---
|
||||
id: 3wmg
|
||||
name: 3Wmg
|
||||
description: "3Wmg is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://www.3wmg.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧", default: true}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫", default: true}
|
||||
- {id: 406, cat: Audio, desc: "Music/音乐", default: true}
|
||||
- {id: 407, cat: Other/Misc, desc: "Leanrning学习", default: true}
|
||||
- {id: 409, cat: Books, desc: "Ebook电子书", default: true}
|
||||
- {id: 410, cat: Other, desc: "Misc/其他", default: true}
|
||||
# special
|
||||
- {id: 411, cat: XXX, desc: "Uncensored无码", default: false}
|
||||
- {id: 412, cat: XXX, desc: "Censored有码", default: false}
|
||||
- {id: 413, cat: XXX, desc: "Lgbt同志", default: false}
|
||||
- {id: 414, cat: XXX, desc: "III三级、写真", default: false}
|
||||
- {id: 415, cat: XXX, desc: "Animations动漫", default: false}
|
||||
- {id: 416, cat: XXX, desc: "Other其他", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the ICC2022 Web Site. Otherwise just leave it empty."
|
||||
- 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: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失敗"))
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: ["!", 411, 412, 413, 414, 415, 416]
|
||||
- path: special.php
|
||||
categories: [411, 412, 413, 414, 415, 416]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{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
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.6.0-beta12 2020-06-23
|
||||
@@ -139,20 +139,22 @@ search:
|
||||
files:
|
||||
selector: td:nth-last-child(9)
|
||||
date_day:
|
||||
# Yesterday<br/>6:00 AM
|
||||
selector: td:nth-last-child(7):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
# Yesterday, 6:00 AM
|
||||
selector: td:nth-last-child(7) > span[title*="day"]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- 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
|
||||
# Aug 6 2021, 7:25 PM
|
||||
selector: td:nth-last-child(7) > span[title]:not([title*="day"])
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM d yyyy h:mm tt"
|
||||
args: "MMM d yyyy, h:mm tt"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
|
||||
@@ -60,8 +60,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -69,15 +67,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -89,7 +89,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -98,8 +97,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -31,7 +31,7 @@ settings:
|
||||
search:
|
||||
paths:
|
||||
# https://github.com/anilibria/docs/blob/master/api_v3.md
|
||||
- path: "https://api.anilibria.tv/v3/{{ if .Keywords }}searchTitles{{ else }}getUpdates{{ end }}"
|
||||
- path: "https://api.anilibria.tv/v3/title/{{ if .Keywords }}search{{ else }}updates{{ end }}"
|
||||
response:
|
||||
type: json
|
||||
|
||||
|
||||
@@ -62,8 +62,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -71,15 +69,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -91,7 +91,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -100,8 +99,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -65,8 +65,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -74,15 +72,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -94,13 +94,10 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
|
||||
@@ -6,8 +6,6 @@ language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
certificates:
|
||||
- 7b36f0dc75d3340727b6f74bbdbde46ec59b7037 # expired 12 Feb 2023
|
||||
links:
|
||||
- https://asnet.pw/
|
||||
|
||||
|
||||
@@ -124,6 +124,7 @@ login:
|
||||
args: ["');", ""]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
before:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id: arabp2p
|
||||
name: ArabP2P
|
||||
description: "ArabP2P is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ar-AR
|
||||
language: ar-AE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id: arabtorrents
|
||||
name: ArabTorrents
|
||||
description: "ArabTorrents is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ar-AR
|
||||
language: ar-AE
|
||||
type: private
|
||||
encoding: windows-1256
|
||||
requestDelay: 2
|
||||
@@ -145,7 +145,7 @@ download:
|
||||
path: takethanks.php
|
||||
method: post
|
||||
inputs:
|
||||
torrentid: "{{ .DownloadUri.Query.id }}"
|
||||
torrentid: "{{ re_replace .DownloadUri.PathAndQuery \".*download-torrent-(\\d+).*\" \"$1\"}}"
|
||||
|
||||
search:
|
||||
paths:
|
||||
@@ -169,22 +169,22 @@ search:
|
||||
args: ["^(.+)$", "*$1*"]
|
||||
|
||||
rows:
|
||||
selector: table#sortabletable > tbody > tr:has(div > a[href*="details.php?id="])
|
||||
selector: table#sortabletable > tbody > tr:has(span > a[href*="details.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td a[href*="/browse.php?category="]
|
||||
selector: td a[href*="/torrent-category-"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
- name: regexp
|
||||
args: "torrent-category-(\\d+)\/"
|
||||
title:
|
||||
selector: td a[href*="/details.php?id="]
|
||||
selector: td div.tooltip-target
|
||||
details:
|
||||
selector: td a[href*="/details.php?id="]
|
||||
selector: span a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download.php?id="]
|
||||
selector: a[href*="/download-torrent-"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(2) > div:nth-child(3)
|
||||
|
||||
173
src/Jackett.Common/Definitions/azusa.yml
Normal file
173
src/Jackett.Common/Definitions/azusa.yml
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
id: azusa
|
||||
name: Azusa
|
||||
description: "Azusa is a CHINESE Torrent Tracker focusing on Comics"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://azusa.wiki/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 404, cat: PC/Games, desc: "Game"}
|
||||
- {id: 402, cat: Books/Comics, desc: "Comic"}
|
||||
- {id: 403, cat: Books/EBook, desc: "Light Novel"}
|
||||
- {id: 407, cat: Other, desc: "CG"}
|
||||
- {id: 409, cat: Audio, desc: "Music"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Uploads Web Site. Otherwise just leave it empty."
|
||||
- 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: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: ""
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 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
|
||||
search_area: 0
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.20 2022-08-05
|
||||
@@ -23,10 +23,16 @@ caps:
|
||||
- {id: 95, cat: Movies/HD, desc: "Film/FHD/Eng", default: true}
|
||||
- {id: 92, cat: Movies/UHD, desc: "Film/UHD/Hun", default: true}
|
||||
- {id: 93, cat: Movies/UHD, desc: "Film/UHD/Eng", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film/Pack", default: true}
|
||||
- {id: 24, cat: Audio/Video, desc: "Videóklip", default: true}
|
||||
- {id: 22, cat: TV, desc: "Sorozat/Hun", default: true}
|
||||
- {id: 58, cat: TV, desc: "Sorozat/Eng", default: true}
|
||||
- {id: 64, cat: Movies, desc: "Film/Pack", default: true}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "Képek/XXX", default: false}
|
||||
- {id: 33, cat: XXX/SD, desc: "SD/XXX", default: false}
|
||||
- {id: 89, cat: XXX/x264, desc: "HD/XXX", default: false}
|
||||
- {id: 24, cat: Audio/Video, desc: "Videóklip", default: true}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv/Hun", default: true}
|
||||
- {id: 50, cat: Books/EBook, desc: "Könyv/Eng", default: true}
|
||||
- {id: 69, cat: TV/Anime, desc: "Mese/SD", default: true}
|
||||
- {id: 68, cat: TV/Anime, desc: "Mese/DVD", default: true}
|
||||
- {id: 91, cat: TV/Anime, desc: "Mese/HD", default: true}
|
||||
@@ -35,19 +41,13 @@ caps:
|
||||
- {id: 84, cat: Audio/Lossless, desc: "Lossless/Hun", default: true}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng", default: true}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék/PC", default: true}
|
||||
- {id: 54, cat: Console, desc: "Játék/Konzol", default: true}
|
||||
- {id: 81, cat: PC/0day, desc: "Program/PC", default: true}
|
||||
- {id: 67, cat: PC/Mobile-Android, desc: "Program/Mobil", default: true}
|
||||
- {id: 49, cat: PC/0day, desc: "Program/Rip", default: true}
|
||||
- {id: 27, cat: Books/EBook, desc: "Könyv/Hun", default: true}
|
||||
- {id: 50, cat: Books/EBook, desc: "Könyv/Eng", default: true}
|
||||
- {id: 14, cat: PC, desc: "Program/Egyéb", default: true}
|
||||
- {id: 65, cat: Other, desc: "Egyéb", default: true}
|
||||
- {id: 33, cat: XXX/SD, desc: "SD/XXX", default: false}
|
||||
- {id: 89, cat: XXX/x264, desc: "HD/XXX", default: false}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "Képek/XXX", default: false}
|
||||
# the following are no longer in the cat list in the search page, but are still in the profile cat list
|
||||
- {id: 54, cat: Console, desc: "Játék/Konzol", default: true}
|
||||
- {id: 67, cat: PC/Mobile-Android, desc: "Program/Mobil", default: true}
|
||||
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
|
||||
- {id: 97, cat: TV/Anime, desc: "Sorozat/Mese", default: true}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -99,7 +99,7 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
categories: [85, 86, 15, 16, 17, 19, 83, 82, 94, 95, 92, 93, 64, 24, 22, 58, 69, 68, 91, 25, 26, 84, 71, 31, 81, 49, 27, 50, 14, 65, 54, 67, 70]
|
||||
categories: ["!", 33, 66, 89]
|
||||
inputs:
|
||||
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
|
||||
incldead: 0
|
||||
@@ -117,22 +117,26 @@ search:
|
||||
# can support genre searching but you need to know the id, eg &genre23=1 for Comedy (id is 23)
|
||||
|
||||
rows:
|
||||
selector: "tr[class^=\"toriadatok_\"]{{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
|
||||
selector: "tr[class^=\"toriadatok\"]{{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
selector: img[src^="pic/kategoria/"]
|
||||
attribute: title
|
||||
title:
|
||||
selector: a.preview
|
||||
selector: font[class="tori"], a.preview
|
||||
_id:
|
||||
selector: td.tori_infok
|
||||
attribute: id
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
details:
|
||||
text: "details.php?id={{ .Result._id }}#adatlap"
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
optional: true
|
||||
default: "details.php?id={{ .Result._id }}#adatlap"
|
||||
download:
|
||||
text: "download.php?torrent={{ .Result._id }}"
|
||||
poster:
|
||||
@@ -142,14 +146,14 @@ search:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td[id^="tsize_"]
|
||||
selector: td[id^="tsize"]
|
||||
date:
|
||||
# 36 perce
|
||||
# 13 órája és 59 perce
|
||||
# 2 napja és 10 órája
|
||||
# 1 hete és 1 napja
|
||||
# 1 éve és 30 hete
|
||||
selector: td[id^="t_added_"] > span
|
||||
selector: td[id^="t_added"] > span
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["és ", " "]
|
||||
|
||||
@@ -8,7 +8,6 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
- https://bitsearch.mrunblock.life/
|
||||
- https://bitsearch.nocensor.click/
|
||||
legacylinks:
|
||||
- https://bitsearch.nocensor.biz/
|
||||
@@ -16,6 +15,7 @@ legacylinks:
|
||||
- https://bitsearch.nocensor.world/
|
||||
- https://bitsearch.nocensor.lol/
|
||||
- https://bitsearch.mrunblock.guru/
|
||||
- https://bitsearch.mrunblock.life/ # This web property is not accessible via this address.
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -93,7 +93,7 @@ search:
|
||||
category:
|
||||
selector: a.category
|
||||
title:
|
||||
selector: h5
|
||||
selector: h5 a
|
||||
details:
|
||||
selector: h5 a
|
||||
attribute: href
|
||||
|
||||
@@ -54,8 +54,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -63,15 +61,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
|
||||
@@ -55,8 +55,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -64,21 +62,22 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -87,8 +86,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -7,12 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
# use https://tellme.pw/btsow to find the new domain
|
||||
links:
|
||||
- https://btsow.hair/
|
||||
- https://btsow.skin/
|
||||
legacylinks:
|
||||
- https://btsow.surf/
|
||||
- https://btsow.com/
|
||||
- https://btsow.cam/
|
||||
- https://btsow.digital/
|
||||
- https://btsow.shop/
|
||||
- https://btsow.us/
|
||||
- https://btsow.one/
|
||||
@@ -26,6 +22,8 @@ legacylinks:
|
||||
- https://btsow.beauty/
|
||||
- https://btsow.mom/
|
||||
- https://btsow.boats/
|
||||
- https://btsow.hair/
|
||||
- https://btsow.bond/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -123,6 +123,8 @@ caps:
|
||||
- {id: 217, cat: Movies, desc: "Tamil-Movies | Remuxes BluRay"}
|
||||
- {id: 218, cat: TV, desc: "TV-Ishara TV"}
|
||||
- {id: 219, cat: TV, desc: "TV-Bengali Tv"}
|
||||
- {id: 220, cat: TV, desc: "TV-Shemaroo Umang"}
|
||||
- {id: 221, cat: TV, desc: "TV-JioTv"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -89,7 +89,7 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
categories: [1, 2, 8, 7, 16, 15, 14, 13, 4, 3, 18, 17, 23, 19, 20, 24, 21, 22, 35, 36, 25, 30, 31, 33, 32, 29, 28, 27, 26]
|
||||
categories: ["!", 34, 39]
|
||||
- path: browse.php
|
||||
categories: [34, 39]
|
||||
inputs:
|
||||
|
||||
@@ -189,4 +189,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.37 2023-05-08
|
||||
# NexusPHP v1.7.38 2023-05-14
|
||||
|
||||
@@ -1,152 +0,0 @@
|
||||
---
|
||||
id: ccfbits
|
||||
name: CCFBits
|
||||
description: "CCFBits is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://ccfbits.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# 高清电影
|
||||
- {id: 39, cat: Movies/HD, desc: "HD-DVD原盘"}
|
||||
- {id: 40, cat: Movies/BluRay, desc: "Blu-ray原盘"}
|
||||
- {id: 30, cat: Movies/HD, desc: "高清电影1080p"}
|
||||
- {id: 2, cat: Movies/HD, desc: "高清电影720p"}
|
||||
# 高清电视剧
|
||||
- {id: 7, cat: TV/HD, desc: "高清欧美剧"}
|
||||
- {id: 32, cat: TV/HD, desc: "高清国产剧"}
|
||||
- {id: 34, cat: TV/HD, desc: "高清港台剧"}
|
||||
- {id: 36, cat: TV/HD, desc: "高清日韩剧"}
|
||||
# 其他高清视频
|
||||
- {id: 12, cat: TV/Documentary, desc: "高清纪录片"}
|
||||
- {id: 11, cat: TV/Sport, desc: "高清体育"}
|
||||
- {id: 23, cat: TV/Anime, desc: "高清动漫"}
|
||||
- {id: 4, cat: Audio/Video, desc: "高清MV/综艺"}
|
||||
# 电视剧集包
|
||||
- {id: 38, cat: TV/HD, desc: "欧美剧包"}
|
||||
- {id: 33, cat: TV/HD, desc: "国产剧包"}
|
||||
- {id: 35, cat: TV/HD, desc: "港台剧包"}
|
||||
- {id: 37, cat: TV/HD, desc: "日韩剧包"}
|
||||
# 非高清和其他
|
||||
- {id: 43, cat: TV/SD, desc: "HR_HDTV"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 42, cat: Movies/SD, desc: "XviD"}
|
||||
- {id: 3, cat: Audio, desc: "无损音乐"}
|
||||
- {id: 22, cat: Other, desc: "杂项"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: DESC
|
||||
options:
|
||||
DESC: desc
|
||||
ASC: asc
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("登录失败"))
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 active 1 incldead 2 deadonly
|
||||
incldead: 1
|
||||
fullsearch: "{{ if .Query.IMDBID }}1{{ else }}{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
d: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: table[border="1"][cellpadding="5"] > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: split
|
||||
args: ["\n", 0]
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: a[href$="&filelist=1"]
|
||||
grabs:
|
||||
selector: a[href^="snatches.php?id"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["次", ""]
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
remove: a
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"font[color=\"#C20603\"]:contains(\"免费\")": 0
|
||||
"font:has([src=\"/pic/arrowdown1.gif\"]):contains(\"0.5x\")": 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"font:has([src=\"/pic/arrowup1.gif\"]):contains(\"1.5x\")": 1.5
|
||||
"font:has([src=\"/pic/arrowup1.gif\"]):contains(\"2x\")": 2
|
||||
"*": 1
|
||||
description:
|
||||
selector: td:nth-child(2) > table > tbody > tr:nth-child(2)
|
||||
remove: a, img
|
||||
# Discuz! 7.2
|
||||
165
src/Jackett.Common/Definitions/cheggit.yml
Normal file
165
src/Jackett.Common/Definitions/cheggit.yml
Normal file
@@ -0,0 +1,165 @@
|
||||
---
|
||||
id: cheggit
|
||||
name: cheggit
|
||||
description: "cheggit is a Private site for 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.cheggit.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX, desc: "Amateur"}
|
||||
- {id: 2, cat: XXX, desc: "Anal"}
|
||||
- {id: 5, cat: XXX, desc: "Asian"}
|
||||
- {id: 6, cat: XXX, desc: "BBW"}
|
||||
- {id: 30, cat: XXX, desc: "BDSM"}
|
||||
- {id: 36, cat: XXX, desc: "Big Ass"}
|
||||
- {id: 8, cat: XXX, desc: "Big Tits"}
|
||||
- {id: 7, cat: XXX, desc: "Black"}
|
||||
- {id: 9, cat: XXX, desc: "Classic"}
|
||||
- {id: 37, cat: XXX, desc: "Creampie"}
|
||||
- {id: 10, cat: XXX, desc: "Cumshot"}
|
||||
- {id: 11, cat: XXX, desc: "DVD-R"}
|
||||
- {id: 12, cat: XXX, desc: "Fetish"}
|
||||
- {id: 14, cat: XXX, desc: "Gang Bang / Orgy"}
|
||||
- {id: 39, cat: XXX, desc: "Gay / Bi"}
|
||||
- {id: 56, cat: XXX, desc: "Hairy"}
|
||||
- {id: 35, cat: XXX, desc: "Hardcore"}
|
||||
- {id: 44, cat: XXX, desc: "HD Porn"}
|
||||
- {id: 3, cat: XXX, desc: "Hentai / 3D"}
|
||||
- {id: 25, cat: XXX, desc: "Homemade"}
|
||||
- {id: 43, cat: XXX, desc: "Interracial"}
|
||||
- {id: 16, cat: XXX, desc: "Latina"}
|
||||
- {id: 23, cat: XXX, desc: "Lesbian"}
|
||||
- {id: 52, cat: XXX, desc: "Lingerie"}
|
||||
- {id: 27, cat: XXX, desc: "Magazines"}
|
||||
- {id: 53, cat: XXX, desc: "Manga / Comic"}
|
||||
- {id: 18, cat: XXX, desc: "Masturbation"}
|
||||
- {id: 26, cat: XXX, desc: "Mature"}
|
||||
- {id: 40, cat: XXX, desc: "Megapack"}
|
||||
- {id: 41, cat: XXX, desc: "Natural Tits"}
|
||||
- {id: 17, cat: XXX, desc: "Oral"}
|
||||
- {id: 29, cat: XXX, desc: "Other"}
|
||||
- {id: 47, cat: XXX, desc: "Parody"}
|
||||
- {id: 21, cat: XXX, desc: "Pictures / Images"}
|
||||
- {id: 50, cat: XXX, desc: "Piss"}
|
||||
- {id: 55, cat: XXX, desc: "Porn Music Videos"}
|
||||
- {id: 46, cat: XXX, desc: "Pregnant / Preggo"}
|
||||
- {id: 15, cat: XXX, desc: "Shemale / TS"}
|
||||
- {id: 22, cat: XXX, desc: "Siterip"}
|
||||
- {id: 20, cat: XXX, desc: "Softcore"}
|
||||
- {id: 49, cat: XXX, desc: "Squirt"}
|
||||
- {id: 34, cat: XXX, desc: "Straight"}
|
||||
- {id: 19, cat: XXX, desc: "Teen"}
|
||||
- {id: 45, cat: XXX, desc: "Voyeur"}
|
||||
- {id: 13, cat: PC/Games, desc: "XXX Games / Apps"}
|
||||
|
||||
modes:
|
||||
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: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- 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.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: span.warning:contains(" was incorrect.")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://www.cheggit.me/torrents.php?filter_cat[1]=1&order_by=time&order_way=desc&filter_freeleech=1&searchtext=&search_type=0&taglist=&tags_type=0
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
searchtext: "{{ .Keywords }}"
|
||||
# 0=any, 1=all
|
||||
search_type: 1
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr:not(tr.colhead)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: \[(\d+)\]
|
||||
title:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
details:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download"]
|
||||
attribute: href
|
||||
description:
|
||||
selector: div.tags
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: span.time
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm zzz"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 0.51
|
||||
# engine n/a
|
||||
@@ -2,7 +2,7 @@
|
||||
id: chilebt
|
||||
name: ChileBT
|
||||
description: "ChileBT is a CHILEAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: es-419
|
||||
language: es-CL
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
|
||||
@@ -6,6 +6,7 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://cinefilhd.xyz/
|
||||
- http://cinefilhd.sytes.net/
|
||||
legacylinks:
|
||||
- http://www.cinefilhd.org/
|
||||
|
||||
@@ -10,11 +10,10 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 62, cat: Books/EBook, desc: "EBook"}
|
||||
- {id: 69, cat: Books/Mags, desc: "Zeitung"}
|
||||
- {id: 30, cat: TV/Anime, desc: "Filme - Animie"}
|
||||
- {id: 28, cat: Movies/BluRay, desc: "Filme - Bluray"}
|
||||
- {id: 31, cat: Movies/Other, desc: "Filme - Bollywood"}
|
||||
- {id: 77, cat: TV/Documentary, desc: "Filme - DokusHD"}
|
||||
- {id: 32, cat: Movies/DVD, desc: "Filme - DVD"}
|
||||
- {id: 33, cat: Movies/HD, desc: "Filme - HD"}
|
||||
- {id: 34, cat: Movies, desc: "Filme - Klassiker"}
|
||||
@@ -22,14 +21,17 @@ caps:
|
||||
- {id: 36, cat: Movies/SD, desc: "Filme - SD"}
|
||||
- {id: 37, cat: Movies/UHD, desc: "Filme - UHD"}
|
||||
- {id: 38, cat: Movies/HD, desc: "Filme - x264"}
|
||||
- {id: 63, cat: Movies, desc: "Fuer Unsere Kleinsten"}
|
||||
- {id: 64, cat: PC/Mobile-Other, desc: "Handy-Stuff"}
|
||||
- {id: 39, cat: Audio, desc: "Musik - Alben"}
|
||||
- {id: 72, cat: Audio, desc: "Musik - Charts"}
|
||||
- {id: 40, cat: Audio, desc: "Musik - Diskografie"}
|
||||
- {id: 75, cat: Audio/Lossless, desc: "Musik - Flac"}
|
||||
- {id: 41, cat: Audio/Audiobook, desc: "Musik - Hoerbuch"}
|
||||
- {id: 74, cat: Audio/Other, desc: "Musik - Kids"}
|
||||
- {id: 42, cat: Audio, desc: "Musik - Mixe"}
|
||||
- {id: 43, cat: Audio/MP3, desc: "Musik - MP3"}
|
||||
- {id: 66, cat: Audio, desc: "Musik - Pack"}
|
||||
- {id: 70, cat: Audio, desc: "Musik - Sampler Deu."}
|
||||
- {id: 71, cat: Audio, desc: "Musik - Sampler Int."}
|
||||
- {id: 76, cat: Audio/Other, desc: "Musik - Soundtrack"}
|
||||
- {id: 44, cat: Audio/Video, desc: "Musik - Video"}
|
||||
- {id: 45, cat: PC, desc: "Programme - Linux"}
|
||||
- {id: 48, cat: PC/Mac, desc: "Programme - Mac"}
|
||||
@@ -39,7 +41,11 @@ caps:
|
||||
- {id: 51, cat: TV, desc: "Serien - Klassiker"}
|
||||
- {id: 52, cat: TV, desc: "Serien - Pack"}
|
||||
- {id: 53, cat: TV/Sport, desc: "Serien - Sport"}
|
||||
- {id: 62, cat: Books/EBook, desc: "EBook"}
|
||||
- {id: 63, cat: Movies, desc: "Fuer Unsere Kleinsten"}
|
||||
- {id: 64, cat: PC/Mobile-Other, desc: "Handy-Stuff"}
|
||||
- {id: 60, cat: Other, desc: "Sonstiges"}
|
||||
- {id: 69, cat: Books/Mags, desc: "Zeitung"}
|
||||
- {id: 54, cat: PC/Mobile-Other, desc: "Spiele - Handy"}
|
||||
- {id: 55, cat: Console, desc: "Spiele - Konsolen"}
|
||||
- {id: 57, cat: PC/Games, desc: "Spiele - Mac / Linux / PC"}
|
||||
|
||||
194
src/Jackett.Common/Definitions/dajiao.yml
Normal file
194
src/Jackett.Common/Definitions/dajiao.yml
Normal file
@@ -0,0 +1,194 @@
|
||||
---
|
||||
id: dajiao
|
||||
name: Dajiao
|
||||
description: "Dajiao (打胶) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dajiao.cyou/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 414, cat: Console, desc: "Games/游戏"}
|
||||
- {id: 412, cat: Audio/Audiobook, desc: "Audio Books/有声书"}
|
||||
- {id: 409, cat: Other, desc: "Others/音乐"}
|
||||
- {id: 411, cat: Books/Comics, desc: "Manga/漫画"}
|
||||
- {id: 413, cat: Books/EBook, desc: "E-Books/电子书"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 403, cat: TV, desc: "TV Variety Shows/综艺"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 416, cat: TV, desc: "TV Shows/电视节目"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Kufei Web Site. Otherwise just leave it empty."
|
||||
- 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: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{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
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-13
|
||||
@@ -68,8 +68,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -81,8 +79,10 @@ search:
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
|
||||
@@ -61,8 +61,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -70,15 +68,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -90,7 +90,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -99,8 +98,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -10,12 +10,11 @@ links:
|
||||
- https://www.demonoid.is/
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoid.unblockit.asia/
|
||||
- https://demonoid.unblockit.mov/
|
||||
- https://demonoid.torrentbay.net/
|
||||
- https://demonoid.mrunblock.life/
|
||||
- https://demonoid.nocensor.click/
|
||||
legacylinks:
|
||||
- https://demonoid.unblockit.cam/
|
||||
- https://demonoid.nocensor.biz/
|
||||
- https://demonoid.unblockit.day/
|
||||
- https://demonoid.unblockit.llc/
|
||||
@@ -42,6 +41,7 @@ legacylinks:
|
||||
- https://demonoid.mrunblock.guru/
|
||||
- https://demonoid.torrentbay.to/
|
||||
- https://demonoid.unblockit.click/
|
||||
- https://demonoid.unblockit.asia/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -54,8 +54,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -63,15 +61,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -83,7 +83,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -92,8 +91,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -71,6 +71,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: p2p_releases_only
|
||||
type: checkbox
|
||||
label: Search P2P releases only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -109,6 +113,7 @@ search:
|
||||
index: 0
|
||||
limit: 100
|
||||
order: "{{ .Config.type }}"
|
||||
p2p: "{{ if .Config.p2p_releases_only }}true{{ else }}{{ end }}"
|
||||
page: search
|
||||
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
|
||||
section: all
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
id: dimeadozen
|
||||
name: DimeADozen
|
||||
description: "DimeADozen (EzTorrent) is a Semi-Private Torrent Tracker for BOOTLEG MUSIC"
|
||||
description: "DimeADozen (EzTorrent) is a Private Torrent Tracker for BOOTLEG MUSIC"
|
||||
language: en-GB
|
||||
type: semi-private
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.dimeadozen.org/ # site does not support https ERR_CONNECTION_REFUSED
|
||||
|
||||
217
src/Jackett.Common/Definitions/drugari.yml
Normal file
217
src/Jackett.Common/Definitions/drugari.yml
Normal file
@@ -0,0 +1,217 @@
|
||||
---
|
||||
id: drugari
|
||||
name: Drugari
|
||||
description: "Drugari is a CROATIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: hr-HR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://drugari.org/ # does not support https, ERR_CONNECTION_CLOSED
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 3, cat: TV/Anime, desc: "ANIMIRANI"}
|
||||
- {id: 4, cat: PC, desc: "Appz"}
|
||||
- {id: 1, cat: Movies, desc: "BEZ PRAVILA"}
|
||||
- {id: 39, cat: Movies, desc: "BEZ PREVODA"}
|
||||
- {id: 41, cat: Movies, desc: "BEZ PREVODA Filmovi"}
|
||||
- {id: 40, cat: TV, desc: "BEZ PREVODA Serije"}
|
||||
- {id: 7, cat: TV/Documentary, desc: "DOKUMENTARNI"}
|
||||
- {id: 18, cat: Movies, desc: "DOMACI FILMOVI"}
|
||||
- {id: 49, cat: Movies, desc: "DOMACI FILMOVI Predstava"}
|
||||
- {id: 10, cat: Movies/DVD, desc: "DVD FILMOVI"}
|
||||
- {id: 37, cat: TV, desc: "Emisije"}
|
||||
- {id: 8, cat: Movies, desc: "FILM"}
|
||||
- {id: 34, cat: Movies, desc: "FILM Kolekcije"}
|
||||
- {id: 48, cat: Movies, desc: "FILM Ruski Film"}
|
||||
- {id: 23, cat: Movies/SD, desc: "FILM TS"}
|
||||
- {id: 24, cat: Movies, desc: "FILM TV RIP"}
|
||||
- {id: 38, cat: Movies, desc: "FILM- Western"}
|
||||
- {id: 22, cat: Movies/HD, desc: "FILM x264/x265-Filmovi"}
|
||||
- {id: 21, cat: Movies/SD, desc: "FILM XviD/Strani Filmovi"}
|
||||
- {id: 15, cat: Console, desc: "IGRE"}
|
||||
- {id: 19, cat: Books, desc: "KNJIGE"}
|
||||
- {id: 53, cat: Audio/Audiobook, desc: "KNJIGE Audio"}
|
||||
- {id: 52, cat: Books/Mags, desc: "KNJIGE Casopisi"}
|
||||
- {id: 55, cat: Books/EBook, desc: "KNJIGE pdf"}
|
||||
- {id: 14, cat: Audio, desc: "MUZIKA"}
|
||||
- {id: 50, cat: Audio, desc: "MUZIKA Domaca Diskografija"}
|
||||
- {id: 29, cat: Audio, desc: "MUZIKA DVD Muzika"}
|
||||
- {id: 33, cat: Audio/Lossless, desc: "MUZIKA FLAC"}
|
||||
- {id: 35, cat: Audio, desc: "MUZIKA Karaoke"}
|
||||
- {id: 32, cat: Audio/MP3, desc: "MUZIKA MP3"}
|
||||
- {id: 31, cat: Audio/Other, desc: "MUZIKA Muzika Ostalo"}
|
||||
- {id: 51, cat: Audio, desc: "MUZIKA Strana Diskografija"}
|
||||
- {id: 30, cat: Audio/Video, desc: "MUZIKA Video Muzika"}
|
||||
- {id: 11, cat: Other, desc: "RAZNO"}
|
||||
- {id: 20, cat: TV, desc: "SERIJE"}
|
||||
- {id: 27, cat: TV, desc: "SERIJE Domace Serije"}
|
||||
- {id: 54, cat: TV, desc: "SERIJE Ruske Serije"}
|
||||
- {id: 28, cat: TV, desc: "SERIJE Strane Serije"}
|
||||
- {id: 16, cat: Other, desc: "SLIKE"}
|
||||
- {id: 12, cat: TV/Sport, desc: "SPORT"}
|
||||
- {id: 6, cat: Other, desc: "STRANI TORENTI"}
|
||||
- {id: 5, cat: Other, desc: "STRIP"}
|
||||
- {id: 13, cat: Other, desc: "UPUTSTVA"}
|
||||
- {id: 25, cat: XXX, desc: "XXX"}
|
||||
- {id: 47, cat: XXX, desc: "XXX XXX-Strip"}
|
||||
- {id: 42, cat: TV, desc: "Za Decu"}
|
||||
- {id: 43, cat: TV, desc: "Za Decu Edukativni Programi"}
|
||||
- {id: 44, cat: Console, desc: "Za Decu Igrice"}
|
||||
- {id: 45, cat: Books, desc: "Za Decu Knjige"}
|
||||
- {id: 46, cat: Audio, desc: "Za Decu Muzika"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q, imdbid]
|
||||
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
|
||||
seeders: 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>Torrents per page:</b> setting to <b>40</b> on your account profile. The Default is <i>30</i>.
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and read any new mail you may have received. You cannot browse torrents with unread mail outstanding."
|
||||
|
||||
login:
|
||||
path: login.php?
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img#regimage
|
||||
input: imagestring
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
error:
|
||||
- selector: table:contains("Greska")
|
||||
test:
|
||||
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
|
||||
args: ["[\\s]+", "%"]
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}"
|
||||
# does not support multi category searching so defaulting to all.
|
||||
category: 0
|
||||
# yes, no
|
||||
include_dead_torrents: yes
|
||||
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
|
||||
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
|
||||
# does not return imdb link in results
|
||||
|
||||
rows:
|
||||
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
filters:
|
||||
- name: strdump
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/browse.php?category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title_default:
|
||||
# is usually abbreaviated
|
||||
selector: a[href*="/details.php?id="]
|
||||
title:
|
||||
# while still abbreviated, is usually longer than the default
|
||||
selector: div.tooltip-content div
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src*="/torrents/images/"]
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2)
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})"
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm"
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
grabs:
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(2)
|
||||
description:
|
||||
# Wait: 4 h
|
||||
# Cekanje: 4 h
|
||||
selector: div.tooltip-content > div:last-child
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
img[src$="/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="/x2.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.1
|
||||
minimumseedtime:
|
||||
# 60 hours (as seconds = 60 x 60 x 60)
|
||||
text: 216000
|
||||
# TS Special Edition v.8.0
|
||||
@@ -14,6 +14,7 @@ caps:
|
||||
- {id: "Action/Adventure", cat: Books/EBook, desc: "Action/Adventure"}
|
||||
- {id: "Animals", cat: Books/EBook, desc: "Animals"}
|
||||
- {id: "Arts", cat: Books/EBook, desc: "Arts"}
|
||||
- {id: "Audio Books", cat: Audio/Audiobook, desc: "Audio Books"}
|
||||
- {id: "Beauty", cat: Books/EBook, desc: "Beauty"}
|
||||
- {id: "Business", cat: Books/EBook, desc: "Business"}
|
||||
- {id: "Certification", cat: Books/EBook, desc: "Certification"}
|
||||
@@ -29,7 +30,7 @@ caps:
|
||||
- {id: "Fantasy", cat: Books/EBook, desc: "Fantasy"}
|
||||
- {id: "Gardening", cat: Books/EBook, desc: "Gardening"}
|
||||
- {id: "Health", cat: Books/EBook, desc: "Health"}
|
||||
- {id: "Historical", cat: Books/EBook, desc: "Historical"}
|
||||
- {id: "Historical Fiction", cat: Books/EBook, desc: "Historical Fiction"}
|
||||
- {id: "History", cat: Books/EBook, desc: "History"}
|
||||
- {id: "Horror", cat: Books/EBook, desc: "Horror"}
|
||||
- {id: "Humorous", cat: Books/EBook, desc: "Humorous"}
|
||||
@@ -64,6 +65,7 @@ caps:
|
||||
modes:
|
||||
search: [q]
|
||||
book-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
@@ -101,8 +103,10 @@ search:
|
||||
optional: true
|
||||
default: Other
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\bEbooks?\\b", ""]
|
||||
- name: regexp
|
||||
args: "E book under:\\s+(.+?)\\s"
|
||||
args: "E book under:\\s+(.+?)\\s?\\\xA0"
|
||||
title:
|
||||
selector: div.postname a
|
||||
details:
|
||||
|
||||
@@ -6,6 +6,8 @@ language: pl-PL
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://electro-torrent.pl/
|
||||
legacylinks:
|
||||
- http://electro-torrent.pl/
|
||||
|
||||
caps:
|
||||
@@ -49,12 +51,20 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: useragent
|
||||
type: text
|
||||
label: User-Agent
|
||||
- name: info_useragent
|
||||
type: info
|
||||
label: How to get the User-Agent
|
||||
default: "<ol><li>From the same place you fetched the cookie,</li><li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: multilang
|
||||
type: checkbox
|
||||
label: Replace MULTi by another language in release name
|
||||
@@ -68,25 +78,17 @@ settings:
|
||||
MULTi POLISH: MULTi POLISH
|
||||
|
||||
login:
|
||||
path: logowanie
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src^="img.php?size=3"]
|
||||
input: vImageCodP
|
||||
method: cookie
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
returnto: ""
|
||||
error:
|
||||
- selector: div#center-side:contains("Logowanie nie")
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: /
|
||||
selector: a[href$="/logout.php"]
|
||||
|
||||
search:
|
||||
# http://electro-torrent.pl/szukaj.php?search=&typ=torrent&cat=0
|
||||
headers:
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
paths:
|
||||
- path: szukaj.php
|
||||
allowEmptyInputs: true
|
||||
|
||||
@@ -7,12 +7,11 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://extratorrent.st/
|
||||
- https://extratorrent.unblockit.asia/
|
||||
- https://extratorrent.unblockit.mov/
|
||||
- https://extratorrent.mrunblock.life/
|
||||
- https://extratorrent.nocensor.click/
|
||||
legacylinks:
|
||||
- https://extratorrent.nocensor.work/
|
||||
- https://extratorrent.unblockit.cam/
|
||||
- https://extratorrent.nocensor.biz/
|
||||
- https://extratorrent.unblockit.day/
|
||||
- https://extratorrent.unblockit.llc/
|
||||
@@ -33,6 +32,7 @@ legacylinks:
|
||||
- https://extratorrent.unblockit.boo/
|
||||
- https://extratorrent.mrunblock.guru/
|
||||
- https://extratorrent.unblockit.click/
|
||||
- https://extratorrent.unblockit.asia/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -123,6 +123,8 @@ search:
|
||||
category:
|
||||
selector: td:nth-child(1) div div a:last-child
|
||||
attribute: href
|
||||
optional: true
|
||||
default: "/other/"
|
||||
title:
|
||||
selector: td:nth-child(1) div a
|
||||
details:
|
||||
|
||||
@@ -13,7 +13,7 @@ links:
|
||||
- https://eztv.yt/
|
||||
- https://eztv1.xyz/
|
||||
- https://eztv.unblockninja.com/
|
||||
- https://eztv.unblockit.asia/
|
||||
- https://eztv.unblockit.mov/
|
||||
- https://eztv.mrunblock.life/
|
||||
- https://eztv.nocensor.click/
|
||||
legacylinks:
|
||||
@@ -41,6 +41,7 @@ legacylinks:
|
||||
- https://eztv.unblockit.boo/
|
||||
- https://eztv.mrunblock.guru/
|
||||
- https://eztv.unblockit.click/
|
||||
- https://eztv.unblockit.asia/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
139
src/Jackett.Common/Definitions/fappaizuri.yml
Normal file
139
src/Jackett.Common/Definitions/fappaizuri.yml
Normal file
@@ -0,0 +1,139 @@
|
||||
---
|
||||
id: fappaizuri
|
||||
name: Fappaizuri
|
||||
description: "Fappaizuri is a Private Torrent Tracker for HENTAI / JAV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://fappaizuri.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 8, cat: TV/Anime, desc: "Hentai"}
|
||||
- {id: 7, cat: Console, desc: "H-games"}
|
||||
- {id: 5, cat: XXX, desc: "JAV"}
|
||||
- {id: 6, cat: Books, desc: "Manga"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-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: lang
|
||||
type: select
|
||||
label: Language
|
||||
default: 0
|
||||
options:
|
||||
0: All
|
||||
4: Japanese
|
||||
5: Chinese
|
||||
6: Malaysia
|
||||
7: North Korea
|
||||
8: English
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: id
|
||||
options:
|
||||
id: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: post
|
||||
path: account-login.php
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: b:contains("The specified username or password was incorrect.")
|
||||
test:
|
||||
path: account.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://fappaizuri.me/torrents-search.php?search=&c8=1&c6=1&incldead=1&freeleech=0&lang=0
|
||||
- path: torrents-search.php
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}&c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
# 0 all, 1 notfree, 2 onlyfree
|
||||
freeleech: "{{ if .Config.freeleech }}{{ .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
lang: "{{ .Config.lang }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: tr.t-row:has(a[href^="download.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="search-torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="] > b
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=(.+?)>
|
||||
_language:
|
||||
selector: img[src*="images/languages/"]
|
||||
attribute: alt
|
||||
description:
|
||||
selector: font[color="red"]
|
||||
filters:
|
||||
- name: append
|
||||
args: " - {{ .Result._language }}"
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
selector: td:nth-child(6)
|
||||
date:
|
||||
text: now
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="images/doubleupload.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# evolution
|
||||
207
src/Jackett.Common/Definitions/freefarm.yml
Normal file
207
src/Jackett.Common/Definitions/freefarm.yml
Normal file
@@ -0,0 +1,207 @@
|
||||
---
|
||||
id: freefarm
|
||||
name: Free Farm
|
||||
description: "Free Farm (自由农场) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://pt.0ff.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies|电影", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series|电视剧", default: true}
|
||||
- {id: 403, cat: TV/Documentary, desc: "Documentaries|纪录片", default: true}
|
||||
- {id: 404, cat: TV, desc: "TV Shows|综艺", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations|动漫", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos|音乐视频", default: true}
|
||||
- {id: 407, cat: Audio/Lossless, desc: "HD Music|无损音乐", default: true}
|
||||
- {id: 408, cat: TV/Sport, desc: "Sports|体育", default: true}
|
||||
- {id: 428, cat: Other, desc: "Others|其他", default: true}
|
||||
# special
|
||||
- {id: 413, cat: Other, desc: "Education|学习教育", default: false}
|
||||
- {id: 414, cat: Other, desc: "Course|网络教程", default: false}
|
||||
- {id: 415, cat: Books, desc: "book|书籍", default: false}
|
||||
- {id: 416, cat: PC/0day, desc: "Resources|网络资源", default: false}
|
||||
- {id: 417, cat: PC/Games, desc: "Game|游戏", default: false}
|
||||
- {id: 426, cat: Other, desc: "Others|其他", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Free Farm Web Site. Otherwise just leave it empty."
|
||||
- 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: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: ["!", 413, 414, 415, 416, 417, 426]
|
||||
- path: special.php
|
||||
categories: [413, 414, 415, 416, 417, 426]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{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
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(a[href^="download.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# special 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
# normal 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
case:
|
||||
img[title="H&R"]: 604800
|
||||
"*": 259200
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-18
|
||||
@@ -6,6 +6,8 @@ language: es-ES
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
certificates:
|
||||
- 1c5fd7a2e0464ac60f947eda247c2fe209768834 # expired 18 June 2023
|
||||
links:
|
||||
- https://www.frozen-layer.com/
|
||||
|
||||
@@ -60,6 +62,8 @@ search:
|
||||
selector: table#descargas > tbody > tr:has(td:has(a[href^="magnet:?"]))
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: "{{ if eq .Config.category \"todos\" }}Anime{{ else }}{{ .Config.category }}{{ end }}"
|
||||
title:
|
||||
selector: td.tit a
|
||||
filters:
|
||||
@@ -84,10 +88,6 @@ search:
|
||||
magnet:
|
||||
selector: td:nth-child(1) a[href^="magnet:?"]
|
||||
attribute: href
|
||||
category:
|
||||
selector: td.tit span
|
||||
optional: true
|
||||
default: Anime
|
||||
date_day:
|
||||
# 1d
|
||||
# 2d 3h
|
||||
|
||||
@@ -77,12 +77,13 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
- name: info_news
|
||||
type: info
|
||||
label: Reminder from GF-Free Admin
|
||||
default: "Attention users of third-party software like Jackett or Radarr, Sonarr or similar:<br>Despite your seed downloads you must physically connect to the web site with your browser or risk being <b>Banned for non-participation</b>...<br><ol>We ask :<li>Remain in seed at least 48 hours on the media to avoid H$R</li><li>And much more depending on your storage means</li><li>Participate in the life of the site shout forum...</li><li>Connect regularly to possibly read your private messages.</li></ol>"
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -90,15 +91,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -106,11 +109,10 @@ search:
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
free[]: "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -119,8 +121,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -10,14 +10,13 @@ links:
|
||||
- https://glodls.to/
|
||||
- https://gtdb.cc/
|
||||
- https://www.gtdb.to/
|
||||
- https://glotorrents.unblockit.asia/
|
||||
- https://glotorrents.unblockit.mov/
|
||||
- https://glotorrents.mrunblock.life/
|
||||
- https://glodls.unblockninja.com/
|
||||
- https://glotorrents.nocensor.click/
|
||||
legacylinks:
|
||||
- https://glodls.rocks/
|
||||
- https://gtdb.to/
|
||||
- https://glotorrents.unblockit.cam/
|
||||
- https://glotorrents.nocensor.biz/
|
||||
- https://glotorrents.unblockit.day/
|
||||
- https://glotorrents.unblockit.llc/
|
||||
@@ -38,6 +37,7 @@ legacylinks:
|
||||
- https://glotorrents.unblockit.boo/
|
||||
- https://glotorrents.mrunblock.guru/
|
||||
- https://glotorrents.unblockit.click/
|
||||
- https://glotorrents.unblockit.asia/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -77,7 +77,7 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [1, 4091, 4097, 4098, 4099, 4101, 4104, 4105]
|
||||
categories: ["!", 4103]
|
||||
- path: live.php
|
||||
categories: [4103]
|
||||
inputs:
|
||||
|
||||
@@ -10,10 +10,13 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 11, cat: XXX, desc: "Asian"}
|
||||
- {id: 3, cat: XXX, desc: "Gay"}
|
||||
- {id: 4, cat: XXX, desc: "Interracial"}
|
||||
- {id: 5, cat: XXX, desc: "Lesbian"}
|
||||
- {id: 6, cat: XXX, desc: "Onlyfans"}
|
||||
- {id: 9, cat: XXX, desc: "Packs"}
|
||||
- {id: 10, cat: XXX, desc: "Pics"}
|
||||
- {id: 1, cat: XXX, desc: "Pron"}
|
||||
- {id: 8, cat: XXX, desc: "Retro"}
|
||||
- {id: 7, cat: XXX, desc: "VR"}
|
||||
|
||||
@@ -50,8 +50,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -59,14 +57,16 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
@@ -76,7 +76,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -85,8 +84,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
|
||||
@@ -53,8 +53,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -62,15 +60,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -82,7 +82,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -91,8 +90,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -151,4 +148,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 6.3.0
|
||||
# json UNIT3D 6.4.1
|
||||
|
||||
@@ -146,4 +146,4 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
# NexusPHP 2c858e7 (Customised)
|
||||
# NexusPHP 4e16128 (Customised)
|
||||
|
||||
@@ -195,4 +195,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-06
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
|
||||
@@ -103,7 +103,7 @@ search:
|
||||
# 1 active, 2 dead, 3 gold, 4 sticky, lots of others
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
ascdesc: "{{ .Config.type }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace # S01 to сезон 1
|
||||
@@ -225,6 +225,23 @@ search:
|
||||
# 1 day ago
|
||||
selector: a[href^="browse.php?date="]
|
||||
filters:
|
||||
# translations for Russian|Romanian|Ukrainian
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(назад|În urmă)\\b", "ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(секунд(а|и|ы)?|secund(a|ă|e))\\b", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(минуты?|minute?|хвилини?)\\b", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(час(а|ов)?|or(e|ă)|години?)\\b", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(де?не?(ь|я|й|ів)|zi(le)?)\\b", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(недел(ю|и)|săptămân(ă|i)|тиж(день|ні))\\b", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(месяц(а|ев)?|lun(ă|i)|місяц(ь|я|ів))\\b", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(года?|an|р(ік|оки))\\b", "years"]
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
|
||||
@@ -171,4 +171,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.29 2022-10-12
|
||||
# NexusPHP v1.8.3 2023-05-13
|
||||
|
||||
@@ -56,8 +56,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -65,15 +63,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: api/torrents/filter
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -85,13 +85,10 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
|
||||
@@ -188,4 +188,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.37 2023-05-08
|
||||
# NexusPHP v1.8.4 2023-06-04
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
---
|
||||
id: hdtorrentsit
|
||||
name: HDTorrents.it
|
||||
description: "HDTorrents.it is an ITALIAN Private site for TV / MOVIES"
|
||||
language: it-IT
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdtorrents.xyz/ # Italian IP address filtering
|
||||
legacylinks:
|
||||
- http://hdtorrents.it/
|
||||
- http://hdtorrents.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2040, cat: Movies/HD}
|
||||
- {id: 5040, cat: TV/HD}
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: ip_filtering
|
||||
type: info
|
||||
label: "IP Filtering"
|
||||
default: "The <b>404 Not Found</b> error means your IP was not accepted. Check the <a href=\"https://check-host.net/check-report/e5b649bkfa\" target=\"_blank\">Locations report</a>, only those with a Status of <b>OK</b> will be accepted."
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.error
|
||||
- selector: h1:contains("404 Not Found")
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
method: post
|
||||
allowEmptyInputs: true
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%"]
|
||||
- name: diacritics
|
||||
args: replace
|
||||
- name: re_replace # remove SXXEYY from research
|
||||
args: ["(?i)(S\\d{1,2}E\\d{1,2})", ""]
|
||||
- name: re_replace # remove SXX from research
|
||||
args: ["(?i)(S\\d{1,2})", ""]
|
||||
inputs:
|
||||
ajax: false
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active 1 incldead 2 onlydead 3 gold 4 no seeders
|
||||
incldead: 0
|
||||
|
||||
rows:
|
||||
selector: tbody#highlighted tr
|
||||
|
||||
fields:
|
||||
year:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
filters:
|
||||
- name: regexp # find torrent year
|
||||
args: (\d{4})
|
||||
_quality: # (BDRip 1080, BDRip 720p etc)
|
||||
selector: td:nth-child(1) a:nth-child(1) img
|
||||
attribute: alt
|
||||
_audio: # ita audio TAG
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: name
|
||||
- name: regexp
|
||||
args: (DTS AC3 ITA|DTS ITA|AC3 ITA)
|
||||
- name: re_replace
|
||||
args: ["ITA", ""]
|
||||
title:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
filters:
|
||||
- name: re_replace # separate title
|
||||
args: ["(\\s+\\/\\s+|\\/\\s+|\\s+\\/|\\/)(.*)\\s\\(", " ("]
|
||||
- name: re_replace # remove (yyyy) from the title
|
||||
args: ["(\\(\\d{4}\\)?\\s?)", ""]
|
||||
- name: re_replace # remove |
|
||||
args: ["(\\s\\||\\s\\/)", ""]
|
||||
- name: re_replace # Stagione X --> S0X
|
||||
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
|
||||
- name: re_replace # Stagione XX --> SXX
|
||||
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
|
||||
- name: re_replace # / Episodio [YY-YY --> EYY-YY
|
||||
args: ["(?i)(\\s\\/?\\s?Episodi[o]?)\\s\\[", "E"]
|
||||
- name: re_replace # Episodio 4 to E4
|
||||
args: ["(?i)\\b(?:[\\s\\/\\|]?Episodi[o]?\\s?(\\d+)|Puntata\\s?(\\d+))", "E$1$2"]
|
||||
- name: re_replace # / Completa [episodi YY-YY --> EYY-YY
|
||||
args: ["(?i)(\\s\\/\\sCompleta\\s\\[episodi\\s)", "E"]
|
||||
- name: re_replace # remove di YY] | remove /YY]
|
||||
args: ["(?i)(\\sdi\\s\\d{1,2}|\\/\\d{1,2})\\]", " "]
|
||||
- name: re_replace # remove various
|
||||
args: ["(?i)(Serie completa|Completa|\\[in pausa\\])", ""]
|
||||
- name: append
|
||||
args: " ({{ .Result.year }}) [{{ .Result._quality }} - {{ .Result._audio }} ITA]"
|
||||
- name: re_replace # replace multiple spaces
|
||||
args: ["[ ]{2,}", " "]
|
||||
details:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
attribute: href
|
||||
poster:
|
||||
selector: td:nth-child(2)[onmousemove]
|
||||
attribute: onmousemove
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ".*\\(.*,.*,.*,'(.*?)'\\)"
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
default: 1
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$1"]
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
default: 1
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$2"]
|
||||
date:
|
||||
selector: td:nth-child(2) i
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
category:
|
||||
case:
|
||||
"a[href^=\"details.php\"]:contains(\"Stagione\")": 5040 # TV/HD
|
||||
"*": 2040 # default to Movies/HD
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine tbd
|
||||
@@ -169,4 +169,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.34 2023-01-16
|
||||
# NexusPHP v1.7.39 2023-05-15
|
||||
|
||||
@@ -21,9 +21,9 @@ caps:
|
||||
- {id: 409, cat: Other, desc: "Misc/其他", default: true}
|
||||
- {id: 408, cat: Audio, desc: "Music/音乐", default: true}
|
||||
# special
|
||||
- {id: 410, cat: Movies, desc: "Video/视频资料", default: true}
|
||||
- {id: 411, cat: Audio, desc: "Audio/音频资料", default: true}
|
||||
- {id: 412, cat: Other, desc: "Other/其他资料", default: true}
|
||||
- {id: 410, cat: Movies, desc: "Video/视频资料", default: false}
|
||||
- {id: 411, cat: Audio, desc: "Audio/音频资料", default: false}
|
||||
- {id: 412, cat: Other, desc: "Other/其他资料", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -96,7 +96,7 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 409]
|
||||
categories: ["!", 410, 411, 412]
|
||||
- path: special.php
|
||||
categories: [410, 411, 412]
|
||||
inputs:
|
||||
|
||||
@@ -10,39 +10,78 @@ links:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 15, cat: Movies/HD, desc: "HD 720p"}
|
||||
- {id: 16, cat: Movies/HD, desc: "HD 1080p"}
|
||||
- {id: 17, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 18, cat: TV/Documentary, desc: "Dokumentarci"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "DVD/R5"}
|
||||
- {id: 20, cat: Movies/WEB-DL, desc: "WEB/Rip"}
|
||||
- {id: 21, cat: Movies/WEB-DL, desc: "WEB/Download"}
|
||||
- {id: 14, cat: Movies/SD, desc: "XviD"}
|
||||
- {id: 32, cat: XXX, desc: "XXX"}
|
||||
- {id: 50, cat: Movies/BluRay, desc: "BluRay 1080p"}
|
||||
- {id: 49, cat: Movies/UHD, desc: "HD 2160p"}
|
||||
# Filmi
|
||||
- {id: 14, cat: Movies/SD, desc: "Filmi XviD"}
|
||||
- {id: 15, cat: Movies/HD, desc: "Filmi HD 720p"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Filmi HD 1080p"}
|
||||
- {id: 20, cat: Movies/WEB-DL, desc: "Filmi WEB/Rip"}
|
||||
- {id: 21, cat: Movies/WEB-DL, desc: "Filmi WEB-DL 720p"}
|
||||
- {id: 49, cat: Movies/UHD, desc: "Filmi HD 2160p"}
|
||||
- {id: 50, cat: Movies/HD, desc: "Filmi BluRay 1080p"}
|
||||
- {id: 51, cat: Movies/HD, desc: "Filmi 720p H265"}
|
||||
- {id: 52, cat: Movies/HD, desc: "Filmi 1080p H265"}
|
||||
- {id: 55, cat: Movies/WEB-DL, desc: "Filmi WEB-DL 1080p"}
|
||||
- {id: 71, cat: Movies/WEB-DL, desc: "Filmi WEB-DL 2160p"}
|
||||
- {id: 72, cat: Movies/HD, desc: "Filmi BluRay 720p"}
|
||||
- {id: 73, cat: Movies/HD, desc: "Filmi BluRay Remux"}
|
||||
- {id: 74, cat: Movies/UHD, desc: "Filmi UHD Remux"}
|
||||
- {id: 77, cat: Movies/HD, desc: "Filmi DrSi"}
|
||||
# TV
|
||||
- {id: 23, cat: TV, desc: "TV"}
|
||||
- {id: 24, cat: TV/HD, desc: "HD TV"}
|
||||
- {id: 26, cat: TV/Anime, desc: "Animirano"}
|
||||
- {id: 28, cat: PC/Games, desc: "PC"}
|
||||
- {id: 29, cat: PC/ISO, desc: "PC ISO"}
|
||||
- {id: 30, cat: Console/Other, desc: "GBA"}
|
||||
- {id: 31, cat: Console/PS3, desc: "PS2"}
|
||||
- {id: 33, cat: Audio, desc: "Glasba"}
|
||||
- {id: 34, cat: Console/PS3, desc: "PS3"}
|
||||
- {id: 35, cat: Console/XBox, desc: "Xbox"}
|
||||
- {id: 36, cat: Console/PSP, desc: "PSP"}
|
||||
- {id: 24, cat: TV/HD, desc: "TV HDTV 720p"}
|
||||
- {id: 75, cat: TV/HD, desc: "TV HDTV 1080p"}
|
||||
- {id: 76, cat: TV/WEB-DL, desc: "TV WEB/Rip"}
|
||||
- {id: 78, cat: TV/WEB-DL, desc: "TV WEB-DL 720p"}
|
||||
- {id: 79, cat: TV/WEB-DL, desc: "TV WEB-DL 1080p"}
|
||||
- {id: 80, cat: TV/WEB-DL, desc: "TV WEB-DL 2160p"}
|
||||
- {id: 81, cat: TV/HD, desc: "TV BluRay 720p"}
|
||||
- {id: 82, cat: TV/HD, desc: "TV BluRay 1080p"}
|
||||
# Risanke
|
||||
- {id: 26, cat: Movies/Other, desc: "Animirano"}
|
||||
- {id: 56, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 93, cat: Movies/Other, desc: "SLOSiNH"}
|
||||
# Igre
|
||||
- {id: 29, cat: PC/Games, desc: "Igre PC ISO"}
|
||||
- {id: 30, cat: Console/Wii, desc: "Igre Nintendo"}
|
||||
- {id: 31, cat: Console/PS3, desc: "Igre Playstation"}
|
||||
- {id: 34, cat: Console/XBox One, desc: "Igre Xbox"}
|
||||
- {id: 83, cat: PC/Games, desc: "Igre Repack"}
|
||||
# Glasba
|
||||
- {id: 42, cat: Audio/Video, desc: "Music DVD"}
|
||||
- {id: 43, cat: Audio/Video, desc: "Glasba Videospoti"}
|
||||
- {id: 53, cat: Audio/MP3, desc: "Glasba MP3"}
|
||||
- {id: 54, cat: Audio/Lossless, desc: "Glasba FLAC"}
|
||||
- {id: 62, cat: Audio/Video, desc: "Koncerti"}
|
||||
# Sport
|
||||
- {id: 37, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: 38, cat: PC, desc: "Programi"}
|
||||
# XXX
|
||||
- {id: 60, cat: XXX/Other, desc: "XXX Revije"}
|
||||
- {id: 61, cat: XXX/Pack, desc: "XXX Packs"}
|
||||
- {id: 66, cat: XXX/SD, desc: "XXX 480p"}
|
||||
- {id: 67, cat: XXX/x264, desc: "XXX 720p"}
|
||||
- {id: 68, cat: XXX/x264, desc: "XXX 1080p"}
|
||||
- {id: 69, cat: XXX/UHD, desc: "XXX 2160p"}
|
||||
- {id: 84, cat: XXX/ImageSet, desc: "XXX Slike"}
|
||||
# Disc
|
||||
- {id: 85, cat: Movies/DVD, desc: "DVD 5"}
|
||||
- {id: 86, cat: Movies/DVD, desc: "DVD 9"}
|
||||
- {id: 87, cat: Movies/BluRay, desc: "BD 25"}
|
||||
- {id: 88, cat: Movies/BluRay, desc: "BD 50"}
|
||||
- {id: 89, cat: Movies/BluRay, desc: "UHD 50"}
|
||||
- {id: 90, cat: Movies/BluRay, desc: "UHD 66"}
|
||||
- {id: 91, cat: Movies/BluRay, desc: "UHD 100"}
|
||||
# Razno
|
||||
- {id: 38, cat: PC/0day, desc: "Programi"}
|
||||
- {id: 39, cat: Books/EBook, desc: "eKnjige"}
|
||||
- {id: 40, cat: Other, desc: "Slike"}
|
||||
- {id: 41, cat: Audio/Audiobook, desc: "AudioBook"}
|
||||
- {id: 42, cat: Audio/Video, desc: "Music DVD"}
|
||||
- {id: 43, cat: TV/Other, desc: "Videospoti"}
|
||||
- {id: 44, cat: PC/Mobile-Android, desc: "Android"}
|
||||
- {id: 45, cat: PC/Mobile-iOS, desc: "iOS"}
|
||||
- {id: 46, cat: PC/Mac, desc: "Mac"}
|
||||
- {id: 47, cat: PC, desc: "Linux"}
|
||||
- {id: 47, cat: PC/ISO, desc: "Linux"}
|
||||
# Dokumentarni
|
||||
- {id: 95, cat: TV/Documentary, desc: "Dokumentarni Film"}
|
||||
- {id: 96, cat: TV/Documentary, desc: "Dokumentarna Serija"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -59,8 +59,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -68,15 +66,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -88,7 +88,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -99,8 +98,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -61,8 +61,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -70,15 +68,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -90,7 +90,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -99,8 +98,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
categorydesc:
|
||||
|
||||
@@ -179,4 +179,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.26 2022-09-15
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id: korsar
|
||||
name: Korsar
|
||||
description: "Korsar is a RUSSIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ru-ru
|
||||
language: ru-RU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
|
||||
@@ -136,6 +136,8 @@ search:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
optional: true
|
||||
default: 95
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
|
||||
199
src/Jackett.Common/Definitions/kufei.yml
Normal file
199
src/Jackett.Common/Definitions/kufei.yml
Normal file
@@ -0,0 +1,199 @@
|
||||
---
|
||||
id: kufei
|
||||
name: Kufei
|
||||
description: "Kufei (库非) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://kufei.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 410, cat: Console, desc: "Games/游戏"}
|
||||
- {id: 411, cat: Books, desc: "E-Books/电子书"}
|
||||
- {id: 408, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 412, cat: PC, desc: "Software/软件"}
|
||||
- {id: 415, cat: TV, desc: "Drama/戏剧"}
|
||||
- {id: 416, cat: Audio/Audiobook, desc: "Audio Books/有声读物"}
|
||||
- {id: 409, cat: Other, desc: "Others/其他"}
|
||||
- {id: 413, cat: Other, desc: "Education/教育"}
|
||||
- {id: 414, cat: Audio/Video, desc: "Concert/演唱会"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐、视频"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动画、动漫"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Kufei Web Site. Otherwise just leave it empty."
|
||||
- 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: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{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
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-13
|
||||
@@ -121,7 +121,7 @@ search:
|
||||
# https://www.last-torrents.org/externalid?searchex=tt5834760&search_by=imdbid
|
||||
# cannot support imdbid or tmdbid searches while using path category filters
|
||||
- path: browse.php
|
||||
categories: [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 42, 43, 44, 49, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 81, 82]
|
||||
categories: ["!", 27, 60]
|
||||
- path: browseadult.php
|
||||
categories: [27, 60]
|
||||
|
||||
|
||||
@@ -65,8 +65,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -74,15 +72,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -94,7 +94,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -103,8 +102,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -6,8 +6,9 @@ language: fr-FR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://lesaloonv2-0.net/
|
||||
- https://lesaloonv2-0.xyz/
|
||||
legacylinks:
|
||||
- https://lesaloonv2-0.net/
|
||||
- http://lesaloonv2-0.net/ # site forces https
|
||||
|
||||
caps:
|
||||
@@ -121,7 +122,7 @@ settings:
|
||||
default: false
|
||||
|
||||
login:
|
||||
# https://lesaloonv2-0.net/yupy_login.php
|
||||
# https://lesaloonv2-0.xyz/yupy_login.php
|
||||
path: yupy_login.php
|
||||
method: form
|
||||
form: form[action^="login"]
|
||||
@@ -137,7 +138,7 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://lesaloonv2-0.net/index.php?page=torrents&search=supernatural+s13e20&parentcategory=0&category=0&genre=0&options=0&active=0
|
||||
# http://lesaloonv2-0.xyz/index.php?page=torrents&search=supernatural+s13e20&parentcategory=0&category=0&genre=0&options=0&active=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
|
||||
167
src/Jackett.Common/Definitions/lesbians4u.yml
Normal file
167
src/Jackett.Common/Definitions/lesbians4u.yml
Normal file
@@ -0,0 +1,167 @@
|
||||
---
|
||||
id: lesbians4u
|
||||
name: Lesbians4u
|
||||
description: "Lesbians4u is a Private Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://lesbians4u.org/ # does not support https, CA invalid
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 7, cat: XXX, desc: "Amateur"}
|
||||
- {id: 12, cat: XXX, desc: "Anime &Hentai &JAV"}
|
||||
- {id: 17, cat: XXX, desc: "Appz"}
|
||||
- {id: 3, cat: XXX, desc: "Classics"}
|
||||
- {id: 6, cat: XXX, desc: "Clips &Siterips"}
|
||||
- {id: 16, cat: XXX, desc: "DVD"}
|
||||
- {id: 15, cat: XXX, desc: "EX-V.I.P. Torrents"}
|
||||
- {id: 9, cat: XXX, desc: "Fetish"}
|
||||
- {id: 8, cat: XXX, desc: "Games"}
|
||||
- {id: 11, cat: XXX, desc: "Misc."}
|
||||
- {id: 10, cat: XXX, desc: "Movie"}
|
||||
- {id: 5, cat: XXX, desc: "Solo"}
|
||||
- {id: 14, cat: XXX, desc: "V.I.P."}
|
||||
- {id: 13, cat: XXX, desc: "Watersport"}
|
||||
|
||||
modes:
|
||||
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
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
error:
|
||||
- selector: table:has(a[href*="login.php?error=1"])
|
||||
message:
|
||||
text: "ERROR: Incorrect username!"
|
||||
- selector: table:has(a[href*="login.php?error=4"])
|
||||
message:
|
||||
text: "ERROR: Incorrect password!"
|
||||
- selector: table:has(a[href*="login.php?error="])
|
||||
message:
|
||||
text: "ERROR: Something went wrong during login!"
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href*="/logout.php?logouthash="]
|
||||
|
||||
download:
|
||||
before:
|
||||
path: takethanks.php
|
||||
method: post
|
||||
inputs:
|
||||
torrentid: "{{ re_replace .DownloadUri.PathAndQuery \".*torrent-details-(\\d+).*\" \"$1\"}}"
|
||||
selectors:
|
||||
- selector: a[href*="download-torrent-"]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
|
||||
keywordsfilters:
|
||||
# prefix and postfix percent wildcard as well as replacing spaces between words
|
||||
- name: re_replace
|
||||
args: ["\\W+", "%"]
|
||||
- name: re_replace
|
||||
args: ["^(.+)$", "%$1%"]
|
||||
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ .Keywords }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: t_name
|
||||
# does not support multi category searching so defaulting to all.
|
||||
category: 0
|
||||
include_dead_torrents: yes
|
||||
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
|
||||
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: "table.sortable tr:has(a[href*=\"/download-torrent-\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="torrent-category-"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: torrent-category-(\d+)
|
||||
title_default:
|
||||
# is often abbreviated
|
||||
selector: a[href*="torrent-details-"]
|
||||
title:
|
||||
# usually longer than details title
|
||||
selector: div[id^="port-content-"] div
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href*="torrent-details-"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="torrent-details-"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[id^="port-content-"] img
|
||||
attribute: src
|
||||
date:
|
||||
selector: td:nth-child(2) > div:last-child
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d{2}-\d{2}-\d{4} \d{2}:\d{2})
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm zzz"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/freedownload.gif"]: 0
|
||||
img[src$="/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="/x2.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# TS Special Edition v.7.3
|
||||
@@ -1,172 +0,0 @@
|
||||
---
|
||||
id: lightning-tor
|
||||
name: Lightning-Tor
|
||||
description: "Lightning-Tor is a DUTCH Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: nl-NL
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://lightning-tor.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# the search pull down cats disagrees with the prior category count links, so merged the two lists, with count overriding pull
|
||||
- {id: 2, cat: Movies/DVD, desc: "DVD Retail"}
|
||||
- {id: 17, cat: Movies/Other, desc: "DVD Promo/R5"}
|
||||
- {id: 3, cat: Audio/Video, desc: "DVD Muziek"}
|
||||
- {id: 4, cat: Movies/SD, desc: " DVD Cam"}
|
||||
- {id: 18, cat: Movies/Other, desc: "DVD Kinderen"}
|
||||
- {id: 6, cat: TV, desc: "Tv Serie"}
|
||||
- {id: 19, cat: XXX/DVD, desc: "DVD XXX"}
|
||||
- {id: 20, cat: TV/Documentary, desc: "Docomentaire"}
|
||||
- {id: 45, cat: Audio/Video, desc: "Cabaret Div."}
|
||||
- {id: 9, cat: PC/Games, desc: "Spelletjes Pc"}
|
||||
- {id: 10, cat: Console/NDS, desc: "Ps2/NDS"}
|
||||
- {id: 11, cat: Console/XBox, desc: "XBoX"}
|
||||
- {id: 22, cat: Console/Wii, desc: "Wii"}
|
||||
- {id: 8, cat: Audio, desc: "Muziek Album"}
|
||||
- {id: 23, cat: Audio/Other, desc: "Muziek Diversen"}
|
||||
- {id: 1, cat: Other, desc: "Kinderen Diversen"}
|
||||
- {id: 13, cat: Other, desc: "Afbeeldingen"}
|
||||
- {id: 14, cat: PC/Mobile-Other, desc: "GSM/Navigatie"}
|
||||
- {id: 7, cat: PC, desc: "Software PC"}
|
||||
- {id: 12, cat: PC/0day, desc: "Microsoft"}
|
||||
- {id: 21, cat: PC/Mobile-Other, desc: "Software PDA"}
|
||||
- {id: 5, cat: Movies/SD, desc: "Xvid Film"}
|
||||
- {id: 15, cat: XXX/SD, desc: "Xvid XXX"}
|
||||
- {id: 24, cat: Other, desc: "Xvid Diversen"}
|
||||
- {id: 16, cat: Other/Misc, desc: "Overigen"}
|
||||
- {id: 50, cat: Books, desc: "E-books"}
|
||||
- {id: 48, cat: Movies/HD, desc: "movies 264"}
|
||||
|
||||
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: thankyou
|
||||
type: text
|
||||
label: Thank You Comment
|
||||
- name: info
|
||||
type: info
|
||||
label: Thank you comment
|
||||
default: This site requires you to leave a Thank You comment before you can download. Enter your personalised comment above.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table.main:contains("Aanmelden mislukt")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
download:
|
||||
before:
|
||||
# https://lightning-tor.org/comment.php?action=add&tid=166386
|
||||
path: comment.php
|
||||
method: post
|
||||
inputs:
|
||||
action: add
|
||||
tid: "{{ .DownloadUri.Query.id }}"
|
||||
text: "{{ .Config.thankyou }}"
|
||||
selectors:
|
||||
- selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
incldead: 1
|
||||
# does not support imdbid search and does not return imdb link in results
|
||||
keywordsfilters:
|
||||
- name: re_replace # S01E02 to 1 2
|
||||
args: ["(?i)\\bS0*(\\d{1,2})\\s*E0*(\\d{1,2})\\b", "$1 $2"]
|
||||
- name: re_replace # S01 to 1
|
||||
args: ["(?i)\\bS0*(\\d{1,2})\\b", "$1"]
|
||||
|
||||
rows:
|
||||
selector: table.embedded[width="99%"][border="1"][cellspacing="0"][cellpadding="0"]
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(seizoen\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "S$2-$4"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "E$2-$4"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})", "E$2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)compleet", "Complete"]
|
||||
details:
|
||||
# using the download link because the details link has an error
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["download", "details"]
|
||||
download:
|
||||
# need to say thanks first
|
||||
text: "{{ .Result.details }}"
|
||||
size:
|
||||
selector: a[href^="details_bestanden.php?torrent_id="]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(.+?) in"
|
||||
files:
|
||||
selector: a[href^="details_bestanden.php?torrent_id="]
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "in (\\d+) bestan"
|
||||
grabs:
|
||||
selector: table table tr:nth-child(2) td:nth-child(1)
|
||||
date:
|
||||
selector: table tr:nth-child(3) td:nth-child(7)
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
- name: append
|
||||
args: " hours ago"
|
||||
- name: timeago
|
||||
seeders:
|
||||
selector: table tr:nth-child(3) td:nth-child(5) font b
|
||||
optional: true
|
||||
default: 0
|
||||
leechers:
|
||||
selector: table tr:nth-child(3) td:nth-child(5) font b:nth-child(2)
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# engine n/a
|
||||
@@ -9,7 +9,7 @@ followredirect: true
|
||||
# changes to this indexer should also be made to limetorrentsclone
|
||||
links:
|
||||
- https://www.limetorrents.lol/
|
||||
- https://limetorrents.unblockit.asia/
|
||||
- https://limetorrents.unblockit.mov/
|
||||
- https://limetorrents.unblockninja.com/
|
||||
- https://limetorrents.mrunblock.life/
|
||||
- https://limetorrents.nocensor.click/
|
||||
@@ -38,6 +38,7 @@ legacylinks:
|
||||
- https://limetorrents.unblockit.boo/
|
||||
- https://limetorrents.mrunblock.guru/
|
||||
- https://limetorrents.unblockit.click/
|
||||
- https://limetorrents.unblockit.asia/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -127,7 +128,7 @@ search:
|
||||
default: "{{ if .Result.category_is_tv_show }}TV shows{{ else }}Other{{ end }}"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: " in (.+?)$"
|
||||
args: " in (.+?)[.]?$"
|
||||
details:
|
||||
selector: div.tt-name > a[href^="/"]
|
||||
attribute: href
|
||||
|
||||
@@ -98,7 +98,7 @@ search:
|
||||
default: "{{ if .Result.category_is_tv_show }}TV shows{{ else }}Other{{ end }}"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: " in (.+?)$"
|
||||
args: " in (.+?)[.]?$"
|
||||
details:
|
||||
selector: div.tt-name > a[href^="/"]
|
||||
attribute: href
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: locadora
|
||||
name: Locadora
|
||||
description: "Locadora is a Brazilian tracker for Movies and TV Shows"
|
||||
description: "Locadora is a BRAZILIAN Private Tracker for MOVIES and TV"
|
||||
language: pt-BR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -12,15 +12,16 @@ legacylinks:
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies}
|
||||
- {id: 2, cat: TV}
|
||||
- {id: 6, cat: TV/Anime}
|
||||
- {id: 7, cat: Movies, desc: "Concerts"}
|
||||
- {id: 1, cat: Movies, desc: "Filmes"}
|
||||
- {id: 2, cat: TV, desc: "Series"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Animes"}
|
||||
- {id: 7, cat: Audio/Video, desc: "Shows"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: apikey
|
||||
@@ -54,8 +55,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -63,15 +62,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -83,7 +84,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -92,8 +92,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -59,8 +59,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -68,15 +66,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -88,7 +88,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -97,8 +96,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -82,11 +82,11 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: letoltes.php
|
||||
categories: [4, 5, 48, 50, 75, 76, 26, 25, 58, 59, 42, 51, 38, 24, 85, 87, 47, 36, 6, 7, 56, 33, 44, 28, 32, 30, 53, 74, 40, 41, 34, 35, 46]
|
||||
categories: ["!", 70, 39, 57]
|
||||
inputs:
|
||||
tipus: 1
|
||||
- path: letoltes.php
|
||||
categories: [4, 5, 48, 50, 75, 76, 26, 25, 58, 59, 42, 51, 38, 24, 85, 87, 47, 36, 6, 7, 56, 33, 44, 28, 32, 30, 53, 74, 40, 41, 34, 35, 46]
|
||||
categories: ["!", 70, 39, 57]
|
||||
inputs:
|
||||
tipus: 2
|
||||
- path: xxx.php
|
||||
|
||||
@@ -146,6 +146,7 @@ caps:
|
||||
- {id: 293, cat: Books, desc: "Shipmodeling-Radio controlled models"}
|
||||
- {id: 292, cat: Books, desc: "Shipmodeling-Marine Modelling Magazines"}
|
||||
- {id: 291, cat: Books, desc: "Shipmodeling-Drawings and models of ships (CAD, 3D)"}
|
||||
- {id: 346, cat: Books, desc: "Shipmodeling-Raster drawings (JPG, PDF, TIFF)"}
|
||||
- {id: 290, cat: Books, desc: "Shipmodeling-Reference Material"}
|
||||
- {id: 289, cat: Books, desc: "Shipmodeling-Ships in Bottles"}
|
||||
- {id: 197, cat: Books, desc: "Marine bulletins"}
|
||||
|
||||
@@ -16,6 +16,8 @@ caps:
|
||||
- {id: 1, cat: PC, desc: "Applications"}
|
||||
- {id: 2, cat: Books, desc: "Books Ebooks & mags"}
|
||||
- {id: 59, cat: Movies/SD, desc: "Cams"}
|
||||
- {id: 52, cat: Audio, desc: "DJ"}
|
||||
- {id: 53, cat: Audio, desc: "DJ PACKS"}
|
||||
- {id: 46, cat: Books, desc: "Documents"}
|
||||
- {id: 47, cat: Audio/Lossless, desc: "Flac/HD Audio"}
|
||||
- {id: 61, cat: Console, desc: "Games"}
|
||||
|
||||
@@ -58,8 +58,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -67,15 +65,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -87,7 +87,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -96,8 +95,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
179
src/Jackett.Common/Definitions/movieworld.yml
Normal file
179
src/Jackett.Common/Definitions/movieworld.yml
Normal file
@@ -0,0 +1,179 @@
|
||||
---
|
||||
id: movieworld
|
||||
name: MovieWorld
|
||||
description: "MovieWorld (Flicker) is a Semi-Private Torrent Tracker for MOVIES / TV / 3X"
|
||||
language: en-US
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://movieworld.pics/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies/SD, desc: "Movie/Xvid"}
|
||||
- {id: 14, cat: Movies/WEB-DL, desc: "Movie/WeBRip"}
|
||||
- {id: 2, cat: Movies/3D, desc: "Movie/3D"}
|
||||
- {id: 3, cat: Movies/SD, desc: "Movie/480p"}
|
||||
- {id: 5, cat: Movies/UHD, desc: "Movie/4k"}
|
||||
- {id: 6, cat: Movies/BluRay, desc: "Movie/BD-R"}
|
||||
- {id: 4, cat: Movies/BluRay, desc: "Movie/BD-Rip"}
|
||||
- {id: 7, cat: Movies/BluRay, desc: "Movie/HD/Bluray"}
|
||||
- {id: 8, cat: Movies, desc: "Movie/Kids"}
|
||||
- {id: 9, cat: Movies/HD, desc: "Movie/MP4"}
|
||||
- {id: 12, cat: Movies/Foreign, desc: "Movie/Non-English"}
|
||||
- {id: 15, cat: Movies, desc: "Movie/Packs"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Movie/x265"}
|
||||
- {id: 17, cat: XXX, desc: "Movie/XXX/Packs"}
|
||||
- {id: 18, cat: Movies, desc: "Movie/Freeleech"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "Movie/DVD-R"}
|
||||
- {id: 20, cat: Movies/SD, desc: "Movie/Cam"}
|
||||
- {id: 21, cat: XXX, desc: "Movie/XXX"}
|
||||
- {id: 23, cat: Movies/DVD, desc: "Movie/DvdRip"}
|
||||
- {id: 25, cat: Audio/Video, desc: "Music/Misc"}
|
||||
- {id: 28, cat: TV, desc: "Tv Packs"}
|
||||
- {id: 31, cat: TV, desc: "Tv Mini Packs"}
|
||||
- {id: 29, cat: TV/SD, desc: "Tv Episodes SD"}
|
||||
- {id: 30, cat: TV/HD, desc: "Tv Episodes HD"}
|
||||
- {id: 26, cat: TV/Sport, desc: "Tv Sport SD/HD"}
|
||||
|
||||
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: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 3
|
||||
options:
|
||||
3: created
|
||||
5: seeders
|
||||
4: size
|
||||
2: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: 2
|
||||
options:
|
||||
2: desc
|
||||
1: asc
|
||||
- name: info
|
||||
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: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://movieworld.pics/index.php?page=torrents&search=&category=0&active=0
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ .Keywords }}"
|
||||
category: "{{ range .Categories }}{{.}};{{end}}"
|
||||
# 0 filename, 1 file&descr, 2 descr, 3 uploaders, 18 genre, 4 imdb, 8-17 upload multiplier 1x-10x
|
||||
options: 0
|
||||
# 0 all, 1 active only, 2 dead only
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
# does not support imdbid search and does not return imdb link in results, does not support Genre search or return them in results.
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: "table.lista > tbody > tr:has(a[href^=\"download.php?id=\"]):not(:has(a[href^=\"index.php?page=userdetails\"])){{ if .Config.freeleech }}:has(img[src=\"images/freeleech.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
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: a[href^="index.php?page=torrent-details&id="]
|
||||
title:
|
||||
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
|
||||
poster:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
- name: replace
|
||||
args: ["torrentimg/nocover.jpg", ""]
|
||||
details:
|
||||
selector: a[href^="index.php?page=torrent-details&id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td ~ td
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "dd/MM/yyyy"
|
||||
seeders:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td
|
||||
leechers:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td ~ td
|
||||
grabs:
|
||||
selector: td:has(a[href^="download.php?id="]) ~ td ~ td ~ td ~ td ~ td
|
||||
size:
|
||||
selector: "td:has(a[href^=\"download.php?id=\"]) ~ td ~ td ~ td ~ td ~ td ~ td"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/freeleech.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="images/2x.gif"]: 2
|
||||
img[src="images/3x.gif"]: 3
|
||||
img[src="images/4x.gif"]: 4
|
||||
img[src="images/5x.gif"]: 5
|
||||
img[src="images/6x.gif"]: 6
|
||||
img[src="images/7x.gif"]: 7
|
||||
img[src="images/8x.gif"]: 8
|
||||
img[src="images/9x.gif"]: 9
|
||||
img[src="images/10x.gif"]: 10
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# xbtitFM v4.1.26
|
||||
@@ -5,7 +5,7 @@ description: "M-Team TP (MTTP) is a CHINESE Private Torrent Tracker for HD MOVIE
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 3
|
||||
requestDelay: 4
|
||||
links:
|
||||
- https://kp.m-team.cc/
|
||||
legacylinks:
|
||||
|
||||
@@ -5,7 +5,7 @@ description: "This indexer uses a cookie login for M-Team TP (MTTP) for those th
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 3
|
||||
requestDelay: 4
|
||||
links:
|
||||
- https://kp.m-team.cc/
|
||||
legacylinks:
|
||||
|
||||
200
src/Jackett.Common/Definitions/musebootlegs.yml
Normal file
200
src/Jackett.Common/Definitions/musebootlegs.yml
Normal file
@@ -0,0 +1,200 @@
|
||||
---
|
||||
id: musebootlegs
|
||||
name: MuseBootlegs
|
||||
description: "MuseBootlegs (MB) is a Semi-Private Torrent Tracker for MUSE MUSIC / BOOTLEGS"
|
||||
language: en-US
|
||||
type: semi-private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.musebootlegs.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 4, cat: Audio/Lossless, desc: "Audio Lossless"}
|
||||
- {id: 13, cat: Audio/Lossless, desc: "Audio Lossless 1999"}
|
||||
- {id: 14, cat: Audio/Lossless, desc: "Audio Lossless 2000"}
|
||||
- {id: 15, cat: Audio/Lossless, desc: "Audio Lossless 2001"}
|
||||
- {id: 16, cat: Audio/Lossless, desc: "Audio Lossless 2002"}
|
||||
- {id: 17, cat: Audio/Lossless, desc: "Audio Lossless 2003"}
|
||||
- {id: 18, cat: Audio/Lossless, desc: "Audio Lossless 2004"}
|
||||
- {id: 19, cat: Audio/Lossless, desc: "Audio Lossless 2005"}
|
||||
- {id: 20, cat: Audio/Lossless, desc: "Audio Lossless 2006"}
|
||||
- {id: 21, cat: Audio/Lossless, desc: "Audio Lossless 2007"}
|
||||
- {id: 22, cat: Audio/Lossless, desc: "Audio Lossless 2008"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Audio Lossless 2009"}
|
||||
- {id: 24, cat: Audio/Lossless, desc: "Audio Lossless 2010"}
|
||||
- {id: 25, cat: Audio/Lossless, desc: "Audio Lossless 2011"}
|
||||
- {id: 26, cat: Audio/Lossless, desc: "Audio Lossless 2012"}
|
||||
- {id: 27, cat: Audio/Lossless, desc: "Audio Lossless 2013"}
|
||||
- {id: 46, cat: Audio/Lossless, desc: "Audio Lossless 2014"}
|
||||
- {id: 47, cat: Audio/Lossless, desc: "Audio Lossless 2015"}
|
||||
- {id: 53, cat: Audio/Lossless, desc: "Audio Lossless 2016"}
|
||||
- {id: 55, cat: Audio/Lossless, desc: "Audio Lossless 2017"}
|
||||
- {id: 57, cat: Audio/Lossless, desc: "Audio Lossless 2018"}
|
||||
- {id: 58, cat: Audio/Lossless, desc: "Audio Lossless 2019"}
|
||||
- {id: 61, cat: Audio/Lossless, desc: "Audio Lossless 2022"}
|
||||
- {id: 63, cat: Audio/Lossless, desc: "Audio Lossless 2023"}
|
||||
- {id: 28, cat: Audio/Lossless, desc: "Audio Lossless Misc"}
|
||||
- {id: 8, cat: Audio/Video, desc: "DVD Amateur"}
|
||||
- {id: 3, cat: Audio/Video, desc: "DVD Pro-Shot"}
|
||||
- {id: 29, cat: Audio/Video, desc: "DVD Pro-Shot 1999"}
|
||||
- {id: 30, cat: Audio/Video, desc: "DVD Pro-Shot 2000"}
|
||||
- {id: 31, cat: Audio/Video, desc: "DVD Pro-Shot 2001"}
|
||||
- {id: 32, cat: Audio/Video, desc: "DVD Pro-Shot 2002"}
|
||||
- {id: 33, cat: Audio/Video, desc: "DVD Pro-Shot 2003"}
|
||||
- {id: 34, cat: Audio/Video, desc: "DVD Pro-Shot 2004"}
|
||||
- {id: 35, cat: Audio/Video, desc: "DVD Pro-Shot 2005"}
|
||||
- {id: 36, cat: Audio/Video, desc: "DVD Pro-Shot 2006"}
|
||||
- {id: 37, cat: Audio/Video, desc: "DVD Pro-Shot 2007"}
|
||||
- {id: 38, cat: Audio/Video, desc: "DVD Pro-Shot 2008"}
|
||||
- {id: 39, cat: Audio/Video, desc: "DVD Pro-Shot 2009"}
|
||||
- {id: 40, cat: Audio/Video, desc: "DVD Pro-Shot 2010"}
|
||||
- {id: 41, cat: Audio/Video, desc: "DVD Pro-Shot 2011"}
|
||||
- {id: 42, cat: Audio/Video, desc: "DVD Pro-Shot 2012"}
|
||||
- {id: 43, cat: Audio/Video, desc: "DVD Pro-Shot 2013"}
|
||||
- {id: 48, cat: Audio/Video, desc: "DVD Pro-Shot 2014"}
|
||||
- {id: 49, cat: Audio/Video, desc: "DVD Pro-Shot 2015"}
|
||||
- {id: 54, cat: Audio/Video, desc: "DVD Pro-Shot 2016"}
|
||||
- {id: 56, cat: Audio/Video, desc: "DVD Pro-Shot 2017"}
|
||||
- {id: 59, cat: Audio/Video, desc: "DVD Pro-Shot 2018"}
|
||||
- {id: 60, cat: Audio/Video, desc: "DVD Pro-Shot 2019"}
|
||||
- {id: 62, cat: Audio/Video, desc: "DVD Pro-Shot 2022"}
|
||||
- {id: 44, cat: Audio/Video, desc: "DVD Pro-Shot Compilations"}
|
||||
- {id: 45, cat: Audio/Video, desc: "DVD Pro-Shot Music Videos"}
|
||||
- {id: 7, cat: Audio/Video, desc: "High-Definition"}
|
||||
- {id: 51, cat: Audio/Video, desc: "High-Definition Pro-Shot"}
|
||||
- {id: 50, cat: Audio/Video, desc: "High-Definition AMT"}
|
||||
- {id: 52, cat: Audio/Video, desc: "High-Definition Music Videos"}
|
||||
- {id: 6, cat: Audio/Video, desc: "Lossy Audio/Video"}
|
||||
- {id: 9, cat: Audio/Video, desc: "MBDVD"}
|
||||
- {id: 5, cat: Other, desc: "Misc"}
|
||||
- {id: 12, cat: Other, desc: "3D"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are getting the error <b>Found no results while trying to browse this tracker</b> then first access the site with your browser and check that you are not being forced to change your password because it has expired after 180 days."
|
||||
|
||||
login:
|
||||
path: ?p=home&pid=1
|
||||
method: form
|
||||
form: form#loginbox_form
|
||||
submitpath: ajax/login.php
|
||||
inputs:
|
||||
action: login
|
||||
loginbox_membername: "{{ .Config.username }}"
|
||||
loginbox_password: "{{ .Config.password }}"
|
||||
loginbox_remember: 1
|
||||
selectorinputs:
|
||||
securitytoken:
|
||||
selector: "script:contains(\"stKey: \")"
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "stKey: \"(.+?)\","
|
||||
error:
|
||||
- selector: div.error
|
||||
- selector: :contains("-ERROR-")
|
||||
test:
|
||||
path: ?p=home&pid=1
|
||||
selector: div#member_info_bar
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: /
|
||||
inputs:
|
||||
p: torrents
|
||||
pid: 32
|
||||
$raw: "{{ range .Categories }}&cid[]={{.}}{{end}}"
|
||||
keywords: "{{ .Keywords }}"
|
||||
# name, description, both, uploader
|
||||
search_type: name
|
||||
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: div.torrent-box[id^="torrent_"]
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="?p=torrents&pid=10&cid="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cid
|
||||
title:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details&tid="]
|
||||
details:
|
||||
selector: a[href*="?p=torrents&pid=10&action=details&tid="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="?p=torrents&pid=10&action=download&tid="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href*="data/torrents/torrent_images/"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: a[rel="torrent_size"]
|
||||
grabs:
|
||||
selector: a[rel="times_completed"]
|
||||
seeders:
|
||||
selector: a[rel="torrent_seeders"]
|
||||
leechers:
|
||||
selector: a[rel="torrent_leechers"]
|
||||
date_day:
|
||||
selector: div.torrentOwner:contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
selector: div.torrentOwner:contains("-")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Uploaded (.+?) by"
|
||||
- name: dateparse
|
||||
args: "dd-MM-yyyy HH:mm"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
downloadvolumefactor:
|
||||
optional: true
|
||||
default: 1
|
||||
selector: img[src$="/torrent_free.png"]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+(\.\d+)?)
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# TSUE 2.0
|
||||
@@ -178,4 +178,4 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" 剩余时间:", ""]
|
||||
# NexusPHP v1.7.29 2022-10-13
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
|
||||
@@ -11,29 +11,29 @@ links:
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 14, cat: Movies/SD, desc: "Movies DivX"}
|
||||
- {id: 16, cat: Movies/SD, desc: "Movies CAM"}
|
||||
- {id: 14, cat: Movies/SD, desc: "Movies SD"}
|
||||
- {id: 16, cat: Movies/SD, desc: "Movies Retro"}
|
||||
- {id: 17, cat: Movies/HD, desc: "Movies HD"}
|
||||
- {id: 17, cat: TV/HD, desc: "TV HD"}
|
||||
- {id: 31, cat: Movies/BluRay, desc: "Movies BDRip"}
|
||||
- {id: 6, cat: PC, desc: "Applications"}
|
||||
- {id: 18, cat: PC/0day, desc: "Applications PC"}
|
||||
- {id: 19, cat: PC/Mac, desc: "Applications Macintosh"}
|
||||
- {id: 7, cat: Audio, desc: "Music"}
|
||||
- {id: 20, cat: Audio/Video, desc: "Music Video"}
|
||||
- {id: 21, cat: Audio/MP3, desc: "Music Mp3"}
|
||||
- {id: 2, cat: Console, desc: "Games"}
|
||||
- {id: 3, cat: Console/PS3, desc: "Games Sony PS"}
|
||||
- {id: 4, cat: Console/Wii, desc: "Games Wii"}
|
||||
- {id: 26, cat: Console/XBox, desc: "Games XboX"}
|
||||
- {id: 27, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 28, cat: Console/NDS, desc: "Games Nintendo"}
|
||||
- {id: 32, cat: Movies/BluRay, desc: "Movies BluRay"}
|
||||
- {id: 33, cat: Movies, desc: "Movies Pack"}
|
||||
- {id: 6, cat: Movies, desc: "iNTERNAL"}
|
||||
- {id: 18, cat: Movies/SD, desc: "iNTERNAL SD"}
|
||||
- {id: 19, cat: Movies/SD, desc: "iNTERNAL Retro"}
|
||||
- {id: 34, cat: Movies/HD, desc: "iNTERNAL HD"}
|
||||
- {id: 35, cat: Movies/BluRay, desc: "iNTERNAL BDRip"}
|
||||
- {id: 36, cat: Movies/BluRay, desc: "iNTERNAL BluRay"}
|
||||
- {id: 37, cat: Movies, desc: "iNTERNAL Pack"}
|
||||
- {id: 2, cat: TV, desc: "TV Episodes"}
|
||||
- {id: 3, cat: TV/SD, desc: "TV Episodes SD"}
|
||||
- {id: 4, cat: TV, desc: "TV Episodes Series"}
|
||||
- {id: 26, cat: TV/HD, desc: "TV Episodes HDTV Episodes"}
|
||||
- {id: 27, cat: TV/HD, desc: "TV Episodes HDTV Series"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
|
||||
@@ -60,8 +60,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -69,15 +67,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -89,7 +89,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -98,8 +97,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -192,4 +192,4 @@ search:
|
||||
remove: a, img, span
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
# NexusPHP v1.7.33 2022-12-19
|
||||
# NexusPHP v1.8.0 2023-04-16
|
||||
|
||||
@@ -188,4 +188,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP v1.8.3 2023-05-14
|
||||
|
||||
@@ -172,4 +172,4 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" 剩余时间:", ""]
|
||||
# Ourbits 1.1.0 (Based on NexusPHP Standard v1.5 Beta 4) 4691022 2023-05-04
|
||||
# Ourbits 1.1.0 (Based on NexusPHP Standard v1.5 Beta 4) 3feac18 2023-05-30
|
||||
|
||||
195
src/Jackett.Common/Definitions/panda.yml
Normal file
195
src/Jackett.Common/Definitions/panda.yml
Normal file
@@ -0,0 +1,195 @@
|
||||
---
|
||||
id: panda
|
||||
name: Panda
|
||||
description: "Panda is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://pandapt.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 412, cat: PC, desc: "Software/软件"}
|
||||
- {id: 411, cat: Console, desc: "Games/游戏"}
|
||||
- {id: 410, cat: Books, desc: "E-Books/电子书"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/MV"}
|
||||
- {id: 408, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 409, cat: Other, desc: "Others/其他"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Kufei Web Site. Otherwise just leave it empty."
|
||||
- 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: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{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
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0 AND, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
img.pro_free2up: 0
|
||||
img.pro_50pctdown: 0.5
|
||||
img.pro_50pctdown2up: 0.5
|
||||
img.pro_30pctdown: 0.3
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img.pro_50pctdown2up: 2
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-13
|
||||
@@ -21,10 +21,10 @@ caps:
|
||||
- {id: 409, cat: Other, desc: "Misc/其他", default: true}
|
||||
- {id: 408, cat: Audio, desc: "Music/音乐", default: true}
|
||||
# kids zone
|
||||
- {id: 908, cat: TV, desc: "TV Series/剧集", default: true}
|
||||
- {id: 909, cat: Movies, desc: "Movies/电影", default: true}
|
||||
- {id: 905, cat: Audio/Video, desc: "MusicVideo/MV", default: true}
|
||||
- {id: 907, cat: Audio, desc: "Music/音乐", default: true}
|
||||
- {id: 908, cat: TV, desc: "TV Series/剧集", default: false}
|
||||
- {id: 909, cat: Movies, desc: "Movies/电影", default: false}
|
||||
- {id: 905, cat: Audio/Video, desc: "MusicVideo/MV", default: false}
|
||||
- {id: 907, cat: Audio, desc: "Music/音乐", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -79,7 +79,7 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 404, 405, 406, 407, 408, 409]
|
||||
categories: ["!", 905, 907, 908, 909]
|
||||
- path: special.php
|
||||
categories: [905, 907, 908, 909]
|
||||
inputs:
|
||||
|
||||
@@ -59,8 +59,6 @@ settings:
|
||||
login:
|
||||
path: /api/torrents
|
||||
method: get
|
||||
inputs:
|
||||
api_token: "{{ .Config.apikey }}"
|
||||
error:
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
@@ -68,15 +66,17 @@ login:
|
||||
|
||||
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
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
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 }}"
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
@@ -88,7 +88,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -97,8 +96,6 @@ search:
|
||||
rows:
|
||||
selector: data
|
||||
attribute: attributes
|
||||
count:
|
||||
selector: meta.total
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -185,4 +185,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-04-29
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
|
||||
@@ -5,6 +5,8 @@ description: "PTFiles (PTF) is a Private site for TV / MOVIES / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: windows-1252
|
||||
certificates:
|
||||
- 69901C31636B4D413903F4B32573ED6E8F5961FE # expired 26 May 2023
|
||||
links:
|
||||
- https://ptfiles.net/
|
||||
|
||||
@@ -42,13 +44,12 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -71,9 +72,20 @@ settings:
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: loginproc/
|
||||
method: form
|
||||
form: form#login
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
force_ssl: on
|
||||
ssl: ""
|
||||
selectorinputs:
|
||||
hash:
|
||||
selector: input[name="hash"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: p.error:contains(strong)
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user