ZTUNNEL // DESKTOP VPN CLIENT

// Tunnelblick port · Tauri v2 · cyberpunk HUD · OpenVPN + WireGuard

Engineering Report Source

ztunnel is a from-scratch desktop VPN client in Rust — a clean-room rewrite of Tunnelblick's feature set as a Tauri v2 app behind a cyberpunk HUD. It drives OpenVPN (the system openvpn binary + its management interface, the faithful Tunnelblick model) and WireGuard (a native pure-Rust data path) — a superset of Tunnelblick's OpenVPN-only scope. The VPN logic is the embeddable ztunnel-core engine; this app is the thin GUI host. This project is in active development.

Two Protocols

OpenVPN via the system binary + management interface, and WireGuard via a native Rust data path — one connection manager, one HUD.

Embeddable Core

All VPN logic lives in ztunnel-core; the app registers ztn_invoke and mounts the engine's webui. The same engine embeds in other hosts.

Cyberpunk HUD

Connection list with live status, throughput readout, log viewer, command palette, and the shared embedded terminal — all CSP-safe.

Honest Status

Tunnels need root; until the privileged helper lands, connect reports a needs_privilege state. Nothing here claims a working capability not yet in the codebase.

Two-layer split

The desktop app (this repo) is the Tauri v2 shell, cyberpunk HUD front-end and action-to-engine wiring. The VPN engine (ztunnel-core) is the embeddable logic — config parsing, the connection manager, the OpenVPN/WireGuard backends, logs and stats — decoupled from any GUI and reusable by other hosts.

Where it goes next

See the engineering report for the build layout and roadmap, the ztunnel-core engine for the command surface and Tunnelblick port coverage, and the MenkeTechnologiesMeta umbrella for the wider stack.