Download

VPN Works comes ready-built for Linux and macOS: one program, vpnw, with its built-in plugins inside it. The license files and the README come with it.

System Download
Linux, x86-64 vpnw_linux_amd64.tar.gz
Linux, ARM64 vpnw_linux_arm64.tar.gz
macOS, Apple silicon vpnw_darwin_arm64.tar.gz
macOS, Intel vpnw_darwin_amd64.tar.gz
Checksums SHA256SUMS

These links always point to the newest release, now 0.4.0. Past releases and their notes are on the releases page.

Install

On Linux:

curl -LO https://github.com/VPNWorks/vpnw/releases/latest/download/vpnw_linux_amd64.tar.gz
curl -LO https://github.com/VPNWorks/vpnw/releases/latest/download/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
tar -xzf vpnw_linux_amd64.tar.gz ./vpnw
./vpnw doctor

The Linux binaries are static, so they run on any distribution with nothing else installed. vpnw doctor checks whether this machine can run sealed programs and starts the plugin host to make sure it works.

On a Mac, use the darwin archive and shasum -a 256 -c SHA256SUMS --ignore-missing to check it. The binaries aren’t signed by Apple, so macOS may stop them the first time; xattr -d com.apple.quarantine vpnw lets them run.

Then the quick start.

What Runs Where

Linux macOS
Sealed runs, guard, Guard plugins yes no
run and trace for programs that honor proxy settings yes yes
WireGuard, proxy and direct paths yes yes
learn, advise, plugin commands yes yes

Nothing needs root. The WireGuard path in particular runs inside vpnw, so it needs no kernel module and no network interface.

From Source

git clone https://github.com/VPNWorks/vpnw
cd vpnw
sh tools/build-plugins.sh
go build -o vpnw ./cmd/vpnw

Go 1.24 or later. tools/build-plugins.sh builds the built-in plugins to WebAssembly before vpnw embeds them; the same source gives the same bytes.