Tvheadend PHP admin panel

Įrašo turinys
Atnaujinta versija pasiekiama čia.
Sudėliojau tvheadend php minimalų valdymo puslapį, pagal savo norus, ką noriu jog rodytų.
Šiuo metu atrodo taip.

Prieš tai buvo įrašas apie android priedėlių suderinimą su tvheadend paduodamu sąrašu, bet truputį prasiplėtė šis reikalas.
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.

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.
/* 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.
//tvheadend irasai$user = $_GET['user'];$pass = $_GET['pass'];$tvheadend_ip = "tvheadend_adresas";
Tereikia nurodyti tvheadend IP adresą, ten kur paryškinta.
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('/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ą.
$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.


