Install
The fastest path on each platform, in one row:
| Platform | Command |
|---|---|
| macOS | brew install --cask packetThrower/tap/portfinder |
| Windows | winget install packetThrower.PortFinder |
| Linux (Debian/Ubuntu) | sudo apt install ./PortFinder_<version>_amd64.deb |
| Linux (Fedora/RHEL) | sudo dnf install ./PortFinder-<version>-1.x86_64.rpm |
| Linux (any) | chmod +x PortFinder_<version>_amd64.AppImage && ./PortFinder_<version>_amd64.AppImage |
Pre-built binaries for every release live on the Releases page.
Homebrew (recommended)
Section titled “Homebrew (recommended)”brew install --cask packetThrower/tap/portfinderThis installs PortFinder.app to /Applications and symlinks the headless CLI to $(brew --prefix)/bin/portfinder so portfinder works from any shell. Update with brew upgrade --cask portfinder; remove with brew uninstall --cask portfinder (add --zap to also clear ~/Library/Application Support/PortFinder).
The tap source lives at packetThrower/homebrew-tap, shared with Baudrun and other packetThrower projects.
For non-root packet capture, click Install BPF Helper in the app once after install. Until you do, capture works only via sudo portfinder capture …. After installation, the helper appears in System Settings → General → Login Items & Extensions as PortFinder BPF Helper.
Pre-release channel (alpha / beta / RC)
For early access, install the @alpha cask alongside the stable one:
brew install --cask packetThrower/tap/portfinder@alphaThis drops PortFinder Alpha.app into /Applications and exposes the CLI as portfinder-alpha, so the two channels coexist. State (preferences, saved window position) is shared between them. File regressions on the issue tracker.
Manual DMG (no Homebrew)
Download the arch-matching .dmg from the Releases page — PortFinder_<version>_arm64.dmg for Apple Silicon, PortFinder_<version>_amd64.dmg for Intel — mount it, and drag PortFinder into /Applications.
For non-root capture, also install the BPF helper:
- Download
PortFinder-BPF-<version>.pkgfrom the same release. - Double-click to install. macOS will prompt for your password.
After install, the helper appears in System Settings → General → Login Items & Extensions as PortFinder BPF Helper.
CLI symlink without Homebrew
The Homebrew cask creates a portfinder shim on your PATH automatically. If you installed manually and want the same shortcut:
sudo ln -sf /Applications/PortFinder.app/Contents/MacOS/PortFinder /usr/local/bin/portfinderWithout the symlink, the binary’s full path inside the bundle works too — /Applications/PortFinder.app/Contents/MacOS/PortFinder capture …. The standalone install-cli.sh / uninstall-cli.sh scripts that shipped with 3.x are gone in 4.x.
Windows
Section titled “Windows”winget (preinstalled)
Section titled “winget (preinstalled)”winget is Microsoft’s own package manager, preinstalled on Windows 10 1809+ and Windows 11. The packetThrower.PortFinder manifest ships per-arch MSI installers and resolves either by the full PackageIdentifier or the short moniker:
winget install packetThrower.PortFinder # full identifierwinget install portfinder # short moniker (same result)winget picks the right architecture automatically (x64 or arm64) based on the host. The MSI installs to Program Files\PortFinder\, registers PortFinder and portfinder-cli on PATH, adds a Start menu shortcut, and shows up in Apps & Features with the PortFinder icon. Silent install is the default (no SmartScreen prompt, no clicks).
You still need Npcap for packet capture — winget can chain-install it in one command:
winget install Insecure.Npcap # one-time, then PortFinder works without sudo / adminwinget carries stable only — no pre-release channel. If you want to ride pre-release builds on Windows, use Scoop below (which has a portfinder-prerelease manifest) or grab the artifact directly from the Releases page.
Update with winget upgrade packetThrower.PortFinder (or winget upgrade --all). winget polls Microsoft’s centralized manifest index every few hours, so a new stable tag is normally installable within a quarter day of release.
The bucket packetThrower/scoop-bucket ships PortFinder under both a stable and a pre-release manifest — the latter is the path to alpha / beta / rc builds Windows-side, which winget can’t carry.
scoop bucket add packetThrower https://github.com/packetThrower/scoop-bucketscoop install portfinderThis installs PortFinder, drops a Start menu shortcut, and exposes the CLI on your PATH so portfinder capture … works from PowerShell. Update with scoop update portfinder; uninstall with scoop uninstall portfinder.
You still need Npcap for packet capture — Scoop can’t bundle the kernel driver. (winget above will chain-install it.)
Pre-release channel (Scoop only)
The bucket ships a parallel manifest tracking pre-release tags (alpha / beta / rc). It coexists with the stable install:
scoop install portfinder-prereleaseThe pre-release CLI shim is portfinder-alpha and the Start menu shortcut is PortFinder Alpha, so the two never collide. winget has no pre-release equivalent — for pre-release on Windows, use Scoop or grab the artifact directly from Releases.
Manual installer
- Install Npcap — be sure to tick “Allow non-administrators to capture” during install.
- Download
PortFinder_<version>_amd64_en-US.msi(x64) orPortFinder_<version>_arm64_en-US.msi(ARM64) from the release for the cleanest install path. The NSISPortFinder_<version>_x64-setup.exeis also there as a fallback. - Run the installer.
Pick the package that matches your distro:
sudo apt install ./PortFinder_<version>_amd64.debsudo dnf install ./PortFinder-<version>-1.x86_64.rpmchmod +x PortFinder_<version>_amd64.AppImage./PortFinder_<version>_amd64.AppImageThe .deb and .rpm packages run a postinstall hook that grants CAP_NET_RAW to the binary, so packet capture works without sudo.