Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 1 addition & 36 deletions .github/workflows/personal-bunny-playlists.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ on:
- 'tools/sync_bunny_countries.py'
- 'tools/build_lampa_lite.py'
- 'tools/lampa_category_fix.py'
- 'tools/adulttest.py'
- 'tools/plutotv_bunny.py'
- 'tools/publish_public_bunny.py'
- 'tools/verify_public_hub.py'
Expand Down Expand Up @@ -134,40 +133,6 @@ jobs:
print("FULL_LAMPA_GROUPS_PASS", len(full), len(counts))
PY

- name: Compile Adulttest multi-source tester
run: python3 -m py_compile tools/adulttest.py
- name: Adulttest M3U normalization and credential safety tests
run: python3 tools/adulttest.py --self-test
- name: Check Adulttest source inventory against research
run: |
python3 - <<'PY'
import sys
sys.path.insert(0, 'tools')
import adulttest
assert len(adulttest.SOURCES) == 16
assert len({spec[0] for spec in adulttest.SOURCES}) == 16
assert len([s for s in adulttest.SOURCES if s[-1] == 'metadata']) == 1
for s in adulttest.SOURCES:
assert adulttest.source_url(s).startswith('https://raw.githubusercontent.com/')
print('ADULTTEST_SOURCE_INVENTORY_PASS', len(adulttest.SOURCES))
PY

- name: Collect Adulttest source metadata (no stream probes, no upload)
run: |
python3 - <<'PY'
import collections,sys
sys.path.insert(0,'tools')
import adulttest
results, rejected, sources = adulttest.collect()
print('ADULTTEST_PUBLIC_CANDIDATES_FOUND', len(results),
'SOURCES', len(sources), 'EARLY_REJECTIONS', sum(rejected.values()))
assert len(sources) == 16
assert len(results) >= 30
assert all(adulttest.safe_stream_url(candidate.url)[0] for candidate in results)
assert all(not adulttest.CAM_WORDS.search(candidate.name) for candidate in results)
print('ADULTTEST_SOURCE_DISCOVERY_PASS')
PY

- name: Compile PlutoTV standalone installer
run: python3 -m py_compile tools/plutotv_bunny.py
- name: Offline PlutoTV playlist security and grouping tests
Expand All @@ -194,7 +159,7 @@ jobs:

