System tray application for managing SonicWall NetExtender VPN connections on Linux.
Wraps the nxcli command-line tool in a tray icon with menus for connecting, disconnecting, and managing saved connections.
- Connect/disconnect to saved VPN connections
- View connection status (server, protocol)
- Add, edit, and delete saved connections
- Password prompt via zenity
- Single static binary (~7MB) with embedded icon
Runtime:
- NetExtender with
nxcliinstalled (default:/usr/sbin/nxcli) zenity(pre-installed on Ubuntu GNOME)- GNOME with the AppIndicator extension (default on Ubuntu)
Build:
- Go 1.22+
libayatana-appindicator3-devlibgtk-3-dev
wget https://github.com/fbinz/nx-tray/releases/latest/download/nx-tray
chmod +x nx-tray
./nx-tray installThis copies the binary to ~/.local/bin/, extracts the icon to ~/.local/share/icons/, and creates an autostart entry so it launches on login.
sudo apt install golang-go libayatana-appindicator3-dev libgtk-3-dev
git clone https://github.com/fbinz/nx-tray.git
cd nx-tray
make
./nx-tray installnx-tray uninstallRemoves the binary, icon, and autostart entry.
nx-tray [command] [flags]
Commands:
install install to ~/.local/bin and set up autostart
uninstall remove installed files
Flags:
-nxcli string path to nxcli binary (default "/usr/sbin/nxcli", env: NXCLI)
-v enable info logging
-vv enable debug logging (includes nxcli command output)
The tray icon appears in the top panel. Click it to open the menu:
- Status — shows current connection state
- Connect — pick a saved connection, enter password
- Disconnect — disconnect the active VPN
- Connections — add, edit, or delete saved connections
- Quit — exit the tray app
MIT