Tvheadend PHP admin panel

tvheadend-php-admin

Skaitymo laikas: 3 minutės

Tekstas atnaujintas: 2020-09-20

Atnaujinta versija pasiekiama čia.

Sudėliojau tvheadend php minimalų valdymo puslapį, pagal savo norus, ką noriu jog rodytų.

Šiuo metu atrodo taip.

tvheadend admin panel php

Prieš tai buvo įrašas apie android priedėlių suderinimą su tvheadend paduodamu sąrašu, bet truputį prasiplėtė šis reikalas.

Prenumeruok 🤟

Gauk į paštą žinutę apie naujus įrašus 👍

Kodėl tai sukūriau?

Senai norėjau kažką panašaus susidėlioti, jog būtų pateikta informacija tokios kokios noriu pats, tvheadend paduoda viską, bet nepatiko jog per atskirus punktus visko reikia ieškoti.

Su php nedraugauju tai teko ieškoti informacijos, kaip veikia tas php.

Google pasinaudojus galima rasti daug informacijos, tik ją reikia mokėti prisitaikyti 😆

Tarpais kildavo problemų tai ties šiuo reikalu dar padėjo Discord IPTV bendruomenė.

PovilasC bei @D3mo.

Kokią informaciją gauname

Truputį paaiškinsiu.

Rodo vartotoją kuris žiūri kanalą šiuo metu.

IP adreso vėliava iš kokios šalies žiūrima, mėginau daryti, jog rodytų miestą, bet labai jau netiksliai rodė.

Taip pat iš kokio IP adreso žiūrima.

Per kokį grotuvą žiūrima.

Kanalo informaciją, logotipą ir ką šiuo metu rodo. Jeigu nėra programų gido priskirta prie kanalo, nebus rodomas kanalo paveikslėlis.

In ir Out rodo kanalo srauto statistiką.

Error rodo kiek klaidų sraute užfiksavo tvheadend.

Nuo kada žiūrima ir kiek laiko.

Bei koks profilis naudojamas kanalo padavimui.

Ir galiausiai apačioje rodomas bendras srautas visu kanalų.

Statistiką gali rodyti pastoviai atsinaujinančią arba tiesiog tuo metu.

Tvheadend PHP admin panel 1

Taip pat galima pridėti naują vartotoją.

Kuris bus sukurtas iškart ir rodys tada tarp visų.

O lentelėje rodys vartotoja vardą, koks jo statusas, įjungtas ar ne.

Galima tą vartotoją atjungti, aktyvuoti bei visai ištrinti.

Bei galima pasiekti vartotojo prieinamus kanalus ir įrašus.

Tvheadend PHP statuso skriptas

Visi failai .zip archyve.

Kadangi pats kodas gan ilgokas, tai čia jo nekelsiu tiesiai, o tiesiog apie tas vietas aptarsiu kurias reikia pakoreguoti.

login.php

	/* Check Login form submitted */	
	if(isset($_POST['Submit'])){
		/* Define username and associated password array */
		$logins = array('vartotojas' => 'kodas');

Kadangi puslapis turi minimalų prisijungimo langą tai šiame faile pasikeičiam paryškintas vietas, jog galėtų prisijungti.

dvr.php

//tvheadend irasai
$user = $_GET['user'];
$pass = $_GET['pass'];
$tvheadend_ip = "tvheadend_adresas";

Tereikia nurodyti tvheadend IP adresą, ten kur paryškinta.

stat.php

header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Connection: close");
$url = "vartotojas:kodas@ip_adresas_tvheadend";

Keičiame paryškintas vietas.

Suvedame pagrindinio vartotojo duomenis bei IP adresą.

echo "<th>"; echo $u->enabled ? 'enabled' : 'disabled'; echo "</th>"; 

$iptv_and_vod_address = "php_ip_adresas";

Kečiame paryškintą vietą, reikia nurodyti kur bus pasiekiami .php failai. Ten kur bus talpinami php failai.

$out = $o->out * 1 / 1000;
$out = round($out, 0);

$insum = $insum + $in;
$outsum = $outsum + $out;


$reader = new Reader('https://cdn.evpro.lt/usr/local/share/GeoIP/GeoIP2-City.mmdb');

$ipas = str_replace('::ffff:', '', $o->hostname);
$ipas2 = str_replace('192.168.1.1', 'pagrindinis_ip_adresas', $ipas);

Keičiame taip pat paryškintą vietą, šioje vietoje reikia įrašyti išorinį IP adresą.

Tvheadend kažko prideda savo ::ffff: prie adreso, tai naikiname šią vietą.

Dėl IP adresų dar reikia įkelti mmdb failą į:

/usr/local/share/GeoIP/

Failą galime gauti čia. Reikės užsiregistruoti ir parsisiųsti failą.

user.php
user_add.php
user_delete.php
tvh.php

$url = "@ip_adresas";
$user_pass = "vartotojas:kodas";
$curlHandler = curl_init();

Keičiame paryškintas vietas trijuose failuose.

tvh.php faile dar nustatome epg failo vietą.

$array1 = json_decode($json1, true);
$array3 = json_decode($json3, true);
echo "#EXTM3U x-tvg-url=\"https://epg.adreas.lt\"";
echo " url-tvg=\"https://epg.adreas.lt\"\n";

Keli pastebėjimai

Auto atnaujinimas vyksta kas sekundę, tai norint įvesti naują vartotoją reikia išjungti auto atnaujinimą.

User lentelėje esantys playlist adresų kodas paimamas iš tvheadend vartotojo comment dalies. Tad reiktų ten surašyti kodus.

Kartais reikia perkrauti dar kartą puslapį jeigu kažkas keičiama su vartotojais.

Dar liko visokių html klaidų, bet firefox ir chrome atvaizduoja gerai.

Ateityje planuoju dar atnaujinti šį reikalą.

Jeigu nori gauti naujienas apie tai, prenumeruok naujienas žemiau esančioje formoje.

Taip pat galima sekti mane discord grupėje.

Komentaruose gali palikti pastebėjimus arba pasiūlymus.

Ar patiko įrašas?

Spausk jog įvertinti.

Vidutinis įvertinimas / 5. Įvertino:

Įvertinimų nėra, būk pirmas!

Jeigu įrašas patiko...

Pasidalink!

Jeigu įrašas nepatiko.

Padėk patobulinti įrašą!

Būtų malonu sužinoti kodėl?


Jeigu patiko įrašas, siūlau prenumeruoti, kaip tai padaryti aprašiau čia (el. paštu, telegram ir discord kanalai, facebook, twitter).

Gal patiks ir kiti įrašai