Documentation ¶
Index ¶
- func ExecCommand(command string, logger *device.Logger) ([]byte, error)
- func GetUapi(iface string, logger *device.Logger, errs chan error) (*wgctrl.Client, *wgtypes.Device)
- func ParseKey(key string) (wgtypes.Key, error)
- type IPPool
- type WGPool
- func (w *WGPool) AddPoolPeer(subdomain string, publicKey wgtypes.Key, ipAddress net.IP)
- func (w *WGPool) AddPoolPeerByPubKey(publicKey wgtypes.Key)
- func (w *WGPool) CleanUpStalePeers(keepAliveDuration time.Duration, onStaleF onStale)
- func (w *WGPool) GetPeerAddressBySubdomain(subdomain string) net.IP
- func (w *WGPool) GetPoolPeerByPubKey(pubkey wgtypes.Key) *WGPoolPeer
- func (w *WGPool) HasSubdomain(subdomain string) bool
- type WGPoolPeer
- type WgQuickConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type IPPool ¶
type IPPool struct {
// contains filtered or unexported fields
}
func (*IPPool) CurrentIPMask ¶
func (*IPPool) GetStartingIP ¶
type WGPool ¶
type WGPool struct {
// contains filtered or unexported fields
}
func (*WGPool) AddPoolPeer ¶
func (*WGPool) AddPoolPeerByPubKey ¶
func (*WGPool) CleanUpStalePeers ¶
func (*WGPool) GetPeerAddressBySubdomain ¶
func (*WGPool) GetPoolPeerByPubKey ¶
func (w *WGPool) GetPoolPeerByPubKey(pubkey wgtypes.Key) *WGPoolPeer
func (*WGPool) HasSubdomain ¶
type WGPoolPeer ¶
type WGPoolPeer struct {
// contains filtered or unexported fields
}
func (*WGPoolPeer) PublicKey ¶
func (W *WGPoolPeer) PublicKey() wgtypes.Key
type WgQuickConfig ¶
type WgQuickConfig struct { wgtypes.Config // Address list of IP (v4 or v6) addresses (optionally with CIDR masks) to be assigned to the interface. May be specified multiple times. Address []net.IPNet // list of IP (v4 or v6) addresses to be set as the interface’s DNS servers. May be specified multiple times. Upon bringing the interface up, this runs ‘resolvconf -a tun.INTERFACE -m 0 -x‘ and upon bringing it down, this runs ‘resolvconf -d tun.INTERFACE‘. If these particular invocations of resolvconf(8) are undesirable, the PostUp and PostDown keys below may be used instead. DNS []net.IP // MTU is automatically determined from the endpoint addresses or the system default route, which is usually a sane choice. However, to manually specify an MTU to override this automatic discovery, this value may be specified explicitly. MTU int // Table — Controls the routing table to which routes are added. Table int // PreUp, PostUp, PreDown, PostDown — script snippets which will be executed by bash(1) before/after setting up/tearing down the interface, most commonly used to configure custom DNS options or firewall rules. The special string ‘%i’ is expanded to INTERFACE. Each one may be specified multiple times, in which case the commands are executed in order. PreUp string PostUp string PreDown string PostDown string // RouteProtocol to set on the route. See linux/rtnetlink.h Use value > 4 or default 0 RouteProtocol int // RouteMetric sets this metric on all managed routes. Lower number means pick this one RouteMetric int // Address label to set on the link AddressLabel string // SaveConfig — if set to ‘true’, the configuration is saved from the current state of the interface upon shutdown. // Currently unsupported SaveConfig bool }
WgQuickConfig represents full wg-quick like config structure
func (*WgQuickConfig) MarshalText ¶
func (cfg *WgQuickConfig) MarshalText() (text []byte, err error)
func (*WgQuickConfig) String ¶
func (cfg *WgQuickConfig) String() string
func (*WgQuickConfig) UnmarshalText ¶
func (cfg *WgQuickConfig) UnmarshalText(text []byte) error
Click to show internal directories.
Click to hide internal directories.