mrkeyoor.com_
Sat 17 Oct 13:34 UTC
Self-Hostedevaluationupdated 26 Aug 2026

portmaster review

Portmaster is a local application firewall for Windows and Linux that shows which programs are connecting, blocks unwanted destinations, and routes DNS through encrypted resolvers. It can apply global or per-app rules, use tracker and malware lists, and optionally send selected traffic through Safing's paid multi-hop privacy network.

+25stars / 7d
Verdict

Our Portmaster build completed in 67 seconds, but 6 of 52 Go package tests failed, so the current checkout does not earn blind trust at the layer that controls every network connection. Portmaster is a good trial for Windows or Linux users who want one clear view of app traffic, encrypted DNS, and per-app policy. Keep it off irreplaceable machines until DNS, VPN, game, suspend, restart, and uninstall behavior have passed your own checks.

We ran it

Lab card: what happened when we ran portmasterScreenshot of portmaster (safing.io)
Install✓ · 72s309 packages
Build✓ · 67s
Tests✗ · 79s46 passed · 6 failed of 52 (go test)
Repo2092 files~244,056 lines of source · 18.2 MB · 9 CI workflows

Answers from our run

Does portmaster build from source?

Dependencies installed in 72 seconds (309 packages), and the build succeeded in 67 seconds. We cloned commit fc3b8f3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do portmaster's tests pass?

No. The project's own test command finished in 79 seconds and reported 46 passed, 6 failed (go test).

Who should not use portmaster?

macOS users: the README describes Portmaster as a Windows and Linux privacy suite.

What are the alternatives to portmaster?

OpenSnitch, simplewall, LuLu. Our Portmaster build completed in 67 seconds, but 6 of 52 Go package tests failed, so the current checkout does not earn blind trust at the layer that controls every network connection.

Setup3/5Installers exist, but system-level filtering raises recovery cost
Docs4/5Wiki covers install, compatibility, settings, API, and design
Community4/513,611 stars with active August 2026 technical reports
Maturity3/5v2.2.1 is maintained, but network and suite failures remain

Discussed on

  1. hnPortmaster – Open-source network monitor and firewall315 points
  2. hnPortmaster 1.0 – Open-Source Network Monitor and Privacy Firewall311 points
  3. hnSafing Portmaster: free, open source application firewall for Windows and Linux15 points
  4. hnPortmaster6 points
  5. hnShow HN: Block trackers system-wide on Linux/Windows, a Pi-hole “to go” alt6 points

Who it’s for

Windows and Linux users who want per-application network rules rather than port-only firewall controls.
Privacy-conscious people willing to run a privileged system service that intercepts local traffic.
Administrators who need encrypted DNS, domain and country rules, and searchable connection detail in one interface.
Users prepared to test VPN, game, DNS, and security-software compatibility on their exact machine.

Who it’s NOT for

macOS users: the README describes Portmaster as a Windows and Linux privacy suite.
Gamers or peer-to-peer users relying on split-tunneled UDP today: issue 2240 reproduces wrong-destination and source-address behavior in v2.2.1.
Windows systems where DNS interruption is unacceptable without a trial: issue 2197 reports an oversized UDP datagram stopping the internal DNS listener.
Anyone expecting every advertised screen to be free: searchable network history and per-app bandwidth are marked paid, while SPN needs a higher subscription.
Teams requiring a green source suite: our Go run reported 46 passed and 6 failed packages.
People stacking several packet filters without compatibility testing: Portmaster integrates directly with nfqueue on Linux and WFP on Windows.

Setup reality

Our sandbox downloaded 309 Go packages in 72 seconds, then built successfully in 67 seconds. Tests returned exit 1 after 79 seconds: 46 packages passed and 6 failed out of 52. The log tail marked spn/crew and the overall command as failed but did not include the assertion or cause.

Normal installation uses signed Windows or Linux packages and creates a privileged Core system service plus a user-level interface. Portmaster intercepts packets, redirects DNS, downloads block lists and geo data, and changes network behavior immediately. SPN requires a Safing account and paid plan; building from source is labeled work in progress and needs Earthly plus Docker.

Portmaster has no macOS build. VPNs, security suites, unusual DNS clients, games, and peer-to-peer software can overlap with its interception and routing. Back up rules, record existing DNS and firewall settings, and keep a recovery path before enabling it on a work machine.

Portmaster sees traffic before individual apps can hide it

Portmaster runs a privileged Core service that joins the operating system's network path. On Linux it uses nfqueue plus eBPF and process data; on Windows it uses a WFP kernel driver and system APIs. That position lets it connect network activity to an application, block a domain or IP, enforce inbound and peer-to-peer scopes, and redirect stray DNS requests to its own resolver. The user interface and notifier run separately in the logged-in user's context.

