Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wireguard/wgctrl-go
Package wgctrl enables control of WireGuard interfaces on multiple platforms.
https://github.com/wireguard/wgctrl-go
go golang linux networking wireguard
Last synced: about 22 hours ago
JSON representation
Package wgctrl enables control of WireGuard interfaces on multiple platforms.
- Host: GitHub
- URL: https://github.com/wireguard/wgctrl-go
- Owner: WireGuard
- License: mit
- Created: 2018-07-21T17:51:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-11T23:41:55.000Z (about 1 year ago)
- Last Synced: 2024-07-31T19:24:52.228Z (4 months ago)
- Topics: go, golang, linux, networking, wireguard
- Language: Go
- Homepage: https://godoc.org/golang.zx2c4.com/wireguard/wgctrl
- Size: 1.43 MB
- Stars: 734
- Watchers: 18
- Forks: 84
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# wgctrl [![Test Status](https://github.com/WireGuard/wgctrl-go/workflows/Linux%20Test/badge.svg)](https://github.com/WireGuard/wgctrl-go/actions) [![Go Reference](https://pkg.go.dev/badge/golang.zx2c4.com/wireguard/wgctrl.svg)](https://pkg.go.dev/golang.zx2c4.com/wireguard/wgctrl) [![Go Report Card](https://goreportcard.com/badge/golang.zx2c4.com/wireguard/wgctrl)](https://goreportcard.com/report/golang.zx2c4.com/wireguard/wgctrl)
Package `wgctrl` enables control of WireGuard devices on multiple platforms.
For more information on WireGuard, please see .
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 protocolAs 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](https://github.com/WireGuard/wgctrl-go/issues/new).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.