mitmproxy 0.7

I'm happy to announce the release of mitmproxy 0.7. The biggest visible change is a new structured editor for headers, query strings and form fields. Other new feature include a reverse proxy mode, extended script API that makes many common tasks much easier, and a myriad of improvements to the interface (including a massive increase in speed). Everybody still on 0.6 should upgrade - get it here:

mitmproxy-0.7.tar.gz (docs)

You can also now install mitmproxy using pip, like so:

pip install mitmproxy

In other news, the project has had an amazing month, after a rash of high-profile results obtained using mitmproxy were published. It started with Arun Thampi's discovery that Path uploads users' address books to their servers. Things snowballed from there, and for a few days mitmproxy seemed to be everywhere. Similar findings were made for Hipster, The Verge did a mitmproxy-driven AddressbookGate expose (including vaguely threatening background shots of mitmproxy doing its dastardly work), and lots of people said nice things on Twitter.

To see the impact all of this for the mitmproxy project, you need only look at the Github page - watchers of the repo went from about 200 a month a go, to 950 at the time of this post.

Changelog

  • New built-in key/value editor. This lets you interactively edit URL query strings, headers and URL-encoded form data.
  • Extend script API to allow duplication and replay of flows.
  • API for easy manipulation of URL-encoded forms and query strings.
  • Add "D" shortcut in mitmproxy to duplicate a flow.
  • Reverse proxy mode. In this mode mitmproxy acts as an HTTP server, forwarding all traffic to a specified upstream server.
  • UI improvements - use Unicode characters to make GUI more compact, improve spacing and layout throughout.
  • Add support for filtering by HTTP method.
  • Add the ability to specify an HTTP body size limit.
  • Move to typed netstrings for serialization format - this makes 0.7 backwards-incompatible with serialized data from 0.6!
  • Significant improvements in speed and responsiveness of UI.
  • Many minor bugfixes and improvements.