wgcfg
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Overview¶
Package wgcfg has types and a parser for representing WireGuard config.
Index¶
Constants¶
This section is empty.
Variables¶
This section is empty.
Functions¶
Types¶
typeConfig¶
type Config struct {PrivateKeykey.NodePrivateAddresses []netip.PrefixMTUuint16DNS []netip.AddrPeers []Peer// NetworkLogging enables network logging.// It is disabled if either ID is the zero value.// LogExitFlowEnabled indicates whether or not exit flows should be logged.NetworkLogging struct {NodeIDlogid.PrivateIDDomainIDlogid.PrivateIDLogExitFlowEnabledbool}}Config is a WireGuard configuration.It only supports the set of things Tailscale uses.
funcFromUAPI¶
FromUAPI generates a Config from r.r should be generated by calling device.IpcGetOperation;it is not compatible with other uapi streams.
func (*Config)Clone¶added inv1.10.0
Clone makes a deep copy of Config.The result aliases no memory with the original.
func (Config)PeerWithKey¶
func (configConfig) PeerWithKey(kkey.NodePublic) (Peer,bool)
PeerWithKey returns the Peer with key k and reports whether it was found.
func (*Config)ToUAPI¶
ToUAPI writes cfg in UAPI format to w.Prev is the previous device Config.
Prev is required so that we can remove now-defunct peers without having toremove and re-add all peers, and so that we can avoid writing informationabout peers that have not changed since the previous time we wrote ourConfig.
typeParseError¶
type ParseError struct {// contains filtered or unexported fields}func (*ParseError)Error¶
func (e *ParseError) Error()string
typePeer¶
type Peer struct {PublicKeykey.NodePublicDiscoKeykey.DiscoPublic// present only so we can handle restarts within wgengine, not passed to WireGuardAllowedIPs []netip.PrefixV4MasqAddr *netip.Addr// if non-nil, masquerade IPv4 traffic to this peer using this addressV6MasqAddr *netip.Addr// if non-nil, masquerade IPv6 traffic to this peer using this addressIsJailedbool// if true, this peer is jailed and cannot initiate connectionsPersistentKeepaliveuint16// in seconds between keep-alives; 0 to disable// wireguard-go's endpoint for this peer. It should always equal Peer.PublicKey.// We represent it explicitly so that we can detect if they diverge and recover.// There is no need to set WGEndpoint explicitly when constructing a Peer by hand.// It is only populated when reading Peers from wireguard-go.WGEndpointkey.NodePublic}