def __init__(self, server, options): flow.FlowMaster.__init__(self, options, server, flow.DummyState()) self.has_errored = False self.addons.add(*builtins.default_addons()) self.addons.add(dumper.Dumper()) self.addons.add(termlog.TermLog()) # This line is just for type hinting self.options = self.options # type: Options self.set_stream_large_bodies(options.stream_large_bodies) if not self.options.no_server and server: self.add_log( "Proxy server listening at http://{}".format(server.address), "info") if self.server and self.options.http2 and not tcp.HAS_ALPN: # pragma: no cover self.add_log( "ALPN support missing (OpenSSL 1.0.2+ required)!\n" "HTTP/2 is disabled. Use --no-http2 to silence this warning.", "error") if options.rfile: try: self.load_flows_file(options.rfile) except exceptions.FlowReadException as v: self.add_log("Flow file corrupted.", "error") raise DumpError(v) if self.options.app: self.start_app(self.options.app_host, self.options.app_port)
def __init__(self, server, options): flow.FlowMaster.__init__(self, options, server, ConsoleState()) self.stream_path = None # This line is just for type hinting self.options = self.options # type: Options self.options.errored.connect(self.options_error) r = self.set_intercept(options.intercept) if r: print("Intercept error: {}".format(r), file=sys.stderr) sys.exit(1) if options.filter: self.set_view_filter(options.filter) self.set_stream_large_bodies(options.stream_large_bodies) self.palette = options.palette self.palette_transparent = options.palette_transparent self.logbuffer = urwid.SimpleListWalker([]) self.follow = options.follow self.view_stack = [] if options.app: self.start_app(self.options.app_host, self.options.app_port) signals.call_in.connect(self.sig_call_in) signals.pop_view_state.connect(self.sig_pop_view_state) signals.replace_view_state.connect(self.sig_replace_view_state) signals.push_view_state.connect(self.sig_push_view_state) signals.sig_add_log.connect(self.sig_add_log) self.addons.add(*builtins.default_addons())
def __init__(self, server, options): flow.FlowMaster.__init__(self, options, server, flow.State()) self.has_errored = False self.addons.add(*builtins.default_addons()) self.addons.add(dumper.Dumper()) # This line is just for type hinting self.options = self.options # type: Options self.set_stream_large_bodies(options.stream_large_bodies) if not self.options.no_server and server: self.add_log("Proxy server listening at http://{}".format(server.address), "info") if self.server and self.options.http2 and not tcp.HAS_ALPN: # pragma: no cover self.add_log( "ALPN support missing (OpenSSL 1.0.2+ required)!\n" "HTTP/2 is disabled. Use --no-http2 to silence this warning.", "error", ) if options.rfile: try: self.load_flows_file(options.rfile) except exceptions.FlowReadException as v: self.add_log("Flow file corrupted.", "error") raise DumpError(v) if self.options.app: self.start_app(self.options.app_host, self.options.app_port)
def __init__(self, server, options): super(WebMaster, self).__init__(options, server, WebState()) self.addons.add(*builtins.default_addons()) self.app = app.Application( self, self.options.wdebug, self.options.wauthenticator ) # This line is just for type hinting self.options = self.options # type: Options if options.rfile: try: self.load_flows_file(options.rfile) except exceptions.FlowReadException as v: self.add_log( "Could not read flow file: %s" % v, "error" ) if options.outfile: err = self.start_stream_to_path( options.outfile[0], options.outfile[1] ) if err: print("Stream file error: {}".format(err), file=sys.stderr) sys.exit(1) if self.options.app: self.start_app(self.options.app_host, self.options.app_port)
def __init__(self, server, options): flow.FlowMaster.__init__(self, options, server, flow.State()) self.has_errored = False self.addons.add(options, *builtins.default_addons()) self.addons.add(options, dumper.Dumper()) # This line is just for type hinting self.options = self.options # type: Options self.replay_ignore_params = options.replay_ignore_params self.replay_ignore_content = options.replay_ignore_content self.replay_ignore_host = options.replay_ignore_host self.refresh_server_playback = options.refresh_server_playback self.replay_ignore_payload_params = options.replay_ignore_payload_params self.set_stream_large_bodies(options.stream_large_bodies) if self.server and self.options.http2 and not tcp.HAS_ALPN: # pragma: no cover print( "ALPN support missing (OpenSSL 1.0.2+ required)!\n" "HTTP/2 is disabled. Use --no-http2 to silence this warning.", file=sys.stderr) if options.client_replay: self.start_client_playback(self._readflow(options.client_replay), not options.keepserving) if options.rfile: try: self.load_flows_file(options.rfile) except exceptions.FlowReadException as v: self.add_log("Flow file corrupted.", "error") raise DumpError(v) if self.options.app: self.start_app(self.options.app_host, self.options.app_port)
def __init__(self, server, options): flow.FlowMaster.__init__(self, options, server, flow.State()) self.addons.add(*builtins.default_addons()) # This line is just for type hinting self.options = self.options # type: Options self.o = options self.showhost = options.showhost self.replay_ignore_params = options.replay_ignore_params self.replay_ignore_content = options.replay_ignore_content self.replay_ignore_host = options.replay_ignore_host self.refresh_server_playback = options.refresh_server_playback self.replay_ignore_payload_params = options.replay_ignore_payload_params self.set_stream_large_bodies(options.stream_large_bodies) if self.server and self.server.config.http2 and not tcp.HAS_ALPN: # pragma: no cover print("ALPN support missing (OpenSSL 1.0.2+ required)!\n" "HTTP/2 is disabled. Use --no-http2 to silence this warning.", file=sys.stderr) if options.filtstr: self.filt = filt.parse(options.filtstr) else: self.filt = None if options.replacements: for i in options.replacements: self.replacehooks.add(*i) if options.setheaders: for i in options.setheaders: self.setheaders.add(*i) if options.server_replay: self.start_server_playback( self._readflow(options.server_replay), options.kill, options.rheaders, not options.keepserving, options.nopop, options.replay_ignore_params, options.replay_ignore_content, options.replay_ignore_payload_params, options.replay_ignore_host ) if options.client_replay: self.start_client_playback( self._readflow(options.client_replay), not options.keepserving ) if options.rfile: try: self.load_flows_file(options.rfile) except exceptions.FlowReadException as v: self.add_event("Flow file corrupted.", "error") raise DumpError(v) if self.options.app: self.start_app(self.options.app_host, self.options.app_port)
def __init__(self, opts, config): s = ProxyServer(config) state = flow.State() flow.FlowMaster.__init__(self, opts, s, state) self.addons.add(opts, *builtins.default_addons()) self.apps.add(testapp, "testapp", 80) self.apps.add(errapp, "errapp", 80) self.clear_log()
def __init__(self, opts, config): s = ProxyServer(config) state = flow.State() flow.FlowMaster.__init__(self, opts, s, state) self.addons.add(*builtins.default_addons()) self.apps.add(testapp, "testapp", 80) self.apps.add(errapp, "errapp", 80) self.clear_log()
def __init__(self, server, options): flow.FlowMaster.__init__(self, options, server, ConsoleState()) self.addons.add(*builtins.default_addons()) self.stream_path = None # This line is just for type hinting self.options = self.options # type: Options self.options.errored.connect(self.options_error) if options.replacements: for i in options.replacements: self.replacehooks.add(*i) if options.setheaders: for i in options.setheaders: self.setheaders.add(*i) r = self.set_intercept(options.intercept) if r: print("Intercept error: {}".format(r), file=sys.stderr) sys.exit(1) if options.limit: self.set_limit(options.limit) self.set_stream_large_bodies(options.stream_large_bodies) self.refresh_server_playback = options.refresh_server_playback self.anticache = options.anticache self.killextra = options.kill self.rheaders = options.rheaders self.nopop = options.nopop self.showhost = options.showhost self.palette = options.palette self.palette_transparent = options.palette_transparent self.eventlog = options.eventlog self.eventlist = urwid.SimpleListWalker([]) self.follow = options.follow if options.client_replay: self.client_playback_path(options.client_replay) if options.server_replay: self.server_playback_path(options.server_replay) self.view_stack = [] if options.app: self.start_app(self.options.app_host, self.options.app_port) signals.call_in.connect(self.sig_call_in) signals.pop_view_state.connect(self.sig_pop_view_state) signals.push_view_state.connect(self.sig_push_view_state) signals.sig_add_event.connect(self.sig_add_event)