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

GroupScreens
MonitorStatus, Peers, Events, Map
NetworkRoutes, DNS, Forwarding
ManageProfiles, Settings
ToolsDiagnostics, 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

KeyAction
Tab / Shift+TabSwitch Monitor, Network, Manage, Tools groups
1 - 4Jump to a group
Left / RightSwitch screens inside the active group
gOpen quick switch overlay for all screens
mOpen Map from quick switch
?Open contextual help
/Search inside the current searchable screen
rRefresh current daemon data
cConnect or disconnect depending on current state
u / dNetBird up / down with confirmation
LLogout with confirmation
q / ctrl+cQuit

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; f cycles all, online, offline, and relayed peers; x clears search.
  • Events: / searches event text; f cycles severity filters; Enter opens event detail.

Troubleshooting

  • Failed to connect to NetBird daemon: verify the daemon is running and the socket path is correct.
  • permission denied: run with sudo or 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 set for 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