aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.landscape.yml8
-rw-r--r--.sources/bootswatch.less (renamed from pathod/.sources/bootswatch.less)0
-rw-r--r--[-rwxr-xr-x].sources/make (renamed from pathod/.sources/make)0
-rw-r--r--.sources/variables.less (renamed from pathod/.sources/variables.less)0
-rw-r--r--.travis.yml2
-rw-r--r--CHANGELOG (renamed from mitmproxy/CHANGELOG)97
-rw-r--r--CONTRIBUTING.md39
-rw-r--r--MANIFEST.in4
-rw-r--r--README.rst4
-rw-r--r--docs/.gitignore (renamed from mitmproxy/docs/.gitignore)0
-rw-r--r--docs/Makefile (renamed from mitmproxy/docs/Makefile)0
-rw-r--r--docs/_templates/page.html (renamed from mitmproxy/docs/_templates/page.html)0
-rw-r--r--docs/certinstall-webapp.png (renamed from mitmproxy/docs/certinstall-webapp.png)bin61683 -> 61683 bytes
-rw-r--r--docs/certinstall.rst (renamed from mitmproxy/docs/certinstall.rst)0
-rw-r--r--docs/conf.py (renamed from mitmproxy/docs/conf.py)0
-rw-r--r--docs/config.rst (renamed from mitmproxy/docs/config.rst)0
-rw-r--r--docs/custom-routing.txt (renamed from mitmproxy/docs/custom-routing.txt)0
-rw-r--r--docs/dev/addingviews.html (renamed from mitmproxy/docs/dev/addingviews.html)0
-rw-r--r--docs/dev/architecture.rst (renamed from mitmproxy/docs/dev/architecture.rst)0
-rw-r--r--docs/dev/exceptions.rst (renamed from mitmproxy/docs/dev/exceptions.rst)0
-rw-r--r--docs/dev/models.rst (renamed from mitmproxy/docs/dev/models.rst)0
-rw-r--r--docs/dev/protocols.rst (renamed from mitmproxy/docs/dev/protocols.rst)0
-rw-r--r--docs/dev/proxy.rst (renamed from mitmproxy/docs/dev/proxy.rst)0
-rw-r--r--docs/dev/sslkeylogfile.rst (renamed from mitmproxy/docs/dev/sslkeylogfile.rst)0
-rw-r--r--docs/dev/testing.rst (renamed from mitmproxy/docs/dev/testing.rst)0
-rw-r--r--docs/favicon.ico (renamed from mitmproxy/docs/favicon.ico)bin5430 -> 5430 bytes
-rw-r--r--docs/features/anticache.rst (renamed from mitmproxy/docs/features/anticache.rst)0
-rw-r--r--docs/features/clientreplay.rst (renamed from mitmproxy/docs/features/clientreplay.rst)0
-rw-r--r--docs/features/filters.rst (renamed from mitmproxy/docs/features/filters.rst)0
-rw-r--r--docs/features/passthrough.rst (renamed from mitmproxy/docs/features/passthrough.rst)0
-rw-r--r--docs/features/proxyauth.rst (renamed from mitmproxy/docs/features/proxyauth.rst)0
-rw-r--r--docs/features/replacements.rst (renamed from mitmproxy/docs/features/replacements.rst)0
-rw-r--r--docs/features/responsestreaming.rst (renamed from mitmproxy/docs/features/responsestreaming.rst)0
-rw-r--r--docs/features/reverseproxy.rst (renamed from mitmproxy/docs/features/reverseproxy.rst)0
-rw-r--r--docs/features/serverreplay.rst (renamed from mitmproxy/docs/features/serverreplay.rst)0
-rw-r--r--docs/features/setheaders.rst (renamed from mitmproxy/docs/features/setheaders.rst)0
-rw-r--r--docs/features/socksproxy.rst (renamed from mitmproxy/docs/features/socksproxy.rst)0
-rw-r--r--docs/features/sticky.rst (renamed from mitmproxy/docs/features/sticky.rst)0
-rw-r--r--docs/features/tcpproxy.rst (renamed from mitmproxy/docs/features/tcpproxy.rst)0
-rw-r--r--docs/features/upstreamcerts.rst (renamed from mitmproxy/docs/features/upstreamcerts.rst)0
-rw-r--r--docs/features/upstreamproxy.rst (renamed from mitmproxy/docs/features/upstreamproxy.rst)0
-rw-r--r--docs/howmitmproxy.rst (renamed from mitmproxy/docs/howmitmproxy.rst)0
-rw-r--r--docs/index.rst (renamed from mitmproxy/docs/index.rst)0
-rw-r--r--docs/install.rst (renamed from mitmproxy/docs/install.rst)0
-rw-r--r--docs/introduction.rst (renamed from mitmproxy/docs/introduction.rst)0
-rw-r--r--docs/mitmdump.rst (renamed from mitmproxy/docs/mitmdump.rst)0
-rw-r--r--docs/mitmproxy-docs.png (renamed from mitmproxy/docs/mitmproxy-docs.png)bin21323 -> 21323 bytes
-rw-r--r--docs/mitmproxy-long.png (renamed from mitmproxy/docs/mitmproxy-long.png)bin123829 -> 123829 bytes
-rw-r--r--docs/mitmproxy.rst (renamed from mitmproxy/docs/mitmproxy.rst)0
-rw-r--r--docs/modes.rst (renamed from mitmproxy/docs/modes.rst)0
-rw-r--r--docs/schematics/_explicit.graffle/data.plist (renamed from mitmproxy/docs/schematics/_explicit.graffle/data.plist)0
-rw-r--r--docs/schematics/_explicit.graffle/image3.icns (renamed from mitmproxy/docs/schematics/_explicit.graffle/image3.icns)bin97327 -> 97327 bytes
-rw-r--r--docs/schematics/_explicit.graffle/image6.tiff (renamed from mitmproxy/docs/schematics/_explicit.graffle/image6.tiff)bin5075704 -> 5075704 bytes
-rw-r--r--docs/schematics/_explicit_https.graffle/data.plist (renamed from mitmproxy/docs/schematics/_explicit_https.graffle/data.plist)0
-rw-r--r--docs/schematics/_explicit_https.graffle/image3.icns (renamed from mitmproxy/docs/schematics/_explicit_https.graffle/image3.icns)bin97327 -> 97327 bytes
-rw-r--r--docs/schematics/_explicit_https.graffle/image6.tiff (renamed from mitmproxy/docs/schematics/_explicit_https.graffle/image6.tiff)bin5075704 -> 5075704 bytes
-rw-r--r--docs/schematics/_transparent.graffle/data.plist (renamed from mitmproxy/docs/schematics/_transparent.graffle/data.plist)0
-rw-r--r--docs/schematics/_transparent.graffle/image3.icns (renamed from mitmproxy/docs/schematics/_transparent.graffle/image3.icns)bin97327 -> 97327 bytes
-rw-r--r--docs/schematics/_transparent.graffle/image6.tiff (renamed from mitmproxy/docs/schematics/_transparent.graffle/image6.tiff)bin5075704 -> 5075704 bytes
-rw-r--r--docs/schematics/_transparent_https.graffle/data.plist (renamed from mitmproxy/docs/schematics/_transparent_https.graffle/data.plist)0
-rw-r--r--docs/schematics/_transparent_https.graffle/image3.icns (renamed from mitmproxy/docs/schematics/_transparent_https.graffle/image3.icns)bin97327 -> 97327 bytes
-rw-r--r--docs/schematics/_transparent_https.graffle/image6.tiff (renamed from mitmproxy/docs/schematics/_transparent_https.graffle/image6.tiff)bin5075704 -> 5075704 bytes
-rw-r--r--docs/schematics/architecture.pdf (renamed from mitmproxy/docs/schematics/architecture.pdf)bin182446 -> 182446 bytes
-rw-r--r--docs/schematics/architecture.png (renamed from mitmproxy/docs/schematics/architecture.png)bin87365 -> 87365 bytes
-rw-r--r--docs/schematics/architecture.vsdx (renamed from mitmproxy/docs/schematics/architecture.vsdx)bin60922 -> 60922 bytes
-rw-r--r--docs/schematics/how-mitmproxy-works-explicit-https.png (renamed from mitmproxy/docs/schematics/how-mitmproxy-works-explicit-https.png)bin78951 -> 78951 bytes
-rw-r--r--docs/schematics/how-mitmproxy-works-explicit.png (renamed from mitmproxy/docs/schematics/how-mitmproxy-works-explicit.png)bin65305 -> 65305 bytes
-rw-r--r--docs/schematics/how-mitmproxy-works-transparent-https.png (renamed from mitmproxy/docs/schematics/how-mitmproxy-works-transparent-https.png)bin79758 -> 79758 bytes
-rw-r--r--docs/schematics/how-mitmproxy-works-transparent.png (renamed from mitmproxy/docs/schematics/how-mitmproxy-works-transparent.png)bin69375 -> 69375 bytes
-rw-r--r--docs/schematics/proxy-modes-flowchart.png (renamed from mitmproxy/docs/schematics/proxy-modes-flowchart.png)bin71622 -> 71622 bytes
-rw-r--r--docs/schematics/proxy-modes-regular.png (renamed from mitmproxy/docs/schematics/proxy-modes-regular.png)bin18283 -> 18283 bytes
-rw-r--r--docs/schematics/proxy-modes-reverse.png (renamed from mitmproxy/docs/schematics/proxy-modes-reverse.png)bin16719 -> 16719 bytes
-rw-r--r--docs/schematics/proxy-modes-transparent-1.png (renamed from mitmproxy/docs/schematics/proxy-modes-transparent-1.png)bin14558 -> 14558 bytes
-rw-r--r--docs/schematics/proxy-modes-transparent-2.png (renamed from mitmproxy/docs/schematics/proxy-modes-transparent-2.png)bin23375 -> 23375 bytes
-rw-r--r--docs/schematics/proxy-modes-transparent-3.png (renamed from mitmproxy/docs/schematics/proxy-modes-transparent-3.png)bin23855 -> 23855 bytes
-rw-r--r--docs/schematics/proxy-modes-transparent-wrong.png (renamed from mitmproxy/docs/schematics/proxy-modes-transparent-wrong.png)bin14719 -> 14719 bytes
-rw-r--r--docs/schematics/proxy-modes-upstream.png (renamed from mitmproxy/docs/schematics/proxy-modes-upstream.png)bin14781 -> 14781 bytes
-rw-r--r--docs/schematics/proxy-modes.pdf (renamed from mitmproxy/docs/schematics/proxy-modes.pdf)bin335485 -> 335485 bytes
-rw-r--r--docs/schematics/proxy-modes.vsdx (renamed from mitmproxy/docs/schematics/proxy-modes.vsdx)bin191464 -> 191464 bytes
-rw-r--r--docs/screenshots/firefox3-import.jpg (renamed from mitmproxy/docs/screenshots/firefox3-import.jpg)bin55496 -> 55496 bytes
-rw-r--r--docs/screenshots/firefox3-trust.jpg (renamed from mitmproxy/docs/screenshots/firefox3-trust.jpg)bin31495 -> 31495 bytes
-rw-r--r--docs/screenshots/firefox3.jpg (renamed from mitmproxy/docs/screenshots/firefox3.jpg)bin57366 -> 57366 bytes
-rw-r--r--docs/screenshots/ios-gateway.png (renamed from mitmproxy/docs/screenshots/ios-gateway.png)bin154469 -> 154469 bytes
-rw-r--r--docs/screenshots/ios-installed.png (renamed from mitmproxy/docs/screenshots/ios-installed.png)bin80251 -> 80251 bytes
-rw-r--r--docs/screenshots/ios-manual.png (renamed from mitmproxy/docs/screenshots/ios-manual.png)bin196431 -> 196431 bytes
-rw-r--r--docs/screenshots/ios-profile.png (renamed from mitmproxy/docs/screenshots/ios-profile.png)bin83364 -> 83364 bytes
-rw-r--r--docs/screenshots/ios-reverse.png (renamed from mitmproxy/docs/screenshots/ios-reverse.png)bin66150 -> 66150 bytes
-rw-r--r--docs/screenshots/ios-warning.png (renamed from mitmproxy/docs/screenshots/ios-warning.png)bin75604 -> 75604 bytes
-rw-r--r--docs/screenshots/mitmproxy-flowview.png (renamed from mitmproxy/docs/screenshots/mitmproxy-flowview.png)bin315864 -> 315864 bytes
-rw-r--r--docs/screenshots/mitmproxy-intercept-filt.png (renamed from mitmproxy/docs/screenshots/mitmproxy-intercept-filt.png)bin18332 -> 18332 bytes
-rw-r--r--docs/screenshots/mitmproxy-intercept-mid.png (renamed from mitmproxy/docs/screenshots/mitmproxy-intercept-mid.png)bin19841 -> 19841 bytes
-rw-r--r--docs/screenshots/mitmproxy-intercept-options.png (renamed from mitmproxy/docs/screenshots/mitmproxy-intercept-options.png)bin41281 -> 41281 bytes
-rw-r--r--docs/screenshots/mitmproxy-intercept-result.png (renamed from mitmproxy/docs/screenshots/mitmproxy-intercept-result.png)bin22855 -> 22855 bytes
-rw-r--r--docs/screenshots/mitmproxy-kveditor-editmode.png (renamed from mitmproxy/docs/screenshots/mitmproxy-kveditor-editmode.png)bin44528 -> 44528 bytes
-rw-r--r--docs/screenshots/mitmproxy-kveditor.png (renamed from mitmproxy/docs/screenshots/mitmproxy-kveditor.png)bin44852 -> 44852 bytes
-rw-r--r--docs/screenshots/mitmproxy.png (renamed from mitmproxy/docs/screenshots/mitmproxy.png)bin152596 -> 152596 bytes
-rw-r--r--docs/screenshots/osx-addcert-alwaystrust.png (renamed from mitmproxy/docs/screenshots/osx-addcert-alwaystrust.png)bin47146 -> 47146 bytes
-rw-r--r--docs/screenshots/win7-certstore-trustedroot.png (renamed from mitmproxy/docs/screenshots/win7-certstore-trustedroot.png)bin39236 -> 39236 bytes
-rw-r--r--docs/screenshots/win7-certstore.png (renamed from mitmproxy/docs/screenshots/win7-certstore.png)bin37453 -> 37453 bytes
-rw-r--r--docs/screenshots/win7-wizard.png (renamed from mitmproxy/docs/screenshots/win7-wizard.png)bin66456 -> 66456 bytes
-rw-r--r--docs/screenshots/winpythoninstaller.jpg (renamed from mitmproxy/docs/screenshots/winpythoninstaller.jpg)bin46628 -> 46628 bytes
-rw-r--r--docs/scripting/inlinescripts.rst (renamed from mitmproxy/docs/scripting/inlinescripts.rst)0
-rw-r--r--docs/scripting/mitmproxy.rst (renamed from mitmproxy/docs/scripting/mitmproxy.rst)0
-rw-r--r--docs/transparent.rst (renamed from mitmproxy/docs/transparent.rst)0
-rw-r--r--docs/transparent/linux.rst (renamed from mitmproxy/docs/transparent/linux.rst)0
-rw-r--r--docs/transparent/osx.rst (renamed from mitmproxy/docs/transparent/osx.rst)0
-rw-r--r--docs/tutorials/30second.rst (renamed from mitmproxy/docs/tutorials/30second.rst)0
-rw-r--r--docs/tutorials/gamecenter.rst (renamed from mitmproxy/docs/tutorials/gamecenter.rst)0
-rw-r--r--docs/tutorials/leaderboard.png (renamed from mitmproxy/docs/tutorials/leaderboard.png)bin448368 -> 448368 bytes
-rw-r--r--docs/tutorials/one.png (renamed from mitmproxy/docs/tutorials/one.png)bin141443 -> 141443 bytes
-rw-r--r--docs/tutorials/supermega.png (renamed from mitmproxy/docs/tutorials/supermega.png)bin92889 -> 92889 bytes
-rw-r--r--docs/tutorials/transparent-dhcp.rst (renamed from mitmproxy/docs/tutorials/transparent-dhcp.rst)0
-rw-r--r--docs/tutorials/transparent-dhcp/step1_proxy.png (renamed from mitmproxy/docs/tutorials/transparent-dhcp/step1_proxy.png)bin246413 -> 246413 bytes
-rw-r--r--docs/tutorials/transparent-dhcp/step1_vbox_eth0.png (renamed from mitmproxy/docs/tutorials/transparent-dhcp/step1_vbox_eth0.png)bin28237 -> 28237 bytes
-rw-r--r--docs/tutorials/transparent-dhcp/step1_vbox_eth1.png (renamed from mitmproxy/docs/tutorials/transparent-dhcp/step1_vbox_eth1.png)bin28765 -> 28765 bytes
-rw-r--r--docs/tutorials/transparent-dhcp/step2_proxied_vm.png (renamed from mitmproxy/docs/tutorials/transparent-dhcp/step2_proxied_vm.png)bin36775 -> 36775 bytes
-rw-r--r--examples/README (renamed from mitmproxy/examples/README)0
-rw-r--r--examples/add_header.py (renamed from mitmproxy/examples/add_header.py)0
-rw-r--r--examples/change_upstream_proxy.py (renamed from mitmproxy/examples/change_upstream_proxy.py)0
-rw-r--r--examples/custom_contentviews.py (renamed from mitmproxy/examples/custom_contentviews.py)0
-rw-r--r--examples/dns_spoofing.py (renamed from mitmproxy/examples/dns_spoofing.py)0
-rw-r--r--examples/dup_and_replay.py (renamed from mitmproxy/examples/dup_and_replay.py)0
-rw-r--r--examples/filt.py (renamed from mitmproxy/examples/filt.py)0
-rw-r--r--examples/flowbasic (renamed from mitmproxy/examples/flowbasic)0
-rw-r--r--examples/flowwriter.py (renamed from mitmproxy/examples/flowwriter.py)0
-rw-r--r--examples/har_extractor.py (renamed from mitmproxy/examples/har_extractor.py)0
-rw-r--r--examples/iframe_injector.py (renamed from mitmproxy/examples/iframe_injector.py)0
-rw-r--r--examples/mitmproxywrapper.py (renamed from mitmproxy/examples/mitmproxywrapper.py)0
-rw-r--r--examples/modify_form.py (renamed from mitmproxy/examples/modify_form.py)0
-rw-r--r--examples/modify_querystring.py (renamed from mitmproxy/examples/modify_querystring.py)0
-rw-r--r--examples/modify_response_body.py (renamed from mitmproxy/examples/modify_response_body.py)0
-rw-r--r--examples/nonblocking.py (renamed from mitmproxy/examples/nonblocking.py)0
-rw-r--r--examples/pathod/libpathod_pathoc.py (renamed from pathod/examples/libpathod_pathoc.py)0
-rw-r--r--examples/pathod/test_context.py (renamed from pathod/examples/test_context.py)0
-rw-r--r--examples/pathod/test_setup.py (renamed from pathod/examples/test_setup.py)0
-rw-r--r--examples/pathod/test_setupall.py (renamed from pathod/examples/test_setupall.py)0
-rw-r--r--examples/proxapp.py (renamed from mitmproxy/examples/proxapp.py)0
-rw-r--r--examples/read_dumpfile (renamed from mitmproxy/examples/read_dumpfile)0
-rw-r--r--examples/redirect_requests.py (renamed from mitmproxy/examples/redirect_requests.py)0
-rw-r--r--examples/sslstrip.py (renamed from mitmproxy/examples/sslstrip.py)0
-rw-r--r--examples/stickycookies (renamed from mitmproxy/examples/stickycookies)0
-rw-r--r--examples/stream.py (renamed from mitmproxy/examples/stream.py)0
-rw-r--r--examples/stream_modify.py (renamed from mitmproxy/examples/stream_modify.py)0
-rw-r--r--examples/stub.py (renamed from mitmproxy/examples/stub.py)0
-rw-r--r--examples/tcp_message.py (renamed from mitmproxy/examples/tcp_message.py)0
-rw-r--r--examples/tls_passthrough.py (renamed from mitmproxy/examples/tls_passthrough.py)0
-rw-r--r--examples/upsidedownternet.py (renamed from mitmproxy/examples/upsidedownternet.py)0
-rw-r--r--issue_template.md19
-rw-r--r--mitmproxy/MANIFEST.in2
-rw-r--r--mitmproxy/README.rst73
-rw-r--r--mitmproxy/__init__.py (renamed from mitmproxy/mitmproxy/__init__.py)0
-rw-r--r--mitmproxy/cmdline.py (renamed from mitmproxy/mitmproxy/cmdline.py)0
-rw-r--r--mitmproxy/console/__init__.py (renamed from mitmproxy/mitmproxy/console/__init__.py)0
-rw-r--r--mitmproxy/console/common.py (renamed from mitmproxy/mitmproxy/console/common.py)0
-rw-r--r--mitmproxy/console/flowdetailview.py (renamed from mitmproxy/mitmproxy/console/flowdetailview.py)0
-rw-r--r--mitmproxy/console/flowlist.py (renamed from mitmproxy/mitmproxy/console/flowlist.py)0
-rw-r--r--mitmproxy/console/flowview.py (renamed from mitmproxy/mitmproxy/console/flowview.py)7
-rw-r--r--mitmproxy/console/grideditor.py (renamed from mitmproxy/mitmproxy/console/grideditor.py)0
-rw-r--r--mitmproxy/console/help.py (renamed from mitmproxy/mitmproxy/console/help.py)0
-rw-r--r--mitmproxy/console/options.py (renamed from mitmproxy/mitmproxy/console/options.py)0
-rw-r--r--mitmproxy/console/palettepicker.py (renamed from mitmproxy/mitmproxy/console/palettepicker.py)0
-rw-r--r--mitmproxy/console/palettes.py (renamed from mitmproxy/mitmproxy/console/palettes.py)0
-rw-r--r--mitmproxy/console/pathedit.py (renamed from mitmproxy/mitmproxy/console/pathedit.py)0
-rw-r--r--mitmproxy/console/searchable.py (renamed from mitmproxy/mitmproxy/console/searchable.py)0
-rw-r--r--mitmproxy/console/select.py (renamed from mitmproxy/mitmproxy/console/select.py)0
-rw-r--r--mitmproxy/console/signals.py (renamed from mitmproxy/mitmproxy/console/signals.py)0
-rw-r--r--mitmproxy/console/statusbar.py (renamed from mitmproxy/mitmproxy/console/statusbar.py)0
-rw-r--r--mitmproxy/console/tabs.py (renamed from mitmproxy/mitmproxy/console/tabs.py)0
-rw-r--r--mitmproxy/console/window.py (renamed from mitmproxy/mitmproxy/console/window.py)0
-rw-r--r--mitmproxy/contentviews.py (renamed from mitmproxy/mitmproxy/contentviews.py)27
-rw-r--r--mitmproxy/contrib/README (renamed from mitmproxy/mitmproxy/contrib/README)0
-rw-r--r--mitmproxy/contrib/__init__.py (renamed from mitmproxy/mitmproxy/contrib/__init__.py)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/__init__.py (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/__init__.py)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/__init__.py (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/__init__.py)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/javascriptobfuscator.py (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/javascriptobfuscator.py)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/myobfuscate.py (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/myobfuscate.py)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/packer.py (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/packer.py)0
-rw-r--r--mitmproxy/contrib/jsbeautifier/unpackers/urlencode.py (renamed from mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/urlencode.py)0
-rw-r--r--mitmproxy/contrib/tls/__init__.py (renamed from mitmproxy/mitmproxy/contrib/tls/__init__.py)0
-rw-r--r--mitmproxy/contrib/tls/_constructs.py (renamed from mitmproxy/mitmproxy/contrib/tls/_constructs.py)0
-rw-r--r--mitmproxy/contrib/tls/utils.py (renamed from mitmproxy/mitmproxy/contrib/tls/utils.py)0
-rw-r--r--mitmproxy/contrib/wbxml/ASCommandResponse.py (renamed from mitmproxy/mitmproxy/contrib/wbxml/ASCommandResponse.py)0
-rw-r--r--mitmproxy/contrib/wbxml/ASWBXML.py (renamed from mitmproxy/mitmproxy/contrib/wbxml/ASWBXML.py)0
-rw-r--r--mitmproxy/contrib/wbxml/ASWBXMLByteQueue.py (renamed from mitmproxy/mitmproxy/contrib/wbxml/ASWBXMLByteQueue.py)0
-rw-r--r--mitmproxy/contrib/wbxml/ASWBXMLCodePage.py (renamed from mitmproxy/mitmproxy/contrib/wbxml/ASWBXMLCodePage.py)0
-rw-r--r--mitmproxy/contrib/wbxml/GlobalTokens.py (renamed from mitmproxy/mitmproxy/contrib/wbxml/GlobalTokens.py)0
-rw-r--r--mitmproxy/contrib/wbxml/InvalidDataException.py (renamed from mitmproxy/mitmproxy/contrib/wbxml/InvalidDataException.py)0
-rw-r--r--mitmproxy/contrib/wbxml/__init__.py (renamed from mitmproxy/mitmproxy/contrib/wbxml/__init__.py)0
-rw-r--r--mitmproxy/controller.py (renamed from mitmproxy/mitmproxy/controller.py)0
-rw-r--r--mitmproxy/dump.py (renamed from mitmproxy/mitmproxy/dump.py)0
-rw-r--r--mitmproxy/exceptions.py (renamed from mitmproxy/mitmproxy/exceptions.py)0
-rw-r--r--mitmproxy/filt.py (renamed from mitmproxy/mitmproxy/filt.py)0
-rw-r--r--mitmproxy/flow.py (renamed from mitmproxy/mitmproxy/flow.py)0
-rw-r--r--mitmproxy/flow_export.py (renamed from mitmproxy/mitmproxy/flow_export.py)0
-rw-r--r--mitmproxy/flow_format_compat.py (renamed from mitmproxy/mitmproxy/flow_format_compat.py)0
-rw-r--r--mitmproxy/main.py (renamed from mitmproxy/mitmproxy/main.py)0
-rw-r--r--mitmproxy/models/__init__.py (renamed from mitmproxy/mitmproxy/models/__init__.py)0
-rw-r--r--mitmproxy/models/connections.py (renamed from mitmproxy/mitmproxy/models/connections.py)0
-rw-r--r--mitmproxy/models/flow.py (renamed from mitmproxy/mitmproxy/models/flow.py)0
-rw-r--r--mitmproxy/models/http.py (renamed from mitmproxy/mitmproxy/models/http.py)0
-rw-r--r--mitmproxy/onboarding/__init__.py (renamed from mitmproxy/mitmproxy/onboarding/__init__.py)0
-rw-r--r--mitmproxy/onboarding/app.py (renamed from mitmproxy/mitmproxy/onboarding/app.py)0
-rw-r--r--mitmproxy/onboarding/static/bootstrap.min.css (renamed from mitmproxy/mitmproxy/onboarding/static/bootstrap.min.css)0
-rw-r--r--mitmproxy/onboarding/static/fontawesome/css/font-awesome.css (renamed from mitmproxy/mitmproxy/onboarding/static/fontawesome/css/font-awesome.css)0
-rw-r--r--mitmproxy/onboarding/static/fontawesome/css/font-awesome.min.css (renamed from mitmproxy/mitmproxy/onboarding/static/fontawesome/css/font-awesome.min.css)0
-rw-r--r--mitmproxy/onboarding/static/fontawesome/fonts/FontAwesome.otf (renamed from mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/FontAwesome.otf)bin62856 -> 62856 bytes
-rw-r--r--mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.eot (renamed from mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.eot)bin38205 -> 38205 bytes
-rw-r--r--mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.svg (renamed from mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.svg)0
-rw-r--r--mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.ttf (renamed from mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.ttf)bin80652 -> 80652 bytes
-rw-r--r--mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.woff (renamed from mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.woff)bin44432 -> 44432 bytes
-rw-r--r--mitmproxy/onboarding/static/mitmproxy.css (renamed from mitmproxy/mitmproxy/onboarding/static/mitmproxy.css)0
-rw-r--r--mitmproxy/onboarding/templates/frame.html (renamed from mitmproxy/mitmproxy/onboarding/templates/frame.html)0
-rw-r--r--mitmproxy/onboarding/templates/index.html (renamed from mitmproxy/mitmproxy/onboarding/templates/index.html)0
-rw-r--r--mitmproxy/onboarding/templates/layout.html (renamed from mitmproxy/mitmproxy/onboarding/templates/layout.html)0
-rw-r--r--mitmproxy/platform/__init__.py (renamed from mitmproxy/mitmproxy/platform/__init__.py)0
-rw-r--r--mitmproxy/platform/linux.py (renamed from mitmproxy/mitmproxy/platform/linux.py)0
-rw-r--r--mitmproxy/platform/osx.py (renamed from mitmproxy/mitmproxy/platform/osx.py)0
-rw-r--r--mitmproxy/platform/pf.py (renamed from mitmproxy/mitmproxy/platform/pf.py)0
-rw-r--r--mitmproxy/platform/windows.py (renamed from mitmproxy/mitmproxy/platform/windows.py)0
-rw-r--r--mitmproxy/protocol/__init__.py (renamed from mitmproxy/mitmproxy/protocol/__init__.py)0
-rw-r--r--mitmproxy/protocol/base.py (renamed from mitmproxy/mitmproxy/protocol/base.py)0
-rw-r--r--mitmproxy/protocol/http.py (renamed from mitmproxy/mitmproxy/protocol/http.py)0
-rw-r--r--mitmproxy/protocol/http1.py (renamed from mitmproxy/mitmproxy/protocol/http1.py)0
-rw-r--r--mitmproxy/protocol/http2.py (renamed from mitmproxy/mitmproxy/protocol/http2.py)15
-rw-r--r--mitmproxy/protocol/http_replay.py (renamed from mitmproxy/mitmproxy/protocol/http_replay.py)0
-rw-r--r--mitmproxy/protocol/rawtcp.py (renamed from mitmproxy/mitmproxy/protocol/rawtcp.py)0
-rw-r--r--mitmproxy/protocol/tls.py (renamed from mitmproxy/mitmproxy/protocol/tls.py)0
-rw-r--r--mitmproxy/proxy/__init__.py (renamed from mitmproxy/mitmproxy/proxy/__init__.py)0
-rw-r--r--mitmproxy/proxy/config.py (renamed from mitmproxy/mitmproxy/proxy/config.py)0
-rw-r--r--mitmproxy/proxy/modes/__init__.py (renamed from mitmproxy/mitmproxy/proxy/modes/__init__.py)0
-rw-r--r--mitmproxy/proxy/modes/http_proxy.py (renamed from mitmproxy/mitmproxy/proxy/modes/http_proxy.py)0
-rw-r--r--mitmproxy/proxy/modes/reverse_proxy.py (renamed from mitmproxy/mitmproxy/proxy/modes/reverse_proxy.py)0
-rw-r--r--mitmproxy/proxy/modes/socks_proxy.py (renamed from mitmproxy/mitmproxy/proxy/modes/socks_proxy.py)0
-rw-r--r--mitmproxy/proxy/modes/transparent_proxy.py (renamed from mitmproxy/mitmproxy/proxy/modes/transparent_proxy.py)0
-rw-r--r--mitmproxy/proxy/root_context.py (renamed from mitmproxy/mitmproxy/proxy/root_context.py)0
-rw-r--r--mitmproxy/proxy/server.py (renamed from mitmproxy/mitmproxy/proxy/server.py)0
-rw-r--r--mitmproxy/script/__init__.py (renamed from mitmproxy/mitmproxy/script/__init__.py)0
-rw-r--r--mitmproxy/script/concurrent.py (renamed from mitmproxy/mitmproxy/script/concurrent.py)0
-rw-r--r--mitmproxy/script/reloader.py (renamed from mitmproxy/mitmproxy/script/reloader.py)0
-rw-r--r--mitmproxy/script/script.py (renamed from mitmproxy/mitmproxy/script/script.py)0
-rw-r--r--mitmproxy/script/script_context.py (renamed from mitmproxy/mitmproxy/script/script_context.py)0
-rw-r--r--mitmproxy/setup.cfg11
-rw-r--r--mitmproxy/stateobject.py (renamed from mitmproxy/mitmproxy/stateobject.py)0
-rw-r--r--mitmproxy/tnetstring.py (renamed from mitmproxy/mitmproxy/tnetstring.py)0
-rw-r--r--mitmproxy/utils.py (renamed from mitmproxy/mitmproxy/utils.py)0
-rw-r--r--mitmproxy/version.py (renamed from mitmproxy/mitmproxy/version.py)0
-rw-r--r--mitmproxy/web/__init__.py (renamed from mitmproxy/mitmproxy/web/__init__.py)0
-rw-r--r--mitmproxy/web/app.py (renamed from mitmproxy/mitmproxy/web/app.py)0
-rw-r--r--mitmproxy/web/static/app.css (renamed from mitmproxy/mitmproxy/web/static/app.css)0
-rw-r--r--mitmproxy/web/static/app.js (renamed from mitmproxy/mitmproxy/web/static/app.js)0
-rw-r--r--mitmproxy/web/static/fonts/fontawesome-webfont.eot (renamed from mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.eot)bin56006 -> 56006 bytes
-rw-r--r--mitmproxy/web/static/fonts/fontawesome-webfont.svg (renamed from mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.svg)0
-rw-r--r--mitmproxy/web/static/fonts/fontawesome-webfont.ttf (renamed from mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.ttf)bin112160 -> 112160 bytes
-rw-r--r--mitmproxy/web/static/fonts/fontawesome-webfont.woff (renamed from mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.woff)bin65452 -> 65452 bytes
-rw-r--r--mitmproxy/web/static/images/chrome-devtools/LICENSE (renamed from mitmproxy/mitmproxy/web/static/images/chrome-devtools/LICENSE)0
-rw-r--r--mitmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png)bin1005 -> 1005 bytes
-rw-r--r--mitmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png)bin951 -> 951 bytes
-rw-r--r--mitmproxy/web/static/images/chrome-devtools/resourceJSIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceJSIcon.png)bin787 -> 787 bytes
-rw-r--r--mitmproxy/web/static/images/chrome-devtools/resourcePlainIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourcePlainIcon.png)bin295 -> 295 bytes
-rw-r--r--mitmproxy/web/static/images/resourceExecutableIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/resourceExecutableIcon.png)bin853 -> 853 bytes
-rw-r--r--mitmproxy/web/static/images/resourceFlashIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/resourceFlashIcon.png)bin921 -> 921 bytes
-rw-r--r--mitmproxy/web/static/images/resourceImageIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/resourceImageIcon.png)bin976 -> 976 bytes
-rw-r--r--mitmproxy/web/static/images/resourceJavaIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/resourceJavaIcon.png)bin861 -> 861 bytes
-rw-r--r--mitmproxy/web/static/images/resourceNotModifiedIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/resourceNotModifiedIcon.png)bin1072 -> 1072 bytes
-rw-r--r--mitmproxy/web/static/images/resourceRedirectIcon.png (renamed from mitmproxy/mitmproxy/web/static/images/resourceRedirectIcon.png)bin1174 -> 1174 bytes
-rw-r--r--mitmproxy/web/static/vendor.css (renamed from mitmproxy/mitmproxy/web/static/vendor.css)0
-rw-r--r--mitmproxy/web/static/vendor.js (renamed from mitmproxy/mitmproxy/web/static/vendor.js)0
-rw-r--r--mitmproxy/web/templates/index.html (renamed from mitmproxy/mitmproxy/web/templates/index.html)0
-rw-r--r--mitmproxy/webfonts/fontawesome-webfont.eot (renamed from mitmproxy/mitmproxy/webfonts/fontawesome-webfont.eot)bin56006 -> 56006 bytes
-rw-r--r--mitmproxy/webfonts/fontawesome-webfont.svg (renamed from mitmproxy/mitmproxy/webfonts/fontawesome-webfont.svg)0
-rw-r--r--mitmproxy/webfonts/fontawesome-webfont.ttf (renamed from mitmproxy/mitmproxy/webfonts/fontawesome-webfont.ttf)bin112160 -> 112160 bytes
-rw-r--r--mitmproxy/webfonts/fontawesome-webfont.woff (renamed from mitmproxy/mitmproxy/webfonts/fontawesome-webfont.woff)bin65452 -> 65452 bytes
-rw-r--r--netlib/README.rst35
-rw-r--r--netlib/__init__.py (renamed from netlib/netlib/__init__.py)0
-rw-r--r--netlib/certutils.py (renamed from netlib/netlib/certutils.py)0
-rw-r--r--netlib/encoding.py (renamed from netlib/netlib/encoding.py)0
-rw-r--r--netlib/exceptions.py (renamed from netlib/netlib/exceptions.py)0
-rw-r--r--netlib/http/__init__.py (renamed from netlib/netlib/http/__init__.py)0
-rw-r--r--netlib/http/authentication.py (renamed from netlib/netlib/http/authentication.py)0
-rw-r--r--netlib/http/cookies.py (renamed from netlib/netlib/http/cookies.py)0
-rw-r--r--netlib/http/headers.py (renamed from netlib/netlib/http/headers.py)0
-rw-r--r--netlib/http/http1/__init__.py (renamed from netlib/netlib/http/http1/__init__.py)0
-rw-r--r--netlib/http/http1/assemble.py (renamed from netlib/netlib/http/http1/assemble.py)0
-rw-r--r--netlib/http/http1/read.py (renamed from netlib/netlib/http/http1/read.py)0
-rw-r--r--netlib/http/http2/__init__.py (renamed from netlib/netlib/http/http2/__init__.py)0
-rw-r--r--netlib/http/http2/connections.py (renamed from netlib/netlib/http/http2/connections.py)0
-rw-r--r--netlib/http/message.py (renamed from netlib/netlib/http/message.py)0
-rw-r--r--netlib/http/request.py (renamed from netlib/netlib/http/request.py)0
-rw-r--r--netlib/http/response.py (renamed from netlib/netlib/http/response.py)0
-rw-r--r--netlib/http/status_codes.py (renamed from netlib/netlib/http/status_codes.py)0
-rw-r--r--netlib/http/user_agents.py (renamed from netlib/netlib/http/user_agents.py)0
-rw-r--r--netlib/odict.py (renamed from netlib/netlib/odict.py)0
-rw-r--r--netlib/setup.cfg2
-rw-r--r--netlib/setup.py70
-rw-r--r--netlib/socks.py (renamed from netlib/netlib/socks.py)0
-rw-r--r--netlib/tcp.py (renamed from netlib/netlib/tcp.py)0
-rw-r--r--netlib/tutils.py (renamed from netlib/netlib/tutils.py)2
-rw-r--r--netlib/utils.py (renamed from netlib/netlib/utils.py)0
-rw-r--r--netlib/version.py (renamed from netlib/netlib/version.py)0
-rw-r--r--netlib/version_check.py (renamed from netlib/netlib/version_check.py)0
-rw-r--r--netlib/websockets/__init__.py (renamed from netlib/netlib/websockets/__init__.py)0
-rw-r--r--netlib/websockets/frame.py (renamed from netlib/netlib/websockets/frame.py)0
-rw-r--r--netlib/websockets/protocol.py (renamed from netlib/netlib/websockets/protocol.py)0
-rw-r--r--netlib/wsgi.py (renamed from netlib/netlib/wsgi.py)0
-rw-r--r--pathod/.jsbeautifyrc22
-rw-r--r--pathod/CHANGELOG83
-rw-r--r--pathod/MANIFEST.in2
-rw-r--r--pathod/README.rst60
-rw-r--r--pathod/__init__.py (renamed from pathod/pathod/__init__.py)0
-rw-r--r--pathod/app.py (renamed from pathod/pathod/app.py)0
-rw-r--r--pathod/language/__init__.py (renamed from pathod/pathod/language/__init__.py)0
-rw-r--r--pathod/language/actions.py (renamed from pathod/pathod/language/actions.py)0
-rw-r--r--pathod/language/base.py (renamed from pathod/pathod/language/base.py)0
-rw-r--r--pathod/language/exceptions.py (renamed from pathod/pathod/language/exceptions.py)0
-rw-r--r--pathod/language/generators.py (renamed from pathod/pathod/language/generators.py)0
-rw-r--r--pathod/language/http.py (renamed from pathod/pathod/language/http.py)0
-rw-r--r--pathod/language/http2.py (renamed from pathod/pathod/language/http2.py)0
-rw-r--r--pathod/language/message.py (renamed from pathod/pathod/language/message.py)0
-rw-r--r--pathod/language/websockets.py (renamed from pathod/pathod/language/websockets.py)0
-rw-r--r--pathod/language/writer.py (renamed from pathod/pathod/language/writer.py)0
-rw-r--r--pathod/log.py (renamed from pathod/pathod/log.py)0
-rw-r--r--pathod/pathoc.py (renamed from pathod/pathod/pathoc.py)0
-rw-r--r--pathod/pathoc_cmdline.py (renamed from pathod/pathod/pathoc_cmdline.py)0
-rw-r--r--pathod/pathod.py (renamed from pathod/pathod/pathod.py)0
-rw-r--r--pathod/pathod_cmdline.py (renamed from pathod/pathod/pathod_cmdline.py)0
-rw-r--r--pathod/protocols/__init__.py (renamed from pathod/pathod/protocols/__init__.py)0
-rw-r--r--pathod/protocols/http.py (renamed from pathod/pathod/protocols/http.py)0
-rw-r--r--pathod/protocols/http2.py (renamed from pathod/pathod/protocols/http2.py)0
-rw-r--r--pathod/protocols/websockets.py (renamed from pathod/pathod/protocols/websockets.py)0
-rw-r--r--pathod/setup.py65
-rw-r--r--pathod/static/bootstrap.min.css (renamed from pathod/pathod/static/bootstrap.min.css)0
-rw-r--r--pathod/static/bootstrap.min.js (renamed from pathod/pathod/static/bootstrap.min.js)0
-rw-r--r--pathod/static/jquery-1.7.2.min.js (renamed from pathod/pathod/static/jquery-1.7.2.min.js)0
-rw-r--r--pathod/static/jquery.localscroll-min.js (renamed from pathod/pathod/static/jquery.localscroll-min.js)16
-rw-r--r--pathod/static/jquery.scrollTo-min.js (renamed from pathod/pathod/static/jquery.scrollTo-min.js)20
-rw-r--r--pathod/static/pathod.css (renamed from pathod/pathod/static/pathod.css)0
-rw-r--r--pathod/static/start_quote.png (renamed from pathod/pathod/static/start_quote.png)bin376 -> 376 bytes
-rw-r--r--pathod/static/syntax.css (renamed from pathod/pathod/static/syntax.css)0
-rw-r--r--pathod/static/torture.png (renamed from pathod/pathod/static/torture.png)bin108327 -> 108327 bytes
-rw-r--r--pathod/templates/about.html (renamed from pathod/pathod/templates/about.html)0
-rw-r--r--pathod/templates/docframe.html (renamed from pathod/pathod/templates/docframe.html)0
-rw-r--r--pathod/templates/docs_lang.html (renamed from pathod/pathod/templates/docs_lang.html)0
-rw-r--r--pathod/templates/docs_lang_requests.html (renamed from pathod/pathod/templates/docs_lang_requests.html)0
-rw-r--r--pathod/templates/docs_lang_responses.html (renamed from pathod/pathod/templates/docs_lang_responses.html)0
-rw-r--r--pathod/templates/docs_lang_websockets.html (renamed from pathod/pathod/templates/docs_lang_websockets.html)0
-rw-r--r--pathod/templates/docs_libpathod.html (renamed from pathod/pathod/templates/docs_libpathod.html)0
-rw-r--r--pathod/templates/docs_pathoc.html (renamed from pathod/pathod/templates/docs_pathoc.html)0
-rw-r--r--pathod/templates/docs_pathod.html (renamed from pathod/pathod/templates/docs_pathod.html)0
-rw-r--r--pathod/templates/docs_test.html (renamed from pathod/pathod/templates/docs_test.html)0
-rw-r--r--pathod/templates/download.html (renamed from pathod/pathod/templates/download.html)0
-rw-r--r--pathod/templates/examples_context.html (renamed from pathod/pathod/templates/examples_context.html)0
-rw-r--r--pathod/templates/examples_setup.html (renamed from pathod/pathod/templates/examples_setup.html)0
-rw-r--r--pathod/templates/examples_setupall.html (renamed from pathod/pathod/templates/examples_setupall.html)0
-rw-r--r--pathod/templates/frame.html (renamed from pathod/pathod/templates/frame.html)0
-rw-r--r--pathod/templates/index.html (renamed from pathod/pathod/templates/index.html)0
-rw-r--r--pathod/templates/layout.html (renamed from pathod/pathod/templates/layout.html)0
-rw-r--r--pathod/templates/log.html (renamed from pathod/pathod/templates/log.html)0
-rw-r--r--pathod/templates/onelog.html (renamed from pathod/pathod/templates/onelog.html)0
-rw-r--r--pathod/templates/request_preview.html (renamed from pathod/pathod/templates/request_preview.html)0
-rw-r--r--pathod/templates/request_previewform.html (renamed from pathod/pathod/templates/request_previewform.html)0
-rw-r--r--pathod/templates/response_preview.html (renamed from pathod/pathod/templates/response_preview.html)0
-rw-r--r--pathod/templates/response_previewform.html (renamed from pathod/pathod/templates/response_previewform.html)0
-rw-r--r--pathod/test.py (renamed from pathod/pathod/test.py)0
-rw-r--r--pathod/utils.py (renamed from pathod/pathod/utils.py)0
-rw-r--r--pathod/version.py (renamed from pathod/pathod/version.py)0
-rw-r--r--pytest.ini3
-rw-r--r--release/.env6
-rw-r--r--release/.gitignore7
-rwxr-xr-x[-rw-r--r--]release/rtool.py4
-rw-r--r--release/specs/mitmdump (renamed from mitmproxy/bin/mitmdump)0
-rw-r--r--release/specs/mitmdump.spec (renamed from release/mitmdump.spec)2
-rw-r--r--[-rwxr-xr-x]release/specs/mitmproxy (renamed from mitmproxy/bin/mitmproxy)0
-rw-r--r--release/specs/mitmproxy.spec (renamed from release/mitmproxy.spec)2
-rw-r--r--[-rwxr-xr-x]release/specs/mitmweb (renamed from mitmproxy/bin/mitmweb)0
-rw-r--r--release/specs/mitmweb.spec (renamed from release/mitmweb.spec)2
-rw-r--r--[-rwxr-xr-x]release/specs/pathoc (renamed from pathod/bin/pathoc)0
-rw-r--r--release/specs/pathoc.spec (renamed from release/pathoc.spec)2
-rw-r--r--[-rwxr-xr-x]release/specs/pathod (renamed from pathod/bin/pathod)0
-rw-r--r--release/specs/pathod.spec (renamed from release/pathod.spec)4
-rw-r--r--requirements.txt4
-rw-r--r--setup.cfg (renamed from .coveragerc)17
-rw-r--r--setup.py (renamed from mitmproxy/setup.py)65
-rw-r--r--test/mitmproxy/fuzzing/.env10
-rw-r--r--test/mitmproxy/fuzzing/straight_stream_patterns1
-rw-r--r--test/mitmproxy/test_contentview.py21
-rw-r--r--test/mitmproxy/test_examples.py2
-rw-r--r--web/.bowerrc (renamed from mitmproxy/web/.bowerrc)0
-rw-r--r--web/.eslintrc (renamed from mitmproxy/web/.eslintrc)0
-rw-r--r--web/README (renamed from mitmproxy/web/README)0
-rw-r--r--web/conf.js (renamed from mitmproxy/web/conf.js)0
-rw-r--r--web/gulpfile.js (renamed from mitmproxy/web/gulpfile.js)0
-rw-r--r--web/package.json (renamed from mitmproxy/web/package.json)0
-rw-r--r--web/src/css/app.less (renamed from mitmproxy/web/src/css/app.less)0
-rw-r--r--web/src/css/eventlog.less (renamed from mitmproxy/web/src/css/eventlog.less)0
-rw-r--r--web/src/css/flowdetail.less (renamed from mitmproxy/web/src/css/flowdetail.less)0
-rw-r--r--web/src/css/flowtable.less (renamed from mitmproxy/web/src/css/flowtable.less)0
-rw-r--r--web/src/css/flowview.less (renamed from mitmproxy/web/src/css/flowview.less)0
-rw-r--r--web/src/css/footer.less (renamed from mitmproxy/web/src/css/footer.less)0
-rw-r--r--web/src/css/header.less (renamed from mitmproxy/web/src/css/header.less)0
-rw-r--r--web/src/css/layout.less (renamed from mitmproxy/web/src/css/layout.less)0
-rw-r--r--web/src/css/prompt.less (renamed from mitmproxy/web/src/css/prompt.less)0
-rw-r--r--web/src/css/sprites.less (renamed from mitmproxy/web/src/css/sprites.less)0
-rw-r--r--web/src/css/tabs.less (renamed from mitmproxy/web/src/css/tabs.less)0
-rw-r--r--web/src/css/vendor-bootstrap-variables.less (renamed from mitmproxy/web/src/css/vendor-bootstrap-variables.less)0
-rw-r--r--web/src/css/vendor-bootstrap.less (renamed from mitmproxy/web/src/css/vendor-bootstrap.less)0
-rw-r--r--web/src/css/vendor.less (renamed from mitmproxy/web/src/css/vendor.less)0
-rw-r--r--web/src/fonts/FontAwesome.otf (renamed from mitmproxy/web/src/fonts/FontAwesome.otf)bin85908 -> 85908 bytes
-rw-r--r--web/src/fonts/README (renamed from mitmproxy/web/src/fonts/README)0
-rw-r--r--web/src/fonts/font-awesome.css (renamed from mitmproxy/web/src/fonts/font-awesome.css)0
-rw-r--r--web/src/fonts/fontawesome-webfont.eot (renamed from mitmproxy/web/src/fonts/fontawesome-webfont.eot)bin56006 -> 56006 bytes
-rw-r--r--web/src/fonts/fontawesome-webfont.svg (renamed from mitmproxy/web/src/fonts/fontawesome-webfont.svg)0
-rw-r--r--web/src/fonts/fontawesome-webfont.ttf (renamed from mitmproxy/web/src/fonts/fontawesome-webfont.ttf)bin112160 -> 112160 bytes
-rw-r--r--web/src/fonts/fontawesome-webfont.woff (renamed from mitmproxy/web/src/fonts/fontawesome-webfont.woff)bin65452 -> 65452 bytes
-rw-r--r--web/src/images/chrome-devtools/LICENSE (renamed from mitmproxy/web/src/images/chrome-devtools/LICENSE)0
-rw-r--r--web/src/images/chrome-devtools/resourceCSSIcon.png (renamed from mitmproxy/web/src/images/chrome-devtools/resourceCSSIcon.png)bin1005 -> 1005 bytes
-rw-r--r--web/src/images/chrome-devtools/resourceDocumentIcon.png (renamed from mitmproxy/web/src/images/chrome-devtools/resourceDocumentIcon.png)bin951 -> 951 bytes
-rw-r--r--web/src/images/chrome-devtools/resourceJSIcon.png (renamed from mitmproxy/web/src/images/chrome-devtools/resourceJSIcon.png)bin787 -> 787 bytes
-rw-r--r--web/src/images/chrome-devtools/resourcePlainIcon.png (renamed from mitmproxy/web/src/images/chrome-devtools/resourcePlainIcon.png)bin295 -> 295 bytes
-rw-r--r--web/src/images/resourceExecutableIcon.png (renamed from mitmproxy/web/src/images/resourceExecutableIcon.png)bin853 -> 853 bytes
-rw-r--r--web/src/images/resourceFlashIcon.png (renamed from mitmproxy/web/src/images/resourceFlashIcon.png)bin921 -> 921 bytes
-rw-r--r--web/src/images/resourceImageIcon.png (renamed from mitmproxy/web/src/images/resourceImageIcon.png)bin976 -> 976 bytes
-rw-r--r--web/src/images/resourceJavaIcon.png (renamed from mitmproxy/web/src/images/resourceJavaIcon.png)bin861 -> 861 bytes
-rw-r--r--web/src/images/resourceNotModifiedIcon.png (renamed from mitmproxy/web/src/images/resourceNotModifiedIcon.png)bin1072 -> 1072 bytes
-rw-r--r--web/src/images/resourceRedirectIcon.png (renamed from mitmproxy/web/src/images/resourceRedirectIcon.png)bin1174 -> 1174 bytes
-rw-r--r--web/src/js/actions.js (renamed from mitmproxy/web/src/js/actions.js)0
-rw-r--r--web/src/js/app.js (renamed from mitmproxy/web/src/js/app.js)0
-rw-r--r--web/src/js/components/common.js (renamed from mitmproxy/web/src/js/components/common.js)0
-rw-r--r--web/src/js/components/editor.js (renamed from mitmproxy/web/src/js/components/editor.js)0
-rw-r--r--web/src/js/components/eventlog.js (renamed from mitmproxy/web/src/js/components/eventlog.js)0
-rw-r--r--web/src/js/components/flowtable-columns.js (renamed from mitmproxy/web/src/js/components/flowtable-columns.js)0
-rw-r--r--web/src/js/components/flowtable.js (renamed from mitmproxy/web/src/js/components/flowtable.js)0
-rw-r--r--web/src/js/components/flowview/contentview.js (renamed from mitmproxy/web/src/js/components/flowview/contentview.js)0
-rw-r--r--web/src/js/components/flowview/details.js (renamed from mitmproxy/web/src/js/components/flowview/details.js)0
-rw-r--r--web/src/js/components/flowview/index.js (renamed from mitmproxy/web/src/js/components/flowview/index.js)0
-rw-r--r--web/src/js/components/flowview/messages.js (renamed from mitmproxy/web/src/js/components/flowview/messages.js)0
-rw-r--r--web/src/js/components/flowview/nav.js (renamed from mitmproxy/web/src/js/components/flowview/nav.js)0
-rw-r--r--web/src/js/components/footer.js (renamed from mitmproxy/web/src/js/components/footer.js)0
-rw-r--r--web/src/js/components/header.js (renamed from mitmproxy/web/src/js/components/header.js)0
-rw-r--r--web/src/js/components/mainview.js (renamed from mitmproxy/web/src/js/components/mainview.js)0
-rw-r--r--web/src/js/components/prompt.js (renamed from mitmproxy/web/src/js/components/prompt.js)0
-rw-r--r--web/src/js/components/proxyapp.js (renamed from mitmproxy/web/src/js/components/proxyapp.js)0
-rw-r--r--web/src/js/components/virtualscroll.js (renamed from mitmproxy/web/src/js/components/virtualscroll.js)0
-rw-r--r--web/src/js/connection.js (renamed from mitmproxy/web/src/js/connection.js)0
-rw-r--r--web/src/js/dispatcher.js (renamed from mitmproxy/web/src/js/dispatcher.js)0
-rw-r--r--web/src/js/filt/filt.js (renamed from mitmproxy/web/src/js/filt/filt.js)0
-rw-r--r--web/src/js/filt/filt.peg (renamed from mitmproxy/web/src/js/filt/filt.peg)0
-rw-r--r--web/src/js/flow/utils.js (renamed from mitmproxy/web/src/js/flow/utils.js)0
-rw-r--r--web/src/js/store/store.js (renamed from mitmproxy/web/src/js/store/store.js)0
-rw-r--r--web/src/js/store/view.js (renamed from mitmproxy/web/src/js/store/view.js)0
-rw-r--r--web/src/js/tests/utils.js (renamed from mitmproxy/web/src/js/tests/utils.js)0
-rw-r--r--web/src/js/utils.js (renamed from mitmproxy/web/src/js/utils.js)0
-rw-r--r--web/src/templates/index.html (renamed from mitmproxy/web/src/templates/index.html)0
454 files changed, 264 insertions, 573 deletions
diff --git a/.landscape.yml b/.landscape.yml
index 1cf78412..b6a45ed7 100644
--- a/.landscape.yml
+++ b/.landscape.yml
@@ -1,8 +1,8 @@
ignore-paths:
- - mitmproxy/docs
- - mitmproxy/examples
- - mitmproxy/mitmproxy/contrib
- - mitmproxy/web
+ - docs
+ - examples
+ - mitmproxy/contrib
+ - web
max-line-length: 140
pylint:
options:
diff --git a/pathod/.sources/bootswatch.less b/.sources/bootswatch.less
index f9e4b827..f9e4b827 100644
--- a/pathod/.sources/bootswatch.less
+++ b/.sources/bootswatch.less
diff --git a/pathod/.sources/make b/.sources/make
index 94648859..94648859 100755..100644
--- a/pathod/.sources/make
+++ b/.sources/make
diff --git a/pathod/.sources/variables.less b/.sources/variables.less
index 75ff5be6..75ff5be6 100644
--- a/pathod/.sources/variables.less
+++ b/.sources/variables.less
diff --git a/.travis.yml b/.travis.yml
index 06b31773..5804b5c7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,7 +25,7 @@ matrix:
env: SCOPE="netlib" NO_ALPN=1
- python: 2.7
env: DOCS=1
- script: 'cd mitmproxy/docs && make html'
+ script: 'cd docs && make html'
allow_failures:
- python: pypy
diff --git a/mitmproxy/CHANGELOG b/CHANGELOG
index b41b4a24..068b729d 100644
--- a/mitmproxy/CHANGELOG
+++ b/CHANGELOG
@@ -223,6 +223,19 @@
* Countless bugfixes and other small improvements
+ * pathod: Hugely improved SSL support, including dynamic generation of certificates
+ using the mitproxy cacert
+
+7 November 2014: pathod 0.11:
+
+ * Hugely improved SSL support, including dynamic generation of certificates
+ using the mitproxy cacert
+
+ * pathoc -S dumps information on the remote SSL certificate chain
+
+ * Big improvements to fuzzing, including random spec selection and memoization to avoid repeating randomly generated patterns
+
+ * Reflected patterns, allowing you to embed a pathod server response specification in a pathoc request, resolving both on client side. This makes fuzzing proxies and other intermediate systems much better.
28 January 2014: mitmproxy 0.10:
@@ -264,6 +277,9 @@
* Many other small bugfixes and improvements.
+25 August 2013: pathod 0.9.2:
+
+ * Adapt to interface changes in netlib
16 June 2013: mitmproxy 0.9.1:
@@ -322,6 +338,87 @@
* Proxy authentication to limit access to mitmproxy
+ * pathod: Proxy mode. You can now configure clients to use pathod as an
+ HTTP/S proxy.
+
+ * pathoc: Proxy support, including using CONNECT to tunnel directly to
+ targets.
+
+ * pathoc: client certificate support.
+
+ * pathod: API improvements, bugfixes.
+
+
+15 May 2013: pathod 0.9 (version synced with mitmproxy):
+
+ * Pathod proxy mode. You can now configure clients to use pathod as an
+ HTTP/S proxy.
+
+ * Pathoc proxy support, including using CONNECT to tunnel directly to
+ targets.
+
+ * Pathoc client certificate support.
+
+ * API improvements, bugfixes.
+
+
+16 November 2012: pathod 0.3:
+
+ A release focusing on shoring up our fuzzing capabilities, especially with
+ pathoc.
+
+ * pathoc -q and -r options, output full request and response text.
+
+ * pathod -q and -r options, add full request and response text to pathod's
+ log buffer.
+
+ * pathoc and pathod -x option, makes -q and -r options log in hex dump
+ format.
+
+ * pathoc -C option, specify response codes to ignore.
+
+ * pathoc -T option, instructs pathoc to ignore timeouts.
+
+ * pathoc -o option, a one-shot mode that exits after the first non-ignored
+ response.
+
+ * pathoc and pathod -e option, which explains the resulting message by
+ expanding random and generated portions, and logging a reproducible
+ specification.
+
+ * Streamline the specification langauge. HTTP response message is now
+ specified using the "r" mnemonic.
+
+ * Add a "u" mnemonic for specifying User-Agent strings. Add a set of
+ standard user-agent strings accessible through shortcuts.
+
+ * Major internal refactoring and cleanup.
+
+ * Many bugfixes.
+
+
+22 August 2012: pathod 0.2:
+
+ * Add pathoc, a pathological HTTP client.
+
+ * Add libpathod.test, a truss for using pathod in unit tests.
+
+ * Add an injection operator to the specification language.
+
+ * Allow Python escape sequences in value literals.
+
+ * Allow execution of requests and responses from file, using the new + operator.
+
+ * Add daemonization to Pathod, and make it more robust for public-facing use.
+
+ * Let pathod pick an arbitrary open port if -p 0 is specified.
+
+ * Move from Tornado to netlib, the network library written for mitmproxy.
+
+ * Move the web application to Flask.
+
+ * Massively expand the documentation.
+
5 April 2012: mitmproxy 0.8:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index ae948d73..00000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributing
-
-Thank you for your interest in contributing to mitmproxy!
-
-# Bug Reports
-
-Bug Reports are very welcome - please file them on the GitHub [issue tracker](https://github.com/mitmproxy/mitmproxy/issues).
-You can use the following template to structure your report:
-
-```
-##### Steps to reproduce the problem:
-1.
-2.
-3.
-
-##### What is the expected behavior?
-
-
-##### What went wrong?
-
-
-##### Any other comments?
-
-
----
-mitmproxy version:
-Operating System:
-```
-
-# Feature Requests
-
-We're happy to hear what you'd like to see in mitmproxy. Please file feature requests on the GitHub [issue tracker](https://github.com/mitmproxy/mitmproxy/issues).
-
-# Patches
-
-We're always happy to accept patches. Please submit them in the form of pull requests to the main [mitmproxy repository](https://github.com/mitmproxy/mitmproxy/).
-If you're working on something cool, please do not hesistate and get in touch!
-
-Instructions for setting up a development environment can be found in the [README](README.rst).
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 00000000..440a14ed
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,4 @@
+graft mitmproxy
+graft pathod
+graft netlib
+recursive-exclude * *.pyc *.pyo *.swo *.swp *.map \ No newline at end of file
diff --git a/README.rst b/README.rst
index d6285700..78e99c34 100644
--- a/README.rst
+++ b/README.rst
@@ -82,7 +82,7 @@ Please ensure that all patches are accompanied by matching changes in the test
suite. The project tries to maintain 100% test coverage.
-Docs
+Documentation
----
The mitmproxy documentation is build using Sphinx_, which is installed automatically if you set up a development
@@ -100,6 +100,7 @@ The last command invokes `sphinx-autobuild`_, which watches the Sphinx directory
the documentation when a change is detected.
+
.. |mitmproxy_site| image:: https://shields.mitmproxy.org/api/https%3A%2F%2F-mitmproxy.org-blue.svg
:target: https://mitmproxy.org/
:alt: mitmproxy.org
@@ -143,3 +144,4 @@ the documentation when a change is detected.
.. _.env: https://github.com/mitmproxy/mitmproxy/blob/master/.env
.. _Sphinx: http://sphinx-doc.org/
.. _sphinx-autobuild: https://pypi.python.org/pypi/sphinx-autobuild
+.. _issue_tracker: https://github.com/mitmproxy/mitmproxy/issues
diff --git a/mitmproxy/docs/.gitignore b/docs/.gitignore
index 69fa449d..69fa449d 100644
--- a/mitmproxy/docs/.gitignore
+++ b/docs/.gitignore
diff --git a/mitmproxy/docs/Makefile b/docs/Makefile
index 74bcda53..74bcda53 100644
--- a/mitmproxy/docs/Makefile
+++ b/docs/Makefile
diff --git a/mitmproxy/docs/_templates/page.html b/docs/_templates/page.html
index 8002396a..8002396a 100644
--- a/mitmproxy/docs/_templates/page.html
+++ b/docs/_templates/page.html
diff --git a/mitmproxy/docs/certinstall-webapp.png b/docs/certinstall-webapp.png
index 10e795cd..10e795cd 100644
--- a/mitmproxy/docs/certinstall-webapp.png
+++ b/docs/certinstall-webapp.png
Binary files differ
diff --git a/mitmproxy/docs/certinstall.rst b/docs/certinstall.rst
index 5a8cce64..5a8cce64 100644
--- a/mitmproxy/docs/certinstall.rst
+++ b/docs/certinstall.rst
diff --git a/mitmproxy/docs/conf.py b/docs/conf.py
index 01bcce1b..01bcce1b 100644
--- a/mitmproxy/docs/conf.py
+++ b/docs/conf.py
diff --git a/mitmproxy/docs/config.rst b/docs/config.rst
index 634b8703..634b8703 100644
--- a/mitmproxy/docs/config.rst
+++ b/docs/config.rst
diff --git a/mitmproxy/docs/custom-routing.txt b/docs/custom-routing.txt
index 2ba2281f..2ba2281f 100644
--- a/mitmproxy/docs/custom-routing.txt
+++ b/docs/custom-routing.txt
diff --git a/mitmproxy/docs/dev/addingviews.html b/docs/dev/addingviews.html
index 12623a31..12623a31 100644
--- a/mitmproxy/docs/dev/addingviews.html
+++ b/docs/dev/addingviews.html
diff --git a/mitmproxy/docs/dev/architecture.rst b/docs/dev/architecture.rst
index e7995141..e7995141 100644
--- a/mitmproxy/docs/dev/architecture.rst
+++ b/docs/dev/architecture.rst
diff --git a/mitmproxy/docs/dev/exceptions.rst b/docs/dev/exceptions.rst
index e890476b..e890476b 100644
--- a/mitmproxy/docs/dev/exceptions.rst
+++ b/docs/dev/exceptions.rst
diff --git a/mitmproxy/docs/dev/models.rst b/docs/dev/models.rst
index 7a949941..7a949941 100644
--- a/mitmproxy/docs/dev/models.rst
+++ b/docs/dev/models.rst
diff --git a/mitmproxy/docs/dev/protocols.rst b/docs/dev/protocols.rst
index ceb5c2fd..ceb5c2fd 100644
--- a/mitmproxy/docs/dev/protocols.rst
+++ b/docs/dev/protocols.rst
diff --git a/mitmproxy/docs/dev/proxy.rst b/docs/dev/proxy.rst
index 888fb946..888fb946 100644
--- a/mitmproxy/docs/dev/proxy.rst
+++ b/docs/dev/proxy.rst
diff --git a/mitmproxy/docs/dev/sslkeylogfile.rst b/docs/dev/sslkeylogfile.rst
index 04b86cc4..04b86cc4 100644
--- a/mitmproxy/docs/dev/sslkeylogfile.rst
+++ b/docs/dev/sslkeylogfile.rst
diff --git a/mitmproxy/docs/dev/testing.rst b/docs/dev/testing.rst
index e3b86bf3..e3b86bf3 100644
--- a/mitmproxy/docs/dev/testing.rst
+++ b/docs/dev/testing.rst
diff --git a/mitmproxy/docs/favicon.ico b/docs/favicon.ico
index 3c3b891c..3c3b891c 100644
--- a/mitmproxy/docs/favicon.ico
+++ b/docs/favicon.ico
Binary files differ
diff --git a/mitmproxy/docs/features/anticache.rst b/docs/features/anticache.rst
index 65d22bab..65d22bab 100644
--- a/mitmproxy/docs/features/anticache.rst
+++ b/docs/features/anticache.rst
diff --git a/mitmproxy/docs/features/clientreplay.rst b/docs/features/clientreplay.rst
index b0eb6792..b0eb6792 100644
--- a/mitmproxy/docs/features/clientreplay.rst
+++ b/docs/features/clientreplay.rst
diff --git a/mitmproxy/docs/features/filters.rst b/docs/features/filters.rst
index 509b5d6b..509b5d6b 100644
--- a/mitmproxy/docs/features/filters.rst
+++ b/docs/features/filters.rst
diff --git a/mitmproxy/docs/features/passthrough.rst b/docs/features/passthrough.rst
index b7b5df84..b7b5df84 100644
--- a/mitmproxy/docs/features/passthrough.rst
+++ b/docs/features/passthrough.rst
diff --git a/mitmproxy/docs/features/proxyauth.rst b/docs/features/proxyauth.rst
index bfd32fbd..bfd32fbd 100644
--- a/mitmproxy/docs/features/proxyauth.rst
+++ b/docs/features/proxyauth.rst
diff --git a/mitmproxy/docs/features/replacements.rst b/docs/features/replacements.rst
index 8f760866..8f760866 100644
--- a/mitmproxy/docs/features/replacements.rst
+++ b/docs/features/replacements.rst
diff --git a/mitmproxy/docs/features/responsestreaming.rst b/docs/features/responsestreaming.rst
index 8975c1f8..8975c1f8 100644
--- a/mitmproxy/docs/features/responsestreaming.rst
+++ b/docs/features/responsestreaming.rst
diff --git a/mitmproxy/docs/features/reverseproxy.rst b/docs/features/reverseproxy.rst
index 87065e73..87065e73 100644
--- a/mitmproxy/docs/features/reverseproxy.rst
+++ b/docs/features/reverseproxy.rst
diff --git a/mitmproxy/docs/features/serverreplay.rst b/docs/features/serverreplay.rst
index 261a1bd6..261a1bd6 100644
--- a/mitmproxy/docs/features/serverreplay.rst
+++ b/docs/features/serverreplay.rst
diff --git a/mitmproxy/docs/features/setheaders.rst b/docs/features/setheaders.rst
index cbc8b6a5..cbc8b6a5 100644
--- a/mitmproxy/docs/features/setheaders.rst
+++ b/docs/features/setheaders.rst
diff --git a/mitmproxy/docs/features/socksproxy.rst b/docs/features/socksproxy.rst
index 76d4cda9..76d4cda9 100644
--- a/mitmproxy/docs/features/socksproxy.rst
+++ b/docs/features/socksproxy.rst
diff --git a/mitmproxy/docs/features/sticky.rst b/docs/features/sticky.rst
index a79cbe8d..a79cbe8d 100644
--- a/mitmproxy/docs/features/sticky.rst
+++ b/docs/features/sticky.rst
diff --git a/mitmproxy/docs/features/tcpproxy.rst b/docs/features/tcpproxy.rst
index fd0746a2..fd0746a2 100644
--- a/mitmproxy/docs/features/tcpproxy.rst
+++ b/docs/features/tcpproxy.rst
diff --git a/mitmproxy/docs/features/upstreamcerts.rst b/docs/features/upstreamcerts.rst
index af2e2226..af2e2226 100644
--- a/mitmproxy/docs/features/upstreamcerts.rst
+++ b/docs/features/upstreamcerts.rst
diff --git a/mitmproxy/docs/features/upstreamproxy.rst b/docs/features/upstreamproxy.rst
index e06833c2..e06833c2 100644
--- a/mitmproxy/docs/features/upstreamproxy.rst
+++ b/docs/features/upstreamproxy.rst
diff --git a/mitmproxy/docs/howmitmproxy.rst b/docs/howmitmproxy.rst
index b0b187d3..b0b187d3 100644
--- a/mitmproxy/docs/howmitmproxy.rst
+++ b/docs/howmitmproxy.rst
diff --git a/mitmproxy/docs/index.rst b/docs/index.rst
index 4bca07d1..4bca07d1 100644
--- a/mitmproxy/docs/index.rst
+++ b/docs/index.rst
diff --git a/mitmproxy/docs/install.rst b/docs/install.rst
index 3300807b..3300807b 100644
--- a/mitmproxy/docs/install.rst
+++ b/docs/install.rst
diff --git a/mitmproxy/docs/introduction.rst b/docs/introduction.rst
index 058f39f9..058f39f9 100644
--- a/mitmproxy/docs/introduction.rst
+++ b/docs/introduction.rst
diff --git a/mitmproxy/docs/mitmdump.rst b/docs/mitmdump.rst
index d9b4a26b..d9b4a26b 100644
--- a/mitmproxy/docs/mitmdump.rst
+++ b/docs/mitmdump.rst
diff --git a/mitmproxy/docs/mitmproxy-docs.png b/docs/mitmproxy-docs.png
index 273fb8db..273fb8db 100644
--- a/mitmproxy/docs/mitmproxy-docs.png
+++ b/docs/mitmproxy-docs.png
Binary files differ
diff --git a/mitmproxy/docs/mitmproxy-long.png b/docs/mitmproxy-long.png
index f9397d1e..f9397d1e 100644
--- a/mitmproxy/docs/mitmproxy-long.png
+++ b/docs/mitmproxy-long.png
Binary files differ
diff --git a/mitmproxy/docs/mitmproxy.rst b/docs/mitmproxy.rst
index fa3b57c7..fa3b57c7 100644
--- a/mitmproxy/docs/mitmproxy.rst
+++ b/docs/mitmproxy.rst
diff --git a/mitmproxy/docs/modes.rst b/docs/modes.rst
index 2c87b2a3..2c87b2a3 100644
--- a/mitmproxy/docs/modes.rst
+++ b/docs/modes.rst
diff --git a/mitmproxy/docs/schematics/_explicit.graffle/data.plist b/docs/schematics/_explicit.graffle/data.plist
index bc5ef104..bc5ef104 100644
--- a/mitmproxy/docs/schematics/_explicit.graffle/data.plist
+++ b/docs/schematics/_explicit.graffle/data.plist
diff --git a/mitmproxy/docs/schematics/_explicit.graffle/image3.icns b/docs/schematics/_explicit.graffle/image3.icns
index 964df4b8..964df4b8 100644
--- a/mitmproxy/docs/schematics/_explicit.graffle/image3.icns
+++ b/docs/schematics/_explicit.graffle/image3.icns
Binary files differ
diff --git a/mitmproxy/docs/schematics/_explicit.graffle/image6.tiff b/docs/schematics/_explicit.graffle/image6.tiff
index bd6ed534..bd6ed534 100644
--- a/mitmproxy/docs/schematics/_explicit.graffle/image6.tiff
+++ b/docs/schematics/_explicit.graffle/image6.tiff
Binary files differ
diff --git a/mitmproxy/docs/schematics/_explicit_https.graffle/data.plist b/docs/schematics/_explicit_https.graffle/data.plist
index 306630a0..306630a0 100644
--- a/mitmproxy/docs/schematics/_explicit_https.graffle/data.plist
+++ b/docs/schematics/_explicit_https.graffle/data.plist
diff --git a/mitmproxy/docs/schematics/_explicit_https.graffle/image3.icns b/docs/schematics/_explicit_https.graffle/image3.icns
index 964df4b8..964df4b8 100644
--- a/mitmproxy/docs/schematics/_explicit_https.graffle/image3.icns
+++ b/docs/schematics/_explicit_https.graffle/image3.icns
Binary files differ
diff --git a/mitmproxy/docs/schematics/_explicit_https.graffle/image6.tiff b/docs/schematics/_explicit_https.graffle/image6.tiff
index bd6ed534..bd6ed534 100644
--- a/mitmproxy/docs/schematics/_explicit_https.graffle/image6.tiff
+++ b/docs/schematics/_explicit_https.graffle/image6.tiff
Binary files differ
diff --git a/mitmproxy/docs/schematics/_transparent.graffle/data.plist b/docs/schematics/_transparent.graffle/data.plist
index 722b4a44..722b4a44 100644
--- a/mitmproxy/docs/schematics/_transparent.graffle/data.plist
+++ b/docs/schematics/_transparent.graffle/data.plist
diff --git a/mitmproxy/docs/schematics/_transparent.graffle/image3.icns b/docs/schematics/_transparent.graffle/image3.icns
index 964df4b8..964df4b8 100644
--- a/mitmproxy/docs/schematics/_transparent.graffle/image3.icns
+++ b/docs/schematics/_transparent.graffle/image3.icns
Binary files differ
diff --git a/mitmproxy/docs/schematics/_transparent.graffle/image6.tiff b/docs/schematics/_transparent.graffle/image6.tiff
index bd6ed534..bd6ed534 100644
--- a/mitmproxy/docs/schematics/_transparent.graffle/image6.tiff
+++ b/docs/schematics/_transparent.graffle/image6.tiff
Binary files differ
diff --git a/mitmproxy/docs/schematics/_transparent_https.graffle/data.plist b/docs/schematics/_transparent_https.graffle/data.plist
index 9c1395d7..9c1395d7 100644
--- a/mitmproxy/docs/schematics/_transparent_https.graffle/data.plist
+++ b/docs/schematics/_transparent_https.graffle/data.plist
diff --git a/mitmproxy/docs/schematics/_transparent_https.graffle/image3.icns b/docs/schematics/_transparent_https.graffle/image3.icns
index 964df4b8..964df4b8 100644
--- a/mitmproxy/docs/schematics/_transparent_https.graffle/image3.icns
+++ b/docs/schematics/_transparent_https.graffle/image3.icns
Binary files differ
diff --git a/mitmproxy/docs/schematics/_transparent_https.graffle/image6.tiff b/docs/schematics/_transparent_https.graffle/image6.tiff
index bd6ed534..bd6ed534 100644
--- a/mitmproxy/docs/schematics/_transparent_https.graffle/image6.tiff
+++ b/docs/schematics/_transparent_https.graffle/image6.tiff
Binary files differ
diff --git a/mitmproxy/docs/schematics/architecture.pdf b/docs/schematics/architecture.pdf
index 77f5ad58..77f5ad58 100644
--- a/mitmproxy/docs/schematics/architecture.pdf
+++ b/docs/schematics/architecture.pdf
Binary files differ
diff --git a/mitmproxy/docs/schematics/architecture.png b/docs/schematics/architecture.png
index 67d6c718..67d6c718 100644
--- a/mitmproxy/docs/schematics/architecture.png
+++ b/docs/schematics/architecture.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/architecture.vsdx b/docs/schematics/architecture.vsdx
index c4ff13d2..c4ff13d2 100644
--- a/mitmproxy/docs/schematics/architecture.vsdx
+++ b/docs/schematics/architecture.vsdx
Binary files differ
diff --git a/mitmproxy/docs/schematics/how-mitmproxy-works-explicit-https.png b/docs/schematics/how-mitmproxy-works-explicit-https.png
index 1f1ca023..1f1ca023 100644
--- a/mitmproxy/docs/schematics/how-mitmproxy-works-explicit-https.png
+++ b/docs/schematics/how-mitmproxy-works-explicit-https.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/how-mitmproxy-works-explicit.png b/docs/schematics/how-mitmproxy-works-explicit.png
index c9ba26a7..c9ba26a7 100644
--- a/mitmproxy/docs/schematics/how-mitmproxy-works-explicit.png
+++ b/docs/schematics/how-mitmproxy-works-explicit.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/how-mitmproxy-works-transparent-https.png b/docs/schematics/how-mitmproxy-works-transparent-https.png
index 559cddd2..559cddd2 100644
--- a/mitmproxy/docs/schematics/how-mitmproxy-works-transparent-https.png
+++ b/docs/schematics/how-mitmproxy-works-transparent-https.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/how-mitmproxy-works-transparent.png b/docs/schematics/how-mitmproxy-works-transparent.png
index 3994d681..3994d681 100644
--- a/mitmproxy/docs/schematics/how-mitmproxy-works-transparent.png
+++ b/docs/schematics/how-mitmproxy-works-transparent.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-flowchart.png b/docs/schematics/proxy-modes-flowchart.png
index e9568dac..e9568dac 100644
--- a/mitmproxy/docs/schematics/proxy-modes-flowchart.png
+++ b/docs/schematics/proxy-modes-flowchart.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-regular.png b/docs/schematics/proxy-modes-regular.png
index 95bada08..95bada08 100644
--- a/mitmproxy/docs/schematics/proxy-modes-regular.png
+++ b/docs/schematics/proxy-modes-regular.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-reverse.png b/docs/schematics/proxy-modes-reverse.png
index 071d3fc8..071d3fc8 100644
--- a/mitmproxy/docs/schematics/proxy-modes-reverse.png
+++ b/docs/schematics/proxy-modes-reverse.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-transparent-1.png b/docs/schematics/proxy-modes-transparent-1.png
index 002e0e76..002e0e76 100644
--- a/mitmproxy/docs/schematics/proxy-modes-transparent-1.png
+++ b/docs/schematics/proxy-modes-transparent-1.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-transparent-2.png b/docs/schematics/proxy-modes-transparent-2.png
index 41997b05..41997b05 100644
--- a/mitmproxy/docs/schematics/proxy-modes-transparent-2.png
+++ b/docs/schematics/proxy-modes-transparent-2.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-transparent-3.png b/docs/schematics/proxy-modes-transparent-3.png
index ee26cb4f..ee26cb4f 100644
--- a/mitmproxy/docs/schematics/proxy-modes-transparent-3.png
+++ b/docs/schematics/proxy-modes-transparent-3.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-transparent-wrong.png b/docs/schematics/proxy-modes-transparent-wrong.png
index ca501e93..ca501e93 100644
--- a/mitmproxy/docs/schematics/proxy-modes-transparent-wrong.png
+++ b/docs/schematics/proxy-modes-transparent-wrong.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes-upstream.png b/docs/schematics/proxy-modes-upstream.png
index d40a6494..d40a6494 100644
--- a/mitmproxy/docs/schematics/proxy-modes-upstream.png
+++ b/docs/schematics/proxy-modes-upstream.png
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes.pdf b/docs/schematics/proxy-modes.pdf
index f07ea05e..f07ea05e 100644
--- a/mitmproxy/docs/schematics/proxy-modes.pdf
+++ b/docs/schematics/proxy-modes.pdf
Binary files differ
diff --git a/mitmproxy/docs/schematics/proxy-modes.vsdx b/docs/schematics/proxy-modes.vsdx
index 0128a142..0128a142 100644
--- a/mitmproxy/docs/schematics/proxy-modes.vsdx
+++ b/docs/schematics/proxy-modes.vsdx
Binary files differ
diff --git a/mitmproxy/docs/screenshots/firefox3-import.jpg b/docs/screenshots/firefox3-import.jpg
index 47fcd672..47fcd672 100644
--- a/mitmproxy/docs/screenshots/firefox3-import.jpg
+++ b/docs/screenshots/firefox3-import.jpg
Binary files differ
diff --git a/mitmproxy/docs/screenshots/firefox3-trust.jpg b/docs/screenshots/firefox3-trust.jpg
index 50a2f341..50a2f341 100644
--- a/mitmproxy/docs/screenshots/firefox3-trust.jpg
+++ b/docs/screenshots/firefox3-trust.jpg
Binary files differ
diff --git a/mitmproxy/docs/screenshots/firefox3.jpg b/docs/screenshots/firefox3.jpg
index 6c4613b6..6c4613b6 100644
--- a/mitmproxy/docs/screenshots/firefox3.jpg
+++ b/docs/screenshots/firefox3.jpg
Binary files differ
diff --git a/mitmproxy/docs/screenshots/ios-gateway.png b/docs/screenshots/ios-gateway.png
index 2489cba3..2489cba3 100644
--- a/mitmproxy/docs/screenshots/ios-gateway.png
+++ b/docs/screenshots/ios-gateway.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/ios-installed.png b/docs/screenshots/ios-installed.png
index 2071e441..2071e441 100644
--- a/mitmproxy/docs/screenshots/ios-installed.png
+++ b/docs/screenshots/ios-installed.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/ios-manual.png b/docs/screenshots/ios-manual.png
index 3977acfe..3977acfe 100644
--- a/mitmproxy/docs/screenshots/ios-manual.png
+++ b/docs/screenshots/ios-manual.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/ios-profile.png b/docs/screenshots/ios-profile.png
index 5bcd5a0d..5bcd5a0d 100644
--- a/mitmproxy/docs/screenshots/ios-profile.png
+++ b/docs/screenshots/ios-profile.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/ios-reverse.png b/docs/screenshots/ios-reverse.png
index 6ab5b7c0..6ab5b7c0 100644
--- a/mitmproxy/docs/screenshots/ios-reverse.png
+++ b/docs/screenshots/ios-reverse.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/ios-warning.png b/docs/screenshots/ios-warning.png
index d882c514..d882c514 100644
--- a/mitmproxy/docs/screenshots/ios-warning.png
+++ b/docs/screenshots/ios-warning.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy-flowview.png b/docs/screenshots/mitmproxy-flowview.png
index 154963fe..154963fe 100644
--- a/mitmproxy/docs/screenshots/mitmproxy-flowview.png
+++ b/docs/screenshots/mitmproxy-flowview.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy-intercept-filt.png b/docs/screenshots/mitmproxy-intercept-filt.png
index 60556ee7..60556ee7 100644
--- a/mitmproxy/docs/screenshots/mitmproxy-intercept-filt.png
+++ b/docs/screenshots/mitmproxy-intercept-filt.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy-intercept-mid.png b/docs/screenshots/mitmproxy-intercept-mid.png
index d5b03922..d5b03922 100644
--- a/mitmproxy/docs/screenshots/mitmproxy-intercept-mid.png
+++ b/docs/screenshots/mitmproxy-intercept-mid.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy-intercept-options.png b/docs/screenshots/mitmproxy-intercept-options.png
index 8dc4ad2c..8dc4ad2c 100644
--- a/mitmproxy/docs/screenshots/mitmproxy-intercept-options.png
+++ b/docs/screenshots/mitmproxy-intercept-options.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy-intercept-result.png b/docs/screenshots/mitmproxy-intercept-result.png
index 7d9f5c94..7d9f5c94 100644
--- a/mitmproxy/docs/screenshots/mitmproxy-intercept-result.png
+++ b/docs/screenshots/mitmproxy-intercept-result.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy-kveditor-editmode.png b/docs/screenshots/mitmproxy-kveditor-editmode.png
index a8315ee5..a8315ee5 100644
--- a/mitmproxy/docs/screenshots/mitmproxy-kveditor-editmode.png
+++ b/docs/screenshots/mitmproxy-kveditor-editmode.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy-kveditor.png b/docs/screenshots/mitmproxy-kveditor.png
index 144b9701..144b9701 100644
--- a/mitmproxy/docs/screenshots/mitmproxy-kveditor.png
+++ b/docs/screenshots/mitmproxy-kveditor.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/mitmproxy.png b/docs/screenshots/mitmproxy.png
index 42a10e32..42a10e32 100644
--- a/mitmproxy/docs/screenshots/mitmproxy.png
+++ b/docs/screenshots/mitmproxy.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/osx-addcert-alwaystrust.png b/docs/screenshots/osx-addcert-alwaystrust.png
index 4c5cc704..4c5cc704 100644
--- a/mitmproxy/docs/screenshots/osx-addcert-alwaystrust.png
+++ b/docs/screenshots/osx-addcert-alwaystrust.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/win7-certstore-trustedroot.png b/docs/screenshots/win7-certstore-trustedroot.png
index e15a87f5..e15a87f5 100644
--- a/mitmproxy/docs/screenshots/win7-certstore-trustedroot.png
+++ b/docs/screenshots/win7-certstore-trustedroot.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/win7-certstore.png b/docs/screenshots/win7-certstore.png
index f8ce54bd..f8ce54bd 100644
--- a/mitmproxy/docs/screenshots/win7-certstore.png
+++ b/docs/screenshots/win7-certstore.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/win7-wizard.png b/docs/screenshots/win7-wizard.png
index eff6ad09..eff6ad09 100644
--- a/mitmproxy/docs/screenshots/win7-wizard.png
+++ b/docs/screenshots/win7-wizard.png
Binary files differ
diff --git a/mitmproxy/docs/screenshots/winpythoninstaller.jpg b/docs/screenshots/winpythoninstaller.jpg
index 0473c66a..0473c66a 100644
--- a/mitmproxy/docs/screenshots/winpythoninstaller.jpg
+++ b/docs/screenshots/winpythoninstaller.jpg
Binary files differ
diff --git a/mitmproxy/docs/scripting/inlinescripts.rst b/docs/scripting/inlinescripts.rst
index 89bff2c1..89bff2c1 100644
--- a/mitmproxy/docs/scripting/inlinescripts.rst
+++ b/docs/scripting/inlinescripts.rst
diff --git a/mitmproxy/docs/scripting/mitmproxy.rst b/docs/scripting/mitmproxy.rst
index 1626eb5a..1626eb5a 100644
--- a/mitmproxy/docs/scripting/mitmproxy.rst
+++ b/docs/scripting/mitmproxy.rst
diff --git a/mitmproxy/docs/transparent.rst b/docs/transparent.rst
index eb77c76c..eb77c76c 100644
--- a/mitmproxy/docs/transparent.rst
+++ b/docs/transparent.rst
diff --git a/mitmproxy/docs/transparent/linux.rst b/docs/transparent/linux.rst
index ce79128c..ce79128c 100644
--- a/mitmproxy/docs/transparent/linux.rst
+++ b/docs/transparent/linux.rst
diff --git a/mitmproxy/docs/transparent/osx.rst b/docs/transparent/osx.rst
index 1791105f..1791105f 100644
--- a/mitmproxy/docs/transparent/osx.rst
+++ b/docs/transparent/osx.rst
diff --git a/mitmproxy/docs/tutorials/30second.rst b/docs/tutorials/30second.rst
index 4c8bf326..4c8bf326 100644
--- a/mitmproxy/docs/tutorials/30second.rst
+++ b/docs/tutorials/30second.rst
diff --git a/mitmproxy/docs/tutorials/gamecenter.rst b/docs/tutorials/gamecenter.rst
index 9dce5df8..9dce5df8 100644
--- a/mitmproxy/docs/tutorials/gamecenter.rst
+++ b/docs/tutorials/gamecenter.rst
diff --git a/mitmproxy/docs/tutorials/leaderboard.png b/docs/tutorials/leaderboard.png
index c1be8df5..c1be8df5 100644
--- a/mitmproxy/docs/tutorials/leaderboard.png
+++ b/docs/tutorials/leaderboard.png
Binary files differ
diff --git a/mitmproxy/docs/tutorials/one.png b/docs/tutorials/one.png
index 78a636cf..78a636cf 100644
--- a/mitmproxy/docs/tutorials/one.png
+++ b/docs/tutorials/one.png
Binary files differ
diff --git a/mitmproxy/docs/tutorials/supermega.png b/docs/tutorials/supermega.png
index d416f71f..d416f71f 100644
--- a/mitmproxy/docs/tutorials/supermega.png
+++ b/docs/tutorials/supermega.png
Binary files differ
diff --git a/mitmproxy/docs/tutorials/transparent-dhcp.rst b/docs/tutorials/transparent-dhcp.rst
index ce285b63..ce285b63 100644
--- a/mitmproxy/docs/tutorials/transparent-dhcp.rst
+++ b/docs/tutorials/transparent-dhcp.rst
diff --git a/mitmproxy/docs/tutorials/transparent-dhcp/step1_proxy.png b/docs/tutorials/transparent-dhcp/step1_proxy.png
index a0c94484..a0c94484 100644
--- a/mitmproxy/docs/tutorials/transparent-dhcp/step1_proxy.png
+++ b/docs/tutorials/transparent-dhcp/step1_proxy.png
Binary files differ
diff --git a/mitmproxy/docs/tutorials/transparent-dhcp/step1_vbox_eth0.png b/docs/tutorials/transparent-dhcp/step1_vbox_eth0.png
index 4b7b4e9b..4b7b4e9b 100644
--- a/mitmproxy/docs/tutorials/transparent-dhcp/step1_vbox_eth0.png
+++ b/docs/tutorials/transparent-dhcp/step1_vbox_eth0.png
Binary files differ
diff --git a/mitmproxy/docs/tutorials/transparent-dhcp/step1_vbox_eth1.png b/docs/tutorials/transparent-dhcp/step1_vbox_eth1.png
index b994d4cb..b994d4cb 100644
--- a/mitmproxy/docs/tutorials/transparent-dhcp/step1_vbox_eth1.png
+++ b/docs/tutorials/transparent-dhcp/step1_vbox_eth1.png
Binary files differ
diff --git a/mitmproxy/docs/tutorials/transparent-dhcp/step2_proxied_vm.png b/docs/tutorials/transparent-dhcp/step2_proxied_vm.png
index 2046cc57..2046cc57 100644
--- a/mitmproxy/docs/tutorials/transparent-dhcp/step2_proxied_vm.png
+++ b/docs/tutorials/transparent-dhcp/step2_proxied_vm.png
Binary files differ
diff --git a/mitmproxy/examples/README b/examples/README
index cf5c4d7d..cf5c4d7d 100644
--- a/mitmproxy/examples/README
+++ b/examples/README
diff --git a/mitmproxy/examples/add_header.py b/examples/add_header.py
index cf1b53cc..cf1b53cc 100644
--- a/mitmproxy/examples/add_header.py
+++ b/examples/add_header.py
diff --git a/mitmproxy/examples/change_upstream_proxy.py b/examples/change_upstream_proxy.py
index 9c454897..9c454897 100644
--- a/mitmproxy/examples/change_upstream_proxy.py
+++ b/examples/change_upstream_proxy.py
diff --git a/mitmproxy/examples/custom_contentviews.py b/examples/custom_contentviews.py
index 776ba99d..776ba99d 100644
--- a/mitmproxy/examples/custom_contentviews.py
+++ b/examples/custom_contentviews.py
diff --git a/mitmproxy/examples/dns_spoofing.py b/examples/dns_spoofing.py
index 7eb79695..7eb79695 100644
--- a/mitmproxy/examples/dns_spoofing.py
+++ b/examples/dns_spoofing.py
diff --git a/mitmproxy/examples/dup_and_replay.py b/examples/dup_and_replay.py
index 9ba91d3b..9ba91d3b 100644
--- a/mitmproxy/examples/dup_and_replay.py
+++ b/examples/dup_and_replay.py
diff --git a/mitmproxy/examples/filt.py b/examples/filt.py
index f99b675c..f99b675c 100644
--- a/mitmproxy/examples/filt.py
+++ b/examples/filt.py
diff --git a/mitmproxy/examples/flowbasic b/examples/flowbasic
index 4a87b86a..4a87b86a 100644
--- a/mitmproxy/examples/flowbasic
+++ b/examples/flowbasic
diff --git a/mitmproxy/examples/flowwriter.py b/examples/flowwriter.py
index 8fb8cc60..8fb8cc60 100644
--- a/mitmproxy/examples/flowwriter.py
+++ b/examples/flowwriter.py
diff --git a/mitmproxy/examples/har_extractor.py b/examples/har_extractor.py
index 4e905438..4e905438 100644
--- a/mitmproxy/examples/har_extractor.py
+++ b/examples/har_extractor.py
diff --git a/mitmproxy/examples/iframe_injector.py b/examples/iframe_injector.py
index fc38b136..fc38b136 100644
--- a/mitmproxy/examples/iframe_injector.py
+++ b/examples/iframe_injector.py
diff --git a/mitmproxy/examples/mitmproxywrapper.py b/examples/mitmproxywrapper.py
index 7ea10715..7ea10715 100644
--- a/mitmproxy/examples/mitmproxywrapper.py
+++ b/examples/mitmproxywrapper.py
diff --git a/mitmproxy/examples/modify_form.py b/examples/modify_form.py
index 3e9d15c0..3e9d15c0 100644
--- a/mitmproxy/examples/modify_form.py
+++ b/examples/modify_form.py
diff --git a/mitmproxy/examples/modify_querystring.py b/examples/modify_querystring.py
index 7f31a48f..7f31a48f 100644
--- a/mitmproxy/examples/modify_querystring.py
+++ b/examples/modify_querystring.py
diff --git a/mitmproxy/examples/modify_response_body.py b/examples/modify_response_body.py
index 88f69e15..88f69e15 100644
--- a/mitmproxy/examples/modify_response_body.py
+++ b/examples/modify_response_body.py
diff --git a/mitmproxy/examples/nonblocking.py b/examples/nonblocking.py
index 41674b2a..41674b2a 100644
--- a/mitmproxy/examples/nonblocking.py
+++ b/examples/nonblocking.py
diff --git a/pathod/examples/libpathod_pathoc.py b/examples/pathod/libpathod_pathoc.py
index 587c0e4c..587c0e4c 100644
--- a/pathod/examples/libpathod_pathoc.py
+++ b/examples/pathod/libpathod_pathoc.py
diff --git a/pathod/examples/test_context.py b/examples/pathod/test_context.py
index 8db4331f..8db4331f 100644
--- a/pathod/examples/test_context.py
+++ b/examples/pathod/test_context.py
diff --git a/pathod/examples/test_setup.py b/examples/pathod/test_setup.py
index 5dbc456d..5dbc456d 100644
--- a/pathod/examples/test_setup.py
+++ b/examples/pathod/test_setup.py
diff --git a/pathod/examples/test_setupall.py b/examples/pathod/test_setupall.py
index cb84b7b2..cb84b7b2 100644
--- a/pathod/examples/test_setupall.py
+++ b/examples/pathod/test_setupall.py
diff --git a/mitmproxy/examples/proxapp.py b/examples/proxapp.py
index 4d8e7b58..4d8e7b58 100644
--- a/mitmproxy/examples/proxapp.py
+++ b/examples/proxapp.py
diff --git a/mitmproxy/examples/read_dumpfile b/examples/read_dumpfile
index 56746bb8..56746bb8 100644
--- a/mitmproxy/examples/read_dumpfile
+++ b/examples/read_dumpfile
diff --git a/mitmproxy/examples/redirect_requests.py b/examples/redirect_requests.py
index c0a0ccba..c0a0ccba 100644
--- a/mitmproxy/examples/redirect_requests.py
+++ b/examples/redirect_requests.py
diff --git a/mitmproxy/examples/sslstrip.py b/examples/sslstrip.py
index 369427a2..369427a2 100644
--- a/mitmproxy/examples/sslstrip.py
+++ b/examples/sslstrip.py
diff --git a/mitmproxy/examples/stickycookies b/examples/stickycookies
index 8f11de8d..8f11de8d 100644
--- a/mitmproxy/examples/stickycookies
+++ b/examples/stickycookies
diff --git a/mitmproxy/examples/stream.py b/examples/stream.py
index 3adbe437..3adbe437 100644
--- a/mitmproxy/examples/stream.py
+++ b/examples/stream.py
diff --git a/mitmproxy/examples/stream_modify.py b/examples/stream_modify.py
index aa395c03..aa395c03 100644
--- a/mitmproxy/examples/stream_modify.py
+++ b/examples/stream_modify.py
diff --git a/mitmproxy/examples/stub.py b/examples/stub.py
index 516b71a5..516b71a5 100644
--- a/mitmproxy/examples/stub.py
+++ b/examples/stub.py
diff --git a/mitmproxy/examples/tcp_message.py b/examples/tcp_message.py
index c63368e4..c63368e4 100644
--- a/mitmproxy/examples/tcp_message.py
+++ b/examples/tcp_message.py
diff --git a/mitmproxy/examples/tls_passthrough.py b/examples/tls_passthrough.py
index 8c8fa4eb..8c8fa4eb 100644
--- a/mitmproxy/examples/tls_passthrough.py
+++ b/examples/tls_passthrough.py
diff --git a/mitmproxy/examples/upsidedownternet.py b/examples/upsidedownternet.py
index b7489cb6..b7489cb6 100644
--- a/mitmproxy/examples/upsidedownternet.py
+++ b/examples/upsidedownternet.py
diff --git a/issue_template.md b/issue_template.md
new file mode 100644
index 00000000..3f9be788
--- /dev/null
+++ b/issue_template.md
@@ -0,0 +1,19 @@
+##### Steps to reproduce the problem:
+
+1.
+2.
+3.
+
+##### What is the expected behavior?
+
+
+##### What went wrong?
+
+
+##### Any other comments?
+
+
+---
+
+Mitmproxy Version:
+Operating System: \ No newline at end of file
diff --git a/mitmproxy/MANIFEST.in b/mitmproxy/MANIFEST.in
deleted file mode 100644
index 54b57382..00000000
--- a/mitmproxy/MANIFEST.in
+++ /dev/null
@@ -1,2 +0,0 @@
-graft mitmproxy
-recursive-exclude * *.pyc *.pyo *.swo *.swp *.map \ No newline at end of file
diff --git a/mitmproxy/README.rst b/mitmproxy/README.rst
deleted file mode 100644
index 8ef92409..00000000
--- a/mitmproxy/README.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-|travis| |coveralls| |downloads| |latest_release| |python_versions|
-
-``mitmproxy`` is an interactive, SSL/TLS-capable man-in-the-middle proxy for HTTP
-with a console interface.
-
-``mitmdump`` is the command-line version of mitmproxy. Think tcpdump for HTTP.
-
-
-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.
-- Transparent proxy mode on OSX and Linux.
-- Make scripted changes to HTTP traffic using Python.
-- SSL/TLS certificates for interception are generated on the fly.
-- And much, much more.
-
-``mitmproxy`` is tested and developed on Mac OSX and Linux.
-On Windows, only mitmdump is supported, which does not have a graphical user interface.
-
-
-Documentation & Help
---------------------
-
-Documentation, tutorials and distribution packages can be found on the
-mitmproxy website.
-
-|mitmproxy_site|
-
-Installation Instructions are available in the documentation.
-
-|mitmproxy_docs|
-
-You can join our developer chat on Slack.
-
-|slack|
-
-
-.. |mitmproxy_site| image:: https://shields.mitmproxy.org/api/https%3A%2F%2F-mitmproxy.org-blue.svg
- :target: https://mitmproxy.org/
- :alt: mitmproxy.org
-
-.. |mitmproxy_docs| image:: https://readthedocs.org/projects/mitmproxy/badge/
- :target: http://docs.mitmproxy.org/en/latest/
- :alt: mitmproxy documentation
-
-.. |slack| image:: http://slack.mitmproxy.org/badge.svg
- :target: http://slack.mitmproxy.org/
- :alt: Slack Developer Chat
-
-.. |travis| image:: https://shields.mitmproxy.org/travis/mitmproxy/mitmproxy/master.svg
- :target: https://travis-ci.org/mitmproxy/mitmproxy
- :alt: Build Status
-
-.. |coveralls| image:: https://shields.mitmproxy.org/coveralls/mitmproxy/mitmproxy/master.svg
- :target: https://coveralls.io/r/mitmproxy/mitmproxy
- :alt: Coverage Status
-
-.. |downloads| image:: https://shields.mitmproxy.org/pypi/dm/mitmproxy.svg?color=orange
- :target: https://pypi.python.org/pypi/mitmproxy
- :alt: Downloads
-
-.. |latest_release| image:: https://shields.mitmproxy.org/pypi/v/mitmproxy.svg
- :target: https://pypi.python.org/pypi/mitmproxy
- :alt: Latest Version
-
-.. |python_versions| image:: https://shields.mitmproxy.org/pypi/pyversions/mitmproxy.svg
- :target: https://pypi.python.org/pypi/mitmproxy
- :alt: Supported Python versions
diff --git a/mitmproxy/mitmproxy/__init__.py b/mitmproxy/__init__.py
index e69de29b..e69de29b 100644
--- a/mitmproxy/mitmproxy/__init__.py
+++ b/mitmproxy/__init__.py
diff --git a/mitmproxy/mitmproxy/cmdline.py b/mitmproxy/cmdline.py
index fedd4f13..fedd4f13 100644
--- a/mitmproxy/mitmproxy/cmdline.py
+++ b/mitmproxy/cmdline.py
diff --git a/mitmproxy/mitmproxy/console/__init__.py b/mitmproxy/console/__init__.py
index e739ec61..e739ec61 100644
--- a/mitmproxy/mitmproxy/console/__init__.py
+++ b/mitmproxy/console/__init__.py
diff --git a/mitmproxy/mitmproxy/console/common.py b/mitmproxy/console/common.py
index c29ffddc..c29ffddc 100644
--- a/mitmproxy/mitmproxy/console/common.py
+++ b/mitmproxy/console/common.py
diff --git a/mitmproxy/mitmproxy/console/flowdetailview.py b/mitmproxy/console/flowdetailview.py
index f4b4262e..f4b4262e 100644
--- a/mitmproxy/mitmproxy/console/flowdetailview.py
+++ b/mitmproxy/console/flowdetailview.py
diff --git a/mitmproxy/mitmproxy/console/flowlist.py b/mitmproxy/console/flowlist.py
index c2201055..c2201055 100644
--- a/mitmproxy/mitmproxy/console/flowlist.py
+++ b/mitmproxy/console/flowlist.py
diff --git a/mitmproxy/mitmproxy/console/flowview.py b/mitmproxy/console/flowview.py
index d2b98b68..f74ab140 100644
--- a/mitmproxy/mitmproxy/console/flowview.py
+++ b/mitmproxy/console/flowview.py
@@ -69,7 +69,7 @@ def _mkhelp():
),
("M", "change default body display mode"),
("p", "previous flow"),
- ("P", "copy response(content/headers) to clipboard"),
+ ("P", "copy request/response (content/headers) to clipboard"),
("r", "replay request"),
("V", "revert changes to request"),
("v", "view body in external viewer"),
@@ -193,8 +193,11 @@ class FlowView(tabs.Tabs):
def _get_content_view(self, viewmode, message, max_lines, _):
try:
+ query = None
+ if isinstance(message, HTTPRequest):
+ query = message.query
description, lines = contentviews.get_content_view(
- viewmode, message.content, headers=message.headers
+ viewmode, message.content, headers=message.headers, query=query
)
except ContentViewException:
s = "Content viewer failed: \n" + traceback.format_exc()
diff --git a/mitmproxy/mitmproxy/console/grideditor.py b/mitmproxy/console/grideditor.py
index a11c962c..a11c962c 100644
--- a/mitmproxy/mitmproxy/console/grideditor.py
+++ b/mitmproxy/console/grideditor.py
diff --git a/mitmproxy/mitmproxy/console/help.py b/mitmproxy/console/help.py
index 0c264ebf..0c264ebf 100644
--- a/mitmproxy/mitmproxy/console/help.py
+++ b/mitmproxy/console/help.py
diff --git a/mitmproxy/mitmproxy/console/options.py b/mitmproxy/console/options.py
index 5c9e0cc9..5c9e0cc9 100644
--- a/mitmproxy/mitmproxy/console/options.py
+++ b/mitmproxy/console/options.py
diff --git a/mitmproxy/mitmproxy/console/palettepicker.py b/mitmproxy/console/palettepicker.py
index 51ad0606..51ad0606 100644
--- a/mitmproxy/mitmproxy/console/palettepicker.py
+++ b/mitmproxy/console/palettepicker.py
diff --git a/mitmproxy/mitmproxy/console/palettes.py b/mitmproxy/console/palettes.py
index bd370181..bd370181 100644
--- a/mitmproxy/mitmproxy/console/palettes.py
+++ b/mitmproxy/console/palettes.py
diff --git a/mitmproxy/mitmproxy/console/pathedit.py b/mitmproxy/console/pathedit.py
index 4447070b..4447070b 100644
--- a/mitmproxy/mitmproxy/console/pathedit.py
+++ b/mitmproxy/console/pathedit.py
diff --git a/mitmproxy/mitmproxy/console/searchable.py b/mitmproxy/console/searchable.py
index cff1f0a1..cff1f0a1 100644
--- a/mitmproxy/mitmproxy/console/searchable.py
+++ b/mitmproxy/console/searchable.py
diff --git a/mitmproxy/mitmproxy/console/select.py b/mitmproxy/console/select.py
index 928a7ca5..928a7ca5 100644
--- a/mitmproxy/mitmproxy/console/select.py
+++ b/mitmproxy/console/select.py
diff --git a/mitmproxy/mitmproxy/console/signals.py b/mitmproxy/console/signals.py
index 6a439bf3..6a439bf3 100644
--- a/mitmproxy/mitmproxy/console/signals.py
+++ b/mitmproxy/console/signals.py
diff --git a/mitmproxy/mitmproxy/console/statusbar.py b/mitmproxy/console/statusbar.py
index 4cc63a54..4cc63a54 100644
--- a/mitmproxy/mitmproxy/console/statusbar.py
+++ b/mitmproxy/console/statusbar.py
diff --git a/mitmproxy/mitmproxy/console/tabs.py b/mitmproxy/console/tabs.py
index b5423038..b5423038 100644
--- a/mitmproxy/mitmproxy/console/tabs.py
+++ b/mitmproxy/console/tabs.py
diff --git a/mitmproxy/mitmproxy/console/window.py b/mitmproxy/console/window.py
index 47c284e4..47c284e4 100644
--- a/mitmproxy/mitmproxy/console/window.py
+++ b/mitmproxy/console/window.py
diff --git a/mitmproxy/mitmproxy/contentviews.py b/mitmproxy/contentviews.py
index c0652c18..5335b59c 100644
--- a/mitmproxy/mitmproxy/contentviews.py
+++ b/mitmproxy/contentviews.py
@@ -8,7 +8,8 @@ in the future, e.g. to decode protobuf messages sent as WebSocket frames.
Thus, the View API is very minimalistic. The only arguments are `data` and `**metadata`,
where `data` is the actual content (as bytes). The contents on metadata depend on the protocol in
-use. For HTTP, the message headers are passed as the ``headers`` keyword argument.
+use. For HTTP, the message headers are passed as the ``headers`` keyword argument. For HTTP
+requests, the query parameters are passed as the ``query`` keyword argument.
"""
from __future__ import (absolute_import, print_function, division)
@@ -118,15 +119,19 @@ class ViewAuto(View):
def __call__(self, data, **metadata):
headers = metadata.get("headers", {})
ctype = headers.get("content-type")
- if ctype:
+ if data and ctype:
ct = parse_content_type(ctype) if ctype else None
ct = "%s/%s" % (ct[0], ct[1])
if ct in content_types_map:
return content_types_map[ct][0](data, **metadata)
elif utils.isXML(data):
return get("XML")(data, **metadata)
- if utils.isMostlyBin(data):
+ if metadata.get("query"):
+ return get("Query")(data, **metadata)
+ if data and utils.isMostlyBin(data):
return get("Hex")(data)
+ if not data:
+ return "No content", []
return get("Raw")(data)
@@ -460,6 +465,19 @@ class ViewProtobuf(View):
return "Protobuf", format_text(decoded)
+class ViewQuery(View):
+ name = "Query"
+ prompt = ("query", "q")
+ content_types = []
+
+ def __call__(self, data, **metadata):
+ query = metadata.get("query")
+ if query:
+ return "Query", format_dict(query)
+ else:
+ return "Query", format_text("")
+
+
class ViewWBXML(View):
name = "WBXML"
prompt = ("wbxml", "w")
@@ -541,6 +559,7 @@ add(ViewCSS())
add(ViewURLEncoded())
add(ViewMultipart())
add(ViewImage())
+add(ViewQuery())
if pyamf:
add(ViewAMF())
@@ -577,8 +596,6 @@ def get_content_view(viewmode, data, **metadata):
Raises:
ContentViewException, if the content view threw an error.
"""
- if not data:
- return "No content", []
msg = []
headers = metadata.get("headers", {})
diff --git a/mitmproxy/mitmproxy/contrib/README b/mitmproxy/contrib/README
index e5ce11da..e5ce11da 100644
--- a/mitmproxy/mitmproxy/contrib/README
+++ b/mitmproxy/contrib/README
diff --git a/mitmproxy/mitmproxy/contrib/__init__.py b/mitmproxy/contrib/__init__.py
index e69de29b..e69de29b 100644
--- a/mitmproxy/mitmproxy/contrib/__init__.py
+++ b/mitmproxy/contrib/__init__.py
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/__init__.py b/mitmproxy/contrib/jsbeautifier/__init__.py
index e319e8dd..e319e8dd 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/__init__.py
+++ b/mitmproxy/contrib/jsbeautifier/__init__.py
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd b/mitmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd
index e937b762..e937b762 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd
+++ b/mitmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/__init__.py b/mitmproxy/contrib/jsbeautifier/unpackers/__init__.py
index fcb5b07a..fcb5b07a 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/__init__.py
+++ b/mitmproxy/contrib/jsbeautifier/unpackers/__init__.py
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py b/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py
index b17d926e..b17d926e 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py
+++ b/mitmproxy/contrib/jsbeautifier/unpackers/evalbased.py
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/javascriptobfuscator.py b/mitmproxy/contrib/jsbeautifier/unpackers/javascriptobfuscator.py
index aa4344a3..aa4344a3 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/javascriptobfuscator.py
+++ b/mitmproxy/contrib/jsbeautifier/unpackers/javascriptobfuscator.py
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/myobfuscate.py b/mitmproxy/contrib/jsbeautifier/unpackers/myobfuscate.py
index 9893f95f..9893f95f 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/myobfuscate.py
+++ b/mitmproxy/contrib/jsbeautifier/unpackers/myobfuscate.py
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/packer.py b/mitmproxy/contrib/jsbeautifier/unpackers/packer.py
index 4ada669e..4ada669e 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/packer.py
+++ b/mitmproxy/contrib/jsbeautifier/unpackers/packer.py
diff --git a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/urlencode.py b/mitmproxy/contrib/jsbeautifier/unpackers/urlencode.py
index 72d2bd1c..72d2bd1c 100644
--- a/mitmproxy/mitmproxy/contrib/jsbeautifier/unpackers/urlencode.py
+++ b/mitmproxy/contrib/jsbeautifier/unpackers/urlencode.py
diff --git a/mitmproxy/mitmproxy/contrib/tls/__init__.py b/mitmproxy/contrib/tls/__init__.py
index 4b540884..4b540884 100644
--- a/mitmproxy/mitmproxy/contrib/tls/__init__.py
+++ b/mitmproxy/contrib/tls/__init__.py
diff --git a/mitmproxy/mitmproxy/contrib/tls/_constructs.py b/mitmproxy/contrib/tls/_constructs.py
index 4cb7d382..4cb7d382 100644
--- a/mitmproxy/mitmproxy/contrib/tls/_constructs.py
+++ b/mitmproxy/contrib/tls/_constructs.py
diff --git a/mitmproxy/mitmproxy/contrib/tls/utils.py b/mitmproxy/contrib/tls/utils.py
index 4c917303..4c917303 100644
--- a/mitmproxy/mitmproxy/contrib/tls/utils.py
+++ b/mitmproxy/contrib/tls/utils.py
diff --git a/mitmproxy/mitmproxy/contrib/wbxml/ASCommandResponse.py b/mitmproxy/contrib/wbxml/ASCommandResponse.py
index 08d03445..08d03445 100644
--- a/mitmproxy/mitmproxy/contrib/wbxml/ASCommandResponse.py
+++ b/mitmproxy/contrib/wbxml/ASCommandResponse.py
diff --git a/mitmproxy/mitmproxy/contrib/wbxml/ASWBXML.py b/mitmproxy/contrib/wbxml/ASWBXML.py
index 926d18c0..926d18c0 100644
--- a/mitmproxy/mitmproxy/contrib/wbxml/ASWBXML.py
+++ b/mitmproxy/contrib/wbxml/ASWBXML.py
diff --git a/mitmproxy/mitmproxy/contrib/wbxml/ASWBXMLByteQueue.py b/mitmproxy/contrib/wbxml/ASWBXMLByteQueue.py
index c7a9e0a5..c7a9e0a5 100644
--- a/mitmproxy/mitmproxy/contrib/wbxml/ASWBXMLByteQueue.py
+++ b/mitmproxy/contrib/wbxml/ASWBXMLByteQueue.py
diff --git a/mitmproxy/mitmproxy/contrib/wbxml/ASWBXMLCodePage.py b/mitmproxy/contrib/wbxml/ASWBXMLCodePage.py
index 2f9d8717..2f9d8717 100644
--- a/mitmproxy/mitmproxy/contrib/wbxml/ASWBXMLCodePage.py
+++ b/mitmproxy/contrib/wbxml/ASWBXMLCodePage.py
diff --git a/mitmproxy/mitmproxy/contrib/wbxml/GlobalTokens.py b/mitmproxy/contrib/wbxml/GlobalTokens.py
index 41310fb1..41310fb1 100644
--- a/mitmproxy/mitmproxy/contrib/wbxml/GlobalTokens.py
+++ b/mitmproxy/contrib/wbxml/GlobalTokens.py
diff --git a/mitmproxy/mitmproxy/contrib/wbxml/InvalidDataException.py b/mitmproxy/contrib/wbxml/InvalidDataException.py
index 67f8ea93..67f8ea93 100644
--- a/mitmproxy/mitmproxy/contrib/wbxml/InvalidDataException.py
+++ b/mitmproxy/contrib/wbxml/InvalidDataException.py
diff --git a/mitmproxy/mitmproxy/contrib/wbxml/__init__.py b/mitmproxy/contrib/wbxml/__init__.py
index e69de29b..e69de29b 100644
--- a/mitmproxy/mitmproxy/contrib/wbxml/__init__.py
+++ b/mitmproxy/contrib/wbxml/__init__.py
diff --git a/mitmproxy/mitmproxy/controller.py b/mitmproxy/controller.py
index 9a059856..9a059856 100644
--- a/mitmproxy/mitmproxy/controller.py
+++ b/mitmproxy/controller.py
diff --git a/mitmproxy/mitmproxy/dump.py b/mitmproxy/dump.py
index 6dab2ddc..6dab2ddc 100644
--- a/mitmproxy/mitmproxy/dump.py
+++ b/mitmproxy/dump.py
diff --git a/mitmproxy/mitmproxy/exceptions.py b/mitmproxy/exceptions.py
index f0ff81a2..f0ff81a2 100644
--- a/mitmproxy/mitmproxy/exceptions.py
+++ b/mitmproxy/exceptions.py
diff --git a/mitmproxy/mitmproxy/filt.py b/mitmproxy/filt.py
index aa62b717..aa62b717 100644
--- a/mitmproxy/mitmproxy/filt.py
+++ b/mitmproxy/filt.py
diff --git a/mitmproxy/mitmproxy/flow.py b/mitmproxy/flow.py
index ac0d0fbb..ac0d0fbb 100644
--- a/mitmproxy/mitmproxy/flow.py
+++ b/mitmproxy/flow.py
diff --git a/mitmproxy/mitmproxy/flow_export.py b/mitmproxy/flow_export.py
index 52145516..52145516 100644
--- a/mitmproxy/mitmproxy/flow_export.py
+++ b/mitmproxy/flow_export.py
diff --git a/mitmproxy/mitmproxy/flow_format_compat.py b/mitmproxy/flow_format_compat.py
index a7a95af3..a7a95af3 100644
--- a/mitmproxy/mitmproxy/flow_format_compat.py
+++ b/mitmproxy/flow_format_compat.py
diff --git a/mitmproxy/mitmproxy/main.py b/mitmproxy/main.py
index ef135754..ef135754 100644
--- a/mitmproxy/mitmproxy/main.py
+++ b/mitmproxy/main.py
diff --git a/mitmproxy/mitmproxy/models/__init__.py b/mitmproxy/models/__init__.py
index 653b19fd..653b19fd 100644
--- a/mitmproxy/mitmproxy/models/__init__.py
+++ b/mitmproxy/models/__init__.py
diff --git a/mitmproxy/mitmproxy/models/connections.py b/mitmproxy/models/connections.py
index d5920256..d5920256 100644
--- a/mitmproxy/mitmproxy/models/connections.py
+++ b/mitmproxy/models/connections.py
diff --git a/mitmproxy/mitmproxy/models/flow.py b/mitmproxy/models/flow.py
index 10255dad..10255dad 100644
--- a/mitmproxy/mitmproxy/models/flow.py
+++ b/mitmproxy/models/flow.py
diff --git a/mitmproxy/mitmproxy/models/http.py b/mitmproxy/models/http.py
index 394fe51a..394fe51a 100644
--- a/mitmproxy/mitmproxy/models/http.py
+++ b/mitmproxy/models/http.py
diff --git a/mitmproxy/mitmproxy/onboarding/__init__.py b/mitmproxy/onboarding/__init__.py
index e69de29b..e69de29b 100644
--- a/mitmproxy/mitmproxy/onboarding/__init__.py
+++ b/mitmproxy/onboarding/__init__.py
diff --git a/mitmproxy/mitmproxy/onboarding/app.py b/mitmproxy/onboarding/app.py
index ff5ed63c..ff5ed63c 100644
--- a/mitmproxy/mitmproxy/onboarding/app.py
+++ b/mitmproxy/onboarding/app.py
diff --git a/mitmproxy/mitmproxy/onboarding/static/bootstrap.min.css b/mitmproxy/onboarding/static/bootstrap.min.css
index f31489f9..f31489f9 100644
--- a/mitmproxy/mitmproxy/onboarding/static/bootstrap.min.css
+++ b/mitmproxy/onboarding/static/bootstrap.min.css
diff --git a/mitmproxy/mitmproxy/onboarding/static/fontawesome/css/font-awesome.css b/mitmproxy/onboarding/static/fontawesome/css/font-awesome.css
index 048cff97..048cff97 100644
--- a/mitmproxy/mitmproxy/onboarding/static/fontawesome/css/font-awesome.css
+++ b/mitmproxy/onboarding/static/fontawesome/css/font-awesome.css
diff --git a/mitmproxy/mitmproxy/onboarding/static/fontawesome/css/font-awesome.min.css b/mitmproxy/onboarding/static/fontawesome/css/font-awesome.min.css
index 449d6ac5..449d6ac5 100644
--- a/mitmproxy/mitmproxy/onboarding/static/fontawesome/css/font-awesome.min.css
+++ b/mitmproxy/onboarding/static/fontawesome/css/font-awesome.min.css
diff --git a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/FontAwesome.otf b/mitmproxy/onboarding/static/fontawesome/fonts/FontAwesome.otf
index 8b0f54e4..8b0f54e4 100644
--- a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/FontAwesome.otf
+++ b/mitmproxy/onboarding/static/fontawesome/fonts/FontAwesome.otf
Binary files differ
diff --git a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.eot b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.eot
index 7c79c6a6..7c79c6a6 100644
--- a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.eot
+++ b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.eot
Binary files differ
diff --git a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.svg b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.svg
index 45fdf338..45fdf338 100644
--- a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.svg
+++ b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.svg
diff --git a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.ttf b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.ttf
index e89738de..e89738de 100644
--- a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.ttf
+++ b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.woff b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.woff
index 8c1748aa..8c1748aa 100644
--- a/mitmproxy/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.woff
+++ b/mitmproxy/onboarding/static/fontawesome/fonts/fontawesome-webfont.woff
Binary files differ
diff --git a/mitmproxy/mitmproxy/onboarding/static/mitmproxy.css b/mitmproxy/onboarding/static/mitmproxy.css
index b390976a..b390976a 100644
--- a/mitmproxy/mitmproxy/onboarding/static/mitmproxy.css
+++ b/mitmproxy/onboarding/static/mitmproxy.css
diff --git a/mitmproxy/mitmproxy/onboarding/templates/frame.html b/mitmproxy/onboarding/templates/frame.html
index f00e1a66..f00e1a66 100644
--- a/mitmproxy/mitmproxy/onboarding/templates/frame.html
+++ b/mitmproxy/onboarding/templates/frame.html
diff --git a/mitmproxy/mitmproxy/onboarding/templates/index.html b/mitmproxy/onboarding/templates/index.html
index 1bcff1b8..1bcff1b8 100644
--- a/mitmproxy/mitmproxy/onboarding/templates/index.html
+++ b/mitmproxy/onboarding/templates/index.html
diff --git a/mitmproxy/mitmproxy/onboarding/templates/layout.html b/mitmproxy/onboarding/templates/layout.html
index 8726a788..8726a788 100644
--- a/mitmproxy/mitmproxy/onboarding/templates/layout.html
+++ b/mitmproxy/onboarding/templates/layout.html
diff --git a/mitmproxy/mitmproxy/platform/__init__.py b/mitmproxy/platform/__init__.py
index e1ff7c47..e1ff7c47 100644
--- a/mitmproxy/mitmproxy/platform/__init__.py
+++ b/mitmproxy/platform/__init__.py
diff --git a/mitmproxy/mitmproxy/platform/linux.py b/mitmproxy/platform/linux.py
index 38bfbe42..38bfbe42 100644
--- a/mitmproxy/mitmproxy/platform/linux.py
+++ b/mitmproxy/platform/linux.py
diff --git a/mitmproxy/mitmproxy/platform/osx.py b/mitmproxy/platform/osx.py
index afbc919b..afbc919b 100644
--- a/mitmproxy/mitmproxy/platform/osx.py
+++ b/mitmproxy/platform/osx.py
diff --git a/mitmproxy/mitmproxy/platform/pf.py b/mitmproxy/platform/pf.py
index 97a4c192..97a4c192 100644
--- a/mitmproxy/mitmproxy/platform/pf.py
+++ b/mitmproxy/platform/pf.py
diff --git a/mitmproxy/mitmproxy/platform/windows.py b/mitmproxy/platform/windows.py
index 9fe04cfa..9fe04cfa 100644
--- a/mitmproxy/mitmproxy/platform/windows.py
+++ b/mitmproxy/platform/windows.py
diff --git a/mitmproxy/mitmproxy/protocol/__init__.py b/mitmproxy/protocol/__init__.py
index d44e25e9..d44e25e9 100644
--- a/mitmproxy/mitmproxy/protocol/__init__.py
+++ b/mitmproxy/protocol/__init__.py
diff --git a/mitmproxy/mitmproxy/protocol/base.py b/mitmproxy/protocol/base.py
index a14066cd..a14066cd 100644
--- a/mitmproxy/mitmproxy/protocol/base.py
+++ b/mitmproxy/protocol/base.py
diff --git a/mitmproxy/mitmproxy/protocol/http.py b/mitmproxy/protocol/http.py
index 13d7903b..13d7903b 100644
--- a/mitmproxy/mitmproxy/protocol/http.py
+++ b/mitmproxy/protocol/http.py
diff --git a/mitmproxy/mitmproxy/protocol/http1.py b/mitmproxy/protocol/http1.py
index a4cd8801..a4cd8801 100644
--- a/mitmproxy/mitmproxy/protocol/http1.py
+++ b/mitmproxy/protocol/http1.py
diff --git a/mitmproxy/mitmproxy/protocol/http2.py b/mitmproxy/protocol/http2.py
index c121637c..3fbc500a 100644
--- a/mitmproxy/mitmproxy/protocol/http2.py
+++ b/mitmproxy/protocol/http2.py
@@ -9,8 +9,6 @@ from netlib.exceptions import HttpException
from netlib.http import Headers
from netlib.utils import http2_read_raw_frame
-import hyperframe
-import h2
from h2.connection import H2Connection
from h2.events import *
@@ -232,19 +230,6 @@ class Http2Layer(Layer):
stream.zombie = time.time()
return
- frame, _ = hyperframe.frame.Frame.parse_frame_header(raw_frame[:9])
-
- if is_server:
- list = self.server_reset_streams
- else:
- list = self.client_reset_streams
- if frame.stream_id in list:
- # this frame belongs to a reset stream - just ignore it
- if isinstance(frame, hyperframe.frame.HeadersFrame) or isinstance(frame, hyperframe.frame.ContinuationFrame):
- # we need to keep the hpack-decoder happy too
- source_conn.h2.decoder.decode(raw_frame[9:])
- continue
-
events = source_conn.h2.receive_data(raw_frame)
source_conn.send(source_conn.h2.data_to_send())
diff --git a/mitmproxy/mitmproxy/protocol/http_replay.py b/mitmproxy/protocol/http_replay.py
index 6316f26c..6316f26c 100644
--- a/mitmproxy/mitmproxy/protocol/http_replay.py
+++ b/mitmproxy/protocol/http_replay.py
diff --git a/mitmproxy/mitmproxy/protocol/rawtcp.py b/mitmproxy/protocol/rawtcp.py
index b87899e4..b87899e4 100644
--- a/mitmproxy/mitmproxy/protocol/rawtcp.py
+++ b/mitmproxy/protocol/rawtcp.py
diff --git a/mitmproxy/mitmproxy/protocol/tls.py b/mitmproxy/protocol/tls.py
index 6913396d..6913396d 100644
--- a/mitmproxy/mitmproxy/protocol/tls.py
+++ b/mitmproxy/protocol/tls.py
diff --git a/mitmproxy/mitmproxy/proxy/__init__.py b/mitmproxy/proxy/__init__.py
index be7f5207..be7f5207 100644
--- a/mitmproxy/mitmproxy/proxy/__init__.py
+++ b/mitmproxy/proxy/__init__.py
diff --git a/mitmproxy/mitmproxy/proxy/config.py b/mitmproxy/proxy/config.py
index a635ab19..a635ab19 100644
--- a/mitmproxy/mitmproxy/proxy/config.py
+++ b/mitmproxy/proxy/config.py
diff --git a/mitmproxy/mitmproxy/proxy/modes/__init__.py b/mitmproxy/proxy/modes/__init__.py
index f014ed98..f014ed98 100644
--- a/mitmproxy/mitmproxy/proxy/modes/__init__.py
+++ b/mitmproxy/proxy/modes/__init__.py
diff --git a/mitmproxy/mitmproxy/proxy/modes/http_proxy.py b/mitmproxy/proxy/modes/http_proxy.py
index e19062b9..e19062b9 100644
--- a/mitmproxy/mitmproxy/proxy/modes/http_proxy.py
+++ b/mitmproxy/proxy/modes/http_proxy.py
diff --git a/mitmproxy/mitmproxy/proxy/modes/reverse_proxy.py b/mitmproxy/proxy/modes/reverse_proxy.py
index c8e80a10..c8e80a10 100644
--- a/mitmproxy/mitmproxy/proxy/modes/reverse_proxy.py
+++ b/mitmproxy/proxy/modes/reverse_proxy.py
diff --git a/mitmproxy/mitmproxy/proxy/modes/socks_proxy.py b/mitmproxy/proxy/modes/socks_proxy.py
index e2ce44ae..e2ce44ae 100644
--- a/mitmproxy/mitmproxy/proxy/modes/socks_proxy.py
+++ b/mitmproxy/proxy/modes/socks_proxy.py
diff --git a/mitmproxy/mitmproxy/proxy/modes/transparent_proxy.py b/mitmproxy/proxy/modes/transparent_proxy.py
index 3fdda656..3fdda656 100644
--- a/mitmproxy/mitmproxy/proxy/modes/transparent_proxy.py
+++ b/mitmproxy/proxy/modes/transparent_proxy.py
diff --git a/mitmproxy/mitmproxy/proxy/root_context.py b/mitmproxy/proxy/root_context.py
index ae49523f..ae49523f 100644
--- a/mitmproxy/mitmproxy/proxy/root_context.py
+++ b/mitmproxy/proxy/root_context.py
diff --git a/mitmproxy/mitmproxy/proxy/server.py b/mitmproxy/proxy/server.py
index 8b62ff93..8b62ff93 100644
--- a/mitmproxy/mitmproxy/proxy/server.py
+++ b/mitmproxy/proxy/server.py
diff --git a/mitmproxy/mitmproxy/script/__init__.py b/mitmproxy/script/__init__.py
index 3ee19b04..3ee19b04 100644
--- a/mitmproxy/mitmproxy/script/__init__.py
+++ b/mitmproxy/script/__init__.py
diff --git a/mitmproxy/mitmproxy/script/concurrent.py b/mitmproxy/script/concurrent.py
index f0f5e3cd..f0f5e3cd 100644
--- a/mitmproxy/mitmproxy/script/concurrent.py
+++ b/mitmproxy/script/concurrent.py
diff --git a/mitmproxy/mitmproxy/script/reloader.py b/mitmproxy/script/reloader.py
index b4acf51b..b4acf51b 100644
--- a/mitmproxy/mitmproxy/script/reloader.py
+++ b/mitmproxy/script/reloader.py
diff --git a/mitmproxy/mitmproxy/script/script.py b/mitmproxy/script/script.py
index 55778851..55778851 100644
--- a/mitmproxy/mitmproxy/script/script.py
+++ b/mitmproxy/script/script.py
diff --git a/mitmproxy/mitmproxy/script/script_context.py b/mitmproxy/script/script_context.py
index cd5d4b61..cd5d4b61 100644
--- a/mitmproxy/mitmproxy/script/script_context.py
+++ b/mitmproxy/script/script_context.py
diff --git a/mitmproxy/setup.cfg b/mitmproxy/setup.cfg
deleted file mode 100644
index 1151288f..00000000
--- a/mitmproxy/setup.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-[flake8]
-max-line-length = 120
-max-complexity = 20
-
-[pep8]
-max-line-length = 120
-exclude = */contrib/*
-ignore = E251
-
-[pytest]
-testpaths = test
diff --git a/mitmproxy/mitmproxy/stateobject.py b/mitmproxy/stateobject.py
index a4a1ffda..a4a1ffda 100644
--- a/mitmproxy/mitmproxy/stateobject.py
+++ b/mitmproxy/stateobject.py
diff --git a/mitmproxy/mitmproxy/tnetstring.py b/mitmproxy/tnetstring.py
index c5c185c6..c5c185c6 100644
--- a/mitmproxy/mitmproxy/tnetstring.py
+++ b/mitmproxy/tnetstring.py
diff --git a/mitmproxy/mitmproxy/utils.py b/mitmproxy/utils.py
index 4bdd036e..4bdd036e 100644
--- a/mitmproxy/mitmproxy/utils.py
+++ b/mitmproxy/utils.py
diff --git a/mitmproxy/mitmproxy/version.py b/mitmproxy/version.py
index 63f60a8d..63f60a8d 100644
--- a/mitmproxy/mitmproxy/version.py
+++ b/mitmproxy/version.py
diff --git a/mitmproxy/mitmproxy/web/__init__.py b/mitmproxy/web/__init__.py
index 50c49e8d..50c49e8d 100644
--- a/mitmproxy/mitmproxy/web/__init__.py
+++ b/mitmproxy/web/__init__.py
diff --git a/mitmproxy/mitmproxy/web/app.py b/mitmproxy/web/app.py
index 63b7bf1a..63b7bf1a 100644
--- a/mitmproxy/mitmproxy/web/app.py
+++ b/mitmproxy/web/app.py
diff --git a/mitmproxy/mitmproxy/web/static/app.css b/mitmproxy/web/static/app.css
index 94a6abf0..94a6abf0 100644
--- a/mitmproxy/mitmproxy/web/static/app.css
+++ b/mitmproxy/web/static/app.css
diff --git a/mitmproxy/mitmproxy/web/static/app.js b/mitmproxy/web/static/app.js
index 27f356f7..27f356f7 100644
--- a/mitmproxy/mitmproxy/web/static/app.js
+++ b/mitmproxy/web/static/app.js
diff --git a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.eot b/mitmproxy/web/static/fonts/fontawesome-webfont.eot
index 84677bc0..84677bc0 100644
--- a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.eot
+++ b/mitmproxy/web/static/fonts/fontawesome-webfont.eot
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.svg b/mitmproxy/web/static/fonts/fontawesome-webfont.svg
index d907b25a..d907b25a 100644
--- a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.svg
+++ b/mitmproxy/web/static/fonts/fontawesome-webfont.svg
diff --git a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.ttf b/mitmproxy/web/static/fonts/fontawesome-webfont.ttf
index 96a3639c..96a3639c 100644
--- a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.ttf
+++ b/mitmproxy/web/static/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.woff b/mitmproxy/web/static/fonts/fontawesome-webfont.woff
index 628b6a52..628b6a52 100644
--- a/mitmproxy/mitmproxy/web/static/fonts/fontawesome-webfont.woff
+++ b/mitmproxy/web/static/fonts/fontawesome-webfont.woff
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/LICENSE b/mitmproxy/web/static/images/chrome-devtools/LICENSE
index 6e4f8b9f..6e4f8b9f 100644
--- a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/LICENSE
+++ b/mitmproxy/web/static/images/chrome-devtools/LICENSE
diff --git a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png b/mitmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png
index 18828d06..18828d06 100644
--- a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png
+++ b/mitmproxy/web/static/images/chrome-devtools/resourceCSSIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png b/mitmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png
index fdc10e47..fdc10e47 100644
--- a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png
+++ b/mitmproxy/web/static/images/chrome-devtools/resourceDocumentIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceJSIcon.png b/mitmproxy/web/static/images/chrome-devtools/resourceJSIcon.png
index c1b72189..c1b72189 100644
--- a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourceJSIcon.png
+++ b/mitmproxy/web/static/images/chrome-devtools/resourceJSIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourcePlainIcon.png b/mitmproxy/web/static/images/chrome-devtools/resourcePlainIcon.png
index 8c82a4c7..8c82a4c7 100644
--- a/mitmproxy/mitmproxy/web/static/images/chrome-devtools/resourcePlainIcon.png
+++ b/mitmproxy/web/static/images/chrome-devtools/resourcePlainIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/resourceExecutableIcon.png b/mitmproxy/web/static/images/resourceExecutableIcon.png
index fa70c2fd..fa70c2fd 100644
--- a/mitmproxy/mitmproxy/web/static/images/resourceExecutableIcon.png
+++ b/mitmproxy/web/static/images/resourceExecutableIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/resourceFlashIcon.png b/mitmproxy/web/static/images/resourceFlashIcon.png
index ead5a4d0..ead5a4d0 100644
--- a/mitmproxy/mitmproxy/web/static/images/resourceFlashIcon.png
+++ b/mitmproxy/web/static/images/resourceFlashIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/resourceImageIcon.png b/mitmproxy/web/static/images/resourceImageIcon.png
index 23163042..23163042 100644
--- a/mitmproxy/mitmproxy/web/static/images/resourceImageIcon.png
+++ b/mitmproxy/web/static/images/resourceImageIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/resourceJavaIcon.png b/mitmproxy/web/static/images/resourceJavaIcon.png
index 553b3391..553b3391 100644
--- a/mitmproxy/mitmproxy/web/static/images/resourceJavaIcon.png
+++ b/mitmproxy/web/static/images/resourceJavaIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/resourceNotModifiedIcon.png b/mitmproxy/web/static/images/resourceNotModifiedIcon.png
index 9c6a879d..9c6a879d 100644
--- a/mitmproxy/mitmproxy/web/static/images/resourceNotModifiedIcon.png
+++ b/mitmproxy/web/static/images/resourceNotModifiedIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/images/resourceRedirectIcon.png b/mitmproxy/web/static/images/resourceRedirectIcon.png
index 58fe3ac1..58fe3ac1 100644
--- a/mitmproxy/mitmproxy/web/static/images/resourceRedirectIcon.png
+++ b/mitmproxy/web/static/images/resourceRedirectIcon.png
Binary files differ
diff --git a/mitmproxy/mitmproxy/web/static/vendor.css b/mitmproxy/web/static/vendor.css
index 4ed1f0b8..4ed1f0b8 100644
--- a/mitmproxy/mitmproxy/web/static/vendor.css
+++ b/mitmproxy/web/static/vendor.css
diff --git a/mitmproxy/mitmproxy/web/static/vendor.js b/mitmproxy/web/static/vendor.js
index 59d10445..59d10445 100644
--- a/mitmproxy/mitmproxy/web/static/vendor.js
+++ b/mitmproxy/web/static/vendor.js
diff --git a/mitmproxy/mitmproxy/web/templates/index.html b/mitmproxy/web/templates/index.html
index 5f2c6d5e..5f2c6d5e 100644
--- a/mitmproxy/mitmproxy/web/templates/index.html
+++ b/mitmproxy/web/templates/index.html
diff --git a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.eot b/mitmproxy/webfonts/fontawesome-webfont.eot
index 84677bc0..84677bc0 100644
--- a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.eot
+++ b/mitmproxy/webfonts/fontawesome-webfont.eot
Binary files differ
diff --git a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.svg b/mitmproxy/webfonts/fontawesome-webfont.svg
index d907b25a..d907b25a 100644
--- a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.svg
+++ b/mitmproxy/webfonts/fontawesome-webfont.svg
diff --git a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.ttf b/mitmproxy/webfonts/fontawesome-webfont.ttf
index 96a3639c..96a3639c 100644
--- a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.ttf
+++ b/mitmproxy/webfonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.woff b/mitmproxy/webfonts/fontawesome-webfont.woff
index 628b6a52..628b6a52 100644
--- a/mitmproxy/mitmproxy/webfonts/fontawesome-webfont.woff
+++ b/mitmproxy/webfonts/fontawesome-webfont.woff
Binary files differ
diff --git a/netlib/README.rst b/netlib/README.rst
deleted file mode 100644
index 16bd65a7..00000000
--- a/netlib/README.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-|travis| |coveralls| |downloads| |latest_release| |python_versions|
-
-Netlib is a collection of network utility classes, used by the pathod and
-mitmproxy projects. It differs from other projects in some fundamental
-respects, because both pathod and mitmproxy often need to violate standards.
-This means that protocols are implemented as small, well-contained and flexible
-functions, and are designed to allow misbehaviour when needed.
-
-
-Development
------------
-
-If you'd like to work on netlib, check out the instructions in mitmproxy's README_.
-
-.. |travis| image:: https://shields.mitmproxy.org/travis/mitmproxy/netlib/master.svg
- :target: https://travis-ci.org/mitmproxy/netlib
- :alt: Build Status
-
-.. |coveralls| image:: https://shields.mitmproxy.org/coveralls/mitmproxy/netlib/master.svg
- :target: https://coveralls.io/r/mitmproxy/netlib
- :alt: Coverage Status
-
-.. |downloads| image:: https://shields.mitmproxy.org/pypi/dm/netlib.svg?color=orange
- :target: https://pypi.python.org/pypi/netlib
- :alt: Downloads
-
-.. |latest_release| image:: https://shields.mitmproxy.org/pypi/v/netlib.svg
- :target: https://pypi.python.org/pypi/netlib
- :alt: Latest Version
-
-.. |python_versions| image:: https://shields.mitmproxy.org/pypi/pyversions/netlib.svg
- :target: https://pypi.python.org/pypi/netlib
- :alt: Supported Python versions
-
-.. _README: https://github.com/mitmproxy/mitmproxy#hacking \ No newline at end of file
diff --git a/netlib/netlib/__init__.py b/netlib/__init__.py
index 9b4faa33..9b4faa33 100644
--- a/netlib/netlib/__init__.py
+++ b/netlib/__init__.py
diff --git a/netlib/netlib/certutils.py b/netlib/certutils.py
index 616a778e..616a778e 100644
--- a/netlib/netlib/certutils.py
+++ b/netlib/certutils.py
diff --git a/netlib/netlib/encoding.py b/netlib/encoding.py
index 14479e00..14479e00 100644
--- a/netlib/netlib/encoding.py
+++ b/netlib/encoding.py
diff --git a/netlib/netlib/exceptions.py b/netlib/exceptions.py
index 05f1054b..05f1054b 100644
--- a/netlib/netlib/exceptions.py
+++ b/netlib/exceptions.py
diff --git a/netlib/netlib/http/__init__.py b/netlib/http/__init__.py
index fd632cd5..fd632cd5 100644
--- a/netlib/netlib/http/__init__.py
+++ b/netlib/http/__init__.py
diff --git a/netlib/netlib/http/authentication.py b/netlib/http/authentication.py
index d769abe5..d769abe5 100644
--- a/netlib/netlib/http/authentication.py
+++ b/netlib/http/authentication.py
diff --git a/netlib/netlib/http/cookies.py b/netlib/http/cookies.py
index 18544b5e..18544b5e 100644
--- a/netlib/netlib/http/cookies.py
+++ b/netlib/http/cookies.py
diff --git a/netlib/netlib/http/headers.py b/netlib/http/headers.py
index 78404796..78404796 100644
--- a/netlib/netlib/http/headers.py
+++ b/netlib/http/headers.py
diff --git a/netlib/netlib/http/http1/__init__.py b/netlib/http/http1/__init__.py
index 2aa7e26a..2aa7e26a 100644
--- a/netlib/netlib/http/http1/__init__.py
+++ b/netlib/http/http1/__init__.py
diff --git a/netlib/netlib/http/http1/assemble.py b/netlib/http/http1/assemble.py
index 785ee8d3..785ee8d3 100644
--- a/netlib/netlib/http/http1/assemble.py
+++ b/netlib/http/http1/assemble.py
diff --git a/netlib/netlib/http/http1/read.py b/netlib/http/http1/read.py
index 6e3a1b93..6e3a1b93 100644
--- a/netlib/netlib/http/http1/read.py
+++ b/netlib/http/http1/read.py
diff --git a/netlib/netlib/http/http2/__init__.py b/netlib/http/http2/__init__.py
index 7043d36f..7043d36f 100644
--- a/netlib/netlib/http/http2/__init__.py
+++ b/netlib/http/http2/__init__.py
diff --git a/netlib/netlib/http/http2/connections.py b/netlib/http/http2/connections.py
index 52fa7193..52fa7193 100644
--- a/netlib/netlib/http/http2/connections.py
+++ b/netlib/http/http2/connections.py
diff --git a/netlib/netlib/http/message.py b/netlib/http/message.py
index e3d8ce37..e3d8ce37 100644
--- a/netlib/netlib/http/message.py
+++ b/netlib/http/message.py
diff --git a/netlib/netlib/http/request.py b/netlib/http/request.py
index 99662732..99662732 100644
--- a/netlib/netlib/http/request.py
+++ b/netlib/http/request.py
diff --git a/netlib/netlib/http/response.py b/netlib/http/response.py
index 8f4d6215..8f4d6215 100644
--- a/netlib/netlib/http/response.py
+++ b/netlib/http/response.py
diff --git a/netlib/netlib/http/status_codes.py b/netlib/http/status_codes.py
index 8a4dc1f5..8a4dc1f5 100644
--- a/netlib/netlib/http/status_codes.py
+++ b/netlib/http/status_codes.py
diff --git a/netlib/netlib/http/user_agents.py b/netlib/http/user_agents.py
index e8681908..e8681908 100644
--- a/netlib/netlib/http/user_agents.py
+++ b/netlib/http/user_agents.py
diff --git a/netlib/netlib/odict.py b/netlib/odict.py
index 1e6e381a..1e6e381a 100644
--- a/netlib/netlib/odict.py
+++ b/netlib/odict.py
diff --git a/netlib/setup.cfg b/netlib/setup.cfg
deleted file mode 100644
index 3480374b..00000000
--- a/netlib/setup.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-[bdist_wheel]
-universal=1 \ No newline at end of file
diff --git a/netlib/setup.py b/netlib/setup.py
deleted file mode 100644
index 0c9a721d..00000000
--- a/netlib/setup.py
+++ /dev/null
@@ -1,70 +0,0 @@
-from setuptools import setup, find_packages
-from codecs import open
-import os
-import sys
-
-from netlib import version
-
-# Based on https://github.com/pypa/sampleproject/blob/master/setup.py
-# and https://python-packaging-user-guide.readthedocs.org/
-# and https://caremad.io/2014/11/distributing-a-cffi-project/
-
-here = os.path.abspath(os.path.dirname(__file__))
-
-with open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
- long_description = f.read()
-
-setup(
- name="netlib",
- version=version.VERSION,
- description="A collection of network utilities used by pathod and mitmproxy.",
- long_description=long_description,
- url="http://github.com/mitmproxy/netlib",
- author="Aldo Cortesi",
- author_email="aldo@corte.si",
- license="MIT",
- classifiers=[
- "License :: OSI Approved :: MIT License",
- "Development Status :: 3 - Alpha",
- "Operating System :: POSIX",
- "Programming Language :: Python",
- "Programming Language :: Python :: 2",
- "Programming Language :: Python :: 2.7",
- "Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.5",
- "Programming Language :: Python :: Implementation :: CPython",
- "Programming Language :: Python :: Implementation :: PyPy",
- "Topic :: Internet",
- "Topic :: Internet :: WWW/HTTP",
- "Topic :: Internet :: WWW/HTTP :: HTTP Servers",
- "Topic :: Software Development :: Testing",
- "Topic :: Software Development :: Testing :: Traffic Generation",
- ],
- packages=find_packages(),
- install_requires=[
- "pyasn1>=0.1.9, <0.2",
- "pyOpenSSL>=0.15.1, <0.16",
- "cryptography>=1.2.2, <1.3",
- "passlib>=1.6.5, <1.7",
- "hpack>=2.1.0, <3.0",
- "hyperframe>=3.2.0, <4.0",
- "six>=1.10.0, <1.11",
- "certifi>=2015.11.20.1", # no semver here - this should always be on the last release!
- "backports.ssl_match_hostname>=3.5.0.1, <3.6",
- ],
- extras_require={
- # Do not use a range operator here: https://bitbucket.org/pypa/setuptools/issues/380
- # Ubuntu Trusty and other still ship with setuptools < 17.1
- ':python_version == "2.7"': [
- "ipaddress>=1.0.15, <1.1",
- ],
- 'dev': [
- "mock>=1.3.0, <1.4",
- "pytest>=2.8.7, <2.9",
- "pytest-xdist>=1.14, <1.15",
- "pytest-cov>=2.2.1, <2.3",
- "pytest-timeout>=1.0.0, <1.1",
- "coveralls>=1.1, <1.2"
- ]
- },
-)
diff --git a/netlib/netlib/socks.py b/netlib/socks.py
index 51ad1c63..51ad1c63 100644
--- a/netlib/netlib/socks.py
+++ b/netlib/socks.py
diff --git a/netlib/netlib/tcp.py b/netlib/tcp.py
index 61b41cdc..61b41cdc 100644
--- a/netlib/netlib/tcp.py
+++ b/netlib/tcp.py
diff --git a/netlib/netlib/tutils.py b/netlib/tutils.py
index f6ce8e0a..18d632f0 100644
--- a/netlib/netlib/tutils.py
+++ b/netlib/tutils.py
@@ -92,7 +92,7 @@ class RaisesContext(object):
test_data = utils.Data(__name__)
# FIXME: Temporary workaround during repo merge.
import os
-test_data.dirname = os.path.join(test_data.dirname,"..","..","test","netlib")
+test_data.dirname = os.path.join(test_data.dirname,"..","test","netlib")
def treq(**kwargs):
diff --git a/netlib/netlib/utils.py b/netlib/utils.py
index f7bb5c4b..f7bb5c4b 100644
--- a/netlib/netlib/utils.py
+++ b/netlib/utils.py
diff --git a/netlib/netlib/version.py b/netlib/version.py
index 379fee0f..379fee0f 100644
--- a/netlib/netlib/version.py
+++ b/netlib/version.py
diff --git a/netlib/netlib/version_check.py b/netlib/version_check.py
index 9cf27eea..9cf27eea 100644
--- a/netlib/netlib/version_check.py
+++ b/netlib/version_check.py
diff --git a/netlib/netlib/websockets/__init__.py b/netlib/websockets/__init__.py
index 1c143919..1c143919 100644
--- a/netlib/netlib/websockets/__init__.py
+++ b/netlib/websockets/__init__.py
diff --git a/netlib/netlib/websockets/frame.py b/netlib/websockets/frame.py
index fce2c9d3..fce2c9d3 100644
--- a/netlib/netlib/websockets/frame.py
+++ b/netlib/websockets/frame.py
diff --git a/netlib/netlib/websockets/protocol.py b/netlib/websockets/protocol.py
index 1e95fa1c..1e95fa1c 100644
--- a/netlib/netlib/websockets/protocol.py
+++ b/netlib/websockets/protocol.py
diff --git a/netlib/netlib/wsgi.py b/netlib/wsgi.py
index d6dfae5d..d6dfae5d 100644
--- a/netlib/netlib/wsgi.py
+++ b/netlib/wsgi.py
diff --git a/pathod/.jsbeautifyrc b/pathod/.jsbeautifyrc
deleted file mode 100644
index 725c15ad..00000000
--- a/pathod/.jsbeautifyrc
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "indent_size": 4,
- "indent_char": " ",
- "eol": "\n",
- "indent_level": 0,
- "indent_with_tabs": false,
- "preserve_newlines": true,
- "max_preserve_newlines": 10,
- "jslint_happy": false,
- "space_after_anon_function": false,
- "brace_style": "collapse",
- "keep_array_indentation": false,
- "keep_function_indentation": false,
- "space_before_conditional": true,
- "break_chained_methods": false,
- "eval_code": false,
- "unescape_strings": false,
- "wrap_line_length": 80,
- "wrap_attributes": "auto",
- "wrap_attributes_indent_size": 4,
- "end_with_newline": true
-}
diff --git a/pathod/CHANGELOG b/pathod/CHANGELOG
deleted file mode 100644
index 2de445b4..00000000
--- a/pathod/CHANGELOG
+++ /dev/null
@@ -1,83 +0,0 @@
-7 November 2014: pathod 0.11:
-
- * Hugely improved SSL support, including dynamic generation of certificates
- using the mitproxy cacert
- * pathoc -S dumps information on the remote SSL certificate chain
- * Big improvements to fuzzing, including random spec selection and memoization to avoid repeating randomly generated patterns
- * Reflected patterns, allowing you to embed a pathod server response specification in a pathoc request, resolving both on client side. This makes fuzzing proxies and other intermediate systems much better.
-
-
-25 August 2013: pathod 0.9.2:
-
- * Adapt to interface changes in netlib
-
-
-15 May 2013: pathod 0.9 (version synced with mitmproxy):
-
- * Pathod proxy mode. You can now configure clients to use pathod as an
- HTTP/S proxy.
-
- * Pathoc proxy support, including using CONNECT to tunnel directly to
- targets.
-
- * Pathoc client certificate support.
-
- * API improvements, bugfixes.
-
-
-16 November 2012: pathod 0.3:
-
- A release focusing on shoring up our fuzzing capabilities, especially with
- pathoc.
-
- * pathoc -q and -r options, output full request and response text.
-
- * pathod -q and -r options, add full request and response text to pathod's
- log buffer.
-
- * pathoc and pathod -x option, makes -q and -r options log in hex dump
- format.
-
- * pathoc -C option, specify response codes to ignore.
-
- * pathoc -T option, instructs pathoc to ignore timeouts.
-
- * pathoc -o option, a one-shot mode that exits after the first non-ignored
- response.
-
- * pathoc and pathod -e option, which explains the resulting message by
- expanding random and generated portions, and logging a reproducible
- specification.
-
- * Streamline the specification langauge. HTTP response message is now
- specified using the "r" mnemonic.
-
- * Add a "u" mnemonic for specifying User-Agent strings. Add a set of
- standard user-agent strings accessible through shortcuts.
-
- * Major internal refactoring and cleanup.
-
- * Many bugfixes.
-
-
-22 August 2012: pathod 0.2:
-
- * Add pathoc, a pathological HTTP client.
-
- * Add libpathod.test, a truss for using pathod in unit tests.
-
- * Add an injection operator to the specification language.
-
- * Allow Python escape sequences in value literals.
-
- * Allow execution of requests and responses from file, using the new + operator.
-
- * Add daemonization to Pathod, and make it more robust for public-facing use.
-
- * Let pathod pick an arbitrary open port if -p 0 is specified.
-
- * Move from Tornado to netlib, the network library written for mitmproxy.
-
- * Move the web application to Flask.
-
- * Massively expand the documentation.
diff --git a/pathod/MANIFEST.in b/pathod/MANIFEST.in
deleted file mode 100644
index a83fa08f..00000000
--- a/pathod/MANIFEST.in
+++ /dev/null
@@ -1,2 +0,0 @@
-graft pathod
-recursive-exclude * *.pyc *.pyo *.swo *.swp *.map \ No newline at end of file
diff --git a/pathod/README.rst b/pathod/README.rst
deleted file mode 100644
index fbedc5ba..00000000
--- a/pathod/README.rst
+++ /dev/null
@@ -1,60 +0,0 @@
-pathod
-^^^^^^
-
-|travis| |coveralls| |downloads| |latest_release| |python_versions|
-
-**pathod** is a collection of pathological tools for testing and torturing HTTP
-clients and servers. The project has three components:
-
-- ``pathod``, an pathological HTTP daemon.
-- ``pathoc``, a perverse HTTP client.
-- ``pathod.test``, an API for easily using pathod and pathoc in unit tests.
-
-Installing
-----------
-
-If you already have **pip** on your system, installing **pathod** and its
-dependencies is dead simple:
-
-.. code-block:: text
-
- pip install pathod
-
-Documentation
--------------
-
-The pathod documentation is self-hosted. Just fire up pathod, like so:
-
-.. code-block:: text
-
- ./pathod
-
-And then browse to:
-
-`<http://localhost:9999>`_
-
-You can always view the documentation for the latest release at the pathod
-website:
-
-`<http://pathod.net>`_
-
-
-.. |travis| image:: https://shields.mitmproxy.org/travis/mitmproxy/pathod/master.svg
- :target: https://travis-ci.org/mitmproxy/pathod
- :alt: Build Status
-
-.. |coveralls| image:: https://shields.mitmproxy.org/coveralls/mitmproxy/pathod/master.svg
- :target: https://coveralls.io/r/mitmproxy/pathod
- :alt: Coverage Status
-
-.. |downloads| image:: https://shields.mitmproxy.org/pypi/dm/pathod.svg?color=orange
- :target: https://pypi.python.org/pypi/pathod
- :alt: Downloads
-
-.. |latest_release| image:: https://shields.mitmproxy.org/pypi/v/pathod.svg
- :target: https://pypi.python.org/pypi/pathod
- :alt: Latest Version
-
-.. |python_versions| image:: https://shields.mitmproxy.org/pypi/pyversions/pathod.svg
- :target: https://pypi.python.org/pypi/pathod
- :alt: Supported Python versions \ No newline at end of file
diff --git a/pathod/pathod/__init__.py b/pathod/__init__.py
index e69de29b..e69de29b 100644
--- a/pathod/pathod/__init__.py
+++ b/pathod/__init__.py
diff --git a/pathod/pathod/app.py b/pathod/app.py
index c6b7eabc..c6b7eabc 100644
--- a/pathod/pathod/app.py
+++ b/pathod/app.py
diff --git a/pathod/pathod/language/__init__.py b/pathod/language/__init__.py
index 32199e08..32199e08 100644
--- a/pathod/pathod/language/__init__.py
+++ b/pathod/language/__init__.py
diff --git a/pathod/pathod/language/actions.py b/pathod/language/actions.py
index 34a9bafb..34a9bafb 100644
--- a/pathod/pathod/language/actions.py
+++ b/pathod/language/actions.py
diff --git a/pathod/pathod/language/base.py b/pathod/language/base.py
index a4302998..a4302998 100644
--- a/pathod/pathod/language/base.py
+++ b/pathod/language/base.py
diff --git a/pathod/pathod/language/exceptions.py b/pathod/language/exceptions.py
index 84ad3c02..84ad3c02 100644
--- a/pathod/pathod/language/exceptions.py
+++ b/pathod/language/exceptions.py
diff --git a/pathod/pathod/language/generators.py b/pathod/language/generators.py
index a17e7052..a17e7052 100644
--- a/pathod/pathod/language/generators.py
+++ b/pathod/language/generators.py
diff --git a/pathod/pathod/language/http.py b/pathod/language/http.py
index a82f12fe..a82f12fe 100644
--- a/pathod/pathod/language/http.py
+++ b/pathod/language/http.py
diff --git a/pathod/pathod/language/http2.py b/pathod/language/http2.py
index d5e3ca31..d5e3ca31 100644
--- a/pathod/pathod/language/http2.py
+++ b/pathod/language/http2.py
diff --git a/pathod/pathod/language/message.py b/pathod/language/message.py
index 33124856..33124856 100644
--- a/pathod/pathod/language/message.py
+++ b/pathod/language/message.py
diff --git a/pathod/pathod/language/websockets.py b/pathod/language/websockets.py
index ea7c870e..ea7c870e 100644
--- a/pathod/pathod/language/websockets.py
+++ b/pathod/language/websockets.py
diff --git a/pathod/pathod/language/writer.py b/pathod/language/writer.py
index 1a27e1ef..1a27e1ef 100644
--- a/pathod/pathod/language/writer.py
+++ b/pathod/language/writer.py
diff --git a/pathod/pathod/log.py b/pathod/log.py
index f203542f..f203542f 100644
--- a/pathod/pathod/log.py
+++ b/pathod/log.py
diff --git a/pathod/pathod/pathoc.py b/pathod/pathoc.py
index c0a33b62..c0a33b62 100644
--- a/pathod/pathod/pathoc.py
+++ b/pathod/pathoc.py
diff --git a/pathod/pathod/pathoc_cmdline.py b/pathod/pathoc_cmdline.py
index bf827a9a..bf827a9a 100644
--- a/pathod/pathod/pathoc_cmdline.py
+++ b/pathod/pathoc_cmdline.py
diff --git a/pathod/pathod/pathod.py b/pathod/pathod.py
index 55e75074..55e75074 100644
--- a/pathod/pathod/pathod.py
+++ b/pathod/pathod.py
diff --git a/pathod/pathod/pathod_cmdline.py b/pathod/pathod_cmdline.py
index c9272249..c9272249 100644
--- a/pathod/pathod/pathod_cmdline.py
+++ b/pathod/pathod_cmdline.py
diff --git a/pathod/pathod/protocols/__init__.py b/pathod/protocols/__init__.py
index 1a8c7dab..1a8c7dab 100644
--- a/pathod/pathod/protocols/__init__.py
+++ b/pathod/protocols/__init__.py
diff --git a/pathod/pathod/protocols/http.py b/pathod/protocols/http.py
index 1f1765cb..1f1765cb 100644
--- a/pathod/pathod/protocols/http.py
+++ b/pathod/protocols/http.py
diff --git a/pathod/pathod/protocols/http2.py b/pathod/protocols/http2.py
index a098a14e..a098a14e 100644
--- a/pathod/pathod/protocols/http2.py
+++ b/pathod/protocols/http2.py
diff --git a/pathod/pathod/protocols/websockets.py b/pathod/protocols/websockets.py
index 134d27bc..134d27bc 100644
--- a/pathod/pathod/protocols/websockets.py
+++ b/pathod/protocols/websockets.py
diff --git a/pathod/setup.py b/pathod/setup.py
deleted file mode 100644
index 23e26f42..00000000
--- a/pathod/setup.py
+++ /dev/null
@@ -1,65 +0,0 @@
-from setuptools import setup, find_packages
-from codecs import open
-import os
-import sys
-
-# Based on https://github.com/pypa/sampleproject/blob/master/setup.py
-# and https://python-packaging-user-guide.readthedocs.org/
-
-here = os.path.abspath(os.path.dirname(__file__))
-
-sys.path.append(os.path.join(here, "..", "netlib"))
-from pathod import version
-
-with open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
- long_description = f.read()
-
-setup(
- name="pathod",
- version=version.VERSION,
- description="A pathological HTTP/S daemon for testing and stressing clients.",
- long_description=long_description,
- url="http://pathod.net",
- author="Aldo Cortesi",
- author_email="aldo@corte.si",
- license="MIT",
- classifiers=[
- "License :: OSI Approved :: MIT License",
- "Development Status :: 5 - Production/Stable",
- "Operating System :: POSIX",
- "Programming Language :: Python",
- "Programming Language :: Python :: 2",
- "Programming Language :: Python :: 2.7",
- "Programming Language :: Python :: Implementation :: CPython",
- "Programming Language :: Python :: Implementation :: PyPy",
- "Topic :: Internet",
- "Topic :: Internet :: WWW/HTTP",
- "Topic :: Internet :: WWW/HTTP :: HTTP Servers",
- "Topic :: Software Development :: Testing",
- "Topic :: Software Development :: Testing :: Traffic Generation",
- ],
- packages=find_packages(),
- include_package_data=True,
- entry_points={
- 'console_scripts': [
- "pathod = pathod.pathod_cmdline:go_pathod",
- "pathoc = pathod.pathoc_cmdline:go_pathoc"
- ]
- },
- install_requires=[
- "netlib=={}".format(version.VERSION),
- "requests>=2.9.1, <2.10",
- "Flask>=0.10.1, <0.11",
- "pyparsing>=2.1,<2.2"
- ],
- extras_require={
- 'dev': [
- "mock>=1.3.0, <1.4",
- "pytest>=2.8.0",
- "pytest-xdist>=1.14, <1.15",
- "pytest-cov>=2.2.1, <2.3",
- "pytest-timeout>=1.0.0, <1.1",
- "coveralls>=1.1, <1.2"
- ]
- }
-)
diff --git a/pathod/pathod/static/bootstrap.min.css b/pathod/static/bootstrap.min.css
index 2e79d91a..2e79d91a 100644
--- a/pathod/pathod/static/bootstrap.min.css
+++ b/pathod/static/bootstrap.min.css
diff --git a/pathod/pathod/static/bootstrap.min.js b/pathod/static/bootstrap.min.js
index 14356981..14356981 100644
--- a/pathod/pathod/static/bootstrap.min.js
+++ b/pathod/static/bootstrap.min.js
diff --git a/pathod/pathod/static/jquery-1.7.2.min.js b/pathod/static/jquery-1.7.2.min.js
index 16ad06c5..16ad06c5 100644
--- a/pathod/pathod/static/jquery-1.7.2.min.js
+++ b/pathod/static/jquery-1.7.2.min.js
diff --git a/pathod/pathod/static/jquery.localscroll-min.js b/pathod/static/jquery.localscroll-min.js
index 3f8d64cc..fa583a45 100644
--- a/pathod/pathod/static/jquery.localscroll-min.js
+++ b/pathod/static/jquery.localscroll-min.js
@@ -1,9 +1,9 @@
-/**
- * jQuery.LocalScroll - Animated scrolling navigation, using anchors.
- * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
- * Dual licensed under MIT and GPL.
- * Date: 3/11/2009
- * @author Ariel Flesler
- * @version 1.2.7
- **/
+/**
+ * jQuery.LocalScroll - Animated scrolling navigation, using anchors.
+ * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
+ * Dual licensed under MIT and GPL.
+ * Date: 3/11/2009
+ * @author Ariel Flesler
+ * @version 1.2.7
+ **/
;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery); \ No newline at end of file
diff --git a/pathod/pathod/static/jquery.scrollTo-min.js b/pathod/static/jquery.scrollTo-min.js
index 7d4001dc..8503c892 100644
--- a/pathod/pathod/static/jquery.scrollTo-min.js
+++ b/pathod/static/jquery.scrollTo-min.js
@@ -1,11 +1,11 @@
-/**
- * jQuery.ScrollTo - Easy element scrolling using jQuery.
- * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
- * Dual licensed under MIT and GPL.
- * Date: 3/9/2009
- * @author Ariel Flesler
- * @version 1.4.1
- *
- * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
- */
+/**
+ * jQuery.ScrollTo - Easy element scrolling using jQuery.
+ * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
+ * Dual licensed under MIT and GPL.
+ * Date: 3/9/2009
+ * @author Ariel Flesler
+ * @version 1.4.1
+ *
+ * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
+ */
;(function($){var m=$.scrollTo=function(b,h,f){$(window).scrollTo(b,h,f)};m.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1};m.window=function(b){return $(window).scrollable()};$.fn.scrollable=function(){return this.map(function(){var b=this,h=!b.nodeName||$.inArray(b.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!h)return b;var f=(b.contentWindow||b).document||b.ownerDocument||b;return $.browser.safari||f.compatMode=='BackCompat'?f.body:f.documentElement})};$.fn.scrollTo=function(l,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};if(l=='max')l=9e9;a=$.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=$(k),d=l,p,g={},q=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px)?$/.test(d)){d=n(d);break}d=$(d,this);case'object':if(d.is||d.style)p=(d=$(d)).offset()}$.each(a.axis.split(''),function(b,h){var f=h=='x'?'Left':'Top',i=f.toLowerCase(),c='scroll'+f,r=k[c],s=h=='x'?'Width':'Height';if(p){g[c]=p[i]+(q?0:r-o.offset()[i]);if(a.margin){g[c]-=parseInt(d.css('margin'+f))||0;g[c]-=parseInt(d.css('border'+f+'Width'))||0}g[c]+=a.offset[i]||0;if(a.over[i])g[c]+=d[s.toLowerCase()]()*a.over[i]}else g[c]=d[i];if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],u(s));if(!b&&a.queue){if(r!=g[c])t(a.onAfterFirst);delete g[c]}});t(a.onAfter);function t(b){o.animate(g,j,a.easing,b&&function(){b.call(this,l,a)})};function u(b){var h='scroll'+b;if(!q)return k[h];var f='client'+b,i=k.ownerDocument.documentElement,c=k.ownerDocument.body;return Math.max(i[h],c[h])-Math.min(i[f],c[f])}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery); \ No newline at end of file
diff --git a/pathod/pathod/static/pathod.css b/pathod/static/pathod.css
index 8b23b4d5..8b23b4d5 100644
--- a/pathod/pathod/static/pathod.css
+++ b/pathod/static/pathod.css
diff --git a/pathod/pathod/static/start_quote.png b/pathod/static/start_quote.png
index 8090f6e8..8090f6e8 100644
--- a/pathod/pathod/static/start_quote.png
+++ b/pathod/static/start_quote.png
Binary files differ
diff --git a/pathod/pathod/static/syntax.css b/pathod/static/syntax.css
index e371658a..e371658a 100644
--- a/pathod/pathod/static/syntax.css
+++ b/pathod/static/syntax.css
diff --git a/pathod/pathod/static/torture.png b/pathod/static/torture.png
index 50e245ea..50e245ea 100644
--- a/pathod/pathod/static/torture.png
+++ b/pathod/static/torture.png
Binary files differ
diff --git a/pathod/pathod/templates/about.html b/pathod/templates/about.html
index 340dc386..340dc386 100644
--- a/pathod/pathod/templates/about.html
+++ b/pathod/templates/about.html
diff --git a/pathod/pathod/templates/docframe.html b/pathod/templates/docframe.html
index 797de20a..797de20a 100644
--- a/pathod/pathod/templates/docframe.html
+++ b/pathod/templates/docframe.html
diff --git a/pathod/pathod/templates/docs_lang.html b/pathod/templates/docs_lang.html
index a1d22aef..a1d22aef 100644
--- a/pathod/pathod/templates/docs_lang.html
+++ b/pathod/templates/docs_lang.html
diff --git a/pathod/pathod/templates/docs_lang_requests.html b/pathod/templates/docs_lang_requests.html
index 81aff535..81aff535 100644
--- a/pathod/pathod/templates/docs_lang_requests.html
+++ b/pathod/templates/docs_lang_requests.html
diff --git a/pathod/pathod/templates/docs_lang_responses.html b/pathod/templates/docs_lang_responses.html
index 9a85ff1a..9a85ff1a 100644
--- a/pathod/pathod/templates/docs_lang_responses.html
+++ b/pathod/templates/docs_lang_responses.html
diff --git a/pathod/pathod/templates/docs_lang_websockets.html b/pathod/templates/docs_lang_websockets.html
index dd318e0b..dd318e0b 100644
--- a/pathod/pathod/templates/docs_lang_websockets.html
+++ b/pathod/templates/docs_lang_websockets.html
diff --git a/pathod/pathod/templates/docs_libpathod.html b/pathod/templates/docs_libpathod.html
index 8eb6846a..8eb6846a 100644
--- a/pathod/pathod/templates/docs_libpathod.html
+++ b/pathod/templates/docs_libpathod.html
diff --git a/pathod/pathod/templates/docs_pathoc.html b/pathod/templates/docs_pathoc.html
index d38c3a77..d38c3a77 100644
--- a/pathod/pathod/templates/docs_pathoc.html
+++ b/pathod/templates/docs_pathoc.html
diff --git a/pathod/pathod/templates/docs_pathod.html b/pathod/templates/docs_pathod.html
index 0d0ae933..0d0ae933 100644
--- a/pathod/pathod/templates/docs_pathod.html
+++ b/pathod/templates/docs_pathod.html
diff --git a/pathod/pathod/templates/docs_test.html b/pathod/templates/docs_test.html
index ecd84bc7..ecd84bc7 100644
--- a/pathod/pathod/templates/docs_test.html
+++ b/pathod/templates/docs_test.html
diff --git a/pathod/pathod/templates/download.html b/pathod/templates/download.html
index bd8950e8..bd8950e8 100644
--- a/pathod/pathod/templates/download.html
+++ b/pathod/templates/download.html
diff --git a/pathod/pathod/templates/examples_context.html b/pathod/templates/examples_context.html
index 20b02c39..20b02c39 100644
--- a/pathod/pathod/templates/examples_context.html
+++ b/pathod/templates/examples_context.html
diff --git a/pathod/pathod/templates/examples_setup.html b/pathod/templates/examples_setup.html
index b8419171..b8419171 100644
--- a/pathod/pathod/templates/examples_setup.html
+++ b/pathod/templates/examples_setup.html
diff --git a/pathod/pathod/templates/examples_setupall.html b/pathod/templates/examples_setupall.html
index 3308f6cb..3308f6cb 100644
--- a/pathod/pathod/templates/examples_setupall.html
+++ b/pathod/templates/examples_setupall.html
diff --git a/pathod/pathod/templates/frame.html b/pathod/templates/frame.html
index 4223458d..4223458d 100644
--- a/pathod/pathod/templates/frame.html
+++ b/pathod/templates/frame.html
diff --git a/pathod/pathod/templates/index.html b/pathod/templates/index.html
index a85a4040..a85a4040 100644
--- a/pathod/pathod/templates/index.html
+++ b/pathod/templates/index.html
diff --git a/pathod/pathod/templates/layout.html b/pathod/templates/layout.html
index af2857b1..af2857b1 100644
--- a/pathod/pathod/templates/layout.html
+++ b/pathod/templates/layout.html
diff --git a/pathod/pathod/templates/log.html b/pathod/templates/log.html
index b0484cb8..b0484cb8 100644
--- a/pathod/pathod/templates/log.html
+++ b/pathod/templates/log.html
diff --git a/pathod/pathod/templates/onelog.html b/pathod/templates/onelog.html
index c222ad60..c222ad60 100644
--- a/pathod/pathod/templates/onelog.html
+++ b/pathod/templates/onelog.html
diff --git a/pathod/pathod/templates/request_preview.html b/pathod/templates/request_preview.html
index 25d73679..25d73679 100644
--- a/pathod/pathod/templates/request_preview.html
+++ b/pathod/templates/request_preview.html
diff --git a/pathod/pathod/templates/request_previewform.html b/pathod/templates/request_previewform.html
index 91b5598a..91b5598a 100644
--- a/pathod/pathod/templates/request_previewform.html
+++ b/pathod/templates/request_previewform.html
diff --git a/pathod/pathod/templates/response_preview.html b/pathod/templates/response_preview.html
index bbce6d6c..bbce6d6c 100644
--- a/pathod/pathod/templates/response_preview.html
+++ b/pathod/templates/response_preview.html
diff --git a/pathod/pathod/templates/response_previewform.html b/pathod/templates/response_previewform.html
index d46043f3..d46043f3 100644
--- a/pathod/pathod/templates/response_previewform.html
+++ b/pathod/templates/response_previewform.html
diff --git a/pathod/pathod/test.py b/pathod/test.py
index 33a6b763..33a6b763 100644
--- a/pathod/pathod/test.py
+++ b/pathod/test.py
diff --git a/pathod/pathod/utils.py b/pathod/utils.py
index a1109a3c..a1109a3c 100644
--- a/pathod/pathod/utils.py
+++ b/pathod/utils.py
diff --git a/pathod/pathod/version.py b/pathod/version.py
index 63f60a8d..63f60a8d 100644
--- a/pathod/pathod/version.py
+++ b/pathod/version.py
diff --git a/pytest.ini b/pytest.ini
deleted file mode 100644
index 6efbdeae..00000000
--- a/pytest.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[pytest]
-testpaths = test
-addopts = --timeout 30 -s
diff --git a/release/.env b/release/.env
deleted file mode 100644
index 69ac3f05..00000000
--- a/release/.env
+++ /dev/null
@@ -1,6 +0,0 @@
-DIR="$( dirname "${BASH_SOURCE[0]}" )"
-ACTIVATE_DIR="$(if [ -f "$DIR/../venv.mitmproxy/bin/activate" ]; then echo 'bin'; else echo 'Scripts'; fi;)"
-if [ -z "$VIRTUAL_ENV" ] && [ -f "$DIR/../venv.mitmproxy/$ACTIVATE_DIR/activate" ]; then
- echo "Activating mitmproxy virtualenv..."
- source "$DIR/../venv.mitmproxy/$ACTIVATE_DIR/activate"
-fi
diff --git a/release/.gitignore b/release/.gitignore
index c062fb3b..2247d5f9 100644
--- a/release/.gitignore
+++ b/release/.gitignore
@@ -1,9 +1,2 @@
-.DS_Store
-MANIFEST
-*.py[cdo]
-*.swp
-*.swo
-
/build
/dist
-/mitmproxy_rtool.egg-info \ No newline at end of file
diff --git a/release/rtool.py b/release/rtool.py
index 936e64c8..d01ee741 100644..100755
--- a/release/rtool.py
+++ b/release/rtool.py
@@ -242,7 +242,7 @@ def bdist(ctx, use_existing_wheels, pyinstaller_version):
if conf["tools"]:
with Archive(join(DIST_DIR, archive_name(p))) as archive:
for tool in conf["tools"]:
- spec = join(RELEASE_DIR, "%s.spec" % tool)
+ spec = join(RELEASE_DIR, "specs/%s.spec" % tool)
print("Building %s binary..." % tool)
subprocess.check_call(
[
@@ -250,7 +250,7 @@ def bdist(ctx, use_existing_wheels, pyinstaller_version):
"--clean",
"--workpath", PYINSTALLER_TEMP,
"--distpath", PYINSTALLER_DIST,
- # This is PyInstaller, so setting a
+ # This is PyInstaller, so setting a
# different log level obviously breaks it :-)
# "--log-level", "WARN",
spec
diff --git a/mitmproxy/bin/mitmdump b/release/specs/mitmdump
index 2483be4f..2483be4f 100644
--- a/mitmproxy/bin/mitmdump
+++ b/release/specs/mitmdump
diff --git a/release/mitmdump.spec b/release/specs/mitmdump.spec
index 967f5e58..149678df 100644
--- a/release/mitmdump.spec
+++ b/release/specs/mitmdump.spec
@@ -2,7 +2,7 @@
from PyInstaller.utils.hooks import collect_data_files
-a = Analysis(['../mitmproxy/mitmdump'],
+a = Analysis(['mitmdump'],
binaries=None,
datas=collect_data_files("mitmproxy.onboarding"),
hiddenimports=[],
diff --git a/mitmproxy/bin/mitmproxy b/release/specs/mitmproxy
index a3d7615d..a3d7615d 100755..100644
--- a/mitmproxy/bin/mitmproxy
+++ b/release/specs/mitmproxy
diff --git a/release/mitmproxy.spec b/release/specs/mitmproxy.spec
index 6356b0a6..1c481446 100644
--- a/release/mitmproxy.spec
+++ b/release/specs/mitmproxy.spec
@@ -2,7 +2,7 @@
from PyInstaller.utils.hooks import collect_data_files
-a = Analysis(['../mitmproxy/mitmproxy'],
+a = Analysis(['mitmproxy'],
binaries=None,
datas=collect_data_files("mitmproxy.onboarding"),
hiddenimports=[],
diff --git a/mitmproxy/bin/mitmweb b/release/specs/mitmweb
index 14188a33..14188a33 100755..100644
--- a/mitmproxy/bin/mitmweb
+++ b/release/specs/mitmweb
diff --git a/release/mitmweb.spec b/release/specs/mitmweb.spec
index e3e634fa..79ccf71d 100644
--- a/release/mitmweb.spec
+++ b/release/specs/mitmweb.spec
@@ -2,7 +2,7 @@
from PyInstaller.utils.hooks import collect_data_files
-a = Analysis(['../mitmproxy/mitmweb'],
+a = Analysis(['mitmweb'],
binaries=None,
datas=collect_data_files("mitmproxy"),
hiddenimports=[],
diff --git a/pathod/bin/pathoc b/release/specs/pathoc
index ab62d631..ab62d631 100755..100644
--- a/pathod/bin/pathoc
+++ b/release/specs/pathoc
diff --git a/release/pathoc.spec b/release/specs/pathoc.spec
index 707d21de..4f1f44be 100644
--- a/release/pathoc.spec
+++ b/release/specs/pathoc.spec
@@ -2,7 +2,7 @@
from PyInstaller.utils.hooks import collect_data_files
-a = Analysis(['../pathod/pathoc'],
+a = Analysis(['pathoc'],
binaries=None,
datas=None,
hiddenimports=['_cffi_backend'],
diff --git a/pathod/bin/pathod b/release/specs/pathod
index af0c118b..af0c118b 100755..100644
--- a/pathod/bin/pathod
+++ b/release/specs/pathod
diff --git a/release/pathod.spec b/release/specs/pathod.spec
index 4e515ac9..3d2a8be2 100644
--- a/release/pathod.spec
+++ b/release/specs/pathod.spec
@@ -2,9 +2,9 @@
from PyInstaller.utils.hooks import collect_data_files
-a = Analysis(['../pathod/pathod'],
+a = Analysis(['pathod'],
binaries=None,
- datas=collect_data_files("libpathod"),
+ datas=collect_data_files("pathod"),
hiddenimports=['_cffi_backend'],
hookspath=None,
runtime_hooks=None,
diff --git a/requirements.txt b/requirements.txt
index e8b49f2f..9d5d5bbb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,2 @@
--e ./netlib[dev]
--e ./pathod[dev]
--e ./mitmproxy[dev,examples,contentviews]
+-e .[dev,examples,contentviews]
-e ./release \ No newline at end of file
diff --git a/.coveragerc b/setup.cfg
index b62409b6..60de7c52 100644
--- a/.coveragerc
+++ b/setup.cfg
@@ -1,9 +1,22 @@
-[run]
+[flake8]
+max-line-length = 120
+max-complexity = 20
+
+[pep8]
+max-line-length = 120
+exclude = */contrib/*
+ignore = E251
+
+[pytest]
+testpaths = test
+addopts = --timeout 30 -s
+
+[coverage:run]
branch = True
include = mitmproxy netlib pathod
omit = *contrib*, *tnetstring*, *platform*, *console*, *main.py
-[report]
+[coverage:report]
show_missing = True
exclude_lines =
pragma: nocover
diff --git a/mitmproxy/setup.py b/setup.py
index 9d796ebb..d7c86e3c 100644
--- a/mitmproxy/setup.py
+++ b/setup.py
@@ -8,7 +8,6 @@ import sys
here = os.path.abspath(os.path.dirname(__file__))
-sys.path.append(os.path.join(here, "..", "netlib"))
from mitmproxy import version
with open(os.path.join(here, 'README.rst'), encoding='utf-8') as f:
@@ -30,6 +29,7 @@ setup(
"Environment :: Console :: Curses",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX",
+ "Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
@@ -41,37 +41,52 @@ setup(
"Topic :: Internet :: Proxy Servers",
"Topic :: Software Development :: Testing"
],
- packages=find_packages(),
+ packages=find_packages(include=[
+ "mitmproxy", "mitmproxy.*",
+ "pathod", "pathod.*",
+ "netlib", "netlib.*"
+ ]),
include_package_data=True,
entry_points={
'console_scripts': [
- 'mitmproxy = mitmproxy.main:mitmproxy',
- 'mitmdump = mitmproxy.main:mitmdump',
- 'mitmweb = mitmproxy.main:mitmweb'
+ "mitmproxy = mitmproxy.main:mitmproxy",
+ "mitmdump = mitmproxy.main:mitmdump",
+ "mitmweb = mitmproxy.main:mitmweb",
+ "pathod = pathod.pathod_cmdline:go_pathod",
+ "pathoc = pathod.pathoc_cmdline:go_pathoc"
]
},
# https://packaging.python.org/en/latest/requirements/#install-requires
# It is not considered best practice to use install_requires to pin dependencies to specific versions.
install_requires=[
- "netlib=={}".format(version.VERSION),
- "h2>=2.1.0, <2.2",
- "tornado>=4.3, <4.4",
- "configargparse>=0.10, <0.11",
- "pyperclip>=1.5.22, <1.6",
+ "backports.ssl_match_hostname>=3.5.0.1, <3.6",
"blinker>=1.4, <1.5",
- "pyparsing>=2.1,<2.2",
- "html2text==2016.1.8",
+ "click>=6.2, <7.0",
+ "certifi>=2015.11.20.1", # no semver here - this should always be on the last release!
+ "configargparse>=0.10, <0.11",
"construct>=2.5.2, <2.6",
- "six>=1.10, <1.11",
+ "cryptography>=1.2.2, <1.3",
+ "Flask>=0.10.1, <0.11",
+ "h2>=2.1.2, <3.0",
+ "hpack>=2.1.0, <3.0",
+ "html2text==2016.1.8",
+ "hyperframe>=3.2.0, <4.0",
"Pillow>=3.1, <3.2",
- "watchdog>=0.8.3, <0.9",
- "click>=6.2, <7.0",
+ "passlib>=1.6.5, <1.7",
+ "pyasn1>=0.1.9, <0.2",
+ "pyOpenSSL>=0.15.1, <0.16",
+ "pyparsing>=2.1,<2.2",
+ "pyperclip>=1.5.22, <1.6",
+ "requests>=2.9.1, <2.10",
+ "six>=1.10, <1.11",
+ "tornado>=4.3, <4.4",
"urwid>=1.3.1, <1.4",
+ "watchdog>=0.8.3, <0.9",
],
extras_require={
':sys_platform == "win32"': [
- "pydivert>=0.0.7, <0.1",
"lxml==3.4.4", # there are no Windows wheels for newer versions, so we pin this.
+ "pydivert>=0.0.7, <0.1",
],
':sys_platform != "win32"': [
"lxml>=3.5.0, <3.6",
@@ -79,29 +94,29 @@ setup(
# Do not use a range operator here: https://bitbucket.org/pypa/setuptools/issues/380
# Ubuntu Trusty and other still ship with setuptools < 17.1
':python_version == "2.7"': [
- "enum34>=1.0.4, <1.1",
+ "enum34>=1.0.4, <2",
+ "ipaddress>=1.0.15, <1.1",
],
'dev': [
+ "coveralls>=1.1, <1.2",
"mock>=1.3.0, <1.4",
"pytest>=2.8.7, <2.9",
- "pytest-xdist>=1.14, <1.15",
"pytest-cov>=2.2.1, <2.3",
"pytest-timeout>=1.0.0, <1.1",
- "coveralls>=1.1, <1.2",
- "pathod=={}".format(version.VERSION),
+ "pytest-xdist>=1.14, <1.15",
"sphinx>=1.3.5, <1.4",
"sphinx-autobuild>=0.5.2, <0.7",
- "sphinxcontrib-documentedlist>=0.3.0, <0.4"
+ "sphinxcontrib-documentedlist>=0.3.0, <0.4",
],
'contentviews': [
- "pyamf>=0.8.0, <0.9",
+ "cssutils>=1.0.1, <1.1",
"protobuf>=2.6.1, <2.7",
- "cssutils>=1.0.1, <1.1"
+ "pyamf>=0.8.0, <0.9",
],
'examples': [
- "pytz==2015.7.0",
- "harparser>=0.2, <0.3",
"beautifulsoup4>=4.4.1, <4.5",
+ "harparser>=0.2, <0.3",
+ "pytz==2015.7.0",
]
}
)
diff --git a/test/mitmproxy/fuzzing/.env b/test/mitmproxy/fuzzing/.env
index 82ae6a8d..8923b8ae 100644
--- a/test/mitmproxy/fuzzing/.env
+++ b/test/mitmproxy/fuzzing/.env
@@ -1,6 +1,4 @@
-
-MITMDUMP=../../mitmdump
-PATHOD=../../../pathod/pathod
-PATHOC=../../../pathod/pathoc
-FUZZ_SETTINGS=-remTt 1 -n 0
-
+MITMDUMP=mitmdump
+PATHOD=pathod
+PATHOC=pathoc
+FUZZ_SETTINGS="-remTt 1 -n 0"
diff --git a/test/mitmproxy/fuzzing/straight_stream_patterns b/test/mitmproxy/fuzzing/straight_stream_patterns
index 93a066e6..235f2cc3 100644
--- a/test/mitmproxy/fuzzing/straight_stream_patterns
+++ b/test/mitmproxy/fuzzing/straight_stream_patterns
@@ -9,7 +9,6 @@ get:'http://localhost:9999/p/':s'200:b"foo":ir,"\n"'
get:'http://localhost:9999/p/':s'200:b"foo":ir,"a"'
get:'http://localhost:9999/p/':s'200:b"foo":ir,"9"'
get:'http://localhost:9999/p/':s'200:b"foo":ir,":"'
-get:'http://localhost:9999/p/':s"200:b'foo':ir,'\"'"
get:'http://localhost:9999/p/':s'200:b"foo":ir,"-"'
get:'http://localhost:9999/p/':s'200:b"foo":dr'
diff --git a/test/mitmproxy/test_contentview.py b/test/mitmproxy/test_contentview.py
index 7f1d735e..c00afa5f 100644
--- a/test/mitmproxy/test_contentview.py
+++ b/test/mitmproxy/test_contentview.py
@@ -1,5 +1,6 @@
from mitmproxy.exceptions import ContentViewException
from netlib.http import Headers
+from netlib.odict import ODict
import netlib.utils
from netlib import encoding
@@ -45,6 +46,19 @@ class TestContentView:
)
assert f[0].startswith("XML")
+ f = v(
+ "",
+ headers=Headers()
+ )
+ assert f[0] == "No content"
+
+ f = v(
+ "",
+ headers=Headers(),
+ query=ODict([("foo", "bar")]),
+ )
+ assert f[0] == "Query"
+
def test_view_urlencoded(self):
d = netlib.utils.urlencode([("one", "two"), ("three", "four")])
v = cv.ViewURLEncoded()
@@ -158,6 +172,13 @@ Larry
h = Headers(content_type="unparseable")
assert not view(v, headers=h)
+ def test_view_query(self):
+ d = ""
+ v = cv.ViewQuery()
+ f = v(d, query=ODict([("foo", "bar")]))
+ assert f[0] == "Query"
+ assert [x for x in f[1]] == [[("header", "foo: "), ("text", "bar")]]
+
def test_get_content_view(self):
r = cv.get_content_view(
cv.get("Raw"),
diff --git a/test/mitmproxy/test_examples.py b/test/mitmproxy/test_examples.py
index 6920c8e9..163ace17 100644
--- a/test/mitmproxy/test_examples.py
+++ b/test/mitmproxy/test_examples.py
@@ -5,7 +5,7 @@ from . import tservers
def test_load_scripts():
- example_dir = utils.Data("mitmproxy").path("../examples")
+ example_dir = utils.Data(__name__).path("../../examples")
scripts = glob.glob("%s/*.py" % example_dir)
tmaster = tservers.TestMaster(config.ProxyConfig())
diff --git a/mitmproxy/web/.bowerrc b/web/.bowerrc
index 5e6701af..5e6701af 100644
--- a/mitmproxy/web/.bowerrc
+++ b/web/.bowerrc
diff --git a/mitmproxy/web/.eslintrc b/web/.eslintrc
index df187739..df187739 100644
--- a/mitmproxy/web/.eslintrc
+++ b/web/.eslintrc
diff --git a/mitmproxy/web/README b/web/README
index 63c3e6e0..63c3e6e0 100644
--- a/mitmproxy/web/README
+++ b/web/README
diff --git a/mitmproxy/web/conf.js b/web/conf.js
index 5867ce45..5867ce45 100644
--- a/mitmproxy/web/conf.js
+++ b/web/conf.js
diff --git a/mitmproxy/web/gulpfile.js b/web/gulpfile.js
index 83893c91..83893c91 100644
--- a/mitmproxy/web/gulpfile.js
+++ b/web/gulpfile.js
diff --git a/mitmproxy/web/package.json b/web/package.json
index 5bcbdd87..5bcbdd87 100644
--- a/mitmproxy/web/package.json
+++ b/web/package.json
diff --git a/mitmproxy/web/src/css/app.less b/web/src/css/app.less
index 046d378a..046d378a 100644
--- a/mitmproxy/web/src/css/app.less
+++ b/web/src/css/app.less
diff --git a/mitmproxy/web/src/css/eventlog.less b/web/src/css/eventlog.less
index 26dea3cc..26dea3cc 100644
--- a/mitmproxy/web/src/css/eventlog.less
+++ b/web/src/css/eventlog.less
diff --git a/mitmproxy/web/src/css/flowdetail.less b/web/src/css/flowdetail.less
index edf97566..edf97566 100644
--- a/mitmproxy/web/src/css/flowdetail.less
+++ b/web/src/css/flowdetail.less
diff --git a/mitmproxy/web/src/css/flowtable.less b/web/src/css/flowtable.less
index 3533983c..3533983c 100644
--- a/mitmproxy/web/src/css/flowtable.less
+++ b/web/src/css/flowtable.less
diff --git a/mitmproxy/web/src/css/flowview.less b/web/src/css/flowview.less
index aa8a2df2..aa8a2df2 100644
--- a/mitmproxy/web/src/css/flowview.less
+++ b/web/src/css/flowview.less
diff --git a/mitmproxy/web/src/css/footer.less b/web/src/css/footer.less
index c041a022..c041a022 100644
--- a/mitmproxy/web/src/css/footer.less
+++ b/web/src/css/footer.less
diff --git a/mitmproxy/web/src/css/header.less b/web/src/css/header.less
index 8fa5e37f..8fa5e37f 100644
--- a/mitmproxy/web/src/css/header.less
+++ b/web/src/css/header.less
diff --git a/mitmproxy/web/src/css/layout.less b/web/src/css/layout.less
index 1075d6c9..1075d6c9 100644
--- a/mitmproxy/web/src/css/layout.less
+++ b/web/src/css/layout.less
diff --git a/mitmproxy/web/src/css/prompt.less b/web/src/css/prompt.less
index eee0426d..eee0426d 100644
--- a/mitmproxy/web/src/css/prompt.less
+++ b/web/src/css/prompt.less
diff --git a/mitmproxy/web/src/css/sprites.less b/web/src/css/sprites.less
index 74131c5e..74131c5e 100644
--- a/mitmproxy/web/src/css/sprites.less
+++ b/web/src/css/sprites.less
diff --git a/mitmproxy/web/src/css/tabs.less b/web/src/css/tabs.less
index 43f7264e..43f7264e 100644
--- a/mitmproxy/web/src/css/tabs.less
+++ b/web/src/css/tabs.less
diff --git a/mitmproxy/web/src/css/vendor-bootstrap-variables.less b/web/src/css/vendor-bootstrap-variables.less
index e2c37bf5..e2c37bf5 100644
--- a/mitmproxy/web/src/css/vendor-bootstrap-variables.less
+++ b/web/src/css/vendor-bootstrap-variables.less
diff --git a/mitmproxy/web/src/css/vendor-bootstrap.less b/web/src/css/vendor-bootstrap.less
index 35fda379..35fda379 100644
--- a/mitmproxy/web/src/css/vendor-bootstrap.less
+++ b/web/src/css/vendor-bootstrap.less
diff --git a/mitmproxy/web/src/css/vendor.less b/web/src/css/vendor.less
index e91ae3a8..e91ae3a8 100644
--- a/mitmproxy/web/src/css/vendor.less
+++ b/web/src/css/vendor.less
diff --git a/mitmproxy/web/src/fonts/FontAwesome.otf b/web/src/fonts/FontAwesome.otf
index 81c9ad94..81c9ad94 100644
--- a/mitmproxy/web/src/fonts/FontAwesome.otf
+++ b/web/src/fonts/FontAwesome.otf
Binary files differ
diff --git a/mitmproxy/web/src/fonts/README b/web/src/fonts/README
index 218a78e1..218a78e1 100644
--- a/mitmproxy/web/src/fonts/README
+++ b/web/src/fonts/README
diff --git a/mitmproxy/web/src/fonts/font-awesome.css b/web/src/fonts/font-awesome.css
index 9eb5d5b7..9eb5d5b7 100644
--- a/mitmproxy/web/src/fonts/font-awesome.css
+++ b/web/src/fonts/font-awesome.css
diff --git a/mitmproxy/web/src/fonts/fontawesome-webfont.eot b/web/src/fonts/fontawesome-webfont.eot
index 84677bc0..84677bc0 100644
--- a/mitmproxy/web/src/fonts/fontawesome-webfont.eot
+++ b/web/src/fonts/fontawesome-webfont.eot
Binary files differ
diff --git a/mitmproxy/web/src/fonts/fontawesome-webfont.svg b/web/src/fonts/fontawesome-webfont.svg
index d907b25a..d907b25a 100644
--- a/mitmproxy/web/src/fonts/fontawesome-webfont.svg
+++ b/web/src/fonts/fontawesome-webfont.svg
diff --git a/mitmproxy/web/src/fonts/fontawesome-webfont.ttf b/web/src/fonts/fontawesome-webfont.ttf
index 96a3639c..96a3639c 100644
--- a/mitmproxy/web/src/fonts/fontawesome-webfont.ttf
+++ b/web/src/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/mitmproxy/web/src/fonts/fontawesome-webfont.woff b/web/src/fonts/fontawesome-webfont.woff
index 628b6a52..628b6a52 100644
--- a/mitmproxy/web/src/fonts/fontawesome-webfont.woff
+++ b/web/src/fonts/fontawesome-webfont.woff
Binary files differ
diff --git a/mitmproxy/web/src/images/chrome-devtools/LICENSE b/web/src/images/chrome-devtools/LICENSE
index 6e4f8b9f..6e4f8b9f 100644
--- a/mitmproxy/web/src/images/chrome-devtools/LICENSE
+++ b/web/src/images/chrome-devtools/LICENSE
diff --git a/mitmproxy/web/src/images/chrome-devtools/resourceCSSIcon.png b/web/src/images/chrome-devtools/resourceCSSIcon.png
index 18828d06..18828d06 100644
--- a/mitmproxy/web/src/images/chrome-devtools/resourceCSSIcon.png
+++ b/web/src/images/chrome-devtools/resourceCSSIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/chrome-devtools/resourceDocumentIcon.png b/web/src/images/chrome-devtools/resourceDocumentIcon.png
index fdc10e47..fdc10e47 100644
--- a/mitmproxy/web/src/images/chrome-devtools/resourceDocumentIcon.png
+++ b/web/src/images/chrome-devtools/resourceDocumentIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/chrome-devtools/resourceJSIcon.png b/web/src/images/chrome-devtools/resourceJSIcon.png
index c1b72189..c1b72189 100644
--- a/mitmproxy/web/src/images/chrome-devtools/resourceJSIcon.png
+++ b/web/src/images/chrome-devtools/resourceJSIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/chrome-devtools/resourcePlainIcon.png b/web/src/images/chrome-devtools/resourcePlainIcon.png
index 8c82a4c7..8c82a4c7 100644
--- a/mitmproxy/web/src/images/chrome-devtools/resourcePlainIcon.png
+++ b/web/src/images/chrome-devtools/resourcePlainIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/resourceExecutableIcon.png b/web/src/images/resourceExecutableIcon.png
index fa70c2fd..fa70c2fd 100644
--- a/mitmproxy/web/src/images/resourceExecutableIcon.png
+++ b/web/src/images/resourceExecutableIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/resourceFlashIcon.png b/web/src/images/resourceFlashIcon.png
index ead5a4d0..ead5a4d0 100644
--- a/mitmproxy/web/src/images/resourceFlashIcon.png
+++ b/web/src/images/resourceFlashIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/resourceImageIcon.png b/web/src/images/resourceImageIcon.png
index 23163042..23163042 100644
--- a/mitmproxy/web/src/images/resourceImageIcon.png
+++ b/web/src/images/resourceImageIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/resourceJavaIcon.png b/web/src/images/resourceJavaIcon.png
index 553b3391..553b3391 100644
--- a/mitmproxy/web/src/images/resourceJavaIcon.png
+++ b/web/src/images/resourceJavaIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/resourceNotModifiedIcon.png b/web/src/images/resourceNotModifiedIcon.png
index 9c6a879d..9c6a879d 100644
--- a/mitmproxy/web/src/images/resourceNotModifiedIcon.png
+++ b/web/src/images/resourceNotModifiedIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/images/resourceRedirectIcon.png b/web/src/images/resourceRedirectIcon.png
index 58fe3ac1..58fe3ac1 100644
--- a/mitmproxy/web/src/images/resourceRedirectIcon.png
+++ b/web/src/images/resourceRedirectIcon.png
Binary files differ
diff --git a/mitmproxy/web/src/js/actions.js b/web/src/js/actions.js
index 2455a52e..2455a52e 100644
--- a/mitmproxy/web/src/js/actions.js
+++ b/web/src/js/actions.js
diff --git a/mitmproxy/web/src/js/app.js b/web/src/js/app.js
index 9fb868b8..9fb868b8 100644
--- a/mitmproxy/web/src/js/app.js
+++ b/web/src/js/app.js
diff --git a/mitmproxy/web/src/js/components/common.js b/web/src/js/components/common.js
index 965ae9a7..965ae9a7 100644
--- a/mitmproxy/web/src/js/components/common.js
+++ b/web/src/js/components/common.js
diff --git a/mitmproxy/web/src/js/components/editor.js b/web/src/js/components/editor.js
index f2d44566..f2d44566 100644
--- a/mitmproxy/web/src/js/components/editor.js
+++ b/web/src/js/components/editor.js
diff --git a/mitmproxy/web/src/js/components/eventlog.js b/web/src/js/components/eventlog.js
index fea7b247..fea7b247 100644
--- a/mitmproxy/web/src/js/components/eventlog.js
+++ b/web/src/js/components/eventlog.js
diff --git a/mitmproxy/web/src/js/components/flowtable-columns.js b/web/src/js/components/flowtable-columns.js
index 74d96216..74d96216 100644
--- a/mitmproxy/web/src/js/components/flowtable-columns.js
+++ b/web/src/js/components/flowtable-columns.js
diff --git a/mitmproxy/web/src/js/components/flowtable.js b/web/src/js/components/flowtable.js
index 609034f6..609034f6 100644
--- a/mitmproxy/web/src/js/components/flowtable.js
+++ b/web/src/js/components/flowtable.js
diff --git a/mitmproxy/web/src/js/components/flowview/contentview.js b/web/src/js/components/flowview/contentview.js
index 63d22c1c..63d22c1c 100644
--- a/mitmproxy/web/src/js/components/flowview/contentview.js
+++ b/web/src/js/components/flowview/contentview.js
diff --git a/mitmproxy/web/src/js/components/flowview/details.js b/web/src/js/components/flowview/details.js
index 00e0116c..00e0116c 100644
--- a/mitmproxy/web/src/js/components/flowview/details.js
+++ b/web/src/js/components/flowview/details.js
diff --git a/mitmproxy/web/src/js/components/flowview/index.js b/web/src/js/components/flowview/index.js
index 739a46dc..739a46dc 100644
--- a/mitmproxy/web/src/js/components/flowview/index.js
+++ b/web/src/js/components/flowview/index.js
diff --git a/mitmproxy/web/src/js/components/flowview/messages.js b/web/src/js/components/flowview/messages.js
index 7ac95d85..7ac95d85 100644
--- a/mitmproxy/web/src/js/components/flowview/messages.js
+++ b/web/src/js/components/flowview/messages.js
diff --git a/mitmproxy/web/src/js/components/flowview/nav.js b/web/src/js/components/flowview/nav.js
index 46eda707..46eda707 100644
--- a/mitmproxy/web/src/js/components/flowview/nav.js
+++ b/web/src/js/components/flowview/nav.js
diff --git a/mitmproxy/web/src/js/components/footer.js b/web/src/js/components/footer.js
index 229d691b..229d691b 100644
--- a/mitmproxy/web/src/js/components/footer.js
+++ b/web/src/js/components/footer.js
diff --git a/mitmproxy/web/src/js/components/header.js b/web/src/js/components/header.js
index 998a41df..998a41df 100644
--- a/mitmproxy/web/src/js/components/header.js
+++ b/web/src/js/components/header.js
diff --git a/mitmproxy/web/src/js/components/mainview.js b/web/src/js/components/mainview.js
index 9ff51dfa..9ff51dfa 100644
--- a/mitmproxy/web/src/js/components/mainview.js
+++ b/web/src/js/components/mainview.js
diff --git a/mitmproxy/web/src/js/components/prompt.js b/web/src/js/components/prompt.js
index 121a1170..121a1170 100644
--- a/mitmproxy/web/src/js/components/prompt.js
+++ b/web/src/js/components/prompt.js
diff --git a/mitmproxy/web/src/js/components/proxyapp.js b/web/src/js/components/proxyapp.js
index e766d6e6..e766d6e6 100644
--- a/mitmproxy/web/src/js/components/proxyapp.js
+++ b/web/src/js/components/proxyapp.js
diff --git a/mitmproxy/web/src/js/components/virtualscroll.js b/web/src/js/components/virtualscroll.js
index 956e1a0b..956e1a0b 100644
--- a/mitmproxy/web/src/js/components/virtualscroll.js
+++ b/web/src/js/components/virtualscroll.js
diff --git a/mitmproxy/web/src/js/connection.js b/web/src/js/connection.js
index 5e229b6e..5e229b6e 100644
--- a/mitmproxy/web/src/js/connection.js
+++ b/web/src/js/connection.js
diff --git a/mitmproxy/web/src/js/dispatcher.js b/web/src/js/dispatcher.js
index 0c2aa202..0c2aa202 100644
--- a/mitmproxy/web/src/js/dispatcher.js
+++ b/web/src/js/dispatcher.js
diff --git a/mitmproxy/web/src/js/filt/filt.js b/web/src/js/filt/filt.js
index 45b42f3a..45b42f3a 100644
--- a/mitmproxy/web/src/js/filt/filt.js
+++ b/web/src/js/filt/filt.js
diff --git a/mitmproxy/web/src/js/filt/filt.peg b/web/src/js/filt/filt.peg
index 6f9bdac6..6f9bdac6 100644
--- a/mitmproxy/web/src/js/filt/filt.peg
+++ b/web/src/js/filt/filt.peg
diff --git a/mitmproxy/web/src/js/flow/utils.js b/web/src/js/flow/utils.js
index d72febaa..d72febaa 100644
--- a/mitmproxy/web/src/js/flow/utils.js
+++ b/web/src/js/flow/utils.js
diff --git a/mitmproxy/web/src/js/store/store.js b/web/src/js/store/store.js
index 5024049f..5024049f 100644
--- a/mitmproxy/web/src/js/store/store.js
+++ b/web/src/js/store/store.js
diff --git a/mitmproxy/web/src/js/store/view.js b/web/src/js/store/view.js
index d628d46b..d628d46b 100644
--- a/mitmproxy/web/src/js/store/view.js
+++ b/web/src/js/store/view.js
diff --git a/mitmproxy/web/src/js/tests/utils.js b/web/src/js/tests/utils.js
index dfbb9ba6..dfbb9ba6 100644
--- a/mitmproxy/web/src/js/tests/utils.js
+++ b/web/src/js/tests/utils.js
diff --git a/mitmproxy/web/src/js/utils.js b/web/src/js/utils.js
index 40575692..40575692 100644
--- a/mitmproxy/web/src/js/utils.js
+++ b/web/src/js/utils.js
diff --git a/mitmproxy/web/src/templates/index.html b/web/src/templates/index.html
index 5f2c6d5e..5f2c6d5e 100644
--- a/mitmproxy/web/src/templates/index.html
+++ b/web/src/templates/index.html