Об этом проекте

tailscaled-rs — это независимый, написанный с нуля системный демон на Rust, предназначенный для подключения к оверлейным mesh-сетям на базе WireGuard путём реализации протокола управления Tailscale. Построенный на основе встраиваемой библиотеки-движка `tailscale-rs`, этот проект обеспечивает недостающий слой демона: постоянный фоновый сервис (`tailnetd`) с согласуемым конечным автоматом, сохраняемыми настройками и локальным управляющим сокетом для взаимодействия через тонкий CLI (`tnet`). Ключевые возможности: - **Подключение к сети**: неинтерактивное подключение к реальной tailnet с использованием ключей предварительной авторизации, получение IP-адреса в tailnet и установление соединения через DERP-ретранслируемые каналы. - **Управление состоянием**: реализация конечного автомата в стиле IPN (NoState → NeedsLogin → Starting → Running), выводимого из фактического состояния движка, что исключает рассинхронизацию состояний. Такие настройки, как имя хоста и параметры маршрутизации, сохраняются между перезапусками. - **Локальное управление**: предоставление LocalAPI через сокет домена Unix, позволяющее CLI `tnet` управлять статусом узла, поднимать или опускать соединения и изменять политики, такие как имена хостов и принятие маршрутов, в реальном времени без переподключения. - **Системная интеграция**: поддержка установки в качестве системного сервиса в Linux (systemd) и macOS (launchd), обработка запуска при загрузке и корректного завершения с удалением сетевых маршрутов. В настоящее время проект находится на стадии экспериментального MVP. По умолчанию он работает в режиме пользовательского сетевого стека, то есть пока не программирует интерфейсы TUN ядра и не изменяет DNS/маршрутизацию на уровне ОС напрямую; приложения достигают tailnet через сетевой стек демона. В планах на будущее — поддержка режима TUN, интерактивный вход через браузер, интеграция MagicDNS, функциональность выходного узла, а также возможности SSH/Serve. Действуют важные предупреждения: используемая криптография не прошла аудит, и программное обеспечение не даёт гарантий стабильности. Оно не связано с Tailscale Inc., не одобрено и не спонсируется ею. Пользователям не следует полагаться на него для обеспечения конфиденциальности данных в производственных средах до тех пор, пока проект не достигнет большей зрелости. Проект распространяется под лицензией BSD-3-Clause.