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 | 
