Add IPTV playlist functionality and enhance streaming endpoints
Implemented a new endpoint for downloading the IPTV playlist, allowing users to access a comprehensive M3U file containing all channels and program guides. Updated the StreamingEndpoints to support token validation for both cookie and query parameters, ensuring secure access for external IPTV players. Enhanced the AirPage component to include a download button for the IPTV playlist, with appropriate user feedback on success or failure. Updated localization strings to reflect new features and instructions for users.
This commit is contained in:
@@ -1033,6 +1033,22 @@ seed = hash(channelId, date, slotId, occurrenceInDay)
|
||||
Регулируется по силе, по умолчанию выключен: попадает точно в цель для канала «как в 96-м», но
|
||||
переборщить очень легко.
|
||||
|
||||
**Выгрузка для внешних IPTV-плееров.** Кнопка на экране эфира отдаёт `telewave.m3u` — список всех
|
||||
включённых каналов и ссылка на XMLTV с программой передач (`/api/iptv/epg.xml`, горизонт 7 суток,
|
||||
подряд идущие серии одного шоу склеены в одну передачу, врезки и заставки в гид не попадают).
|
||||
|
||||
Плеер не умеет ни Bearer, ни httpOnly-cookie — только открыть URL. Поэтому пропуск зашит прямо
|
||||
в ссылки файла долгим stream-токеном (`Storage:IptvTokenDays`, по умолчанию 30 суток), и его же
|
||||
принимают плейлист канала и сегменты — рядом с cookie, тем же форматом и той же проверкой подписи.
|
||||
Токен тянется дальше в адреса сегментов внутри `live.m3u8`: плеер разрешает их относительно
|
||||
плейлиста и query при этом теряет.
|
||||
|
||||
Из этого следует прямо: **файл и есть доступ к эфиру**, и делиться им нельзя — о чём говорится
|
||||
в момент скачивания. Отозвать отдельный файл нечем: помогает блокировка зрителя (её сверяет
|
||||
плейлист канала на каждой перезагрузке — для IPTV это единственная точка, где она вообще
|
||||
срабатывает) и смена `Jwt:SigningKey`, которая обнуляет все выданные токены разом. Реестра
|
||||
выданных файлов не заводим, пока не появится запрос на отзыв поштучно.
|
||||
|
||||
### 6.6.1. Откат правок
|
||||
|
||||
У плашки «правила изменены» две кнопки: применить и **сбросить**. Слои и слоты правятся на месте,
|
||||
|
||||
Reference in New Issue
Block a user