Shoutcast-Webinterface

Status
Für weitere Antworten geschlossen.

Basti4u2009

Benutzer
Ich suche ein Schoutcast webinterface wo man den Stream(s) starten,stoppen, Restarten, und Autodj einstellen kann. Das müsste auch auf einem Win server laufen.
 
AW: Shoutcast-Webinterface

Hi,
also ein solches Inteface habe ich grundsätzlich schon, es ist jedoch auf linux basierend, sollte aber weniger das Prob sein es auf Windoof umzubauen.

desweiteren kannst du ja mal nach SMI (shoutcast Managment Interface) googeln... irgend so eine sourceforget.xyz oder so... die letzte version von den die ist sowohl windows als auch Linux tauglich, jedoch habe ich beide versionen nicht wirklich zum laufen bekommen, erst nach vielen vielen Script betrachten und umschreiben lief dann mal bissel was. aber eben nicht wirklich alles.
Wenn es dir nicht auf ein paar tage ankommt, dann gib sie mir, und ic hschau mal ob ich mein interface auf ein Windoof System umbauen kann.
Sollten nur paar Pfade, rechte und Systems() sein.

Lg Mr.BSE
 
AW: Shoutcast-Webinterface

hallo ihr zwei beiden, und all die anderen.

hier mal nen denkanstoss und hilfeanleitung für ein shoutcastinterface

@Mr.BSE
ich hoffe du haust das nicht einfach so raus, so wie es sich anhört wird er auch damit geld verdienen, ich mag solche leute net, die irgendwohin kommen, nach ner Fertigen lösung fragen und dann nen knappes danke udn das wars wenn überhaupt noch, man selbst haut sich tage und nächte um die ohren und dann kommt immer noch was nach, kannst das noch kannst das noch und das noch und das wär auch gut, achja und das soll es auch noch können...
Laß dich nicht ausnutzen, deine zeit ist auch nicht umsonst.

Wieso fangen die leute nich mal an selber was zu machen, nee es gibt immer dumme die das Fertige liefern, ist der weg des Geringsten wiederstandes oder?

für alle andren die lern fähig und willig sind..
im übrigen schon ein paar hundertmal in dieser oder ähnlicher form in diversen suchmaschinen gefunden... Mister Goggle und Co es gibt sogar fertige patentlösungen, gut oder nicht möchte ich nicht beurteilen.

finger gespitzt und mal selbst was gemacht, statt immer nur andere...

professionelle hilfe gibt es in diversen selfs und so...

Radiomachen ist euer hobby, dann kümmert euch auch drum das ihr den rest den ihr braucht auch einfliesst in euer hobby. es soll ja alle bequem sein, STARTEN, STOPPEN RESTARTEN, AUTO-DJ vielleicht noch ein script was euren PC allein ans BETT fährt???

Oder braucht jemand der gern Auto fährt als Hobby, kein Sprit, keine Wagenpflege usw.???




Schritt 1.
Erstelle auf deinem Server im documentenroot einen Ordner der möglichst lang und unsinnig ist
z.Bsp.

aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha

also in dieser form in etwa
er ist recht schwer zu erraten anschließend schütze ihn noch mit Passwort und lege eine
leere Index.html, index.php Datei dort ab.

ggf. kannst du auch in der Index Datei einen Reload zur Stammseite einbauen. sollte also doch jemand dorthin gelangen, kommt er automatisch auf die Hauptseite

das kann man ggf. so machen
zur Index.html von der Hauptseite.
sähe die index.html Seite in unserem Verzeichnis dann etwa so aus
<HTML>
<HEAD>
<SCRIPT LANGUAGE=JAVASCRIPT>window.location.href='../index.html';</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

wenn die Hauptseite keine INDEX.HTML hat sondern eine INDEX.PHP dann einfach das HTML in PHP ändern.
sollte soweit aber eigentlich klar sein.


schritt 2.
wir wollen 2 Streamserver haben und einen tester
wir erstellen in unseren aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha Ordner 3 weitere Ordner
zum Beispiel

dsl_stream DSL-Stream
isdn_stream ISDN-Stream
test_stream TEST-Stream

