doc.go 1.3 KB

1234567891011121314151617181920212223242526272829
  1. // Package wgctrl enables control of WireGuard devices on multiple platforms.
  2. //
  3. // For more information on WireGuard, please see https://www.wireguard.com/.
  4. //
  5. // go get golang.zx2c4.com/wireguard/wgctrl
  6. //
  7. //
  8. // Overview
  9. //
  10. // wgctrl can control multiple types of WireGuard devices, including:
  11. //
  12. // - Linux kernel module devices, via generic netlink
  13. // - userspace devices (e.g. wireguard-go), via the userspace configuration protocol
  14. // - both UNIX-like and Windows operating systems are supported
  15. // - **Experimental:** OpenBSD kernel module devices, via ioctl interface
  16. // See <https://git.zx2c4.com/wireguard-openbsd/about/> for details. Specify
  17. // environment variable WGCTRL_OPENBSD_KERNEL=1 to enable this interface.
  18. //
  19. // As new operating systems add support for in-kernel WireGuard implementations,
  20. // this package should also be extended to support those native implementations.
  21. //
  22. // If you are aware of any efforts on this front, please file an issue:
  23. // https://github.com/WireGuard/wgctrl-go/issues/new.
  24. //
  25. // This package implements WireGuard configuration protocol operations, enabling
  26. // the configuration of existing WireGuard devices. Operations such as creating
  27. // WireGuard devices, or applying IP addresses to those devices, are out of scope
  28. // for this package.
  29. package wgctrl // import "golang.zx2c4.com/wireguard/wgctrl"