Команда serve¶
Запускает встроенный веб-сервер для просмотра плейлистов и результатов их проверки в браузере.
Веб-сервер¶
-p, --port¶
Порт для веб-сервера.
Переопределяет server.port из config.yml и переменную SERVER_PORT.
Если не указан, используется значение из config.yml (по умолчанию 8800).
--host¶
Хост для привязки веб-сервера.
Переопределяет server.host из config.yml и переменную SERVER_HOST.
Если не указан, используется значение из config.yml (по умолчанию — все интерфейсы).
Фоновая проверка¶
--check¶
Включает фоновую проверку плейлистов. По умолчанию выключена.
Без этого флага веб-сервер работает standalone — отображает данные из кеша (если включён) или статус unknown для всех плейлистов.
При --check доступны следующие флаги:
-i, --ini¶
Путь к локальному ini-файлу с описанием плейлистов.
Значение по умолчанию: ./playlists.ini
-t, --tags¶
Путь к json-файлу с описанием тегов каналов.
Значение по умолчанию: ./channels.json
--playlists-all-cooldown¶
Пауза между полными циклами фоновой проверки в секундах. Параметр переопределяет check.playlists.allCooldown из конфигурации.
Значение по умолчанию: значение check.playlists.allCooldown из конфигурации, обычно 1800 (30 минут).
--repeat¶
Количество циклов фоновой проверки.
Значение по умолчанию: 0 (бесконечно)
-r, --random¶
Максимальное количество случайных плейлистов из ini-файла для проверки.
Глобальные флаги¶
--config¶
Путь к файлу конфигурации config.yml.
Значение по умолчанию: config.yml
--debug¶
Включает режим отладки.
Переопределяет app.debug из config.yml и переменную APP_DEBUG.
--log-level¶
Устанавливает уровень логирования.
Переопределяет app.logLevel из config.yml.
Доступные значения: debug, info, warn, error.
-v, --verbose¶
Включает подробное логирование.
Флаги проверки плейлистов¶
Эти флаги переопределяют параметры секции check.playlists из config.yml. Доступны для команд check и serve. Имеют смысл только при включённой фоновой проверке (--check или check.startOnServe: true).
--playlists-timeout¶
Таймаут HTTP-запроса плейлиста в секундах.
Переопределяет check.playlists.timeout (по умолчанию 10).
--playlists-all-cooldown¶
Задержка в секундах после проверки всех плейлистов.
Переопределяет check.playlists.allCooldown (по умолчанию 1800).
--playlists-one-cooldown¶
Задержка в секундах после проверки каждого плейлиста.
Переопределяет check.playlists.oneCooldown (по умолчанию 2).
--playlists-max-routines¶
Максимум одновременно проверяемых плейлистов.
Переопределяет check.playlists.maxRoutines (по умолчанию 1).
--playlists-per-routine¶
Количество плейлистов на одну процедуру проверки.
Переопределяет check.playlists.perRoutine (по умолчанию 1).
--playlists-user-agent¶
User-Agent для HTTP-запросов плейлистов. Можно указать несколько — будет выбран случайный при каждом запросе.
Переопределяет check.playlists.userAgent.
Флаги проверки каналов¶
Эти флаги переопределяют параметры секции check.channels из config.yml. Доступны для команд check и serve. Имеют смысл только при включённой фоновой проверке.
--channels-timeout¶
Таймаут HTTP-запроса канала в секундах.
Переопределяет check.channels.timeout (по умолчанию 10).
--channels-byte-range¶
Объём данных в байтах для загрузки от сервера при проверке канала.
Переопределяет check.channels.byteRange (по умолчанию 512).
--channels-cooldown¶
Задержка в секундах после проверки каждого канала.
Переопределяет check.channels.cooldown (по умолчанию 0).
--channels-max-routines¶
Максимум одновременно проверяемых каналов.
Переопределяет check.channels.maxRoutines (по умолчанию 50).
--channels-per-routine¶
Количество каналов на одну процедуру проверки.
Переопределяет check.channels.perRoutine (по умолчанию 10).
--channels-user-agent¶
User-Agent для HTTP-запросов каналов. Можно указать несколько — будет выбран случайный при каждом запросе.
Переопределяет check.channels.userAgent.
Флаги кеша¶
Эти флаги переопределяют параметры секции cache из config.yml. Доступны для команд check и serve.
--cache-enabled¶
Включает кеширование результатов redis-совместимым сервисом.
Переопределяет cache.enabled (по умолчанию true).
--cache-host¶
Хост сервиса кеша.
Переопределяет cache.host (по умолчанию cache).
--cache-port¶
Порт сервиса кеша.
Переопределяет cache.port (по умолчанию 6379).
--cache-username¶
Логин для подключения к сервису кеша.
Переопределяет cache.username.
--cache-password¶
Пароль для подключения к сервису кеша.
Переопределяет cache.password.
--cache-db¶
Номер базы данных кеша.
Переопределяет cache.db (по умолчанию 0).
--cache-ttl¶
TTL записей кеша в секундах.
Переопределяет cache.ttl (по умолчанию 3600).
Примеры¶
# просто веб-сервер без проверки
iptvc serve
# веб-сервер с фоновой проверкой каждые 2 минуты
iptvc serve --check --playlists-all-cooldown 120
# веб-сервер на порту 3000 с проверкой 10 случайных плейлистов
iptvc serve -p 3000 --check -r 10
# один цикл проверки, затем только веб-сервер
iptvc serve --check --repeat 1
# веб-сервер с кешем и фоновой проверкой, увеличенные лимиты параллелизма
iptvc serve --check --cache-enabled \
--playlists-max-routines 10 \
--channels-max-routines 100
# веб-сервер с отладкой и кастомным user-agent
iptvc serve --check --debug \
--playlists-user-agent "Mozilla/5.0" \
--channels-user-agent "VLC/3.0"
Веб-маршруты¶
| Метод | Путь | Описание |
|---|---|---|
| GET | / |
Главная страница со списком плейлистов |
| GET | /page/{N} |
Страница N списка плейлистов |
| GET | /{code} |
Редирект на прямую ссылку плейлиста |
| GET | /{code}.m3u |
Редирект на прямую ссылку плейлиста |
| GET | /{code}.m3u8 |
Редирект на прямую ссылку плейлиста |
| GET | /{code}/details |
Страница с описанием плейлиста |
| GET | /api |
Редирект на /api/ (Swagger UI) |
| GET | /api/ |
Swagger UI с описанием REST API |
| GET | /api/openapi.json |
OpenAPI-схема в формате JSON |
| GET | /api/playlists |
JSON: массив всех плейлистов |
| GET | /api/playlists/{code} |
JSON: информация о плейлисте |
| GET | /api/playlists/{code}/channels |
JSON: список каналов плейлиста |
| GET | /api/version |
JSON: версии компонентов |
| GET | /api/health |
JSON: состояние сервиса |
| GET | /api/stats |
JSON: статистика по плейлистам и каналам |