Wormhole is an application for the flexible creation of p2p (peer-to-peer) networks between users using webrtc technology and open servers running this technology. The signaling server in this case is various applications, such as telegram, by which signaling messages can be delivered between users. Solutions based on other technologies can also act as a signaling server. All signaling messages are encrypted using the openssl library and are therefore either inaccessible or inaccessible.
Wormhole involves networking for private use, such as:
- Gaining access to a home LAN.
- Creating a local network for playing online games together.
- Client and server users register with a signaling server, e.g.
telegrambot.
The client and server can be different devices of the same user.
- Client and server users add each other to the whitelists of users with whom they are allowed to communicate.
This also exchanges the public part of the sync-key and creates specific settings for this user.
- The client requests a connection to the host.
Messages are exchanged via the signaling server.
-
Programs on the users' computers verify each other's certificates and connection settings. The programs also negotiate the webrtc servers used to establish the connection.
-
The connection is established through the selected servers.
-
A virtual device emulating a local network is created for the convenience of users.
System level diagram
Container diagram
Component diagram
TODO


