unsubbed.co

Privoxy

Privoxy lets you run non-caching web proxy entirely on your own server.

GPL-2.0 Free privoxy.org

Non-caching web proxy with content filtering, honestly reviewed. No marketing spin, just what it actually does and who it’s actually for.

TL;DR

  • What it is: A non-caching web proxy that filters HTTP traffic — removes ads, strips tracking headers, blocks cookies, and acts as an HTTP gateway in front of SOCKS5 networks like Tor [2][website].
  • Who it’s for: Developers building privacy infrastructure, sysadmins running Tor-routed networks, and anyone needing a programmable HTTP filter layer. Not for non-technical founders. Not a SaaS replacement.
  • Cost: $0. GPL-2.0, no paid tier, no cloud version, no vendor [website].
  • Key strength: Configuration is extraordinarily granular — you control exactly which cookies survive, which headers get scrubbed, which content patterns get blocked, down to per-domain regex rules.
  • Key weakness: No web UI. Configuration is flat files. The learning curve is steep, documentation is dense, and the project hasn’t embraced modern tooling expectations. If you need a proxy, you need to read the manual.

What is Privoxy

Privoxy is a non-caching web proxy with advanced filtering capabilities for privacy enhancement, header modification, access control, and ad/tracker removal [website]. It sits between your browser (or any HTTP client) and the internet, intercepting requests and responses before they reach you. You configure it with action files and filter files that define rules: strip this header, block that URL pattern, remove these cookies, rewrite that response body.

The project has been running since 2001 — the copyright notice on the homepage reads “2001-2025” — and is an associated project of Software in the Public Interest (SPI), the same nonprofit umbrella that hosts Debian and PostgreSQL [website]. It runs on port 8118 by default, speaks HTTP proxy protocol, and is available for Linux, macOS, Windows, and BSD.

The most recent stable release is 4.1.0. There is no GitHub repository — distribution is via SourceForge and the project’s own server, which puts it in a different era of open source from most tools reviewed here [website].

What makes Privoxy distinctive is not what it does — ad blocking and header scrubbing are table stakes now — but how it does it. Privoxy is a programmable HTTP middleware. Its action system lets you define granular, conditional rules that apply differently to different domains, URL patterns, or content types. That programmability is exactly why it appears in privacy stacks, Tor setups, and developer test environments.


Why People Choose It

The three sources available for this review don’t offer traditional user testimonials. They’re all technical implementation guides. That tells you something about who actually uses Privoxy.

The Tor+Docker use case. Both [1] and [2] describe the same architecture: Tor handles anonymization at the SOCKS5 layer; Privoxy converts that SOCKS5 traffic into an HTTP proxy that browsers and curl can consume. [1] describes building a Docker image that runs both Tor and Privoxy in under 15 MB using Alpine Linux, demonstrating that Privoxy is lightweight enough to disappear into infrastructure. [2] frames it as “instant privacy” — run the container, set your browser proxy to localhost:8118, and your traffic exits through Tor [2].

The reason Privoxy specifically is used instead of a simpler SOCKS5-to-HTTP shim is the filtering layer. Privoxy doesn’t just forward traffic — it scrubs it. Before your request leaves, tracking cookies can be removed. Before the response arrives, ad scripts can be filtered. The proxy adds privacy work that the browser or application isn’t doing on its own.

The developer proxy-testing use case. [3] documents using Privoxy to simulate corporate proxy environments for DDEV testing. The setup: run Privoxy listening on 0.0.0.0:8118, point it at a SOCKS5 backend (Tor or Cloudflare WARP), configure Docker’s daemon to use the resulting HTTP proxy, then test whether applications behave correctly in constrained network environments [3]. This is a different use case entirely — not privacy, but infrastructure testing. Privoxy appears here because it’s one of the simplest tools to stand up a credible HTTP proxy quickly.

What neither of these articles covers is the primary historical use case: running Privoxy on a home network as a network-wide ad blocker and privacy filter before Pi-hole and browser extensions made that easier for non-technical users.


Features

Based on the official documentation referenced from the website:

Core proxy capabilities:

  • HTTP and HTTPS proxying (HTTPS via CONNECT tunneling) [website]
  • Non-caching — Privoxy intentionally does not cache responses, which prevents cache-based tracking [2][website]
  • Forward-proxy chaining — Privoxy can forward traffic to a SOCKS5 proxy (e.g., Tor) upstream [2][3]
  • Access control: restrict which clients can use the proxy by IP range

Content filtering:

  • Block URLs by pattern — regex-based block lists for ads, trackers, analytics endpoints
  • Response body filtering — modify HTML, JavaScript, and other content using filter rules
  • Header manipulation — strip, add, or modify arbitrary HTTP request and response headers
  • Cookie management — block, allow, or sanitize cookies on a per-domain basis
  • Referrer header control — spoof or suppress the Referer header

