Documentation
Le navigateur comme nœud du mesh (WASM)
Un onglet de navigateur peut devenir un vrai nœud du réseau privé VIGIL-MESH, sans installer de client. Le cœur du nœud est compilé en WebAssembly et se connecte via WebTransport (QUIC/HTTP3) : la page dispose alors d’une surface de sockets — UDP, TCP, multicast — sur le réseau privé, avec les mêmes adresses et les mêmes règles que n’importe quelle machine. La clé privée du nœud est générée dans la page et n’en sort jamais.
Le navigateur, vrai nœud du mesh
Il ne s’agit pas d’un client web appuyé sur une passerelle qui casserait le chiffrement de bout en bout. Le cœur du nœud tourne dans la page, en WebAssembly, et parle le même protocole que les clients natifs : l’onglet reçoit une adresse stable et devient membre du réseau au même titre qu’un poste ou un serveur.
- Cœur WASM : la logique du nœud (chiffrement, sessions, adressage) est compilée en WebAssembly et s’exécute dans l’onglet.
- WebTransport : la connexion au mesh passe par WebTransport (QUIC/HTTP3), ce qui donne au navigateur un transport proche de celui des clients natifs.
- Clé privée jamais hors de la page : la clé privée du nœud est générée dans la page et ne quitte jamais le navigateur — le serveur ne la voit jamais.
Ce qu’on peut faire
Parce que la page retrouve une vraie surface réseau sur le mesh, elle peut consommer et piloter des services du réseau privé directement, sans passerelle intermédiaire.
Piloter
Une application no-code dans le navigateur peut commander des engins et des services du mesh (par exemple de la téléopération) en s’adressant directement à leurs adresses privées.
Visualiser
Superviser des appareils, afficher de la télémétrie ou consommer un flux publié sur le réseau privé, depuis une simple page.
Sockets UDP/TCP/multicast
La page dispose d’une surface de sockets UDP, TCP et multicast sur le réseau privé, avec les mêmes adresses et les mêmes règles que n’importe quelle machine du mesh.
Sécurité
Le modèle de confiance est le même que pour un nœud natif : la session est chiffrée de bout en bout dans la page, et l’infrastructure ne détient jamais la session.
- Session E2E dans la page : le chiffrement s’établit dans l’onglet, entre le nœud navigateur et son pair, comme entre deux clients natifs.
- Le serveur ne détient pas la session : la vigie relaie des octets chiffrés et ne possède aucune clé de session ; le contrôleur distribue la carte réseau signée mais ne voit pas le contenu des flux.
- Clé privée non exportable de fait : générée et conservée dans la page, elle n’est jamais transmise au serveur ni stockée hors du navigateur.
Limites et prérequis navigateur
Le nœud navigateur est puissant, mais reste soumis aux contraintes du bac à sable du navigateur. Quelques points à garder en tête.
- Un navigateur récent prenant en charge WebAssembly et WebTransport (QUIC/HTTP3) est nécessaire ; la disponibilité varie selon les navigateurs et leurs versions.
- La surface de sockets est fournie par le cœur WASM à travers le mesh, dans le cadre du bac à sable du navigateur : ce n’est pas un accès brut à la pile réseau du système d’exploitation.
- La session est liée à l’onglet : elle ne survit pas à la fermeture de la page comme le ferait un service natif installé en arrière-plan.
- Pour un nœud permanent et démarrant au boot, préférez un client natif (voir /docs/install-android ou /docs/install-jetson) ; le navigateur vise l’accès immédiat sans installation.
In English
A browser tab can become a real VIGIL-MESH node, with no client to install. The node core is compiled to WebAssembly and connects over WebTransport (QUIC/HTTP3), so the page gets a socket surface — UDP, TCP, multicast — on the private network.
The private key is generated inside the page and never leaves the browser: the session is end-to-end encrypted in the tab, and the infrastructure never holds it.
It stays within the browser sandbox: it needs a recent browser with WebAssembly and WebTransport, and the session is tied to the tab. For a permanent, boot-time node, prefer a native client.