À propos du projet

tailscaled-rs est un démon système Rust indépendant, développé à partir de zéro, conçu pour rejoindre des réseaux superposés maillés basés sur WireGuard en implémentant le protocole de contrôle Tailscale. Construit au-dessus de la bibliothèque moteur intégrable `tailscale-rs`, ce projet fournit la couche démon manquante : un service d'arrière-plan persistant (`tailnetd`) doté d'une machine à états réconciliable, de préférences persistées et d'un socket de contrôle local permettant l'interaction via une CLI légère (`tnet`). Les capacités clés incluent : - **Connexion au réseau** : rejoint un véritable tailnet de manière non interactive à l'aide de clés de pré-authentification, obtient une IP tailnet et établit la connectivité via des liens relayés par DERP. - **Gestion d'état** : implémente une machine à états de style IPN (NoState → NeedsLogin → Starting → Running) dérivée de la réalité du moteur en direct, garantissant l'absence de dérive d'état. Les préférences telles que le nom d'hôte et les paramètres de routage sont persistées entre les redémarrages. - **Contrôle local** : expose une LocalAPI sur un socket de domaine Unix, permettant à la CLI `tnet` de gérer l'état du nœud, d'activer ou de désactiver les connexions et d'ajuster des politiques comme les noms d'hôtes et l'acceptation des routes en temps réel sans reconnexion. - **Intégration système** : prend en charge l'installation en tant que service système sur Linux (systemd) et macOS (launchd), gérant le démarrage au boot et le démontage propre à l'arrêt des routes réseau. Le projet est actuellement en phase MVP expérimentale. Il fonctionne par défaut en mode réseau en espace utilisateur, ce qui signifie qu'il ne programme pas encore d'interfaces TUN du noyau ni ne modifie directement le DNS/routage au niveau de l'OS ; les applications atteignent le tailnet via la pile réseau du démon. Les feuilles de route futures incluent le support du mode TUN, la connexion interactive via navigateur, l'intégration MagicDNS, la fonctionnalité de nœud de sortie et les fonctionnalités SSH/Serve. Des avertissements importants s'appliquent : la cryptographie sous-jacente n'a pas été auditée et le logiciel n'offre aucune garantie de stabilité. Il n'est ni affilié à, ni approuvé par, ni sponsorisé par Tailscale Inc. Les utilisateurs ne doivent pas s'y fier pour la confidentialité des données en environnement de production tant que le développement n'a pas mûri. Le projet est sous licence BSD-3-Clause.