Files
meshvpn/client
jkortisandClaude Code bd2e9dbff4
Build and Release Windows Client / build (push) Failing after 48s
fix: complete rewrite of all client source files for clean compilation
- Rewrite noise.rs with correct snow 0.9 Builder API (was using non-existent types)
- Add noise.rs to git tracking (root cause of persistent E0583)
- Remove old src/noise.rs from repo root (was in wrong location)
- Fix tun.rs: restore std::io::{Read, Write} imports, rename methods to avoid conflict
- Fix coordinator_client.rs: use GrpcCoordinatorClient to avoid naming collision
- Fix main.rs: rename mock gRPC module to coordinator::grpc, add mock method impls
- Fix transport.rs: use send_to() instead of send(), avoid self borrow in spawned task
- Add tokio net/sync/time features to Cargo.toml

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-01 00:19:50 -04:00
..

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

  1. Clone the repository
  2. Build the client:
    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:
    ./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.