--- 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`](#playlists-one-cooldown). Значение по умолчанию: значение `check.playlists.all-cooldown` из конфигурации, обычно `1800` (30 минут). ```shell title="Пример" # проверить 5 раз с паузой 5 секунд между циклами ./iptvc check -i ~/my.ini -c xx --code yy --repeat 5 --playlists-all-cooldown 5 # бесконечно проверять все плейлисты из my.ini каждый час ./iptvc check -i ~/my.ini --repeat 0 --playlists-all-cooldown 3600 # бесконечно проверять плейлист из файла с паузой 10 секунд ./iptvc check -f test.m3u --repeat 0 --playlists-all-cooldown 10 ``` ## `-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` (по умолчанию `10`). ```shell title="Пример" ./iptvc check -i ~/my.ini --playlists-timeout 5 ``` ### `--playlists-all-cooldown` { id=playlists-all-cooldown } Задержка в секундах после проверки всех плейлистов. Переопределяет `check.playlists.all-cooldown` (по умолчанию `1800`). ```shell title="Пример" ./iptvc check -i ~/my.ini --playlists-all-cooldown 10 ``` ### `--playlists-one-cooldown` { id=playlists-one-cooldown } Задержка в секундах после проверки каждого плейлиста. Переопределяет `check.playlists.one-cooldown` (по умолчанию `2`). ```shell title="Пример" ./iptvc check -i ~/my.ini --playlists-one-cooldown 2 ``` ### `--playlists-max-routines` { id=playlists-max-routines } Максимум одновременно проверяемых плейлистов. Переопределяет `check.playlists.max-routines` (по умолчанию `1`). ```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` (по умолчанию `10`). ```shell title="Пример" ./iptvc check -i ~/my.ini --channels-timeout 5 ``` ### `--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 1 ``` ### `--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` (по умолчанию `30`). ```shell title="Пример" ./iptvc check -i ~/my.ini --cache-enabled --cache-ttl 3600 ```