BoringTun is a high-performance, portable implementation of the WireGuard VPN protocol written in Rust, designed so that developers and system integrators can run WireGuard tunnels entirely in user space across a variety of operating systems without kernel modules. It implements the core WireGuard protocol — including key exchange, encryption (ChaCha20-Poly1305), and authenticated transport — while omitting platform-specific tunneling stacks, allowing embedment in custom VPN client applications or userspace networking tools. The repository includes both a library for programmatic use and a command-line executable that can act as a userspace WireGuard interface on supported platforms like Linux and macOS. Because it’s written in Rust, BoringTun benefits from strong safety guarantees, memory safety without garbage collection, and cross-platform support, making it suitable for mobile, desktop, and server environments.
Features
- Rust implementation of the WireGuard VPN protocol
- Userspace library and CLI executable
- Cross-platform support (Linux, macOS, iOS, Android)
- High-performance cryptographic transport
- Integration-ready for custom networking apps
- BSD-3-Clause open-source licensing