--- id: bitru name: BitRu description: "BitRu is a RUSSIAN Public Torrent Tracker for MOVIES / TV / GENERAL" language: ru-RU type: public encoding: UTF-8 links: - https://bitru.org/ legacylinks: - http://bitru.org/ # site forces https caps: categorymappings: - {id: movie, cat: Movies, desc: Movie} - {id: serial, cat: TV, desc: Serial} - {id: music, cat: Audio, desc: Music} - {id: game, cat: PC/Games, desc: Game} - {id: soft, cat: PC, desc: Software} - {id: literature, cat: Books, desc: Literature} - {id: audiobook, cat: Audio/Audiobook, desc: Audiobook} - {id: video, cat: Movies, desc: Movies} - {id: image, cat: Other, desc: Image} - {id: xxx, cat: XXX, desc: xxx} modes: search: [q] tv-search: [q, season, ep] movie-search: [q] music-search: [q] book-search: [q] settings: - name: stripcyrillic type: checkbox label: Strip Cyrillic Letters default: false - name: addrussiantotitle type: checkbox label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified. default: false - name: adverts type: checkbox label: Include Advertising default: true - name: sort type: select label: Sort requested from site default: _ options: _: created seeders: seeders size: size search: paths: - path: browse.php inputs: s: "{{ .Keywords }}" sort: "{{ re_replace .Config.sort \"_\" \"\" }}" rek: "{{ if .Config.adverts }}{{ else }}no{{ end }}" keywordsfilters: - name: re_replace # S01 or S01E01 to 1 сезон args: ["(?i)\\bS0*(\\d+)(?:E0*(\\d+))?\\b", "$1 сезон"] rows: selector: table.browse-list > tbody > tr fields: category: selector: td:nth-child(1) a attribute: href filters: - name: querystring args: tmp title: selector: a[href^="details.php?id="] filters: - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?\\s*[:]*.+?\\((\\d+(?:-\\d+)?)\\s*из\\s*(\\d+)\\)", "(S$1E$2 of $3)"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?\\s*[:]*.+?\\((\\d+(?:-\\d+)?)\\)", "(S$1E$2)"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?", "(S$1)"] - name: re_replace args: ["(?i)\\((\\d+(?:-\\d+)?)\\s*из\\s*(\\d+)\\)", "(E$1 of $2)"] - name: re_replace args: ["(?i)\\bселезень\\b", "selezen"] - name: re_replace args: ["(?i)\\bFiles-х\\b", "Files-x"] - name: re_replace args: ["(?i)\\s\\|\\sот\\s([\\w\\p{P}\\p{S}]+)$", "-$1"] - name: re_replace args: ["\\s\\|\\s(\\w{4,})$", "-$1"] - name: re_replace args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"] - name: re_replace args: ["(?i)\\bHDTV[-\\s]?Rip\\b", "HDTV"] - name: re_replace args: ["(?i)\\bSAT[-\\s]?Rip\\b", "HDTV"] - name: re_replace args: ["(?i)\\bWEB[-\\s]?DL[-\\s]?Rip\\b", "WEB-DL"] - name: re_replace args: ["(?i)\\bWEB\\sRip\\b", "WEBRip"] - name: re_replace args: ["(?i)\\bWEB\\sDL\\b", "WEB-DL"] - name: re_replace args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""] - name: re_replace args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""] - name: re_replace args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)(-[\\w\\p{P}\\p{S}]*)$", "$2 $1$3"] - name: re_replace args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)", "$2 $1"] - name: append args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}" details: selector: a[href^="details.php?id="] attribute: href download: selector: a[href^="details.php?id="] attribute: href filters: - name: replace args: ["details", "download"] description: selector: i.fa-ad attribute: title filters: - name: replace args: ["Присутствует реклама", "[Contains Adverts] "] description|append: selector: a[href^="details.php?id="] poster: selector: div.it-image > img attribute: src date_today: # Сегодня в 09:09 от # Вчера в 22:47 от selector: td:nth-child(2) div.b-info div span:nth-child(1):contains("Сегодня"), td:nth-child(2) div.b-info div span:nth-child(1):contains("Вчера") optional: true filters: - name: regexp args: "(.*?) от " - name: replace args: ["Сегодня в", "Today"] - name: replace args: ["Вчера в", "Yesterday"] date_year: # 08 ноября 2019 в 23:53 от selector: td:nth-child(2) div.b-info div span:nth-child(1):not(:contains("Сегодня")):not(:contains("Вчера")) optional: true filters: - name: regexp args: "(.*?) от " - name: replace args: [" в ", " "] - name: replace args: ["января", "January"] - name: replace args: ["февраля", "February"] - name: replace args: ["марта", "March"] - name: replace args: ["апреля", "April"] - name: replace args: ["мая", "May"] - name: replace args: ["июня", "June"] - name: replace args: ["июля", "July"] - name: replace args: ["августа", "August"] - name: replace args: ["сентября", "September"] - name: replace args: ["октября", "October"] - name: replace args: ["ноября", "November"] - name: replace args: ["декабря", "December"] - name: append args: " +03:00" # MSK - name: dateparse args: "dd MMMM yyyy HH:mm zzz" date: text: "{{ if or .Result.date_today .Result.date_year }}{{ or .Result.date_today .Result.date_year }}{{ else }}now{{ end }}" size: selector: td:nth-child(3) filters: - name: replace args: ["ТБ", "TB"] - name: replace args: ["ГБ", "GB"] - name: replace args: ["МБ", "MB"] - name: replace args: ["КБ", "KB"] seeders: selector: td:nth-child(4) filters: - name: replace args: ["?", "1"] leechers: selector: td:nth-child(5) filters: - name: replace args: ["?", "0"] downloadvolumefactor: text: 0 uploadvolumefactor: text: 1 # engine n/a