Skip to content

StegaNet is a steganography implementation written in C, combined with socket programming for secure message transmission. It supports hiding and exchanging text, images, and audio messages. If no media is provided, the system can generate random images or audio automatically. Audio can also be imported directly from YouTube links.

License

Notifications You must be signed in to change notification settings

IshaanNene/StegaNet

Repository files navigation

StegaNet

StegaNetLogo
StegaNet is a steganography implementation written in C, combined with socket programming for secure message transmission. It supports hiding and exchanging text, images, and audio messages. If no media is provided, the system can generate random images or audio automatically. Audio can also be imported directly from YouTube links.

Features

  • Send normal messages over sockets
  • Image Steganography (Encode & Decode)
  • Audio Steganography (Encode & Decode)
  • Download audio directly from YouTube

How to run

1. Clone the repo

git clone git@github.com:IshaanNene/StegaNet.git

2. Install dependencies

For Linux:

make install-deps

For macOS:

make install-deps-mac

Additionally, install Node.js dependencies (for YouTube audio download):

npm install

3. Run the project

  1. Start two terminals Run make clean && make all && make run on one then wait, then run make run on the other terminal
  2. Make sure one is set to client mode and the other in server mode, and also ensure they both are on the same port
  3. Use these screenshots as reference
Screenshot 2025-09-09 at 5 49 03 PM Screenshot 2025-09-09 at 5 49 18 PM Screenshot 2025-09-09 at 5 49 35 PM Screenshot 2025-09-09 at 5 50 01 PM

4. File Overview

File Description
main.c Entry point of the program. Initializes the UI and coordinates between networking, steganography, and utilities.
network.c Handles socket programming: setting up client/server modes, sending, and receiving messages.
steganography.c Encoding and Decoding logic for images and audio files.
utils.c Utility functions for file I/O, random media generation, and data validation.
ui.c Raylib-based user interface for displaying prompts, visual feedback, and logs.
yt_downloader.js Node.js script that uses yt-dlp and ffmpeg to download audio from YouTube in WAV format.
Makefile Build system with targets for compiling, running, cleaning, installing dependencies (Linux/macOS), and debugging.

Future Implementation

  • Encrypted messaging using various encryption algorithms
  • Connection support between two different IPs (multi-device)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

StegaNet is a steganography implementation written in C, combined with socket programming for secure message transmission. It supports hiding and exchanging text, images, and audio messages. If no media is provided, the system can generate random images or audio automatically. Audio can also be imported directly from YouTube links.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages