endpoint_options.go 963 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. GSO bool
  22. Address []netip.Prefix
  23. PrivateKey string
  24. ListenPort uint16
  25. ResolvePeer func(domain string) (netip.Addr, error)
  26. Peers []PeerOptions
  27. Workers int
  28. }
  29. type PeerOptions struct {
  30. Endpoint M.Socksaddr
  31. PublicKey string
  32. PreSharedKey string
  33. AllowedIPs []netip.Prefix
  34. PersistentKeepaliveInterval uint16
  35. Reserved []uint8
  36. }