Version 2.3.8

Signed-off-by: Jeroen Oudshoorn <oudshoorn.jeroen@gmail.com>
This commit is contained in:
Jeroen Oudshoorn
2023-09-12 13:17:37 +02:00
parent 04157b318a
commit fe34c1e76d
4 changed files with 15 additions and 21 deletions

View File

@ -5,7 +5,6 @@ Wants=network.target
[Service]
Type=simple
PermissionsStartOnly=true
ExecStart=/usr/bin/bettercap-launcher
Restart=always
RestartSec=30

View File

@ -7,7 +7,6 @@ After=pwngrid-peer.service
[Service]
Type=simple
WorkingDirectory=/tmp
PermissionsStartOnly=true
ExecStart=/usr/bin/pwnagotchi-launcher
Restart=always
RestartSec=30

View File

@ -6,7 +6,6 @@ After=bettercap.service
[Service]
Type=simple
PermissionsStartOnly=true
ExecStart=/usr/local/bin/pwngrid -keys /etc/pwnagotchi -peers /root/peers -address 127.0.0.1:8666 -client-token /root/.api-enrollment.json -wait -log /var/log/pwngrid-peer.log -iface wlan0mon
Restart=always
RestartSec=30

View File

@ -40,29 +40,26 @@ class Client(object):
async def start_websocket(self, consumer):
s = "%s/events" % self.websocket
async with websockets.connect(s, ping_interval=60, ping_timeout=90) as ws:
# After the websocket connection is opened, loop waiting for messages
# Moved the websocket connection before the loop to avoid runaway websocket
# connections that were exhausting all possible TCP ports (ephemeral port exhaustion)
while True:
try:
while True:
try:
async with websockets.connect(s, ping_interval=60, ping_timeout=90) as ws:
async for msg in ws:
try:
await consumer(msg)
except Exception as ex:
logging.debug("Error while parsing event (%s)", ex)
except websockets.ConnectionClosedError:
logging.error("Lost websocket connection. Reconnecting...")
continue
except websockets.WebSocketException as wex:
logging.error("Websocket exception (%s)", wex)
continue
except OSError as e:
logging.error("Websocket OSError exception (%s) with parameter %s", e, s)
continue
except Exception as e:
logging.error("Other exception (%s) with parameter %s", e, s)
continue
except websockets.ConnectionClosedError:
logging.error("Lost websocket connection. Reconnecting...")
continue
except websockets.WebSocketException as wex:
logging.error("Websocket exception (%s)", wex)
continue
except OSError as e:
logging.error("Websocket OSError exception (%s) with parameter %s", e, s)
continue
except Exception as e:
logging.error("Other exception (%s) with parameter %s", e, s)
continue
def run(self, command, verbose_errors=True):
for _ in range(0,2):