Polipo is a small and fast caching web proxy (a web cache, an HTTP proxy, a proxy server). While Polipo was designed to be used by one person or a small group of people, there is nothing that prevents it from being used by a larger group.
Polipo has some features that are, as far as I know, unique among currently available proxies:
•Polipo will use HTTP/1.1 pipelining if it believes that the remote server supports it, whether the incoming requests are pipelined or come in simultaneously on multiple connections (this is more than the simple usage of persistent connections, which is done by e.g. Squid);
•Polipo will cache the initial segment of an instance if the download has been interrupted, and, if necessary, complete it later using Range requests;
•Polipo will upgrade client requests to HTTP/1.1 even if they come in as HTTP/1.0, and up- or downgrade server replies to the client's capabilities (this may involve conversion to or from the HTTP/1.1 chunked encoding);
•Polipo has complete support for IPv6 (except for scoped (link-local) addresses).
•Polipo can optionally use a technique known as Poor Man's Multiplexing to reduce latency even further.
Since it can speak both IPv4 and IPv6, Polipo can be used as a bridge between the IPv4 and IPv6 Internets: to allow an IPv6-only host to access IPv4 servers or vice versa.
Since it can speak the SOCKS protocol, Polipo can be used together with the tor anonymising network.
Polipo 1.0.5 (unreleased)
* Fixed a bug that could cause incorrect logging to syslog (thanks
to Sami Farin).
* Proper va_list handling for AMD64 and other RISC-like
architectures on non-GNU platforms.
* Implemented work-around for broken Content-Range headers.
* Use 1024 instead of 32 as the length of the listen queue.
* Implemented the ability to control the permissions set on the log file.
* Implemented the ability to scrub private information from logs.
* Tweaked the portable version of mktime_gmt. This will hopefully
fix the time issues on Windows. Thanks to MaxWell and Greg.
* Changed chunk allocator to use larger arenas on 64-bit arches.
* Fixed a bug that could prevent saving objects on disk. Thanks to
* Fixed an issue that could cause crash messages to go into the disk
* Fixed a bug that could cause the default chunk memory to be incorrect
on FreeBSD machines. Thanks to Frank Behrens.
* Fixed a number of bugs in the validation of Range requests. Thanks to
* Inhibited range requests for non-200 instances, as this breaks some
client software. Thanks to Ken Brazier.
8 January 2008: Polipo 1.0.4:
* Fixed the handling of tunnels with a parent proxy (thanks to
Richard Å puta).
* Fixed a bug that could cause connections to be shut down when
a server used the old (RFC 2068) semantics of ``100 Continue''
(thanks to Thomas Wiesel).
* Fixed a crash when a request URL was larger than 10 kB (thanks to
* Fixed a possible failure to read client requests larger than one
src only 1.0.5: http://www.pps.jussieu.fr/~jch/software/repos/polipo/