Docs and Readme

- Don't keep a full duplicate readme just for pypi. Pypi really needs to
learn to read markdown.
- Style and content adjustments
This commit is contained in:
Aldo Cortesi 2013-01-01 16:35:52 +13:00
parent 8b768983a7
commit e93b343ac4
8 changed files with 33 additions and 116 deletions

View File

@ -1,9 +1,9 @@
__mitmproxy__ is an SSL-capable man-in-the-middle proxy for HTTP. It provides a __mitmproxy__ is an interactive, SSL-capable man-in-the-middle proxy for HTTP
console interface that allows traffic flows to be inspected and edited on the with a console interface.
fly.
__mitmdump__ is the command-line version of mitmproxy, with the same __mitmdump__ is the command-line version of mitmproxy. Think tcpdump for HTTP.
functionality but without the user interface. Think tcpdump for HTTP.
__libmproxy__ is the library that mitmproxy and mitmdump are built on.
Complete documentation and a set of practical tutorials is included in the Complete documentation and a set of practical tutorials is included in the
distribution package, and is also available at distribution package, and is also available at
@ -18,14 +18,15 @@ Features
- Replay the client-side of an HTTP conversations. - Replay the client-side of an HTTP conversations.
- Replay HTTP responses of a previously recorded server. - Replay HTTP responses of a previously recorded server.
- Reverse proxy mode to forward traffic to a specified server. - Reverse proxy mode to forward traffic to a specified server.
- Transparent proxy mode on OSX and Linux.
- Make scripted changes to HTTP traffic using Python. - Make scripted changes to HTTP traffic using Python.
- SSL certificates for interception are generated on the fly. - SSL certificates for interception are generated on the fly.
- And much, much more.
Download Download
-------- --------
Releases and rendered documentation can be found on the mitmproxy website: Releases and documentation can be found on the mitmproxy website:
[mitmproxy.org](http://mitmproxy.org) [mitmproxy.org](http://mitmproxy.org)
@ -42,7 +43,7 @@ Come join us in the #mitmproxy channel on the OFTC IRC network
We also have a mailing list, hosted here: We also have a mailing list, hosted here:
http://groups.google.com/group/mitmproxy [groups.google.com/group/mitmproxy](http://groups.google.com/group/mitmproxy)
Requirements Requirements
@ -51,17 +52,17 @@ Requirements
* [Python](http://www.python.org) 2.7.x. * [Python](http://www.python.org) 2.7.x.
* [PyOpenSSL](http://pypi.python.org/pypi/pyOpenSSL) 0.13 or newer. * [PyOpenSSL](http://pypi.python.org/pypi/pyOpenSSL) 0.13 or newer.
* [pyasn1](http://pypi.python.org/pypi/pyasn1) 0.1.2 or newer. * [pyasn1](http://pypi.python.org/pypi/pyasn1) 0.1.2 or newer.
* [urwid](http://excess.org/urwid/) version 0.9.8 or newer. * [urwid](http://excess.org/urwid/) version 1.1 or newer.
* [PIL](http://www.pythonware.com/products/pil/) version 1.1 or newer. * [PIL](http://www.pythonware.com/products/pil/) version 1.1 or newer.
* [lxml](http://lxml.de/) version 2.3 or newer. * [lxml](http://lxml.de/) version 2.3 or newer.
* [netlib](http://pypi.python.org/pypi/netlib) 0.1 or newer. * [netlib](http://pypi.python.org/pypi/netlib) 0.2.2 or newer.
The following auxiliary components may be needed if you plan to hack on The following auxiliary components may be needed if you plan to hack on
mitmproxy: mitmproxy:
* The test suite uses the [nose](http://readthedocs.org/docs/nose/en/latest/) unit testing * The test suite uses the [nose](http://readthedocs.org/docs/nose/en/latest/) unit testing
framework and requires [human_curl](https://github.com/Lispython/human_curl) and framework and requires [human_curl](https://github.com/Lispython/human_curl) and
[pathod](http://pypi.python.org/pypi/pathod). [pathod](http://pathod.org).
* Rendering the documentation requires [countershape](http://github.com/cortesi/countershape). * Rendering the documentation requires [countershape](http://github.com/cortesi/countershape).
__mitmproxy__ is tested and developed on OSX, Linux and OpenBSD. Windows is not __mitmproxy__ is tested and developed on OSX, Linux and OpenBSD. Windows is not

View File

@ -1,84 +1,11 @@
**mitmproxy** is an SSL-capable man-in-the-middle proxy for HTTP. It provides a **mitmproxy** is an interactive, SSL-capable man-in-the-middle proxy for HTTP
console interface that allows traffic flows to be inspected and edited on the with a console interface.
fly.
**mitmdump** is the command-line version of mitmproxy, with the same **mitmdump** is the command-line version of mitmproxy. Think tcpdump for HTTP.
functionality but without the user interface. Think tcpdump for HTTP.
**libmproxy** is the library that mitmproxy and mitmdump are built on.
Complete documentation and a set of practical tutorials is included in the Complete documentation and a set of practical tutorials is included in the
distribution package, and is also available at mitmproxy.org_. distribution package, and is also available at mitmproxy.org_.
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.
Download
--------
Releases and rendered documentation can be found on the mitmproxy website:
mitmproxy.org_
Source is hosted on github:
`github.com/cortesi/mitmproxy`_
Community
---------
Come join us in the #mitmproxy channel on the OFTC IRC network
(irc.oftc.net, port 6667).
We also have a mailing list, hosted here:
http://groups.google.com/group/mitmproxy
Requirements
------------
* Python_ 2.7.x.
* PyOpenSSL_ 0.13 or newer.
* pyasn1_ 0.1.2 or newer.
* urwid_ version 0.9.8 or newer.
* PIL_ version 1.1 or newer.
* lxml_ version 2.3 or newer.
The following auxiliary components may be needed if you plan to hack on
mitmproxy:
* The test suite uses the nose_ unit testing
framework.
* Rendering the documentation requires countershape_.
**mitmproxy** is tested and developed on OSX, Linux and OpenBSD. Windows is not
supported at the moment.
You should also make sure that your console environment is set up with the
following:
* EDITOR environment variable to determine the external editor.
* PAGER environment variable to determine the external pager.
* Appropriate entries in your mailcap files to determine external
viewers for request and response contents.
.. _mitmproxy.org: http://mitmproxy.org .. _mitmproxy.org: http://mitmproxy.org
.. _github.com/cortesi/mitmproxy: http://github.com/cortesi/mitmproxy
.. _python: http://www.python.org
.. _PyOpenSSL: http://pypi.python.org/pypi/pyOpenSSL
.. _pyasn1: http://pypi.python.org/pypi/pyasn1
.. _PIL: http://www.pythonware.com/products/pil/
.. _lxml: http://lxml.de/
.. _urwid: http://excess.org/urwid/
.. _nose: http://readthedocs.org/docs/nose/en/latest/
.. _countershape: http://github.com/cortesi/countershape

5
doc-src/02-docstyle.css Normal file
View File

@ -0,0 +1,5 @@
.terminal {
color: #c0c0c0;
font-size: 1em;
background: #000000;
}

View File

@ -17,7 +17,7 @@
<div class="span3"> <div class="span3">
<div class="well sidebar-nav"> <div class="well sidebar-nav">
<ul class="nav nav-list"> <ul class="nav nav-list">
$!nav("intro.html", this, state)!$ $!nav("index.html", this, state)!$
$!nav("install.html", this, state)!$ $!nav("install.html", this, state)!$
$!nav("mitmproxy.html", this, state)!$ $!nav("mitmproxy.html", this, state)!$
$!nav("mitmdump.html", this, state)!$ $!nav("mitmdump.html", this, state)!$
@ -58,7 +58,7 @@
</div> </div>
<div class="span9"> <div class="span9">
<h1>@!pageTitle!@</h1> <h1>@!this.title!@</h1>
$!body!$ $!body!$
</div> </div>

View File

@ -1 +1,4 @@
@!index_contents!@

View File

@ -6,37 +6,24 @@ sys.path.insert(0, "..")
from libmproxy import filt from libmproxy import filt
MITMPROXY_SRC = "~/git/public/mitmproxy" MITMPROXY_SRC = "~/git/public/mitmproxy"
if ns.options.website:
ns.title = countershape.template.Template(None, "<h1>@!this.title!@</h1>")
this.layout = countershape.Layout("_websitelayout.html")
else:
ns.title = countershape.template.Template(None, "<h1>@!this.title!@</h1>")
this.layout = countershape.Layout("_layout.html") this.layout = countershape.Layout("_layout.html")
this.titlePrefix = "mitmproxy 0.9 - "
this.markup = markup.Markdown() this.markup = markup.Markdown()
ns.docMaintainer = "Aldo Cortesi" ns.docMaintainer = "Aldo Cortesi"
ns.docMaintainerEmail = "aldo@corte.si" ns.docMaintainerEmail = "aldo@corte.si"
ns.copyright = u"\u00a9 mitmproxy project, 2012" ns.copyright = u"\u00a9 mitmproxy project, 2013"
ns.index = countershape.widgets.SiblingPageIndex('/index.html', divclass="pageindex")
def mpath(p): def mpath(p):
p = os.path.join(MITMPROXY_SRC, p) p = os.path.join(MITMPROXY_SRC, p)
return os.path.expanduser(p) return os.path.expanduser(p)
ns.license = file(mpath("LICENSE")).read()
ns.index_contents = file(mpath("README.mkd")).read() ns.index_contents = file(mpath("README.mkd")).read()
top = os.path.abspath(os.getcwd())
def example(s): def example(s):
d = file(mpath(s)).read() d = file(mpath(s)).read()
extemp = """<div class="example">%s<div class="example_legend">(%s)</div></div>""" extemp = """<div class="example">%s<div class="example_legend">(%s)</div></div>"""
return extemp%(countershape.template.Syntax("py")(d), s) return extemp%(countershape.template.Syntax("py")(d), s)
ns.example = example ns.example = example
filt_help = [] filt_help = []
@ -73,10 +60,8 @@ def nav(page, current, state):
return pre + '<a href="%s">%s</a></li>'%(model.UrlTo(page), p.title) return pre + '<a href="%s">%s</a></li>'%(model.UrlTo(page), p.title)
ns.nav = nav ns.nav = nav
pages = [ pages = [
Page("index.html", "docs"), Page("index.html", "Introduction"),
Page("intro.html", "Introduction"),
Page("install.html", "Installation"), Page("install.html", "Installation"),
Page("mitmproxy.html", "mitmproxy"), Page("mitmproxy.html", "mitmproxy"),
Page("mitmdump.html", "mitmdump"), Page("mitmdump.html", "mitmdump"),

View File

@ -13,7 +13,7 @@ sudo pip install mitmproxy
## From Source ## From Source
- When installing from source, you will need to install the - When installing from source, you will need to install the
[dependencies](@!urlTo("intro.html")!@) by hand. [dependencies](@!urlTo("index.html")!@) by hand.
- Then run the following command from the base of the source distribution: - Then run the following command from the base of the source distribution:
<pre> <pre>

View File

@ -1,4 +0,0 @@
@!index_contents!@