Terminal UI
On this page
goethite tui is a terminal UI for a goethite node. It talks to the node's
REST API, so it works the same on the machine running goethite or over SSH from
anywhere that can reach the API. It refreshes every two seconds.
goethite tuiConnecting
Section titled “Connecting”By default it connects to http://127.0.0.1:8053, the API's default address, which needs no
token while no user account exists. Once one does, the TUI needs an admin token too: it has no
sign-in of its own. For another node, give the API's address and an admin token:
export GOETHITE_TOKEN=gth_…
goethite tui --api https://dns.example.lan:8053| Option | Environment | Meaning |
|---|---|---|
--api <URL> |
GOETHITE_API |
The API's address, http:// or https:// |
--token-file <PATH> |
GOETHITE_TOKEN |
The admin token, from a file or the environment |
--ca-file <PATH> |
A PEM CA certificate, for an API with its own certificate |
The token is never taken on the command line, where other users of the machine could see it in
the process list. Without --ca-file, HTTPS certificates are checked against the bundled Mozilla
roots.
Screens
Section titled “Screens”Switch screens with Tab, ← →, or 1–6.
- Dashboard: the last 24 hours (queries, blocked, cached, forwarded, failed, average answer time), the top names, blocked names and clients, the filter's rule count, and whether each upstream is up (a Recursion panel instead when the node resolves from the root down). In a cluster, the counts are every node's together, and the header shows what this node does in the cluster, its leader, and how many members are up.
- Query log: the newest queries, with their client, type, answer and the rule that decided.
- Lists: the filter lists, whether each is on, its rule count, its last update, who manages it and any download or parse problem.
- Clients: the clients, their addresses and their groups.
- Groups: each group's filtering, safe search, lists, blocked services and clients.
- Leak tests: the DNS leak tests of the last hour, from any device: how many of their lookups reached goethite, over which protocols and from where, with a Selected test pane below (verdict, client, group, filtering and the last lookups). t tests this machine's own DNS.
Every answer carries a text label (BLOCKED, SAFE SEARCH, CACHED, FORWARDED, LOCAL,
REJECTED, FAILED), so nothing depends on color alone.
| Key | Where | Does |
|---|---|---|
| Tab, ← →, 1–6 | everywhere | Switch screens |
| ↑ ↓, k j | tables | Move the selection |
| p | everywhere | Pause filtering for 10 minutes |
| P | everywhere | Resume filtering |
| R, F5 | everywhere | Refresh now |
| / | query log | Filter by name; Enter applies, Esc cancels |
| b | query log | Show blocked queries only, or everything |
| Space, e | lists | Turn the selected list on or off |
| r | lists | Download the lists now |
| t | leak tests | Test this machine's DNS |
| q, Esc, Ctrl+C | everywhere | Quit |
Every change the TUI makes goes through the API, so it lands in the audit log like any other.