12 KiB
title, tags
| title | tags | |
|---|---|---|
| serve |
|
Команда serve
Запускает встроенный веб-сервер для просмотра плейлистов и результатов их проверки в браузере.
iptvc serve [flags]
Веб-сервер
-p, --port
Порт для веб-сервера.
Переопределяет server.port из config.yml и переменную WEB_PORT.
Если не указан, используется значение из config.yml (по умолчанию 8080).
iptvc serve -p 3000
--host
Хост для привязки веб-сервера.
Переопределяет server.host из config.yml и переменную WEB_HOST.
Если не указан, используется значение из config.yml (по умолчанию — все интерфейсы).
iptvc serve --host 127.0.0.1
Фоновая проверка
--check
Включает фоновую проверку плейлистов. По умолчанию выключена.
Без этого флага веб-сервер работает standalone — отображает данные из кеша (если включён) или статус unknown для всех плейлистов.
iptvc serve --check
При --check доступны следующие флаги:
-i, --ini
Путь к локальному ini-файлу с описанием плейлистов.
Значение по умолчанию: ./playlists.ini
iptvc serve --check -i ~/my.ini
-t, --tags
Путь к json-файлу с описанием тегов каналов.
Значение по умолчанию: ./channels.json
iptvc serve --check -t ~/tags.json
--playlists-all-cooldown
Пауза между полными циклами фоновой проверки в миллисекундах. Параметр переопределяет check.playlists.all-cooldown из конфигурации.
Значение по умолчанию: значение check.playlists.all-cooldown из конфигурации, обычно 0.
# пауза 2 минуты между циклами
iptvc serve --check --playlists-all-cooldown 120000
--repeat
Количество циклов фоновой проверки.
Значение по умолчанию: 0 (бесконечно)
# проверить один раз и остановить фоновую проверку
iptvc serve --check --repeat 1
-r, --random
Максимальное количество случайных плейлистов из ini-файла для проверки.
iptvc serve --check -r 10
Глобальные флаги
--config
Путь к файлу конфигурации config.yml.
Значение по умолчанию: config.yml
iptvc serve --config /etc/iptvc/config.yml
--debug
Включает режим отладки. Переопределяет app.debug из config.yml и переменную APP_DEBUG.
iptvc serve --debug
--log-level
Устанавливает уровень логирования. Переопределяет app.log_level из config.yml.
Доступные значения: debug, info, warn, error.
iptvc serve --log-level debug
-v, --verbose
Включает подробное логирование.
Флаги проверки плейлистов
Эти флаги переопределяют параметры секции check.playlists из config.yml. Доступны для команд check и serve. Имеют смысл только при включённой фоновой проверке (--check или check.start-on-serve: true).
--playlists-timeout
Таймаут HTTP-запроса плейлиста в миллисекундах.
Переопределяет check.playlists.timeout (по умолчанию 10000).
iptvc serve --check --playlists-timeout 5000
--playlists-all-cooldown
Задержка в миллисекундах после проверки всех плейлистов.
Переопределяет check.playlists.all-cooldown (по умолчанию 0).
iptvc serve --check --playlists-all-cooldown 10000
--playlists-one-cooldown
Задержка в миллисекундах после проверки каждого плейлиста.
Переопределяет check.playlists.one-cooldown (по умолчанию 0).
iptvc serve --check --playlists-one-cooldown 2000
--playlists-max-routines
Максимум одновременно проверяемых плейлистов.
Переопределяет check.playlists.max-routines (по умолчанию 5).
iptvc serve --check --playlists-max-routines 10
--playlists-per-routine
Количество плейлистов на одну процедуру проверки.
Переопределяет check.playlists.per-routine (по умолчанию 1).
iptvc serve --check --playlists-per-routine 3
--playlists-user-agent
User-Agent для HTTP-запросов плейлистов. Можно указать несколько — будет выбран случайный при каждом запросе.
Переопределяет check.playlists.user-agent.
iptvc serve --check --playlists-user-agent "Mozilla/5.0" "curl/8.0"
Флаги проверки каналов
Эти флаги переопределяют параметры секции check.channels из config.yml. Доступны для команд check и serve. Имеют смысл только при включённой фоновой проверке.
--channels-timeout
Таймаут HTTP-запроса канала в миллисекундах.
Переопределяет check.channels.timeout (по умолчанию 10000).
iptvc serve --check --channels-timeout 8000
--channels-byte-range
Объём данных в байтах для загрузки от сервера при проверке канала.
Переопределяет check.channels.byte-range (по умолчанию 512).
iptvc serve --check --channels-byte-range 1024
--channels-cooldown
Задержка в миллисекундах после проверки каждого канала.
Переопределяет check.channels.cooldown (по умолчанию 0).
iptvc serve --check --channels-cooldown 100
--channels-max-routines
Максимум одновременно проверяемых каналов.
Переопределяет check.channels.max-routines (по умолчанию 50).
iptvc serve --check --channels-max-routines 100
--channels-per-routine
Количество каналов на одну процедуру проверки.
Переопределяет check.channels.per-routine (по умолчанию 10).
iptvc serve --check --channels-per-routine 20
--channels-user-agent
User-Agent для HTTP-запросов каналов. Можно указать несколько — будет выбран случайный при каждом запросе.
Переопределяет check.channels.user-agent.
iptvc serve --check --channels-user-agent "Mozilla/5.0" "VLC/3.0"
Флаги кеша
Эти флаги переопределяют параметры секции cache из config.yml. Доступны для команд check и serve.
--cache-enabled
Включает кеширование результатов в KeyDB/Redis.
Переопределяет cache.enabled (по умолчанию false).
iptvc serve --cache-enabled
--cache-host
Хост KeyDB/Redis.
Переопределяет cache.host (по умолчанию localhost).
iptvc serve --cache-enabled --cache-host 192.168.1.10
--cache-port
Порт KeyDB/Redis.
Переопределяет cache.port (по умолчанию 6379).
iptvc serve --cache-enabled --cache-port 6380
--cache-username
Логин для подключения к KeyDB/Redis.
Переопределяет cache.username.
iptvc serve --cache-enabled --cache-username myuser
--cache-password
Пароль для подключения к KeyDB/Redis.
Переопределяет cache.password.
iptvc serve --cache-enabled --cache-password secret
--cache-db
Номер базы данных KeyDB/Redis.
Переопределяет cache.db (по умолчанию 0).
iptvc serve --cache-enabled --cache-db 2
--cache-ttl
TTL записей кеша в секундах.
Переопределяет cache.ttl (по умолчанию 1800).
iptvc serve --cache-enabled --cache-ttl 3600
Примеры
# просто веб-сервер без проверки
iptvc serve
# веб-сервер с фоновой проверкой каждые 2 минуты
iptvc serve --check --playlists-all-cooldown 120000
# веб-сервер на порту 3000 с проверкой 10 случайных плейлистов
iptvc serve -p 3000 --check -r 10
# один цикл проверки, затем только веб-сервер
iptvc serve --check --repeat 1 --playlists-all-cooldown 0
# веб-сервер с кешем и фоновой проверкой, увеличенные лимиты параллелизма
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[8] |
Редирект на прямую ссылку плейлиста |
| GET | /{code}/details |
Страница с описанием плейлиста |
| GET | /api/playlists/{code} |
JSON: информация о плейлисте |
| GET | /api/version |
JSON: версии компонентов |
| GET | /api/health |
JSON: состояние сервиса |
| GET | /api/stats |
JSON: статистика по плейлистам и каналам |