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-linux WireGuard for the Linux kernel. Commits in the devel branch are staged for the upstream net-next tree, and commits in the stable branch are staged for the upstream net tree. Commits in the backport-5.4.y are rebased against Greg KH's stable 5.4.y branch, and provide a backport of WireGuard for that older stable kernel. Jason A. Donenfeld Complete ,
wireguard-tools Cross-platform userspace tools to configure WireGuard implementations, such as the wg(8) and wg-quick(8) programs, alongside useful other programs in contrib/. Jason A. Donenfeld Complete ,
wireguard-linux-compat Backports of the WireGuard kernel module for Linux to 3.10 ≤ kernel ≤ 5.5.y, as an out-of-tree module. 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 Go. Jason A. Donenfeld Complete ,
wireguard-hs Sketches of WireGuard in Haskell. Abandoned
wireguard-openbsd OpenBSD kernel implementation of WireGuard. Matt Dunwoodie Active ,
wireguard-freebsd FreeBSD kernel implementation of WireGuard. Jason A. Donenfeld Active ,
wireguard-android Android client of WireGuard. Jason A. Donenfeld / Harsh Shandilya Complete ,
android_kernel_wireguard Tools for integrating WireGuard into Android ROM builds and kernel trees. Jason A. Donenfeld Complete ,
android-wireguard-module-builder Builder for modules for various Android devices. Nathan Chancellor Active
wireguard-apple macOS and iOS client of WireGuard. Jason A. Donenfeld Complete ,
wireguard-windows Windows client of WireGuard. Jason A. Donenfeld / Simon Rozman Complete ,
wireguard-nt WireGuard implementation for the Windows NT kernel. Jason A. Donenfeld / Simon Rozman 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 / Simon Rozman Complete ,
wg-dynamic Dynamic configuration daemons to be layered on top of WireGuard. Thomas Gschwantner Active ,
wireguard-vyatta-ubnt Module, tools, and Vyatta integration for Ubiquiti devices. Pascal Vorwerk Complete
wgctrl-go Library for programmatic control of WireGuard instances in Go. 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.