YouTube-Downloader ueber den Baka-Proxy inkl. Anmeldung und MediaStore
Neuer YouTube-Bereich im Online-Tab: Adresse einfuegen, herunterladen, der Titel landet in Meine Musik. - BakaAuth: Anmeldung gegen baka-net.de/auth, Token verschluesselt auf dem Geraet. Der Server meldet Fehler mit HTTP 200 und Text im Rumpf, deshalb wird der Inhalt geprueft statt nur der Statuscode. - YtDownloadService: Proxy fragen, MP3 abholen, halbe Dateien aufraeumen. Kuenstler nur aus "Kuenstler - Lied", sonst leer statt geraten. - MediaStoreBridge (Kotlin): legt die Datei in Music/Melo ab und meldet sie dem MediaStore. Noetig, weil der Android-Scan sonst beim naechsten Lauf alles wieder als verschwunden markiert. - SubTabs nach shared/ gezogen (jetzt in Meine Musik und Online genutzt). 177 Tests gruen, flutter analyze ohne Befund, Release-APK baut. Der Weg ueber den echten Proxy ist noch nicht auf dem Geraet erprobt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018NLW1q1hzEC9goDQ1dJ98d
This commit is contained in:
co-authored by
Claude Opus 5
parent
a625d70da8
commit
6200c77614
@@ -5,6 +5,45 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### ⬇️ YouTube-Downloader mit Baka-Anmeldung (2026-08-20)
|
||||
- 🎬 **Musik von YouTube holen:** Im Tab **Online → YouTube** eine Adresse
|
||||
einfügen, auf *Herunterladen* tippen — fertig. Der Titel landet danach
|
||||
automatisch in **Meine Musik**.
|
||||
- 🔑 **Warum eine Anmeldung nötig ist:** Das Herunterladen erledigt der
|
||||
Baka-Server (yt.baka-net.de), und der nimmt nur Anfragen von angemeldeten
|
||||
Konten an. Deshalb gibt es im YouTube-Bereich einen Anmelde-Knopf für dein
|
||||
**Baka-Konto**. Die Anmeldung wird **verschlüsselt auf dem Gerät**
|
||||
gespeichert und gilt auch nach dem Neustart.
|
||||
Läuft sie ab, sagt Melo das im Klartext ("Anmeldung abgelaufen — bitte neu
|
||||
anmelden") statt eine Fehlernummer zu zeigen.
|
||||
- 📂 **Wo die Musik landet:** In `Music/Melo` — dem **öffentlichen**
|
||||
Musikordner. Das ist wichtig: Melo liest seine Bibliothek auf Android über
|
||||
den MediaStore. Eine Datei, die nur in einem App-Ordner läge, wäre beim
|
||||
nächsten Scan wieder verschwunden. Nebeneffekt: die Musik ist auch in
|
||||
anderen Apps da.
|
||||
- 🧹 **Keine Bruchstücke:** Der Download geht erst in einen Zwischenordner.
|
||||
Erst wenn die Datei vollständig da ist, wandert sie in den Musikordner.
|
||||
Bricht etwas ab, wird die halbe Datei gelöscht statt als kaputter Titel in
|
||||
der Bibliothek zu landen.
|
||||
- 🎤 **Künstler:** Steht der Titel als "Künstler - Lied" da, wird der
|
||||
Künstler übernommen. Steht da nichts dergleichen, bleibt das Feld leer —
|
||||
geraten wird nicht.
|
||||
- 🔧 **Details:**
|
||||
- Neu: `services/baka_auth.dart` (6 Tests), `services/yt_download_service.dart`
|
||||
(8 Tests), `services/media_store.dart` (2 Tests) und die native Brücke
|
||||
`MediaStoreBridge.kt` (MediaStore ab Android 10, Dateisystem + Scanner
|
||||
davor).
|
||||
- `WRITE_EXTERNAL_STORAGE` (nur bis Android 9) im Manifest ergänzt.
|
||||
- Der Online-Tab hat jetzt die Unterreiter **YouTube · Server** (3 Tests);
|
||||
`SubTabs` liegt dafür in `shared/sub_tabs.dart`.
|
||||
- ⚠️ Der Anmelde-Server meldet Fehler mit Status 200 und Text im Rumpf —
|
||||
der Code prüft deshalb den Inhalt, nicht nur den Statuscode.
|
||||
- ✅ **Getestet:** 177 Tests grün (19 neue), `flutter analyze` ohne Befund,
|
||||
Release-APK baut (22,8 MB).
|
||||
⚠️ **Ehrlich dazugesagt:** Der Weg über den echten Proxy und das Schreiben
|
||||
in den Musikordner sind **noch nicht auf dem Handy ausprobiert** — das
|
||||
geht nur auf dem Gerät. Alles davor ist mit Tests abgedeckt.
|
||||
|
||||
### 🧭 Neue Tab-Struktur nach deinen Referenzbildern (2026-08-20)
|
||||
- 🔀 **Untere Leiste wie auf deinem Bild:** Die Reihenfolge ist jetzt
|
||||
**Meine Musik · Online · Suchen · Favoriten**. Der frühere Reiter
|
||||
|
||||
Reference in New Issue
Block a user