leonnicolas 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
..
internal 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
wgtypes 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
.cibuild.sh 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
.gitignore 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
CONTRIBUTING.md 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
LICENSE.md 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
README.md 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
client.go 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
doc.go 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
os_linux.go 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
os_openbsd.go 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
os_userspace.go 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago
os_windows.go 6a696e03e7 migrate to golang.zx2c4.com/wireguard/wgctrl (#239) 4 years ago

README.md

wgctrl Test Status Go Reference Go Report Card

Package wgctrl enables control of WireGuard devices on multiple platforms.

For more information on WireGuard, please see https://www.wireguard.com/.

MIT Licensed.

go get golang.zx2c4.com/wireguard/wgctrl

Overview

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
  • Experimental: OpenBSD kernel module devices (read-only), via ioctl interface

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.