diff --git a/CHANGELOG b/CHANGELOG index 359b8a166..04c4f3311 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,29 @@ + +20 February 2012: mitmproxy 0.7: + + * 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. + + * 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! + + * Many minor bugfixes and improvements. + + 7 August 2011: mitmproxy 0.6: * New scripting API that allows much more flexible and fine-grained @@ -92,6 +118,3 @@ * "A" will now accept all intercepted connections * Lots of bugfixes - - - diff --git a/CONTRIBUTORS b/CONTRIBUTORS index c3f658ccb..47787dec9 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,8 +1,13 @@ - 278 Aldo Cortesi - 18 Henrik Nordstrom - 13 Thomas Roth - 10 Stephen Altamirano - 2 alts - 1 Yuangxuan Wang - 1 Henrik Nordström - 1 Felix Wolfsteller + 365 Aldo Cortesi + 18 Henrik Nordstrom + 13 Thomas Roth + 11 Stephen Altamirano + 5 András Veres-Szentkirályi + 2 alts + 2 Mark E. Haase + 2 Heikki Hannikainen + 1 meeee + 1 Yuangxuan Wang + 1 Rory McCann + 1 Henrik Nordström + 1 Felix Wolfsteller diff --git a/README.mkd b/README.mkd index 8647a665e..4c2af2da7 100644 --- a/README.mkd +++ b/README.mkd @@ -1,6 +1,3 @@ -# Please note that the master branch of mitmproxy is currently under heavy development. Feel free to test things out, but you may want to use a release. - - __mitmproxy__ is an SSL-capable man-in-the-middle proxy for HTTP. It provides a console interface that allows traffic flows to be inspected and edited on the fly. @@ -13,13 +10,14 @@ the case of __mitmproxy__, a built-in help page accessible through the _?_ keyboard shortcut. -Capabilities ------------- +Features +-------- - Intercept HTTP requests and responses and modify them on the fly. - Save complete HTTP conversations for later replay and analysis. - Replay the client-side of an HTTP conversations. - Replay HTTP responses of a previously recorded server. +- Reverse proxy mode to forward traffic to a specified server - Make scripted changes to HTTP traffic using Python. - SSL certificates for interception are generated on the fly. diff --git a/doc-src/_layout.html b/doc-src/_layout.html index c711e6dd1..f48f1e58e 100644 --- a/doc-src/_layout.html +++ b/doc-src/_layout.html @@ -14,7 +14,7 @@ $!nav if this.title!="docs" else ""!$ -

mitmproxy 0.6 docs

+

mitmproxy 0.7 docs

diff --git a/doc-src/faq.html b/doc-src/faq.html index a2e6810ff..7b38b04a2 100644 --- a/doc-src/faq.html +++ b/doc-src/faq.html @@ -1,5 +1,5 @@ -### Any tips for running mitmproxy on OSX? +## Any tips for running mitmproxy on OSX? You can use the OSX open program to create a simple and effective ~/.mailcap file to view HTTP bodies: @@ -12,7 +12,7 @@ video/*; /usr/bin/open -Wn %s -### I'd like to hack on mitmproxy. What should I work on? +## I'd like to hack on mitmproxy. What should I work on? There's a __todo__ file at the top of the source tree that outlines a variety of tasks, from simple to complex. If you don't have your own itch, feel free to diff --git a/doc-src/index.py b/doc-src/index.py index 451cf8d6e..bf21f5f1d 100644 --- a/doc-src/index.py +++ b/doc-src/index.py @@ -17,7 +17,7 @@ else: this.markup = markup.Markdown() ns.docMaintainer = "Aldo Cortesi" ns.docMaintainerEmail = "aldo@corte.si" -ns.copyright = u"\u00a9 mitmproxy project, 2011" +ns.copyright = u"\u00a9 mitmproxy project, 2012" ns.index = countershape.widgets.SiblingPageIndex('/index.html', divclass="pageindex") @@ -62,7 +62,7 @@ filt_help.extend( ] ) ns.filt_help = filt_help - + pages = [ diff --git a/libmproxy/version.py b/libmproxy/version.py index 95a48b679..ad9798a3b 100644 --- a/libmproxy/version.py +++ b/libmproxy/version.py @@ -1,2 +1,2 @@ -IVERSION = (0, 6) +IVERSION = (0, 7) VERSION = ".".join(str(i) for i in IVERSION) diff --git a/setup.py b/setup.py index bd4fbaa0c..418707c00 100644 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ def findPackages(path, dataExclude=[]): that only data _directories_ and their contents are returned - non-Python files at module scope are not, and should be manually included. - + dataExclude is a list of fnmatch-compatible expressions for files and directories that should not be included in pakcage_data. @@ -65,14 +65,12 @@ def findPackages(path, dataExclude=[]): return packages, package_data - - long_description = file("README.mkd").read() packages, package_data = findPackages("libmproxy") setup( name = "mitmproxy", version = version.VERSION, - description = "An interactive, SSL-capable man-in-the-middle HTTP proxy for penetration testers and software developers.", + description = "An interactive, SSL-capable, man-in-the-middle HTTP proxy for penetration testers and software developers.", long_description = long_description, author = "Aldo Cortesi", author_email = "aldo@corte.si", diff --git a/todo b/todo index 5bda36d1e..0d3d5d6c8 100644 --- a/todo +++ b/todo @@ -2,14 +2,25 @@ This is a loose collection of todo items, in case someone else wants to start hacking on mitmproxy. Drop me a line (aldo@corte.si) if you want to tackle any of these and need some pointers. -Features: +Targeted for 0.8: + - Upstream proxy support. + - Improve worst-case performance problem with XML-ish indenter + - Follow mode to keep most recent flow in view + - Rewrite the core to be asynchronous. I've done some research, and + although it's a bit of a bloated monster, it looks like Twisted is the way + to go. + - Verbose view to show timestamps + - Search within requests/responses + - Transparent proxy support + - Ordering a-la mutt's "o" shortcut + +Further ideas: - Add some "workspace" features to mitmproxy: - Flow comments - Copying/duplicating flows - Ordering by time, size, etc. a-la-mutt (o keyboard shorcut is reserved for this) - - Upstream proxy support. - Support HTTP Digest authentication through the stickyauth option. We'll - have to save the server nonce, and recalculate the hashes for each request. + have to save the server nonce, and recalculate the hashes for each request. - Chunked encoding support for requests (we already support it for responses). - A progress indicator for large files