wireguard/wireguard-go

Mirror only. Official repository is at https://git.zx2c4.com/wireguard-go

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 31 minutes ago
Added to GitGenius on September 15th, 2026
Created on May 16th, 2018
Open Issues & Pull Requests: 33 (+0)
GitHub issues: Disabled - open counts may still include pull requests.
Number of forks: 1,679
Total Stargazers: 4,402 (+0)
Total Subscribers: 67 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

GitHub issues are disabled for this repository, so issue analytics and the issue explorer are not available.

Detailed Description

WireGuard-go is a userspace implementation of the WireGuard VPN protocol written in Go.

The project provides a way to run WireGuard without kernel modules, making it portable across different operating systems and architectures. It implements the full WireGuard protocol in userspace, allowing VPN functionality on systems where kernel-level implementation is unavailable or impractical. The approach trades some performance for portability and ease of deployment, since userspace implementations typically have higher overhead than kernel implementations but avoid the complexity of kernel module development and installation.

Developers should adopt WireGuard-go when targeting platforms where kernel WireGuard is unavailable, such as Windows, macOS, or embedded systems, or when the simplicity of a pure Go implementation outweighs performance considerations. It suits projects that need VPN capabilities as a library or embedded component rather than as a system service. The tool is particularly valuable for cross-platform applications that require consistent VPN behavior across multiple operating systems without managing separate kernel implementations.

The repository is a mirror of the official upstream source, meaning development activity and maintenance occur elsewhere. Users should expect that issues, pull requests, and active development discussions happen in the upstream repository rather than on GitHub. This mirror arrangement means the GitHub repository serves primarily as a read-only reference and distribution point rather than the primary development location.