Configuration system:

  • Action files: define what Privoxy does to specific URLs or patterns
  • Filter files: define text-transformation rules applied to response bodies
  • Per-domain overrides: different rules for different sites
  • Regex-based URL matching throughout

Operational:

  • Built-in web interface at http://config.privoxy.org/ for testing and toggle control (local-only) [website user manual]
  • Log control: configurable verbosity, useful for debugging which rules fire
  • Process footprint: small. The [1] Docker image runs Tor + Privoxy in under 15 MB total [1]
  • Packaged in Homebrew (brew install privoxy), apt, dnf [3]

What it does not have: a dashboard, metrics, user accounts, a REST API, cloud sync, mobile apps, or any of the trappings of modern SaaS tools.


Pricing: SaaS vs Self-Hosted Math

There is no SaaS version of Privoxy and no paid tier. It is GPL-2.0 software distributed free, with no commercial licensing required [website].

The relevant cost comparison isn’t Privoxy vs. a paid alternative in the same category — it’s whether you need Privoxy-style filtering at all, and whether simpler tools cover your actual need:

ToolCostUse case overlap
Privoxy$0 (self-hosted)Programmable HTTP proxy, Tor gateway, header filtering
Pi-hole$0 (self-hosted)Network-wide DNS-based ad blocking
AdGuard Home$0 community (self-hosted)DNS-based filtering with nicer UI
mitmproxy$0 (self-hosted)HTTP inspection and modification (developer-focused)
Squid$0 (self-hosted)Enterprise-grade caching proxy

If what you want is network-wide ad blocking, Pi-hole or AdGuard Home are easier to set up and maintain. Privoxy’s edge is in HTTP-layer programmability and SOCKS5 bridging — not in raw ad blocking throughput. Data on comparative performance or adoption is not available from the provided sources.


Deployment Reality Check

The install path is straightforward if you’re comfortable with the command line. All three articles treat it as a trivial dependency, not a setup challenge [1][2][3].

Package-based install (Linux/macOS):

brew install privoxy          # macOS
apt-get install privoxy       # Ubuntu/Debian
dnf install privoxy           # Fedora/RHEL

After install, the default config file lives at /etc/privoxy/config (Linux) or /usr/local/etc/privoxy/config (Homebrew). Edit, start the daemon, point your browser or HTTP client to localhost:8118.

Docker: Multiple public images exist that bundle Privoxy with Tor [1][2]. The [1] approach using Alpine + runit gets the combined image under 15 MB. The [2] linuxconfig image is Debian-based and slightly heavier. Neither is official — the Privoxy project has no official Docker image and explicitly notes it has “no trusted build infrastructure” for binaries; packages are built by individual contributors [website].

What can go wrong:

  • Configuration complexity. The action file syntax is powerful but not intuitive. Getting your first custom rule right requires reading the user manual, not guessing. The learning curve is steeper than any tool with a web UI.
  • No trusted binary builds. The project’s own homepage says binary packages are built by individual contributors — if you’re security-conscious, this means either building from source or carefully verifying signatures [website].
  • HTTPS filtering limitations. Privoxy can tunnel HTTPS via CONNECT but cannot inspect or filter HTTPS content without additional SSL interception setup, which introduces certificate trust complexity and is not covered in the basic documentation.
  • No active monitoring. Privoxy doesn’t ship with health checks, dashboards, or alerting. You watch the log file.
  • Stale default blocklists. The built-in action files haven’t been maintained with the same velocity as browser-extension blocklists (uBlock Origin, etc.). For serious ad blocking, you’ll need to maintain your own lists or pull in community-maintained action files.

Realistic setup time for a developer: 15–30 minutes for a basic proxy. Getting custom filter rules right: several hours of reading the manual. For a non-technical founder: not the right tool.


Pros and Cons

Pros

  • GPL-2.0, no strings. Genuinely free software. You can embed it, redistribute it, modify it, build products with it — no commercial license conversation needed [website].
  • Lightweight. Runs alongside Tor in under 15 MB total Docker footprint [1]. Minimal RAM footprint on a VPS.
  • Programmable filtering. The action/filter file system gives you surgical control over HTTP traffic. Useful for things browser extensions can’t do — filtering for non-browser clients, network-wide rules, automated environments.
  • Reliable SOCKS5-to-HTTP bridge. The Tor+Privoxy combination is a well-trodden pattern. Both [1] and [2] treat this as solved infrastructure, not experimental [1][2]. Developer documentation ([3]) uses it as a standard building block for proxy test environments.
  • Mature codebase. 24 years in production with an active (if slow-moving) maintenance cycle. Version 4.1.0 released as stable [website].
  • SPI affiliation. Hosted under the same nonprofit umbrella as Debian, giving it more institutional stability than a solo developer’s side project [website].

