Уточнения по командам и аргументам iptvc

This commit is contained in:
2025-11-22 16:17:25 +08:00
parent 0eefda4294
commit 2566b35d41
9 changed files with 267 additions and 30 deletions

View File

@@ -116,13 +116,14 @@ nav:
- common/players.md - common/players.md
- 'IPTV Checker (iptvc)': - 'IPTV Checker (iptvc)':
- iptvc/index.md - iptvc/index.md
- iptvc/install.md
- iptvc/quickstart.md - iptvc/quickstart.md
- iptvc/env.md - iptvc/env.md
- 'Работа в терминале': - 'Доступные команды':
- iptvc/cli/index.md - iptvc/commands/index.md
- iptvc/cli/help.md - iptvc/commands/help.md
- iptvc/cli/check.md - iptvc/commands/check.md
- iptvc/cli/version.md - iptvc/commands/version.md
- 'Для разработчиков': - 'Для разработчиков':
- dev/index.md - dev/index.md
- dev/local-dev.md - dev/local-dev.md

View File

@@ -1,9 +0,0 @@
---
tags: ["iptvc"]
---
# Команда `check`
!!! info "TODO"
Скоро здесь появится полезная информация.
Следи за обновлениями в канале [@iptv_aggregator](https://t.me/iptv_aggregator) или в [репозитории](https://git.axenov.dev/IPTV/docs).

View File

@@ -1,7 +0,0 @@
---
icon: octicons/terminal-24
hide:
- toc
---
# :octicons-terminal-24: Работа в терминале

View File

@@ -1,9 +0,0 @@
---
tags: ["iptvc"]
---
# Команда `version`
!!! info "TODO"
Скоро здесь появится полезная информация.
Следи за обновлениями в канале [@iptv_aggregator](https://t.me/iptv_aggregator) или в [репозитории](https://git.axenov.dev/IPTV/docs).

151
src/iptvc/commands/check.md Normal file
View File

@@ -0,0 +1,151 @@
---
tags: ["iptvc"]
---
# Команда `check`
Команда поддерживает множество аргументов для разных целей.
Они могут дополнять друг друга.
Порядок аргументов не имеет значения.
<a id="ini"></a>
## `-i`, `--ini`
Указывает путь к локальному [ini-файлу](../../formats/playlists.md) с описанием плейлистов.
Можно указать только однажды.
Значение по умолчанию: `./playlists.ini`
Если файл не найден, проверка плейлистов будет доступна только по ссылкам ([`--url`](#url)) или из локальных файлов ([`--file`](#file)).
Пример:
```bash
iptvc check -i ~/my.ini
```
<a id="tags"></a>
## `-t`, `--tags`
Указывает путь к локальному [json-файлу](../../formats/channels.md) с описанием тегов каналов.
Можно указать только однажды.
Значение по умолчанию: `./channels.json`
Если файл не найден, то будет выведено предупреждение о том, что каналы не будут помечены тегами.
Пример:
```bash
iptvc check -t ~/tags.json
```
<a id="file"></a>
## `-f`, `--file`
Указывает путь к локальному файлу плейлиста `*.m3u`/`*.m3u8`.
Можно указать несколько разных.
Пример:
```bash
iptvc check -f playlist.m3u
iptvc check -f playlist1.m3u --file playlist2.m3u8
iptvc check --file /path/to/playlist.m3u
```
<a id="url"></a>
## `-u`, `--url`
Указывает URL удалённого плейлиста (поддерживаются протоколы http/https).
Можно указать несколько разных.
Пример:
```bash
iptvc check -u http://example.com/playlist.m3u
iptvc check -u https://site.com/playlist.m3u8 --url http://other.com/list.m3u
```
<a id="code"></a>
## `-c`, `--code`
Указывает код плейлиста из файла [playlists.ini](../../formats/playlists.md).
Можно указать несколько разных.
!!! warning "Работает только вместе с [`--ini`](#ini)."
Если не указан ни разу, то будут проверены все плейлисты, которые указаны в ini-файле.
Если используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.
Пример:
```bash
iptvc check -c RU_BASIC --code MOVIE_PREMIUM
```
<a id="random"></a>
## `-r`, `--random`
Указывает максимальное количество случайных плейлистов из ini-файла для проверки.
Можно указать только однажды.
!!! warning "Работает только вместе с [`--ini`](#ini)."
Если не указан ни разу, то будут проверены все плейлисты, которые указаны в ini-файле.
Если используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.
Пример:
```bash
iptvc check -i ~/my.ini -r 10
```
<a id="json"></a>
## `-j`, `--json`
Если указано, то подробные результаты проверки будут выводиться в формате JSON.
Пример:
```bash
iptvc check -f playlist.m3u --json
```
<a id="quiet"></a>
## `-q`, `--quiet`
Подавляет вывод всех логов.
!!! info "Не влияет на [`--json`](#json), но перекрывает [`--verbose`](#verbose)."
Пример:
```bash
iptvc check -i ~/my.ini -r 10 -q --json
```
<a id="verbose"></a>
## `-v`, `--verbose`
Включает подробное логирование.
Пример:
```bash
iptvc check --random 10 --verbose
```

View File

@@ -0,0 +1,6 @@
---
icon: octicons/terminal-24
hide: [toc]
---
# :octicons-terminal-24: Доступные команды

View File

@@ -0,0 +1,17 @@
---
tags: ["iptvc"]
---
# Команда `version`
Выводит версию программы:
```bash
iptvc version
```
Пример результата:
```
iptvc v1.0.6
```

87
src/iptvc/install.md Normal file
View File

@@ -0,0 +1,87 @@
---
icon: material/download
tags: ["iptvc"]
---
# Установка и запуск
## Запуск готовой программы
Достаточно скачать и распаковать архив с подходящим исполняемым файлом [со страницы последнего релиза](https://git.axenov.dev/IPTV/iptvc/releases/latest) в любую удобную директорию:
| ОС | Скачать для `amd64` | Скачать для `arm64` |
| ------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Linux | [linux_amd64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/linux_amd64.zip) | [linux_arm64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/linux_arm64.zip) |
| MacOS | [darwin_amd64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/darwin_amd64.zip) | [darwin_arm64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/darwin_arm64.zip) |
| Windows | [windows_amd64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/windows_amd64.zip) | [windows_arm64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/windows_arm64.zip) |
## Запуск релизного образа
Релизные docker-образы строятся для платформы `linux` и архитектуры `amd64`.
Найти их можно здесь: <https://git.axenov.dev/IPTV/-/packages/container/iptvc>
Тег `latest` всегда соответствует последней версии, он подразумевается по умолчанию:
```shell
docker run --pull always git.axenov.dev/iptv/iptvc КОМАНДА [АРГУМЕНТЫ]
```
Для использования другой версии следует явно указать её:
```shell
docker run --pull always git.axenov.dev/iptv/iptvc:v1.0.6 КОМАНДА [АРГУМЕНТЫ]
```
## Построение собственного образа
```shell
./build-docker-image.sh [<версия>]
```
где `<версия>` — необязательный тег версии в формате `vX.Y.Z`.
Если не указан, то будет взят последний.
Целевая платформа и архитектура меняется с помощью переменных `GOOS` и `GOARCH`:
```shell
GOOS=darwin GOARCH=arm64 ./build-docker-image.sh [<версия>]
```
Запуск:
```
docker run --pull always iptvc:[latest|<версия>] КОМАНДА [АРГУМЕНТЫ]
```
## Использование образа в Docker compose
```yml
services:
#...
checker:
container_name: iptv-checker
image: git.axenov.dev/iptv/iptvc:latest
command: [check]
#...
```
## Компиляция из исходного кода
Для компиляции потребуется golang v1.23.6 и выше.
На версиях ниже не проверялось.
```bash
git clone https://git.axenov.dev/IPTV/iptvc.git
cd iptvc
make linux
# или make help для получения помощи по компиляции
```
Поддерживается передача переменной `GOARCH`:
```shell
make darwin GOARCH=arm64
```
Скомпилированные файлы находятся в директории `bin/`.