Claude: Fix
This commit is contained in:
@@ -72,13 +72,23 @@ Encoding, ICE-Negotiation, robuster Client mit Auto-Fallback (WebRTC→MSE→MJP
|
||||
- [ ] Prüfen ob Kamera natives H.264 liefert (`v4l2-ctl --list-formats`) → kein Re-Encode
|
||||
|
||||
### Phase 4 – Internet-Härtung (offen, vor Produktiv-Schaltung)
|
||||
- [ ] **TLS**: Reverse Proxy (Caddy/nginx/traefik) mit HTTPS vor Port 8444
|
||||
(WebRTC im Browser läuft über Internet zuverlässig nur im secure context)
|
||||
- [ ] **WebRTC-Candidate**: `stun:8555` testen; falls NAT-Probleme → feste public IP/Domain
|
||||
in der go2rtc-Config eintragen (`candidates: [robot.example.com:8555]`)
|
||||
- [ ] **TURN**: nur falls reines STUN + Port-Forward UDP 8555 nicht reicht → coturn
|
||||
- [ ] **Zugriffsschutz**: Basic-Auth oder Token am Reverse Proxy (1–3 bekannte User)
|
||||
- [ ] **Firewall**: TCP 8444 + UDP 8555 forwarden; Port 1984 NICHT exponieren
|
||||
- [ ] **TLS via Caddy** – empfohlen, weil Caddy WebSocket-Proxy nativ und zuverlässig kann.
|
||||
Aktuell verbindet Browser `/api/ws` direkt zu go2rtc Port 1984.
|
||||
Caddy bündelt beides hinter einer Domain:
|
||||
```
|
||||
robot.example.com {
|
||||
handle /api/ws* { reverse_proxy localhost:1984 }
|
||||
handle /api/stream* { reverse_proxy localhost:1984 }
|
||||
handle /video-*.js { reverse_proxy localhost:1984 }
|
||||
handle { reverse_proxy localhost:8444 }
|
||||
}
|
||||
```
|
||||
Danach: viewer.js `go2rtcPort` auf 443 (wss://) setzen, Node GO2RTC_PORT=443.
|
||||
- [ ] **WebRTC-Candidate**: `stun:8555` testen; bei NAT-Problemen → feste IP/Domain:
|
||||
`candidates: [robot.example.com:8555]` in go2rtc-Config
|
||||
- [ ] **TURN**: nur wenn STUN + UDP 8555 nicht reicht (sehr restriktive NATs)
|
||||
- [ ] **Zugriffsschutz**: Basic-Auth am Caddy (1–3 bekannte User)
|
||||
- [ ] **Firewall**: TCP 443 (Caddy) + UDP 8555 (WebRTC) forwarden; 1984 + 8444 intern
|
||||
|
||||
### Phase 5 – Robustheit (optional)
|
||||
- [ ] Kamera hot-plug: go2rtc-Verhalten bei Device-Verlust prüfen
|
||||
|
||||
Reference in New Issue
Block a user