Snitch is a command-line tool that displays network connections with a human-friendly interface, offering an alternative to ss and netstat.
The tool solves the problem of inspecting active network connections in a way that is more accessible than traditional command-line utilities. It provides multiple output modes: an interactive terminal UI with live-updating connection lists, one-shot styled tables, JSON output for scripting, and streaming JSON frames. The interactive mode includes keybindings for filtering and sorting, while the table output automatically uses a pager when needed. DNS and service name resolution are performed in parallel with caching for performance.
Snitch suits developers and system administrators who frequently inspect network connections and prefer visual clarity over raw command output. The tool works on Linux and macOS, with installation available through multiple package managers including Homebrew, Nix, and AUR, as well as Docker containers and direct binary downloads. On Linux it reads from /proc/net/* and requires root or CAP_NET_ADMIN for full process information; on macOS it uses system APIs and may require sudo. The tool supports multiple color themes including Catppuccin variants, Gruvbox, Dracula, Nord, and Tokyo Night, configurable through a TOML file. State persistence allows the interactive UI to remember filter toggles, sort preferences, and resolution settings across sessions.
Development activity shows consistent attention to user experience through theme variety and multiple installation methods. The project maintains an in-place upgrade command for self-updates. Configuration is optional and flexible, with environment variable support alongside the config file. The tool's architecture prioritizes performance through parallel DNS lookups and caching, while avoiding unnecessary system capabilities—it does not require CAP_NET_ADMIN or CAP_NET_RAW on Linux.