Versions in this module Expand all Collapse all v1 v1.0.3 Aug 18, 2022 Changes in this version + func ParseInterface(cfg *ini.File, device *DeviceConfig) error + func ParsePeer(cfg *ini.File, device *DeviceConfig) error + func TCPAddrFromAddrPort(addr netip.AddrPort) *net.TCPAddr + type Configuration struct + Device *DeviceConfig + Routines []RoutineSpawner + func ParseConfig(path string) (*Configuration, error) + type CredentialValidator struct + func (c CredentialValidator) Valid(username, password string) bool + type DeviceConfig struct + DNS []netip.Addr + KeepAlive int + MTU int + PeerEndpoint string + PeerPublicKey string + PreSharedKey string + SelfEndpoint []netip.Addr + SelfSecretKey string + type DeviceSetting struct + type RoutineSpawner interface + SpawnRoutine func(vt *VirtualTun) + type Socks5Config struct + BindAddress string + Password string + Username string + func (config *Socks5Config) SpawnRoutine(vt *VirtualTun) + type TCPClientTunnelConfig struct + BindAddress *net.TCPAddr + Target string + func (conf *TCPClientTunnelConfig) SpawnRoutine(vt *VirtualTun) + type TCPServerTunnelConfig struct + ListenPort int + Target string + func (conf *TCPServerTunnelConfig) SpawnRoutine(vt *VirtualTun) + type VirtualTun struct + func StartWireguard(conf *DeviceConfig) (*VirtualTun, error) + func (d VirtualTun) LookupAddr(ctx context.Context, name string) ([]string, error) + func (d VirtualTun) Resolve(ctx context.Context, name string) (context.Context, net.IP, error) + func (d VirtualTun) ResolveAddrWithContext(ctx context.Context, name string) (*netip.Addr, error)