--- 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. - name: info_activity type: info label: Account Inactivity default: "To keep records updated regularly, all inactive accounts will be deleted after 60 days of inactivity." 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 # TS Special Edition v.8.0