Игнорировать build/ и *.egg-info/
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -22,4 +22,5 @@ Thumbs.db
|
|||||||
test_image.png
|
test_image.png
|
||||||
encoded_lsb.png
|
encoded_lsb.png
|
||||||
test_*.png
|
test_*.png
|
||||||
*_lsb.png
|
*_lsb.png*.egg-info/
|
||||||
|
*.egg
|
||||||
|
|||||||
18
README.md
18
README.md
@@ -1,2 +1,20 @@
|
|||||||
# CourseWork
|
# 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
BIN
icons/stego.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
66
install.sh
Executable file
66
install.sh
Executable 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
|
||||||
6
main.py
6
main.py
@@ -211,10 +211,8 @@ def gui_main():
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
import sys
|
||||||
if len(sys.argv) > 1 and sys.argv[1] == '--gui':
|
if len(sys.argv) > 1 and sys.argv[1] == '--gui':
|
||||||
gui_main()
|
gui_main()
|
||||||
else:
|
else:
|
||||||
main()
|
main()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
||||||
23
setup.py
Normal file
23
setup.py
Normal 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
10
stego.desktop
Normal 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
27
uninstall.sh
Executable 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 "=========================================="
|
||||||
Reference in New Issue
Block a user