VIGIL MESH

Documentation

Installer VIGIL Mesh sur Linux (desktop, serveur et Jetson)

Ce guide installe VIGIL Mesh sur Linux — poste desktop, serveur sans écran, ou carte NVIDIA Jetson (qui est un Linux ARM64 comme un autre). Vous avez deux voies : le script officiel, qui vérifie le paquet, l'installe et active le service sans attachement, ou l'installation manuelle du .deb. Vous connectez ensuite le compte et attachez explicitement un ou plusieurs réseaux ; aucun port entrant n'est ouvert.

Prérequis

Le client Linux s'adresse à trois usages : le poste desktop, le serveur (ou la machine de site) sans interface graphique, et la carte embarquée type Jetson. L'installation crée une interface TUN et un service géré par systemd, et requiert les droits root le temps de l'installation et de la connexion.

  • Une distribution à base Debian ou Ubuntu, en architecture amd64 (Ubuntu 24.04 LTS ou plus récent) ou arm64 (par exemple JetPack 6 / Ubuntu 22.04 sur une carte NVIDIA Jetson).
  • Les droits root (sudo) pour installer le paquet, créer l'interface TUN et activer le service.
  • systemd actif et le support des interfaces TUN (/dev/net/tun), standard sur les distributions courantes.
  • Les paquets ca-certificates, iproute2, iptables et systemd — dépendances du client, résolues automatiquement par apt.
  • Un accès Internet sortant : aucune règle de pare-feu entrante ni redirection de port à préparer.

Méthode recommandée : le script d'installation

Le script officiel install-vigil-mesh.sh détecte l'architecture, lit le manifest publié, choisit le bon paquet, contrôle son empreinte SHA-256, l'installe, puis active et démarre le service. Il ne connecte aucun compte et n'attache aucun réseau : ces actions restent explicites après l'installation.

Installer avec le script officiel
# 1. Télécharger le script d'installation officiel
curl -fLO https://vigil.design/downloads/install-vigil-mesh.sh

# 2. (Recommandé) le lire avant de l'exécuter
less install-vigil-mesh.sh

# 3. L'exécuter : détection amd64/arm64, vérification SHA-256,
#    installation et activation du service, avec zéro attachement.
chmod +x ./install-vigil-mesh.sh
./install-vigil-mesh.sh

Méthode manuelle : le paquet .deb

Si vous préférez tout contrôler, installez le paquet à la main. Récupérez le .deb correspondant à votre architecture depuis /download/client — amd64 pour un poste ou serveur x86-64, arm64 pour une carte ARM 64 bits (Jetson compris) — avec l'empreinte SHA-256 publiée au manifest signé.

# 1. Vérifier l'empreinte SHA-256 face au manifest signé
sha256sum vigil-mesh_<version>_amd64.deb

# 2. Installer le paquet (apt résout les dépendances)
sudo apt install ./vigil-mesh_<version>_amd64.deb

# 3. Activer et démarrer le service au démarrage
sudo systemctl enable --now vigil-mesh.service
sudo systemctl status vigil-mesh.service

Connexion du compte et attachements réseau

L'installation laisse volontairement zéro attachement. Connectez d'abord le compte par l'entrée standard, puis consultez le catalogue et attachez explicitement chaque réseau voulu. Plusieurs réseaux peuvent rester attachés en même temps : répétez la commande attach, sans remplacer les attachements existants.

  • Secret hors arguments : le mot de passe passe uniquement par stdin avec --password-stdin.
  • Catalogue explicite : vigil-mesh network list affiche les couples workspace/réseau disponibles pour le compte.
  • Attachements multiples : vigil-mesh network attach ajoute un réseau précis ; relancez-la pour chacun des réseaux nécessaires.
Connecter le compte puis attacher les réseaux
# Lire le mot de passe sans écho et sans le placer dans argv
read -rsp 'Mot de passe VIGIL : ' VIGIL_PASSWORD; echo
printf '%s\n' "$VIGIL_PASSWORD" | sudo vigil-mesh account login --login vous@example.com --password-stdin
unset VIGIL_PASSWORD
sudo vigil-mesh account status

# Lister puis attacher les réseaux voulus
sudo vigil-mesh network list
sudo vigil-mesh network attach --workspace <workspace-id> --network <network-id>
# Répéter attach pour chaque autre réseau nécessaire.

MFA : le second facteur à la connexion

Si la connexion renvoie l'état mfa-required et un jeton de challenge, transmettez le code TOTP par stdin avec la commande account mfa. Le code n'apparaît jamais dans les arguments du processus.

  • Le mot de passe passe par --password-stdin ; aucune option ne transporte le secret dans argv.
  • Le code MFA passe séparément par --code-stdin, avec le jeton de challenge renvoyé par la connexion.
  • Après l'état ready, utilisez network list puis network attach pour choisir tous les réseaux nécessaires.
Valider un challenge MFA
read -rsp 'Code MFA : ' VIGIL_MFA; echo
printf '%s\n' "$VIGIL_MFA" | sudo vigil-mesh account mfa --token <challenge-token> --code-stdin
unset VIGIL_MFA
sudo vigil-mesh account status

Gérer le service

Le client tourne comme service systemd vigil-mesh.service, activé au démarrage. Il restaure les attachements configurés après un redémarrage de la machine.

Commandes de service
# État du service et santé du client
systemctl status vigil-mesh.service
vigil-node --self-test
sudo vigil-mesh account status
sudo vigil-mesh network list

# Journaux
journalctl -u vigil-mesh.service -n 80 --no-pager

# Arrêter ou redémarrer
sudo systemctl stop vigil-mesh.service
sudo systemctl restart vigil-mesh.service

# Se déconnecter (supprime la session locale)
sudo vigil-mesh account logout

Vérifier

Après la connexion du compte et les attachements explicites, vérifiez l'état du service, de la session et de chaque réseau. Ces contrôles distinguent une installation saine d'un attachement réellement connecté.

  • Service sain : systemctl status vigil-mesh.service et vigil-node --self-test réussissent.
  • Compte prêt : sudo vigil-mesh account status indique l'état ready.
  • Réseaux attachés : sudo vigil-mesh network list affiche chaque attachement voulu et son état, sans limiter la machine à un seul réseau.
  • Résolution par nom : MagicDNS résout localement les noms des autres appareils, sans qu'aucune requête ne quitte la machine.
  • Joignabilité : un test simple (ping vers l'adresse mesh d'un autre nœud, puis accès à un service partagé) confirme que le chemin est ouvert.
Lire ensuiteVérifier la connectivité