myrelay
A self-hosted WireGuard VPN toolkit, written in Go: no account system, no cloud dependency, no subscription.
- Site
- myrelay.to
- Repository
- github.com/PositiveControl/myrelay
The project
Set up a private VPN server, add a peer with one command, and hand out a QR code. A CLI, vpnctl, writes the peer config; an agent watches it and syncs the WireGuard peers. It runs standalone on one server, or managed from a control plane API, and ships a Terraform example for Hetzner Cloud.
At a glance
- Role
- Creator and maintainer
- Stack
- Go, WireGuard, SQLite, Terraform
- Status
- In development
How it was built
It started with Algo. Since 2016, personal VPNs had run on Algo, Trail of Bits' scripts for setting up a WireGuard and IPsec VPN in the cloud; myrelay was built as an updated replacement.
Built in March 2026 in direct commits, from the control plane and agent to the vpnctl CLI and SQLite persistence. In August it was hardened through four small pull requests, each tied to a bd issue: an idempotent stop that waits for teardown, a seam for injecting the WireGuard command runner, a fix so teardown never removes the node-wide NAT rule, and the tests that use the seam.