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 | |
| 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
| -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 | 
