diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-04-29 11:18:56 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-04-29 11:18:56 +1200 |
commit | 7ca5c7ae90c32cfc238d893eb302acc06deb2e70 (patch) | |
tree | 40921f0e9573584927d2587425c89107f8505915 | |
parent | 77eca33f2695eea690dff7999c0e1bd3df0e1733 (diff) | |
download | mitmproxy-7ca5c7ae90c32cfc238d893eb302acc06deb2e70.tar.gz mitmproxy-7ca5c7ae90c32cfc238d893eb302acc06deb2e70.tar.bz2 mitmproxy-7ca5c7ae90c32cfc238d893eb302acc06deb2e70.zip |
Basic SSL support.
-rw-r--r-- | libpathod/app.py | 1 | ||||
-rw-r--r-- | libpathod/resources/server.crt | 14 | ||||
-rw-r--r-- | libpathod/resources/server.key | 15 | ||||
-rwxr-xr-x | pathod | 28 |
4 files changed, 54 insertions, 4 deletions
diff --git a/libpathod/app.py b/libpathod/app.py index 15d99023..399d1340 100644 --- a/libpathod/app.py +++ b/libpathod/app.py @@ -80,4 +80,3 @@ def run(application, port, ssl_options): http_server.listen(port) tornado.ioloop.IOLoop.instance().start() - diff --git a/libpathod/resources/server.crt b/libpathod/resources/server.crt new file mode 100644 index 00000000..ddcc0a33 --- /dev/null +++ b/libpathod/resources/server.crt @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICITCCAYoCCQDkPC8Z2YHxuDANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJO +WjEOMAwGA1UECBMFT3RhZ28xEDAOBgNVBAcTB0R1bmVkaW4xDzANBgNVBAoTBlBh +dGhvZDETMBEGA1UEAxMKcGF0aG9kLm9yZzAeFw0xMjA0MjgyMzEyNTZaFw0yMDA3 +MTUyMzEyNTZaMFUxCzAJBgNVBAYTAk5aMQ4wDAYDVQQIEwVPdGFnbzEQMA4GA1UE +BxMHRHVuZWRpbjEPMA0GA1UEChMGUGF0aG9kMRMwEQYDVQQDEwpwYXRob2Qub3Jn +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrc44bNmzRsfnAXKeaLA/GLc+R +zJUl+CtGghe5K9ESYqmF9JvKegfWpYqTqWZM+WtoQtkR4SLW/6KS2sXO2bwzdC/m +pfTYB+rFf6uRTNILBPkpb2YHh+p1ldwgRJ8ftqZrOyPv1lMP0mCgAMGR75rGvC5D +TbQZU7O8foyQYzz58wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBACkZH6zSOlk1pcLN +9qwDuCG8yw3SR1E+B8n/jOiysqA8eZc5EL7njJMSZZMTHqfIfx6sfHH5aPSgCGCL +EzBz741uKkzuai1GXr34tqf3z1faSws00lJG5jHYevef9Og1RtClPfGcrH25+I1Z +unGdLFYj1i6owrv0UdWyHQxepzKV +-----END CERTIFICATE----- diff --git a/libpathod/resources/server.key b/libpathod/resources/server.key new file mode 100644 index 00000000..ce07e7c2 --- /dev/null +++ b/libpathod/resources/server.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDrc44bNmzRsfnAXKeaLA/GLc+RzJUl+CtGghe5K9ESYqmF9JvK +egfWpYqTqWZM+WtoQtkR4SLW/6KS2sXO2bwzdC/mpfTYB+rFf6uRTNILBPkpb2YH +h+p1ldwgRJ8ftqZrOyPv1lMP0mCgAMGR75rGvC5DTbQZU7O8foyQYzz58wIDAQAB +AoGAFNKvarCxhwoacGzBVd03t+stRFO3jRgZm669sl6xqtKW84XikVGhh9Y0H0MI +DR6x5RKkZ/RlRGZvVlWK0PRotGjIoepX3D+LBFgCJjVVI+dHjRAZ3758e+iqC7Zy +3gVX7+fqiL56R5lZ02TofM/5I6JoJq/3ZP4SGB1tUO+BVaECQQD/SK/cxxhwdn0U +juPWvAp8iKXiI5YttkzIUdyezv3ZKW8YzcvFokKL0WrFOM3bbJNDomGZgtyZmB+3 +c0/dCPwtAkEA7Byge10ovR4/c3t0ELQ/O8mKz48gPkd82Up369amAfkhmGxfYgDr +gMx7ExTKxaa1swjrD/h7jtz5MvukqXACnwJAFw5ai8cThvy8mUG6hCdhjxPMX5s1 +MhW345O5KEKrnJRoa0YS9FuORRB54ywZM4sf1cjxpaqy/9BEdQ4eFWl9VQJBANr+ +ylLh21Fd5thD3ylHJYdcreVKCUv6nnAkRAp4ss0Nt/1aNzX9SHHUNytBk7mzoMAI +O446mM+vYWvKP7XwcF0CQFFWxyizXOJG7rf72RtXCHf+LdJGJaOa9yLFdrMDBPtX +pDz6hFPxk54zecInfOJwcWkKFSniYLNii6dA3Nf2Ng0= +-----END RSA PRIVATE KEY----- @@ -1,22 +1,44 @@ #!/usr/bin/env python import argparse -from libpathod import app +from libpathod import app, utils import tornado.ioloop if __name__ == "__main__": parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument("-p", dest='port', default=8888, type=int, help='Port.') parser.add_argument( - "-s", dest='staticdir', default=None, type=str, + "-d", dest='staticdir', default=None, type=str, help='Directory for static files.' ) + parser.add_argument( + "-s", dest='ssl', default=False, + action="store_true", + help='Serve with SSL.' + ) + parser.add_argument( + "--keyfile", dest='ssl_keyfile', default=None, + type=str, + help='SSL key file. If not specified, a default key is used.' + ) + parser.add_argument( + "--certfile", dest='ssl_certfile', default=None, + type=str, + help='SSL cert file. If not specified, a default cert is used.' + ) args = parser.parse_args() application = app.PathodApp( staticdir=args.staticdir ) + if args.ssl: + ssl = dict( + keyfile = args.ssl_keyfile or utils.data.path("resources/server.key"), + certfile = args.ssl_certfile or utils.data.path("resources/server.crt"), + ) + else: + ssl = None print "pathod listening on port %s"%args.port try: - app.run(application, args.port, None) + app.run(application, args.port, ssl) except KeyboardInterrupt: pass |