Open Source · MIT

KUVPN

VPN client for Koç University. Automates Azure AD / MFA login and establishes your VPN tunnel seamlessly.

Install KUVPN GitHub Releases

One command to install

Paste the command into a terminal. The installer handles GUI, CLI, and OpenConnect.

$

Everything you need, nothing you don't

Built for Koç University students and staff who just want the VPN to work.

Graphical App

KUVPN

Lives in your system tray. Connect with one click, watch the status circle go green, and forget it's even running. Designed for everyday desktop use.

  • Tray menu & status icons that match your connection state
  • Auto-pops to the front when MFA needs your attention
  • Live console, connection history, and 20 themes built in
GUI documentation →
Command-line Tool

kuvpn

A single static binary with zero runtime dependencies. Perfect for SSH sessions, scripts, and power users who live in the terminal.

  • Static binary — no runtime, no install friction
  • Scriptable flags including --dsid to print the cookie for piping
  • Same auto-reconnect, history, and saved sessions as the GUI
CLI documentation →
Built on OpenConnect

KUVPN uses OpenConnect — the battle-tested, widely-audited open-source VPN client trusted by millions — to establish the actual tunnel. KUVPN handles the Azure AD authentication; OpenConnect does the rest.

Fully Open Source

Every line of KUVPN is public on GitHub under the MIT license. Inspect it, fork it, contribute to it — no black boxes.

Hands-Free Sign-In

Automated browser walks through the full Azure AD flow — email, password, Authenticator push, number matching, and OTP fallback when push isn't available.

Number Matching, Front and Centre

When Microsoft asks you to type a code into Authenticator, KUVPN brings the window forward and shows the code in big, readable text — no scrambling for your phone.

Auto Reconnect

Watches the VPN interface itself, not just the OpenConnect process. Reconnects up to 3 times if the tunnel drops, and quietly clears stale sessions when the gateway rejects them.

Conflict Detection

Refuses to start if another full-tunnel VPN is already routing your traffic (e.g. a Tailscale exit node) — no more confusing half-connected states.

Tunnel Modes

Full tunnel routes everything through the university VPN. Manual mode accepts your own vpnc-script for split tunneling and custom DNS.

Connection History

Past sessions with timestamps, durations, and reconnect counts — visible in the GUI History tab or via kuvpn --history.

20 Themes

Ten color families — Crimson, Slate, Ocean, Forest, Rose, Violet, Ember, Frost, Sand, Pebble — each with light and dark variants, plus rounding and shadow controls.

System Tray Access

One-click connect, disconnect, wipe session, or copy logs from the tray menu. The icon updates with your current connection state.


See it in action

Dark Themes
Light Themes
Graphical App — KUVPN
GUI Main window (Connected)
GUI Connection history
GUI App Settings
GUI MFA Authentication
GUI Email Automation
GUI Live session logs
Command-line Tool — kuvpn
CLI Established tunnel
CLI Connection progress
CLI MFA input prompt
CLI Session history
CLI Session management
CLI Disconnected state

Runs everywhere you do

Native packages for all major platforms. No virtual machine needed.

Linux

AppImage (GUI) and static musl binary (CLI). Runs on any modern distro.

x86_64 aarch64

macOS

DMG app bundle (GUI) and universal CLI binary.

Intel Apple Silicon

Windows

Bundled installer — OpenConnect included, no extra setup needed.

x86_64