WireGuard

    WireGuard/wireguard-go

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

    backend
    Go
    MIT
    4.5K stars
    1.7K forks
    67 GitHub watchers
    Updated Nov 5, 2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    Loading star history...

    Where it stands

    Rank, growth pace and release cadence relative to everything GStars tracks.

    The project lists 38 contributors on GitHub.

    Gained 17% more stars in the last 90 days than in the 90 days before.

    Use Cases & Benefits

    • Implements the WireGuard VPN protocol in Go for cross-platform network tunneling.
    • Enables WireGuard functionality on platforms without native kernel support, providing portability and ease of deployment.
    • Use for creating secure VPN tunnels on macOS where kernel modules are unavailable.
    • Use for running WireGuard on FreeBSD or OpenBSD systems with user-space networking support.
    • Use for integrating WireGuard VPN capabilities into Go-based applications or custom network tools.

    Should you depend on it?

    License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.

    License

    MIT

    Permissive: commercial use, modification and redistribution are allowed with attribution.

    Community files

    • README: present

    Watch-outs

    • No GitHub releases; pin a commit or tag instead of a release.

    General guidance from repository metadata, not legal advice. How we score

    From the README

    This is an implementation of WireGuard in Go.

    Most Linux kernel WireGuard users are used to adding an interface with ip link add wg0 type wireguard. With wireguard-go, instead simply run:

    This will create an interface and fork into the background. To remove the interface, use the usual ip link del wg0, or if your system does not support removing interfaces directly, you may instead remove the control socket via rm -f /var/run/wireguard/wg0.sock, which will result in wireguard-go shutting down.

    To run wireguard-go without forking to the background, pass -f or --foreground:

    When an interface is running, you may use wg(8) to configure it, as well as the usual ip(8) and ifconfig(8) commands.

    To run with more logging you may set the environment variable LOG_LEVEL=debug.

    Excerpt from the WireGuard/wireguard-go README on GitHub (MIT license). © its authors.Read the full README on GitHub

    Daily snapshots

    Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots

    Forks

    1.7K+99

    Open issues

    34+1

    Compared with peers in Backend

    Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth

    WireGuard/wireguard-go compared with Backend repositories by stars, 7-day star growth, health score and last release
    RepositoryStars+7dHealthLast release
    anthropics/skills187.8K+2.9K15—
    DuarteSantos8/openGym19.7K+2.4K602 days ago
    shiyu-coder/Kronos47.0K+2.3K16—
    NationalSecurityAgency/ghidra98.2K+2.3K6414 days ago
    microsoft/VibeVoice56.0K+1.1K29—
    WireGuard/wireguard-go4.5K—28—
    Category median56.0K+2.3K29—

    Discover Repositories

    Search across tracked repositories by name or description