Следим за качественными цифровыми релизами фильмов без суеты
В большинстве случаев качественные нелегальные раздачи какого-то фильма начинают появляться только после цифрового релиза (не путайте цифровые релизы с премьерами в кинотеатрах), т.е. в VOD-сервисах или на Blu-ray. Под качественными подразумеваются BDRip 1080p, BDRemux и UHD BDRemux, самый минимум — это WEB-DL 1080p (чаще всего из iTunes), с русскоязычными звуковыми дорожками от лицензионного издания Blu-ray или из iTunes. А до этого с раздачами фильма творится чехарда с комбинацией мха и опилок, которая может ввести в заблуждение зрителя, желающего смотреть новинки с хорошим качеством.
Кстати, вы знали, что какие-то ребята недавно взломали Apple TV 4K? Теперь все релизы 4K с HDR и дорожками Dolby Atmos из iTunes будут попадать в сеть, как недавно попал релиз Аквамен (WEB-DL 2160p HDR). Битрейт там стыдный, но лучше, чем ничего до выхода (UHD) Blu-ray. Бокс Apple TV был взломан давно, а iTunes служит конвейерным поставщиком качественных дорожек Dolby Digital 5.1 с русским дубляжом.
ВНИМАНИЕ! В заметке идёт речь о нелегальном контенте. Но никаких ссылок на этот нелегальный контент, как и самого нелегального контента, в заметке нет.
ВНИМАНИЕ! Заметка не оправдывает использование нелегального контента. Нелегальный контент — это плохо, без всяких споров.
ВНИМАНИЕ! В заметке содержится информация об использовании двух методов частного API КиноПоиск (/k/v1/films/releases/digital и /ios/5.0.0/getKPFilmDetailView), которые нарушают правила использования сервиса КиноПоиск. Хоть разные методы из API КиноПоиск используются в сотнях программ и на сайтах вне правил, это является формальным основанием, чтобы снять заметку с публикации при запросе.
Программу из заметки я сделал (на Python, гарантирована работа на версии 3.6.x и старше, например, на последней в момент публикации 3.7.2) для себя за пару вечеров. Делюсь ей, потому что она может оказаться кому-то полезной.
Суть в следующем… Программа раз в сутки загружает список всех цифровых релизов за последние 60 дней (из КиноПоиск). Для каждого релиза на rutor ищутся раздачи высокого качества. rutor является открытым торрент-трекером с хорошим тегированием в раздачах. Если качественных раздач пока нет, то релиз исключается. Никаких авторских или кустарных переводов, никаких Line. Только BDRip 1080p (или BDRip-HEVC 1080p), BDRemux и UHD BDRemux с русскими дорожками с лицензионного диска или iTunes, или любой другой официальный дубляж. В случае, когда для релиза нет пока ещё BD, отображается ссылки на WEB-DL 1080p и WEB-DL 2160p (чаще всего из iTunes). Из нескольких раздач одинакового типа выбирается одна с большим количеством сидеров (например, бывает две раздачи одного типа от двух популярных релизных групп сразу). Все релизы отсортированы по среднеарифметическому между рейтингом КиноПоиск и IMDb. Для всех релизов подгружается информация с КиноПоиск. Программа формирует удобный HTML, просто в браузере открываете ссылку и выбираете, что из новинок посмотреть в отличном качестве — нажимаете кнопку и получаете актуальный торрент-файл. Больше не нужно перебирать и искать правильную раздачу, изучать, есть ли уже фильм с отличным качеством видео и дубляжом — открываете страничку и всё у вас перед глазами.
Вот пример результата от 13.03.2019, который вы получите (ссылки на торрент-файлы в примере искажены, чтобы ничего не нарушать).
В идеальном случае WEB-DL 1080p и WEB-DL 2160p (SDR, HDR) нужно исключить. Но суть в том, что некоторые релизы так и не выйдут никогда на Blu-ray, при этом они доступны в iTunes с приемлемым качеством и качественной звуковой дорожкой. Так что отказаться от WEB-DL 1080p и WEB-DL 2160p нельзя. Тем более, фанаты Apple (владельцы Apple TV) потребляют контент такого качества и не жалуются. Например:
Программа на Python и может работать где угодно — на компьютере, на выделенном » target=»_blank»>сервере, на маршрутизаторе с поддержкой менеджера пакетов ПО (например, OpenWrt или с поддержкой Entware), на утюге.
В заметке я рассмотрю случай, когда программа будет крутиться на маршрутизаторе с поддержкой Entware. В моём случае Keenetic. Это очень просто, удобно и эффективно.
Установка необходимых пакетов на маршрутизаторе
wget — программа для загрузки файлов. Она понадобится только для первоначальной настройки.
ca-certificates — сертификаты для wget.
mc — файловый менеджер Midnight Commander. Он нужен лишь из-за удобного редактора mcedit. Если вы привыкли пользоваться другим текстовым редактором, то mc можно не устанавливать.
python3 — интерпретатор Python.
python3-pip — менеджер пакетов Python.
lighttpd-mod-cgi — веб-» target=»_blank»>сервер lighttpd.
cron — планировщик заданий.
Загрузка основного файла программы
Сама программа состоит из 5 функций:
digitalReleases(days) возвращает массив с элементами filmID, цифровые релизы за количество дней days.
filmDetail(filmID) возвращает словарь с информацией по фильму, соответствующему filmID.
rutorLinks(filmID) возвращает словарь с раздачами, соответствующими filmID.
saveHTML(movies, filePath) формирует HTML-файл по пути filePath из массива movies.
main() — соединяет всё вместе.
В самой программе, если вы планируете использовать её по прямому назначению, вам будет интересны только три изменяемых параметра: DAYS, HTML_SAVE_PATH, SOCKS_IP, SOCKS_PORT. DAYS — за сколько последних дней загружать цифровые релизы. По умолчанию 60. О SOCKS_IP, SOCKS_PORT я расскажу позже, когда речь пойдёт об обходе блокировок. Если вы захотите изменить параметры в программе, то откройте файл в редакторе, например, mcedit, измените и сохраните (F2 — сохранить, F10 — выйти).
Конфигурация и запуск веб-» target=»_blank»>сервера
Веб-» target=»_blank»>сервер нужен для того, чтобы устройства в локальный сети через браузер могли забирать генерируемый файл releases.html. Откройте файл /opt/etc/lighttpd/lighttpd.conf:
Чтобы вставить из буфера, используйте Shift+Insert, сохранить — F2, выйти — F10.
Измените строку #server.port = 80 на:
Добавление задания в cron
Добавим в cron задачу, которая каждый день в 6 утра будет запускать digitalreleases.py и генерировать актуальный файл с релизами.
Откройте в редакторе файл /opt/etc/crontab:
Добавьте в конце (замените root на admin в зависимости от вашего устройства):
При желании вы можете закомментировать все остальные шаблонные задачи. Запустите cron:
Финальная настройка
Запустите программу вручную в первый раз, чтобы она сгенерировала файл /opt/share/www/releases.html:
В дальнейшем с помощью cron файл releases.html будет обновляться раз в сутки автоматически.
Всё готово! Откройте в браузере на любом устройстве в вашей локальной сети ссылку http://192.168.0.1:81/releases.html (замените 192.168.0.1 на адрес вашего маршрутизатора).
Дополнение об обходе блокировок
В заметке подразумевается, что сайт rutor.info доступен у вас с маршрутизатора. Если это не так, например, он заблокирован, то при выполнении digitalreleases.py вы получите соответствующее сообщение.
Решить это очень просто. Если у вас на маршрутизаторе ещё не установлен сервис Tor, то установите его:
Если Tor уже был установлен, то в файле конфигурации (/opt/etc/tor/torrc) просто добавьте строчку:
Если Tor не был установлен до этого, то удалите содержимое конфигурационного файла Tor:
Откройте файл конфигурации Tor в редакторе:
Вставьте (Shift+Insert) содержимое:
Замените root на admin в зависимости от вашего устройства.
Краткое описание конфигурации:
Теперь нужно сделать так, чтобы в функции rutorLinks реквесты шли через запущенный прокси-