diff --git a/README.md b/README.md index 907023290..3173160f2 100644 --- a/README.md +++ b/README.md @@ -466,6 +466,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * Orpheus * OnlyEncodes * OshenPT + * Ostwiki * OurBits (HDPter) * P2PBG * Panda diff --git a/src/Jackett.Common/Definitions/ostwiki.yml b/src/Jackett.Common/Definitions/ostwiki.yml new file mode 100644 index 000000000..d63590e53 --- /dev/null +++ b/src/Jackett.Common/Definitions/ostwiki.yml @@ -0,0 +1,168 @@ +--- +id: ostwiki +name: Ostwiki +description: "Ostwiki is a Private Torrent Tracker for Soundtracks releases." +language: en-US +type: private +encoding: UTF-8 +links: + - https://www.ostwiki.com/ + +caps: + categorymappings: + - {id: 12, cat: Audio, desc: "Anime Soundtracks"} + - {id: 19, cat: Audio, desc: "Discography"} + - {id: 13, cat: Audio, desc: "Game Soundtracks"} + - {id: 14, cat: Audio, desc: "Movie Soundtracks"} + - {id: 18, cat: Audio/MP3, desc: "MP3 Musical"} + - {id: 15, cat: Audio, desc: "Musical Soundtracks"} + - {id: 17, cat: Audio, desc: "Other Music"} + - {id: 20, cat: Audio/Lossless, desc: "Soundtrack .FLAC"} + - {id: 16, cat: Audio, desc: "Television Soundtracks"} + + modes: + 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: 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 Torrents per page: setting to 40 on your account profile. The Default is 15. + +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("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.php?id="] + attribute: href + +search: + paths: + - path: browse.php + keywordsfilters: + - name: re_replace + args: ["[\\s]+", "%"] + 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 + # yes, no + 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.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}" + + 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 + magnet: + selector: a[href^="magnet:?xt="] + 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 + 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