vdionisopoulos/nordvpn-linux-gateway-panel — explained in plain English
Analysis updated 2026-05-18
Route a smart TV or game console through NordVPN without changing settings on every other device in the house.
Manage which devices use the VPN through a simple web panel instead of the command line.
Ensure devices lose internet access rather than leak traffic if the VPN connection drops.
Run a validation smoke test after installing or updating the gateway to confirm it still works.
| vdionisopoulos/nordvpn-linux-gateway-panel | alhajashafffy/shellsafe | brettkinny/tower-dashboard | |
|---|---|---|---|
| Stars | 14 | 14 | 14 |
| Language | Shell | Shell | Shell |
| Setup difficulty | hard | easy | moderate |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | ops devops | ops devops | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires a dedicated Ubuntu Server VM with a fixed LAN IP, bridged networking, and an already authenticated NordVPN CLI login.
This project turns an Ubuntu Linux machine into a small network gateway that routes specific devices, like a smart TV, tablet, or game console, through a NordVPN connection, while leaving the rest of your home network untouched. It includes a web panel you can open from a browser on your local network to add or remove devices by their IP address, switch which country NordVPN connects through, and check whether the gateway is healthy. The gateway sits between your router and the devices you want protected. Those devices point to the Ubuntu machine as their gateway and DNS server. Traffic from managed devices is routed through a dedicated routing table that sends it out through NordVPN's NordLynx tunnel, and a local DNS proxy makes sure DNS lookups also travel through the VPN rather than leaking out normally. If the VPN tunnel ever goes down, the system is designed to fail closed, meaning managed devices simply lose connectivity rather than silently falling back to an unprotected connection. Setting it up requires an Ubuntu Server machine with systemd, nftables, Python 3, and a fixed IP address on the same local network as the devices you want to protect, plus an already authenticated NordVPN Linux client. The installer configures the required NordVPN settings automatically, such as enabling its own routing and firewall while turning off its built in kill switch, since this project provides its own per-device fail-closed protection instead. Installation is a single script run with root privileges, with optional environment variables to customize the network interface, gateway IP, web panel port, admin credentials, and default VPN country. The project also includes an update script that backs up configuration files before making changes and can roll back automatically if an update fails, plus a smoke test script to verify the gateway is working correctly, including an optional test that intentionally disconnects and reconnects the VPN to confirm the fail-closed behavior actually works. The web panel supports both English and Greek, detected automatically from the browser. Documentation covering the DNS design, NordVPN authentication handling, and a release checklist is included in the repository.
A self-hosted Ubuntu gateway with a web panel that routes chosen home devices through NordVPN, with fail-closed protection if the VPN drops.
Mainly Shell. The stack also includes Shell, Ubuntu, nftables.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.