in diese Ordner kopieren wir jeweils den Shoutcast, somit haben wir dann 3-mal den Shoutcast auf den Server.
wir ändern in jedem Verzeichnis die sc_serv Datei in einen anderen Namen, muss sein damit wir später den SC am Namen unterscheiden und Stoppen können.
in unserem Beispiel könnten es dann so sein
dsl -stream -> aus sc_serv wird dsl_serv
isdn-stream -> aus sc_serv wird isdn_serv
test-stream -> aus sc_serv wird tester_serv
nun passen wir noch die configs jeweils an
die wichtigsten Parameter die geändert werden sollten sind folgende

MaxUser=30 <tragt dort eure MAXIMAL zugelassenen Hörer ein, Übertreibt es aber net, denkt realistisch Serverleistung, Anbindung etc.
AdminPassword=xyzabcd123 <unbedingt ändern sollte vor AdminPasswort noch ; sein bitte das ; wegmachen
Password=radiobse4711 <auch unbedingt ein eigenes Setzen
PortBase=8020 <bitte freie Ports nutzen die sonst nicht genutzt werden, denkt an verschiene Server Protokolle: 8443, 4663, 10000 80, 21, 25 usw. sind meistens schon anders benutzt
LogFile=sc_serv.log <dieses logfile bitte anpassen an den Stremnamen DSL_serv.log,isdn_serv.log, tester_serv.log oder ähnlich
den Rest solltet ihr so lassen wie vorgegeben

somit haben wir jetzt folgende verzeichnissstrucktur + dateien


Hauptverzeichnis
aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/
dsl_stream/
dsl_serv
sc_serv.conf
isdn_stream/
isdn_serv
sc_serv.conf
test_stream/
tester_serv
sc_serv.conf


das war es soweit schon, denkt noch an die Rechtevergabe
chmod 755 sollte genügen

nun kommen wir zu unseren eigentlichen inter-(net)-face

um es für lern und Studienzwecken einfach zu halten, erstellen wir uns für jeden befehl eine eigene PHP Datei

1. erstelle in deinem ADMIN Ordner dort wo du später den SC starten stoppen oder Restarten möchtest eine Datei namens

sc_stop.php
in dieser kopierst du folgende Zeilen

<?
$servername = $_REQUEST['name'];
$pass = $_REQUEST['pass'];
$pruefung = @file("aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/".$servername."_stream/sc_serv.conf");
while (list ($line_num, $line) = @each ($pruefung))
{
$ident = explode("=",$line);
if($ident[0] == "AdminPassword")
{
$ident[1]=md5(trim($ident[1]));
if ($pass==$ident[1])
{
system("killall -9 '$servername'_serv");
echo "gestoppt";
}
}
}
?>



Um später einen Shoutcast zu stoppen müssen wir die STOP.PHP Datei aufrufen
übergeben wird der NAME (im Beispiel also stop.php?name=dsl oder stop.php?name=isdn oder stop.php?name=test)

das allein wäre aber sehr unsicher, darum übertragen wir noch das ADMINPASSWORT

allerdings muss das Passwort schon md5(kodiert)

im Beispiel oben das Adminpasswort xyzabcd123 wäre also folgendes zu übergeben.

stop.php?name=test&pass=bb138e2830c139f2757f442cc9423016

wenn alles richtig war, sollte der Shoutcastserver TEST gestoppt werden. wenn wir ihn zuvor doch gestartet hätten.

dazu kommen wir jetzt

im Grunde fast das gleiche wie oben
start.php

<?
$servername = $_REQUEST['name'];
$pass = $_REQUEST['pass'];
$pruefung = @file("aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/".$servername."_stream/sc_serv.conf");
while (list ($line_num, $line) = @each ($pruefung))
{
$ident = explode("=",$line);
if($ident[0] == "AdminPassword")
{
$ident[1]=md5(trim($ident[1]));
if ($pass==$ident[1])
{
system("aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/".$servername."_stream/".$servername.".sh");
echo "gestartet";
}
}
}
?>


Halt Moment mal, wird der eine oder andere sagen, der aufgepasst hat, da stimmt was nicht mit den Pfaden bzw. Dateinamen.
Stimmt, da stimmt was nicht und was???
Genau, das Starten des Shoutcast weißt auf eine $servername.sh Datei, aber die gibt es doch gar nicht in den Verzeichnissen.
ich sage nur... RUHE ist des MENSCHen heilig, nur verrückte haben es eilig.

