New userspace Rust implementation of Wireguard forked, AltunTun
Once a upon a time there was a boring tun…
2 min readJun 29, 2024
There are some userspace implementations of Wireguard, among them:
- wireguard-go: A cross-platform userspace implementation of WireGuard in Go, maintained by Jason A. Donenfeld.
- wireguard-rs: A cross-platform high-performance userspace implementation of WireGuard in Rust, maintained by Mathias Hall-Andersen.
- BoringTun: A non-compliant, independent WireGuard implementation written in Rust by Cloudflare.
- wireguard-android: The Android client of WireGuard, maintained by Jason A. Donenfeld and Harsh Shandilya.
- wireguard-apple: The macOS and iOS client of WireGuard, maintained by Jason A. Donenfeld.
- wireguard-windows: The Windows client of WireGuard, maintained by Jason A. Donenfeld and Simon Rozman.
- wireguard-nt: The WireGuard implementation for the Windows NT kernel, maintained by Jason A. Donenfeld and Simon Rozman.
I created Cableguard (Wireguard + Blockchain authentication) using Boringtun as a starting point. While it proved very useful, I found some problems with Boringtun:
- When BoringTun can´t create the file boringtun.out when starting…