Что это такое?
Инструмент для автообновления IPTV-источников: собирает ссылки на live-потоки из разных источников, проверяет их доступность, тестирует скорость и выдаёт готовые плейлисты M3U/TXT или API-эндпоинт, который можно импортировать в любой плеер.
Это десктопная программа, серверный сервис или скрипт, который я запускаю один раз?
Есть несколько вариантов: десктопный GUI для Windows/macOS, версия для командной строки, Docker-образы (amd64/arm64/armv7) или полностью автоматическая работа через GitHub Actions workflow. Ядро на Python также может отдавать результаты на странице через порт 8080.
Как запустить и получить первый плейлист?
Запустите Docker-образ или десктопный GUI, настройте config/config.ini (или переменные окружения) и дайте ему обновиться — по умолчанию обновление выполняется один раз при старте. Результаты пишутся в output/result.txt плюс файл M3U, их отдаёт встроенный веб-сервис на порту 8080 — просто укажите этот URL в своём плеере.
Нужно ли устанавливать что-то ещё вместе с ним?
Docker-образ не требует ничего дополнительного. Для десктопного GUI FFmpeg нужно установить самостоятельно — инструмент вызывает его, чтобы определять разрешение потока и делать контрольные скриншоты при проверке.
Найденные потоки действительно будут нормально играть?
Никаких гарантий нет — в README предупреждают, что качество результатов зависит от ваших источников данных и сети, так что настройку конфига придётся подгонять под себя. Инструмент отфильтровывает мёртвые потоки и заглушки с рекламой, а опциональный режим компенсации может добирать каналы, чтобы список не оказался пустым.
Им правда можно бесплатно пользоваться, и в чём подвох лицензии?
GitHub помечает лицензию как NOASSERTION — это собственные условия, а не стандартная open-source лицензия, — и в README есть отдельные разделы Disclaimer и License. Там же подчёркивается необходимость работать только в рамках законного доступа и правил целевых сайтов.
Откуда он берёт ссылки на потоки?
По умолчанию — из локального файла источников (local.txt) и из подписок — добавленных вами удалённых плейлистов. Нерабочие адреса подписок или EPG определяются и автоматически отключаются, а для загрузки можно задать свой User-Agent.
Как он решает, какие ссылки стоит оставить?
Каждый кандидат проходит тест скорости: проверяются задержка, битрейт, разрешение и частота кадров. По умолчанию отсеиваются потоки ниже 1280x720 или 0.5 MiB/s, выбрасываются заглушки без сигнала и рекламные зацикленные ролики, а внутри каждого канала ссылки сортируются по скорости; предпочтения по региону, провайдеру и IPv4/IPv6 настраиваются.
Может ли он обновлять плейлист сам, без моего участия?
Да — режимы GUI, CLI и Docker поддерживают обновление по расписанию: по интервалу или в фиксированное время (по умолчанию каждые 12 часов), а результаты могут записываться в реальном времени прямо во время проверки. Развёртывания через GitHub Actions работают по собственному расписанию workflow.
Что есть в готовых плейлистах, кроме самих ссылок?
Данные телепрограммы (EPG) для превью передач, логотипы каналов (локальные или из библиотеки логотипов), метки времени обновления и сведения по каждой ссылке — источник, разрешение и т.п. Режим restream перекодирует потоки для слабых сетей и прямого воспроизведения в браузере, также поддерживаются интерфейсы типа replay.
What are similar projects?
IPTV, Tvlist-awesome-m3u-m3u8, iptv, live, awesome-iptv, IPTV, LibreTV, bug