- name: Compile public catalog tools
run: python3 -m py_compile tools/publish_public_bunny.py tools/verify_public_hub.py
- name: Validate 238 public M3U links and evidence status
- name: Validate 237 public M3U links and evidence status
run: python3 tools/verify_public_hub.py
- name: Offline safe country fallback test (no Bunny, no network)
run: python3 tools/publish_public_bunny.py --self-test
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[![GitHub CI](https://github.com/vbrekher/iptv/actions/workflows/personal-bunny-playlists.yml/badge.svg)](https://github.com/vbrekher/iptv/actions/workflows/personal-bunny-playlists.yml)
[![License: CC0](https://img.shields.io/badge/License-CC0-5c6bc0.svg)](LICENSE)
[![Fork: IPTV-org](https://img.shields.io/badge/Based%20on-IPTV--org-2962ff.svg)](https://github.com/iptv-org/iptv)
[![Public M3U Directory](https://img.shields.io/badge/Catalog-238%20M3U%20links-2da8a6.svg)](docs/BUNNY_PLAYLISTS.md)
[![Public M3U Directory](https://img.shields.io/badge/Catalog-237%20M3U%20links-2da8a6.svg)](docs/BUNNY_PLAYLISTS.md)

[**📚 ПОЛНЫЙ КАТАЛОГ**](docs/BUNNY_PLAYLISTS.md) · [**🚀 БЫСТРЫЙ СТАРТ**](#-начните-отсюда) · [**🌍 СТРАНЫ**](#-188-стран-с-флагами) · [**📖 ИЗМЕНЕНИЯ**](docs/FORK_CHANGELOG.md) · [**🛠 ПУБЛИКАЦИЯ**](docs/PUBLIC_RELEASE.md)

Expand All @@ -21,12 +21,12 @@

## ✨ Что здесь особенного

| 🌍 Каталог | 📺 Samsung / Lampa | 🔞 Adulttest | 🪐 Pluto TV |
| 🌍 Каталог | 📺 Samsung / Lampa | 🔞 Adult / XXX | 🪐 Pluto TV |
|---|---|---|---|
| 188 стран с флагами, 34 категории | Лёгкие варианты на 240/600 записей | Отдельный тестированный HLS-каталог | Общее, региональное и Erotic FAST |
| Прямые ссылки на Bunny CDN | Исправленные группы без случайных комбинаций | Отдельный список, не смешанный с Pluto | Источники и логотипы в M3U |
| 188 стран с флагами, 34 категории | Лёгкие варианты на 240/600 записей | Отдельные 18+ разделы | Общее, региональное и Erotic FAST |
| Прямые ссылки на Bunny CDN | Исправленные группы без случайных комбинаций | С предупреждениями о доступности и рекламе | Источники и логотипы в M3U |

**238 описанных URL** = 188 стран + 34 категории + 16 основных/специальных списков. Это количество ссылок в каталоге, **не количество проверенных доступных CDN-объектов или телеканалов**.
**237 описанных URL** = 188 стран + 34 категории + 15 основных/специальных списков. Это количество ссылок в каталоге, **не количество проверенных доступных CDN-объектов или телеканалов**.

## 🚀 Начните отсюда

Expand All @@ -39,7 +39,6 @@
| 🇺🇦 **Украина** | [countries/ua.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/countries/ua.m3u) | Украинский телекаталог | ☑️ Был загружен |
| 🎭 **Все категории** | [index.category.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/index.category.m3u) | Большой исторический список | ☑️ Был загружен |
| 🌐 **Общий IPTV** | [index.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/index.m3u) | Все каналы (большой файл) | ✅ CDN ранее VERIFIED |
| 🔞 **Adulttest** | [adulttest.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/adulttest.m3u) | HLS-кандидаты 18+ | ✅ CDN по отчёту пользователя |

**Исправленный полный каталог:** [index.clean.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/index.clean.m3u) · **Общий по странам:** [index.country.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/index.country.m3u) · **Lampa Clean 600:** [lampa-clean.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/lampa-clean.m3u)

Expand Down Expand Up @@ -108,7 +107,6 @@

| Источник | M3U | Статус |
|---|---|---|
| Adulttest · 141 технически открытый HLS по пользовательскому отчёту | [adulttest.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/adulttest.m3u) | ✅ CDN подтверждён отчётом |
| Исторический список · 46 анонимных HLS | [adult.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/adult.m3u) | ☑️ Был загружен |
| Старый категорийный каталог | [categories/xxx.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/categories/xxx.m3u) | ☑️ Был загружен |
| Немецкие Pluto Erotic FAST (не премиальное хардкор-ТВ) | [plutotv-erotic.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/plutotv-erotic.m3u) | ○ Публикация не подтверждена |
Expand All @@ -135,7 +133,7 @@ python3 publish_public_bunny.py # публикация отсутс

Изменения с PR [#1](https://github.com/vbrekher/iptv/pull/1) по [#9](https://github.com/vbrekher/iptv/pull/9) оформлены в [полной истории разработки](docs/FORK_CHANGELOG.md), включая скрипты, исправления ошибок, релизные границы и реальные результаты проверок.

**Документация:** [Каталог M3U](docs/BUNNY_PLAYLISTS.md) · [Развёртывание Bunny](docs/BUNNY_ONE_CLICK.md) · [Adulttest](docs/ADULTTEST.md) · [Pluto и qist](docs/QIST_PLUTOTV.md) · [Обновление публикаций](docs/PUBLIC_RELEASE.md) · [Данные каталога JSON](catalog/bunny-playlists.json)
**Документация:** [Каталог M3U](docs/BUNNY_PLAYLISTS.md) · [Развёртывание Bunny](docs/BUNNY_ONE_CLICK.md) · [Pluto и qist](docs/QIST_PLUTOTV.md) · [Обновление публикаций](docs/PUBLIC_RELEASE.md) · [Данные каталога JSON](catalog/bunny-playlists.json)

---

Expand Down
13 changes: 2 additions & 11 deletions catalog/bunny-playlists.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"totals": {
"countries": 188,
"categories": 34,
"featured": 16,
"links": 238
"featured": 15,
"links": 237
},
"items": [
{
Expand Down Expand Up @@ -60,15 +60,6 @@
"title": "Adult / XXX (исходный)",
"description": "46 ранее технически открытых HLS; много рекламных/платных заглушек"
},
{
"id": "adulttest-m3u",
"path": "adulttest.m3u",
"url": "https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/adulttest.m3u",
"status": "user_report_cdn_verified",
"group": "adult",
"title": "Adulttest / 18+ (тестовый)",
"description": "141 анонимный HLS прошёл тест; качество не подтверждено"
},
{
"id": "lampa-lite-m3u",
"path": "lampa-lite.m3u",
Expand Down
90 changes: 0 additions & 90 deletions docs/ADULTTEST.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/BUNNY_PLAYLISTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
| Плейлист | Примечание | URL | Статус |
|---|---|---|---|
| Adult / XXX (исходный) | 46 ранее технически открытых HLS; много рекламных/платных заглушек | [adult.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/adult.m3u) | ☑️ Загружен по логу |
| Adulttest / 18+ (тестовый) | 141 анонимный HLS прошёл тест; качество не подтверждено | [adulttest.m3u](https://lampa-iptv-875323ab-cdn.b-cdn.net/iptv/adulttest.m3u) | ✅ CDN подтверждён отчётом |

## 🪐 Pluto TV · отдельные списки

Expand Down
14 changes: 9 additions & 5 deletions docs/FORK_CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,19 @@
| [#5 · All Countries](https://github.com/vbrekher/iptv/pull/5) | Страновые M3U из официального списка IPTV-org, grouped index, countries-only |
| [#6 · Samsung Tizen Lite](https://github.com/vbrekher/iptv/pull/6) | Облегчённые M3U на 240 и 600 записей |
| [#7 · Clean Groups](https://github.com/vbrekher/iptv/pull/7) | Одна нормальная категория на телеканал, устранение комбинаций Family;Series и др. |
| [#8 · Adulttest](https://github.com/vbrekher/iptv/pull/8) | Исследование 16 источников, фильтрация, логотипы, отдельный тестовый adulttest.m3u |
| [#8 · Архивный эксперимент](https://github.com/vbrekher/iptv/pull/8) | Экспериментальный тестер потоков позднее исключён из публичной версии |
| [#9 · Pluto TV & qist](https://github.com/vbrekher/iptv/pull/9) | Pluto all/DE/US/GB/lite/erotic FAST, изучение qist/tvbox |

## Public Playlist Hub

- [238 прямых ссылок M3U](BUNNY_PLAYLISTS.md): 16 основных и специальных плейлистов, 34 категории, 188 стран с флагами.
- [237 прямых ссылок M3U](BUNNY_PLAYLISTS.md): 15 основных и специальных плейлистов, 34 категории, 188 стран с флагами.
- [Машиночитаемый JSON-каталог](../catalog/bunny-playlists.json): URL, описание, тип и статус каждой ссылки.
- [Один запуск публикации в существующий Bunny](PUBLIC_RELEASE.md): один скрытый ввод ключа, без пересоздания зон, без повторной проверки adulttest.
- [Один запуск публикации в существующий Bunny](PUBLIC_RELEASE.md): один скрытый ввод ключа, без пересоздания зон, без повторной проверки потоков.
- Новая главная страница GitHub и проверка каталога в CI.

## Что реально подтверждено

В предыдущем терминальном отчёте пользователя опубликованы 39 M3U/каталожных файлов: большой index.m3u, adult.m3u, countries/ua.m3u, отдельные категории. CDN index отмечен VERIFIED. В отдельном пользовательском отчёте Adulttest — 682 URL-кандидата, 141 технически доступный HLS, 541 отклонён, adulttest_uploaded=true и cdn_verified=true.
В предыдущем терминальном отчёте пользователя опубликованы 39 M3U/каталожных файлов: большой index.m3u, adult.m3u, countries/ua.m3u, отдельные категории. CDN index отмечен VERIFIED.

GitHub CI построил Pluto ALL 3016 записей, Germany 200, Erotic FAST 8, Lite 240, US 433 и GB 183. **Это сборка данных в CI, не доказательство загрузки Pluto на Bunny или воспроизведения каналов на Samsung.**

Expand All @@ -37,8 +37,12 @@ GitHub CI построил Pluto ALL 3016 записей, Germany 200, Erotic FA

## Техническая архитектура

Оригинальный IPTV-org остаётся базой. Наши скрипты расположены в папке [tools/](../tools/): personal_bunny_playlists.py, free_hls_filter.py, auto_bunny_setup.py, sync_bunny_countries.py, build_lampa_lite.py, lampa_category_fix.py, adulttest.py, plutotv_bunny.py, publish_public_bunny.py.
Оригинальный IPTV-org остаётся базой. Наши скрипты расположены в папке [tools/](../tools/): personal_bunny_playlists.py, free_hls_filter.py, auto_bunny_setup.py, sync_bunny_countries.py, build_lampa_lite.py, lampa_category_fix.py, plutotv_bunny.py, publish_public_bunny.py.

Bunny Storage и CDN хранят/выдают **только M3U и текстовые отчёты**. HLS-видео идёт от третьих сторон. Наличие ссылки не снимает лицензионные, DRM или географические ограничения.

Исходная лицензия [CC0](../LICENSE) сохраняется. На логотипы, товарные знаки и вещание сторонних каналов могут распространяться отдельные права.

## Удаление тестового 18+ каталога

Тестовый список и его генератор исключены из текущего дерева форка по запросу владельца. Исторические PR GitHub сохраняются как история разработки. Удаление ранее загруженного объекта из Bunny Storage и очистка CDN выполняются отдельно в аккаунте владельца.
Loading
Loading