mitmproxy 0.9

I'm happy to announce the release of mitmproxy 0.9. This is a major release, with huge improvements to mitmproxy pretty much across the board. So much has happened in the year since the last release that it's difficult to pick out the headlines. Mitmproxy is now faster, more scalable, and works in more tricky corner cases than ever before. Full transparent mode support has landed for both Linux and OSX. Content decoding is much nicer, with a slew of new targets like AMF and Protocol Buffers. We now have a WSGI container that allows you to host web apps right in the proxy. In addition to this, there is a myriad of new features, bugfixes and other small improvements.

There are also changes afoot in the project itself. As a first step, I've moved mitmproxy from the GPLv3 to an MIT license. I hope that this will make it easier for people to use the project in more contexts. Keep an eye out for more changes along these lines soon, geared to broadening participation in the project.

Changelog

  • Upstream certs mode is now the default.
  • Add a WSGI container that lets you host in-proxy web applications.
  • Full transparent proxy support for Linux and OSX.
  • Introduce netlib, a common codebase for mitmproxy and pathod (http://github.com/cortesi/netlib).
  • Full support for SNI.
  • Color palettes for mitmproxy, tailored for light and dark terminal backgrounds.
  • Stream flows to file as responses arrive with the "W" shortcut in mitmproxy.
  • Extend the filter language, including ~d domain match operator, ~a to match asset flows (js, images, css).
  • Follow mode in mitmproxy ("F" shortcut) to "tail" flows as they arrive.
  • --dummy-certs option to specify and preserve the dummy certificate directory.
  • Server replay from the current captured buffer.
  • Huge improvements in content views. We now have viewers for AMF, HTML, JSON, Javascript, images, XML, URL-encoded forms, as well as hexadecimal and raw views.
  • Add Set Headers, analogous to replacement hooks. Defines headers that are set on flows, based on a matching pattern.
  • A graphical editor for path components in mitmproxy.
  • A small set of standard user-agent strings, which can be used easily in the header editor.
  • Proxy authentication to limit access to mitmproxy