From d078fc7d42be0a5c4c379281cdf5a276adf0c445 Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Wed, 20 Oct 2021 10:21:52 +1300 Subject: [PATCH] add slosoul ad Slovanian private site. resolves #12435 --- README.md | 1 + src/Jackett.Common/Definitions/slosoul.yml | 164 +++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 src/Jackett.Common/Definitions/slosoul.yml diff --git a/README.md b/README.md index 29daeb008..c39bf23ad 100644 --- a/README.md +++ b/README.md @@ -487,6 +487,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * Shareisland * Shazbat * SiamBIT + * slosoul * SnowPT (SSPT) * SoulVoice * SpeedApp (SceneFZ, XtreMeZone / MYXZ, ICE Torrent) diff --git a/src/Jackett.Common/Definitions/slosoul.yml b/src/Jackett.Common/Definitions/slosoul.yml new file mode 100644 index 000000000..088df69c7 --- /dev/null +++ b/src/Jackett.Common/Definitions/slosoul.yml @@ -0,0 +1,164 @@ +--- +id: slosoul +name: slosoul +description: "slosoul is a Slovanian Private Torrent Tracker for MOVIES / TV / GENERAL" +language: en-US +type: private +encoding: UTF-8 +links: + - https://slosoul.net/ + +caps: + categorymappings: + - {id: 5, cat: PC, desc: "Apps"} + - {id: 7, cat: Books/EBook, desc: "Ebooks"} + - {id: 6, cat: PC/Games, desc: "Games PC"} + - {id: 8, cat: Movies, desc: "Movies Packs"} + - {id: 1, cat: Movies/SD, desc: "Movies Divx/Xvid"} + - {id: 9, cat: Movies/DVD, desc: "Movies DVD-r"} + - {id: 11, cat: Movies/BluRay, desc: "Movies BluRay"} + - {id: 3, cat: Audio, desc: "Music"} + - {id: 4, cat: XXX, desc: "Porn"} + - {id: 13, cat: TV/Sport, desc: "TV Sport"} + - {id: 10, cat: TV, desc: "TV Shows"} + - {id: 12, cat: Other, desc: "VIP"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + 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 + 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(td.thead:contains("An error has occured!")) + 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-torrent-"] + attribute: href + +search: + paths: + - path: browse.php + inputs: + do: search + # does not support multi categories so defaulting to ALL + category: 0 + # yes incldead, no activeonly + include_dead_torrents: yes + 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 }}" + sort: "{{ .Config.sort }}" + order: "{{ .Config.type }}" + # does not return imdb link in results + keywordsfilters: + - name: re_replace # replace special characters with "%" (wildcard) + args: ["[^a-zA-Z0-9]+", "%"] + + rows: + selector: "table#sortabletable tbody 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: (\d+) + a_title: + # is often abbreviated + selector: a[href*="torrent-details-"] + d_title: + # usually longer than details title + selector: div[id^="port-content-"] div + optional: true + title: + text: "{{ if .Result.d_title }}{{ .Result.d_title }}{{ else }}{{ .Result.a_title }}{{ end }}" + details: + selector: a[href*="details.php?id="] + attribute: href + download: + selector: a[href*="details.php?id="] + attribute: href + magnet: + selector: a[href^="magnet:?xt="] + 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: "02-01-2006 15:04 -07:00" + size: + selector: td:nth-child(5) + grabs: + selector: td:nth-child(6) + seeders: + selector: td:nth-child(7) + leechers: + selector: td:nth-child(8) + downloadvolumefactor: + case: + img[src$="/freedownload.gif"]: 0 + img[src$="/silverdownload.gif"]: 0.5 + "*": 1 + uploadvolumefactor: + case: + img[src$="/x2.gif"]: 2 + "*": 1 +# TBD, Rules and FAQ do not cover this yet +# minimumratio: +# text: 1.0 +# minimumseedtime: +# # 2 days (as seconds = 2 x 24 x 60 x 60) +# text: 172800 +# TS Special Edition v.8.0