| 26 | |
| 27 | class WebMaster(master.Master): |
| 28 | def __init__(self, opts: options.Options, with_termlog: bool = True): |
| 29 | super().__init__(opts, with_termlog=with_termlog) |
| 30 | self.view = view.View() |
| 31 | self.view.sig_view_add.connect(self._sig_view_add) |
| 32 | self.view.sig_view_remove.connect(self._sig_view_remove) |
| 33 | self.view.sig_view_update.connect(self._sig_view_update) |
| 34 | self.view.sig_view_refresh.connect(self._sig_view_refresh) |
| 35 | |
| 36 | self.events = eventstore.EventStore() |
| 37 | self.events.sig_add.connect(self._sig_events_add) |
| 38 | self.events.sig_refresh.connect(self._sig_events_refresh) |
| 39 | |
| 40 | self.options.changed.connect(self._sig_options_update) |
| 41 | |
| 42 | self.addons.add(*addons.default_addons()) |
| 43 | self.addons.add( |
| 44 | webaddons.WebAddon(), |
| 45 | webaddons.WebAuth(), |
| 46 | intercept.Intercept(), |
| 47 | readfile.ReadFileStdin(), |
| 48 | static_viewer.StaticViewer(), |
| 49 | self.view, |
| 50 | self.events, |
| 51 | errorcheck.ErrorCheck(), |
| 52 | ) |
| 53 | self.app = app.Application(self, self.options.web_debug) |
| 54 | self.proxyserver: Proxyserver = self.addons.get("proxyserver") |
| 55 | self.proxyserver.servers.changed.connect(self._sig_servers_changed) |
| 56 | |
| 57 | def _sig_view_add(self, flow: flow.Flow) -> None: |
| 58 | app.ClientConnection.broadcast_flow("flows/add", flow) |