porty is a fast, real-time interactive port manager written in Go. It reads Linux networking data directly from /proc for maximum accuracy, presenting TCP/UDP sockets in a polished, Tokyo Night–inspired TUI.
Built for developers, sysadmins, and anyone who needs to quickly inspect or kill processes bound to ports.
curl -fsSL https://raw.githubusercontent.com/trishan9/porty/main/install.sh | bashyay -S porty-bin
# or
paru -S porty-binAUR Package: https://aur.archlinux.org/packages/porty-bin
git clone https://github.com/trishan9/porty
cd porty
go build -o porty .
sudo mv porty /usr/local/bin/porty listporty kill --port 3000
porty kill --port 3000,8000
porty kill --pid 1234
porty list --json
porty list --json > ports.json # Saving as a fileporty version
-
TCP + UDP port detection
-
Kernel sockets (e.g. systemd-resolved, dhclient, avahi)
-
PID → process name mapping
-
UID → user detection
-
Tags for:
- USER
- SYSTEM
- KERNEL
- SELF
- Auto-refresh every 2 seconds
- Manual refresh with
r
| Key | Action |
|---|---|
| ↑ / ↓ / j / k | Move cursor |
| Space | Select port |
| Enter / x | Kill process |
| r | Refresh ports |
| q | Quit |
Porty uses:
/proc/net/tcpand/proc/net/udp/proc/<pid>/fdto resolve inode → PID/proc/<pid>/commfor process names/proc/<pid>/statusfor UID- BubbleTea (TUI framework)
- LipGloss for UI styling
This avoids external dependencies like lsof or netstat, making Porty extremely fast.
Open issues for feature ideas or bugs.