Compare commits

...

2 Commits

Author SHA1 Message Date
Likaon
2f2117e240 Очистка: игнорирование build/ и egg-info 2026-05-24 00:40:26 +03:00
Likaon
4e604b73c8 Игнорировать build/ и *.egg-info/ 2026-05-24 00:29:29 +03:00
8 changed files with 154 additions and 5 deletions

9
.gitignore vendored
View File

@@ -1,5 +1,6 @@
# Виртуальное окружение
venv/
.venv/
__pycache__/
*.pyc
*.pyo
@@ -22,4 +23,10 @@ Thumbs.db
test_image.png
encoded_lsb.png
test_*.png
*_lsb.png
*_lsb.png
# Временные файлы установки
*.egg-info/
*.egg
build/
dist/

View File

@@ -1,2 +1,20 @@
# CourseWork
# Stego App
Стеганографическое приложение для сокрытия данных в изображениях.
## Функциональность
- **LSB метод** (Least Significant Bit) - сокрытие в младших битах пикселей
- **DCT метод** (Discrete Cosine Transform) - сокрытие в частотной области
- Графический интерфейс (Tkinter)
- CLI интерфейс
## Установка
### Автоматическая установка
```bash
chmod +x install.sh
./install.sh

BIN
icons/stego.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

66
install.sh Executable file
View File

@@ -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

View File

@@ -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()
main()

23
setup.py Normal file
View File

@@ -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',
)

10
stego.desktop Normal file
View File

@@ -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

27
uninstall.sh Executable file
View File

@@ -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 "=========================================="