flexaccess.dev / ezvpn
ezvpn
The easy-setup VPN for reaching private networks.
- Access level
- IP routing — whole subnets, any protocol
- Privileges
- Root / Administrator (creates the network interface)
- Tunnel modes
- Split or full, dual-stack IPv4 + IPv6
- Server exposure
- No public IP, no open inbound port
ezvpn creates a virtual network interface and routes IP packets — IPv4, IPv6, or both — through an encrypted QUIC connection. By default it runs as a split tunnel, carrying only the private prefixes you need, though it can full-tunnel everything when you want it to. Clients dial the server by its stable endpoint identity, so the server needs no public IP and no open inbound port: hole punching finds a direct path through NAT, and an encrypted relay carries traffic when it can't.
There is no VPN subnet to plan, either. The server assigns client addresses dynamically, so nothing has to be kept collision-free by hand, as long as the number of connected devices fits the subnet's address space. A typical deployment is a small ezvpn server inside a private network — an AWS VPC, a homelab — that clients join temporarily to reach private resources.
How it works
your device ══ IP packets over encrypted QUIC ══▶ ezvpn server ──▶ private subnet (TUN iface) NAT traversal · relay fallback (no open port) any protocol
Features
No inbound ports
Clients dial a stable endpoint identity — no port forwarding, no dynamic DNS, and it works from behind CGNAT.
No subnet planning
Client VPN addresses are assigned dynamically by the server, so there are no static IPs to keep collision-free.
Minimal setup
Generate a server key and an auth token, and you're done. Each client needs only the server's ID and that token as a shared secret — no certificates, no PKI.
Dual stack
Run the tunnel over IPv4, IPv6, or both at once — clients receive an address in each family the server enables.
End-to-end encrypted
Traffic rides QUIC with TLS 1.3 from client to server. Relays that carry it can't decrypt it.
Auto-reconnect
Keep-alive and idle-timeout health checks re-establish the tunnel when the path drops.
Apps & repos
- client and server CLIezvpn
The core — command-line client and server for Linux / macOS / Windows.
- iOS / macOS GUI clientezvpn-apple
The native GUI client for the ezvpn server — an iOS and macOS SwiftUI app with a packet-tunnel extension and multiple saved profiles.
- Windows GUI clientezvpn-windows
The native GUI client for the ezvpn server — a WinUI 3 desktop app driving the same core.
Good for
- Private cloud subnets — instances in private or egress-only VPC subnets
- Home-hosted servers behind dynamic IPs, NAT, or CGNAT
- Temporary split-tunnel access without standing VPN infrastructure