В статье описывается конкретный вариант запуска (со всей обвязкой) на маршрутизаторе с Entware. Но основная программа, которая выполняет основное действие — создаёт HTML-файл, написана на Python и может работать даже на утюге. Конечно, без технических навыков вам будет сложно самостоятельно всё настроить на других устройствах.
Ничего страшного, пусть это будет пост рекламы проектов :). Я ни на что не претендую со своей программой (она написана за пару вечеров с определенной целью — тест работоспособности для другого проекта). Никакой лицензии на код нет — любой может присвоить код полностью себе. С вами не конкурирую :).
Если кому-то окажется полезным (для этого и поделился), я буду только рад.
Есть HD VideoBox с разделом новинок и поиском по торрентам. Есть Elementum с новинками и фильмами в тренде и поиском по торрентом. И другая кучка вариантов. Но логика представления информации там иная. Она предназначена для всех и не отделяет «хорошо» и «плохо» по качеству, а сами новинки считаются не от даты цифрового релиза (а от премьеры). «Хорошо» вам всё равно нужно следить, искать и выбирать руками. В заметке речь идёт о «хорошо» сразу, когда хочется посмотреть какие-то новинки.
Т.к. у многих фильмов на rutor в описании стоит рейтинг КиноПоиск, то вы будете искать конкретный фильм не по названию (которое может дать лишние результаты), а по ID.
Не знаю, поможет это вам или нет, я в обновлённую версию digitalreleases.py добавил вывод поля «цифровой релиз» с датой релиза (там нужно будет добавить кнопку в HTML и привязать сортировку на JS). Сам словарь информации по фильму теперь содержит поле «releaseDate» с датой релиза. Если вы хотите изменить тип сортировки в текущей реализации, то в функции main выберите ключ, по которому будет идти сортировка. Например, вам нужна сортировка по дате релиза:
movies.sort(key = operator.itemgetter(«releaseDate»), reverse = True)
Сейчас там стоит:
movies.sort(key = operator.itemgetter(«ratingFloat»), reverse = True)
В реальности это будет полноценная программа для Android TV (как руки дойдут), чтобы удобно выбирать фильмы и смотреть их напрямую без загрузки (через Elementum или TorrServe). Веб-версия на Python просто для быстрой пробы, что всё действительно работает так, как нужно.
Если это вам нужно, то в функции saveHTML буквально две строчки добавляете и делаете заголовок кликабельным со ссылкой на сайт kinopoisk.ru. Там не сложно.
Простой выбор такой возможности не предусмотрен. В коде ttv.py вы можете изменить абсолютно всё под любые нужды, если у вас какие-то специфические требования.
А зачем вы меняете 91.92.66.82/trash/ttv-list/ttv.all.tag.player.m3u на 91.92.66.82/trash/ttv-list/ttv.all.tag.iproxy.m3u? (т.е. в чём смысл?) Программа заточена по формат ttv.all.tag.player.m3u, а параметр PLAYLIST_LOAD_URL предназначен для смена адреса загрузки этого плейлиста (если адрес «суперпомойки» изменится). Естественно, при смене не работает, т.к. в плейлисте по ссылке потоки имеют адрес «http:...», а не «acestream:...»
Формат ссылок на поток в выходном плейлисте вы можете изменить через параметр STREAM_URL.
Вариантов множество. В ttv.py по умолчанию используется LOGOS_URL = "https://raw.githubusercontent.com/AlexELEC/channel-logos/master/logos/{}.png". Если у вас есть папка с логотипами на устройстве, а IPTV-менеджер умеет использовать такую папку с логотипами, то можно использовать LOGOS_URL = "{}.png". Если папка с логотипами находится на самом маршрутизаторе, то можно использовать LOGOS_URL = "http://192.168.0.1/logos/{}.png". Частные случаи получения логотипов по какому-то API вы можете реализовать в коде и им поделиться. Всё зависит только от вашего желания что-то улучшать и менять.
Для желающих сделал установку на Keenetic с помощью пары команд. ВНИМАНИЕ: Работу этого скрипта на реальном устройстве я пока не проверял (только написал его), не было времени. Если что-то не будет работать, я не виноват. Позже проверю и дополню комментарий.
После автоматической перезагрузки маршрутизатора для реализации «Дополнительный обход фильтрации DNS-запросов провайдером» (если вам это нужно) выполните команду:
Если кому-то окажется полезным (для этого и поделился), я буду только рад.
«rutor.info/search/0/0/010/0/film ID_ФИЛЬМА_КИНОПОИСК»
Например, Богемская рапсодия:
«rutor.info/search/0/0/010/0/film 568289»
Или лучше:
«rutor.info/search/0/0/010/0/film%20568289»
Т.к. у многих фильмов на rutor в описании стоит рейтинг КиноПоиск, то вы будете искать конкретный фильм не по названию (которое может дать лишние результаты), а по ID.
movies.sort(key = operator.itemgetter(«releaseDate»), reverse = True)
Сейчас там стоит:
movies.sort(key = operator.itemgetter(«ratingFloat»), reverse = True)
Формат ссылок на поток в выходном плейлисте вы можете изменить через параметр STREAM_URL.
Примеры:
STREAM_URL = "http://127.0.0.1:6878/ace/getstream?id={}&.mp4"
STREAM_URL = "acestream://{}"
Программа вместо {} подставит ID потока.
playlist.m3u перезаписывается при каждом запуске ttv.py/playlist.cgi (если есть файл favorites.txt).
LOGOS_URL = "https://raw.githubusercontent.com/AlexELEC/channel-logos/master/logos/{}.png"
. Если у вас есть папка с логотипами на устройстве, а IPTV-менеджер умеет использовать такую папку с логотипами, то можно использоватьLOGOS_URL = "{}.png"
. Если папка с логотипами находится на самом маршрутизаторе, то можно использоватьLOGOS_URL = "http://192.168.0.1/logos/{}.png"
. Частные случаи получения логотипов по какому-то API вы можете реализовать в коде и им поделиться. Всё зависит только от вашего желания что-то улучшать и менять.Потом посмотрю, почему не перезагружается.
Загрузите скрипт установки:
Установка (автоматическое выполнение шагов 1-12):
После автоматической перезагрузки маршрутизатора для реализации «Дополнительный обход фильтрации DNS-запросов провайдером» (если вам это нужно) выполните команду:
Удаление обхода блокировок:
Содержимое unblock_keenetic.sh.