This is deeper access than a browser extension or DNS block list. Our checkout contained 2,092 files and about 244,056 lines of source before fetching 309 Go packages. A defect can affect all browsing, updates, chat, games, and name resolution on the machine. The same power makes Portmaster useful: one app cannot quietly bypass a rule merely by choosing its own DNS server or opening a less obvious connection.

Free filtering is useful before the paid network

The free layer monitors connections, applies global and per-app settings, blocks known tracker or malware domains, and resolves DNS over TLS or HTTPS. Rules can use domains, IP addresses, countries, and network scopes. Portmaster downloads intelligence data and signed updates, so “local” describes policy and connection records rather than a machine that never contacts Safing infrastructure.

Searchable connection history and per-app bandwidth are marked as paid features in the README. SPN costs more and sends traffic through Safing's multi-hop network with onion encryption. Version v2.2.1 added split tunneling so chosen apps can use another network interface. An open report on that release says a shared UDP socket can keep sending later datagrams to its first destination, breaking STUN, games, and peer-to-peer traffic while TCP continues to work.

What happened when we ran it

Our sandbox downloaded 309 Go packages in 72 seconds and built commit fc3b8f3 successfully in 67 seconds. The unprivileged Debian container had 3 CPUs, 8 GB of RAM, and no secrets. The checkout contained 9 CI workflow files, no Dockerfile, and no tests directory. Those repository signals do not substitute for the commands our harness ran.

The full Go test command returned exit code 1 after 79 seconds. The harness counted 46 passed and 6 failed packages out of 52. Its final lines showed successful results for several SPN packages, then marked github.com/safing/portmaster/spn/crew and the overall run as FAIL. The tail does not show a failed assertion, error message, or reason, so we cannot say whether the cause was environmental or a code defect.

Secure DNS can become a system-wide dependency

Portmaster catches DNS requests headed elsewhere and sends them to its internal resolver, which can use configured DoT or DoH servers. It also supports split-horizon handling and protection against rebinding. This blocks applications from escaping a network policy through their own resolver, but it means the health of one local DNS service now matters to every application on the machine.

Issue 2197 documents a Windows v2.2.1 code path where one UDP datagram larger than 512 bytes stops that listener. The reporter supplied a minimal PowerShell reproduction and logs covering 93 failures, with retry delays growing as high as 60 seconds. The report is specific to Windows socket behavior and does not establish the same failure on Linux. Windows buyers should test oversized and malformed DNS traffic, then confirm the resolver recovers without a full restart.

Existing security and VPN software need a staged rollout

Network filters often fail through interaction rather than a single broken feature. Portmaster publishes compatibility guidance for VPNs and software because it redirects DNS, owns packet decisions, and can route selected apps through SPN or another interface. Version v2.2.1 fixed Linux cases involving pre-existing SPN connections, IPv6 conntrack cleanup, and one IVPN configuration. Those fixes show active work in precisely the integration layer operators must test.

Recent reports remain specific. Issue 2238 says opening a browser with several tabs interrupted existing SPN connections on Fedora Linux 44. Issue 2191 reports a Windows 10 SQLite migration error that stopped Core after the first restart. Issue 2140 claims the v2.1.7 uninstaller removed unrelated startup entries on one Windows setup. These reports do not prove a universal failure, but they justify a restore point, exported settings, and restart and uninstall drills before broad deployment.

August issue activity follows the June release

GitHub recorded the latest code push on August 21, 2026, after v2.2.1 shipped on June 16. The repository had 13,611 stars and 102 open issues and pull requests when fetched. New issue discussion continued through August 26, including detailed split-tunnel and SPN reports. The two-month tag gap therefore is not evidence that development stopped.

Portmaster is easier to understand than a pile of firewall, DNS, tracker-blocking, traffic-history, and privacy-network tools. That consolidation is the reason to try it and the reason to be careful. Our 67-second build shows the source compiles, while 6 failed packages stop short of a clean engineering result. Install it on one test machine, keep local recovery access, and check the applications whose traffic matters most before trusting the defaults.

Alternatives

ProjectWhat it isPick it when
OpenSnitchAn interactive GNU/Linux application firewall with prompts and per-program rules.pick this instead when Linux application control is the whole job and you do not need Portmaster's DNS or SPN layers.
simplewallA small Windows interface for creating Windows Filtering Platform rules.pick this instead when you want direct Windows filtering control with a smaller feature set.
LuLuA free outbound application firewall for macOS.pick this instead when the machine runs macOS, which Portmaster does not support.

What people are saying

  1. [github-trending] safing/portmaster

Sources

  1. Portmaster repository and README
  2. Portmaster v2.2.1 release
  3. Split-tunnel UDP report
  4. Windows DNS listener report
  5. SPN connection interruption report
  6. Windows restart migration report
  7. Windows uninstall report

More self-hosted reviews

playport · edge-smart-doh · Comma · ProsperoEden · zulu · node_exporter · the whole board →