diff --git a/pwnagotchi/defaults.yml b/pwnagotchi/defaults.yml index 5c455fab..31427612 100644 --- a/pwnagotchi/defaults.yml +++ b/pwnagotchi/defaults.yml @@ -12,67 +12,67 @@ main: custom_plugins: # which plugins to load and enable plugins: - grid: - enabled: true - report: false # don't report pwned networks by default! - exclude: # do not report the following networks (accepts both ESSIDs and BSSIDs) - - YourHomeNetworkHere - auto-backup: - enabled: false - interval: 1 # every day - files: - - /root/brain.nn - - /root/brain.json - - /root/.api-report.json - - /root/handshakes/ - - /etc/pwnagotchi/ - - /etc/hostname - - /etc/hosts - - /etc/motd - - /var/log/pwnagotchi.log - commands: - - 'tar czf /tmp/backup.tar.gz {files}' - - 'scp /tmp/backup.tar.gz pwnagotchi@10.0.0.1:/home/pwnagotchi/backups/backup-$(date +%s).tar.gz' - net-pos: - enabled: false - api_key: 'test' - gps: - enabled: false - speed: 19200 - device: /dev/ttyUSB0 - twitter: - enabled: false - consumer_key: aaa - consumer_secret: aaa - access_token_key: aaa - access_token_secret: aaa - onlinehashcrack: - enabled: false - email: ~ - wpa-sec: - enabled: false - api_key: ~ - wigle: - enabled: false - api_key: ~ - screen_refresh: - enabled: false - refresh_interval: 50 - quickdic: - enabled: false - wordlist_folder: /opt/wordlists/ - AircrackOnly: - enabled: false - bt-tether: - enabled: false # if you want to use this, set ui.display.video.address to 0.0.0.0 - mac: ~ # mac of your bluetooth device - ip: '192.168.44.44' # ip from which your pwnagotchi should be reachable - netmask: 24 - interval: 1 # check every x minutes for device - share_internet: false - memtemp: # Display memory usage, cpu load and cpu temperature on screen - enabled: false - orientation: horizontal # horizontal/vertical + grid: + enabled: true + report: false # don't report pwned networks by default! + exclude: # do not report the following networks (accepts both ESSIDs and BSSIDs) + - YourHomeNetworkHere + auto-backup: + enabled: false + interval: 1 # every day + files: + - /root/brain.nn + - /root/brain.json + - /root/.api-report.json + - /root/handshakes/ + - /etc/pwnagotchi/ + - /etc/hostname + - /etc/hosts + - /etc/motd + - /var/log/pwnagotchi.log + commands: + - 'tar czf /tmp/backup.tar.gz {files}' + - 'scp /tmp/backup.tar.gz pwnagotchi@10.0.0.1:/home/pwnagotchi/backups/backup-$(date +%s).tar.gz' + net-pos: + enabled: false + api_key: 'test' + gps: + enabled: false + speed: 19200 + device: /dev/ttyUSB0 + twitter: + enabled: false + consumer_key: aaa + consumer_secret: aaa + access_token_key: aaa + access_token_secret: aaa + onlinehashcrack: + enabled: false + email: ~ + wpa-sec: + enabled: false + api_key: ~ + wigle: + enabled: false + api_key: ~ + screen_refresh: + enabled: false + refresh_interval: 50 + quickdic: + enabled: false + wordlist_folder: /opt/wordlists/ + AircrackOnly: + enabled: false + bt-tether: + enabled: false # if you want to use this, set ui.display.video.address to 0.0.0.0 + mac: ~ # mac of your bluetooth device + ip: '192.168.44.44' # ip from which your pwnagotchi should be reachable + netmask: 24 + interval: 1 # check every x minutes for device + share_internet: false + memtemp: # Display memory usage, cpu load and cpu temperature on screen + enabled: false + orientation: horizontal # horizontal/vertical # monitor interface to use iface: mon0 # command to run to bring the mon interface up in case it's not up already @@ -160,6 +160,26 @@ personality: # ui configuration ui: + # here you can customize the faces + faces: + look_r: '( ⚆_⚆)' + look_l: '(☉_☉ )' + sleep: '(⇀‿‿↼)' + sleep2: '(≖‿‿≖)' + awake: '(◕‿‿◕)' + bored: '(-__-)' + intense: '(°▃▃°)' + cool: '(⌐■_■)' + happy: '(•‿‿•)' + excited: '(ᵔ◡◡ᵔ)' + motivated: '(☼‿‿☼)' + demotivated: '(≖__≖)' + smart: '(✜‿‿✜)' + lonely: '(ب__ب)' + sad: '(╥☁╥ )' + friend: '(♥‿‿♥)' + broken: '(☓‿‿☓)' + debug: '(#__#)' # ePaper display can update every 3 secs anyway, set to 0 to only refresh for major data changes # IMPORTANT: The lifespan of an eINK display depends on the cumulative amount of refreshes. If you want to # preserve your display over time, you should set this value to 0.0 so that the display will be refreshed only diff --git a/pwnagotchi/ui/faces.py b/pwnagotchi/ui/faces.py index 4f80e5ca..d4cbd32a 100644 --- a/pwnagotchi/ui/faces.py +++ b/pwnagotchi/ui/faces.py @@ -16,3 +16,8 @@ SAD = '(╥☁╥ )' FRIEND = '(♥‿‿♥)' BROKEN = '(☓‿‿☓)' DEBUG = '(#__#)' + + +def load_from_config(config): + for face_name, face_value in config.items(): + globals()[face_name.upper()] = face_value diff --git a/pwnagotchi/ui/view.py b/pwnagotchi/ui/view.py index a6efd78d..4d72097c 100644 --- a/pwnagotchi/ui/view.py +++ b/pwnagotchi/ui/view.py @@ -22,6 +22,9 @@ class View(object): def __init__(self, config, impl, state=None): global ROOT + # setup faces from the configuration in case the user customized them + faces.load_from_config(config['ui']['faces']) + self._render_cbs = [] self._config = config self._canvas = None