--- 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+) title_default: # is often abbreviated selector: a[href*="torrent-details-"] title_optional: # usually longer than details title selector: div[id^="port-content-"] div optional: true title: text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ 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