From 81a89d43e0c6082a4be8542ee39a61480504a343 Mon Sep 17 00:00:00 2001 From: Simone Margaritelli Date: Tue, 12 Nov 2019 21:19:31 +0100 Subject: [PATCH] misc: refactored ui.display.video as ui.web --- pwnagotchi/agent.py | 2 +- pwnagotchi/defaults.yml | 23 ++++++++++++----------- pwnagotchi/ui/display.py | 7 ++----- pwnagotchi/ui/web/server.py | 10 +++++----- scripts/preview.py | 2 +- 5 files changed, 21 insertions(+), 23 deletions(-) diff --git a/pwnagotchi/agent.py b/pwnagotchi/agent.py index 762fab0..a2901eb 100644 --- a/pwnagotchi/agent.py +++ b/pwnagotchi/agent.py @@ -35,7 +35,7 @@ class Agent(Client, Automata, AsyncAdvertiser, AsyncTrainer): self._supported_channels = utils.iface_channels(config['main']['iface']) self._view = view self._view.set_agent(self) - self._web_ui = Server(self, self._config['ui']['display']) + self._web_ui = Server(self, config['ui']) self._access_points = [] self._last_pwnd = None diff --git a/pwnagotchi/defaults.yml b/pwnagotchi/defaults.yml index a61cf51..496c10e 100644 --- a/pwnagotchi/defaults.yml +++ b/pwnagotchi/defaults.yml @@ -43,7 +43,7 @@ main: enabled: false api_key: ~ bt-tether: - enabled: false # if you want to use this, set ui.display.video.address to 0.0.0.0 + enabled: false # if you want to use this, set ui.display.web.address to 0.0.0.0 devices: android-phone: enabled: false @@ -241,6 +241,17 @@ ui: # preserve your display over time, you should set this value to 0.0 so that the display will be refreshed only # if any of the important data fields changed (the uptime and blinking cursor won't trigger a refresh). fps: 0.0 + # web ui + web: + enabled: true + address: '0.0.0.0' + origin: null + port: 8080 + # command to be executed when a new png frame is available + # for instance, to use with framebuffer based displays: + # on_frame: 'fbi --noverbose -a -d /dev/fb1 -T 1 /root/pwnagotchi.png > /dev/null 2>&1' + on_frame: '' + # hardware display display: enabled: true rotation: 180 @@ -250,16 +261,6 @@ ui: # Waveshare tri-color 2.13in display can be over-driven with color set as 'fastAndFurious' # THIS IS POTENTIALLY DANGEROUS. DO NOT USE UNLESS YOU UNDERSTAND THAT IT COULD KILL YOUR DISPLAY color: 'black' - video: - enabled: true - address: '0.0.0.0' - origin: null - port: 8080 - # command to be executed when a new png frame is available - # for instance, to use with framebuffer based displays: - # on_frame: 'fbi --noverbose -a -d /dev/fb1 -T 1 /root/pwnagotchi.png > /dev/null 2>&1' - on_frame: '' - # bettercap rest api configuration bettercap: diff --git a/pwnagotchi/ui/display.py b/pwnagotchi/ui/display.py index 751f19e..ea37401 100644 --- a/pwnagotchi/ui/display.py +++ b/pwnagotchi/ui/display.py @@ -25,9 +25,6 @@ class Display(View): ) self._render_thread_instance.start() - def set_ready(self): - self._webui.start() - def is_inky(self): return self._implementation.name == 'inky' @@ -91,8 +88,8 @@ class Display(View): def _on_view_rendered(self, img): try: - if self._config['ui']['display']['video']['on_frame'] != '': - os.system(self._config['ui']['display']['video']['on_frame']) + if self._config['ui']['web']['on_frame'] != '': + os.system(self._config['ui']['web']['on_frame']) except Exception as e: logging.error("%s" % e) diff --git a/pwnagotchi/ui/web/server.py b/pwnagotchi/ui/web/server.py index 7ab9a14..4fb0072 100644 --- a/pwnagotchi/ui/web/server.py +++ b/pwnagotchi/ui/web/server.py @@ -16,13 +16,13 @@ from pwnagotchi.ui.web.handler import Handler class Server: def __init__(self, agent, config): - self._enabled = config['video']['enabled'] - self._port = config['video']['port'] - self._address = config['video']['address'] + self._enabled = config['web']['enabled'] + self._port = config['web']['port'] + self._address = config['web']['address'] self._origin = None self._agent = agent - if 'origin' in config['video']: - self._origin = config['video']['origin'] + if 'origin' in config['web']: + self._origin = config['web']['origin'] if self._enabled: _thread.start_new_thread(self._http_serve, ()) diff --git a/scripts/preview.py b/scripts/preview.py index 719d1fb..36bfb1e 100755 --- a/scripts/preview.py +++ b/scripts/preview.py @@ -107,7 +107,7 @@ def main(): color: black refresh: 30 type: {display} - video: + web: enabled: true address: "0.0.0.0" port: 8080