tui-tools

Terminal tools for Linux

The command in the dialog is the command that runs

Every tool here opens read-only, shows you the system as it actually is, and previews the exact command line before it changes anything. One static binary each. No daemon, no state of its own, nothing left running after you quit.

Install tui-cert v0.2.1
$ curl -fsSL https://github.com/tui-tools/tui-cert/releases/download/v0.2.1/tui-cert_0.2.1_linux_amd64.tar.gz | tar -xz tui-cert
  sudo install -m0755 tui-cert /usr/local/bin/tui-cert
  • Preview, then confirm. There is no other path to a change.
  • Read-only by default. Starting a tool only reads.
  • Runs as you. Only an action escalates, through sudo -n.
  • --demo on every tool: real previews, nothing touched.
One certificate in full: the chain, the key beside it, the configuration that references it
tui-cert asking the same question, on a real machine

The tools

v0.2.1beta
The inventory, worst first: what expires when, who issued it, and which server serves it

Every certificate on the machine, and what will stop working when

certificateslinux · amd64, arm64certbot ≥ 1.0acme.sh ≥ 3.0.0openssl ≥ 1.1.1

$ sudo pacman -S tui-cert

v0.2.1beta
Every container on one list, docker and podman together, with what is wrong at the top

Every container on one screen, docker and podman together

containerslinux · amd64, arm64docker ≥ 20.10podman ≥ 4.0

$ sudo pacman -S tui-containers

v0.2.1beta
Every scheduled job on one list: systemd timers and cron together, with the schedule as written and how the last run went

Every scheduled job on one screen, systemd timers and cron together

schedulinglinux · amd64, arm64systemctl ≥ 245crontab

$ sudo pacman -S tui-cron

v0.2.1beta
The domain screen: what the controller answered, what this host is, and the functional levels

A Samba Active Directory domain, administered from the terminal

userslinux · amd64, arm64samba-tool ≥ 4.13

$ sudo pacman -S tui-dc

v0.1.3beta
The device tree: size, filesystem, usage and the SMART verdict of every disk

Disks, mounts, fstab, btrfs and SMART, previewed before every change

storagelinux · amd64, arm64lsblk ≥ 2.34btrfs ≥ 5.10smartctl ≥ 7.0

$ sudo pacman -S tui-disk

v0.4.1beta
The rules table, with status, default policies and logging in the header

ufw, firewalld and nftables, with every change previewed before it runs

firewalllinux · amd64, arm64ufw ≥ 0.36firewall-cmd ≥ 0.9nft ≥ 0.9

$ sudo pacman -S tui-firewall

v0.2.1beta
The journal, with the journalctl command behind what is on screen along the bottom

The journal on one screen: narrow it, follow it, and shrink it safely

logslinux · amd64, arm64journalctl ≥ 239

$ sudo pacman -S tui-logs

v0.3.1beta
The links table: state, type, address, gateway and who manages each link

Links, addresses, routes and DNS, with every change previewed before it runs

networklinux · amd64, arm64networkctl ≥ 245dnsmasq ≥ 2.80kea-dhcp4 ≥ 2.0.0

$ sudo pacman -S tui-network

v0.3.2beta
The cockpit: one card per area of the router, refreshed in place

Every part of the router on one screen

networklinux · amd64, arm64ip ≥ 5.0nft ≥ 0.9wg ≥ 1.0

$ sudo pacman -S tui-router

v0.2.1beta
Every share on one list, worst first: what it exports, who may reach it, and the Unix mode of the directory behind it

Samba shares, accounts and live connections, with every change previewed

file-sharinglinux · amd64, arm64smbd ≥ 4.11

$ sudo pacman -S tui-samba

v0.2.2beta
The posture: one row per probe, its verdict, and the score across all of them

The machine's security posture, with the command behind every verdict

securitylinux · amd64, arm64systemctl ≥ 245sshd ≥ 8.2ufw ≥ 0.36firewall-cmd ≥ 0.9sbctl

$ sudo pacman -S tui-secure

v0.2.1beta
The snapshot history: pre/post pairs, timeline snapshots and the pinned ones, newest first

btrfs snapshots, managed by snapper, from the terminal

snapshotslinux · amd64, arm64snapper ≥ 0.8.6

$ sudo pacman -S tui-snapper

v0.2.1beta
The effective configuration: the settings that decide who gets in, each with a verdict and the file that set it

The SSH server as it really is, with every change previewed before it runs

sshlinux · amd64, arm64ssh ≥ 8.2

$ sudo pacman -S tui-ssh

v0.2.1beta
The unit list, with failed units sorted to the top

systemd units: what failed, why, and every action previewed

systemdlinux · amd64, arm64systemctl ≥ 230

$ sudo pacman -S tui-systemd

v0.2.1beta
The dashboard: every tool of the family, what this machine has, and what the repository offers

Every tui-tools tool in one place, installed through your package manager

packageslinux · amd64, arm64pacman ≥ 6.0apt ≥ 2.0dnf ≥ 4.0

$ sudo pacman -S tui-tools

v0.1.1beta
Interfaces: RX and TX rates with a sparkline over the last minute

What the network is doing right now, interface by interface

networklinux · amd64, arm64conntrack ≥ 1.4.0

$ sudo pacman -S tui-traffic

v0.2.1beta
The pending list: current to new, repository, size and the security flag, kernel and firmware first

Pending package updates, what they restart, and a snapshot first

packageslinux · amd64, arm64pacman ≥ 6.0apt ≥ 2.0dnf ≥ 4.0

$ sudo pacman -S tui-update

v0.2.1beta
The accounts table, findings first: uid 0 twice, an empty password, a service account with a shell

Accounts, groups, keys and sudo, with every change previewed before it runs

userslinux · amd64, arm64useradd ≥ 4.8ssh-keygen ≥ 8.2

$ sudo pacman -S tui-users

v0.3.0beta
The status screen: WireGuard interfaces, their state and peer counts, read from wg

WireGuard and its control plane, from the terminal

networklinux · amd64, arm64wg ≥ 1.0.20200513headscale ≥ 0.22.0

$ sudo pacman -S tui-vpn

unreleased
The list: the four bands every tool in the family draws

A working skeleton for a new tui-tools tool

templatelinux · amd64, arm64touch ≥ 8.0

$ git clone https://g…m/tui-tools/tui-template

Companions

Packages that are not terminal UIs: components the tools rely on, and upstream projects rebuilt from source under the same signing and provenance gate.

headscale

v0.29.3beta

Self-hosted Tailscale control server, rebuilt from the upstream source tag

mirrorupstream v0.29.3headscale

sudo pacman -S headscaleArch Linux

sudo apt install headscaleDebian / Ubuntu

sudo dnf install headscaleFedora / RHEL

What makes them a family

One promise

A tool never assembles a shell string. It builds a command value, shows that value in the confirm dialog, and hands the same value to the runner. The preview cannot drift from what executes, because they are the same object.

One palette

Tokyo Night by default. On Omarchythe tools read your active desktop theme, so switching the desktop switches every tool. NO_COLOR drops color and keeps layout.

One shape

The same key language, the same four bands on screen, the same config precedence, and the same 40-column-to-full-screen responsiveness. They all come from tui-kit.