Skip to content

CLI Client

flowwler-cli is a terminal interface for flowwler. It connects to the REST API and provides a keyboard-driven view of all daemon state, refreshing automatically every second.


Tabs

Navigate tabs with F1–F6 or Tab / Shift+Tab.

Tab Key Description
Dashboard F1 Daemon version, uptime, active mitigation count, BGP peer states, flow exporter health, and the last 10 attacks
Attacks F2 Attack history with aggregate stats (total count, mean duration, peak BPS/PPS, top victims and groups). Opens a per-attack event timeline with FlowSpec rules and suggestions, and the PCAP filename when a capture exists.
Mitigations F3 Active auto-managed and manual mitigations. Create new blackhole, subnet-blackhole, or FlowSpec mitigations via a step-by-step form. Delete by selecting and pressing d.
Groups F4 Per-group traffic rates, active victims, escalation levels, detection rules, and per-IP target breakdown
BGP F5 BGP peer states and full RIB (IPv4/IPv6 unicast and FlowSpec)
Notifications F6 Notification target health and last-fired times. Send a test event with t.

Key bindings

Key Action
F1F6 Switch tab
Tab / Shift+Tab Next / previous tab
j k Navigate list
Enter Open detail view or confirm
Esc / b Back to list
n New mitigation (Mitigations tab)
d Delete selected mitigation
t Send test notification (Notifications tab)
g / G Jump to top / bottom (Attacks tab)
r Refresh current tab
R Reload daemon config (Dashboard tab)
q / Ctrl+C Quit

Installation

sudo apt install flowwler-cli

The package installs the following:

Path Description
/usr/bin/flowwler-cli Binary

The flowwler system user is shared with the flowwler daemon if both packages are installed.


Configuration

All flags can be set via environment variables.

Flag Short Env var Default Description
--url -u FLOWWLER_URL http://localhost:9731 flowwler API base URL
--api-key -k FLOWWLER_API_KEY - API key sent as X-API-Key
--username FLOWWLER_USERNAME - HTTP Basic Auth username
--password FLOWWLER_PASSWORD - HTTP Basic Auth password

If the flowwler API has authentication enabled (see REST API - Authentication), supply credentials via --api-key or --username/--password. Unauthenticated requests are sent if neither is set.