A Pwnagotchi plugin that automatically converts captured .pcap handshakes into Hashcat-ready formats and deletes "lonely" pcaps that can't be cracked, keeping your handshakes directory clean and your load times fast.
Based on the original hashie plugin by junohea, with cleanup logic inspired by hashieclean by Artur Oliveira, plus fixes and a live UI counter.
- Converts valid handshakes to Hashcat formats:
*.22000— EAPOL (hashcat mode 22000)*.16800— PMKID (hashcat mode 16800)
- Attempts PMKID repair when
hcxpcapngtoolproduces a raw/unlinked hash. - Deletes "lonely" pcaps (no EAPOL, no PMKID) so they don't pile up.
- Flushes stale handshake entries from the agent's session memory so bad captures can be retried.
- Live UI counter showing
session_count (total_unique)on the Pwnagotchi face. - Batch processes existing pcaps on startup, then incrementally on each new handshake.
- Logs GPS/GEO/PAW-GPS hits for lonely networks so you can cross-reference with
webgpsmap.
⚠️ Do NOT use hcxtools 6.2.8 or newer. Versions 6.2.8+ require the OpenSSL 3.0 EVP API, which the stock Pwnagotchi v1.5.5 image (Kali for Pi Zero) cannot provide. The plugin will silently fail to convert hashes if you use an incompatible version.
Install on your Pwnagotchi:
sudo apt-get update
sudo apt-get install -y libcurl4-openssl-dev libssl-dev zlib1g-dev
wget https://github.com/ZerBea/hcxtools/archive/refs/tags/6.2.7.tar.gz
tar xzvf 6.2.7.tar.gz
cd hcxtools-6.2.7
make
sudo make install
# verify
/usr/bin/hcxpcapngtool -vtcpdump(preinstalled on Pwnagotchi) — used as a fallback source of BSSID/ESSID pairs when repairing PMKID hashes.
-
Copy
hashieclean.pyinto your custom plugins directory, e.g.:sudo cp hashieclean.py /usr/local/share/pwnagotchi/custom-plugins/
-
Enable it in
/etc/pwnagotchi/config.toml:main.plugins.hashieclean.enabled = true # Optional: minimum hours between forced batch runs of the stale-pcap sweep. # Omit to run on every config change / reboot. main.plugins.hashieclean.interval = 1
-
Restart Pwnagotchi:
sudo systemctl restart pwnagotchi
| Option | Type | Default | Description |
|---|---|---|---|
enabled |
bool | false |
Turn the plugin on/off. |
interval |
int | unset | Minimum hours between batch sweeps of the handshake directory. If unset, a sweep runs whenever the config changes. |
- On load / config change: the plugin scans
handshakes/for existing.pcapfiles, converts any it can to.22000/.16800, and deletes the rest. - On each new handshake: tries EAPOL then PMKID conversion. On success, the original
.pcapis deleted and the network is added to the session counter. On failure, the bad pcap is deleted and the handshake is flushed from the agent's in-memory state so it can be re-captured. - UI: the
pwndfield on the face showssession (total)— this-session valid captures vs. total unique networks with hashes on disk.
- Original
hashieplugin — junohea junohea.mail@gmail.com hashiecleanbase — Artur Oliveira- This fork / fixes — James Fowler
GPL-3.0