TL;DR: vpn-client-manager started as a weekend fix for "which config am I even connected to right now" and grew into the control panel that thousands of Windows users now trust to run their VPN profiles.
Every long-time VPN user knows the pain: a folder full of .ovpn and .conf files, three different vendor apps fighting over your system tray, and no single place to see what's actually active. vpn-client-manager was born out of that exact frustration — a small internal tool for managing a stack of WireGuard and OpenVPN profiles across a home lab, cleaned up, polished, and shipped as a standalone desktop app. What began as a personal utility is now maintained by a growing crew of contributors who each brought their own itch to scratch: split-tunneling rules, kill-switch reliability, multi-profile switching, and a UI that doesn't look like it escaped 2009.
At its core, this project is a client-side orchestration layer for VPN connections — not a VPN service itself, but the cockpit that sits above whatever protocol or provider you already use. It reads your existing configuration files, understands their protocol (OpenVPN, WireGuard, IKEv2), and gives you one coherent interface to connect, monitor, and switch between them. There's no account to create, no telemetry phoning home, and no vendor lock-in — you bring your configs, we bring the control surface.
Who is this for? Power users juggling work and personal VPN profiles, self-hosters running their own WireGuard servers, privacy-conscious folks who refuse to install five separate vendor clients, and IT admins who need a lightweight tool they can hand to non-technical teammates without a support ticket. If you've ever right-clicked a .ovpn file wondering "what do I even do with this," vpn-client-manager is the answer.
TL;DR: import any config, connect in one click, and let the manager babysit the connection so you don't have to.
Tip
If you're migrating from a vendor-locked VPN app, you can usually drop your existing exported config straight into vpn-client-manager without re-authenticating.
-
Universal profile import — drag in
.ovpn,.conf, or.wgfiles and the app auto-detects the protocol, no manual field-mapping required. -
One-click connect/disconnect — every profile lives as a card in the dashboard; connecting is a single click, not a five-step wizard.
-
Live connection telemetry — real-time throughput, latency, and handshake status rendered right on the profile card, so you know instantly if a tunnel is actually healthy.
-
Automatic kill-switch — if the tunnel drops unexpectedly, outbound traffic is held until the connection is restored or you intervene, closing the leak window that plagues most lightweight clients.
-
Profile grouping & tagging — organize by purpose ("Work," "Streaming," "Home Lab") instead of scrolling through a flat list of cryptic filenames.
-
Split-tunnel rules editor — choose per-app or per-subnet routing without touching a routing table by hand.
-
Auto-reconnect with backoff — transient network hiccups no longer mean a manual reconnect; the manager retries intelligently and backs off if the server is genuinely down.
-
Session history log — a lightweight local log of connect/disconnect events, handy for diagnosing "why did my VPN drop at 3am" without external logging services.
TL;DR: visit the landing page, download the installer, run it, import your first profile — done.
-
Head to the project landing page using the download button above.
-
Grab the latest standalone build — no installer wizard nagging you about toolbars, just a clean Windows binary.
-
Launch
vpn-client-manager.exe. On first run it opens the empty dashboard and prompts you to import a profile. -
Drop in your
.ovpn,.conf, or.wgfile, hit Connect, and watch the status card go green.
Note
No account creation, no license key, no background service installer. It's a portable-friendly app by design.
TL;DR: any modern Windows machine, nothing extra to install.
| Requirement | Minimum |
|---|---|
| OS | Windows 10 (21H2+) or Windows 11 |
| RAM | 512 MB free |
| Disk space | ~60 MB |
| .NET dependency | None — fully self-contained |
| Admin rights | Only needed for kill-switch/routing features |
| Internet | Only for the VPN tunnels themselves |
TL;DR: import → parse → hand off to the native tunnel engine → monitor → report back to the UI.
The manager doesn't reinvent VPN protocols — it orchestrates the tunnel engines already trusted by the community (OpenVPN's connect logic, WireGuard's userspace implementation) and wraps them in a consistent lifecycle:
- Import — a config file is parsed and normalized into an internal profile schema.
- Validate — certificates, keys, and endpoints are sanity-checked before anything touches the network.
- Launch — the appropriate protocol engine is spawned as a supervised subprocess.
- Monitor — handshake status, throughput, and process health are polled continuously.
- Report — the dashboard UI reflects live state, and the kill-switch reacts to any anomaly.
flowchart LR
Import --> Validate
Validate --> Launch
Launch --> Monitor
Monitor --> Dashboard
Important
The kill-switch feature requires elevated permissions to modify routing rules. Run as administrator if you rely on it — the app will tell you clearly if it's missing the rights it needs.
TL;DR: most issues are permissions, firewall, or a stale config — rarely the app itself.
The app says "Connected" but I have no internet access.
This usually means the tunnel handshake succeeded but routing wasn't applied correctly. Check the split-tunnel rules for that profile — an overly broad exclusion rule can accidentally route everything around the tunnel.
Kill-switch won't enable.
Kill-switch needs administrator privileges to modify the Windows routing table. Right-click the executable and choose "Run as administrator," or enable "Always run elevated" in Settings.
My WireGuard profile imports but won't connect.
Double-check the endpoint's UDP port isn't blocked by your local firewall or ISP. vpn-client-manager will surface a handshake timeout in the session log if this is the case.
Auto-reconnect keeps looping without ever succeeding.
That's the backoff logic protecting you from hammering a dead server — check that the remote endpoint is actually reachable before assuming it's a client bug.
Can I run two profiles simultaneously?
Yes, as long as their routes don't conflict. The dashboard will warn you if two active tunnels would fight over the same default route.
TL;DR: dark/light themes, full keyboard control, and settings that stick.
-
Themes — Light, Dark, and an OLED-friendly "Midnight" theme that auto-switches with your Windows theme setting.
-
Keyboard shortcuts:
| Action | Shortcut |
|---|---|
| Connect/disconnect active profile | Ctrl+Enter |
| Quick-switch profile list | Ctrl+K |
| Open settings | Ctrl+, |
| Toggle kill-switch | Ctrl+Shift+K |
| Minimize to tray | Ctrl+M |
-
System tray integration — connection status shown via tray icon color, right-click menu for quick connect/disconnect without opening the main window.
-
Portable settings — configuration is stored in a local file next to the executable if you enable "Portable mode," ideal for USB-carried setups.
Warning
Portable mode stores profile credentials unencrypted next to the executable — only enable it on drives you trust and control physically.
TL;DR: good first issues are labeled, PRs are welcome, and the community is genuinely friendly.
vpn-client-manager grew this far because people who hit a rough edge stayed to fix it instead of just complaining in an issue. If that sounds like you:
-
Check the
good-first-issuelabel for approachable starting points — mostly UI polish, small parser edge cases, and documentation gaps. -
Open a discussion before large architectural changes — we'd rather talk it through than review 2,000 lines of surprise.
-
All skill levels welcome — triaging issues, writing docs, and testing on obscure Windows configs are just as valuable as code.
Tip
New to the codebase? Start with the /docs/architecture.md walkthrough and the profile-parser module — it's the friendliest entry point for understanding how everything connects.
We run a no-drama, no-gatekeeping contribution culture. Respectful disagreement over implementation details is welcome; hostility is not.
TL;DR: MIT, 2026, do what you want — just keep the notice.
This project is licensed under the MIT License. Fork it, embed it, ship it inside your own tooling — just carry the license notice along with you.
TL;DR: this is a client-side orchestration tool, not a VPN provider, and not a guarantee of anonymity.
vpn-client-manager does not provide VPN servers, endpoints, or network access of its own — it manages connections to VPN services you already have configured. Actual privacy and security depend on the protocol, provider, and configuration you use. The maintainers make no guarantees about network anonymity, geo-restriction handling, or fitness for any specific regulatory or compliance requirement. Use it responsibly and in accordance with your local laws and your VPN provider's terms of service.