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

385 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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
```