[GitHub] Webradio-API

  • Webradio-API
    GitHub: SofaKingCool/Webradio-API

    Die Webradio-API ist eine minimale Mehrfachanbieter Such- und Streaming-API für deinen Multi Theft Auto server.
    Sie vereinfacht den Zugriff auf relativ beliebte Plattformen, die eine Audioquelle (in-)direkt anbieten und sich über playSound abspielen lassen.

    Einstieg

    Voraussetzungen
    Du brauchst einen Webserver von nginx oder Apache, der die PHP Skripte ausführen kann. Der Webserver muss den Inhalt aus dem Ordner public freigeben, damit die API einwandfrei arbeiten kann und weil dadurch deine API-Schlüssel verborgen bleiben. Durch die frühen Phasen der Entwicklung wurde die API nur mit PHP 7 getestet. Es gibt keine Garantie, dass es mit einer niedrigeren Version arbeiten wird.

    Installation
    Lade die Repository auf deine Festplatte, kopiere die Datei config.example.php und speichere diese als config.php in den Stammordner der Anwendung. Öffne anschließend die neue Datei config.php in einem Quelltexteditor.
    Entferne die Standard Schlüssel aus den Arrays $searchKeys und $streamKeys und füge deine eigenen Schlüssel hinzu. Bei den Schlüsseln gibt es keine Grenzen und auch keine Beschränkungen. Es sei angemerkt, dass die Schlüssel relativ URL-freundlich bleiben sollten.

    Beispiel:

    Schlussendlich solltest du deine privaten API-Schlüssel für YouTube, Soundcloud und Jamendo hinzufügen. Andere Anbieter verlangen keine Schlüssel von dir.

    Wichtig: Dein Webserver MUSS die Dateien aus dem public Ordner der Anwendung freigeben.

    Abkürzungen für API-Anmeldung

    Cron: Cleanup
    Für die Aufräumarbeiten musst du einen Cronjob einrichten, damit die alten und unbenutzen Dateien in den Unterordnern aus storage automatisch entfernt werden.
    Hier ein kleines Template für einen cron Eintrag (die URL musst du entsprechend ändern, damit sie auf deine Umgebung passt):
    0 0 * * 0 /usr/bin/curl http://127.0.0.1/webradio-api/cleanup.php?key=<a key from $streamKeys> >/dev/null 2>&1

    Entwicklungshilfe
    Falls du selber die kleinen Probleme bei der Einrichtung oder Entwicklung beheben willst, dann ändere den Wert der Variable $debug_mode auf true. Diese Variable
    liegt in der Konfigurationsdatei config.php. Diese Änderung sollte dir bei "Out of Order" Fehlern weiterhelfen, aber vergesse sie nicht später zurückzuändern.

    Fehlerbehandlung

    Permission denied for mkdir()
    Dein Webserver hat nicht ausreichend Zugriffsrechte zum Schreiben in den Unterordnern von storage.

    Viele YouTube Videos funktionieren nicht mehr
    Dieser Fehler wird häufiger auftreten, wenn die Entwickler hinter YouTube den Video-Abspieler-Quellcode so stark abändern, so dass der mitgelieferte Decoder den Schlüssel der Videos nicht mehr entziffern kann. Anzumerken wäre hier natürlich, dass eine Dritt-Anbieter Lösung effizienter ist, aber wegen der Minimalität darauf verzichtet wurde. Bei andauernder Unerreichbarkeit der Videos erstelle bitte einen Issue auf GitHub, damit ich darauf aufmerksam gemacht werde, falls ich es nicht merke.

    Benutzung

    Suche
    /search.php?key=<a key from $searchKeys>&service=YouTube&query=Bohemian+Rhapsody
    /search.php?key=<a key from $searchKeys>&service=Soundcloud&query=Adele+Hello
    /search.php?key=<a key from $searchKeys>&service=Jamendo&query=Sunshine
    /search.php?key=<a key from $searchKeys>&service=MyFreeMP3&query=We+Right+Here
    /search.php?key=<a key from $searchKeys>&service=MP3Library&query=Bob+Dylan

    Wiedergabe
    /stream.php?key=<a key from $streamKeys>&service=YouTube&id=<song id>
    /stream.php?key=<a key from $streamKeys>&service=Soundcloud&id=<song id>
    /stream.php?key=<a key from $streamKeys>&service=Jamendo&id=<song id>
    /stream.php?key=<a key from $streamKeys>&service=MyFreeMP3&id=<song id>
    /stream.php?key=<a key from $streamKeys>&service=MP3Library&id=<song id>

    Beispiele

    YouTube
    /search.php?query=Bohemian+Rhapsody&service=YouTube&key=<a key from $searchKeys>

    Soundcloud
    /search.php?query=Adele+Hello&service=Soundcloud&key=<a key from $searchKeys>

    Fehler
    Dieses Beispiel zeigt die JSON Ausgabe, wenn du den key Parameter aus der URL entfernst.

    Code
    {
      "error": "Unauthorized",
      "errno": 2
    }

    Contributing
    Contributions sind herzlich willkommen. Du kannst gerne einen ISSUE oder PULL REQUEST erstellen.

    Lizenz
    Das Projekt und der Quelltext sind unter der MIT License lizensiert - siehe LICENSE.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!