Cons

  • No web UI for configuration. Rules are flat text files. There is a built-in status/toggle interface at config.privoxy.org but it’s read-mostly, not a configuration editor.
  • No trusted binary build infrastructure. The project acknowledges this explicitly — binaries may be built by community contributors, not a reproducible CI/CD pipeline [website]. This matters for security-conscious deployments.
  • Not maintained at modern velocity. SourceForge distribution, no GitHub, no issue tracker that’s publicly prominent. Contribution and issue visibility are lower than GitHub-hosted projects.
  • HTTPS content filtering requires extra work. Without SSL interception configured externally, Privoxy cannot inspect HTTPS bodies — it tunnels them. This limits its effectiveness for modern web traffic where most content is HTTPS.
  • Browser extensions do most of this better for browser traffic. uBlock Origin filters more ad patterns, updates blocklists automatically, and requires zero configuration. Privoxy’s value is for non-browser clients, automated traffic, and network-wide rules — not as a replacement for a browser extension.
  • Documentation is dense and dated in style. The user manual is thorough but written for a technical audience comfortable reading reference documentation. There’s no quick-start guide that gets you filtering within 5 minutes.

Who Should Use This / Who Shouldn’t

Use Privoxy if:

  • You’re building a Tor-routed privacy setup and need an HTTP frontend to a SOCKS5 proxy [1][2].
  • You’re running automated HTTP clients (crawlers, scripts, test suites) that need proxy-layer header manipulation or content filtering.
  • You need to simulate a corporate HTTP proxy environment for testing [3].
  • You’re building privacy infrastructure and need GPLv2 components.
  • You’re comfortable with config files and don’t need a dashboard.

Skip it (use Pi-hole or AdGuard Home instead) if:

  • What you actually want is network-wide ad blocking with a nice UI and automatic blocklist updates.
  • You’re a non-technical founder looking to simplify your stack.
  • You want something your team can manage without reading documentation.

Skip it (use mitmproxy instead) if:

  • Your use case is intercepting and inspecting HTTPS traffic for debugging — mitmproxy’s tooling is far more capable for that.

Skip it (use Squid instead) if:

  • You need a high-performance caching proxy for enterprise traffic management.

Skip it entirely if:

  • You’re running a browser and just want ads blocked. Install uBlock Origin. It takes 30 seconds and handles more patterns.

Alternatives Worth Considering

  • AdGuard Home — DNS-based network filtering with a modern web UI. Self-hosted, covers the ad/tracker blocking use case with far less configuration friction than Privoxy.
  • Pi-hole — The original DNS-based network adblocker. Widely used, large community, easy setup. If you’re not specifically building an HTTP proxy pipeline, Pi-hole covers most of what non-technical users want from Privoxy.
  • Tor Browser — For end-user anonymity, the Tor Browser bundle handles everything Privoxy would do in a Tor setup and requires no configuration [2].
  • mitmproxy — Developer-focused HTTP/HTTPS interception proxy with Python scripting, active development, good UI. Better choice if your use case is traffic inspection rather than filtering.
  • Squid — Enterprise-grade HTTP proxy with caching, ACLs, and SSL bumping. More complex, more capable, more resource-intensive.
  • tinyproxy — Lightweight HTTP proxy for simple forwarding with minimal features. Less configurable than Privoxy but simpler to get running.

Bottom Line

Privoxy is a 24-year-old tool that does one narrow thing very well: programmable HTTP proxy filtering. The Tor+Privoxy pattern is a legitimate, well-documented privacy setup that still works [1][2], and it remains a useful building block for developer test infrastructure [3]. The GPLv2 license is clean, the footprint is minimal, and the configuration system — once you understand it — gives you precise control over HTTP traffic.

The honest assessment for the target audience of this site: Privoxy is not for non-technical founders. It has no UI worth mentioning, no SaaS bill to cancel, no modern onboarding. It’s a Unix-style tool that does its job quietly in a config file. If you know why you need a proxy filter layer — specifically a proxy filter layer, not DNS-based ad blocking — then Privoxy is a solid choice. If someone sent you here because you want to block ads or stop being tracked, install AdGuard Home or Pi-hole instead. They’ll get you further in less time.


Sources

  1. RDX, Medium“Docker image with Tor, Privoxy and a process manager under 15 MB” (Oct 3, 2015). https://medium.com/@rdsubhas/docker-image-with-tor-privoxy-and-a-process-manager-under-15-mb-c9e344111b61

  2. linuxconfig.org“Docker Container Privacy Setup with Tor & Privoxy / Instant Privacy with Tor, Privoxy and Docker”. https://linuxconfig.org/instant-privacy-with-tor-privoxy-and-docker

  3. DDEV Documentation“HTTP Proxy Test Environments”. https://docs.ddev.com/en/stable/developers/http-proxy-test-environments/

Primary sources: