diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-08-10 00:50:27 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-08-10 00:50:27 +0200 |
| commit | b4bcd1bb2faeedaad920ac7e7938db8637856af9 (patch) | |
| tree | d797b762b8a93a493ff64d6c6d4c2bc6663de835 /CLAUDE.md | |
| parent | 6ef349fee50cb8436ed12aa2a24c3b6918d1db21 (diff) | |
| download | meshbay-b4bcd1bb2faeedaad920ac7e7938db8637856af9.tar.gz | |
docs: add demo-v2 NAT findings to CLAUDE.md
Port-Restricted Cone SFR, punch_nat() mechanism, 12.7s handshake note.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -101,6 +101,18 @@ Scope: `hub`, `node`, `common`, or omitted for cross-cutting - Argon2id `memory_cost`: currently 65536 (64 MB, 78ms) — increase to 262144 (256 MB) before prod to target ~500ms on typical home server hardware. Implement a `calibrate` CLI command. +## NAT traversal — résultats empiriques (demo-v2) + +SFR résidentiel Fedora 44 → meshbay.org OVH VPS : +- **IPv6** : adresse publique présente MAIS entrant bloqué par la box → skippé +- **NAT type** : **Port-Restricted Cone** (pas Address-Restricted comme supposé en Spike 4) +- **Mécanisme validé** : `QuicChunkServer.punch_nat(peer_ip, peer_port)` envoie la probe + depuis le socket QUIC interne (`_transport.sendto()`). Le client DOIT se connecter + depuis le même port (local_port=QUIC_PORT dans QuicChunkClient). +- **UPnP** : désactivé sur box SFR → skippé +- **Handshake QUIC** : 12.7s (demo) → < 500ms attendu en prod (gap probe↔connect réduit + 0-RTT) +- **Scripts** : `QE/demo-v2/` — run_node.py / download.py / nat.py / setup_demo.py + ## Key modules — où trouver quoi | Besoin | Module | Fichier | @@ -112,6 +124,8 @@ Scope: `hub`, `node`, `common`, or omitted for cross-cutting | Double Ratchet (chat) | `meshbay_common.ratchet` | `ratchet.py` | | AES-GCM (navigateur) | `meshbay_common.webcrypto` | `webcrypto.py` + `static/crypto.js` | | Keystore node | `meshbay_node.keystore` | `keystore.py` | +| NAT traversal | `QE/demo-v2/nat.py` | non versionné — résultats dans devel-phases.md | +| QUIC NAT punch | `meshbay_node.transport.quic_server` | `QuicChunkServer.punch_nat()` | | Scripts de démo opérationnels | — | `QE/demo-v1/*.py` (non versionné) | ## meshbay.org server (état cible) |