Update README.md

An enhanced plugin with frequent titles, dynamic quotes, progress bars, random events, handshake streaks, personality evolution, and secret achievements. The UI is optimized to avoid clutter, ensuring a clean and engaging experience.
This commit is contained in:
AlienMajik
2025-05-04 14:25:05 -07:00
committed by GitHub
parent 49dc391442
commit 08f21907df

218
README.md
View File

@ -1,151 +1,175 @@
# pwnagotchi_plugins Age.py Plugin for Pwnagotchi v3.1.0
Age.py:
Age, Strength, Network Points, and Stars Plugin for Pwnagotchi v2.0.2
Author: AlienMajik Author: AlienMajik
Version: 2.0.2 Version: 3.1.0
Description: Enhanced plugin with achievement tiers, configurable titles, decay mechanics, progress tracking, and dynamic status messages.
Description:
An enhanced plugin with frequent titles, dynamic quotes, progress bars, random events, handshake streaks, personality evolution, and secret achievements. The UI is optimized to avoid clutter, ensuring a clean and engaging experience.
Key Stats: Key Stats:
Age (♥ Age): Tracks how many epochs your Pwnagotchi has lived, now without any reliance on the AI brain. The plugin tracks four primary statistics that reflect your Pwnagotchis journey:
Strength (Str): Reflects how much your Pwnagotchi has "trained," increasing every 10 epochs.
Network Points (★ Pts): Earn points by capturing handshakes, with the number of points determined by the encryption strength of the networks encountered: Age (♥ Age):
Tracks the number of epochs your Pwnagotchi has lived.
Earns frequent titles like "Baby Steps" (100 epochs), "Getting the Hang of It" (500 epochs), "Neon Spawn" (1,000 epochs), and more.
Strength (Str):
Reflects training progress, increasing by 1 every 10 epochs.
Titles include "Sparring Novice" (100 train epochs), "Gear Tickler" (300 train epochs), "Fleshbag" (500 train epochs), and beyond.
Network Points (★ Pts):
Earn points by capturing handshakes, with values based on encryption strength:
WPA3: +10 points WPA3: +10 points
WPA2: +5 points WPA2: +5 points
WEP/WPA: +2 points WEP/WPA: +2 points
Open/Unknown: +1 point Open/Unknown: +1 point
Stars (GTA-Style) with Tiered Symbols: Every 1000 handshakes grants one additional star, up to a maximum of 5 stars. Points decay if the Pwnagotchi is inactive for too long.
04,999 handshakes: Stars appear as ★.
5,0009,999 handshakes: Stars appear as ♦.
10,000+ handshakes: Stars appear as ♣.
This provides a fun, evolving visual progression as your handshake count climbs. The plugin also counts existing handshakes in /root/handshakes, so you never start from zero! Personality:
New Enhancements in v2.0.2:
Dynamic Status Messages: Develops based on actions:
Motivational Quotes: Displayed when the user levels up in age or strength (e.g., "You're a WiFi wizard in the making!").
Inactivity Messages: Shown when the agent undergoes decay due to inactivity (e.g., "Time to wake up, you're rusting!").
These dynamic messages are randomly chosen and help keep the user engaged, providing a personalized experience as they reach milestones or experience inactivity.
Improved Age and Strength Titles: Aggro: Increases with each handshake.
The titles for both age and strength have been revised to be more interesting and engaging: Scholar: Increases every 10 epochs.
Age Titles: "Neon Spawn," "WiFi Outlaw," "Data Raider," etc. Stealth: Reserved for future use.
Strength Titles: "Fleshbag," "Deauth King," "Handshake Hunter," etc.
These titles make the progression more varied and fun, allowing users to see their growth in a more exciting way.
Updated UI: Displayed on the UI if enabled.
The UI now includes a section showing users their current stats, including Age, Strength, Network Points, and Stars, as well as dynamic updates reflecting achievements or decay status.
Updated Logging and Milestones:
The logging system has been maintained and now includes milestone tracking for key intervals (e.g., every 100 epochs).
Milestones trigger UI updates with faces and messages to keep the agent engaged as they reach new achievements.
New Enhancements in v2.0.3:
Documented Training Logic:
In on_epoch, a comment explains why train_epochs increments every 10 epochs: # Increment train_epochs every 10 epochs to simulate slower training progress.
Enhanced File I/O Safety: New Enhancements in v3.1.0
In on_handshake, handshake logging is wrapped in a try-except block to handle file writing errors gracefully.
Refined Decay Mechanics: More Frequent Titles: Age and strength titles are awarded more often, making progression feel rewarding at every stage.
In apply_decay, decay calculation uses floating-point division for smoother, more proportional point reduction.
Increased Logging: Context-Aware Dynamic Quotes: Motivational messages respond to your actions, like capturing handshakes or recovering from decay.
Added debug and info logs for better transparency:
on_epoch: Logs epoch number and points (logging.debug). Progress Bars: A visual bar shows how close you are to the next age title (e.g., [=== ] for 60% progress).
check_achievements: Logs new titles (logging.info).
apply_decay: Logs points lost due to decay (logging.info).
on_handshake: Logs captured handshake details (logging.info).
Thread Safety: Random Events: Every 100 epochs, there's a 5% chance of events like "Lucky Break" (double points) or "Signal Noise" (half points).
Imported threading and added a data_lock in __init__. Used in save_data to ensure thread-safe file writing.
Accurate Achievement Notifications: Handshake Streaks: Capture 5+ consecutive handshakes for a 20% point bonus per handshake.
Tracks previous titles and stars to ensure new achievements are detected and announced correctly.
Robust Handshake Handling: Personality Evolution: Your Pwnagotchis dominant trait (Aggro, Scholar, Stealth) evolves based on its actions.
Adds type checking and error logging to prevent crashes from unexpected data, making the plugin more stable.
Seamless New Installations: Secret Achievements: Unlock hidden goals like "Night Owl" (10 handshakes between 2-4 AM) or "Crypto King" (capture all encryption types) for bonus points.
Fully initializes all attributes when starting fresh, improving reliability for new users.
Persistent Progress: UI Optimization: Streamlined to avoid clutter; personality display is optional.
Saves achievement states to the data file, maintaining continuity across sessions.
Features: Enhanced Data Persistence: Saves streak, personality, and achievement progress.
Persistent Stats: Age, Strength, Points, and Stars survive reboots, ensuring no progress is lost. Thread Safety: Ensures reliable data saving.
UI Integration: Stats, progress, and decay messages are displayed directly on the Pwnagotchi screen.
Points Logging: Every points increment is logged in /root/network_points.log along with network details.
Star System:
Every 1000 handshakes grants one additional star, up to a maximum of 5 stars.
04,999 handshakes: Stars appear as ★.
5,0009,999 handshakes: Stars appear as ♦.
10,000+ handshakes: Stars appear as ♣.
Decay Mechanism: Inactivity causes points decay after a specified number of epochs.
Dynamic Status Messages: Motivational quotes and inactivity messages keep users engaged.
Installation Instructions: Improved Logging: Detailed logs for better tracking and debugging.
Copy the Plugin File: Place the age.py file into your Pwnagotchis custom plugins directory:
/usr/local/share/pwnagotchi/custom-plugins/ Features
Alternatively, clone it from GitHub: Persistent Stats: Age, Strength, Points, and Personality survive reboots.
UI Integration: Stats, progress bars, and messages are displayed on the screen.
Points Logging: Handshake events are logged in /root/network_points.log.
Decay Mechanism: Points decay after inactivity to encourage regular use.
Dynamic Status Messages: Context-aware quotes and inactivity alerts.
Personality Evolution: Develops based on actions; display optional.
Secret Achievements: Hidden goals for bonus points.
Random Events: Periodic events that spice up gameplay.
Handshake Streaks: Bonus points for consecutive captures.
Installation Instructions
Copy the Plugin File
Place age.py in /usr/local/share/pwnagotchi/custom-plugins/.
Or use SCP:
sudo scp age.py root@<pwnagotchi_ip>:/usr/local/share/pwnagotchi/custom-plugins/ sudo scp age.py root@<pwnagotchi_ip>:/usr/local/share/pwnagotchi/custom-plugins/
Update config.toml: Add the following lines to your /etc/pwnagotchi/config.toml:
Update config.toml
Add to /etc/pwnagotchi/config.toml:
main.plugins.age.enabled = true main.plugins.age.enabled = true
main.plugins.age.age_x_coord = 101 main.plugins.age.age_x = 10
main.plugins.age.age_y_coord = 80 main.plugins.age.age_y = 40
main.plugins.age.str_x_coord = 160 main.plugins.age.strength_x = 80
main.plugins.age.str_y_coord = 80 main.plugins.age.strength_y = 40
main.plugins.age.points_x = 10
main.plugins.age.points_y = 60
main.plugins.age.progress_x = 10
main.plugins.age.progress_y = 80
main.plugins.age.personality_x = 10
main.plugins.age.personality_y = 100
main.plugins.age.show_personality = true
main.plugins.age.decay_interval = 50 main.plugins.age.decay_interval = 50
main.plugins.age.decay_amount = 5 main.plugins.age.decay_amount = 10
main.plugins.age.points_x_coord = 10
main.plugins.age.points_y_coord = 100
main.plugins.age.stars_x_coord = 10
main.plugins.age.stars_y_coord = 120
main.plugins.age.max_stars = 5
main.plugins.age.star_interval = 1000
Restart Pwnagotchi: After adding the plugin and configuring it, restart your Pwnagotchi:
Restart Pwnagotchi
Apply changes with:
sudo systemctl restart pwnagotchi sudo systemctl restart pwnagotchi
Usage:
As your Pwnagotchi runs, watch the Age, Strength, and Network Points stats increase.
Handshakes are captured to update the Points stat based on network encryption:
WPA3: +10 pts
WPA2: +5 pts
WEP/WPA: +2 pts
Open/Unknown: +1 pt
Every 1000 handshakes grants an additional star, showing off your Pwnagotchis “rep.”
Decay: Inactivity causes points decay after a specified number of epochs, tracked by the plugin.
Logs and Data:
Usage
Monitor Stats: Watch Age, Strength, and Points increase on the screen.
Capture Handshakes: Earn points and build streaks for bonuses.
Track Progress: See how close you are to the next age title with the progress bar.
Experience Events: Encounter random events that affect point earnings.
Develop Personality: Your Pwnagotchis actions shape its dominant trait.
Unlock Achievements: Discover secret goals for extra points.
Avoid Decay: Stay active to prevent point loss from inactivity.
Logs and Data
Stats Data: /root/age_strength.json Stats Data: /root/age_strength.json
Contains epochs lived, training epochs, total network points, handshake count, and decay progress. Stores epochs, train_epochs, points, handshakes, personality, and more.
Points Log: /root/network_points.log Points Log: /root/network_points.log
Each handshake event granting points is recorded here with ESSID, encryption, points gained, and total points. Records each handshake with timestamp, ESSID, encryption, and points.
Support & Contributions:
Feel free to open issues or pull requests to improve this plugin or suggest new features. Enjoy leveling up your Pwnagotchis stats!
Support & Contributions
Feel free to open issues or pull requests to improve this plugin or suggest new features. Enjoy leveling up your Pwnagotchi!
ADSBsniffer.py: ADSBsniffer.py:
A plugin that captures ADS-B data from aircraft using RTL-SDR and logs it. A plugin that captures ADS-B data from aircraft using RTL-SDR and logs it.