# Bridge-Auto-Update — Server-Ablage

Der Terminal-Bridge-Updater (Session 4, `terminal/src/main/bridge-updater.js`)
holt von hier ein **Ed25519-signiertes** Manifest und laedt verifizierte
Bridge-Binaries.

## Struktur
```
/opt/huy-digital/updates/bridge/
  latest.json                         ← signiertes Manifest (von sign-bridge-latest.sh)
  <version>/win-x64/HuyDigital-Bridge.exe
  <version>/mac-x64/HuyDigital-Bridge
  <version>/mac-arm64/HuyDigital-Bridge
  <version>/linux-x64/HuyDigital-Bridge
```
> Die RAW PyInstaller-one-file-Binary (NICHT der NSIS-Setup!) wird pro
> Plattform abgelegt.

## Neues Bridge-Release ausliefern
1. Bridge bauen (pro Plattform) → RAW-Binary nach `<version>/<platform-arch>/` kopieren.
2. Manifest signieren (als root, Private Key root:600):
   ```
   sudo BRIDGE_VERSION=0.1.4 [MIN_TERMINAL_VERSION=0.2.56] \
     /opt/huy-digital/scripts/sign-bridge-latest.sh
   ```
   Das Script berechnet sha256+size der vorhandenen Binaries, baut das
   kanonische Payload-JSON, signiert es und schreibt `latest.json`.
3. Fertig — Terminals ab v0.2.56 holen das Update beim naechsten Check
   (Start+30s / nach Login / alle 6h), verifizieren Signatur+SHA256 und
   installieren es nach `userData/bridge/<version>/` (Seed bleibt unberuehrt).

## Sicherheit
- Caddy liefert `updates.huy-digital.com` mit `no-cache` + CORS aus.
- Ed25519-Pubkey ist im Terminal hartkodiert; Private Key bleibt offline (root:600).
- Fail-closed: ohne gueltige Signatur / bei SHA256-Mismatch wird NICHTS installiert.
- Fehlt `latest.json` (404) → Updater macht no-op (kein Fehler).
