P2PConnect is a Windows 11 focused P2P VPN MVP. The client owns the encrypted data plane and can run without the coordination server. The server only handles device discovery, metadata, heartbeats, and endpoint exchange.
crates/p2p-common: shared config, protocol models, identity, and AEAD helpers.crates/p2p-client-core: peer resolution, UDP tunnel core, route policy, virtual adapter abstraction.crates/p2p-service: Windows service/background daemon entrypoint.crates/p2p-server: coordination server with REST APIs and in-memory state.apps/desktop: Tauri desktop shell for Windows 11 users.
- Wintun-oriented virtual adapter boundary for Windows 11.
- End-to-end encrypted UDP tunnel sessions using X25519-derived AEAD keys.
- IPv4, IPv6, and domain endpoint resolution with IPv6 preference.
- Server-assisted discovery plus manual direct-peer configuration.
- Route policy model for full tunnel, split tunnel, and LAN forwarding.
- 4in6 packet policy: IPv4 inner packets can be carried over IPv6 peer endpoints.
- Optional startup mode via Windows Service start type.
Install Rust and Node.js first. Then:
cargo test --workspace
cargo run -p p2p-server -- --listen 127.0.0.1:8787
cargo run -p p2p-service -- --config .\examples\client.manual.jsonThe current repository was scaffolded in an environment without Rust installed, so compile verification needs to be run after installing the toolchain.