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.