Скрипт автоматического скачивания / обновления плейлистов в Linux с сайта iptvin.ru
Иногда в силу причин не зависящих от Вас и руководства данного сайта, этот сайт бывает не доступен. Многие из Вас придя, например с работы, не могут посмотреть любимые передачи ввиду того что плейлист оказывается не доступен, так как в основном каждый раз при включении плеера (зависит от плеера и настроек), происходит обновление плейлиста.
Для своего удобства (изначально), а теперь и для Вашего (делюсь), написал скрипт для скачивания плейлистов (да можно несколько за раз, но не переборщите, а то банька наступит) и складирование их в заданной папке. В последствии их можно раздать своим веб-сервером. Скрипт работает на всех операционных системах Linux/Unix в том числе роутерах на базе операционных систем openwrt/padavan(entware)/keeneticOS(entware)/везде где есть entware ;), так как является Posix-совместимым.
Скрипт вырос (хоть и не большой) из одной простой строчки получения плейлиста, до проверки доступности ресурса и примитивной проверки плейлиста на содержимое "@ Playlist distribution suspended." или других ошибок. Если все гладко, скрипт заменит новые скачанные плейлисты в указанной папке.
Чем удобен вообще такой способ? Тем что Вам не придется каждый раз при включении устройства подтягивать плейлист с текущего сайта, будете брать плейлист с Вашего ресурса. При не доступности старые плейлисты загруженные скриптом, будут работать, замена произойдет только при успешной загрузки новых плейлистов. При не работоспособности потоков в одном плейлисте, у Вас будет лежать "запасной вариант" для использования. Скрипт можно поместить в cron, с интервалом получения - раз в сутки:
0 5 * * * root /path/to/file/iptv_iptvin.sh > /dev/null 2>&1(раз в сутки в 5 утра)
0 */3 * * * root /path/to/file/iptv_iptvin.sh > /dev/null 2>&1(каждые три часа)
Внимание!!!
Не пытайтесь загрузить много плейлистов за раз!!!
Не обновляйте плейлисты слишком часто!!!
Не выкладывайте плейлисты в публичный доступ!!!
Скрипт рассчитан на того, кто знает как работать в linux/Unix!!!
Для первоначально использования Вам нужно изменить несколько переменных:
# Пути не должны заканчиваться /
SAVEPATH="/path/to/web/server/folder"
TMPPATH="${SAVEPATH}/tmp"
USERNAME="username"
PASSWORD="password"
PLAYLISTS="
# Auth
#xxx--1
gelow74
tsn-full
from-tsn-3
yandex4
# Non-Auth
compilation
"
(закомментированные строки скрипт пропускает)
Скрипт можно запустить с параметрами, например для того чтобы не дергать весь список который находится в переменной PLAYLISTS, а скачать/обновить всего один:
./iptv_iptvin.sh tsn-full
Можно несколько:
./iptv_iptvin.sh tsn-full compilation
Скрипт также отлично справляется со скачиванием плейлистов без авторизации.
=================================================================
Поднятие простенького web-сервера на python:
Python 3.X
python -m http.server -d /path/to/web/server/folder/iptvlist 8080
Python 2.X
cd /path/to/web/server/folder/iptvlist && python -m SimpleHTTPServer 8080
Простой веб сервер на GO (работает под любой платформой):
Сборки: https://fw.vrnz.ru/progs/ran/
Домашняя страница: github.com
=================================================================
TODO: Отсылка сообщений телеграм-боту ?
Версия 1.0:
[+] Первый релиз
Версия 1.1:
[+] добавлены обработки ошибок с сайта
[+] добавлена переменная TMPPATH, для указания временной папки загрузки (на некоторых устройствах, таких как keenetic c entware, padavan или android, запрещен доступ к корневому разделу)
[*] Если временная папка не /tmp или /opt/tmp, она удаляется
Версия 1.2:
[*] Исправлена обработка ошибки, когда плейлиста на сайте не существует
[*] Мелкие фиксы и косметические изменения
Версия 1.4:
[+] добавлены обработки ошибок с сайта
[*] Исправлены ошибки скачивания некоторых плейлистов
[*] Мелкие фиксы и косметические изменения
Версия 1.5:
[+] Добавлена обработка переменной PATH, теперь правильно распознаются пути /opt
[+] Добавлен уникальный UserAgent
[*] Мелкие фиксы и косметические изменения
< < | > > |
---|
Комментарии
Это shell-скрипт(sh, ash, tsh, tcsh, zsh, bash) для Linux/Unix и скрипт плейлисты не формирует, а автоматизирует процесс их скачивания с данного ресурса. Цель - это прийти домой, включить телевизор и загрузить плейлист со своего, например web-сервера, который работает на роутере.
Цель написания данного скрипта, описана в "шапке".
Спасибо!!!
[+] добавлены обработки ошибок с сайта
[+] добавлена переменная TMPPATH, для указания временной папки загрузки (на не которых устройствах, таких как keenetic c entware и android запрещен доступ к корневому разделу)
[*] Если временная папка не /tmp или /opt/tmp, она удаляется
В официальной вики, есть статья как установить Entware на usb накопитель, если таковой имеется.
Статья ограничивается данным скриптом. Скрипт рассчитан не на профессионала, а на тех хотя бы кто знаком с Linux/Unix.
Запускать нужно в shell android (Terminal, Termux и пр), автоматизировать например с помощью: Tasker или аналогичного планировщика.
Цитирую mavv:
Да мне стыдно, я не знаю или не понял что такое E2...
Если Вы про ресивер и он на linux, скрипт и так должен работать при наличии curl
Далее Вам нужно запустить любой из web серверов (python, ran, nginx, lighttpd, caddy и т.д. и т.п.)
Загрузить скрипт, сделать исполняемым, отредактировать его, проставив нужные пути, ваш логин и пароль, сделать первый запуск. После удачного скачивания плейлистов, добавить задание cron
Я написал в одном из комментариев(чуть выше вашего), что скрипт рассчитан на того, кто знает как работать в linux/Unix
Запустил скрипт c помощью Dream-Explorer ,он отработал,пишет Создаем папку,Проверим доступность ресурса,Ресурс доступен,Загружаем,Обрабатывае м плейлист:перемещаем загруженный плейлист в /media/hdd,Удаляем временную папку/media/hdd/tmp,Выполнение скрипта завершено,Выполнение закончено.
В итоге в /media/hdd/ нет плейлистов, одни уведомления о какой то ошибке.
Я плохо разбираюсь может,что не так делаю может надо, что то ещё установить,
Вам необходимо зарегистрироваться на сайте iptvin.ruи правильно прописать в ссылке Ваш логин и пароль. каналов -1
Пoддepжка в решении проблем - непосредственно в теме плeйлиcта.
Я зарегистрирован,правильно прописан логин и пароль.
Пожалуйста решите проблему с ресиверами в Е2.
Ну так выхлоп скрипта, "запостили" бы. Возможно сайт временно не отдавал плейлисты из-за атак или тех. обслуживания...
В скрипте есть мой телеграм, пришлите скриншоты туда
плейлист с url загружается и плагин Дорика загружает этот url ,а ваш скрипт не загружает этот url.
Прошу Вас сделать для ресиверов на Е2.
Я этого не делал , может иза этого нге работает.
Если плагин дорика загружает, используйте его. У меня нет такого ресивера, для того чтобы проверить работоспособность
Цитирую mavv:
Вам вообще не нужен веб сервер, если вы смотрите через этот же ресивер. В плеере потребуется указать путь до плейлиста.
Попробуйте выбрать другой URL
RSS лента комментариев этой записи.