1.6 KiB
1.6 KiB
MeshVPN Client
The MeshVPN Client creates a secure, peer-to-peer overlay network on your machine. It uses WireGuard encryption and UDP hole punching to connect you to other peers without needing manual port forwarding.
Features
- Zero-Config Connection: Connect using a simple Network Key.
- Cross-Platform: Supports Windows, macOS, and Linux.
- Secure E2EE: End-to-end encryption powered by the Noise Protocol.
- Automatic NAT Traversal: Bypasses firewalls using STUN and UDP hole punching.
Installation
Prerequisites
- Rust (Stable channel)
- Administrator/Root Privileges: Required to create the virtual TUN interface.
Setup
- Clone the repository
- Build the client:
cargo build --release - Install TUN Driver:
- Windows: Install
Wintun(bundled with the installer). - macOS: Grant permissions for the Network Extension.
- Linux: Ensure the
tunmodule is loaded (modprobe tun).
- Windows: Install
Usage
- Start the Client:
./target/release/meshvpn-client - Configure Your Node:
- Network Key: Enter the shared key provided by your network administrator.
- User Name: Enter your preferred display name (e.g., "My-Laptop").
- Connect: The client will automatically discover the coordinator, register your node, and start discovering peers.
Troubleshooting
- Permission Denied: Ensure you are running the client as Administrator (Windows) or using
sudo(Linux/macOS). - Cannot Connect: Check if UDP port 3478 (STUN) and 50051 (Coordinator) are reachable from your network.