Initial commit

This commit is contained in:
2025-06-02 00:13:27 +08:00
commit 3a2eca9e15
206 changed files with 9726 additions and 0 deletions

9
src/iptvc/cli/check.md Normal file
View File

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

48
src/iptvc/cli/help.md Normal file
View File

@@ -0,0 +1,48 @@
---
tags: ["iptvc"]
---
# Команда `help`
Для получения помощи о программе, нужно вызвать команду `help` или передать аргумент `-h` или `--help`.
Равнозначные команды:
```
./iptvc help
./iptvc --help
./iptvc -h
```
Вывод (может незначительно отличаться в разных версиях):
```
Simple utility to check iptv playlists. Part of iptv.axenov.dev 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
version Show version
Flags:
-h, --help help for iptvc
-v, --verbose enable additional output
Use "iptvc [command] --help" for more information about a command.
```
Чтобы получить справку о конкретной команде, можно вызвать программу одним из способов:
```
./iptvc help <КОМАНДА>
./iptvc <КОМАНДА> --help
./iptvc <КОМАНДА> -h
```
Список команд указан в этом разделе.

7
src/iptvc/cli/index.md Normal file
View File

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

9
src/iptvc/cli/version.md Normal file
View File

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

10
src/iptvc/env.md Normal file
View File

@@ -0,0 +1,10 @@
---
icon: simple/dotenv
tags: ["iptvc", "переменные окружения"]
---
# :simple-dotenv: Настройки окружения (файл .env)
!!! info "TODO"
Скоро здесь появится полезная информация.
Следи за обновлениями в канале [@iptv_aggregator](https://t.me/iptv_aggregator) или в [репозитории](https://git.axenov.dev/IPTV/docs).

26
src/iptvc/how-it-works.md Normal file
View File

@@ -0,0 +1,26 @@
---
icon: material/cog-sync-outline
tags: ["iptvc", "теги"]
---
# :material-cog-sync-outline: Как работает iptvc
Это консольная программа, которая проверяет плейлисты и присваивает каналам [теги](../formats/channels.md).
У неё нет графического интерфейса.
Принцип её работы очень простой:
1. Получить плейлист по ссылке.
2. Полученный плейлист распарсить:
обрабатывается полученный текст в формате [m3u](../formats/m3u.md), из него вычленется информация о каналах и их группировке.
3. Каждый найденный канал проверить:
получить информацию по ссылке (первый 1 КБ данных) и принять решение -- работает ли канал технически или нет.
4. Каждому каналу [присвоить теги](../formats/channels.md#доступные-теги).
Во время работы программа пишет лог проверки плейлиста и каналов в достаточно компактном человекочитаемом виде, а в конце пишет результаты проверок.
При желании, можно включить более подробный вывод, чтобы тщательно следить за ходом проверки в реальном времени, а также вывод результатов в машиночитаемом виде (в формате json).
Подробности см. в разделе [Команда `check`](../iptvc/cli/check.md).

29
src/iptvc/index.md Normal file
View File

@@ -0,0 +1,29 @@
---
icon: material/check-network
hide:
- toc
---
# :material-check-network: IPTV Checker (iptvc)
<div class="grid cards" markdown>
- [:material-flag-checkered: Быстрый старт](quickstart.md)
---
Коротко о главном, если не терпится
- [:material-cog-sync-outline: Как работает iptvc](how-it-works.md)
---
Механика работы программы
- [:simple-dotenv: Настройки окружения (файл .env)](env.md)
---
Параметры конфигурации программы
- [:octicons-terminal-24: Работа в терминале](cli/index.md)
---
Доступные команды и их аргументы
</div>

79
src/iptvc/quickstart.md Normal file
View File

@@ -0,0 +1,79 @@
---
icon: material/flag-checkered
tags: ["iptvc"]
---
# :material-flag-checkered: Быстрый старт
## Проверить плейлист по прямой ссылке
```
./iptvc check --url https://example.com/pls.m3u
```
## Проверить файл плейлист с диска
```
./iptvc check --file /home/user/pls.m3u
```
## Проверить плейлист по короткому коду из [`playlists.ini`](../formats/playlists.md)
```
./iptvc check --code X
```
Файл `playlists.ini` должен лежать рядом с `iptvc`.
Если файл лежит в другой директории, то можно явно указать путь к нему:
```
./iptvc check --code X --ini /home/user/playlists.ini
```
Если ini-файл не будет найден, программа предупредит об этом.
## Присвоить каналам тематические теги
Чтобы это произошло, рядом с `iptvc` должен лежать файл [channels.json](../formats/channels.md).
Если файл лежит в другой директории, то можно указать её явно:
```
./iptvc check --tags /home/user/channels.json <...другие аргументы...>
```
Если json-файл не будет найден, то программа предупредит о том, что теги не будут присвоены, и продолжит работу.
## Проверить несколько плейлистов одновременно
Для этого можно комбинировать все аргументы, пречисленные выше, с учётом особенностей их работы:
```
./iptvc check \
--ini /home/user/p.ini \
--tags /home/user/c.json \
--code Y \
--file /home/user/tv.m3u \
--url https://example.com/pls1.m3u \
--url https://example.com/pls2.m3u
```
В этом примере (построчно):
* вызывать команду проверки;
* взять список плейлистов из файла `/home/user/p.ini`;
* применить правила присвоения тегов из файла `/home/user/c.json`;
* проверить плейлист с кодом `Y` из ini-файла;
* проверить плейлист из файла `/home/user/tv.m3u`;
* проверить плейлист по ссылке `https://example.com/pls1.m3u`;
* проверить плейлист по ссылке `https://example.com/pls2.m3u`.
Символ `\` нужен только для наглядного разделения аргументов на несколько строк.
Переданные плейлисты будут обработаны в следующем порядке:
1. локальные файлы плейлистов;
2. плейлисты по ссылкам;
3. плейлисты по кодам из ini-файла.