diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2010-03-01 14:48:06 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2010-03-01 14:48:06 +1300 |
commit | b91156723b443f6a7bf6bb7b49e799bd04e8ad15 (patch) | |
tree | 93bd944e03cfd6e60e6a5f07fb41cd6dc10790d8 /mitmdump | |
parent | 6300a57212499cf8daf126eeec26c489fbcc71cd (diff) | |
download | mitmproxy-b91156723b443f6a7bf6bb7b49e799bd04e8ad15.tar.gz mitmproxy-b91156723b443f6a7bf6bb7b49e799bd04e8ad15.tar.bz2 mitmproxy-b91156723b443f6a7bf6bb7b49e799bd04e8ad15.zip |
Split mitmproxy and mitmdump - mitmdump is the non-interactive verison of mitmproxy.
Diffstat (limited to 'mitmdump')
-rwxr-xr-x | mitmdump | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/mitmdump b/mitmdump new file mode 100755 index 00000000..fe58977f --- /dev/null +++ b/mitmdump @@ -0,0 +1,62 @@ +#!/usr/bin/env python + +# Copyright (C) 2010 Aldo Cortesi +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +import sys, os.path +from libmproxy import proxy, controller, console, utils +from optparse import OptionParser, OptionGroup + + +if __name__ == '__main__': + parser = OptionParser( + usage = "%prog [options] output", + version="%prog 0.1", + ) + parser.add_option( + "-c", "--cert", action="store", + type = "str", dest="cert", default="~/.mitmproxy/cert.pem", + help = "SSL certificate file." + ) + parser.add_option( + "-p", "--port", action="store", + type = "int", dest="port", default=8080, + help = "Port." + ) + parser.add_option("-q", "--quiet", + action="store_true", dest="quiet", + help="Quiet.") + parser.add_option("-v", "--verbose", + action="count", dest="verbose", default=1, + help="Increase verbosity. Can be passed multiple times.") + options, args = parser.parse_args() + + if options.quiet: + options.verbose = 0 + + certpath = os.path.expanduser(options.cert) + + if not os.path.exists(certpath): + print >> sys.stderr, "Creating bogus certificate at %s"%options.cert + utils.make_bogus_cert(certpath) + + proxy.config = proxy.Config( + certpath + ) + server = proxy.ProxyServer(options.port) + m = controller.DumpMaster(server, options.verbose) + if options.verbose > 0: + print >> sys.stderr, "Running on port %s"%options.port + m.run() |