bind

package
v0.1.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2025 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bind

type Bind interface {
	SetEndpoint(addr netip.Addr, conn net.Conn)
	RemoveEndpoint(addr netip.Addr)
	ReceiveFromEndpoint(ctx context.Context, ep *bind.Endpoint, buf []byte)
}

type ProxyBind

type ProxyBind struct {
	// contains filtered or unexported fields
}

func NewProxyBind

func NewProxyBind(bind Bind, mtu uint16) *ProxyBind

func (*ProxyBind) AddTurnConn

func (p *ProxyBind) AddTurnConn(ctx context.Context, nbAddr *net.UDPAddr, remoteConn net.Conn) error

AddTurnConn adds a new connection to the bind. endpoint is the Nirvati Connect address of the remote peer. The SetEndpoint return with the address what will be used in the WireGuard configuration.

Parameters:

  • ctx: Context is used for proxyToLocal to avoid unnecessary error messages
  • nbAddr: The Nirvati Connect UDP address of the remote peer, it required to generate fake address
  • remoteConn: The established TURN connection to the remote peer

func (*ProxyBind) CloseConn

func (p *ProxyBind) CloseConn() error

func (*ProxyBind) EndpointAddr

func (p *ProxyBind) EndpointAddr() *net.UDPAddr

func (*ProxyBind) Pause

func (p *ProxyBind) Pause()

func (*ProxyBind) RedirectAs

func (p *ProxyBind) RedirectAs(endpoint *net.UDPAddr)

func (*ProxyBind) SetDisconnectListener

func (p *ProxyBind) SetDisconnectListener(disconnected func())

func (*ProxyBind) Work

func (p *ProxyBind) Work()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL