From 4e604b73c86bdc4dbb1bca7688935f56355ac9df Mon Sep 17 00:00:00 2001 From: Likaon Date: Sun, 24 May 2026 00:29:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B3=D0=BD=D0=BE=D1=80=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20build/=20=D0=B8=20*.egg-info/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- README.md | 18 +++++++++++++ icons/stego.png | Bin 0 -> 2414 bytes install.sh | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ main.py | 6 ++--- setup.py | 23 +++++++++++++++++ stego.desktop | 10 ++++++++ uninstall.sh | 27 ++++++++++++++++++++ 8 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 icons/stego.png create mode 100755 install.sh create mode 100644 setup.py create mode 100644 stego.desktop create mode 100755 uninstall.sh diff --git a/.gitignore b/.gitignore index 4e049ec..d698b48 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,5 @@ Thumbs.db test_image.png encoded_lsb.png test_*.png -*_lsb.png \ No newline at end of file +*_lsb.png*.egg-info/ +*.egg diff --git a/README.md b/README.md index 6d65e51..d3a2abb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,20 @@ # CourseWork +# Stego App + +Стеганографическое приложение для сокрытия данных в изображениях. + +## Функциональность + +- **LSB метод** (Least Significant Bit) - сокрытие в младших битах пикселей +- **DCT метод** (Discrete Cosine Transform) - сокрытие в частотной области +- Графический интерфейс (Tkinter) +- CLI интерфейс + +## Установка + +### Автоматическая установка + +```bash +chmod +x install.sh +./install.sh \ No newline at end of file diff --git a/icons/stego.png b/icons/stego.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6ff0628d3741a346de01e44dabf528e9a604b6 GIT binary patch literal 2414 zcmV-!36b`RP)WmK)Wkz zg%Gy{5<#?2c|a>IvdD%g1g!$QVIdbMjwi95_>!^5j^mk3??c-&J(uq3uI{Qjp7tke zdQQ9RoKs)bbX8Z?>7w38`UoI^Km-^dkD{@7a`9hYMZ>1BSWgwvuqkxVQ(1J#MMbqm zVp%Q($f?3r3psbXWxF!U#C6|+wJgkYB2PvMEojM z%KoM`_10h2GWbjC6VB{|V88$jvVHmz1(NvJP{w|qXfI_DlH0O!YH+I&CE~G(qfYF5 zEQ3E!e9W`%TVMExsfK|<9@*v8;8r8-;@`&{yZpZJ{@6zh>%R4AF!ZS)0x0hJTpG@l zkXwGnjzU_N?1Q+6saC+H;Y|L%@6LV^NUERW8e~t%grcDoK6uZ=-|8E6Ib|NE8Xkxv z`&c4js$qa@J>wsy8WOnHv+}VZsP73lCIMg@ToXVctrR~)$f^62uvYeoo?E|9n0hb{^na_pL9~`}Q#c z2xNWAm~)^?6EgoC@IB1nWip_IeP4LD>kX)ZF#S=0@8vMgMr-JRaj$e66d;r;e z5fgnS@lmNQPTx6r(EF66U*#YtKZEDg@ubEuReyM|uP!nNy@3)HNM7z zLifoZEKcpk;BuJ=96N-N#6Gl!sS3hg3>E(+4pPlN7=)<`A}H4tLH2_R_MtmWl^F^* z14ZmZ$IH99vJbd6!m`K-(g+7n!VF=K%6LtpF-(;oDmRC6$6*D!;>x`^QHV{!k0CCUEYy?gEA@#DvXYE;@GT=?Q~ zX`+Nd>0l^fzv3C+kd#wb(aX|AIX(q|6W2k@Ksoy$DXSu6O~`m*IZzoWXCD$)MR-mk z1TXxGmw|HjK{~@!`GF+m)J;QvEGW1EF`qa=Vu#RCLs&2GUi$3Aeq&U`K0|utekzT0Ccb~`U`MpIp}DFa`r)F zxWo|44O|X}a<0P}3sN48u6;LEP9Xas^qf`})lA4ZX&k; zp?Y0(7e$ij-Ay$RLU{5jL6y4bE(#{mxSJ|Jh&RIGNwn{#$_b8j(OnFbB(^v#qlf(< zuOSE@o;rjGk$q_0O_d+Weo(ww zeDqwtFzoL!q2kw?xQn8Gs>rFvFx6$F!18XY+Kn#nrmESf#|aswK1Ist@@}e{jq2Y` z^*4!z?j7xQ2IWkg`1kd;#L69;?jxY>zI$$r&k}Hc;MVR(*Njizw)!)}BQqB+PIhi= z-MFFEG|g-#_v6`{cW!3^>R8{rp{q5QGYx}=2Bt=?rkS%3-C?Q(;PGASzCL|*_I9Rg zZEN>~?fpL_ua2Y%c;S!R{&DiEH8j+nTm8++WWHzF-geL0wM{4fl{9nMvL&%|*ZrqY zjojbX(6O=k%y+}tj9FiAJo4N2`MJB3H|IFB4-UJjHmr!%)e(pWN2llJvqcrczJ%1~ z=hiLv{`|l3oCzXaxiYnC)k-qZwI%V(xrt2HBtkZuyYTbmrfrGIu{)C74uySi*iH5O zUq+w(edo|<`r@_J$k?o5uMlKA*!*m1j;E$G*6HkB^URr10yQ?pr=~LbB-5$+#^(AW z4gA=L!-R}dpMJfT8oZI-xVm}w1FHu|r_Y`rTlg0h)`=JfJ^8y1E7^a49XDuUdGDsK z#G1Co6)Wrd`;!2Q@=`~OXZW%Y?YpTq#AAuZ6*nel&nHtuH`0IF({=X3nC%y^kR)fC z-<(e7Uw=A1n`v!{r&9BmE~kc)>1Y119z^N%d}|_pYjWO7($X5ANoTaTa8)(v3sWV4 z$Rs?ytD~tQ4#LWKEIpSkTm##cDAI6wXllpSRfa(z>fF#`ngC(o^3=BNt77#Ah+=VL z^Y+Bxz_cW{MUzy}pm{gdxy;>f&kaAdYu(+PX`1GV|BNhNMGK?@01TohyVqI5_^mtV z&QG*7#h=*Iac3@@ygrjNO%TS$=NcN)k9D_O-O%J)b#%9W(xH+*I|(3$d%qO)n%ha`v-9GDN;s*uZpMqk6+smyL4YO||xo gE{WY#YuV`k0i`O_H9g>Y-T(jq07*qoM6N<$f=BhPBme*a literal 0 HcmV?d00001 diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..3b91113 --- /dev/null +++ b/install.sh @@ -0,0 +1,66 @@ +cat > install.sh << 'EOF' +#!/bin/bash +# Установка Stego App для Ubuntu/Debian +# Автор: Петров Игорь ИУ10-24 +# Год: 2026 + +set -e + +echo "==========================================" +echo "Установка Stego App" +echo "==========================================" + +# 1. Установка pipx (если не установлен) +if ! command -v pipx &> /dev/null; then + echo "Установка pipx..." + sudo apt update + sudo apt install pipx -y + pipx ensurepath + source ~/.bashrc +fi + +echo "✓ pipx установлен" + +# 2. Установка Tkinter (для GUI) +if ! python3 -c "import tkinter" &> /dev/null; then + echo "Установка Tkinter..." + sudo apt install python3-tk -y +fi + +echo "✓ Tkinter установлен" + +# 3. Установка приложения через pipx +echo "Установка Stego App..." +pipx install --force . + +echo "✓ Приложение установлено" + +# 4. Установка иконки +echo "Установка иконки..." +sudo mkdir -p /usr/local/share/stego/icons +sudo cp icons/stego.png /usr/local/share/stego/icons/ + +# 5. Установка .desktop файла +echo "Установка ярлыка в меню..." +cat > ~/.local/share/applications/stego.desktop << DESKTOP +[Desktop Entry] +Type=Application +Name=Stego App +Comment=Сокрытие данных в изображениях +Exec=stego-gui +Icon=/usr/local/share/stego/icons/stego.png +Terminal=false +Categories=Graphics;Utility; +DESKTOP + +echo "==========================================" +echo "Установка завершена!" +echo "" +echo "Запуск: stego-gui" +echo "Или: stego --help" +echo "" +echo "Ярлык появится в меню приложений" +echo "==========================================" +EOF + +chmod +x install.sh \ No newline at end of file diff --git a/main.py b/main.py index ad57efe..4e1e2d7 100644 --- a/main.py +++ b/main.py @@ -211,10 +211,8 @@ def gui_main(): if __name__ == '__main__': + import sys if len(sys.argv) > 1 and sys.argv[1] == '--gui': gui_main() else: - main() - -if __name__ == '__main__': - main() \ No newline at end of file + main() \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..25973f5 --- /dev/null +++ b/setup.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +from setuptools import setup, find_packages + +setup( + name='stego-app', + version='1.0.0', + author='Петров Игорь ИУ10-24', + description='Steganography application for hiding data in images', + packages=find_packages(), + include_package_data=True, + install_requires=[ + 'numpy>=2.4.3', + 'pillow>=12.1.1', + 'scipy>=1.7.0', + ], + entry_points={ + 'console_scripts': [ + 'stego = main:main', + 'stego-gui = main:gui_main', + ], + }, + python_requires='>=3.8', +) \ No newline at end of file diff --git a/stego.desktop b/stego.desktop new file mode 100644 index 0000000..7867606 --- /dev/null +++ b/stego.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=Stego App +Comment=Сокрытие данных в изображениях +Exec=stego-gui +Icon=stego +Terminal=false +Categories=Graphics;Utility; +Keywords=steganography;hide;image; +StartupNotify=true \ No newline at end of file diff --git a/uninstall.sh b/uninstall.sh new file mode 100755 index 0000000..2490f6e --- /dev/null +++ b/uninstall.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Удаление Stego App + +set -e + +echo "==========================================" +echo "Удаление Stego App" +echo "==========================================" + +# Удаление через pip +echo "Удаление пакета..." +pip3 uninstall stego-app -y + +# Удаление иконки +echo "Удаление иконки..." +sudo rm -rf /usr/local/share/stego + +# Удаление .desktop файла +echo "Удаление ярлыка..." +sudo rm -f /usr/share/applications/stego.desktop + +# Обновление базы +sudo update-desktop-database + +echo "==========================================" +echo "Удаление завершено!" +echo "==========================================" \ No newline at end of file