From aeacb934408c98a25e39e3753171e1d24db01a54 Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Tue, 17 May 2022 14:39:19 +1200 Subject: [PATCH] add satclubbing a music site. resolves #13243 --- README.md | 1 + .../Definitions/satclubbing.yml | 150 ++++++++++++++++++ 2 files changed, 151 insertions(+) create mode 100644 src/Jackett.Common/Definitions/satclubbing.yml diff --git a/README.md b/README.md index db09ba090..765e31a1f 100644 --- a/README.md +++ b/README.md @@ -220,6 +220,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * RUDUB (ex-BaibaKoTV) * RuTracker * Rustorka + * SATClubbing * Sharewood * SkTorrent * SkTorrent-org diff --git a/src/Jackett.Common/Definitions/satclubbing.yml b/src/Jackett.Common/Definitions/satclubbing.yml new file mode 100644 index 000000000..b89a04519 --- /dev/null +++ b/src/Jackett.Common/Definitions/satclubbing.yml @@ -0,0 +1,150 @@ +--- +id: satclubbing +name: SATClubbing +description: "SATClubbing is a RUSSIAN/ENGLISH Semi-Private Torrent Tracker for ELECTRONIC MUSIC" +language: en-US +type: semi-private +encoding: UTF-8 +links: + - https://satclubbing.club/ + +caps: + categorymappings: + - {id: 23, cat: Audio, desc: "Albums - Trance"} + - {id: 34, cat: Audio, desc: "Singles - Trance"} + - {id: 24, cat: Audio, desc: "Livesets - Trance"} + - {id: 30, cat: Audio, desc: "Albums - House"} + - {id: 25, cat: Audio, desc: "Singles - House"} + - {id: 32, cat: Audio, desc: "Livesets - House"} + - {id: 18, cat: Audio, desc: "Albums - Techno"} + - {id: 29, cat: Audio, desc: "Singles - Techno"} + - {id: 21, cat: Audio, desc: "Livesets - Techno"} + - {id: 35, cat: Audio, desc: "Albums - Hardstyle"} + - {id: 20, cat: Audio, desc: "Singles - Hardstyle"} + - {id: 28, cat: Audio, desc: "Livesets - Hardstyle"} + - {id: 22, cat: Audio, desc: "Albums - Goa/Psy"} + - {id: 33, cat: Audio, desc: "Singles - Goa/Psy"} + - {id: 26, cat: Audio, desc: "Livesets - Goa/Psy"} + - {id: 31, cat: Audio, desc: "Beat/Breaks"} + - {id: 40, cat: Audio, desc: "Electronic"} + - {id: 42, cat: Audio, desc: "Albums - Drum and Bass"} + - {id: 43, cat: Audio, desc: "Singles - Drum and Bass"} + - {id: 44, cat: Audio, desc: "Livesets - Drum and Bass"} + - {id: 45, cat: Audio, desc: "Albums - Dance"} + - {id: 46, cat: Audio, desc: "Singles - Dance"} + - {id: 36, cat: Audio, desc: "Unreleased Tracks"} + - {id: 41, cat: Audio, desc: "Bass"} + - {id: 39, cat: Audio, desc: "Ambient / Chill"} + - {id: 27, cat: Other, desc: "Music Plugins/Apps/Misc"} + - {id: 19, cat: Audio/Video, desc: "DVD/Video/Clips"} + - {id: 38, cat: Audio, desc: "SCMT Pack"} + - {id: 47, cat: Audio, desc: "Albums - Hardcore"} + - {id: 48, cat: Audio, desc: "Singles - Hardcore"} + - {id: 49, cat: Audio, desc: "Livesets - Hardcore"} + - {id: 50, cat: Audio, desc: "Rave"} + - {id: 51, cat: Audio, desc: "Acid"} + + modes: + search: [q] + music-search: [q, artist] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: takelogin.php + method: post + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: div.error + test: + path: / + selector: a[href="logout.php"] + +search: + paths: + # https://satclubbing.club/browse.php?search=&cat=0&incldead=1&age=0&quality=0&c23=1&c34=1 + - path: browse.php + inputs: + $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" + search: "{{ if .Query.Artist }}{{ .Query.Artist }}{{ else }}{{ .Keywords }}{{ end }}" + # 0 active, 1 incldead, 2 onlydead, 3 freeleech, 4 seedless + incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}" + # 0 any, 1 fresh, 2 classic, 3 not classic + age: 0 + # 0 any, 320 mp3 cbr, 1000 mp3 vbr, 2000 lossless + quality: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + + rows: + selector: table > tbody > tr > td.index > table.embedded[cellspacing="0"][cellpadding="5"][width="100%"] > tbody > tr:has(a[href^="details.php?id="]) + + fields: + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[href^="details.php?id="] + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + date: + selector: td:last-child + filters: + - name: replace + args: ["added ", ""] + - name: timeago + files: + selector: a[href$="filelist=1"] + size: + selector: td:has(a[href$="filelist=1"]) + td + td + seeders: + selector: a[href$="toseeders=1"] + leechers: + selector: td:has(a[href$="toseeders=1"]) + filters: + - name: split + args: ["|", 1] + downloadvolumefactor: + case: + img[src$="pic/free_icon.gif"]: 0 + "*": 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 0.60 +# engine n/a