Installation¶
One-line installer¶
It detects your package manager (opkg or apk), asks it for the CPU architecture, pulls the
matching package from the latest GitHub release, and installs it. On a 32-bit router (arm, i386,
mips, mipsel) it first checks for musl 1.2, i.e. OpenWrt 22.03 or later, and stops with a message
if the firmware is older.
Manual install¶
Find your architecture¶
Download and install¶
Grab the matching package from GitHub Releases:
After installing¶
Check the daemon came up and the CLI can reach it:
NymVPN appears in the LuCI navigation menu at your router's web interface (usually
http://192.168.1.1). If the page loads but every action fails with "No related RPC reply",
see Troubleshooting — GL.iNet
routers need port 8080.
If you installed from the LuCI Software page, LuCI asks you to log in again a few seconds after the install finishes — the package restarts rpcd so the new page and its permissions load. Log in and the menu entry is there.
You need a Nym account before you can connect. Quick Start covers that.
Upgrading¶
The package registers its own feed at install time, so both commands find the new version. The
LuCI Software page (System → Software, update lists, then upgrade nym-vpn) works as well.
Either way the tunnel drops while the daemon is replaced. If the upgrade changed the web UI's
permissions, LuCI asks you to log in again a few seconds after it finishes; that is expected.
Firmware upgrades¶
sysupgrade (and LuCI's Flash new firmware image with Keep settings checked) keeps
/etc/config/nym-vpn and /etc/nym, the account and the daemon settings. The package itself is
not part of a stock image, so install it again after flashing; it picks up the same account and
settings, the kill-switch included.
Dependencies¶
Pulled in automatically:
| Package | Why |
|---|---|
libc |
musl libc, 1.2 or newer on the 32-bit architectures (OpenWrt 22.03+) |
libgcc |
GCC runtime (libgcc_s.so.1) the binaries link against |
kmod-tun |
TUN device — userspace WireGuard needs it |
kmod-ipt-conntrack-extra |
conntrack marking for inbound exemptions on fw3 |
luci-base |
LuCI web framework |
rpcd |
RPC backend the LuCI app talks to |
Uninstall¶
Removing the package keeps /etc/nym: the account (the device keys and any tickets not used
yet) and the daemon settings. Installing it again picks up the same account. To erase them too:
If the package database is broken and you have to do it by hand:
/etc/init.d/nym-vpnd stop
/etc/init.d/nym-vpnd disable
rm -f /usr/sbin/nym-vpnd /usr/bin/nym-vpnc
rm -rf /www/luci-static/resources/view/nym-vpn
rm -rf /www/luci-static/resources/nym-vpn
rm -f /usr/libexec/rpcd/nym-vpn
rm -f /etc/init.d/nym-vpnd
rm -f /usr/share/luci/menu.d/luci-app-nym-vpn.json
rm -f /usr/share/rpcd/acl.d/luci-app-nym-vpn.json
rm -f /lib/upgrade/keep.d/nym-vpn
/etc/init.d/rpcd restart
Stop the daemon first. The init script tears down the kill-switch firewall table on stop; delete the binary out from under a running daemon and you can be left with no internet.