VXVX Docs

WireGuard

DeviceConfig and PeerConfig

Proto: protos/proto/vx/proxy/wireguard/config.proto

WireGuard is configured as an outbound DeviceConfig (no separate *ServerConfig in this proto).

DeviceConfig

FieldTypeDescription
secretKeystringLocal private key
endpointstring[]Endpoint host(s)
peersPeerConfig[]Remote peers
mtuint32Interface MTU
numWorkersint32Worker count
reservedbytesWireGuard reserved bytes (3)
isClientboolClient mode
noKernelTunboolUserspace tun only

PeerConfig

FieldDescription
publicKeyPeer public key
preSharedKeyOptional PSK
endpointPeer endpoint host:port
keepAlivePersistent keepalive (seconds)
allowedIpsAllowed IP CIDRs for this peer
{
  "@type": "type.googleapis.com/vx.proxy.wireguard.DeviceConfig",
  "secretKey": "...",
  "isClient": true,
  "peers": [
    {
      "publicKey": "...",
      "endpoint": "vpn.example.com:51820",
      "allowedIps": ["0.0.0.0/0", "::/0"]
    }
  ]
}

Comments