Extracted intelligent channel selection strategy from auto-tune plugin into core
as pwnagotchi/strategy/ module with 3 focused components:
1. channels.py: ChannelStrategy
- Selects channels for each epoch (active + extra unscanned)
- Builds on active_channels and explores new areas
- Handles channel list repopulation from config/agent
2. statistics.py: ChannelStatistics
- Tracks per-channel statistics (AP counts, interactions)
- Maintains known AP database
- Manages active vs unscanned channel lists
- Records interactions (assoc, deauth, handshakes)
3. __init__.py: Strategy facade
- Unified entry point for agent integration
- Event handler dispatch
- Public API for stats access
Key changes:
- Strategy is now ALWAYS active (not optional like plugin)
- Personality/config loaded from config.toml, not plugin options
- No web UI or preset management (core only)
- Clean event integration with agent
- Removed ~600 lines of UI/preset code
Auto-tune.py is now DISABLED. Original backed up as auto-tune.py.backup.
The strategy replaces the removed RL-based AI with intelligent heuristics:
- Always scan active channels (high capture probability)
- Explore unscanned channels (discovery)
- Track statistics to guide behavior
- Adapt to environment changes
Configuration in config.toml:
[main]
extra_channels = 15
restrict_channels = [1, 6, 11] # optional
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Pwnagotchi
This is the main source for all forks:
- RPiZeroW (32bit)
- RPiZero2W, RPi3, RPi4, RPi5 (64bit)
For installation docs check out the wiki!
If you want to sponsor this project you can use GH Sponsor or cryptocurrency:
Or send some ethereum: 0x33ceC4Abe80fDE460a924d596d4dE31Bc0767bb6
Proudly partnering with PiSugar!!
Pwnagotchi is a Raspberry Pi leveraging bettercap that survives from its surrounding Wi-Fi environment to maximize the crackable WPA key material it captures (either passively, or by performing authentication and association attacks). This material is collected as PCAP files containing any form of handshake supported by hashcat, including PMKIDs, full and half WPA handshakes.
The "old" Pwnagotchi used to have AI to help it learn from its environment, but since then AI seemed to destabilize the Wi-Fi firmware. So I have chosen to remove the AI completely to give the Pwnagotchi more up-time and longer battery life when taking it on a walk.
Multiple units within close physical proximity can "talk" to each other, advertising their presence to each other by broadcasting custom information elements using a parasite protocol I've built on top of the existing dot11 standard.
Documentation
https://github.com/jayofelony/pwnagotchi/wiki https://pwnagotchi.org
Links
| Official Links | |
|---|---|
| Website | pwnagotchi.org |
| Chat | discord |
| Subreddit | r/pwnagotchi |
License
pwnagotchi created by @evilsocket and updated by us. It is released under the GPL3 license.
