diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-01-22 23:03:47 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-01-22 23:03:47 +0100 |
commit | a60810cc2c0ecf7ae9b630dbe5d9f3bb0c287a41 (patch) | |
tree | 2e0f13ae9b0825291d544a393949dcba837bb8ff /libmproxy | |
parent | 4024721c7b1762325d90146044f2fdc01d07caa0 (diff) | |
parent | b030ff090ac3a36b2e2bf386fa04c1453bd58140 (diff) | |
download | mitmproxy-a60810cc2c0ecf7ae9b630dbe5d9f3bb0c287a41.tar.gz mitmproxy-a60810cc2c0ecf7ae9b630dbe5d9f3bb0c287a41.tar.bz2 mitmproxy-a60810cc2c0ecf7ae9b630dbe5d9f3bb0c287a41.zip |
Merge pull request #891 from ganguera/master
Added CLI argument to enable "follow flow list" mode
Diffstat (limited to 'libmproxy')
-rw-r--r-- | libmproxy/cmdline.py | 5 | ||||
-rw-r--r-- | libmproxy/console/__init__.py | 19 | ||||
-rw-r--r-- | libmproxy/main.py | 1 |
3 files changed, 18 insertions, 7 deletions
diff --git a/libmproxy/cmdline.py b/libmproxy/cmdline.py index 99b76e68..cd1a8bba 100644 --- a/libmproxy/cmdline.py +++ b/libmproxy/cmdline.py @@ -669,6 +669,11 @@ def mitmproxy(): help="Show event log." ) parser.add_argument( + "-f", "--follow", + action="store_true", dest="follow", + help="Follow flow list." + ) + parser.add_argument( "--no-mouse", action="store_true", dest="no_mouse", help="Disable mouse interaction." diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py index 31edca81..0df10256 100644 --- a/libmproxy/console/__init__.py +++ b/libmproxy/console/__init__.py @@ -105,25 +105,25 @@ class ConsoleState(flow.State): for f in self.flows: if self.flow_marked(f): marked_flows.append(f) - + super(ConsoleState, self).clear() - + for f in marked_flows: self.add_flow(f) self.set_flow_marked(f, True) - + if len(self.flows.views) == 0: self.focus = None else: self.focus = 0 self.set_focus(self.focus) - + def flow_marked(self, flow): return self.get_flow_setting(flow, "marked", False) - + def set_flow_marked(self, flow, marked): self.add_flow_setting(flow, "marked", marked) - + class Options(object): attributes = [ @@ -134,6 +134,7 @@ class Options(object): "anticomp", "client_replay", "eventlog", + "follow", "keepserving", "kill", "intercept", @@ -212,6 +213,7 @@ class ConsoleMaster(flow.FlowMaster): self.eventlog = options.eventlog self.eventlist = urwid.SimpleListWalker([]) + self.follow = options.follow if options.client_replay: self.client_playback_path(options.client_replay) @@ -562,6 +564,9 @@ class ConsoleMaster(flow.FlowMaster): else: body = flowlist.FlowListBox(self) + if self.follow: + self.toggle_follow_flows() + signals.push_view_state.send( self, window = window.Window( @@ -604,7 +609,7 @@ class ConsoleMaster(flow.FlowMaster): def save_flows(self, path): return self._write_flows(path, self.state.view) - + def save_marked_flows(self, path): marked_flows = [] for f in self.state.view: diff --git a/libmproxy/main.py b/libmproxy/main.py index 3c908ed9..655d573d 100644 --- a/libmproxy/main.py +++ b/libmproxy/main.py @@ -54,6 +54,7 @@ def mitmproxy(args=None): # pragma: nocover console_options.palette = options.palette console_options.palette_transparent = options.palette_transparent console_options.eventlog = options.eventlog + console_options.follow = options.follow console_options.intercept = options.intercept console_options.limit = options.limit console_options.no_mouse = options.no_mouse |