endpoint_options.go 944 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package wireguard
  2. import (
  3. "context"
  4. "net/netip"
  5. "time"
  6. "github.com/sagernet/sing-tun"
  7. "github.com/sagernet/sing/common/logger"
  8. M "github.com/sagernet/sing/common/metadata"
  9. N "github.com/sagernet/sing/common/network"
  10. )
  11. type EndpointOptions struct {
  12. Context context.Context
  13. Logger logger.ContextLogger
  14. System bool
  15. Handler tun.Handler
  16. UDPTimeout time.Duration
  17. Dialer N.Dialer
  18. CreateDialer func(interfaceName string) N.Dialer
  19. Name string
  20. MTU uint32
  21. Address []netip.Prefix
  22. PrivateKey string
  23. ListenPort uint16
  24. ResolvePeer func(domain string) (netip.Addr, error)
  25. Peers []PeerOptions
  26. Workers int
  27. }
  28. type PeerOptions struct {
  29. Endpoint M.Socksaddr
  30. PublicKey string
  31. PreSharedKey string
  32. AllowedIPs []netip.Prefix
  33. PersistentKeepaliveInterval uint16
  34. Reserved []uint8
  35. }