netbird-tui
May 8, 2026 ยท View on GitHub
A terminal UI for the local NetBird daemon. It uses the daemon gRPC socket directly and keeps common monitoring and management tasks in one keyboard-driven interface.
Features
- Two-level navigation with 4 groups and 11 screens.
- Monitor screens for status, peers, system events, and network map.
- Network screens for routes, DNS, and forwarding rules.
- Manage screens for profiles and setup-key login settings.
- Tools screens for diagnostics, packet tracing, daemon states, and service status.
- Context-aware footer actions, confirmation prompts for destructive operations, and quick switch/help overlays.
- Auto-refresh for daemon data with explicit refresh available from the UI.
Screens
| Group | Screens |
|---|---|
| Monitor | Status, Peers, Events, Map |
| Network | Routes, DNS, Forwarding |
| Manage | Profiles, Settings |
| Tools | Diagnostics, Services |
Requirements
- Go 1.25 or newer for building from source.
- A running NetBird daemon.
- Permission to access the daemon socket, usually
unix:///var/run/netbird.sock.
On most Linux systems the socket is owned by root. Run with sudo, adjust group permissions, or pass a socket path that your user can read.
Installation
Install with Go:
go install github.com/n0pashkov/netbird-tui@latest
Build from source:
git clone https://github.com/n0pashkov/netbird-tui
cd netbird-tui
go build -o netbird-tui .
Usage
Use the default socket:
sudo netbird-tui
Use a custom socket:
netbird-tui unix:///custom/path/netbird.sock
Default socket path: unix:///var/run/netbird.sock.
Keybindings
| Key | Action |
|---|---|
Tab / Shift+Tab | Switch Monitor, Network, Manage, Tools groups |
1 - 4 | Jump to a group |
Left / Right | Switch screens inside the active group |
g | Open quick switch overlay for all screens |
m | Open Map from quick switch |
? | Open contextual help |
/ | Search inside the current searchable screen |
r | Refresh current daemon data |
c | Connect or disconnect depending on current state |
u / d | NetBird up / down with confirmation |
L | Logout with confirmation |
q / ctrl+c | Quit |
Screen-specific keys are shown in the footer. The footer only advertises actions available on the current screen.
Search And Filters
- Peers:
/searches by FQDN, IP, or connection status;fcycles all, online, offline, and relayed peers;xclears search. - Events:
/searches event text;fcycles severity filters;Enteropens event detail.
Troubleshooting
Failed to connect to NetBird daemon: verify the daemon is running and the socket path is correct.permission denied: run withsudoor grant your user access to/var/run/netbird.sock.- Empty screens: refresh with
r; some screens depend on daemon or management-server support. - Settings config flags are read-only in this release. Use
netbird config setfor config changes. - Services shows forwarding rules and local service status. Creating exposed services is not enabled in this release.
Development
GOCACHE=/tmp/netbird-tui-gocache go test ./...
go vet ./...
go build -o /tmp/netbird-tui .
Demo
A screenshot or terminal recording can be added to this section when publishing release assets.
License
MIT