wgc

package
v1.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EnvWgCommand  = "WG_COMMAND"
	EnvWgHideKeys = "WG_HIDE_KEYS"
)

Variables

This section is empty.

Functions

func ByteCountIEC

func ByteCountIEC(b int64) string

func ParseKey

func ParseKey(key string) (wgtypes.Key, error)

ParseKey parses the base64 encoded wireguard private key

func Show

func Show(opts *WgShowOptions) ([]string, error)

Types

type Config

type Config 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
}

Config represents full wg-quick like config structure

func (*Config) MarshalText

func (cfg *Config) MarshalText() (text []byte, err error)

func (*Config) String

func (cfg *Config) String() string

func (*Config) UnmarshalText

func (cfg *Config) UnmarshalText(text []byte) error

type WgShowOptions

type WgShowOptions struct {
	Interface string
	Option    string
	ShowKeys  bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL