Documentation
¶
Index ¶
- func NewClientEndpoint(ctx context.Context, router adapter.Router, logger log.ContextLogger, ...) (adapter.Endpoint, error)
- func NewDNSTransport(ctx context.Context, logger log.ContextLogger, tag string, ...) (adapter.DNSTransport, error)
- func NewServerEndpoint(ctx context.Context, router adapter.Router, logger log.ContextLogger, ...) (adapter.Endpoint, error)
- func RegisterDNSTransport(registry *boxDNS.TransportRegistry)
- func RegisterEndpoint(registry *endpoint.Registry)
- type ClientEndpoint
- func (c *ClientEndpoint) AttachReturn(returnPath tun.Return) error
- func (c *ClientEndpoint) CancelChallenge(challengeID string) error
- func (c *ClientEndpoint) Close() error
- func (c *ClientEndpoint) CompleteChallenge(challengeID string, response adapter.OpenVPNChallengeResponse) error
- func (c *ClientEndpoint) DetachReturn(returnPath tun.Return) error
- func (c *ClientEndpoint) DialContext(ctx context.Context, network string, destination M.Socksaddr) (net.Conn, error)
- func (c *ClientEndpoint) InterfaceUpdated(ctx context.Context)
- func (c *ClientEndpoint) JudgeFlow(network uint8, source netip.AddrPort, destination netip.AddrPort, ...) tun.FlowVerdict
- func (c *ClientEndpoint) ListenPacket(ctx context.Context, destination M.Socksaddr) (net.PacketConn, error)
- func (c *ClientEndpoint) ListenPacketWithDestination(ctx context.Context, destination M.Socksaddr) (net.PacketConn, netip.Addr, error)
- func (c *ClientEndpoint) NewConnectionEx(ctx context.Context, conn net.Conn, source M.Socksaddr, ...)
- func (c *ClientEndpoint) NewDNSPacket(payload []byte, source M.Socksaddr, destination M.Socksaddr, ...)
- func (c *ClientEndpoint) NewPacketConnectionEx(ctx context.Context, conn N.PacketConn, source M.Socksaddr, ...)
- func (c *ClientEndpoint) OpenVPNStatus() adapter.OpenVPNStatus
- func (c *ClientEndpoint) PortAddresses() (netip.Addr, netip.Addr)
- func (c *ClientEndpoint) PortMTU() uint32
- func (c *ClientEndpoint) PreMatchFlow(network string, destination netip.Addr) adapter.PreMatchAction
- func (c *ClientEndpoint) PreferredAddress(metadata *adapter.InboundContext, address netip.Addr) bool
- func (c *ClientEndpoint) PreferredDomain(metadata *adapter.InboundContext, domain string) bool
- func (c *ClientEndpoint) Start(stage adapter.StartStage) error
- func (c *ClientEndpoint) StatusUpdated() <-chan struct{}
- func (e *ClientEndpoint) SupportsFlow(network string) bool
- func (c *ClientEndpoint) WritePackets(packets [][]byte) error
- type DNSTransport
- func (t *DNSTransport) Close() error
- func (t *DNSTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*mDNS.Msg, error)
- func (t *DNSTransport) ExchangeAsync(ctx context.Context, message *mDNS.Msg, ...)
- func (t *DNSTransport) PreferredDomain(domain string) bool
- func (t *DNSTransport) Raw() bool
- func (t *DNSTransport) Reset()
- func (t *DNSTransport) Start(stage adapter.StartStage) error
- type ServerEndpoint
- func (s *ServerEndpoint) AttachReturn(returnPath tun.Return) error
- func (s *ServerEndpoint) Close() error
- func (s *ServerEndpoint) DetachReturn(returnPath tun.Return) error
- func (s *ServerEndpoint) DialContext(ctx context.Context, network string, destination M.Socksaddr) (net.Conn, error)
- func (s *ServerEndpoint) JudgeFlow(network uint8, source netip.AddrPort, destination netip.AddrPort, ...) tun.FlowVerdict
- func (s *ServerEndpoint) ListenPacket(ctx context.Context, destination M.Socksaddr) (net.PacketConn, error)
- func (s *ServerEndpoint) ListenPacketWithDestination(ctx context.Context, destination M.Socksaddr) (net.PacketConn, netip.Addr, error)
- func (s *ServerEndpoint) NewConnectionEx(ctx context.Context, conn net.Conn, source M.Socksaddr, ...)
- func (s *ServerEndpoint) NewDNSPacket(payload []byte, source M.Socksaddr, destination M.Socksaddr, ...)
- func (s *ServerEndpoint) NewPacketConnectionEx(ctx context.Context, conn N.PacketConn, source M.Socksaddr, ...)
- func (s *ServerEndpoint) PortAddresses() (netip.Addr, netip.Addr)
- func (s *ServerEndpoint) PortMTU() uint32
- func (s *ServerEndpoint) PreMatchFlow(network string, destination netip.Addr) adapter.PreMatchAction
- func (s *ServerEndpoint) Start(stage adapter.StartStage) error
- func (e *ServerEndpoint) SupportsFlow(network string) bool
- func (s *ServerEndpoint) WritePackets(packets [][]byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewClientEndpoint ¶
func NewDNSTransport ¶
func NewDNSTransport(ctx context.Context, logger log.ContextLogger, tag string, options option.OpenVPNDNSServerOptions) (adapter.DNSTransport, error)
func NewServerEndpoint ¶
func RegisterDNSTransport ¶
func RegisterDNSTransport(registry *boxDNS.TransportRegistry)
func RegisterEndpoint ¶
Types ¶
type ClientEndpoint ¶
type ClientEndpoint struct {
// contains filtered or unexported fields
}
func (*ClientEndpoint) AttachReturn ¶
func (c *ClientEndpoint) AttachReturn(returnPath tun.Return) error
func (*ClientEndpoint) CancelChallenge ¶
func (c *ClientEndpoint) CancelChallenge(challengeID string) error
func (*ClientEndpoint) Close ¶
func (c *ClientEndpoint) Close() error
func (*ClientEndpoint) CompleteChallenge ¶
func (c *ClientEndpoint) CompleteChallenge(challengeID string, response adapter.OpenVPNChallengeResponse) error
func (*ClientEndpoint) DetachReturn ¶
func (c *ClientEndpoint) DetachReturn(returnPath tun.Return) error
func (*ClientEndpoint) DialContext ¶
func (*ClientEndpoint) InterfaceUpdated ¶
func (c *ClientEndpoint) InterfaceUpdated(ctx context.Context)
func (*ClientEndpoint) ListenPacket ¶
func (c *ClientEndpoint) ListenPacket(ctx context.Context, destination M.Socksaddr) (net.PacketConn, error)
func (*ClientEndpoint) ListenPacketWithDestination ¶
func (c *ClientEndpoint) ListenPacketWithDestination(ctx context.Context, destination M.Socksaddr) (net.PacketConn, netip.Addr, error)
func (*ClientEndpoint) NewConnectionEx ¶
func (*ClientEndpoint) NewDNSPacket ¶
func (c *ClientEndpoint) NewDNSPacket(payload []byte, source M.Socksaddr, destination M.Socksaddr, writer N.PacketWriter)
func (*ClientEndpoint) NewPacketConnectionEx ¶
func (c *ClientEndpoint) NewPacketConnectionEx(ctx context.Context, conn N.PacketConn, source M.Socksaddr, destination M.Socksaddr, onClose N.CloseHandlerFunc)
func (*ClientEndpoint) OpenVPNStatus ¶
func (c *ClientEndpoint) OpenVPNStatus() adapter.OpenVPNStatus
func (*ClientEndpoint) PortAddresses ¶
func (c *ClientEndpoint) PortAddresses() (netip.Addr, netip.Addr)
func (*ClientEndpoint) PortMTU ¶
func (c *ClientEndpoint) PortMTU() uint32
func (*ClientEndpoint) PreMatchFlow ¶
func (c *ClientEndpoint) PreMatchFlow(network string, destination netip.Addr) adapter.PreMatchAction
func (*ClientEndpoint) PreferredAddress ¶
func (c *ClientEndpoint) PreferredAddress(metadata *adapter.InboundContext, address netip.Addr) bool
func (*ClientEndpoint) PreferredDomain ¶
func (c *ClientEndpoint) PreferredDomain(metadata *adapter.InboundContext, domain string) bool
func (*ClientEndpoint) Start ¶
func (c *ClientEndpoint) Start(stage adapter.StartStage) error
func (*ClientEndpoint) StatusUpdated ¶
func (c *ClientEndpoint) StatusUpdated() <-chan struct{}
func (*ClientEndpoint) SupportsFlow ¶
func (*ClientEndpoint) WritePackets ¶
func (c *ClientEndpoint) WritePackets(packets [][]byte) error
type DNSTransport ¶
type DNSTransport struct {
boxDNS.TransportAdapter
// contains filtered or unexported fields
}
func (*DNSTransport) Close ¶
func (t *DNSTransport) Close() error
func (*DNSTransport) ExchangeAsync ¶
func (*DNSTransport) PreferredDomain ¶
func (t *DNSTransport) PreferredDomain(domain string) bool
func (*DNSTransport) Raw ¶
func (t *DNSTransport) Raw() bool
func (*DNSTransport) Reset ¶
func (t *DNSTransport) Reset()
func (*DNSTransport) Start ¶
func (t *DNSTransport) Start(stage adapter.StartStage) error
type ServerEndpoint ¶
type ServerEndpoint struct {
// contains filtered or unexported fields
}
func (*ServerEndpoint) AttachReturn ¶
func (s *ServerEndpoint) AttachReturn(returnPath tun.Return) error
func (*ServerEndpoint) Close ¶
func (s *ServerEndpoint) Close() error
func (*ServerEndpoint) DetachReturn ¶
func (s *ServerEndpoint) DetachReturn(returnPath tun.Return) error
func (*ServerEndpoint) DialContext ¶
func (*ServerEndpoint) ListenPacket ¶
func (s *ServerEndpoint) ListenPacket(ctx context.Context, destination M.Socksaddr) (net.PacketConn, error)
func (*ServerEndpoint) ListenPacketWithDestination ¶
func (s *ServerEndpoint) ListenPacketWithDestination(ctx context.Context, destination M.Socksaddr) (net.PacketConn, netip.Addr, error)
func (*ServerEndpoint) NewConnectionEx ¶
func (*ServerEndpoint) NewDNSPacket ¶
func (s *ServerEndpoint) NewDNSPacket(payload []byte, source M.Socksaddr, destination M.Socksaddr, writer N.PacketWriter)
func (*ServerEndpoint) NewPacketConnectionEx ¶
func (s *ServerEndpoint) NewPacketConnectionEx(ctx context.Context, conn N.PacketConn, source M.Socksaddr, destination M.Socksaddr, onClose N.CloseHandlerFunc)
func (*ServerEndpoint) PortAddresses ¶
func (s *ServerEndpoint) PortAddresses() (netip.Addr, netip.Addr)
func (*ServerEndpoint) PortMTU ¶
func (s *ServerEndpoint) PortMTU() uint32
func (*ServerEndpoint) PreMatchFlow ¶
func (s *ServerEndpoint) PreMatchFlow(network string, destination netip.Addr) adapter.PreMatchAction
func (*ServerEndpoint) Start ¶
func (s *ServerEndpoint) Start(stage adapter.StartStage) error
func (*ServerEndpoint) SupportsFlow ¶
func (*ServerEndpoint) WritePackets ¶
func (s *ServerEndpoint) WritePackets(packets [][]byte) error
Click to show internal directories.
Click to hide internal directories.