Source Code Repositories and Official Projects

WireGuard is divided into several sub-projects and repositories. The following is a list of official and supported WireGuard projects, along with their status and maintainer. Most repositories are hosted on git.zx2c4.com using free software, though some are hosted on GitHub, at the preference of the maintainer.

Repositories have an associated status:

The project accepts contributions through a variety of means, depending on the preference of the maintainer:

Similar to the policies of kernel.org, patches submitted should have a Signed-off-by: line, which can be automatically added via git commit -s, and we also generally prefer patches that use your full name.

Repository Description Maintainer Status Contrib
WireGuard Main WireGuard repository. Contains the Linux kernel module in src/, the wg(8) and wg-quick(8) programs in src/tools/, and a host of useful utilities and scripts in contrib/. Jason A. Donenfeld Complete ,
wireguard-rs Cross-platform high-performance userspace implementation of WireGuard in Rust. Mathias Hall-Andersen Active ,
wireguard-go Cross-platform userspace implementation of WireGuard in Golang. Jason A. Donenfeld Complete ,
wireguard-hs Sketches of WireGuard in Haskell. Abandoned
wireguard-openbsd OpenBSD kernel implementation of WireGuard. Matt Dunwoodie Active ,
wireguard-android Android client of WireGuard. Jason A. Donenfeld / Samuel Holland Complete ,
android_kernel_wireguard Tools for integrating WireGuard into Android ROM builds and kernel trees. Jason A. Donenfeld Complete ,
wireguard-apple macOS and iOS client of WireGuard. Jason A. Donenfeld / Roopesh Chandler Complete ,
wireguard-windows Windows client of WireGuard. Jason A. Donenfeld Complete ,
wireguard-tamarin Tamarin proof of WireGuard. Kevin Milner / Jason A. Donenfeld Complete ,
wintun Layer 3 TUN driver for the Windows kernel and NDIS stack. Jason A. Donenfeld Complete ,
wg-dynamic Dynamic configuration daemons to be layered ontop of WireGuard. Thomas Gschwantner Active ,
wgctrl-go Library for programatic control of WireGuard instances in Golang. Matt Layher Complete
zinc Next-generation cryptography library for the Linux kernel. Jason A. Donenfeld / Samuel Neves Complete ,
kbench9000 In-kernel cryptography measurement module. Jason A. Donenfeld Active ,

Would you like to add your WireGuard-related project to the list and join our team? Feel free to get in touch.