0
0
mirror of https://github.com/anthonyaxenov/iptv.git synced 2024-11-22 05:24:45 +00:00

Initial commit

This commit is contained in:
Anthony Axenov 2020-04-18 21:25:13 +08:00
commit 35941ec56e
2 changed files with 151 additions and 0 deletions

54
channels.ini Normal file
View File

@ -0,0 +1,54 @@
[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'

97
index.php Normal file
View File

@ -0,0 +1,97 @@
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
function getChannelCount($pls_url) {
$content = file_get_contents($pls_url);
$matches = [];
preg_match_all('[EXTINF]', $content, $matches);
return count($matches[0]);
}
// $my_url = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'?s=';
$my_url = $_SERVER['SERVER_NAME'].'/'.basename(__DIR__).'?s=';
$data = parse_ini_file('channels.ini', true);
if (!empty($_GET['dbg'])) {
var_dump(__DIR__);
var_dump(basename(__DIR__));
var_dump($_SERVER);
die;
}
if (empty($_GET['s'])) { ?>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IPTV Playlists</title>
</head>
<body>
<h1>Список самообновляемых плейлистов для IPTV</h1>
<p>
Эти плейлисты бесплатны и подобраны вручную из открытых источников.<br>
Поддержкой самих плейлистов занимаются сервисы и ресурсы, указанные как источник (если таковые имеются).
</p>
<p>Чтобы подключить плейлист, нужно в настройках IPTV-плеера добавить ссылку в следующем формате:</p>
<pre><?=$my_url?><strong>ID</strong></pre>
<p>
где <strong>ID</strong> - один из указанных ниже идентификаторов.<br>
Либо указывать ссылку на оригинальный плейлист в последней колонке.
</p>
<table width="100%" border="1" cellpadding="1">
<thead>
<tr>
<td style="text-align: center">ID</td>
<td>Название, источник</td>
<td style="text-align: center">Каналов</td>
<td>Плейлист</td>
<!-- <td>Оригинал</td> -->
</tr>
</thead>
<tbody>
<?php foreach ($data as $id => $element) { ?>
<tr>
<td style="text-align: center">
<strong><?=$id?></strong>
</td>
<td>
<strong>
<?php if (empty($element['src'])) { ?>
<?=$element['name']?>
<?php } else { ?>
<a href="<?=$element['src']?>" target="_blank" rel="noopener nofollow"><?=$element['name']?></a>
<?php } ?>
</strong>
</td>
<td style="text-align: center"><?=getChannelCount($element['pls'])?></td>
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$my_url?><?=$id?>')"
title="Нажмите, чтобы скопировать адрес"
style="cursor:pointer">
<strong>
<pre><?=$my_url?><?=$id?></pre>
</strong>
</td>
<?php
/*
<td onclick="prompt('Скопируйте адрес плейлиста', '<?=$element['pls']?>')"
title="Нажмите, чтобы скопировать адрес"
style="cursor:pointer">
<pre><?=$element['pls']?></pre>
</td>
*/
?>
</tr>
<?php } ?>
</tbody>
</table>
<!-- <h2>Как этим пользоваться?</h2> -->
</body>
</html>
<?php } else {
header('Location: '.$data[(int)$_GET['s']-1]['pls']);
}