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 ""!$
-
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