VIGIL MESH

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.
Lire ensuiteComment fonctionne le réseau mesh

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.