--- id: exkinoray name: ExKinoRay description: "ExKinoRay is a RUSSIAN Semi-Private Torrent Tracker for MOVIES / TV" language: ru-RU type: semi-private encoding: UTF-8 links: - http://exkinoray.fun/ # site does not support https legacylinks: - http://exkinoray.tv/ caps: categorymappings: - {id: 92, cat: TV, desc: "Кино Сериал"} - {id: 46, cat: Movies, desc: "Кино Комедия"} - {id: 47, cat: Movies, desc: "Кино Боевик"} - {id: 48, cat: Movies, desc: "Кино Военный"} - {id: 49, cat: Movies, desc: "Кино Вестерн"} - {id: 50, cat: Movies, desc: "Кино Триллер"} - {id: 51, cat: Movies, desc: "Кино Детектив"} - {id: 52, cat: Movies, desc: "Кино Драма"} - {id: 53, cat: Movies, desc: "Кино Мелодрама"} - {id: 54, cat: Movies, desc: "Кино Индийское"} - {id: 55, cat: Movies, desc: "Кино Азиатское"} - {id: 59, cat: Movies, desc: "Кино Фантастика"} - {id: 60, cat: Movies, desc: "Кино Фэнтези"} - {id: 61, cat: Movies, desc: "Кино Ужас"} - {id: 62, cat: Movies, desc: "Кино Мистика"} - {id: 63, cat: Movies, desc: "Кино Приключения"} - {id: 64, cat: Movies, desc: "Кино Наше кино"} - {id: 65, cat: Movies, desc: "Кино Исторический"} - {id: 66, cat: TV/Documentary, desc: "Кино Документальный"} - {id: 67, cat: TV/Sport, desc: "Кино Спорт"} - {id: 68, cat: Movies, desc: "Кино Семейный"} - {id: 69, cat: Movies, desc: "Кино Детский"} - {id: 70, cat: Movies, desc: "Кино Классика"} - {id: 71, cat: Movies, desc: "Кино Концерт"} - {id: 72, cat: TV, desc: "Кино ТВ-шоу"} - {id: 73, cat: Movies, desc: "Кино Театр, опера"} - {id: 74, cat: Movies, desc: "Кино Мюзикл"} - {id: 75, cat: Movies, desc: "Кино Эротика"} - {id: 77, cat: TV, desc: "Мульт Буржуйский"} - {id: 78, cat: TV, desc: "Мульт Русский"} - {id: 79, cat: TV/Anime, desc: "Мульт Аниме"} - {id: 80, cat: Audio, desc: "Музыка Буржуйская"} - {id: 81, cat: Audio, desc: "Музыка Русская"} - {id: 82, cat: Audio, desc: "Музыка Сборники"} - {id: 83, cat: Audio/Audiobook, desc: "Другое Аудио книги"} - {id: 84, cat: Audio/Video, desc: "Другое Видеоклипы"} - {id: 85, cat: PC/Games, desc: "Другое Игры"} - {id: 86, cat: PC/0day, desc: "Другое Программы"} - {id: 87, cat: Console/XBox, desc: "Другое XBox"} - {id: 88, cat: Console/PSP, desc: "Другое PSP"} - {id: 89, cat: Books/Mags, desc: "Другое Журналы"} - {id: 90, cat: Other, desc: "Другое Графика"} - {id: 93, cat: Other, desc: "Другое Библиотека"} - {id: 94, cat: Console/PS3, desc: "Другое PS3"} modes: search: [q] tv-search: [q, season, ep] movie-search: [q] music-search: [q] book-search: [q] settings: - name: username type: text label: Username - name: password type: password label: Password - 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: sort type: select label: Sort requested from site default: 4 options: 4: created 7: seeders 5: size - 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 }}" autologin: 1 returnto: index.php error: - selector: td.embedded:contains("Ошибка входа") test: path: index.php selector: a[href="logout.php"] search: paths: # http://exkinoray.tv/browse.php?search=&incldead=1&cat=0 - path: browse.php inputs: $raw: "{{ if .Categories }}{{ range .Categories }}c{{.}}=1&{{end}}{{ else }}cat=0{{ end }}" # 0 active, 1 incldead, 2 onlydead, 4 noseeds (how is this different from onlydead?) incldead: 1 search: "{{ .Keywords }}" sort: "{{ .Config.sort }}" type: "{{ .Config.type }}" keywordsfilters: # strip season and/or ep - name: re_replace args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""] rows: selector: table.begins > tbody > tr:has(a[href^="details.php?id="]) fields: category: selector: a[href^="browse.php?cat="] attribute: href filters: - name: querystring args: cat title: selector: a[href^="details.php?id="] filters: # normalize to SXXEYY format - name: re_replace args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"] - name: re_replace args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"] - name: re_replace args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"] - name: re_replace args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "S$1E$2"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"] - name: re_replace args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"] - name: re_replace args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?)", "S$1"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?", "S$1"] - name: re_replace args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "E$1 of $2"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$1 of $2"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "E$1 of $2"] - name: re_replace args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "E$1"] - name: re_replace args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$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\\/\\|]*(.+)", "$2 $1"] - name: append args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}" details: selector: a[href^="details.php?id="] attribute: href download: selector: a[href^="download.php?id="] attribute: href date: selector: td:nth-child(2) i filters: - name: append args: " +03:00" # MSK - name: dateparse args: "yyyy-MM-dd HH:mm:ss zzz" files: selector: td:nth-child(3) size: selector: td:nth-child(5) seeders: selector: td:nth-child(6) leechers: selector: td:nth-child(7) downloadvolumefactor: text: 0 uploadvolumefactor: text: 1 description: selector: a[href^="details.php?id="] # engine n/a