Tailscale-rs: Official Rust library for embedding Tailscale
9 hours ago
- #Networking
- #Tailscale
- #Rust
- Tailscale is releasing tailscale-rs, a Rust library version of Tailscale, aimed at enabling developers to integrate Tailscale functionality into applications in languages other than Go.
- The library is currently in an experimental preview stage, with initial bindings available for Python, Elixir, C, and Rust itself, and is not yet recommended for production use.
- This initiative addresses the limitations of the existing Go-based tsnet and C-based libtailscale, which struggle with runtime conflicts in non-Go environments.
- Rust was chosen for its lack of an opinionated runtime, memory safety, performance, and interoperability, making it suitable for embedding in diverse applications.
- Tailscale-rs implements basic functionality, allowing TCP and UDP communication within a tailnet, but lacks features like peer-to-peer NAT traversal, DNS, exit nodes, and higher-level services.
- Future development will focus on adding missing networking features, expanding language bindings, and improving performance, guided by community feedback.