The three ways to start
--no-tui validates the flags, runs, and prints plain text to stdout. No terminal required.
What it prints
A plan, a start line, one line per second, and a summary:There’s no
--json yet. Parsing is text parsing for now, and the ran for summary block is the stable thing to key on.Exit codes
Errors go to stderr, statistics to stdout, so you can separate them:
Confirmations
Some runs stop and ask. There are two levels, and they behave differently on purpose. Ordinary confirmations cover things like your SSH session being on this interface, or unlimited rate on the default-route interface.--yes (or -y) answers these:
--rx-mode all. --yes does not answer this one. You need --allow-match-all as well:
Saved settings don’t apply
--no-tui neither reads nor writes the saved settings in ~/.wireblast/. A scripted run depends only on its flags, so it behaves identically on a fresh machine and on one you’ve been experimenting on all afternoon.
If you’re scripting the TUI form (--start) and want to ignore whatever was saved:
Running unattended
SIGINT and SIGTERM cleanly: it drains the transmit rings, collects final counts, detaches the XDP program, and exits 0. So kill on that PID gives you a proper summary rather than a truncated log.
A second signal exits immediately with 130, so a wedged run can still be killed without reaching for another shell.
--no-tui attaches and detaches per run, so each invocation pays the link bounce. Looping many short runs in a shell script costs about 8 seconds each on a physical NIC. If you’re iterating, one longer run, or the TUI’s r key, is much faster.