Documentation
¶
Index ¶
- type ActivityRecorder
- type Endpoint
- type ICEBind
- func (s *ICEBind) ActivityRecorder() *ActivityRecorder
- func (s *ICEBind) Close() error
- func (s *ICEBind) GetICEMux() (*udpmux.UniversalUDPMuxDefault, error)
- func (s *ICEBind) MTU() uint16
- func (s *ICEBind) Open(uport uint16) ([]wgConn.ReceiveFunc, uint16, error)
- func (b *ICEBind) RemoveEndpoint(fakeIP netip.Addr)
- func (b *ICEBind) Send(bufs [][]byte, ep wgConn.Endpoint) error
- func (b *ICEBind) SetEndpoint(fakeIP netip.Addr, conn net.Conn)
- type PeerRecord
- type RecvMessage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActivityRecorder ¶ added in v0.50.0
type ActivityRecorder struct {
// contains filtered or unexported fields
}
func NewActivityRecorder ¶ added in v0.50.0
func NewActivityRecorder() *ActivityRecorder
func (*ActivityRecorder) GetLastActivities ¶ added in v0.50.0
func (r *ActivityRecorder) GetLastActivities() map[string]monotime.Time
GetLastActivities returns a snapshot of peer last activity
func (*ActivityRecorder) Remove ¶ added in v0.50.0
func (r *ActivityRecorder) Remove(publicKey string)
func (*ActivityRecorder) UpsertAddress ¶ added in v0.50.0
func (r *ActivityRecorder) UpsertAddress(publicKey string, address netip.AddrPort)
UpsertAddress adds or updates the address for a publicKey
type Endpoint ¶ added in v0.30.3
type Endpoint = wgConn.StdNetEndpoint
type ICEBind ¶
type ICEBind struct {
*wgConn.StdNetBind
RecvChan chan RecvMessage
// contains filtered or unexported fields
}
ICEBind is a bind implementation with two main features: 1. filter out STUN messages and handle them 2. forward the received packets to the WireGuard interface from the relayed connection
ICEBind.endpoints var is a map that stores the connection for each relayed peer. Fake address is just an IP address without port, in the format of 127.1.x.x where x.x is the last two octets of the peer address. We try to avoid to use the port because in the Send function the wgConn.Endpoint the port info is not exported.
func NewICEBind ¶
func (*ICEBind) ActivityRecorder ¶ added in v0.50.0
func (s *ICEBind) ActivityRecorder() *ActivityRecorder
func (*ICEBind) GetICEMux ¶
func (s *ICEBind) GetICEMux() (*udpmux.UniversalUDPMuxDefault, error)
GetICEMux returns the ICE UDPMux that was created and used by ICEBind