Categorygithub.com/atsevan/wireguard-grpc
module
0.0.1
Repository: https://github.com/atsevan/wireguard-grpc.git
Documentation: pkg.go.dev

# README

Wireguard gRPC Service

Wireguard gRPC aimed at managing Wireguard configurations. The service gives a control over Wireguard setup via gRPC using native client without parsing output of wireguard-tools like wg and wg-quick.

Client example is at client/main.go

Build

Run the server with mTLS

make cert  # generate localhost certs for mutual authentication (mTLS)
make build  # build a binary
sudo ./wireguard-grpc  # run the server

Run the client

go run client/main.go

Development

Run without TLS

# go run server/main.go -insecure  # run the server w/o TLS
$ go run client/main.go -insecure  # run the client w/o TLS

Explore API with grpcurl

$ grpcurl -plaintext localhost:8080 describe WireGuard
WireGuard is a service:
service WireGuard {
  rpc ConfigureDevice ( .ConfigureDeviceRequest ) returns ( .ConfigureDeviceResponse );
  rpc Device ( .DeviceRequest ) returns ( .DeviceResponse );
  rpc Devices ( .DevicesRequest ) returns ( .DevicesResponse );
}

# Packages

No description provided by the author
No description provided by the author
No description provided by the author