mitmproxy/mitmproxy
Aldo Cortesi 592812467d Move version constants to version.py, add version to serialized flows.
For now, we don't do anything with the serialized version info, but this should
give us some future-proofing for serialization format changes.
2011-03-09 12:36:14 +13:00

81 lines
2.5 KiB
Python
Executable file

#!/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 libmproxy.version import VERSION
from optparse import OptionParser, OptionGroup
if __name__ == '__main__':
parser = OptionParser(
usage = "%prog [options] [flowdump path]",
version="%%prog %s"%VERSION,
)
proxy.certificate_option_group(parser)
parser.add_option(
"-a", "--addr", action="store",
type = "str", dest="addr", default='',
help = "Address to bind proxy to (defaults to all interfaces)"
)
parser.add_option(
"-p", "--port", action="store",
type = "int", dest="port", default=8080,
help = "Proxy service port."
)
group = OptionGroup(
parser,
"Filters",
"See help in mitmproxy for filter expression syntax."
)
group.add_option(
"-B", "--beep", action="store",
type = "str", dest="beep", default=None,
help = "Beep filter expression."
)
group.add_option(
"-l", "--limit", action="store",
type = "str", dest="limit", default=None,
help = "Limit filter expression."
)
group.add_option(
"-i", "--intercept", action="store",
type = "str", dest="intercept", default=None,
help = "Intercept filter expression."
)
group.add_option(
"-s", "--sticky", action="store",
type = "str", dest="sticky", default=None,
help = "Sticky cookie filter expression."
)
parser.add_option_group(group)
options, args = parser.parse_args()
config = proxy.process_certificate_option_group(parser, options)
server = proxy.ProxyServer(config, options.port, options.addr)
m = console.ConsoleMaster(server, options)
for i in args:
m.load_flows(i)
m.run()