diese Datei erstellen wir noch in ruhe.....

der Aufruf zum starten würde dann wie folgt sein.

start.php?name=test&bb138e2830c139f2757f442cc9423016

geht aber auch noch nicht... solange wir die .sh Dateien nicht erstellt haben.

und dazu kommen wir jetzt

in jedem Ordner wo wir unsere Shoutcast's drin haben müssen wir eine Datei erstellen
also eine dsl.sh
eine isdn.sh
und eine test.sh
in allen steht fast das gleiche drin

ganz zum Anfang muss folgendes stehen
#!/bin/bash


bzw. der Pfad zu euren bash Interpreten, sollte aber meistens so gehen. hängt aber von eurem System ab.

darunter kommt eine einzige Zeile die unter umständen recht lang wird

ausgehend von eurem ROOT Verzeichnis auf dem Server bis zum Verzeichnis des/der Shoutcastserver der PFAD

bei mir wäre das zum Beispiel für den DSL stream

/srv/www/vhost/Domainname.de/httpdocs/aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/dsl_stream/

wie man erkennen kann ist dort wieder unser chaotisches Verzeichnis und das DSL_STREAM Verzeichnis
und direkt dazu noch der Dateiname unseres DSL_SHOUTCAST_Servers den wir oben in dsl_serv umbenannt hatten

somit sieht der erste teil wie folgt aus
/srv/www/vhost/Domainname.de/httpdocs/aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/dsl_stream/dsl_serv

getrennt von einem Leerzeichen folgt der Pfad nochmals und hinten dran der Dateiname für die Configdatei des DSL_servers

die wir getrost sc_serv.conf belassen hatten

somit haben wir folgende Zeile

/srv/www/vhost/Domainname.de/httpdocs/aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/dsl_stream/dsl_serv /srv/www/vhost/Domainname.de/httpdocs/aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/dsl_stream/sc_serv.conf

und zu guter letzt noch mal ein Leerzeichen und folgendes hinten dran "> /dev/null &" ohne die Gänsefüße

also sieht die .sh Datei für den dsl_stream wie folgt aus

#!/bin/bash
/srv/www/vhost/Domainname.de/httpdocs/aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/dsl_stream/dsl_serv /srv/www/vhost/Domainname.de/httpdocs/aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/dsl_stream/sc_serv.conf > /dev/null &

wenn das alles richtig gemacht wurde, dann lässt sich der erste Server schon mal starten und stoppen und das per Web.

nun erstellen wir noch im isdn_stream Ordner und test_stream Ordner die Datei passenden .sh Datei

also isdn.sh und test.sh... kopieren den pfad der einfachheit halber aus der dsl.sh Datei und ändern nur noch den Namen
dsl in isdn bzw in test.

alle .sh Dateien müssen nun noch das recht bekommen ausgeführt zu werden, (755)

und das war es dann eigentlich schon.

struktur abschließend
aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364uhuhkjadha/
dsl_stream/
dsl_serv
sc_serv.conf
dsl.sh
isdn_stream/
isdn_serv
sc_serv.conf
isdn.sh
test_stream/
tester_serv
sc_serv.conf
test.sh



jetzt sollten sich alle 3 Server starten und stoppen lassen
start.php?name=dsl&pass=bb138e2830c139f2757f442cc9423016
stop.php?name=dsl&pass=bb138e2830c139f2757f442cc9423016

start.php?name=isdn&pass=bb138e2830c139f2757f442cc9423016
stop.php?name=isdn&pass=bb138e2830c139f2757f442cc9423016

start.php?name=test&pass=bb138e2830c139f2757f442cc9423016
stop.php?name=test&pass=bb138e2830c139f2757f442cc9423016


ich hoffe, dass es vielen von euch weitergeholfen hat.

bitt denkt dran das diese Lösung nicht das Non Plus ultra ist, allein aus dem Sicherheitsaspekt heraus, da alles letztlich direkt im Webordner liegt.

es soll auch einfach nur bissel zum basteln anregen, und keine Komplettlösung darstellen.

und nun viel Erfolg

beim selber basteln
 
AW: Shoutcast-Webinterface

