43 lines
1.6 KiB
Markdown
43 lines
1.6 KiB
Markdown
# 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](https://rustup.rs/) (Stable channel)
|
|
- **Administrator/Root Privileges**: Required to create the virtual TUN interface.
|
|
|
|
### Setup
|
|
1. **Clone the repository**
|
|
2. **Build the client**:
|
|
```bash
|
|
cargo build --release
|
|
```
|
|
3. **Install TUN Driver**:
|
|
- **Windows**: Install `Wintun` (bundled with the installer).
|
|
- **macOS**: Grant permissions for the Network Extension.
|
|
- **Linux**: Ensure the `tun` module is loaded (`modprobe tun`).
|
|
|
|
## Usage
|
|
|
|
1. **Start the Client**:
|
|
```bash
|
|
./target/release/meshvpn-client
|
|
```
|
|
2. **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").
|
|
3. **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.
|