Open-source AWS Client VPN — without the proprietary client

Native SAML/SSO for Linux and Android — including headless servers and CI/CD pipelines

v1.0.4 Linux · v1.0.1 Android · GTK4 GUI · relay v1.0.4 · FC43/44/rawhide · amd64/arm64/ppc64le

What's included

🔐

Full SAML / SSO

Complete CRV1 challenge flow — Okta, Azure AD, Google Workspace, any AWS-supported IdP.

working
🐧

Native Linux CLI

Statically linked binary. No Mono, no Java, no Electron. Pure Go — zero runtime dependencies.

working
🖥️

GTK4 Desktop GUI

libadwaita app for GNOME. Profile importer, connection status, tray icon. Ships as an RPM.

working
📱

Android App

Pure Go VPN core via gomobile — no NDK, no JNI. SAML auth in-app via Chrome Custom Tab.

working
⚙️

Relay — Headless Auth

CI/CD runners and remote VMs can't open a browser. Relay lets a human approve VPN auth from their phone with one tap. Demo available — no account required.

v1.0.4
📦

Fedora COPR

Fully reproducible builds. No prebuilt blobs. Fedora COPR packages for FC43/44/rawhide on three architectures.

working
🔒

Security Hardened

Relay backend passes full OWASP audit: token auth on every endpoint, per-user ownership checks, payload limits, and CloudWatch alerting on auth failures.

v1.0.4

Relay — VPN auth for CI/CD and headless servers

AWS Client VPN requires a browser for SAML authentication — fine on a developer laptop, impossible on a CI runner or a remote VM behind NAT. The Relay bridges the gap: the headless agent registers, a human approves from their phone, the tunnel comes up. Zero credentials stored in CI. Try it instantly with the public demo token.

Native GTK4 Desktop GUI

A clean libadwaita app that lives in your GNOME tray. Import a profile, click Connect — SAML opens in your browser, the tunnel comes up, and the tray icon turns red. Includes a Relay screen to approve headless agent connections from the same app.

openlawsvpn GTK4 GUI showing idle and connected states with Relay screen