mirror of
https://github.com/jayofelony/pwnagotchi.git
synced 2025-07-01 18:37:27 -04:00
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (pwnagotchi)" project-jdk-type="Python SDK" />
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (pwnagotchi)" project-jdk-type="Python SDK" />
|
||||
</project>
|
2
.idea/pwnagotchi.iml
generated
2
.idea/pwnagotchi.iml
generated
@ -4,7 +4,7 @@
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Python 3.11 (pwnagotchi)" jdkType="Python SDK" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.12 (pwnagotchi)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="PyDocumentationSettings">
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Pwnagotchi
|
||||
<a href="https://github.com/jayofelony/pwnagotchi/releases/latest"><img alt="Release" src="https://img.shields.io/github/release/jayofelony/pwnagotchi.svg?style=flat-square"></a><br/>
|
||||
|
||||
**This fork of Pwnagotchi has been overhauled to work solely on 64-bit Raspberry Pi's, it uses PyTorch as it's AI.**
|
||||
|
||||
Patreon: [Pwnagotchi-Torch](https://www.patreon.com/pwnagotchi_torch)
|
||||
|
@ -6,7 +6,7 @@ import signal
|
||||
import sys
|
||||
import toml
|
||||
import requests
|
||||
import os
|
||||
import json
|
||||
|
||||
import pwnagotchi
|
||||
from pwnagotchi import utils
|
||||
|
@ -4,8 +4,6 @@ import requests
|
||||
import websockets
|
||||
|
||||
from requests.auth import HTTPBasicAuth
|
||||
import asyncio # Add asyncio for async functionality
|
||||
from time import sleep # Add sleep function
|
||||
|
||||
|
||||
def decode(r, verbose_errors=True):
|
||||
@ -51,13 +49,11 @@ class Client(object):
|
||||
logging.debug("Error while parsing event (%s)", ex)
|
||||
except websockets.exceptions.ConnectionClosedError:
|
||||
logging.debug("Lost websocket connection. Reconnecting...")
|
||||
await asyncio.sleep(1) # Sleep for 5 seconds before reconnecting
|
||||
except websockets.exceptions.WebSocketException as wex:
|
||||
logging.debug("Websocket exception (%s)", wex)
|
||||
await asyncio.sleep(1) # Sleep for 5 seconds before reconnecting
|
||||
except Exception as e:
|
||||
logging.exception("Other error while opening websocket (%s) with parameter %s", e, s)
|
||||
await asyncio.sleep(1) # Sleep for 5 seconds before reconnecting
|
||||
|
||||
|
||||
def run(self, command, verbose_errors=True):
|
||||
for _ in range(0, 2):
|
||||
|
@ -13,9 +13,10 @@ API_ADDRESS = "http://127.0.0.1:8666/api/v1"
|
||||
def is_connected():
|
||||
try:
|
||||
# check DNS
|
||||
host = 'https://api.opwngrid.xyz/api/v1/uptime'
|
||||
r = requests.get(host, headers=None, timeout=(30.0, 60.0))
|
||||
if r.json().get('isUp'):
|
||||
host = socket.gethostbyname('api.pwnagotchi.ai')
|
||||
if host:
|
||||
# check connectivity itself
|
||||
socket.create_connection((host, 443), timeout=30)
|
||||
return True
|
||||
except:
|
||||
pass
|
||||
|
@ -36,7 +36,6 @@ class Fix_BRCMF(plugins.Plugin):
|
||||
self.pattern = re.compile(r'brcmf_cfg80211_nexmon_set_channel.*?Set Channel failed')
|
||||
self.pattern2 = re.compile(r'wifi error while hopping to channel')
|
||||
self.pattern3 = re.compile(r'Firmware has halted or crashed')
|
||||
self.pattern4 = re.compile(r'error 400: could not find interface wlan0mon')
|
||||
self.isReloadingMon = False
|
||||
self.connection = None
|
||||
self.LASTTRY = 0
|
||||
@ -174,21 +173,6 @@ class Fix_BRCMF(plugins.Plugin):
|
||||
except Exception as err:
|
||||
logging.error("[FixBRCMF monstart]: %s" % repr(err))
|
||||
|
||||
# Look for pattern 3
|
||||
elif len(self.pattern3.findall(other_other_last_lines)) >= 1:
|
||||
logging.info("[FixBRCMF] wlan0 is down!")
|
||||
if hasattr(agent, 'view'):
|
||||
display = agent.view()
|
||||
display.set('status', 'Restarting wlan0 now!')
|
||||
display.update(force=True)
|
||||
try:
|
||||
# Run the monstart command to restart wlan0mon
|
||||
cmd_output = subprocess.check_output("ifconfig wlan0 up && monstart", shell=True)
|
||||
self._status = "up"
|
||||
logging.info("[FixBRCMF monstart]: %s" % repr(cmd_output))
|
||||
except Exception as err:
|
||||
logging.error("[FixBRCMF monstart]: %s" % repr(err))
|
||||
|
||||
else:
|
||||
print("logs look good")
|
||||
|
||||
|
@ -8,7 +8,7 @@ Profile
|
||||
{% block script %}
|
||||
$(function(){
|
||||
$('#qrcode').qrcode({
|
||||
text: 'https://opwngrid.xyz/search/{{ fingerprint }}',
|
||||
text: 'https://pwnagotchi.ai/pwnfile/#{{ fingerprint }}',
|
||||
render: 'div',
|
||||
mode: 0,
|
||||
size: 400,
|
||||
@ -25,7 +25,7 @@ $(function(){
|
||||
|
||||
<label for="fingerprint">Fingerprint</label>
|
||||
<h4 id="fingerprint">
|
||||
<a href="https://opwngrid.xyz/search/#{{ fingerprint }}" target="_blank">{{ fingerprint }}</a>
|
||||
<a href="https://pwnagotchi.ai/pwnfile/#{{ fingerprint }}" target="_blank">{{ fingerprint }}</a>
|
||||
</h4>
|
||||
<div id="qrcode"></div>
|
||||
|
||||
|
Reference in New Issue
Block a user