
LSB विधि पर आधारित सरल स्टेग्नोग्राफी प्रोग्राम।
स्टेगैनोग्राफी के माध्यम से छवि, ऑडियो और वीडियो फ़ाइलों में जानकारी एन्कोड करने के लिए एक प्रोग्राम। किसी भी प्रकार का डेटा एन्कोड किया जा सकता है, कच्चे स्ट्रिंग्स से लेकर फ़ाइलों तक, जैसा कि नीचे दिखाया गया है:
बाईं ओर, स्टेगैनोग्राफिक रूप से छिपी हुई छवि वाला एक घर। दाईं ओर, बिल्ली की निकाली गई छिपी हुई छवि। यह होस्ट छवि में प्रत्येक रंग घटक के सभी बिट्स को हटाकर केवल सबसे कम महत्वपूर्ण बिट (least significant bit) रखने से प्रकट होती है।
JPEG होस्ट DCT-गुणांक एम्बेडिंग का उपयोग करते हैं। CLI पर, Pillow द्वारा पढ़े जा सकने वाले अन्य छवि प्रारूपों को सहेजते समय PNG में परिवर्तित किया जाता है। वेब API केवल ऊपर सूचीबद्ध प्रारूपों को स्वीकार करता है। WAV एकमात्र समर्थित ऑडियो प्रारूप है।
वीडियो होस्ट को FFmpeg के साथ डिकोड किया जाता है, एक मजबूत DCT सिग्नल के साथ फ्रेम-दर-फ्रेम एम्बेड किया जाता है, और MP4/H.264 के रूप में वापस लिखा जाता है। वीडियो डिकोडर stegpy के वीडियो एनकोडर द्वारा बनाई गई फ़ाइलों के लिए है; stegpy पेलोड के बिना मनमाने वीडियो उपयोगी डेटा को डिकोड नहीं करेंगे। वीडियो प्रोसेसिंग को होस्टेड सार्वजनिक वेब डेमो पर जानबूझकर अक्षम किया गया है क्योंकि यह CPU-गहन हो सकता है; वीडियो होस्ट के लिए CLI का उपयोग करें या वेब ऐप को स्थानीय रूप से चलाएँ।
वीडियो समर्थन के लिए ffmpeg और ffprobe कमांड-लाइन टूल्स की भी आवश्यकता होती है।
uv के साथ वर्तमान रिलीज़ को PyPI से कमांड-लाइन टूल के रूप में इंस्टॉल करें:
uv tool install stegpy
stegpy -h
मौजूदा इंस्टॉल को इसके साथ अपग्रेड करें:
uv tool upgrade stegpy
विकास के लिए, रिपॉज़िटरी को क्लोन करें और uv के साथ वातावरण बनाएँ:
git clone https://github.com/izcoser/stegpy.git
cd stegpy
uv sync --dev
uv run stegpy -h
stegpy "Hello World!" image.png
stegpy _image.png
stegpy "Hello video!" clip.mp4
stegpy _clip.mp4
वीडियो इनपुट ऊपर सूचीबद्ध किसी भी समर्थित FFmpeg-पठनीय कंटेनर हो सकते हैं। stegpy हमेशा एन्कोडेड वीडियो आउटपुट को MP4/H.264 के रूप में लिखता है।
डेटा डिफ़ॉल्ट रूप से बिना किसी सुरक्षा के एन्कोड किया जाता है, लेकिन इसे -p फ़्लैग के साथ एन्क्रिप्ट किया जा सकता है:
stegpy "Hello World!" image.png -p
Enter password (will not be echoed):
Verify password (will not be echoed):
stegpy _image.png -p
Enter password (will not be echoed):
Hello World!
stegpy -h
Python पैकेज द्वारा समर्थित एक लाइव डेमो https://stegpy.coseri.xyz पर उपलब्ध है।
FastAPI एप्लिकेशन और ब्राउज़र डेमो को रिपॉज़िटरी से स्थानीय रूप से चलाएँ:
uv run uvicorn stegpy.web:app --reload
फिर http://127.0.0.1:8000 खोलें। web-demo/ में स्थिर फ़ाइलों के लिए FastAPI /api/* बैकएंड की आवश्यकता होती है और index.html को सीधे खोलने से काम नहीं करते।
होस्टेड डेमो PNG, BMP, GIF, WebP, WAV, और JPEG होस्ट, टेक्स्ट या फ़ाइल पेलोड, और वैकल्पिक पासवर्ड एन्क्रिप्शन का समर्थन करता है। छवि/ऑडियो होस्ट और फ़ाइल पेलोड अपलोड 20 MB तक सीमित हैं, और टेक्स्ट संदेश 1 MB तक सीमित हैं। इसकी क्षमता प्रदर्शन stegpy हेडर, एम्बेडेड फ़ाइलनाम, और एन्क्रिप्शन ओवरहेड के बाद उपयोगी पेलोड बाइट्स दिखाता है।
वीडियो होस्ट वेब UI में केवल तब उपलब्ध हैं जब localhost पर चल रहे हों क्योंकि वीडियो प्रोसेसिंग एक छोटे सर्वर के CPU को मिनटों तक व्यस्त रख सकती है। स्थानीय वेब UI 5 MB तक के वीडियो होस्ट स्वीकार करता है।
API GET /api/health, POST /api/capacity, POST /api/encode, और POST /api/decode को भी उजागर करता है। स्थानीय रूप से चलाने पर इंटरैक्टिव API दस्तावेज़ीकरण http://127.0.0.1:8000/docs पर उपलब्ध है।
यदि आपको यह प्रोजेक्ट उपयोगी लगे तो दान का स्वागत है।
Ethereum / EVM: 0xfE1039ba2d4973eb6F6dd1cF3BDAF24aa6cbff96