Орфограция и синтаксис
This commit is contained in:
@@ -117,7 +117,6 @@ nav:
|
||||
- 'IPTV Checker (iptvc)':
|
||||
- iptvc/index.md
|
||||
- iptvc/quickstart.md
|
||||
- iptvc/how-it-works.md
|
||||
- iptvc/env.md
|
||||
- 'Работа в терминале':
|
||||
- iptvc/cli/index.md
|
||||
|
||||
@@ -25,15 +25,15 @@ tags: ["статусы", "плейлисты", "каналы", "iptvc"]
|
||||
|
||||
Каждый плейлист может быть в одном из трёх статусов:
|
||||
|
||||
* <span class="badge unknown">unknown</span> -- Плейлист в очереди на проверку
|
||||
* <span class="badge unknown">unknown</span> — Плейлист в очереди на проверку
|
||||
Он сменит свой статус в ближайшие минуты.
|
||||
|
||||
* <span class="badge online">online</span> -- Плейлист активен
|
||||
* <span class="badge online">online</span> — Плейлист активен
|
||||
Это не значит, что он работает.
|
||||
Это значит, что адрес плейлиста корректен и там, *вероятно*, *что-то* транслируется.
|
||||
В нём может быть 0 каналов -- значит, содержимое потёрли.
|
||||
В нём может быть 0 каналов — значит, содержимое потёрли.
|
||||
|
||||
* <span class="badge offline">offline</span> -- Плейлист недоступен
|
||||
* <span class="badge offline">offline</span> — Плейлист недоступен
|
||||
Если этот статус висит постоянно, значит это главный кандидат на удаление из проекта.
|
||||
Но это может быть просто разовый сбой (например, таймаут проверки), и, *возможно*, скоро он станет доступен.
|
||||
|
||||
@@ -46,10 +46,10 @@ tags: ["статусы", "плейлисты", "каналы", "iptvc"]
|
||||
|
||||
Каждый канал в любом плейлисте может быть в одном из трёх статусов:
|
||||
|
||||
* <span class="icon online"><ion-icon name="radio-button-on-outline"></ion-icon></span> -- *Возможно*, канал работает
|
||||
* <span class="icon online"><ion-icon name="radio-button-on-outline"></ion-icon></span> — *Возможно*, канал работает
|
||||
Но там может транслироваться какая-нибудь [заглушка](../faq.md#заглушка) (например, от [Wink](../faq.md#wink)).
|
||||
|
||||
* <span class="icon offline"><ion-icon name="radio-button-on-outline"></ion-icon></span> -- *Возможно*, канал не работает
|
||||
* <span class="icon offline"><ion-icon name="radio-button-on-outline"></ion-icon></span> — *Возможно*, канал не работает
|
||||
Чем больше таких каналов в плейлисте, тем сложнее будет листать плейлист в плеере или на ТВ.
|
||||
Но, *возможно*, *когда-нибудь* плейлист обновят и канал будет работать исправно.
|
||||
Также и здесь может быть просто разовый сбой (например, таймаут проверки), и (возможно) скоро он станет доступен.
|
||||
@@ -63,9 +63,9 @@ tags: ["статусы", "плейлисты", "каналы", "iptvc"]
|
||||
|
||||
В описаниях плейлистов, которые находятся в статусе <span class="badge online">online</span>, можно встретить следующие иконки:
|
||||
|
||||
* <ion-icon name="folder-open-outline"></ion-icon> -- каналы плейлиста разбиты на группы (например, музыкальные каналы и региональные);
|
||||
* <ion-icon name="newspaper-outline"></ion-icon> -- плейлист предоставляет программу передач для каналов;
|
||||
* <ion-icon name="play-back"></ion-icon> -- плейлист предоставляет возможность перемотки передач.
|
||||
* <ion-icon name="folder-open-outline"></ion-icon> — каналы плейлиста разбиты на группы (например, музыкальные каналы и региональные);
|
||||
* <ion-icon name="newspaper-outline"></ion-icon> — плейлист предоставляет программу передач для каналов;
|
||||
* <ion-icon name="play-back"></ion-icon> — плейлист предоставляет возможность перемотки передач.
|
||||
|
||||
Если плейлист недоступен или непроверен, этих иконок не будет.
|
||||
|
||||
@@ -84,7 +84,7 @@ tags: ["статусы", "плейлисты", "каналы", "iptvc"]
|
||||
!!! warning "Обрати внимание"
|
||||
Далеко не все каналы могут быть помечены таким тегом.
|
||||
Хотя набор правил для тегов очень богат, но невозможно угадать все каналы с приемлемой точностью.
|
||||
Почему -- читай [здесь](../formats/channels.md#warnings).
|
||||
Почему — читай [здесь](../formats/channels.md#warnings).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -19,18 +19,18 @@ tags: ["сайт", "статусы", "каналы"]
|
||||
|
||||
На этой вкладке выводится таблица со следующими строками:
|
||||
|
||||
* **Код** -- короткий уникальный [код плейлиста](../formats/playlists.md#code);
|
||||
* **Описание** -- [описание плейлиста](../formats/playlists.md#desc) (при наличии);
|
||||
* **Ccылка для ТВ** -- короткая ссылка, которую можно использовать для [подключения плейлиста](../common/connect.md), подробнее о ней см. ниже;
|
||||
* **Источник** -- [ссылка на ресурс](../formats/playlists.md#src), где была найдена ссылка на плейлист (при наличии);
|
||||
* **Код** — короткий уникальный [код плейлиста](../formats/playlists.md#code);
|
||||
* **Описание** — [описание плейлиста](../formats/playlists.md#desc) (при наличии);
|
||||
* **Ccылка для ТВ** — короткая ссылка, которую можно использовать для [подключения плейлиста](../common/connect.md), подробнее о ней см. ниже;
|
||||
* **Источник** — [ссылка на ресурс](../formats/playlists.md#src), где была найдена ссылка на плейлист (при наличии);
|
||||
* **Наполнение**:
|
||||
* группы -- количество групп, на которые поделены каналы;
|
||||
* каналы -- количества каналов общее, онлайн и оффлайн;
|
||||
* группы — количество групп, на которые поделены каналы;
|
||||
* каналы — количества каналов общее, онлайн и оффлайн;
|
||||
(всё по нулям, если плейлист <span class="badge offline">offline</span>)
|
||||
* **Возможности** -- наличие программы передач и перемотки каналов;
|
||||
* **M3U** -- [прямая ссылка](../formats/playlists.md#pls) на плейлист;
|
||||
* **Проверка плейлиста** -- дата и время последней [проверки](../common/checks.md) плейлиста с помощью [iptvc](../iptvc/how-it-works.md);
|
||||
* **Ошибка проверки** -- текст ошибки, которая возникла при проверке
|
||||
* **Возможности** — наличие программы передач и перемотки каналов;
|
||||
* **M3U** — [прямая ссылка](../formats/playlists.md#pls) на плейлист;
|
||||
* **Проверка плейлиста** — дата и время последней [проверки](../common/checks.md) плейлиста с помощью [iptvc](../iptvc/how-it-works.md);
|
||||
* **Ошибка проверки** — текст ошибки, которая возникла при проверке
|
||||
(только если плейлист <span class="badge offline">offline</span>)
|
||||
|
||||
Если при проверке плейлиста возникла ошибка, то она будет отображена красным цветом сразу под заголовком:
|
||||
@@ -39,7 +39,7 @@ tags: ["сайт", "статусы", "каналы"]
|
||||

|
||||
|
||||
!!! info
|
||||
Если в тексте ошибки фигурирует слово `Timeout` и плейлист <span class="badge offline">offline</span> -- это ерунда.
|
||||
Если в тексте ошибки фигурирует слово `Timeout` и плейлист <span class="badge offline">offline</span> — это ерунда.
|
||||
Скорее всего, при следующей проверке статус позеленеет.
|
||||
Просто в момент проверки сервер не получил файл плейлиста вовремя, а т. к. долго ждать он не может, поэтому плюнул и пошёл проверять другие.
|
||||
|
||||
@@ -52,7 +52,7 @@ tags: ["сайт", "статусы", "каналы"]
|
||||

|
||||
|
||||
Здесь выводится плейлист как он есть.
|
||||
Над этим текстом -- две кнопки:
|
||||
Над этим текстом — две кнопки:
|
||||
|
||||
* зелёная с кодом плейлиста для скачивания файла;
|
||||
* нажатие на **QR-код** покажет, внезапно, QR-код, в который закодирована "Ссылка для ТВ".
|
||||
@@ -77,14 +77,14 @@ tags: ["сайт", "статусы", "каналы"]
|
||||
|
||||
Под заголовком есть **выпадающий список групп**.
|
||||
Он отображается только если плейлист поделён на группы.
|
||||
Справа -- **кнопка сброса** для отображения всех каналов.
|
||||
Справа — **кнопка сброса** для отображения всех каналов.
|
||||
|
||||
Под списком групп расположилась **строка поиска**.
|
||||
Она есть вообще всегда.
|
||||
Туда можно начать вводить название канала, и по мере ввода список будет сужаться.
|
||||
|
||||
Справа от строки поиска есть **кнопки фильтрации каналов по их статусу**.
|
||||
Справа -- **кнопка сброса** для отображения всех каналов.
|
||||
Справа — **кнопка сброса** для отображения всех каналов.
|
||||
|
||||
Под строкой поиска есть [**облако тегов**](../formats/channels.md#доступные-теги).
|
||||
|
||||
@@ -133,12 +133,12 @@ m3u.su/ru
|
||||
По идее, можешь использовать любую сылку из подобных, т. к. технически они отработают одинаково.
|
||||
|
||||
А вот твой [плеер](players.md) может не принять какую-то из них.
|
||||
Так что, если не подойдёт один формат, используй другой -- добавь префикс или суффикс.
|
||||
Так что, если не подойдёт один формат, используй другой — добавь префикс или суффикс.
|
||||
|
||||
Префикс плееру требуется чаще всего, потому что он при добавлении плейлиста проверяет -- а ссылку ли мне вообще предоставил пользователь?
|
||||
Префикс плееру требуется чаще всего, потому что он при добавлении плейлиста проверяет — а ссылку ли мне вообще предоставил пользователь?
|
||||
|
||||
По наличию суффикса плеер может определить -- а прямая ли это ссылка на файл плейлиста?
|
||||
Технически -- нет, непрямая, потому что файла плейлиста у меня на сервере нет физически и сервер должен сделать редирект уже на сам плейлист.
|
||||
По наличию суффикса плеер может определить — а прямая ли это ссылка на файл плейлиста?
|
||||
Технически — нет, непрямая, потому что файла плейлиста у меня на сервере нет физически и сервер должен сделать редирект уже на сам плейлист.
|
||||
Но благодаря такой обманке плеер его наверняка подгрузит.
|
||||
|
||||
Или нет.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
icon: material/file-document
|
||||
hide:
|
||||
- toc
|
||||
hide: [toc]
|
||||
---
|
||||
|
||||
# Общая информация
|
||||
|
||||
@@ -14,22 +14,22 @@ tags: ["сайт", "плейлисты"]
|
||||
* дата последнего изменения файла [playlists.ini](../formats/playlists.md)
|
||||
* общее количество плейлистов и с разделением по статусам.
|
||||
|
||||
Ниже -- спиcок плейлистов.
|
||||
Ниже — спиcок плейлистов.
|
||||
|
||||
## Из чего состоит список
|
||||
|
||||
* **Код** -- короткий уникальный [код плейлиста](../formats/playlists.md#code)
|
||||
* **Код** — короткий уникальный [код плейлиста](../formats/playlists.md#code)
|
||||
* **Информация о плейлисте**
|
||||
* [статус плейлиста](../common/checks.md#плейлисты)
|
||||
* может быть [значок 18+](../common/checks.md#для-взрослых)
|
||||
* [название плейлиста](../formats/playlists.md#name) -- ссылка на [страницу плейлиста](../common/details.md)
|
||||
* [название плейлиста](../formats/playlists.md#name) — ссылка на [страницу плейлиста](../common/details.md)
|
||||
под ним:
|
||||
* [иконки возможностей плейлиста](../common/checks.md#возможности) (только при статусе <span class="badge online">online</span>)
|
||||
* [описание плейлиста](../formats/playlists.md#desc) (при наличии)
|
||||
* [список тегов](../formats/channels.md#доступные-теги), собранный со всех каналов после их проверки (только при статусе <span class="badge online">online</span>)
|
||||
* ещё одна ссылка на [страницу плейлиста](../common/details.md)
|
||||
* **Каналов** -- фактическое количество каналов в плейлисте (только при статусе <span class="badge online">online</span>) или 0 (при других статусах)
|
||||
* **Ссылка для ТВ** -- [короткая ссылка](details.md#ссылка-для-тв), которую можно использовать для [подключения плейлиста](../common/connect.md).
|
||||
* **Каналов** — фактическое количество каналов в плейлисте (только при статусе <span class="badge online">online</span>) или 0 (при других статусах)
|
||||
* **Ссылка для ТВ** — [короткая ссылка](details.md#ссылка-для-тв), которую можно использовать для [подключения плейлиста](../common/connect.md).
|
||||
|
||||
В зависимости от ширины экрана, для экономии места может быть скрыто описание с иконками возможностей и короткая ссылка.
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ tags: ["плееры"]
|
||||
|
||||
В списке ниже только те плееры, которые широко известны и популярны у зрителей IPTV, а также рекомендуются специализированными сайтами.
|
||||
|
||||
Некоторые из них помечены значком :thumbsup: -- значит, он уже зарекомендовал себя как стабильный и удобный, с ним меньше всего хлопот.
|
||||
Некоторые из них помечены значком :thumbsup: — значит, он уже зарекомендовал себя как стабильный и удобный, с ним меньше всего хлопот.
|
||||
|
||||
Список для удобства разбит по платформам и ОС.
|
||||
Обращайся к содержанию справа для быстрой навигации.
|
||||
|
||||
@@ -7,7 +7,7 @@ tags: ["статусы", "плейлисты"]
|
||||
|
||||
Есть некоторые критерии, по которым плейлисты отбираются в проект:
|
||||
|
||||
* Прежде всего -- каналы РФ и бывшего СНГ, но не только они
|
||||
* Прежде всего — каналы РФ и бывшего СНГ, но не только они
|
||||
* Открытый источник
|
||||
* Прямая ссылка на плейлист
|
||||
* Автообновление плейлиста
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
icon: simple/devbox
|
||||
hide:
|
||||
- toc
|
||||
hide: [toc]
|
||||
---
|
||||
|
||||
# :simple-devbox: Для разработчиков
|
||||
|
||||
@@ -31,7 +31,7 @@ icon: material/robot-outline
|
||||
```
|
||||
telebit http 8080
|
||||
```
|
||||
где `8080` -- порт локальной машины, на который проброшен порт 80 из контейнера `iptv-nginx`.
|
||||
где `8080` — порт локальной машины, на который проброшен порт 80 из контейнера `iptv-nginx`.
|
||||
Для выключения выполнить:
|
||||
```
|
||||
telebit http
|
||||
|
||||
12
src/docs.md
12
src/docs.md
@@ -6,8 +6,8 @@ icon: material/book-open-page-variant-outline
|
||||
|
||||
!!! warning "Актуальность"
|
||||
Она может отставать от актуальной версии сервиса, его исходных кодов и инфраструктуры.
|
||||
Поддерживать документацию в актуальном состоянии -- тоже труд.
|
||||
Прошу отнестись с пониманием, а лучше -- [помочь делом](support.md#participate).
|
||||
Поддерживать документацию в актуальном состоянии — тоже труд.
|
||||
Прошу отнестись с пониманием, а лучше — [помочь делом](support.md#participate).
|
||||
|
||||
!!! danger "Тем не менее, прошу прочесть её!"
|
||||
Потому что очень часто и мне, и в общий чат поступают одинаковые вопросы, на которые уже просто нет сил отвечать персонально.
|
||||
@@ -22,10 +22,10 @@ icon: material/book-open-page-variant-outline
|
||||
|
||||
К твоим услугам:
|
||||
|
||||
1. в заголовке сайта -- глобальный поиск;
|
||||
2. над заголовком страницы -- метки страницы (полный список ниже);
|
||||
3. слева -- общее содержание;
|
||||
4. справа -- содержание конкретной страницы.
|
||||
1. в заголовке сайта — глобальный поиск;
|
||||
2. над заголовком страницы — метки страницы (полный список ниже);
|
||||
3. слева — общее содержание;
|
||||
4. справа — содержание конкретной страницы.
|
||||
|
||||
??? info end "На мобильниках содержание страницы спрятано за этой кнопкой в боковом меню:"
|
||||

|
||||
|
||||
@@ -223,7 +223,7 @@ tags: ["сайт", "каналы", "плейлисты", "epg", "плееры",
|
||||
|
||||
* ты сам не изменяешь этот *чей-то* файл и не паришься;
|
||||
* возможно, кто-то за ним следит и периодически обновляет самостоятельно (вручную или как-то автоматически — это не твоя проблема);
|
||||
* возможно, твой плеер сам подтянет плейлист после запуска (чаще всего так и происходит) или по твоей команде (если такая кнопка в нём есть) -- **это и есть автообновление**.
|
||||
* возможно, твой плеер сам подтянет плейлист после запуска (чаще всего так и происходит) или по твоей команде (если такая кнопка в нём есть) — **это и есть автообновление**.
|
||||
|
||||
В чём минус: этот *кто-то* по своим причинам может удалить твой любимый канал или вообще плейлист, и больше он не подгрузится.
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ tags: ["iptvc", "теги", "каналы"]
|
||||
5. Один канал может быть назван по-разному.
|
||||
Например, `Ю` или `Ю!`, `Россия 1 +5` или `Россия-1`.
|
||||
6. Важно учитывать холдинги.
|
||||
Например, российские Матч, ТНТ и НТВ имеют множество разных каналов, и тупо искать `^нтв$` -- тупо.
|
||||
Например, российские Матч, ТНТ и НТВ имеют множество разных каналов, и тупо искать `^нтв$` — тупо.
|
||||
7. У всех каналов есть `title`.
|
||||
Не все каналы имеют `tvg-id`.
|
||||
Некоторые каналы имеют `tvg-name`.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
icon: material/file-code-outline
|
||||
hide:
|
||||
- toc
|
||||
hide: [toc]
|
||||
---
|
||||
|
||||
# :material-file-code-outline: Форматы файлов
|
||||
@@ -20,5 +19,5 @@ hide:
|
||||
- [:material-playlist-play: Формат файлов `*.m3u` (`*.m3u8`)](m3u.md)
|
||||
|
||||
---
|
||||
Плейлист -- это вообще что?
|
||||
Плейлист — это вообще что?
|
||||
</div>
|
||||
|
||||
@@ -59,7 +59,7 @@ http://example.com/play-am.m3u8
|
||||
|
||||
Название группы, к которой относится контент (звуковая дорожка или канал).
|
||||
|
||||
Указывается в формате `#EXTGRP:XXX`, где: `XXX` -- название группы.
|
||||
Указывается в формате `#EXTGRP:XXX`, где: `XXX` — название группы.
|
||||
|
||||
<a id="EXTINF"></a>
|
||||
### Директива `#EXTINF`
|
||||
@@ -67,9 +67,9 @@ http://example.com/play-am.m3u8
|
||||
Описывает контент (звуковую дорожку или канал).
|
||||
|
||||
Указывается в формате `#EXTINF:XXX YYY,ZZZ`, где:
|
||||
* `XXX` -- длительность в секундах (обязательно, но может быть `-1` или `0`);
|
||||
* `YYY` -- атрибуты (см. ниже);
|
||||
* `ZZZ` -- название контента;
|
||||
* `XXX` — длительность в секундах (обязательно, но может быть `-1` или `0`);
|
||||
* `YYY` — атрибуты (см. ниже);
|
||||
* `ZZZ` — название контента;
|
||||
|
||||
<a id="tvg-shift"></a>
|
||||
#### Атрибут `tvg-shift`
|
||||
@@ -132,8 +132,8 @@ Cмещение телепрограммы в часах относительн
|
||||
Директив может быть множество для одной дорожки (канала).
|
||||
|
||||
Указывается в формате `#EXTVLCOPT:XXX` или `#EXTVLCOPT--XXX=YYY`, где:
|
||||
* `XXX` -- параметр командной строки VLC Player ([полный список](https://wiki.videolan.org/VLC_command-line_help/));
|
||||
* `YYY` -- значения параметра.
|
||||
* `XXX` — параметр командной строки VLC Player ([полный список](https://wiki.videolan.org/VLC_command-line_help/));
|
||||
* `YYY` — значения параметра.
|
||||
|
||||
## Дополнительные материалы
|
||||
|
||||
|
||||
20
src/index.md
20
src/index.md
@@ -30,19 +30,19 @@ icon: material/home
|
||||
|
||||
## Основные принципы проекта
|
||||
|
||||
1. Проект должен быть публичен и бесплатен для всех
|
||||
2. Проект не должен нарушать права третьих лиц
|
||||
3. Весь исходный код проекта должен быть открыт и распространяться под MIT-лицензией
|
||||
1. Проект должен быть публичен и бесплатен для всех.
|
||||
2. Проект не должен нарушать права третьих лиц.
|
||||
3. Весь исходный код проекта должен быть открыт и распространяться под MIT-лицензией.
|
||||
|
||||
## Для чего предназначен сервис
|
||||
|
||||
1. Для хранения ссылок на сторонние плейлисты
|
||||
2. Для периодической проверки доступности плейлистов и их каналов
|
||||
3. Для кратковременного хранения результатов проверок и их публикации (в человекочитаемом и машиночитаемом виде)
|
||||
4. Для категоризации плейлистов и их каналов с помощью тегов
|
||||
5. Для предоставления коротких ссылок на плейлисты (для удобства ввода с пульта)
|
||||
6. Для переадресации с короткого адреса плейлиста на исходный
|
||||
7. Для публикации общей информации о каналах (название, логотип)
|
||||
1. Для хранения ссылок на сторонние плейлисты.
|
||||
2. Для периодической проверки доступности плейлистов и их каналов.
|
||||
3. Для кратковременного хранения результатов проверок и их публикации (в человекочитаемом и машиночитаемом виде).
|
||||
4. Для категоризации плейлистов и их каналов с помощью тегов.
|
||||
5. Для предоставления коротких ссылок на плейлисты (для удобства ввода с пульта).
|
||||
6. Для переадресации с короткого адреса плейлиста на исходный.
|
||||
7. Для публикации общей информации о каналах (название, логотип).
|
||||
|
||||
## Для чего НЕ предназначен сервис
|
||||
|
||||
|
||||
@@ -21,7 +21,4 @@ tags: ["iptvc", "переменные окружения"]
|
||||
| `CACHE_USERNAME` | string | `""` | Логин пользователя в СУБД |
|
||||
| `CACHE_PASSWORD` | string | `""` | Пароль пользователя в СУБД |
|
||||
| `CACHE_DB` | uint | `0` | Номер БД в СУБД для кэша |
|
||||
| `CACHE_TTL` | unit | `1800` | ВРемя жизни ключей кэша в секундах |
|
||||
|
||||
|
||||
|
||||
| `CACHE_TTL` | unit | `1800` | Время жизни ключей кэша в секундах |
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
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).
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
---
|
||||
icon: material/check-network
|
||||
hide:
|
||||
- toc
|
||||
hide: [toc]
|
||||
---
|
||||
|
||||
# :material-check-network: IPTV Checker (iptvc)
|
||||
|
||||
Это простая программа для проверки IPTV плейлистов, входящая в состав проекта m3u.su.
|
||||
|
||||
Поддерживает проверку как локальных файлов `*.m3u`/`*.m3u8`, так и удалённых плейлистов по прямым ссылкам, с возможностью кеширования результатов и его вывода в различных форматах.
|
||||
|
||||
> Программа не предназначена для хранения, воспроизведения или распространения пиратского контента.
|
||||
|
||||
Программа не имеет графического интерфейса и работает в терминале.
|
||||
|
||||
<div class="grid cards" markdown>
|
||||
- [:material-flag-checkered: Быстрый старт](quickstart.md)
|
||||
|
||||
@@ -27,3 +34,22 @@ hide:
|
||||
---
|
||||
Доступные команды и их аргументы
|
||||
</div>
|
||||
|
||||
## :material-cog-sync-outline: Как работает iptvc
|
||||
|
||||
Принцип её работы очень простой:
|
||||
|
||||
1. Получить плейлист по ссылке.
|
||||
2. Полученный плейлист распарсить:
|
||||
обрабатывается полученный текст в формате [m3u](../formats/m3u.md), из него вычленется информация о каналах и их группировке.
|
||||
3. Каждый найденный канал проверить:
|
||||
получить информацию по ссылке и принять решение — работает ли канал (технически) или нет.
|
||||
4. Если необходимо, каждому каналу [присвоить теги](../formats/channels.md#доступные-теги) согласно [правилам](../formats/channels.md).
|
||||
5. Если необходимо, закешировать результаты проверок.
|
||||
|
||||
Во время работы программа пишет лог проверки плейлиста и каналов в достаточно компактном человекочитаемом виде, а в конце пишет результаты проверок.
|
||||
|
||||
При желании, можно включить более подробный вывод, чтобы тщательно следить за ходом проверки в реальном времени, а также вывод результатов в машиночитаемом виде (в формате json).
|
||||
|
||||
Подробности см. в разделе [Команда `check`](../iptvc/commands/check.md).
|
||||
|
||||
|
||||
@@ -5,21 +5,26 @@ tags: ["iptvc"]
|
||||
|
||||
# :material-flag-checkered: Быстрый старт
|
||||
|
||||
Допустим, что программа скачана и распакована в любую директорию.
|
||||
|
||||
## Проверить плейлист по прямой ссылке
|
||||
|
||||
```
|
||||
./iptvc check -u https://example.com/pls.m3u
|
||||
./iptvc check --url https://example.com/pls.m3u
|
||||
```
|
||||
|
||||
## Проверить файл плейлист с диска
|
||||
|
||||
```
|
||||
./iptvc check -f /home/user/pls.m3u
|
||||
./iptvc check --file /home/user/pls.m3u
|
||||
```
|
||||
|
||||
## Проверить плейлист по короткому коду из [`playlists.ini`](../formats/playlists.md)
|
||||
|
||||
```
|
||||
./iptvc check -c X
|
||||
./iptvc check --code X
|
||||
```
|
||||
|
||||
@@ -28,7 +33,7 @@ tags: ["iptvc"]
|
||||
Если файл лежит в другой директории, то можно явно указать путь к нему:
|
||||
|
||||
```
|
||||
./iptvc check --code X --ini /home/user/playlists.ini
|
||||
./iptvc check --ini /home/user/playlists.ini --code X
|
||||
```
|
||||
|
||||
Если ini-файл не будет найден, программа предупредит об этом.
|
||||
@@ -61,7 +66,7 @@ tags: ["iptvc"]
|
||||
|
||||
В этом примере (построчно):
|
||||
|
||||
* вызывать команду проверки;
|
||||
* вызвать команду проверки;
|
||||
* взять список плейлистов из файла `/home/user/p.ini`;
|
||||
* применить правила присвоения тегов из файла `/home/user/c.json`;
|
||||
* проверить плейлист с кодом `Y` из ini-файла;
|
||||
@@ -73,7 +78,7 @@ tags: ["iptvc"]
|
||||
|
||||
Переданные плейлисты будут обработаны в следующем порядке:
|
||||
|
||||
1. локальные файлы плейлистов;
|
||||
2. плейлисты по ссылкам;
|
||||
3. плейлисты по кодам из ini-файла.
|
||||
1. локальные файлы;
|
||||
2. по ссылкам;
|
||||
3. по кодам из ini-файла.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ icon: material/hand-heart-outline
|
||||
|
||||
При этом, проект не планировался как монетизируемый и до сих пор не принёс ни рубля прибыли.
|
||||
|
||||
Если у вас есть желание помочь проекту, ниже перечислены минимально доступные тебе способы -- от самых простых способов к более сложным.
|
||||
Если у вас есть желание помочь проекту, ниже перечислены минимально доступные тебе способы — от самых простых способов к более сложным.
|
||||
|
||||
## Рассказать публично
|
||||
|
||||
@@ -22,8 +22,8 @@ icon: material/hand-heart-outline
|
||||
У проекта есть два публичных ресурса для прямой связи с пользователями.
|
||||
Там можно ставить **платные реакции** к постам и/или **дарить голоса** (бусты):
|
||||
|
||||
* канал: [@iptv_aggregator](https://t.me/iptv_aggregator) ([boost](https://t.me/iptv_aggregator?boost)) -- в нём новости о проекте (общие объявления и проведённые доработки);
|
||||
* чат: [@iptv_aggregator_chat](https://t.me/iptv_aggregator_chat) ([boost](https://t.me/iptv_aggregator_chat?boost)) -- комментарии к каналу, общение по теме проекта и IPTV.
|
||||
* канал: [@iptv_aggregator](https://t.me/iptv_aggregator) ([boost](https://t.me/iptv_aggregator?boost)) — в нём новости о проекте (общие объявления и проведённые доработки);
|
||||
* чат: [@iptv_aggregator_chat](https://t.me/iptv_aggregator_chat) ([boost](https://t.me/iptv_aggregator_chat?boost)) — комментарии к каналу, общение по теме проекта и IPTV.
|
||||
|
||||
Голоса открывают новые возможности для каналов и групп.
|
||||
|
||||
@@ -57,7 +57,7 @@ icon: material/hand-heart-outline
|
||||
|
||||
Любое ПО неидеально, как и документация к нему.
|
||||
|
||||
Если вы нашли ошибку, опечатку, неожиданное поведение ПО или есть предложение по улучшению -- можете создать задачу в соответствующем репозитории организации.
|
||||
Если вы нашли ошибку, опечатку, неожиданное поведение ПО или есть предложение по улучшению — можете создать задачу в соответствующем репозитории организации.
|
||||
|
||||
### Прислать изменения
|
||||
|
||||
|
||||
@@ -29,13 +29,13 @@ tags: ["telegram"]
|
||||
Держи чеклист:
|
||||
|
||||
1. **Найди ответ в [FAQ](../faq.md)**
|
||||
2. Если не нашёл ответ -- прочти остальное
|
||||
2. Если не нашёл ответ — прочти остальное
|
||||
3. Если не нашёл ответ и это проблема:
|
||||
* опиши всю ситуацию -- сухо и по существу, в чём проблема, чего хочешь и ожидаешь;
|
||||
* если вопрос связан с плейлистом из сервиса -- приложи его код и ссылку, которую указываешь в плеере;
|
||||
* если вопрос связан с другим плейлистом -- приложи его ссылку;
|
||||
* если вопрос связан с плеером -- укажи хотя бы его название;
|
||||
* если есть возможность, приложи скриншот или чёткое фото -- чтобы можно было разглядеть проблему и подсказать решение.
|
||||
* опиши всю ситуацию — сухо и по существу, в чём проблема, чего хочешь и ожидаешь;
|
||||
* если вопрос связан с плейлистом из сервиса — приложи его код и ссылку, которую указываешь в плеере;
|
||||
* если вопрос связан с другим плейлистом — приложи его ссылку;
|
||||
* если вопрос связан с плеером — укажи хотя бы его название;
|
||||
* если есть возможность, приложи скриншот или чёткое фото — чтобы можно было разглядеть проблему и подсказать решение.
|
||||
|
||||
!!! info "Скорее всего, это надо только тебе"
|
||||
Чем больше ты предоставишь полезной информации, тем лучше.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
icon: simple/telegram
|
||||
hide:
|
||||
- toc
|
||||
hide: [toc]
|
||||
---
|
||||
|
||||
# :simple-telegram: Ресурсы в Telegram
|
||||
|
||||
Reference in New Issue
Block a user