mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-28 19:13:31 +01:00
0c039274a4
This update adds new relay integration for NetBird clients. The new relay is based on web sockets and listens on a single port. - Adds new relay implementation with websocket with single port relaying mechanism - refactor peer connection logic, allowing upgrade and downgrade from/to P2P connection - peer connections are faster since it connects first to relay and then upgrades to P2P - maintains compatibility with old clients by not using the new relay - updates infrastructure scripts with new relay service
13 lines
690 B
Go
13 lines
690 B
Go
/*
|
|
Package client contains the implementation of the Relay client.
|
|
|
|
The Relay client is responsible for establishing a connection with the Relay server and sending and receiving messages,
|
|
Keep persistent connection with the Relay server and handle the connection issues.
|
|
It uses the WebSocket protocol for communication and optionally supports TLS (Transport Layer Security).
|
|
|
|
If a peer wants to communicate with a peer on a different relay server, the manager will establish a new connection to
|
|
the relay server. The connection with these relay servers will be closed if there is no active connection. The peers
|
|
negotiate the common relay instance via signaling service.
|
|
*/
|
|
package client
|