Also solche Tipps sollten unter Strafe gestellt werden. Und dafür hast du dich extra angemeldet? Meiner Meinung nach solltest du niemanden Tipps im Umgang mit Server geben, denn dir fehlen Grundlagen und gefährdest dadurch jeden, der deine Tipps umsetzt.
 
AW: Shoutcast-Webinterface

Weiss nicht was Du hast?

Was war an
bitt denkt dran das diese Lösung nicht das Non Plus ultra ist, allein aus dem Sicherheitsaspekt heraus, da alles letztlich direkt im Webordner liegt.

es soll auch einfach nur bissel zum basteln anregen, und keine Komplettlösung darstellen.
missverständlich? :D
 
AW: Shoutcast-Webinterface

Naja, dann geb ich dir nen Rat, wie du dein Auto schneller machen kannst.
Schraub Bremsscheiben, Bremszylinder, Bremskraftverstärker, Scheimwerfer, Hupe, Sicherheitsgurte usw. raus. Durch da geringere Gewicht sparst du sogar noch Benzin und wer bremst verliert sowieso.

bitt denkt dran das diese Lösung nicht das Non Plus ultra ist, allein aus dem Sicherheitsaspekt heraus, ... es soll auch einfach nur bissel zum basteln anregen, und keine Komplettlösung darstellen.

sonst noch Fragen?
 
AW: Shoutcast-Webinterface

ich hoffe du haust das nicht einfach so raus, so wie es sich anhört wird er auch damit geld verdienen, ich mag solche leute net, die irgendwohin kommen, nach ner Fertigen lösung fragen und dann nen knappes danke udn das wars wenn überhaupt noch, man selbst haut sich tage und nächte um die ohren und dann kommt immer noch was nach, kannst das noch kannst das noch und das noch und das wär auch gut, achja und das soll es auch noch können...
Laß dich nicht ausnutzen, deine zeit ist auch nicht umsonst.

Da kann ich dich berühigen Binamaus. Mit den Shoutcast servern verdiene ich kein Geld. Da eine Gute Freundin von mir ein Internetradio hat. Habe ich bei mir auf dem Server zwei Shoutcast server laufen. Bevor die sich irgendeinen von einer Hinterhoffirma mietet.
 
AW: Shoutcast-Webinterface

Mr. Base habe dieses shoutcast Managment Interface gefunden. Sobald ich meinen neuen Server eingerichtet habe werde ich es mal testen. Hast du von deinem Interface ein oder Zwei Screenshots das ich es mir mal anschauen kann.
 
AW: Shoutcast-Webinterface

Anstatt

<?
$servername = $_REQUEST['name'];
$pass = $_REQUEST['pass'];
$pruefung = @file("aks34234dkja4h7sdkjakjhakjskjdfdaszutr2364u huhkjadha/".$servername."_stream/sc_serv.conf");
while (list ($line_num, $line) = @each ($pruefung))
{
$ident = explode("=",$line);
if($ident[0] == "AdminPassword")
{
$ident[1]=md5(trim($ident[1]));
if ($pass==$ident[1])
{
system("killall -9 '$servername'_serv");
echo "gestoppt";
}
}
}
?>

soetwas, kannst du auch ein einfaches Batchskript schreiben was du per blick auf einen Link startest. Das Batchskript macht pinzipiell das gleiche... jenachdem wie du es programmierst.

Vorteil bei Batchskripten, du hast die Moeglichkeit diese auch als Tasklaufen zu lassen sodass du fest sagen kannst "starte mir den Streamserver alle 14 Tage einmal neu".

Dies kannst du ebenfalls auch ueber PHP machen und dann nen Cronjob einrichten.. einfacher find ich persoenlich die Batchskripte..
 
AW: Shoutcast-Webinterface

Kategorisch empfehle ich, niemals PHP dem Server direkt Befehle geben zu dürfen.

system("killall -9 '$servername'_serv"); ist soetwas.

Ich empfehle Job-Files, die von PHP erzeugt und bspw. via Cronjob verarbeitet werden. Dabei hast du zwar kein AdHoc-Ergebis - doch das ist zu verschmerzen. Cronjobs kannst du bis zur Sekunde treiben. Wenn du also willst, dass sofort etwas passiert, ist auch das möglich.

Gruß
Seek
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben