Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Proxy ¶
type Proxy interface { AddTurnConn(urnConn net.Conn) (net.Addr, error) CloseConn() error Free() error }
Proxy is a transfer layer between the Turn connection and the WireGuard
type WGEBPFProxy ¶
type WGEBPFProxy struct {
// contains filtered or unexported fields
}
WGEBPFProxy definition for proxy with EBPF support
func NewWGEBPFProxy ¶
func NewWGEBPFProxy(wgPort int) *WGEBPFProxy
NewWGEBPFProxy create new WGEBPFProxy instance
func (*WGEBPFProxy) AddTurnConn ¶
AddTurnConn add new turn connection for the proxy
func (*WGEBPFProxy) CloseConn ¶
func (p *WGEBPFProxy) CloseConn() error
CloseConn doing nothing because this type of proxy implementation does not store the connection
func (*WGEBPFProxy) Listen ¶
func (p *WGEBPFProxy) Listen() error
Listen load ebpf program and listen the proxy
type WGUserSpaceProxy ¶
type WGUserSpaceProxy struct {
// contains filtered or unexported fields
}
WGUserSpaceProxy proxies
func NewWGUserSpaceProxy ¶
func NewWGUserSpaceProxy(wgPort int) *WGUserSpaceProxy
NewWGUserSpaceProxy instantiate a user space WireGuard proxy
func (*WGUserSpaceProxy) AddTurnConn ¶
AddTurnConn start the proxy with the given remote conn
func (*WGUserSpaceProxy) CloseConn ¶
func (p *WGUserSpaceProxy) CloseConn() error
CloseConn close the localConn
func (*WGUserSpaceProxy) Free ¶
func (p *WGUserSpaceProxy) Free() error
Free doing nothing because this implementation of proxy does not have global state
Click to show internal directories.
Click to hide internal directories.