Polipo: an ultra-simple proxy
Polipo is a web cache proxy written by Juliusz Chroboczek, light (one process, a few MB) and perfect in one specific case: behind an SSH tunnel. The SSH tunnel gives you a SOCKS and the browser needs an HTTP proxy: Polipo bridges the gap.
The minimal config
proxyAddress = "127.0.0.1"
proxyPort = 8123
cacheIsShared = false
diskCacheRoot = ""
The proxy listens on localhost:8123, no disk cache (the browser cache suffices) and bridges between HTTP and the tunnel’s SOCKS. The config is 4 lines.
The complete setup
# 1. The SSH tunnel
ssh -D 1080 user@server
# 2. Polipo talking to the SOCKS
polipo socksParentProxy=localhost:1080
The browser points to localhost:8123 as HTTP proxy, Polipo forwards to the SOCKS, the SOCKS traverses the SSH tunnel and the web arrives from the remote server. Three layers, each simple, the composite works.
What it is worth
Polipo does one thing and does it well: HTTP proxy with cache. It does not have haproxy ’s ACLs, not Pound’s stats, not load balancing capability. It has the lightness and simplicity of a proxy configured in 4 lines.
[edit: 2026] Polipo was replaced in practice by tinyproxy (even lighter) and privoxy (more features). But the SSH SOCKS + local HTTP proxy pattern remains the standard setup for browsing through a tunnel and Polipo earned its place in the chain.