Windows πͺ VPN client β OpenVPN over WebSocket Secure (WSS)
DataGate is a native Windows desktop app that connects to your VPN backend and establishes an OpenVPN tunnel. Traffic can be carried over WebSocket Secure (WSS) from the machine to your server, which forwards it to the real OpenVPN server β so you can run OpenVPN behind HTTPS/WSS (e.g. nginx) and avoid direct UDP/TCP to the VPN port.
- UI (WinUI 3) handles Connect/Disconnect, status, settings, and logs; starts the Engine and attaches via IPC.
- Engine (native) is the single source of truth for VPN state: tunnel (Wintun), routes, DNS, OpenVPN3 core.
Details: Architecture (UI β Engine IPC). DNS incident history and Android connect inventory: docs/DNS_AND_CONNECT_HISTORY.md.
| Feature | Description |
|---|---|
| OpenVPN over WSS | Tunnel traffic over WebSocket Secure; no direct VPN port exposure. |
| WinUI 3 UI | System tray, Connect/Disconnect, status, logs, and settings. |
| Engine process | Separate native process; UI and tunnel lifecycle are independent (restart-safe). |
| Wintun | Uses Wintun driver for the VPN interface. |
- Windows 10 or 11
- Visual Studio 2022 (or compatible) with C++ and .NET workloads
- CMake (for OpenVPN3 / native build)
- Wintun driver (see
drivers/wintun)
OpenVPN on Windows can leave NRPT DNS rules behind if the engine is killed or the PC reboots while connected. DataGate cleans this on engine start and uninstall. If DNS is still broken:
engine\engine.exe --recover-dnsRun as Administrator from the install or portable folder. See docs/DNS_AND_CONNECT_HISTORY.md.
git clone <repo-url>
cd DataGateWinInitialize submodules and ensure Wintun is available (see drivers/wintun/README.md).
Build the solution (e.g. in Visual Studio) or use the projectβs build scripts. The result includes the UI app and the Engine native process; the installer (in DataGateWin.Installer) can package them for distribution.
| Path | Description |
|---|---|
| DataGateWin.WinUI/ | WinUI 3 application (shipping UI, IPC client). |
| DataGateWin.UI/ | Legacy WPF application (kept for reference). |
| engine/ | Native Engine process (OpenVPN3, WSS bridge, Wintun). |
| docs/ | Architecture notes (e.g. DNS incident history). |
| openvpn3/ | OpenVPN3 core (submodule or vendored). |
| drivers/ | Wintun and related drivers. |
| DataGateWin.Installer/ | WPF installer (download release ZIP, install, shortcuts). |
| assets/ | Logo and images for the repo (e.g. README). |
See LICENSE.md.
