Files
docs/content/iptvc/commands/serve.md
T
2026-07-16 12:07:22 +08:00

12 KiB

title, tags
title tags
serve
iptvc

Команда 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: статистика по плейлистам и каналам