aboutsummaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 8cc9db9..518dcea 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -132,7 +132,7 @@ SFR residential Fedora 44 → meshbay.org OVH VPS:
### WebRTC browser clients (Phase 9 spike, 2026-08-10)
-Mobile 4G SFR → node behind SFR residential NAT (Port-Restricted Cone + CGNAT 4G):
+**SFR residential NAT** — Mobile 4G SFR → node behind SFR residential (Port-Restricted Cone + CGNAT 4G):
| Test | ICE path | Result |
|---|---|---|
@@ -140,6 +140,15 @@ Mobile 4G SFR → node behind SFR residential NAT (Port-Restricted Cone + CGNAT
| 4G + IPv6 | IPv6 inter-network | OK, ~600ms |
| 4G + IPv4 only (IPv6 disabled) | STUN hole-punch IPv4 | OK, ~650ms |
+**Orange Livebox NAT** — Firefox/Chrome laptop (SFR) → node behind Orange residential NAT:
+
+| Test | ICE path | Result |
+|---|---|---|
+| Chrome laptop → Orange node | IPv6 inter-network | OK, ~7000ms |
+| Firefox laptop → Orange node | IPv6 inter-network | OK, ~6700ms |
+| Firefox laptop → Orange node (IPv6 disabled) | STUN hole-punch IPv4 | OK, ~6900ms |
+
+- **Two ISPs validated** — SFR + Orange residential NAT, both work without TURN
- **No TURN relay needed** — ICE/STUN handles both NAT types automatically
- **Hub role**: signaling only (SDP/ICE relay via WebSocket, <1 KB)
- **Data path**: browser ↔ node P2P via WebRTC DataChannel
@@ -162,7 +171,9 @@ Mobile 4G SFR → node behind SFR residential NAT (Port-Restricted Cone + CGNAT
| WebRTC signaling (hub) | `meshbay_hub.api.signaling` | Phase 9.2 — SDP/ICE relay |
| Browser transport client | `static/transport.js` | Phase 9.4 — WebRTC DataChannel |
| Web SPA | `static/app.js` | Phase 9.6 — Preact + preact-router |
-| Demo scripts | — | `QE/demo-v1/*.py`, `QE/demo-v2/*.py` (not versioned) |
+| File download (large) | `static/app.js` | File System Access API (`showSaveFilePicker`) — stream to disk |
+| i18n (browser) | `static/i18n.js` | `t()` lookup, ESM, localStorage lang selection |
+| Demo scripts | — | `QE/demo-v1/*.py`, `QE/demo-v2/*.py`, `QE/demo-v3/*.py` (not versioned) |
## meshbay.org server (état cible)