Skip to content

Commit

Permalink
new: added new faces for uploading status
Browse files Browse the repository at this point in the history
  • Loading branch information
evilsocket committed Apr 18, 2021
1 parent 5c3b21f commit f164b8b
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 15 deletions.
3 changes: 3 additions & 0 deletions pwnagotchi/defaults.toml
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,9 @@ ui.faces.angry = "(-_-')"
ui.faces.friend = "(♥‿‿♥)"
ui.faces.broken = "(☓‿‿☓)"
ui.faces.debug = "(#__#)"
ui.faces.upload = "(1__0)"
ui.faces.upload1 = "(1__1)"
ui.faces.upload2 = "(0__1)"

ui.web.enabled = true
ui.web.address = "0.0.0.0"
Expand Down
4 changes: 4 additions & 0 deletions pwnagotchi/locale/voice.pot
Original file line number Diff line number Diff line change
Expand Up @@ -244,3 +244,7 @@ msgstr ""

msgid "second"
msgstr ""

#, python-brace-format
msgid "Uploading data to {to} ..."
msgstr ""
8 changes: 5 additions & 3 deletions pwnagotchi/plugins/default/onlinehashcrack.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,8 @@ def on_internet_available(self, agent):
if handshake_new:
logging.info("OHC: Internet connectivity detected. Uploading new handshakes to onlinehashcrack.com")
for idx, handshake in enumerate(handshake_new):
display.set('status',
f"Uploading handshake to onlinehashcrack.com ({idx + 1}/{len(handshake_new)})")
display.update(force=True)
display.on_uploading(f"onlinehashcrack.com ({idx + 1}/{len(handshake_new)})")

try:
self._upload_to_ohc(handshake)
if handshake not in reported:
Expand All @@ -127,6 +126,9 @@ def on_internet_available(self, agent):
self.skip.append(handshake)
logging.debug("OHC: %s", os_e)
continue

display.on_normal()

if 'dashboard' in self.options and self.options['dashboard']:
cracked_file = os.path.join(handshake_dir, 'onlinehashcrack.cracked')
if os.path.exists(cracked_file):
Expand Down
6 changes: 4 additions & 2 deletions pwnagotchi/plugins/default/wigle.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,8 @@ def on_internet_available(self, agent):
csv_entries.append(new_entry)
no_err_entries.append(gps_file)
if csv_entries:
display.set('status', "Uploading gps-data to wigle.net ...")
display.update(force=True)
display.on_uploading('wigle.net')

try:
_send_to_wigle(csv_entries, self.options['api_key'], donate=self.options['donate'])
reported += no_err_entries
Expand All @@ -193,3 +193,5 @@ def on_internet_available(self, agent):
except OSError as os_e:
self.skip += no_err_entries
logging.debug("WIGLE: Got the following error: %s", os_e)

display.on_normal()
6 changes: 4 additions & 2 deletions pwnagotchi/plugins/default/wpa-sec.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,8 @@ def on_internet_available(self, agent):
if handshake_new:
logging.info("WPA_SEC: Internet connectivity detected. Uploading new handshakes to wpa-sec.stanev.org")
for idx, handshake in enumerate(handshake_new):
display.set('status', f"Uploading handshake to wpa-sec.stanev.org ({idx + 1}/{len(handshake_new)})")
display.update(force=True)
display.on_uploading(f"wpa-sec.stanev.org ({idx + 1}/{len(handshake_new)})")

try:
self._upload_to_wpasec(handshake)
reported.append(handshake)
Expand All @@ -126,6 +126,8 @@ def on_internet_available(self, agent):
logging.debug("WPA_SEC: %s", os_e)
continue

display.on_normal()

if 'download_results' in self.options and self.options['download_results']:
cracked_file = os.path.join(handshake_dir, 'wpa-sec.cracked.potfile')
if os.path.exists(cracked_file):
Expand Down
19 changes: 12 additions & 7 deletions pwnagotchi/ui/view.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import _thread
from threading import Lock
import time
import logging
import random
import time
from threading import Lock

from PIL import ImageDraw

import pwnagotchi
import pwnagotchi.utils as utils
import pwnagotchi.plugins as plugins
from pwnagotchi.voice import Voice

import pwnagotchi.ui.web as web
import pwnagotchi.ui.fonts as fonts
import pwnagotchi.ui.faces as faces
import pwnagotchi.ui.fonts as fonts
import pwnagotchi.ui.web as web
import pwnagotchi.utils as utils
from pwnagotchi.ui.components import *
from pwnagotchi.ui.state import State
from pwnagotchi.voice import Voice

WHITE = 0xff
BLACK = 0x00
Expand Down Expand Up @@ -345,6 +345,11 @@ def on_unread_messages(self, count, total):
self.update()
time.sleep(5.0)

def on_uploading(self, to):
self.set('face', random.choice((faces.UPLOAD, faces.UPLOAD1, faces.UPLOAD2)))
self.set('status', self._voice.on_uploading(to))
self.update(force=True)

def on_rebooting(self):
self.set('face', faces.BROKEN)
self.set('status', self._voice.on_rebooting())
Expand Down
5 changes: 4 additions & 1 deletion pwnagotchi/voice.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import random
import gettext
import os
import random


class Voice:
Expand Down Expand Up @@ -159,6 +159,9 @@ def on_unread_messages(self, count, total):
def on_rebooting(self):
return self._("Oops, something went wrong ... Rebooting ...")

def on_uploading(self, to):
return self._("Uploading data to {to} ...").format(to=to)

def on_last_session_data(self, last_session):
status = self._('Kicked {num} stations\n').format(num=last_session.deauthed)
if last_session.associated > 999:
Expand Down

0 comments on commit f164b8b

Please sign in to comment.