Веб-сервис iptv.axenov.dev
Содержит исходный код веб-сервиса и консольные инструменты проверки плейлистов и каналов.
Использует playlists.ini с описанием плейлистов для своей работы.
Веб-сайт: iptv.axenov.dev
Зеркало: m3u.su
Исходный код: git.axenov.dev/IPTV/web
Telegram-канал: @iptv_aggregator
Обсуждение: @iptv_aggregator_chat
Дополнительные сведения: git.axenov.dev/IPTV/.profile
О веб-сервисе
Решает две задачи:
- отображение списка плейлистов, которые можно использовать в своём плеере;
- сокращение длинных ссылок для удобства ввода с пульта на ТВ и лёгкого запоминания.
Установка и настройка
- Развернуть docker-среду
cd iptv-docker; cp .env.example .env
- В файле
.env
поменять необходимые значения cd ..; docker compose up -d --build
Описание переменных окружения
APP_URL
-- адрес, на котором расположен сервис: используется для генерации ссылок на плейлисты;APP_DEBUG
-- признак отладки сервиса (включает служебный вывод в некоторых местах);APP_ENV
-- окружение (см. ниже);APP_TITLE
-- название сервиса: используется для вывода на страницах сайта и в их заголовках;APP_TIMEZONE
-- часовой пояс, в котором расположен сервер;PAGE_SIZE
-- размер страницы для постраничной навигации на главной странице;USER_AGENT
-- user-agent для http-клиента, котоырй будет использоваться при подключении к внешним ресурсам;CACHE_HOST
,CACHE_PORT
,CACHE_PASSWORD
,CACHE_DB
-- реквизиты подключения к cache/keydb;CACHE_TTL
-- количество часов для кэширования информации;TWIG_USE_CACHE
-- признак использования кэша компиляции шаблонов Twig.
У каждой переменной есть умолчание на случай отсутствия файла .env
или её отсутствия в нём.
Но некорректные значения некоторых переменных могут привести к фатальным ошибкам.
Перегрузка переменных окружения
В разных средах можно использовать разные env-файлы для своего удобства.
Для этого следует:
- в файле
.env
переменнойAPP_ENV
указать значение, например,custom
или любое другое; - скопировать файл
.env
в файл.env.custom
; - в файле
.env.custom
указать все или только необходимые переменные со произвольными значениями.
Отсутствие файла .env.custom
не вызовет ошибку.
При подгрузке файла .env.custom
будут перегружены только те переменные окружения, которые в нём объявлены.
Использованный стек
- php8.4-fpm
- SlimPHP v4
- Guzzle v7
- Twig v3
- symfony/console
- focusim/php-qrcode
- Bootstrap v5.2
- Ionicons
- List.js
- telegram-bot/api
Лицензия
Исходный код распространяется на условиях лицензии MIT.
См. файл LICENSE для подробностей.