👻 Introducing Stegaboo — Hide Harmless ...

👻 Introducing Stegaboo — Hide Harmless Secrets in Plain Sight (with a Smile)

May 22, 2025

image

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.json config file on first run

  • ✅ Comes with sample files to try encoding and decoding out of the box

  • ✅ Fully tested with graceful error handling

  • --version flag, 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”...

☕ Buy Me a Coffee

Even spirits run on caffeine and validation.


🛠️ Project Link

🔗 View the full source on GitHub

Подобається цей допис?

Купити для UncompiledSelf каву

Більше від UncompiledSelf

КонфіденційністьУмовиПоскаржитись