wg

package
v0.0.216-pre-1 Latest Latest
Warning

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

Go to latest
Published: May 6, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	LocalPrivateKey PrivateKey `toml:"local_private_key"`
	LocalNetwork    *IPNet     `toml:"local_network"`

	RemotePublicKey PublicKey `toml:"remote_public_key"`
	RemoteNetwork   *IPNet    `toml:"remote_network"`

	Endpoint  string `toml:"endpoint"`
	DNS       net.IP `toml:"dns"`
	KeepAlive int    `toml:"keepalive"`
	MTU       int    `toml:"mtu"`
	LogLevel  int    `toml:"log_level"`
}

type IPNet

type IPNet net.IPNet

func (*IPNet) MarshalText

func (n *IPNet) MarshalText() ([]byte, error)

func (*IPNet) String

func (n *IPNet) String() string

func (*IPNet) UnmarshalText

func (n *IPNet) UnmarshalText(text []byte) error

type PrivateKey

type PrivateKey device.NoisePrivateKey

func (PrivateKey) MarshalText

func (pk PrivateKey) MarshalText() ([]byte, error)

func (PrivateKey) ToHex

func (pk PrivateKey) ToHex() string

func (*PrivateKey) UnmarshalText

func (pk *PrivateKey) UnmarshalText(text []byte) error

type PublicKey

type PublicKey device.NoisePublicKey

func (PublicKey) MarshalText

func (pk PublicKey) MarshalText() ([]byte, error)

func (PublicKey) ToHex

func (pk PublicKey) ToHex() string

func (*PublicKey) UnmarshalText

func (pk *PublicKey) UnmarshalText(text []byte) error

type Tunnel

type Tunnel struct {
	// contains filtered or unexported fields
}

func Connect

func Connect(cfg Config) (*Tunnel, error)

func (*Tunnel) Close

func (t *Tunnel) Close() error

func (*Tunnel) DialContext

func (t *Tunnel) DialContext(ctx context.Context, network, addr string) (net.Conn, error)

func (*Tunnel) Resolver

func (t *Tunnel) Resolver() *net.Resolver

type WireGuardState added in v0.0.216

type WireGuardState struct {
	Org          string
	Name         string
	Region       string
	LocalPublic  string
	LocalPrivate string
	DNS          string
	Peer         api.CreatedWireGuardPeer
}

func (*WireGuardState) TunnelConfig added in v0.0.216

func (s *WireGuardState) TunnelConfig() *Config

BUG(tqbf): Obviously all this needs to go, and I should just make my code conform to the marshal/unmarshal protocol wireguard-go uses, but in the service of landing this feature, I'm just going to apply a layer of spackle for now.

Notes

Bugs

  • Obviously all this needs to go, and I should just make my code conform to the marshal/unmarshal protocol wireguard-go uses, but in the service of landing this feature, I'm just going to apply a layer of spackle for now.

  • for now, we never manage tunnels for different organizations, and while this comment is eating more space than the code I'd need to do this right, it's more fun to type, so we just hardcode.

  • I think this dance just because these needed to parse for Ben's TOML code.

Jump to

Keyboard shortcuts

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