wip7
This commit is contained in:
@@ -0,0 +1,384 @@
|
||||
---
|
||||
title: check
|
||||
tags: [iptvc]
|
||||
---
|
||||
|
||||
# Команда `check`
|
||||
|
||||
Команда поддерживает множество аргументов для разных целей.
|
||||
|
||||
Они могут дополнять друг друга.
|
||||
|
||||
Порядок аргументов не имеет значения.
|
||||
|
||||
## `-i`, `--ini` { id=ini }
|
||||
|
||||
Указывает путь к локальному [ini-файлу](../../common/formats/playlists.md) с описанием плейлистов.
|
||||
|
||||
Можно указать только однажды.
|
||||
|
||||
Значение по умолчанию: `./playlists.ini`
|
||||
|
||||
Если файл не найден, проверка плейлистов будет доступна только по ссылкам ([`--url`](#url)) или из локальных файлов ([`--file`](#file)).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini
|
||||
```
|
||||
|
||||
## `-t`, `--tags` { id=tags }
|
||||
|
||||
Указывает путь к локальному [json-файлу](../../common/formats/channels.md) с описанием тегов каналов.
|
||||
|
||||
Можно указать только однажды.
|
||||
|
||||
Значение по умолчанию: `./channels.json`
|
||||
|
||||
Если файл не найден, то будет выведено предупреждение о том, что каналы не будут помечены тегами.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -t ~/tags.json
|
||||
```
|
||||
|
||||
## `-f`, `--file` { id=file }
|
||||
|
||||
Указывает путь к локальному файлу плейлиста `*.m3u`/`*.m3u8`.
|
||||
|
||||
Можно указать несколько разных.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -f playlist.m3u
|
||||
./iptvc check -f playlist1.m3u --file playlist2.m3u8
|
||||
./iptvc check --file /path/to/playlist.m3u
|
||||
```
|
||||
|
||||
## `-u`, `--url` { id=url }
|
||||
|
||||
Указывает URL удалённого плейлиста (поддерживаются протоколы http/https).
|
||||
|
||||
Можно указать несколько разных.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -u http://example.com/playlist.m3u
|
||||
./iptvc check -u https://site.com/playlist.m3u8 --url http://other.com/list.m3u
|
||||
```
|
||||
|
||||
## `-c`, `--code` { id=code }
|
||||
|
||||
Указывает код плейлиста из файла [playlists.ini](../../common/formats/playlists.md).
|
||||
|
||||
Можно указать несколько разных.
|
||||
|
||||
!!! warning "Работает только вместе с [`--ini`](#ini)."
|
||||
|
||||
Если не указан ни разу, то будут проверены все плейлисты, которые указаны в ini-файле.
|
||||
|
||||
Если используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini -c RU_BASIC --code MOVIE_PREMIUM
|
||||
```
|
||||
|
||||
## `--repeat` { id=repeat }
|
||||
|
||||
Указывает количество повторений (итераций) команды.
|
||||
|
||||
Значение по умолчанию: `1`
|
||||
|
||||
Если указано `0`, тогда:
|
||||
|
||||
* повторение будет бесконечным;
|
||||
|
||||
* если переданы [`--url`](#url), [`--file`](#file) или [`--code`](#code), то на каждой итерации будут проверяться только указанные плейлисты;
|
||||
|
||||
* если не переданы [`--url`](#url), [`--file`](#file) или [`--code`](#code), то на каждой итерации список плейлистов будет подготавливаться заново.
|
||||
Если при этом используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.
|
||||
|
||||
```shell title="Пример"
|
||||
# проверить 5 раз плейлисты с кодами xx и yy из my.ini
|
||||
./iptvc check -i ~/my.ini -c xx --code yy --repeat 5
|
||||
# бесконечно проверять все плейлисты из my.ini, без учёта проверенных
|
||||
./iptvc check -i ~/my.ini --repeat 0
|
||||
# бесконечно проверять плейлист из файла
|
||||
./iptvc check -f test.m3u --repeat 0
|
||||
```
|
||||
|
||||
## `--playlists-all-cooldown` { id=playlists-all-cooldown }
|
||||
|
||||
Указывает паузу между полными циклами проверки в миллисекундах. Параметр переопределяет `check.playlists.all-cooldown` из конфигурации.
|
||||
|
||||
Пауза применяется после завершения полного цикла и перед началом следующего. Внутри цикла этот параметр не используется: для задержки между плейлистами применяется `check.playlists.one-cooldown`.
|
||||
|
||||
Значение по умолчанию: значение `check.playlists.all-cooldown` из конфигурации, обычно `0`.
|
||||
|
||||
```shell title="Пример"
|
||||
# проверить 5 раз с паузой 5 секунд между циклами
|
||||
./iptvc check -i ~/my.ini -c xx --code yy --repeat 5 --playlists-all-cooldown 5000
|
||||
# бесконечно проверять все плейлисты из my.ini каждый час
|
||||
./iptvc check -i ~/my.ini --repeat 0 --playlists-all-cooldown 3600000
|
||||
# бесконечно проверять плейлист из файла с паузой 10 секунд
|
||||
./iptvc check -f test.m3u --repeat 0 --playlists-all-cooldown 10000
|
||||
```
|
||||
|
||||
## `-r`, `--random` { id=random }
|
||||
|
||||
Указывает максимальное количество случайных плейлистов из ini-файла для проверки.
|
||||
|
||||
!!! warning "Работает только вместе с [`--ini`](#ini)."
|
||||
|
||||
Если не указан ни разу, то будут проверены все плейлисты, которые указаны в ini-файле.
|
||||
|
||||
Если используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini -r 10
|
||||
```
|
||||
|
||||
## `-j`, `--json` { id=json }
|
||||
|
||||
Если указано, то подробные результаты проверки будут выводиться в формате JSON.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -f playlist.m3u --json
|
||||
```
|
||||
|
||||
## `-q`, `--quiet` { id=quiet }
|
||||
|
||||
Подавляет вывод всех логов.
|
||||
|
||||
!!! info "Не влияет на [`--json`](#json) (JSON-данные будут выведены в stdout), но перекрывает [`--verbose`](#verbose) (логов не будет вовсе, независимо от повышенной подробности)."
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --random 10 --quiet --json
|
||||
```
|
||||
|
||||
## `-v`, `--verbose` { id=verbose }
|
||||
|
||||
Включает подробное логирование.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check --random 10 --verbose
|
||||
```
|
||||
|
||||
## Глобальные флаги { id=global }
|
||||
|
||||
Эти флаги доступны для всех команд и переопределяют значения из `config.yml`.
|
||||
|
||||
### `--debug` { id=debug }
|
||||
|
||||
Включает режим отладки. Переопределяет `app.debug` из `config.yml` и переменную `APP_DEBUG`.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --debug
|
||||
```
|
||||
|
||||
### `--log-level` { id=log-level }
|
||||
|
||||
Устанавливает уровень логирования. Переопределяет `app.log_level` из `config.yml`.
|
||||
|
||||
Доступные значения: `debug`, `info`, `warn`, `error`.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --log-level debug
|
||||
```
|
||||
|
||||
## Флаги проверки плейлистов { id=check-playlists }
|
||||
|
||||
Эти флаги переопределяют параметры секции `check.playlists` из `config.yml`. Доступны для команд `check` и `serve`.
|
||||
|
||||
### `--playlists-timeout` { id=playlists-timeout }
|
||||
|
||||
Таймаут HTTP-запроса плейлиста в миллисекундах.
|
||||
|
||||
Переопределяет `check.playlists.timeout` (по умолчанию `10000`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --playlists-timeout 5000
|
||||
```
|
||||
|
||||
### `--playlists-all-cooldown` { id=playlists-all-cooldown }
|
||||
|
||||
Задержка в миллисекундах после проверки всех плейлистов.
|
||||
|
||||
Переопределяет `check.playlists.all-cooldown` (по умолчанию `0`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --playlists-all-cooldown 10000
|
||||
```
|
||||
|
||||
### `--playlists-one-cooldown` { id=playlists-one-cooldown }
|
||||
|
||||
Задержка в миллисекундах после проверки каждого плейлиста.
|
||||
|
||||
Переопределяет `check.playlists.one-cooldown` (по умолчанию `0`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --playlists-one-cooldown 2000
|
||||
```
|
||||
|
||||
### `--playlists-max-routines` { id=playlists-max-routines }
|
||||
|
||||
Максимум одновременно проверяемых плейлистов.
|
||||
|
||||
Переопределяет `check.playlists.max-routines` (по умолчанию `5`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --playlists-max-routines 10
|
||||
```
|
||||
|
||||
### `--playlists-per-routine` { id=playlists-per-routine }
|
||||
|
||||
Количество плейлистов на одну процедуру проверки.
|
||||
|
||||
Переопределяет `check.playlists.per-routine` (по умолчанию `1`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --playlists-per-routine 3
|
||||
```
|
||||
|
||||
### `--playlists-user-agent` { id=playlists-user-agent }
|
||||
|
||||
User-Agent для HTTP-запросов плейлистов. Можно указать несколько — будет выбран случайный при каждом запросе.
|
||||
|
||||
Переопределяет `check.playlists.user-agent`.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --playlists-user-agent "Mozilla/5.0" "curl/8.0"
|
||||
```
|
||||
|
||||
## Флаги проверки каналов { id=check-channels }
|
||||
|
||||
Эти флаги переопределяют параметры секции `check.channels` из `config.yml`. Доступны для команд `check` и `serve`.
|
||||
|
||||
### `--channels-timeout` { id=channels-timeout }
|
||||
|
||||
Таймаут HTTP-запроса канала в миллисекундах.
|
||||
|
||||
Переопределяет `check.channels.timeout` (по умолчанию `10000`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --channels-timeout 8000
|
||||
```
|
||||
|
||||
### `--channels-byte-range` { id=channels-byte-range }
|
||||
|
||||
Объём данных в байтах для загрузки от сервера при проверке канала.
|
||||
|
||||
Переопределяет `check.channels.byte-range` (по умолчанию `512`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --channels-byte-range 1024
|
||||
```
|
||||
|
||||
### `--channels-cooldown` { id=channels-cooldown }
|
||||
|
||||
Задержка в миллисекундах после проверки каждого канала.
|
||||
|
||||
Переопределяет `check.channels.cooldown` (по умолчанию `0`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --channels-cooldown 100
|
||||
```
|
||||
|
||||
### `--channels-max-routines` { id=channels-max-routines }
|
||||
|
||||
Максимум одновременно проверяемых каналов.
|
||||
|
||||
Переопределяет `check.channels.max-routines` (по умолчанию `50`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --channels-max-routines 100
|
||||
```
|
||||
|
||||
### `--channels-per-routine` { id=channels-per-routine }
|
||||
|
||||
Количество каналов на одну процедуру проверки.
|
||||
|
||||
Переопределяет `check.channels.per-routine` (по умолчанию `10`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --channels-per-routine 20
|
||||
```
|
||||
|
||||
### `--channels-user-agent` { id=channels-user-agent }
|
||||
|
||||
User-Agent для HTTP-запросов каналов. Можно указать несколько — будет выбран случайный при каждом запросе.
|
||||
|
||||
Переопределяет `check.channels.user-agent`.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --channels-user-agent "Mozilla/5.0" "VLC/3.0"
|
||||
```
|
||||
|
||||
## Флаги кеша { id=cache-flags }
|
||||
|
||||
Эти флаги переопределяют параметры секции `cache` из `config.yml`. Доступны для команд `check` и `serve`.
|
||||
|
||||
### `--cache-enabled` { id=cache-enabled }
|
||||
|
||||
Включает кеширование результатов в KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.enabled` (по умолчанию `false`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --cache-enabled
|
||||
```
|
||||
|
||||
### `--cache-host` { id=cache-host }
|
||||
|
||||
Хост KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.host` (по умолчанию `localhost`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --cache-enabled --cache-host 192.168.1.10
|
||||
```
|
||||
|
||||
### `--cache-port` { id=cache-port }
|
||||
|
||||
Порт KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.port` (по умолчанию `6379`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --cache-enabled --cache-port 6380
|
||||
```
|
||||
|
||||
### `--cache-username` { id=cache-username }
|
||||
|
||||
Логин для подключения к KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.username`.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --cache-enabled --cache-username myuser
|
||||
```
|
||||
|
||||
### `--cache-password` { id=cache-password }
|
||||
|
||||
Пароль для подключения к KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.password`.
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --cache-enabled --cache-password secret
|
||||
```
|
||||
|
||||
### `--cache-db` { id=cache-db }
|
||||
|
||||
Номер базы данных KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.db` (по умолчанию `0`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --cache-enabled --cache-db 2
|
||||
```
|
||||
|
||||
### `--cache-ttl` { id=cache-ttl }
|
||||
|
||||
TTL записей кеша в секундах.
|
||||
|
||||
Переопределяет `cache.ttl` (по умолчанию `1800`).
|
||||
|
||||
```shell title="Пример"
|
||||
./iptvc check -i ~/my.ini --cache-enabled --cache-ttl 3600
|
||||
```
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: help
|
||||
tags: [iptvc]
|
||||
---
|
||||
|
||||
# Команда `help`
|
||||
|
||||
Для получения помощи о программе, нужно вызвать команду `help` или передать аргумент `-h` или `--help`.
|
||||
|
||||
Равнозначные команды:
|
||||
|
||||
```
|
||||
./iptvc help
|
||||
./iptvc --help
|
||||
./iptvc -h
|
||||
```
|
||||
|
||||
Вывод (может незначительно отличаться в разных версиях):
|
||||
|
||||
```
|
||||
Simple utility to check iptv playlists. Part of m3u.su project.
|
||||
Copyright (c) 2025, Антон Аксенов, MIT license.
|
||||
|
||||
Usage:
|
||||
iptvc [command]
|
||||
|
||||
Available Commands:
|
||||
check Check playlists
|
||||
completion Generate the autocompletion script for the specified shell
|
||||
help Help about any command
|
||||
serve Start web interface
|
||||
version Show version
|
||||
|
||||
Flags:
|
||||
--config string path to config file (default "config.yml")
|
||||
--debug enable debug mode (overrides config.yml)
|
||||
-h, --help help for iptvc
|
||||
--log-level string log level: debug, info, warn, error (overrides config.yml)
|
||||
-v, --verbose enable additional output
|
||||
|
||||
Use "iptvc [command] --help" for more information about a command.
|
||||
```
|
||||
|
||||
Чтобы получить справку о конкретной команде, можно вызвать программу одним из способов:
|
||||
|
||||
```
|
||||
./iptvc help <КОМАНДА>
|
||||
./iptvc <КОМАНДА> --help
|
||||
./iptvc <КОМАНДА> -h
|
||||
```
|
||||
|
||||
Список команд указан в этом разделе.
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
icon: octicons/terminal-24
|
||||
hide: [toc]
|
||||
---
|
||||
|
||||
# :octicons-terminal-24: Справочник команд
|
||||
|
||||
* [`check`](check.md) — проверка плейлистов
|
||||
* [`serve`](serve.md) — запуск веб-интерфейса
|
||||
* [`version`](version.md) — получение версии и выход
|
||||
* [`help`](help.md) — получение справки о программе и выход
|
||||
|
||||
Каждая команда отвечает за конкретную операцию и имеет свои настройки (аргументы), которыми можно влиять на логику выполнения операции.
|
||||
|
||||
Также есть глобальные аргументы, которые доступны для всех команд:
|
||||
|
||||
| Флаг | Тип | Соответствует в `config.yml` | Описание |
|
||||
| ----------------- | ------ | ---------------------------- | ----------------------------------------------------- |
|
||||
| `--config` | string | — | Путь к файлу конфигурации (по умолчанию `config.yml`) |
|
||||
| `--debug` | bool | `app.debug` | Включить режим отладки |
|
||||
| `--log-level` | string | `app.log_level` | Уровень логирования: `debug`, `info`, `warn`, `error` |
|
||||
| `-v`, `--verbose` | bool | — | Подробное логирование |
|
||||
|
||||
@@ -0,0 +1,378 @@
|
||||
---
|
||||
title: serve
|
||||
tags: [iptvc]
|
||||
---
|
||||
|
||||
# Команда `serve`
|
||||
|
||||
Запускает встроенный веб-сервер для просмотра плейлистов и результатов их проверки в браузере.
|
||||
|
||||
```bash
|
||||
iptvc serve [flags]
|
||||
```
|
||||
|
||||
## Веб-сервер
|
||||
|
||||
### `-p`, `--port` { id="port" }
|
||||
|
||||
Порт для веб-сервера.
|
||||
|
||||
Переопределяет `server.port` из `config.yml` и переменную `WEB_PORT`.
|
||||
|
||||
Если не указан, используется значение из `config.yml` (по умолчанию `8080`).
|
||||
|
||||
```bash
|
||||
iptvc serve -p 3000
|
||||
```
|
||||
|
||||
### `--host` { id="host" }
|
||||
|
||||
Хост для привязки веб-сервера.
|
||||
|
||||
Переопределяет `server.host` из `config.yml` и переменную `WEB_HOST`.
|
||||
|
||||
Если не указан, используется значение из `config.yml` (по умолчанию — все интерфейсы).
|
||||
|
||||
```bash
|
||||
iptvc serve --host 127.0.0.1
|
||||
```
|
||||
|
||||
## Фоновая проверка
|
||||
|
||||
### `--check` { id="check" }
|
||||
|
||||
Включает фоновую проверку плейлистов. По умолчанию выключена.
|
||||
|
||||
Без этого флага веб-сервер работает standalone — отображает данные из кеша (если включён) или статус `unknown` для всех плейлистов.
|
||||
|
||||
```bash
|
||||
iptvc serve --check
|
||||
```
|
||||
|
||||
При `--check` доступны следующие флаги:
|
||||
|
||||
### `-i`, `--ini` { id="ini" }
|
||||
|
||||
Путь к локальному [ini-файлу](../../common/formats/playlists.md) с описанием плейлистов.
|
||||
|
||||
Значение по умолчанию: `./playlists.ini`
|
||||
|
||||
```bash
|
||||
iptvc serve --check -i ~/my.ini
|
||||
```
|
||||
|
||||
### `-t`, `--tags` { id="tags" }
|
||||
|
||||
Путь к [json-файлу](../../common/formats/channels.md) с описанием тегов каналов.
|
||||
|
||||
Значение по умолчанию: `./channels.json`
|
||||
|
||||
```bash
|
||||
iptvc serve --check -t ~/tags.json
|
||||
```
|
||||
|
||||
### `--playlists-all-cooldown` { id=playlists-all-cooldown }
|
||||
|
||||
Пауза между полными циклами фоновой проверки в миллисекундах. Параметр переопределяет `check.playlists.all-cooldown` из конфигурации.
|
||||
|
||||
Значение по умолчанию: значение `check.playlists.all-cooldown` из конфигурации, обычно `0`.
|
||||
|
||||
```bash
|
||||
# пауза 2 минуты между циклами
|
||||
iptvc serve --check --playlists-all-cooldown 120000
|
||||
```
|
||||
|
||||
### `--repeat` { id="repeat" }
|
||||
|
||||
Количество циклов фоновой проверки.
|
||||
|
||||
Значение по умолчанию: `0` (бесконечно)
|
||||
|
||||
```bash
|
||||
# проверить один раз и остановить фоновую проверку
|
||||
iptvc serve --check --repeat 1
|
||||
```
|
||||
|
||||
### `-r`, `--random` { id="random" }
|
||||
|
||||
Максимальное количество случайных плейлистов из ini-файла для проверки.
|
||||
|
||||
```bash
|
||||
iptvc serve --check -r 10
|
||||
```
|
||||
|
||||
## Глобальные флаги
|
||||
|
||||
### `--config` { id="config" }
|
||||
|
||||
Путь к файлу конфигурации `config.yml`.
|
||||
|
||||
Значение по умолчанию: `config.yml`
|
||||
|
||||
```bash
|
||||
iptvc serve --config /etc/iptvc/config.yml
|
||||
```
|
||||
|
||||
### `--debug` { id="debug" }
|
||||
|
||||
Включает режим отладки. Переопределяет `app.debug` из `config.yml` и переменную `APP_DEBUG`.
|
||||
|
||||
```bash
|
||||
iptvc serve --debug
|
||||
```
|
||||
|
||||
### `--log-level` { id="log-level" }
|
||||
|
||||
Устанавливает уровень логирования. Переопределяет `app.log_level` из `config.yml`.
|
||||
|
||||
Доступные значения: `debug`, `info`, `warn`, `error`.
|
||||
|
||||
```bash
|
||||
iptvc serve --log-level debug
|
||||
```
|
||||
|
||||
### `-v`, `--verbose` { id="verbose" }
|
||||
|
||||
Включает подробное логирование.
|
||||
|
||||
## Флаги проверки плейлистов
|
||||
|
||||
Эти флаги переопределяют параметры секции `check.playlists` из `config.yml`. Доступны для команд `check` и `serve`. Имеют смысл только при включённой фоновой проверке (`--check` или `check.start-on-serve: true`).
|
||||
|
||||
### `--playlists-timeout` { id="playlists-timeout" }
|
||||
|
||||
Таймаут HTTP-запроса плейлиста в миллисекундах.
|
||||
|
||||
Переопределяет `check.playlists.timeout` (по умолчанию `10000`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --playlists-timeout 5000
|
||||
```
|
||||
|
||||
### `--playlists-all-cooldown` { id="playlists-all-cooldown" }
|
||||
|
||||
Задержка в миллисекундах после проверки всех плейлистов.
|
||||
|
||||
Переопределяет `check.playlists.all-cooldown` (по умолчанию `0`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --playlists-all-cooldown 10000
|
||||
```
|
||||
|
||||
### `--playlists-one-cooldown` { id="playlists-one-cooldown" }
|
||||
|
||||
Задержка в миллисекундах после проверки каждого плейлиста.
|
||||
|
||||
Переопределяет `check.playlists.one-cooldown` (по умолчанию `0`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --playlists-one-cooldown 2000
|
||||
```
|
||||
|
||||
### `--playlists-max-routines` { id="playlists-max-routines" }
|
||||
|
||||
Максимум одновременно проверяемых плейлистов.
|
||||
|
||||
Переопределяет `check.playlists.max-routines` (по умолчанию `5`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --playlists-max-routines 10
|
||||
```
|
||||
|
||||
### `--playlists-per-routine` { id="playlists-per-routine" }
|
||||
|
||||
Количество плейлистов на одну процедуру проверки.
|
||||
|
||||
Переопределяет `check.playlists.per-routine` (по умолчанию `1`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --playlists-per-routine 3
|
||||
```
|
||||
|
||||
### `--playlists-user-agent` { id="playlists-user-agent" }
|
||||
|
||||
User-Agent для HTTP-запросов плейлистов. Можно указать несколько — будет выбран случайный при каждом запросе.
|
||||
|
||||
Переопределяет `check.playlists.user-agent`.
|
||||
|
||||
```bash
|
||||
iptvc serve --check --playlists-user-agent "Mozilla/5.0" "curl/8.0"
|
||||
```
|
||||
|
||||
## Флаги проверки каналов
|
||||
|
||||
Эти флаги переопределяют параметры секции `check.channels` из `config.yml`. Доступны для команд `check` и `serve`. Имеют смысл только при включённой фоновой проверке.
|
||||
|
||||
### `--channels-timeout` { id="channels-timeout" }
|
||||
|
||||
Таймаут HTTP-запроса канала в миллисекундах.
|
||||
|
||||
Переопределяет `check.channels.timeout` (по умолчанию `10000`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --channels-timeout 8000
|
||||
```
|
||||
|
||||
### `--channels-byte-range` { id="channels-byte-range" }
|
||||
|
||||
Объём данных в байтах для загрузки от сервера при проверке канала.
|
||||
|
||||
Переопределяет `check.channels.byte-range` (по умолчанию `512`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --channels-byte-range 1024
|
||||
```
|
||||
|
||||
### `--channels-cooldown` { id="channels-cooldown" }
|
||||
|
||||
Задержка в миллисекундах после проверки каждого канала.
|
||||
|
||||
Переопределяет `check.channels.cooldown` (по умолчанию `0`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --channels-cooldown 100
|
||||
```
|
||||
|
||||
### `--channels-max-routines` { id="channels-max-routines" }
|
||||
|
||||
Максимум одновременно проверяемых каналов.
|
||||
|
||||
Переопределяет `check.channels.max-routines` (по умолчанию `50`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --channels-max-routines 100
|
||||
```
|
||||
|
||||
### `--channels-per-routine` { id="channels-per-routine" }
|
||||
|
||||
Количество каналов на одну процедуру проверки.
|
||||
|
||||
Переопределяет `check.channels.per-routine` (по умолчанию `10`).
|
||||
|
||||
```bash
|
||||
iptvc serve --check --channels-per-routine 20
|
||||
```
|
||||
|
||||
### `--channels-user-agent` { id="channels-user-agent" }
|
||||
|
||||
User-Agent для HTTP-запросов каналов. Можно указать несколько — будет выбран случайный при каждом запросе.
|
||||
|
||||
Переопределяет `check.channels.user-agent`.
|
||||
|
||||
```bash
|
||||
iptvc serve --check --channels-user-agent "Mozilla/5.0" "VLC/3.0"
|
||||
```
|
||||
|
||||
## Флаги кеша
|
||||
|
||||
Эти флаги переопределяют параметры секции `cache` из `config.yml`. Доступны для команд `check` и `serve`.
|
||||
|
||||
### `--cache-enabled` { id="cache-enabled" }
|
||||
|
||||
Включает кеширование результатов в KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.enabled` (по умолчанию `false`).
|
||||
|
||||
```bash
|
||||
iptvc serve --cache-enabled
|
||||
```
|
||||
|
||||
### `--cache-host` { id="cache-host" }
|
||||
|
||||
Хост KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.host` (по умолчанию `localhost`).
|
||||
|
||||
```bash
|
||||
iptvc serve --cache-enabled --cache-host 192.168.1.10
|
||||
```
|
||||
|
||||
### `--cache-port` { id="cache-port" }
|
||||
|
||||
Порт KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.port` (по умолчанию `6379`).
|
||||
|
||||
```bash
|
||||
iptvc serve --cache-enabled --cache-port 6380
|
||||
```
|
||||
|
||||
### `--cache-username` { id="cache-username" }
|
||||
|
||||
Логин для подключения к KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.username`.
|
||||
|
||||
```bash
|
||||
iptvc serve --cache-enabled --cache-username myuser
|
||||
```
|
||||
|
||||
### `--cache-password` { id="cache-password" }
|
||||
|
||||
Пароль для подключения к KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.password`.
|
||||
|
||||
```bash
|
||||
iptvc serve --cache-enabled --cache-password secret
|
||||
```
|
||||
|
||||
### `--cache-db` { id="cache-db" }
|
||||
|
||||
Номер базы данных KeyDB/Redis.
|
||||
|
||||
Переопределяет `cache.db` (по умолчанию `0`).
|
||||
|
||||
```bash
|
||||
iptvc serve --cache-enabled --cache-db 2
|
||||
```
|
||||
|
||||
### `--cache-ttl` { id="cache-ttl" }
|
||||
|
||||
TTL записей кеша в секундах.
|
||||
|
||||
Переопределяет `cache.ttl` (по умолчанию `1800`).
|
||||
|
||||
```bash
|
||||
iptvc serve --cache-enabled --cache-ttl 3600
|
||||
```
|
||||
|
||||
## Примеры
|
||||
|
||||
```bash
|
||||
# просто веб-сервер без проверки
|
||||
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: статистика по плейлистам и каналам |
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: version
|
||||
tags: [iptvc]
|
||||
---
|
||||
|
||||
# Команда `version`
|
||||
|
||||
Выводит версию программы:
|
||||
|
||||
```bash
|
||||
./iptvc version
|
||||
```
|
||||
|
||||
Пример результата:
|
||||
|
||||
```
|
||||
iptvc v1.1.3
|
||||
```
|
||||
|
||||
Версия также доступна через [API](serve.md) — endpoint `GET /api/version`.
|
||||
Reference in New Issue
Block a user