pi@pwnagotchi:~ $ sudo pwnagotchi --wizard Do you want to restore the previous configuration?
[Y/N]: N This will create a new configuration file and overwrite your current backup, are you sure?
[Y/N]: Y Welcome to the interactive installation of your personal Pwnagotchi configuration! My name is Jayofelony, how may I call you?
Pwnagotchi name (no spaces): CoCoPwny I shall go by CoCoPwny from now on! How many networks do you want to whitelist? We will also ask a MAC for each network? Each SSID and BSSID count as 1 network.
Be sure to use digits as your answer.
Amount of networks: 0 Do you want to enable BT-Tether? # 也可以选择 N, 后面再配置 BT-Tethering.
[Y/N] Y What name uses your phone, check settings?
phone What device do you use? android or ios?
Device: android What is the bluetooth MAC of your device?
MAC: <手机蓝牙 MAC> Do you want to enable a display?
[Y/N]: Y What display do you use?
Be sure to check for the correct display type@ https://github.com/jayofelony/pwnagotchi/blob/master/pwnagotchi/utils.py#L240-L501
Display type: waveshare_4 # 根据你的显示屏型号, 以及链接代码列出的显示屏型号来输入. Do you want to invert the display colors? N = Black background Y = White background
[Y/N]: Y pi@pwnagotchi:~ $
不出意外的话, 就能在显示屏上看到可爱的电子宠物了.
浏览器访问 10.0.0.2:8080, 点击右下角的 Restart in AUTO mode, Pwnagotchi 就开始抓包啦~
时区设置
我没有安装 RTC 模块, 所以板子断电后显示的时间就不准了.
但在终端输入 timedatectl status 后:
pi@CoCoPwny:~ $ timedatectl Local time: Sat 2025-04-12 13:40:05 BST Universal time: Sat 2025-04-12 12:40:05 UTC RTC time: n/a Time zone: Europe/London (BST, +0100) System clock synchronized: yes NTP service: active RTC inlocal TZ: no
if"KEY NOT FOUND"notin result.stdout.decode('utf-8'): keepfile = False
else: logging.info(f"[AircrackOnly] {filename} is crackable.") keepfile = True
except subprocess.TimeoutExpired: """ 超时, 说明文件存在多个包, 改为判断是否含有握手包或 PMKID. Timeout means there are multiple packages, we need to check if it contains a handshake or PMKID. (其实只是我不会写交互) To be honest, I don't know how to interact with subprocess.Popen :( """ logging.info(f"[AircrackOnly] Timeout while checking {filename}.") if os.path.exists(dictpath): os.remove(dictpath)
# Based on: https://github.com/PhreakBoutique/UPSLite_Plugin_1_3/blob/main/upslite_plugin_1_3.py # Reference: https://github.com/linshuqin329/UPS-Lite/blob/master/UPS-Lite_V1.3_CW2015/UPS_Lite_V1.3_CW2015.py # Note: This script has not been fully tested and may only work correctly on my setup. # Only applys to UPS Lite v1.3.
import logging import os import struct import time
import RPi.GPIO as GPIO
import pwnagotchi import pwnagotchi.plugins as plugins import pwnagotchi.ui.fonts as fonts from pwnagotchi.ui.components import LabeledValue from pwnagotchi.ui.view import BLACK
defcharging(self): try: return'+'if GPIO.input(CHARGING_GPIO_PIN) == GPIO.HIGH else'-' except Exception as e: logging.error("[ups-lite] Charging status error: %s", e) return'-'
defcleanup(self): # Clean up only the pin used by this plugin GPIO.cleanup(CHARGING_GPIO_PIN)
classUPSLite(plugins.Plugin): __author__ = 'Coast23' __version__ = '1.0.1' __license__ = 'GPL3' __description__ = 'A plugin that will add a voltage indicator for the UPS Lite v1.3. Bugs fixed by Coast23.'