Skip to content
Package wgctrl enables control of WireGuard interfaces on multiple platforms.
Branch: master
Clone or download
mdlayher go.mod: bump dependencies
Signed-off-by: Matt Layher <mdlayher@gmail.com>
Latest commit 89b2114 Jun 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.builds builds: explicitly set GOOS=windows for WINE build Jun 6, 2019
cmd/wgctrl wgtypes: add OpenBSD DeviceType, add String method May 15, 2019
internal internal/wguser: match wg(8) Windows token impersonation behavior Jun 6, 2019
wgtypes
.cibuild.sh cibuild: use apt, update packages first on Linux May 17, 2019
.gitignore .gitignore: ignore cmd/wgctrl/wgctrl Jul 24, 2018
CONTRIBUTING.md *: prepare for transfer to WireGuard organization May 13, 2019
LICENSE.md LICENSE: update for 2019 May 13, 2019
README.md README: note Windows support, modify in-kernel implementation wording May 15, 2019
client.go internal/wginternal, *: initial commit, deduplicate interfaces and un… May 13, 2019
client_integration_test.go wgctrl: bump integration test timeouts Jun 6, 2019
client_test.go internal/wginternal, *: initial commit, deduplicate interfaces and un… May 13, 2019
doc.go README: note Windows support, modify in-kernel implementation wording May 15, 2019
go.mod go.mod: bump dependencies Jun 14, 2019
go.sum go.mod: bump dependencies Jun 14, 2019
os_linux.go internal/wglinux: gracefully degrade if kernel implementation not ava… May 15, 2019
os_openbsd.go internal/openbsd: opt-in via envvar, gracefully degrade if unavailable May 15, 2019
os_userspace.go internal/openbsd: initial stub commit May 15, 2019

README.md

wgctrl builds.sr.ht status GoDoc 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

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.