2.7 KiB
Weg B — Bridge-Adapter auf gpu-pc-CDP :9223 umbiegen (Nachtplan #5)
Datum: 2026-07-22 · Status: Code fertig + py_compile-sauber · Nutzbarkeit: [BÄR — PWA-Login gpu-pc]
Kontext
Der dedizierte Bridge-Server bridge.ki1.it wurde am 2026-07-22 abgebaut. Einzige Quelle dauerhaft
eingeloggter PWA-Sessions = gpu-pc (100.109.177.88), dort Chrome mit remote-debugging :9223
(Suno/Gemini/Qolaba live). "Weg B" = Adapter greifen diese Tabs per CDP ab, statt einen zweiten
Browser mit kopierten Cookies zu betreiben (bei Google-OAuth ohnehin fragil).
Befund
- suno.py macht Weg B bereits — eigenes
get_page()mitconnect_over_cdp(host.docker.internal:9223 via SSH-Tunnel, Hostname->IP wegen Chrome-CDP-Host-Header-Check). - gemini.py / qolaba.py nutzten bisher
base.get_page()=launch_persistent_context(eigenes Chrome- injizierte Cookies). Diese sind auf CDP umgestellt.
- mammouth.py = Firefox + SOCKS5 (gpu-pc-Egress). Firefox hat kein Chromium-CDP ->
connect_over_cdpnicht anwendbar. Zusaetzlich Session aktuell ausgeloggt. Bleibt Firefox-Sonderfall.
Umsetzung
Neues Modul app/bridges/cdp.py mit CDPBridge(PWABridge) — verallgemeinert exakt suno's erprobtes
Muster (gemeinsamer CDP-Browser-Handle mit Reconnect, Hostname->IP-Aufloesung, Tab-Wiederverwendung
nach Domain). Aenderungen an gemini.py/qolaba.py minimal:
class Gemini(CDPBridge)+match_host="gemini.google.com",relogin_supported=Trueentferntclass Qolaba(CDPBridge)+match_host="qolaba.ai",relogin_supported=Trueentfernt- Die gesamte Selector-/Ablauf-Logik (chat/image/audio/video/veo3) unveraendert.
Sicherheit: CDPBridge.get_page() oeffnet bei fehlendem Domain-Tab einen eigenen neuen Tab
(kein Hijack von pages[0] eines fremden Dienstes). relogin_supported=False (geteilter CDP-Context).
Nutzbarkeit (ehrlich)
Rein technische Umbiegung. Die Session MUSS auf gpu-pc eingeloggt sein. Am 2026-07-22 ist
Mammouth ausgeloggt (rigoros geprueft: /login-Redirect, kein Auth-Cookie); Gemini-Google-OAuth
kann ebenfalls ablaufen. Dann meldet login_status() ehrlich logged_in=False und die Methoden
liefern eine Login-Wall. -> einmaliger Human-Login auf gpu-pc noetig ([BÄR — PWA-Login gpu-pc]).
Auto-Relogin aus dem Bridge-Prozess ist bei geteiltem CDP nicht moeglich.
Deployment (offen, [BÄR]/Folgeschritt)
bridge.ki1.it ist weg — der Bridge-Prozess braucht einen neuen Host MIT SSH-Tunnel zu gpu-pc:9223
(oder Betrieb direkt auf gpu-pc gegen localhost:9223). Env: PWA_CDP_URL=http://host.docker.internal:9223.
Code: bridges/cdp.py (dieses Repo), Adapter-Backup D:\claude\backups\bridges-adapter-code-2026-07-22.tgz.