Skip to content

Package wgctrl enables control of WireGuard interfaces on multiple platforms.

License

Notifications You must be signed in to change notification settings

WireGuard/wgctrl-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a9ab227 · Dec 31, 2024
Dec 31, 2024
Apr 29, 2023
May 15, 2019
Dec 31, 2024
Dec 31, 2024
Dec 31, 2024
Jul 24, 2018
Nov 4, 2022
Nov 4, 2022
Nov 4, 2022
May 4, 2021
Nov 4, 2022
Dec 7, 2021
Nov 4, 2022
Dec 31, 2024
Dec 31, 2024
Nov 4, 2022
Sep 27, 2021
Sep 27, 2021
Nov 4, 2022
Sep 27, 2021

Repository files navigation

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.

Overview

wgctrl can control multiple types of WireGuard devices, including:

  • Kernel module devices
    • Linux: via generic netlink
    • FreeBSD: via ioctl interface
    • OpenBSD: via ioctl interface (read-only)
    • Windows: via ioctl interface
  • Userspace devices via the userspace configuration protocol

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.