First-Coder.de: Teamspeak 3 Webinterface

      First-Coder.de: Teamspeak 3 Webinterface

      First-Coder.de Teamspeak3 Webinterface


      Was ist das?

      Ich denke in diesem Forum ist es überflüssig zu schreiben was ein Teamspeak Webinterface ist, allerdings werde ich es kurz erklären. Ein Teamspeak Webinterface ermöglicht es dein Teamspeak (in diesem Fall) per Browser Administrieren zu können. Dazu gehört unter anderem das erstellen bzw. löschen der Server, Server zu überwachen, Statistiken einzusehen und andere Benutzer / Kunden eine Administrative Oberfläche bieten zu können.

      Was kann es bis jetzt?


      • Profilübersicht: Profil bearbeiten
      • Profilübersicht: Rechte einschauen
      • Globale Einstellungen: Haupteinstellungen (Sprache, Module) können geändert werden
      • Globale Einstellungen: Instanzen hinzufügen
      • Globale Einstellungen: Instanzen löschen
      • Globale Einstellungen: Instanzen bearbeiten
      • Globale Einstellungen: Benutzer hinzufügen
      • Globale Einstellungen: Benutzer löschen
      • Globale Einstellungen: Benutzer bearbeiten
      • TS3 Webinterface: Instanznachrichten
      • TS3 Webinterface: Instanzpokes
      • TS3 Webinterface: Server erstellen
      • TS3 Webinterface: Server löschen
      • TS3 Webinterface: Server starten bzw. Server stoppen
      • TS3 Webinterface: Servernachrichten
      • TS3 Webinterface: Serverpokes
      • TS3 Webinterface: Server online einsehen (Live Viewer)
      • TS3 Webinterface Serverview: Benutzerinformationen anschauen (Profilbild, IDs, Name...)
      • TS3 Webinterface Serverview: Benutzeraktionen durchführen (kicken, bannen, ...)
      • TS3 Webinterface Serverview: Benutzerrechte ändern (Server- bzw. Channelgruppen entfernen bzw. hinzufügen)
      • TS3 Webinterface Serverview: Channelinformationen anschauen (IDs, Name, ...)
      • TS3 Webinterface Serverview: Channelaktionen durchführen (Alle im Channel kicken, bannen, ...)
      • TS3 Webinterface Servermassenaktionen: Massenkicks, Massenbans, Massennachrichten, Massenpokes...
      • TS3 Webinterface Serverbans: Serverbans anschauen
      • TS3 Webinterface Serverbans: Serverbans löschen
      • TS3 Webinterface Server Token: Token erstellen
      • TS3 Webinterface Server Token: Tokenliste anschauen
      • TS3 Webinterface Server Token: Token löschen
      • TS3 Webinterface Server Icons: Hochladen
      • TS3 Webinterface Server Icons: löschen
      • TS3 Webinterface Server Icons: anschauen und herunterladen
      • TS3 Webinterface Backups: Channelbackups vom Teamspeakserver (momenatan nur Namen)

      Was wird es noch können?

      • Webinterface für mobilen Gebrauch ausbauen
      • Webinterface Benutzer können sich selbstständig registrieren
      • Webinterface Benutzer kann Anfrage auf Teamspeak Server stellen
      • Webinterface Benutzer kann Anfrage auf Teamspeak Channel stellen
      • TS3 Webinterface: Statistiken
      • TS3 Webinterface: Servergruppen (Rechtebaum) anzeigen und bearbeiten können
      • TS3 Webinterface: Clients (auch Offline) anzeigen und bearbeiten können
      • TS3 Webinterface Serverbans: Serverbans hinzufügen

      Wie / Wo kann man es herunterladen bzw. testen/verwenden

      Zumindest bis zum Ende der Alpha wird das Webinterface nur über First-Coder.de - Homepagedevelopment zu hosten sein. Allerdings müssen Sie selbst eine MySQL Datenbank zur Verfügung stellen, da wir keinerlei Interesse an deinen persönlichen Daten haben.

      Dass das Webinterface in der Alpha nur zu hosten sein wird liegt daran, dass wir erstmal alle Funktionen und alle Fehler beseitigen wollen. Damit momentane Fehler nicht ausgenutzt werden können, steht es ebenfalls nicht zum Download.

      Damit dieser Post nicht genauso endet wie der letzte, werde ich ausschließlich Fragen zum Webinterface und alles drum herum beantworten.

      Mit freundlichen Grüßen
      First-Coder.de

      PS: da ich diesen Post nach 5 Minuten nicht mehr editieren kann, wird die Liste oben nicht ständig aktualisiert
      .
      Dafür besuchen Sie bitte den Changelog auf first-coder.de

      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations
      Dude. Ist es dein Ernst, dass Du Zugriff auf den Server willst?



      Ansonsten geht es dir gut oder? Und überhaupt, was wenn jemand nur SSH Keys benutzt? Was machst Du dann? Willst Du den Priv. Key haben?

      ^ Teamspeak führt man auch nicht als Admin aus Du Held. Also ersetze mal "root" mit "Hier Teamspeak Benutzer einfügen".
      Die Open Alpha wurde nun gestartet ;).

      Jeder der Interesse hat das Webinterface bei sich zu testen kann dies tun. Einfach auf First-Coder.de - Homepagedevelopment sich ein Interface erstellen lassen und dort mit seiner Datenbank installieren.

      Mit freundlichen Grüßen
      First-Coder.de
      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations
      Hallo @Punisher.biz,

      Punisher.biz schrieb:

      Dude. Ist es dein Ernst, dass Du Zugriff auf den Server willst?

      Diese Option ist ein Wunsch von einem Sponsor und dient dazu, falls man unterwegs ist und sein Teamspeakserver abgeschmiert ist, ihn wieder starten zu können ohne auf die Serverconsole mit dem Handy rumzumachen.

      Diese Daten werden weder gespeichert noch protokolliert, daher müssen sie auch jedes mal wieder neu eingegeben werden. Wenn du diese Option nicht nutzen willst, dann brauchst du es ja auch nicht. Niemand zwingt dich zu irgendetwas 8)

      Da ich eh weiß das du mir nicht glaubst habe ich dir mal den Source Coder rausgezogen:

      Brainfuck-Quellcode

      1. /*
      2. ---------------------------------------------------------------------------------
      3. ************************* //\\ Instanzshell //\\ ********************************
      4. ---------------------------------------------------------------------------------
      5. */
      6. if($_POST['action'] == 'instanzShell' && $user_logged && $user_right['right_hp_ts3'] == $mysql_keys['right_hp_ts3'])
      7. {
      8. $conn = ssh2_connect($_POST['ip'], intval($_POST['port']));
      9. if(!$conn)
      10. {
      11. echo "connection error";
      12. }
      13. else
      14. {
      15. if(ssh2_auth_password($conn, $_POST['username'], $_POST['pw']))
      16. {
      17. $execCommand = ssh2_exec($conn, $_POST['pfad'].$_POST['befehl']);
      18. if($execCommand)
      19. {
      20. echo "done";
      21. }
      22. else
      23. {
      24. echo "exec error";
      25. }
      26. }
      27. else
      28. {
      29. echo "connection error";
      30. }
      31. }
      32. }


      Punisher.biz schrieb:

      Ansonsten geht es dir gut oder?

      Wer wird den hier gleich persönlich ?

      Punisher.biz schrieb:

      Und überhaupt, was wenn jemand nur SSH Keys benutzt? Was machst Du dann? Willst Du den Priv. Key haben?

      Ich könnte auch die Option hinzufügen das man sich mit SSH Keys einloggt, aber ich glaube eher das dies hier nur eine Theoretische Frage ist, oder ?

      Punisher.biz schrieb:

      Teamspeak führt man auch nicht als Admin aus Du Held. Also ersetze mal "root" mit "Hier Teamspeak Benutzer einfügen".

      Das mit dem persönlich werden hatte ich ja gerade oder ? :thumbdown:

      Ich weiß das man den Teamspeak Server nicht mit root ausführen sollte, der steht dort nur drin zu Verdeutlichung und kann daher ja auch verändert werden.

      Leider gottes benutzen aber sehr viele Leute ihren Teamspeakserver auf den Benutzer root und daher ist es ebenfalls ein Grund ihn einzutragen. ;)

      Mit freundlichen Grüßen
      First-Coder.de

      PS freut mich das du Interesse an dem Webinterface hast ;)
      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations
      Alright, wo werde ich persönlich? Habe lediglich gefragt ob bei dir alles gut ist ;)

      Zum Thema Daten speichern => muss ich mich jedes mal also neu einloggen? Ich habe meinen Teamspeak 3 Server hinzugefügt, aber mehr als ">_ Shel" oder "Instanz löschen" ist da nicht.

      Das war keine Theoretische Frage. Ich u.a benutze SSH Keys zum einloggen. Da ist nichts mit Benutzer:Passwort.

      Wenn Du es weißt dass man sich nicht mit dem Benutzer Root einloggt, warum fügst Du es dennoch ein? Das fordert ja schon fast auf sich als Root einzuloggen, auch wenn ich für den Teamspeak 3 Server einen extra Benutzer habe.

      Und zum zweiten Mal: wo werde ich bei dem Satz "eamspeak führt man auch nicht als Admin aus Du Held. Also ersetze mal "root" mit "Hier Teamspeak Benutzer einfügen"." persönlich? Hast Du da irgendwie eine Leseschwäche oder Komplexe? (Nicht böse gemeint, ist nur eine Frage)

      Und natürlich habe ich "Interesse" daran, habe nie behauptet dass das Schwachsinn sei und keiner Benutzen würde.

      Apropos, SSL? So kann jeder derzeit die Daten abfangen. Gefährlich gefährlich.



      ^bzgl meiner Aussage ich könne dort nichts machen aus Shell öffnen und die Instanz löschen.

      Sicherheitsmäßig ist es solalala, Rechtschreibung fange ich gar nicht erst an. - Ja, meine ist nicht besser, aber Du bietest hier ein Produkt an.

      Punisher.biz schrieb:

      Zum Thema Daten speichern => muss ich mich jedes mal also neu einloggen? Ich habe meinen Teamspeak 3 Server hinzugefügt, aber mehr als ">_ Shel" oder "Instanz löschen" ist da nicht.

      Das ist korrekt :thumbup:

      Punisher.biz schrieb:

      Das war keine Theoretische Frage. Ich u.a benutze SSH Keys zum einloggen. Da ist nichts mit Benutzer:Passwort

      Wenn das so ist, werde ich mit auf die Liste stellen :thumbsup:

      Punisher.biz schrieb:

      Und natürlich habe ich "Interesse" daran, habe nie behauptet dass das Schwachsinn sei und keiner Benutzen würde.

      Naja, wenn man das Webinterface Topic komplett disliked kommt man schon auf den Gedanken :saint:

      Punisher.biz schrieb:

      Apropos, SSL? So kann jeder derzeit die Daten abfangen. Gefährlich gefährlich.

      Ja irgendwie kam ich noch nicht dazu... kommt aber noch :rolleyes: eigentlich soll das Webinterface später eh zum download erscheinen :thumbup:

      Punisher.biz schrieb:

      ^bzgl meiner Aussage ich könne dort nichts machen aus Shell öffnen und die Instanz löschen.

      Das ist richtig wenn du unter "Instanzen" bist :P . Bitte gehe unter "Benutzer" gebe dir Webinterface Rechte und ja ... öffne das Webinterface :thumbsup: :thumbsup:

      Leider scheint sich der Apache immer aufzuhängen (warum auch immer).... muss ihn dann immer neu starten :thumbdown: konnte leider den Fehler bislang nicht finden :wacko:

      Mit freundlichen Grüßen
      First-Coder.de

      PS Wo sind Rechtschreibprobleme auf der Seite ? ?(
      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations
      Müssen wir das Thema erst wieder schließen, damit hier Friede, Freude, Eierkuchen herrscht, oder wie? Wer Feedback gibt, soll das machen, aber dabei bitte auch sachlich und nett/freundlich bleiben.

      Punisher.biz schrieb:

      Ansonsten geht es dir gut oder?

      Das ist weder sachlich, noch freundlich. Sowas würdest du einem Kunden bei dir in der Arbeit auch nie sagen/schreiben...

      Punisher.biz schrieb:

      Ist es dein Ernst, dass Du Zugriff auf den Server willst?

      Ich persönlich finde das Feature sehr nett und hilfreich. Da ich auch den Sinn davon verstehe, ist es auch total legitim, diese Daten abzufragen.

      Das ausgefüllt "root" da steht, finde ich persönlich aus einem einzigen Grund gut: Viele verstehen oder verwechseln gerne mal die ein oder anderen Logins und wissen dann nicht, was da rein kommt. "root" zeigt in diesem Fall deutlich, dass es ein Linux Benutzer für den Server und nicht der "serveradmin" oder sonst wer für den ServerQuery sein soll.

      Mein Vorschlag wäre jedoch folgender: Setze nicht standardmäßig "root" als Eingabe, sondern als HTML Placeholder: HTML input placeholder Attribute :)

      Punisher.biz schrieb:

      Und überhaupt, was wenn jemand nur SSH Keys benutzt? Was machst Du dann? Willst Du den Priv. Key haben?

      Guter Hinweis! Bei meinen ganzen Servern ist es z.B. nur möglich, mittels SSH-Key sich einzuloggen. Jegliche Benutzernamen:Passwort Versuche werden direkt geblockt und nicht erlaubt.

      Füge daher also noch eine Option ein, zwischen den verschiedenen Methoden auszuwählen:
      • Benutzername und Passwort
      • SSH Key und optionaler Passphrase
      Bei SSH Keys musst du aufpassen, weil man kann den privaten Schlüsseln auch ein Passwort zur Sicherheit setzen, damit ihn nicht jeder verwenden kann. Mache ich z.B. sehr gerne, falls er doch mal abhanden kommt. ;)

      Da auf dem Server der öffentliche Key liegt, musst du natürlich den privaten Key vom User erhalten. Hierfür würde ich an deiner Stelle aus Sicherheitsgründen wenigstens noch einen deutlich sichtbaren Hinweistext verfassen und anzeigen lassen, der darauf hinweist, dass man hierfür einen dedizierten SSH Key anlegt, damit man später sicherstellen kann, dass dein Server mal keinen Zugriff mehr haben kann, auch wenn er er nie gespeichert oder protokolliert wird. :)

      Punisher.biz schrieb:

      Teamspeak führt man auch nicht als Admin aus Du Held. Also ersetze mal "root" mit "Hier Teamspeak Benutzer einfügen".

      Wenn du wüsstest, wie viele Leute sich bei mir beschweren, dass das TS3UpdateScript bei denen nicht funktioniert... Das Skript wurde so entwickelt, dass es nur funktioniert, wenn die Best Practices gegeben sind. Da sie ihren TS3 unter "root" laufen haben, funktioniert das Skript natürlich bei denjenigen nicht.

      Da man den Pfad zur Instanz sowieso angibt, würde ich dem Entwickler ja raten, eine Lösung zu finden, wie man den korrekten User automatisch identifiziert und entsprechend benutzt. Genau das macht mein TS3UpdateScript Skript nämlich. ;)
      Viele Grüße,
      Sebbo
      -----------------
      TS3tools - Software & Managed Service: www.ts3-tools.info
      4G-Server - Dein günstiger Prepaid Hoster: www.4g-server.eu
      Bzgl Disliken, dass ist hier doch auch nur ein Geben und Nehmen. Ich ignoriere es, da dieses Plugin einfach der letzte Mist ist.

      Naja eigentlich, derzeit ist aber kein SSL, guck dir einfach mal Let's encrypt an.

      So, nun zu dem Benutzer, finde ich persönlich etwas kompliziert bzw. unnötig. Bin ja letztendlich als "Admin" des Webinterfaces eingeloggt, da sollte ich doch Zugriff auf alles haben.

      Schreibfehler gab es beim, soweit ich mich erinnere, registrieren, dort war ein ziemlich komischer Text und eine Mixtur aus Deutsch/Englisch. Fand ich auf jeden Fall lustig :D

      Uuuuund mit dem Apache Server ist kacke.
      Werde es versuchen im nächsten update mit einzubringen... obwohl momentan Funktionen wie Query Log Vorrang haben werden :P

      @Punisher.biz bei Rechtschreibfehlern bitte genau sagen wo :)

      Apache Server sollte sich nun nicht mehr deaktivieren :thumbup:

      SSL Zertifikat ist dank @DieElite für die nächsten 3 Jahre drinnen :thumbsup:

      Mit freundlichen Grüßen
      First-Coder.de
      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations
      Ich möchte mich hier auch mal äußern, ich habe das schon bei der ersten Demo gesehen aber habe gemeint dass das möglicherweise noch besser wird...

      Speziell stört mich das hier deine API nach keiner rfc arbeitet
      hier ein paar beispiele:

      Quellcode

      1. $.ajax({
      2. type: "POST",
      3. url: "functionsPost.php",
      4. data: dataString,
      5. dataTyp: "json",
      6. cache: false,
      7. success: function(data)


      1. dataTyp ist soweit ich weis kein valides Feld -> dataType gemeint?
      2. falls dataType gemeint ist dann ist "json" ebenfalls invalid und müsste "application/json" heissen...
      3. dein kompletter POST beinhaltet kein valider JSON...

      egal weiter im JS

      Quellcode

      1. var dataString = 'username='+username+'&action=block_client';
      2. $.ajax({
      3. type: "POST",
      4. url: "mysql_post.php",
      5. data: dataString,
      6. dataTyp: "json",
      7. cache: false
      8. });*/


      warte mal wat?
      Der Client muss ein API Request senden um sich selber zu sperren?
      Ich glaube das Panel zu Brute Forcen wird einfach...

      Debugging ist meiner Meinung nach ebenfalls nicht genügend vorhanden, es wird zwar mitgeteilt dass ein Fehler passiert ist aber was für einer genau?

      Zur Mysql Datenbank...
      Deine Konzept Logik mit "Ich will eure Daten nicht darum müsst ihr eure MySQL selber hosten" ist ebenfalls eher WTF? Ich meine du musst das PW sowieso bei dir abspeichern? Ist das nur eine Auslagerung von Daten?
      Unter anderem ist in der DB ein mischmasch aus Englisch und Deutsch....
      z.b. "benutzer_blocked" "access_instanz" "right_web_server_protokoll" usw...

      Um das Webinterface zu testen hab ich mir extra eine neue VPS eingerichtet mit MySQL etc weil ich eher um meine Sicherheit fürchte....


      Wenn du wirklich irgendetwas für größere Hosting Unternehmen Entwickeln willst dann würde ich dir Empfehlen klein Anzufangen und Basics lernen da dies ein sehr gewagter Start ist den du hier versuchst hin zu legen...

      Multivitamin schrieb:

      1. dataTyp ist soweit ich weis kein valides Feld -> dataType gemeint?


      Multivitamin schrieb:

      2. falls dataType gemeint ist dann ist "json" ebenfalls invalid und müsste "application/json" heissen...

      Ich bin mal so frech und gebe dir einfach den Link: jQuery.ajax() | jQuery API Documentation. Laut der Seite ist es valid und habe in der Console auch keinerlei Fehler ?(

      Multivitamin schrieb:

      3. dein kompletter POST beinhaltet kein valider JSON...

      Soweit ich das dataTyp verstanden habe, gibt es nur an, was vom Post zurückerwartet wird. Ich muss zugeben das ich mich damit aber auch nicht 100%ig auseinander gesetzt habe :pinch:

      Korrigiere mich bitte, falls ich mich irre oder nur XX labber ^^

      @Pagian kritik ist immer erwünscht. Ebenfalls können Verbesserungsvorschläge kommen :P . Es ist ja schließlich ein Forum :thumbup: . Allerdings werde ich auf allen Posts die nicht mit dem Webinterface zu tun haben ignorieren :saint: .

      Mit freundlichen Grüßen
      First-Coder.de

      PS

      Multivitamin schrieb:

      egal weiter im JS

      Quellcode
      var dataString = 'username='+username+'&action=block_client';

      $.ajax({
      type: "POST",
      url: "mysql_post.php",
      data: dataString,
      dataTyp: "json",
      cache: false
      });*/


      warte mal wat?

      Dieser Teil ist auskommentiert ;). Er war nur mal dazu gedacht, dass falls der Benutzer / PW 3x falsch eingegeben wurde, dieser in der MySQL auf geblockt gestellt wird.
      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „First-Coder“ ()

      Ist ja kein Problem ;),

      warum ich eine Datenbank verwende... einerseits als Ablage und außerdem wird später noch ein TS Bot geschrieben der mit der Homepage via Datenbank kommuniziert.

      Die Datenbankdaten sind in einer config abgelegt, da das Webinterface später zum download angeboten wird und daher auch leicht editierbar sein soll :D .

      Mfg

      PS wo ist die Datenbank unsicher @Multivitamin?
      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations
      Ja das ist korrekt. Allerdings mach ich mich einerseits strafbar bei Benutzung der Daten und wäre das total schädigend! :saint:

      Zugriff habe nur ich ^^ .

      Mfg

      PS es gibt ja keine andere Lösung als mit der config, oder ? ?(
      Teamspeak Webinterface for everyone and for FREE --> first-coder.de/ for more Informations