BoringTun, a userspace WireGuard implementation in Rust
Today we are happy to release the source code of a project we’ve been working on for the past few months. It is called BoringTun, and is a userspace implementation of the WireGuard® protocol written in Rust.

A Bit About WireGuard
WireGuard is relatively new project that attempts to replace old VPN protocols, with a simple, fast, and safe protocol. Unlike legacy VPNs, WireGuard is built around the Noise Protocol Framework and relies only on a select few, modern, cryptographic primitives: X25519 for public key operations, ChaCha20-Poly1305 for authenticated encryption, and Blake2s for message authentication.
Like QUIC, WireGuard works over UDP, but its only goal is to securely encapsulate IP packets. As a result, it does not guarantee the delivery of packets, or that packets are delivered in the order they are sent.
The simplicity of the protocol means it is more robust than old, unmaintainable codebases, and can also be implemented relatively quickly. Despite its relatively young age, WireGuard is quickly gaining in popularity.
Starting From Scratch
While evaluating the potential value WireGuard could provide us, we first considered the existing implementations. Currently, there are three usable implementations
- The WireGuard kernel module - written in C, it Continue reading
“Companies that want to join to pay a $75,000 annual membership fee, and 100 percent goes to...
If this sounds familiar, it is. Amazon Web Services launched its edge storage and compute device in...
Decibel already invested in two startups: Blameless, a site reliability engineering (SRE) company...
The Kubernetes community does not view security as something tied to specific updates and instead...
The Pentagon is planning for a series of experiments later this year to learn more about...
China’s three mobile operators, China Mobile, China Telecom, and China Unicom, aim to be among...
New research from Ixia and Dimensional Research indicates that while enterprises are rapidly...