Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Oscam Server Monitor

milsani110

Newbie
Registriert
22. Januar 2013
Beiträge
14
Reaktionspunkte
2
Punkte
23
ziel meines kleinen persönlichen projektes sollte sein, der monitor funktion vom oscam leben einzuhauchen. ich wollte wissen ob mein cs server läuft und das am besten per webseite. hab gesucht obs da schon was fertiges gibt aber konnte nichts finden was auf der monitor funktion aufsetzt. geholfen hat mir dabei definitiv das posting von dukat aus streamboard keine Links in fremde Boards, siehe Boardregeln!
dann hier noch mal die liste der befehle: exit,log,status,shutdown,reload,details,version,debug,getuser,setuser,setserver,commands,keepalive,reread,restart

naja und daraus sind dann die paar zeilen code entstanden. vielleicht hilft es ja dem ein oder anderen.

in der oscam.conf müssen min. folgende 3 Zeilen rein
[monitor]
port = 15000 //ist der UDP Port auf dem gehorcht wird
nocrypt = 192.168.2.45 // IP oder IP Bereiche von dem die Connections kommen dürfen
in der oscam.user müssen folgende Zeilen eingetragen werden
[account]
user = monitor //wäre dann der loginname
pwd = geheim //das passwort
monlevel = 2 //

nun zum eigentlichen php script, ich hoffe es ist soweit selbsterklärend, ansonsten kann ich aber gerne nach bessern :-)

hab eben noch mal drüber gelesen, ich kann ja ein paar worte drüber verlieren.

ich connecte per udp zum angegeben host + port, 2 sekunden sollte für den vorgang reichen. dann setze ich den timeout für die nachfolgende befehle auch auf 2 sek. das schick ich ein login monitor geheim und als antwort muss dann sowas kommen wie [AS2000]1|monitor logged in. naja und dann frag ich den status ab, mit dem befehl status. dann gibts zeilenweise output und ich filter mir den passenden raus. welche infos da alle zurück kommen kann man im besagten link oben nachlesen. das wars

<?php
$port = 15000;
$host = "192.168.2.10";
$user = "monitor";
$pwd = "geheim";


$fp = fsockopen("udp://$host", $port, $errno, $errstr,2);
if (!$fp)
{
out("Cant connect to $host",true);
}
stream_set_timeout($fp, 2);


fwrite($fp, "login $user $pwd\n");
$out = fgets($fp);
if(strstr($out,'[AS') == false)
{
out("invalid account",true);
}


fwrite($fp, "status\n");


while(($buf = fgets($fp)) !== false)
{
$line = explode("|", $buf);
if($line[8] == "server")
{
out("Server is up and running since ".$line[9]." - ".$line[10]);
break;
}
}


fclose($fp);


function out ($msg,$error = false)
{
echo $msg;
if($error)
{
exit;
}
}
?>
 
Zuletzt bearbeitet:
Zurück
Oben