
Stegaboo is a playful command-line tool for image-based steganography, powered by Python, Typer, and Rich.
β¨ What Is Stegaboo?
Stegaboo is a lightweight, expressive, and user-friendly CLI tool that lets you hide short messages inside image files using LSB (Least Significant Bit) steganography.
But this isnβt your average encryption tool. Stegaboo:
Comes with a charming personality and ghostly flair π»
Includes built-in sample images to get you started instantly
Provides helpful hints, splash screens, and styled output
Handles missing files and config gracefully
Encourages creativity and exploration β not secrecy
Whether youβre learning about steganography, building CLI tools, or just want to tuck a note into a PNG like a secret scroll, Stegaboo invites you to play.
π Safety Notice
Stegaboo is for educational and playful use only.
Do not use it to store sensitive, personal, or confidential data.
This ghost is friendly β not secure.
π Features
β Encode messages into PNG images (lossless)
β Decode messages with automatic corruption warnings for JPEGs
β Custom output paths with fallback to a default folder
β Human-friendly CLI with Rich-styled panels and emoji
β Automatically creates a
settings.jsonconfig file on first runβ Comes with sample files to try encoding and decoding out of the box
β Fully tested with graceful error handling
β
--versionflag, splash screen, and smart defaults
π¦ Installation
Clone and install in editable mode:
git clone https://github.com/Jnxvln/stegaboo.git
cd stegaboo
python -m venv .venv
source .venv/bin/activate # Or .venv\\Scripts\\activate on Windows
pip install -e .
π» Getting Started
Show the splash screen:
stegaboo
ποΈ View command help:
stegaboo --help
stegaboo encode --help
stegaboo decode --help
π§ͺ Sample Images Included
lil_boo.png β A friendly ghost, use this to practice encoding
outputs/note_boo.png β Already encoded with a secret message for decoding
π Full Usage Scenario
β 1. Encode a message into an image
stegaboo encode lil_boo.png "I see you, boo!"
β
Output saved to outputs/encoded_lil_boo.png
(Stegaboo auto-generates the folder if it doesn't exist)
π οΈ 2. Specify a custom output path (optional)
stegaboo encode lil_boo.png "Meet me at midnight" -o secrets/midnight.png
β
Automatically saves to secrets/midnight.png (and creates secrets/ if missing)
π 3. Decode a message
stegaboo decode outputs/encodedlilboo.png
β Displays the hidden message, if present
πΎ 4. Save the decoded message to a file
stegaboo decode outputs/encodedlilboo.png --save-message my_note.txt
β
Writes the message to my_note.txt
π 5. Show or update your default output location
stegaboo where
stegaboo set where ./my_outputs
β
Updates settings.json with your preferred save path
(Stegaboo creates this config file automatically if it doesnβt exist)
π§ͺ Run the Test Suite
pytest
Stegaboo includes tests for:
Functional encoding/decoding
Error handling (missing files, invalid image formats)
π» Give the Ghost a Tip
If Stegaboo made you smile, whisper, or mutter βokay thatβs kinda coolβ...
Even spirits run on caffeine and validation.
