
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.
