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

|

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

|

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

|

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