All 17 Dependencies

Every package Portpal depends on, ranked by repo health score.

Portpal is a Tauri-based desktop app built to end the `EADDRINUSE: address already in use` ritual. Instead of dropping into a terminal to run `lsof` or `netstat`, grepping for a PID, and typing `kill -9`, Portpal keeps a live dashboard of every listening port on your machine — process name, PID, framework, and originating project — and lets you kill or restart any of them with a single click.

Beyond simple port listing, Portpal builds a D3.js-powered network topology map that traces active TCP connections back to the listening ports and processes that own them, so you can see at a glance how your frontend, API, and database containers are actually talking to each other. A background watcher thread polls port state every two seconds, logs start/stop events with timestamps, records lightweight traffic history per port, and drives a system tray icon that changes color (green/yellow/red) the moment a port conflict appears — all without keeping the main window open.

Under the hood it uses `sysinfo` plus the OS-native `lsof` (macOS/Linux) or `netstat` (Windows) to enumerate listening sockets and cross-reference them against process metadata, then walks up the directory tree from each process's working directory looking for `package.json`, `Cargo.toml`, `go.mod`, or `.git` to label which project a port belongs to. It ships as a single cross-platform binary via Tauri 2, so there's no Node runtime or Electron overhead — just a lightweight Rust backend and a React 19 + TypeScript UI.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search