Compare commits

..

10 Commits

12 changed files with 184 additions and 96 deletions

View File

@@ -105,6 +105,7 @@ nav:
- index.md
- docs.md
- support.md
- legal.md
- 'Общая информация':
- common/index.md
- common/how-it-works.md

View File

@@ -1,3 +1,49 @@
:root {
/* Yoomoney logo */
--md-admonition-icon--yoomoney: url('data:image/svg+xml;charset=utf-8,<svg width="169" height="120" viewBox="0 0 169 120" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M108.99 0C75.5725 0 48.9902 26.962 48.9902 60C48.9902 93.4177 75.9523 120 108.99 120C142.028 120 168.99 93.038 168.99 60C168.99 26.962 142.028 0 108.99 0ZM108.99 82.4051C96.8383 82.4051 86.5852 72.1519 86.5852 60C86.5852 47.8481 96.8383 37.5949 108.99 37.5949C121.142 37.5949 131.395 47.8481 131.395 60C131.016 72.1519 121.142 82.4051 108.99 82.4051Z" fill="white"/><path d="M48.6076 17.4684V104.81H27.3418L0 17.4684H48.6076V17.4684Z" fill="white"/></svg>');
/* Boosty logo */
--md-admonition-icon--boosty: url('data:image/svg+xml;charset=utf-8,<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M2.661 14.337 6.801 0h6.362L11.88 4.444l-0.038 0.077 -3.378 11.733h3.15c-1.321 3.289 -2.35 5.867 -3.086 7.733 -5.816 -0.063 -7.442 -4.228 -6.02 -9.155M8.554 24l7.67 -11.035h-3.25l2.83 -7.073c4.852 0.508 7.137 4.33 5.791 8.952C20.16 19.81 14.344 24 8.68 24h-0.127z" fill="white" stroke-width="1"></path></svg>');
}
/* Yoomoney styling */
.md-typeset .admonition.yoomoney,
.md-typeset details.yoomoney {
border-color: rgba(113, 47, 244, 1);
}
.md-typeset .yoomoney > .admonition-title,
.md-typeset .yoomoney > summary {
background-color: rgba(113, 47, 244, 0.1);
}
.md-typeset .yoomoney > .admonition-title::before,
.md-typeset .yoomoney > summary::before {
background-color: rgb(113, 47, 244);
-webkit-mask-image: var(--md-admonition-icon--yoomoney);
mask-image: var(--md-admonition-icon--yoomoney);
}
/* Boosty styling */
.md-typeset .admonition.boosty,
.md-typeset details.boosty {
border-color: rgb(241, 95, 44);
}
.md-typeset .boosty > .admonition-title,
.md-typeset .boosty > summary {
background-color: rgba(241, 95, 44, 0.1);
}
.md-typeset .boosty > .admonition-title::before,
.md-typeset .boosty > summary::before {
background-color: rgb(241, 95, 44);
-webkit-mask-image: var(--md-admonition-icon--boosty);
mask-image: var(--md-admonition-icon--boosty);
}
.chapter li.part-title {
font-size: 1.2em;
}
@@ -14,7 +60,8 @@ main ol li {
box-sizing: border-box;
color: rgb(33, 37, 41);
display: inline-block;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial,
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
font-size: 10.5px;
font-weight: 700;
height: 17.8438px;
@@ -36,6 +83,11 @@ main ol li {
background-color: rgb(25, 135, 84);
}
.badge.online-percent {
border: 1px solid rgb(25, 135, 84);
color: var(--md-typeset-color);
}
.badge.offline {
background-color: rgb(220, 53, 69);
}
@@ -45,7 +97,11 @@ main ol li {
}
.badge.adult {
background-color: rgb(255, 193, 7)
background-color: rgb(255, 193, 7);
}
.badge.lapka {
background-color: rgb(13, 202, 240);
}
.icon.online {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -3,78 +3,91 @@ icon: material/file-refresh-outline
tags: ["статусы", "плейлисты", "каналы", "iptvc"]
---
# :material-file-refresh-outline: Как проверяются плейлисты
Плейлисты проверяются автоматически с некоей периодичностью при помощи [iptvc](../iptvc/index.md).
Она может настраиваться мной в разное время, чтобы сбалансировать нагрузку на сервер.
# :material-file-refresh-outline: Проверки и статусы
!!! danger "Я не гарантирую корректность и актуальность плейлистов, которые ты увидишь на сайте, как и корректность результатов их проверки."
После прочтения этой страницы ты поймёшь почему.
Плейлисты [проверяются автоматически](../iptvc/index.md) с некоей периодичностью.
Хотя я и стараюсь улучшать качество проверок, но всё же рекомендую проверять желаемые плейлисты самостоятельно вручную, ибо нет никаких гарантий:
* что плейлист (не) работоспособен
* он может быть и рабочий, но проверка может не сработать из-за таймаута запроса;
* он уже может быть и нерабочим, но результаты последней проверки показывают обратное;
* что плейлист корректно обработается (будут правильно определён список каналов, их названия, атрибуты и пр.);
* что транслируемый контент соответствует названиям каналов;
* что плейлист составлен корректно и обработается правильно;
* что плейлист (не) работоспособен:
* он может работать, но проверка заврешена из-за какой-то технической ошибки;
* он уже может не работать, но результаты последней проверки показывают обратное;
* что транслируемый контент соответствует заявленным названиям;
* что сейчас или через X времени там не окажется [заглушка](../faq.md#заглушка).
<a id="плейлисты"></a>
## Плейлисты
<a id="playlists"></a>
## Статусы плейлистов
Каждый плейлист может быть в одном из трёх статусов:
* <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 каналов — значит, содержимое потёрли.
Это значит, что адрес плейлиста корректен и *вероятно* там *что-то* транслируется.
* <span class="badge offline">offline</span> — Плейлист недоступен
Если этот статус висит постоянно, значит это главный кандидат на удаление из проекта.
Но это может быть просто разовый сбой (например, таймаут проверки), и, *возможно*, скоро он станет доступен.
* <span class="badge offline">offline</span>**Плейлист недоступен**
Либо плейлист удалён с сервера, где он располагался когда-то, либо это просто разовый сбой (например, таймаут проверки).
*Возможно*, (не) скоро он (не) станет доступен.
!!! info "Обрати внимание"
Независимо от статуса плейлиста на сайте, его можно добавить в свой плеер по "Ссылке для ТВ" и проверить самостоятельно.
Проверка плейлиста не влияет на его работоспособность.
<a id="каналы"></a>
## Каналы
<a id="extra"></a>
### Дополнительные возможности
Каждый канал в любом плейлисте может быть в одном из трёх статусов:
* <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>*Возможно*, канал не работает
Чем больше таких каналов в плейлисте, тем сложнее будет листать плейлист в плеере или на ТВ.
Но, *возможно*, *когда-нибудь* плейлист обновят и канал будет работать исправно.
Также и здесь может быть просто разовый сбой (например, таймаут проверки), и (возможно) скоро он станет доступен.
!!! info "Обрати внимание"
Пропорции рабочих и нерабочих каналов в плейлистах может и будет меняться от проверки к проверке.
Это нормально, таковы технические особенности проверки.
<a id="возможности"></a>
## Возможности
В описаниях плейлистов, которые находятся в статусе <span class="badge online">online</span>, можно встретить следующие иконки:
Если плейлист <span class="badge online">online</span> (успешно проверен), то у него могут быть дополнительные значки:
* <span class="badge online-percent">95%</span> — количество рабочих каналов на момент проверки;
* <span class="badge adult">18+</span> — плейлист имеет каналы для взрослых;
* <span class="badge lapka"><ion-icon name="paw"></ion-icon></span> — плейлист может быть нестабилен
Это значит, что в нём есть каналы со специальными параметрами: токенами, логинами и паролями, которые рано или поздно истекут или будут заблокированы (если ещё не).
Также это признак бесплатного пробного периода.
* <ion-icon name="folder-open-outline"></ion-icon> — каналы плейлиста разбиты на группы (например, музыкальные каналы и региональные);
* <ion-icon name="newspaper-outline"></ion-icon> — плейлист предоставляет программу передач для каналов;
* <ion-icon name="play-back"></ion-icon> — плейлист предоставляет возможность перемотки передач.
Если плейлист недоступен или непроверен, этих иконок не будет.
Если плейлист <span class="badge unknown">unknown</span> или <span class="badge offline">offline</span>, этих иконок не будет.
<a id="для-взрослых"></a>
!!! info "Обрати внимание"
1. Пропорции рабочих и нерабочих каналов в плейлистах могут меняться от проверки к проверке.
Это нормально, таковы технические особенности проверки.
2. Работа архива и программы передач зависит от выбранного [плеера](players.md).
Некоторые это просто не поддерживают.
<a id="channels"></a>
## Статусы каналов
Каждый канал в любом плейлисте может быть в одном из трёх статусов:
* <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="badge lapka"><ion-icon name="paw"></ion-icon></span>**Канал может быть нестабилен**
Это значит, что для него указаны специальные параметры: токен, логин или пароль, которые рано или поздно истекут или будут заблокированы.
Тогда канал перестанет работать.
Также это признак бесплатного пробного периода.
* <span class="badge adult">18+</span>**Канал для взрослых**
Читай ниже.
<a id="adult"></a>
## Контент для взрослых
Это откровенно порнографический, эротический или другой контент, неприемлемый для детской психики (например, жанровые каналы с фильмами ужасов).
Если при проверке плейлиста обнаружен хотя бы один канал для взрослых, то сам канал и весь плейлист помечается значком <span class="badge adult">18+</span>
Если при проверке плейлиста обнаружен хотя бы один канал для взрослых, то этот канал и весь плейлист помечается значком <span class="badge adult">18+</span>.
Такие каналы определяются благодаря правилам, описанным в файле [channels.json](../formats/channels.md).
Они применяются к названиям каналов и их атрибутам (`tvg-id`, `tvg-name`), которые описывают канал в плейлисте.

View File

@@ -8,7 +8,7 @@ hide: [toc]
<div class="grid cards" markdown>
- [:material-cogs: Как работает сервис](how-it-works.md)
- [:material-file-eye-outline: Как отбираются плейлисты](selection.md)
- [:material-file-refresh-outline: Как проверяются плейлисты](checks.md)
- [:material-file-refresh-outline: Проверки и статусы](checks.md)
- [:fontawesome-solid-list-check: Список плейлистов](list.md)
- [:material-table-eye: Страница плейлиста](details.md)
- [:material-television-play: Как подключить плейлист](connect.md)

View File

@@ -20,11 +20,11 @@ tags: ["сайт", "плейлисты"]
* **Код** — короткий уникальный [код плейлиста](../formats/playlists.md#code)
* **Информация о плейлисте**
* [статус плейлиста](../common/checks.md#плейлисты)
* может быть [значок 18+](../common/checks.md#для-взрослых)
* [статус плейлиста](../common/checks.md#playlists)
* может быть [значок 18+](../common/checks.md#adult)
* [название плейлиста](../formats/playlists.md#name) — ссылка на [страницу плейлиста](../common/details.md)
под ним:
* [иконки возможностей плейлиста](../common/checks.md#возможности) (только при статусе <span class="badge online">online</span>)
* [иконки возможностей плейлиста](../common/checks.md#extra) (только при статусе <span class="badge online">online</span>)
* [описание плейлиста](../formats/playlists.md#desc) (при наличии)
* [список тегов](../formats/channels.md#доступные-теги), собранный со всех каналов после их проверки (только при статусе <span class="badge online">online</span>)
* ещё одна ссылка на [страницу плейлиста](../common/details.md)

View File

@@ -5,11 +5,15 @@ tags: ["статусы", "плейлисты"]
# :material-file-eye-outline: Как отбираются плейлисты
Есть некоторые критерии, по которым плейлисты отбираются в проект:
Есть некоторые важные критерии, по которым плейлисты отбираются в проект:
* Прежде всего — каналы РФ и бывшего СНГ, но не только они
* Открытый источник
* Прямая ссылка на плейлист
* Автообновление плейлиста
- открытый источник и прямая ссылка;
- автообновление;
- бесплатный доступ, без необходимости регистрации, без пробного периода;
- без ограничений, в т. ч. по количеству устройств, плеерам, длительности просмотра;
- безусловная доступность с территории РФ.
В основном, в плейлистах именно трансляции телеканалов, но может быть и просто список каких-то (мульт)фильмов и записи телепередач, находящихся на чужих дисках (как если бы вы сами составили плейлист, например, с музыкой).
В основном, в плейлистах именно трансляции телеканалов, но может быть и медиатека: просто список каких-то (мульт)фильмов и записи телепередач, находящихся на чужих дисках (как если бы вы сами составили плейлист, например, с музыкой).
!!! danger "Плейлисты, нарушающие законодательство, удаляются с сайта окончательно по факту обращения от правообладателя."
И претензии на этот счёт не принимаются.

View File

@@ -11,38 +11,36 @@ tags: ["сайт", "каналы", "плейлисты", "epg", "плееры",
## Добавь каналы!
Нет.
Пожалуйста, обратитесь к [этому разделу документации](https://go-friend-go.narod.ru).
## Удали каналы!
Нет.
Пожалуйста, обратитесь к [этому разделу документации](https://go-friend-go.narod.ru).
## Но мне нужны конкретные каналы!
Ищи.
Пожалуйста, обратитесь к [этому разделу документации](https://go-friend-go.narod.ru).
## Сделай мне плейлист!
Нет.
Пожалуйста, обратитесь к [этому разделу документации](https://go-friend-go.narod.ru).
## Исправь плейлист!
Нет.
Пожалуйста, обратитесь к [этому разделу документации](https://go-friend-go.narod.ru).
## А за деньги?
[Пожертвованиям](support.md) я только рад.
Но нет.
Пожалуйста, обратитесь к [этому разделу документации](https://go-friend-go.narod.ru).
## Эти плейлисты бесплатны?
Возможно.
По крайней мере, так утверждают источники, которые их распространяют.
Но гарантий никаких никто не даёт.
Но гарантий никаких никто не даёт и не может.
Любой плейлист и любой канал в любом плейлисте может сдохнуть навсегда в любой момент.
Или показывать [заглушку](#заглушка).
Или показать [заглушку](#заглушка).
И претензии на этот счёт я не принимаю.
@@ -55,21 +53,21 @@ tags: ["сайт", "каналы", "плейлисты", "epg", "плееры",
Вспоминай.
## Нет программы передач (EPG) у *канала*, что делать?
## У **канала** нет программы передач (EPG), что делать?
Фига в том, что EPG может быть и [указан](formats/m3u.md#url-tvg) в плейлисте, но у конкретного канала могут быть указаны некорректные [`tvg-id`](formats/m3u.md#tvg-id) или [`tvg-name`](formats/m3u.md#tvg-name).
Может, его дёрнули из другого листа и не подогнали под другую EPG.
Так, что вариантов масса:
Так что вариантов масса:
* смотреть как есть;
* найти другой плейлист, где этот канал есть не только сам по себе, но и с телепрограммой;
* найти другой плейлист, где этот канал есть с телепрограммой;
* скачать плейлист себе файлом, исправить атрибуты канала и добавить в плеер уже этот лист, но забыть о его автообновлении;
* настроить другую программу передач (см. ниже).
Также, помни, что не все плееры вообще поддерживают работу с телепрограммой.
## Нет программы передач (EPG) у *плейлиста*, что делать?
## У **плейлиста** нет программы передач (EPG), что делать?
Помни:
@@ -117,7 +115,7 @@ tags: ["сайт", "каналы", "плейлисты", "epg", "плееры",
## Почему на сайте плейлист онлайн, но в нём 0 каналов?
[Тебе сюда](common/checks.md#плейлисты).
[Тебе сюда](common/checks.md#playlists).
## Почему на сайте плейлист онлайн, но у меня он не работает?
@@ -162,7 +160,7 @@ tags: ["сайт", "каналы", "плейлисты", "epg", "плееры",
Да, в плейлистах порнуха.
Это [явно помечается](common/checks.md#для-взрослых) везде, где это технически возможно.
Это [явно помечается](common/checks.md#adult) везде, где это технически возможно.
Смотри с удовольствием сколько хочешь, всё для тебя.
Или без удовольствия.

20
src/legal.md Normal file
View File

@@ -0,0 +1,20 @@
---
icon: material/wallet-outline
---
# :material-wallet-outline: Правообладателям
Данные, представленные на сайте https://m3u.su, получены автоматически из открыто доступных в интернете IPTV-плейлистов, опубликованных третьими лицами.
При наличии технической возможности, источник плейлиста может быть указан на вкладке [«Основные данные»](common/details.md).
Сервис https://m3u.su не размещает и не транслирует медиаконтент, не создаёт, не призывает использовать и распространять плейлисты третьих лиц, а также не оказывает услуг по ретрансляции телепрограмм.
Подробности о проекте и о том, как здесь оказались объекты ваших прав, читайте на страницах этой документации.
Информация о телеканалах (наименования, логотипы, технический статус и другие сведения) формируется исключительно путём обработки содержимого самого плейлиста.
Вся информация носит технический и ознакомительный характер, и её достоверность не гарантируется.
Все права на торговые марки и графические изображения принадлежат их законным владельцам.
Если вы являетесь правообладателем и считаете, что сведения на этой странице затрагивают ваши права, вы можете направить конфиденциальное уведомление на адрес **<abuse@m3u.su>**.
Плейлисты, нарушающие законодательство, удаляются с сайта окончательно по факту обращения от правообладателя.

View File

@@ -6,46 +6,38 @@ icon: material/hand-heart-outline
Проект держится только на сугубо техническом интересе одного разработчика в свободное от работы время.
При этом, проект не планировался как монетизируемый и до сих пор не принёс ни рубля прибыли.
Проект сознательно не монетизируется: это неправильно по отношению к пользователям и правообладателям.
Если у вас есть желание помочь проекту, ниже перечислены минимально доступные тебе способы — от самых простых способов к более сложным.
Ниже перечислены минимально доступные вам способы — от самых простых к более сложным.
## Рассказать публично
Друзьям, коллегам, на своей страничке, в своих каналах и социальных сетях.
Вокруг проекта должно быть какое-то сообщество неравнодушных энтузиастов.
Только такие люди обеспечивают прогресс.
## Подписаться в Telegram
## :simple-telegram: Подписаться в Telegram
У проекта есть два публичных ресурса для прямой связи с пользователями.
Там можно ставить **платные реакции** к постам и/или **дарить голоса** (бусты):
* канал: [@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](tg/chat.md) ([boost](https://t.me/iptv_aggregator_chat?boost)) — комментарии к каналу, общение по теме проекта и IPTV.
Голоса открывают новые возможности для каналов и групп.
## :material-wallet: Внести пожертвование
## Внести пожертвование
Вы можете внести прямое денежное **пожертвование** с банковской карты на виртуальный кошелёк ЮMoney:
Вы можете внести прямое денежное **пожертвование** с банковской карты на виртуальный кошелёк ЮMoney.
Разовый платёж, без подписок, на любую сумму.
<center><a href="https://yoomoney.ru/to/41001685237530">yoomoney.ru/to/41001685237530</a></center>
!!! yoomoney "[yoomoney.ru/to/41001685237530](https://yoomoney.ru/to/41001685237530)"
Разовый платёж, без подписок, на любую сумму.
Также вы можете оформить подписку на Boosty:
<center><a href="https://boosty.to/anthonyaxenov">boosty.to/anthonyaxenov</a></center>
!!! boosty "[boosty.to/anthonyaxenov](https://boosty.to/anthonyaxenov)"
Разовый платёж или платная подписка.
Финансовая поддержка проекта со стороны пользователей добровольна, она не рассматривается как способ обогащения или способ для эксклюзивного доступа к чему-либо.
Пожертвования добровольны.
Они не дают права на эксклюзивный доступ к чему-либо и не рассматриваются как способ обогащения.
Это лишь попытка компенсировать затраты на содержание проекта.
Пожертвования являются лишь компенсацией трудозатрат и мотивацией к его технической поддержке и развитию.
На пожертвования [был приобретён](https://t.me/iptv_aggregator/30) домен m3u.su, который сейчас используется в качестве короткого зеркала.
На пожертвования [был приобретён](https://t.me/iptv_aggregator/30) домен `m3u.su`, который сейчас используется в качестве основного адреса.
<a id="participate"></a>
## Принять участие в разработке
## :simple-git: Принять участие в разработке
Весь исходный код проекта хранится в репозиториях организации: [git.axenov.dev/IPTV](https://git.axenov.dev/IPTV)
@@ -53,13 +45,13 @@ icon: material/hand-heart-outline
!!! info "Это бесплатно, но неактивированные учётки периодически удаляются."
### Создать задачу
### :octicons-issue-opened-16: Создать задачу
Любое ПО неидеально, как и документация к нему.
Если вы нашли ошибку, опечатку, неожиданное поведение ПО или есть предложение по улучшению — можете создать задачу в соответствующем репозитории организации.
### Прислать изменения
### :octicons-git-pull-request-16: Прислать изменения
Вы можете внести исправления в код самостоятельно и прислать pull-request для принятия в основную ветку.

View File

@@ -21,9 +21,13 @@ tags: ["telegram"]
* ❌ Никаких войсов, кружочков, игр, контактов, историй или локаций (предупреждение)
*Не удаляй свои сообщения, если на них успели ответить (предупреждение)
🔶 Настоятельно рекомендуется прочесть хотя бы FAQ, а лучше всю документацию. Там наверняка уже давно есть ответ, который ты ищешь. Санитарка Роза или админ могут реагировать на твои сообщения и выдавать подсказки либо предупреждения (5 штук = бан).
🔶 Настоятельно рекомендуется прочесть хотя бы FAQ, а лучше всю документацию. Там наверняка уже давно есть ответ, который ты ищешь. Санитарка Роза или админ могут реагировать на твои сообщения и применять меры на своё усмотрение.
<a id="чеклист"></a>
!!! failure "Не забывай"
К людям надо относиться по-человечески.
Твой юмор могут не понять, а пассивную агрессию и дерзость не любит никто.
<a id="checklist"></a>
## Я только спросить!
Держи чеклист: