Lizenz GPL-3.0-or-later und Anleitung zur Spotify-App

- LICENSE: offizieller GPL-3.0-Text
- README: Lizenzhinweis, Hinweis auf fehlende Verbindung zu Spotify,
  Schritt-für-Schritt-Anleitung zur Spotify-App mit typischen Login-Fehlern

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-17 20:06:47 +01:00
co-authored by Claude Opus 5.5
parent b83da952ee
commit ca8db176ac
2 changed files with 744 additions and 11 deletions
+70 -11
View File
@@ -32,13 +32,66 @@ Portfreigabe am Router.
## Voraussetzungen
1. **Spotify Premium** für das Konto, das abspielt.
2. **Spotify-App** auf <https://developer.spotify.com/dashboard>:
- App anlegen (Web API), Redirect-URI **`http://127.0.0.1:8888/callback`** eintragen
- unter „User Management“ das eigene Spotify-Konto eintragen
- Client ID und Client Secret bereithalten
2. Eine eigene **Spotify-App** (kostenlos, ca. 5 Minuten) – siehe
[Spotify-App anlegen](#spotify-app-anlegen). Eine App reicht für Server und Player.
3. Eine **eigene Playlist** als Grund-Playlist (im Development Mode lassen sich nur eigene Playlists lesen).
4. Für den Server eine **Domain**, deren A/AAAA-Record auf den Server zeigt.
## Spotify-App anlegen
Audiofy steuert Spotify über die offizielle Web API. Dafür braucht jede Installation eine
eigene, kostenlose „App“ im Spotify-Developer-Bereich. Gäste brauchen nichts davon.
**Was du brauchst:** das Spotify-Konto, das später abspielt – mit **Premium**.
Die Bezeichnungen im Dashboard können sich leicht ändern; sinngemäß:
1. **Anmelden:** <https://developer.spotify.com/dashboard> öffnen, mit dem Spotify-Konto
einloggen und beim ersten Mal den Entwickler-Bedingungen zustimmen.
2. **App erstellen:** „Create app“ wählen und ausfüllen:
| Feld | Eintrag |
|---|---|
| App name | z. B. `Audiofy` |
| App description | z. B. `Musikwünsche für meine Party` |
| Website | leer lassen |
| **Redirect URI** | **`http://127.0.0.1:8888/callback`** – genau so, dann „Add“ |
| Which API/SDKs | **Web API** |
Den Bedingungen zustimmen und speichern.
Wichtig: `127.0.0.1` verwenden – Spotify akzeptiert `localhost` nicht mehr.
3. **Zugangsdaten notieren:** In der App unter „Settings“ stehen die **Client ID** und –
hinter „View client secret“ – das **Client Secret**. Beides fragen die Install-Skripte ab.
Das Secret ist ein Passwort: nicht weitergeben, nicht in Chats oder Repositorys posten.
4. **Konto freischalten:** Unter „User Management“ das Spotify-Konto eintragen, das
abspielt (Name und die E-Mail-Adresse des Spotify-Kontos) – auch wenn es dein eigenes ist.
5. **Fertig.** Bei der Installation fragen die Skripte Client ID und Secret ab und starten
danach den **Spotify-Login**:
- Die angezeigte Adresse in einem beliebigen Browser öffnen (auch am Handy) und anmelden.
- Der Browser landet auf `http://127.0.0.1:8888/callback?code=…` und zeigt einen Fehler –
**das ist normal.** Die komplette Adresse aus der Adresszeile kopieren und ins
Terminal einfügen.
- Server und Player melden sich jeweils einmal an (der Server nur für die Suche).
**Was der Development Mode bedeutet:** Neue Apps laufen im „Development Mode“. Dort gilt
(Stand 2026): Der App-Besitzer braucht Premium, nur eingetragene Konten dürfen die App
nutzen, die Suche liefert höchstens 10 Treffer, nur **eigene** Playlists sind lesbar, und
die Nutzung muss **nicht kommerziell** sein. Für Audiofy reicht das völlig – abgespielt
wird nur über dein eigenes Konto.
**Typische Fehler beim Login**
| Meldung | Lösung |
|---|---|
| `INVALID_CLIENT: Invalid redirect URI` | Redirect-URI im Dashboard muss exakt `http://127.0.0.1:8888/callback` lauten. |
| „User not registered in the Developer Dashboard“ / 403 | Konto unter „User Management“ eintragen (Schritt 4). |
| `invalid_client` / „Token-Anfrage fehlgeschlagen (400)“ | Client ID oder Secret falsch eingegeben. |
| Abspielen scheitert mit „Premium required“ | Das Konto hat kein Premium. |
| „State passt nicht“ | Adresse aus einem älteren Login-Versuch eingefügt – Login neu starten. |
**Secret erneuern** (falls es versehentlich öffentlich wurde): im Dashboard unter
„Settings“ → „Rotate client secret“, dann den neuen Wert als `SPOTIFY_CLIENT_SECRET` in
**beiden** `.env`-Dateien (Server und Player) eintragen und die Dienste neu starten.
## Installation
**Per Einzeiler** – als Benutzer mit sudo-Rechten (oder als root) in einem Terminal:
@@ -164,12 +217,6 @@ kein root, nur ein Admin-Benutzer). Vorgehen:
| Gäste: „Kein Zugang“ | Gastzugang im Admin eingeschaltet? Nach „Neuen Link erzeugen“ gilt nur der neue QR-Code. |
| Zu viele Admin-Login-Versuche | 15 Minuten warten (max. 5 Versuche pro IP). |
## Spotify-Hinweise
Audiofy nutzt die Spotify Web API im **Development Mode** (nicht kommerziell). Dort gilt:
Premium für den App-Besitzer, Nutzer-Allowlist, höchstens 10 Suchtreffer, nur eigene
Playlists lesbar. Gäste melden sich nie bei Spotify an; Server und Player nutzen je einen
eigenen Refresh-Token desselben Kontos.
## Entwicklung
@@ -182,4 +229,16 @@ cd ../player && python3 -m venv .venv && .venv/bin/pip install -r requirements.t
## Lizenz
Noch nicht festgelegt.
Copyright © 2026 Dominic Alexander Windolph
Audiofy ist freie Software: Du kannst es unter den Bedingungen der **GNU General Public
License**, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder
verändern – entweder gemäß Version 3 der Lizenz oder (nach deiner Wahl) jeder späteren
Version. Der vollständige Lizenztext steht in [`LICENSE`](LICENSE).
Audiofy wird in der Hoffnung verbreitet, dass es nützlich ist, aber **ohne jede
Gewährleistung** – sogar ohne die implizite Gewährleistung der Marktreife oder der
Eignung für einen bestimmten Zweck. Details stehen in der GNU General Public License.
Audiofy ist kein Produkt von Spotify und steht in keiner Verbindung zu Spotify AB.
Spotify ist eine Marke der Spotify AB.