Skip to content
Package wgctrl enables control of WireGuard interfaces on multiple platforms.
Branch: master
Clone or download
mdlayher Merge pull request #62 from mullvad/master
Optimize merging device peers recieved over netlink
Latest commit 28f4e24 Jun 29, 2019

wgctrl status GoDoc Go Report Card

Package wgctrl enables control of WireGuard devices on multiple platforms.

For more information on WireGuard, please see

MIT Licensed.

go get


wgctrl can control multiple types of WireGuard devices, including:

  • Linux kernel module devices, via generic netlink
  • userspace devices (e.g. wireguard-go), via the userspace configuration protocol
    • both UNIX-like and Windows operating systems are supported

As new operating systems add support for in-kernel WireGuard implementations, this package should also be extended to support those native implementations.

If you are aware of any efforts on this front, please file an issue.

This package implements WireGuard configuration protocol operations, enabling the configuration of existing WireGuard devices. Operations such as creating WireGuard devices, or applying IP addresses to those devices, are out of scope for this package.

You can’t perform that action at this time.