Versions in this module Expand all Collapse all v1 v1.0.9 Apr 19, 2024 v1.0.8 Apr 13, 2024 Changes in this version type DeviceConfig + CheckAlive []netip.Addr + CheckAliveInterval int type VirtualTun + Conf *DeviceConfig + Dev *device.Device + PingRecord map[string]uint64 + func (d VirtualTun) ServeHTTP(w http.ResponseWriter, r *http.Request) + func (d VirtualTun) StartPingIPs() v1.0.7 Feb 11, 2024 Changes in this version + func ParseInterface(cfg *ini.File, device *DeviceConfig) error + func ParsePeers(cfg *ini.File, peers *[]PeerConfig) error + func STDIOTcpForward(vt *VirtualTun, raddr *addressPort) + 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 + Endpoint []netip.Addr + ListenPort *int + MTU int + Peers []PeerConfig + SecretKey string + type DeviceSetting struct + type HTTPConfig struct + BindAddress string + Password string + Username string + func (config *HTTPConfig) SpawnRoutine(vt *VirtualTun) + type HTTPServer struct + func (s *HTTPServer) ListenAndServe(network, addr string) error + type PeerConfig struct + AllowedIPs []netip.Prefix + Endpoint *string + KeepAlive int + PreSharedKey string + PublicKey string + type RoutineSpawner interface + SpawnRoutine func(vt *VirtualTun) + type STDIOTunnelConfig struct + Target string + func (conf *STDIOTunnelConfig) SpawnRoutine(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 + SystemDNS bool + Tnet *netstack.Net + func StartWireguard(conf *DeviceConfig, logLevel int) (*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)