lazyports
A terminal UI for viewing and managing processes bound to local dev ports — inspired by lazydocker.
lazyports
Features
- Dev ports only by default — node, python, rails, docker, etc. No system noise
- Split-pane UI inspired by lazydocker
- Process name, PID, user, uptime, and command line
- Filter with
/
- Kill with
d (SIGTERM) or K (SIGKILL)
- Restart with
s
- Auto-refresh every 2 seconds (configurable)
Install
One-liner (installs to ~/.local/bin via go install):
curl -fsSL https://raw.githubusercontent.com/niiithish/lazyports/HEAD/install.sh | bash
Requires Go. Fallback: clones the repo and builds if go install fails.
With Go directly:
GOBIN="$HOME/.local/bin" go install github.com/niiithish/lazyports@latest
From source:
git clone https://github.com/niiithish/lazyports
cd lazyports
make install
Make sure ~/.local/bin is on your PATH.
Usage
lazyports
lazyports -version
lazyports -refresh 5s
lazyports -refresh 0 # disable auto-refresh
On launch, lazyports checks GitHub for a newer release and prompts you to update. Press U to show the install command, or esc to dismiss the prompt for the session.
To update:
curl -fsSL https://raw.githubusercontent.com/niiithish/lazyports/HEAD/install.sh | bash
Set LAZYPORTS_SKIP_UPDATE=1 to disable the update check.
Keybindings
| Key |
Action |
j / k |
Navigate ports |
a |
Toggle dev ports / all TCP listen |
/ |
Filter |
d / x |
Kill process (SIGTERM) |
K |
Force kill (SIGKILL) |
s |
Restart process |
r |
Refresh |
? |
Help |
q |
Quit |
Requirements
- Linux (uses
ss and /proc)
- Go 1.23+ to build from source
License
MIT