/stego

🦕 stego is a steganographic swiss army knife.

Primary LanguageRustMIT LicenseMIT

Stego

Crates.io stego Build Status dependency status License

stego is a steganographic swiss army knife.

Features

  • Cross platform (MacOS, Windows, Linux)
  • Encoding and decoding of images/text/binary files into photos (audio/video coming soon)
  • Fast and nearly undetectable encoding (to the human eye).
  • Smart stdin/stdout detection (try piping to stego instead of using --txt)
  • lossless decoding of data
  • Simple, stateless CLI
  • Zero system-dependencies (standalone binary)

⚒ Usage

# Text encoding/decoding

# Encodes the message "Hello, Stego!" into the provided image
stego encode text --input image.png --output encoded-image.png --payload "Hello, Stego\!" 

# Decodes and prints out the encoded message ("Hello, Stego!") hidden in the provided image
stego decode text --input encoded-image.png 

# File encoding/decoding

# Encodes the file hidden.docx into the provided image
stego encode file --input image.png --output encoded-image.png --payload hidden.docx 

# Decodes and saves the content to decoded.docx from the provided image
stego decode file --input encoded-image.png --output decoded.docx

# Stdin detection (for text-encoding)
echo "Hello, Stego\!" | stego encode text --input image.png --output encoded-image.png

# Help
stego --help
stego encode --help
stego decode --help

📦 Installation

cargo install stego

OR

git clone https://github.com/ajmwagar/stego
cd stego
cargo install --path ./ --force

🚥 Roadmap

  • CLI
  • Encoding / Decoding of text
  • Encoding / Decoding of images (currently broken see #5)
  • Encoding / Decoding of binary files
  • Add logging
  • Better error handling/messages
  • Add file encryption
  • Add file compression
  • CI/Test suite
  • Trait based API for custom datatypes
  • bincode support
  • Encoding / Decoding of audio files
  • Encoding / Decoding of video files
  • Jurassic Park
  • Another mass extinction
  • ???

🤝 Acknowledgments & Contributors

stego wouldn't be possible without:

stego was inspired by: