
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.
