mirror of
https://github.com/anthonyaxenov/iptv.git
synced 2024-11-22 05:24:45 +00:00
Куча мелких правок
- Файл channels.ini переименован в playlists.ini, добавлена текстовка - Добавлена ссылка на гитхаб - Добавлена дата посл. изменения файла playlists.ini - Не выводятся те плейлисты из файла, у коих не указан pls - Убран закомментированный код
This commit is contained in:
parent
35941ec56e
commit
16e92f8c08
54
channels.ini
54
channels.ini
@ -1,54 +0,0 @@
|
|||||||
[1]
|
|
||||||
name='smarttvapp.ru'
|
|
||||||
pls='https://smarttvapp.ru/app/iptvfull.m3u'
|
|
||||||
src='https://smarttvapp.ru/aktualnyiy-i-rabochiy-iptv-pleylist-m3u/'
|
|
||||||
|
|
||||||
[2]
|
|
||||||
name='IPTV Forever RU webhalpme.ru'
|
|
||||||
pls='https://webhalpme.ru/listru.m3u'
|
|
||||||
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
|
|
||||||
|
|
||||||
[3]
|
|
||||||
name='IPTV Forever webhalpme.ru'
|
|
||||||
pls='https://webhalpme.ru/list.m3u'
|
|
||||||
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
|
|
||||||
|
|
||||||
[4]
|
|
||||||
name='iptvm3u.ru ONE'
|
|
||||||
pls='https://iptvm3u.ru/onelist.m3u'
|
|
||||||
src='https://iptvm3u.ru/one/'
|
|
||||||
|
|
||||||
[5]
|
|
||||||
name='iptvm3u.ru HD'
|
|
||||||
pls='https://iptvm3u.ru/hdlist.m3u'
|
|
||||||
src='https://iptvm3u.ru/iptv-hd/'
|
|
||||||
|
|
||||||
[6]
|
|
||||||
name='smarttvnews.ru'
|
|
||||||
pls='https://smarttvnews.ru/apps/iptvchannels.m3u'
|
|
||||||
src='https://smarttvnews.ru/rabochiy-i-aktualnyiy-iptv-pleylist-m3u-kanalyi-v-sd-i-hd-kachestve/'
|
|
||||||
|
|
||||||
[7]
|
|
||||||
name='webarmen.com'
|
|
||||||
pls='https://webarmen.com/my/iptv/auto.nogrp.m3u'
|
|
||||||
src='https://webarmen.com/my/iptv/index.php'
|
|
||||||
|
|
||||||
[8]
|
|
||||||
name='tv-smart-tv.ru'
|
|
||||||
pls='http://tv-smart-tv.ru/iptv/pl.m3u'
|
|
||||||
src='https://tv-smart-tv.ru/besplatnyy-samoobnovlya-emyy-iptv-pley-list-bolee-600-kanalov-m3u/'
|
|
||||||
|
|
||||||
[9]
|
|
||||||
name='Детский IPTV «Kids»'
|
|
||||||
pls='https://webhalpme.ru/kids.m3u'
|
|
||||||
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
|
|
||||||
|
|
||||||
[10]
|
|
||||||
name='Плейлист от SlyNet'
|
|
||||||
pls='http://urlcut.ru/FreeBestTV.m3u'
|
|
||||||
src='https://webhalpme.ru/samoobnovljaemye-plejlisty-iptv-2019/'
|
|
||||||
|
|
||||||
[11]
|
|
||||||
name='webarmen.com 18+'
|
|
||||||
pls='https://webarmen.com/my/iptv/auto.xxx.m3u'
|
|
||||||
src='https://webarmen.com/my/iptv/xxx.php'
|
|
99
index.php
99
index.php
@ -1,9 +1,17 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
ini_set('display_errors', 1);
|
if ($_GET['dbg']) {
|
||||||
ini_set('display_startup_errors', 1);
|
ini_set('display_errors', 1);
|
||||||
error_reporting(E_ALL);
|
ini_set('display_startup_errors', 1);
|
||||||
|
error_reporting(E_ALL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Возвращает количество каналов в плейлисте
|
||||||
|
*
|
||||||
|
* @param string $pls_url URL плейлиста
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
function getChannelCount($pls_url) {
|
function getChannelCount($pls_url) {
|
||||||
$content = file_get_contents($pls_url);
|
$content = file_get_contents($pls_url);
|
||||||
$matches = [];
|
$matches = [];
|
||||||
@ -11,17 +19,12 @@ function getChannelCount($pls_url) {
|
|||||||
return count($matches[0]);
|
return count($matches[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Шаблон короткой ссылки на плейлист
|
||||||
// $my_url = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'?s=';
|
// $my_url = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'?s=';
|
||||||
$my_url = $_SERVER['SERVER_NAME'].'/'.basename(__DIR__).'?s=';
|
$my_url = $_SERVER['SERVER_NAME'].'/'.basename(__DIR__).'?s=';
|
||||||
|
|
||||||
$data = parse_ini_file('channels.ini', true);
|
// Чтение списка плейлистов из ini-файла
|
||||||
|
$data = parse_ini_file('playlists.ini', true);
|
||||||
if (!empty($_GET['dbg'])) {
|
|
||||||
var_dump(__DIR__);
|
|
||||||
var_dump(basename(__DIR__));
|
|
||||||
var_dump($_SERVER);
|
|
||||||
die;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (empty($_GET['s'])) { ?>
|
if (empty($_GET['s'])) { ?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@ -34,15 +37,18 @@ if (empty($_GET['s'])) { ?>
|
|||||||
<body>
|
<body>
|
||||||
<h1>Список самообновляемых плейлистов для IPTV</h1>
|
<h1>Список самообновляемых плейлистов для IPTV</h1>
|
||||||
<p>
|
<p>
|
||||||
Эти плейлисты бесплатны и подобраны вручную из открытых источников.<br>
|
Дата обновления списка: <strong>
|
||||||
Поддержкой самих плейлистов занимаются сервисы и ресурсы, указанные как источник (если таковые имеются).
|
<?=date('d-m-Y h:i:s', filemtime('playlists.ini'))?>
|
||||||
|
<br>
|
||||||
|
<a href="https://github.com/anthonyaxenov/iptv">github.com/anthonyaxenov/iptv</a>
|
||||||
|
</strong>
|
||||||
|
<p>
|
||||||
|
Поддержкой этих плейлистов занимаются сервисы и ресурсы, указанные как источник (если таковые имеются).<br>
|
||||||
|
Эти плейлисты собраны здесь вручную и бесплатны.
|
||||||
</p>
|
</p>
|
||||||
<p>Чтобы подключить плейлист, нужно в настройках IPTV-плеера добавить ссылку в следующем формате:</p>
|
<p>Чтобы подключить плейлист, нужно в настройках IPTV-плеера добавить ссылку в следующем формате:</p>
|
||||||
<pre><?=$my_url?><strong>ID</strong></pre>
|
<pre><?=$my_url?><strong>ID</strong></pre>
|
||||||
<p>
|
<p>где <strong>ID</strong> - один из указанных ниже идентификаторов.</p>
|
||||||
где <strong>ID</strong> - один из указанных ниже идентификаторов.<br>
|
|
||||||
Либо указывать ссылку на оригинальный плейлист в последней колонке.
|
|
||||||
</p>
|
|
||||||
<table width="100%" border="1" cellpadding="1">
|
<table width="100%" border="1" cellpadding="1">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -50,42 +56,35 @@ if (empty($_GET['s'])) { ?>
|
|||||||
<td>Название, источник</td>
|
<td>Название, источник</td>
|
||||||
<td style="text-align: center">Каналов</td>
|
<td style="text-align: center">Каналов</td>
|
||||||
<td>Плейлист</td>
|
<td>Плейлист</td>
|
||||||
<!-- <td>Оригинал</td> -->
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php foreach ($data as $id => $element) { ?>
|
<?php foreach ($data as $id => $element) {
|
||||||
<tr>
|
if (empty($element['pls'])) {
|
||||||
<td style="text-align: center">
|
continue;
|
||||||
<strong><?=$id?></strong>
|
} ?>
|
||||||
</td>
|
<tr>
|
||||||
<td>
|
<td style="text-align: center">
|
||||||
<strong>
|
<strong><?=$id?></strong>
|
||||||
<?php if (empty($element['src'])) { ?>
|
</td>
|
||||||
<?=$element['name']?>
|
<td>
|
||||||
<?php } else { ?>
|
<strong>
|
||||||
<a href="<?=$element['src']?>" target="_blank" rel="noopener nofollow"><?=$element['name']?></a>
|
<?php if (empty($element['src'])) { ?>
|
||||||
<?php } ?>
|
<?=$element['name']?>
|
||||||
</strong>
|
<?php } else { ?>
|
||||||
</td>
|
<a href="<?=$element['src']?>" target="_blank" rel="noopener nofollow"><?=$element['name']?></a>
|
||||||
<td style="text-align: center"><?=getChannelCount($element['pls'])?></td>
|
<?php } ?>
|
||||||
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$my_url?><?=$id?>')"
|
</strong>
|
||||||
title="Нажмите, чтобы скопировать адрес"
|
</td>
|
||||||
style="cursor:pointer">
|
<td style="text-align: center"><?=getChannelCount($element['pls'])?></td>
|
||||||
<strong>
|
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$my_url?><?=$id?>')"
|
||||||
<pre><?=$my_url?><?=$id?></pre>
|
title="Нажмите, чтобы скопировать адрес"
|
||||||
</strong>
|
style="cursor:pointer">
|
||||||
</td>
|
<strong>
|
||||||
<?php
|
<pre><?=$my_url?><?=$id?></pre>
|
||||||
/*
|
</strong>
|
||||||
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$element['pls']?>')"
|
</td>
|
||||||
title="Нажмите, чтобы скопировать адрес"
|
</tr>
|
||||||
style="cursor:pointer">
|
|
||||||
<pre><?=$element['pls']?></pre>
|
|
||||||
</td>
|
|
||||||
*/
|
|
||||||
?>
|
|
||||||
</tr>
|
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
Loading…
Reference in New Issue
Block a user