Middleman is a robust proxy server with many features designed to remove unwanted content, increase privacy, and to simply make surfing the Web a more pleasant experience. Some of the highlights include banner and popup blocking, HTTP and FTP content caching, NTLM and Basic authentication when forwarding through another proxy server, regular expression substitution in downloaded files and HTTP headers, regular expression substitution on requested URLs, many URL commands to temporarily change the proxy settings or to view information about a requested file, complete support for HTTP/1.1 including persistent connections and gzip encoding, and an intutive Web interface for configuring the proxy.
| Tags | Internet Proxy Servers |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Linux |
| Implementation | C |
Recent releases


Changes: This release fixes an occasional crash inside the prefetch thread, fixes a bug in transparent proxying, corrects the way the proxy daemonizes itself, corrects file permissions, and adds a new IP address filtering feature.


Changes: This version includes a major design overhaul, which moves most of the code into C++ classes. It also adds many features, bugfixes, and miscellaneous enhancements.


Changes: A bug that prevented headers sent by the server (such as Set-Cookie) that aren't handled internally by the proxy from being passed onto the client was fixed. A memory corruption bug due to the wrong amount of memory being allocated for mime filtering entries was fixed. A bug that prevented the proxy from using a forwarding proxy with no ICP type was fixed. A port range option was added to profile entries. Detection of content encoding was fixed to handle servers that return multiple types.


Changes: Support for ICP (Internet cache protocol) was added, making it possible to arrange several proxies in a hierarchy and share cached objects. It is now possible to specify multiple directories for cached objects to be stored. The 'Host' and 'File' options in most configuration sections were removed in favor of enabling/ disable profiles based on the URL requested. A workaround was added for a bug triggered by improper headers sent by Apache 1.3 when a tar.gz file was requested by a client that doesn't support gzip compression.


Changes: A new feature was added that allows profiles to be added or removed from the current request based on the URL. This makes it much easier to enable or disable groups of entries in other sections together for certain sites.
- All comments
Recent commentsRe: section file option missing when starting up
> I am a little lost, the section.xml path
> is correct, I checked out all of the
> paths, is there something else that
> message means?
My apologies.. I forgot to add the -s option to the
executable in mman.init for 2.0, replace the
${PROGRAM}... line with:
${PROGRAM} -c ${CONFIG} -s ${SECTION} -l
${LOGFILE} -d ${LOGLEVEL} -p ${PIDFILE};;
section file option missing when starting up
I am a little lost, the section.xml path is correct, I checked out all of the paths, is there something else that message means?
Mysterious loss of cookies
On a small number of web-sites, including for example freshmeat, middleman 1.9 is breaking cookies. I turned debugging up to the maximum but have been unable to see anything relevant in the logs. Do you have any suggestions.
Re: Sample config
Thanks for pointing that out... I forgot to copy the updated
configuration over when preparing the release.
It can be fixed from the web interface, however, if you fill
in all the values yourself and then save the settings.
Sample config
Good piece of software - been using it since 1.5.*
If you build your config.xml from the config.xml.sample file from 1.9, move the <cache></cache> section from the <global> section to its own section (I put mine after <access> and before <header>) otherwise the caching feature won't work and it can't be fixed throught the web interface.