Игнорировать build/ и *.egg-info/
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -22,4 +22,5 @@ Thumbs.db
|
||||
test_image.png
|
||||
encoded_lsb.png
|
||||
test_*.png
|
||||
*_lsb.png
|
||||
*_lsb.png*.egg-info/
|
||||
*.egg
|
||||
|
||||
18
README.md
18
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
|
||||
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__':
|
||||
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
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