import os, sys import countershape from countershape import Page, Directory, PythonModule, markup, model import countershape.template sys.path.insert(0, "..") from libmproxy import filt MITMPROXY_SRC = "~/git/public/mitmproxy" if ns.options.website: ns.title = countershape.template.Template(None, "

@!this.title!@

") this.layout = countershape.Layout("_websitelayout.html") else: ns.title = countershape.template.Template(None, "

@!this.title!@

") this.layout = countershape.Layout("_layout.html") this.markup = markup.Markdown() ns.docMaintainer = "Aldo Cortesi" ns.docMaintainerEmail = "aldo@corte.si" ns.copyright = u"\u00a9 mitmproxy project, 2012" ns.index = countershape.widgets.SiblingPageIndex('/index.html', divclass="pageindex") def mpath(p): p = os.path.join(MITMPROXY_SRC, p) return os.path.expanduser(p) ns.license = file(mpath("LICENSE")).read() ns.index_contents = file(mpath("README.mkd")).read() top = os.path.abspath(os.getcwd()) def example(s): d = file(mpath(s)).read() extemp = """
%s
(%s)
""" return extemp%(countershape.template.Syntax("py")(d), s) ns.example = example filt_help = [] for i in filt.filt_unary: filt_help.append( ("~%s"%i.code, i.help) ) for i in filt.filt_rex: filt_help.append( ("~%s regex"%i.code, i.help) ) for i in filt.filt_int: filt_help.append( ("~%s int"%i.code, i.help) ) filt_help.sort() filt_help.extend( [ ("!", "unary not"), ("&", "and"), ("|", "or"), ("(...)", "grouping"), ] ) ns.filt_help = filt_help def nav(page, current, state): if current.match(page, False): pre = '
  • ' else: pre = "
  • " p = state.application.getPage(page) return pre + '%s
  • '%(model.UrlTo(page), p.title) ns.nav = nav pages = [ Page("index.html", "docs"), Page("intro.html", "Introduction"), Page("install.html", "Installation"), Page("mitmproxy.html", "mitmproxy"), Page("mitmdump.html", "mitmdump"), Page("clientreplay.html", "Client-side replay"), Page("serverreplay.html", "Server-side replay"), Page("sticky.html", "Sticky cookies and auth"), Page("upstreamcerts.html", "Upstream Certs"), Page("replacements.html", "Replacements"), Page("reverseproxy.html", "Reverse proxy mode"), Page("anticache.html", "Anticache"), Page("filters.html", "Filter expressions"), Page("ssl.html", "SSL Overview"), Page("transparent.html", "Transparent Overview"), Directory("certinstall"), Directory("scripting"), Directory("tutorials"), Directory("transparent"), Page("faq.html", "FAQ"), ]