Shortwire: The smallest VPN that connects two computers via the Internet
shortwire is a minimal VPN daemon for Linux that enables secure peer-to-peer connections by creating a virtual NIC, requiring installation of `libwebsockets` and a 16-byte encryption key.
Read original articleshortwire is a minimal VPN daemon designed for Linux that facilitates a peer-to-peer (P2P) connection between two computers. It creates a virtual Network Interface Card (NIC) that allows applications such as SSH, NFS, and HTTP servers to utilize the P2P connection seamlessly while ensuring packet encryption for security. To install shortwire, users must have the `libwebsockets` library and follow specific build steps using Git and Meson. The installation process involves cloning the repository, setting up the build environment, and compiling the project. For usage, users need to generate a 16-byte encryption key and place it on both the server and client machines. The server is initiated with a command that includes the username and server address, while the client is started with similar parameters. Successful execution on both ends results in the creation of NICs with designated IP addresses. Connectivity can be verified by pinging the respective IP addresses from each machine. This setup provides a secure VPN connection between two Linux systems.
- shortwire is a minimal VPN daemon for Linux that enables P2P connections.
- It creates a virtual NIC for applications to use the P2P connection transparently.
- Installation requires `libwebsockets` and involves cloning the repository and building the project.
- Users must generate a 16-byte encryption key for secure communication.
- Successful setup allows for secure communication between two Linux machines.
Related
The key exchange is simply an XOR of the pre-shared key with the session key instead of a proper key wrapping, there's no chaining mode specified for the AES encryption as far as I can see and perhaps most critically none of the data is authenticated.
A great example of "don't roll your own crypto".
It may not perfect, but I think it's a lot better.