PWA-Bridges repariert: veraltete gpu-pc-IP, Passwort-Auth, eingefrorener Firefox, falsche CDP-URL
This commit is contained in:
parent
e9e08e6076
commit
419bcba00f
107
bridges/2026-07-20-PWA-Bridges-repariert.md
Normal file
107
bridges/2026-07-20-PWA-Bridges-repariert.md
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
# PWA-Bridges repariert — Mammouth, Suno, Qolaba, Gemini, Nimbus
|
||||
|
||||
**Datum:** 2026-07-20 · **Host:** Hub (jump.panel1.de), Container `keys-bridges`
|
||||
**Ergebnis:** Alle fuenf Bridges wieder verbunden. Vorher lieferten alle leere Antworten.
|
||||
|
||||
---
|
||||
|
||||
## Die Ursachenkette
|
||||
|
||||
Ein einziger veralteter Eintrag hat vier Tunnel und drei Dienste gekillt:
|
||||
|
||||
```
|
||||
1. gpu-pc bekam eine neue Tailscale-IP: 100.82.179.51 -> 100.109.177.88
|
||||
2. Vier systemd-Dienste zeigten weiter auf die tote Adresse
|
||||
3. Drei davon nutzten Schluessel-Anmeldung, die gpu-pc ablehnt
|
||||
4. -> SOCKS5-Proxy (Port 1080) tot
|
||||
5. -> Firefox im Container konnte mammouth.ai nicht laden
|
||||
6. -> Firefox fror auf der Fehlerseite ein und lud nie nach
|
||||
7. -> alle Bridges lieferten 0 Token / leeren Inhalt
|
||||
```
|
||||
|
||||
**Trugschluss unterwegs:** `/status` meldete `"mammouth": {"logged_in": true}`, obwohl nichts ging.
|
||||
Die Pruefung schaut nur, ob `/login` in der URL steht — eine Firefox-Fehlerseite enthaelt das nicht.
|
||||
**Merke: `logged_in` allein ist kein Beweis. Immer einen echten Chat-Aufruf machen.**
|
||||
|
||||
## Fix 1 — Veraltete IP in vier Diensten
|
||||
|
||||
```bash
|
||||
sed -i "s/100.82.179.51/100.109.177.88/g" \
|
||||
/etc/systemd/system/{ssh-tunnel-gpupc,gpupc-socks-tunnel,shadow-ollama-tunnel,suno-pwa-cdp-tunnel}.service
|
||||
systemctl daemon-reload
|
||||
```
|
||||
Die echte Adresse findet man mit `tailscale status | grep gpu-pc`.
|
||||
|
||||
## Fix 2 — gpu-pc akzeptiert KEINE SSH-Schluessel, nur Passwort
|
||||
|
||||
Alle Hub-Schluessel (`id_ed25519`, `id_rsa`, `barby-gitlab`) werden abgelehnt:
|
||||
`Permission denied (publickey,password,keyboard-interactive)`.
|
||||
|
||||
Der einzige funktionierende Dienst (`shadow-ollama-tunnel`) zeigte die Loesung — **Passwort-Auth**:
|
||||
|
||||
```ini
|
||||
Environment=SSHPASS=<passwort>
|
||||
ExecStart=/usr/bin/sshpass -e /usr/bin/ssh <forward> -N \
|
||||
-o StrictHostKeyChecking=no -o ServerAliveInterval=30 -o ServerAliveCountMax=3 \
|
||||
-o ExitOnForwardFailure=yes \
|
||||
-o PreferredAuthentications=password,keyboard-interactive -o PubkeyAuthentication=no \
|
||||
matthias@100.109.177.88
|
||||
```
|
||||
Auf alle drei uebertragen. Danach: alle vier Tunnel `active`, Port 1080 und 9223 lauschen.
|
||||
|
||||
## Fix 3 — Firefox-Seite war eingefroren
|
||||
|
||||
Firefox laedt eine einmal gescheiterte Seite nicht von selbst nach. `docker restart keys-bridges`
|
||||
-> `https://mammouth.ai/app/a/default` statt "Problem loading page".
|
||||
**Nebeneffekt:** Gemini, Qolaba und Nimbus meldeten vorher `BrowserContext has been closed` —
|
||||
das loeste sich von selbst, sobald der Proxy zurueck war.
|
||||
|
||||
## Fix 4 — Suno-Bridge zeigte auf die falsche Adresse UND den falschen Port
|
||||
|
||||
`/app/bridges/suno.py`:
|
||||
```python
|
||||
CDP_URL = "http://100.91.98.15:9222" # FALSCH: das ist jump, und Port 9222
|
||||
CDP_URL = "http://172.16.8.1:9223" # RICHTIG: Docker-Gateway -> gpu-pc-Tunnel
|
||||
```
|
||||
|
||||
**Warum nicht `host.docker.internal`:** Chrome DevTools lehnt das mit
|
||||
`Host header is specified and is not an IP address or localhost` ab. Es muss eine **IP** sein.
|
||||
Die richtige findet man mit:
|
||||
```bash
|
||||
docker inspect keys-bridges --format '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}'
|
||||
```
|
||||
(hier `172.16.8.1` — NICHT die 172.16.1.1, zu der `host.docker.internal` aufloest)
|
||||
|
||||
## Endstand
|
||||
|
||||
| Bridge | Status |
|
||||
|---|---|
|
||||
| mammouth | verbunden — **Abo abgelaufen** ("No active subscription") |
|
||||
| suno | verbunden (`https://suno.com/`) |
|
||||
| gemini | **liefert nachweislich**: "Jitter bezeichnet die schwankende Zeitverzoegerung..." |
|
||||
| qolaba | verbunden — Antwort-Erfassung laeuft in Zeitueberschreitung (Selektor) |
|
||||
| nimbus | verbunden |
|
||||
|
||||
## Wichtige Nebenbefunde
|
||||
|
||||
- **Virtueller LiteLLM-Schluessel gesperrt:** `sk-4iPCRTWuGmLxnfCX4io9WQ` aus
|
||||
`hermes-desktop-keys-consoro.md` liefert "Key is blocked". Master-Key steht in der
|
||||
Container-Umgebung: `docker exec litellm-public printenv LITELLM_MASTER_KEY`
|
||||
- **Gateway listet 284 Modelle, aber `/v1/images/generations` weist jedes ab.**
|
||||
Modell-Liste und Routing sind auseinandergelaufen. Chat funktioniert.
|
||||
- **Mammouth hat 84 Modelle** inkl. `sora`, `veo`, `kling`, `flux`, `elevenlabs`,
|
||||
`claude-opus-4.8` — alle haengen am Abo.
|
||||
- **Qolaba hat im Gateway NUR Chat-Modelle** (30), keine Bild-/Video-Endpunkte,
|
||||
entgegen `qolaba-bridge-plan.md`.
|
||||
- **Alibaba (`dashscope`) = 75 Modelle, Chat funktioniert** — guenstigste Bahn.
|
||||
|
||||
## Diagnose-Rezept fuer naechstes Mal
|
||||
|
||||
```bash
|
||||
curl -s http://127.0.0.1:4003/status | python3 -m json.tool # 1. Bridge-Sicht
|
||||
systemctl is-active gpupc-socks-tunnel suno-pwa-cdp-tunnel # 2. Tunnel
|
||||
ss -tln | grep -E ':(1080|9223) ' # 3. Ports
|
||||
docker exec keys-bridges sh -c 'curl -s --socks5 host.docker.internal:1080 -o /dev/null -w "%{http_code}" https://mammouth.ai/'
|
||||
curl -s -X POST http://127.0.0.1:4003/mammouth/chat -d '{"prompt":"Test"}' -H "Content-Type: application/json"
|
||||
```
|
||||
Schritt 5 ist der einzige echte Beweis — alles davor kann gruen sein, waehrend nichts geht.
|
||||
Loading…
Reference in a new issue