#!/bin/bash # PyGuardian Installation Script # ============================== set -e INSTALL_DIR="/opt/pyguardian" SERVICE_FILE="/etc/systemd/system/pyguardian.service" CONFIG_DIR="/etc/pyguardian" LOG_DIR="/var/log" DATA_DIR="/var/lib/pyguardian" echo "🛡️ Установка PyGuardian - Linux Server Protection System" echo "=========================================================" # Проверка прав root if [[ $EUID -ne 0 ]]; then echo "❌ Этот скрипт должен быть запущен от root" exit 1 fi # Проверка Python 3.10+ echo "📋 Проверка зависимостей..." PYTHON_VERSION=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") REQUIRED_VERSION="3.10" if ! python3 -c "import sys; exit(0 if sys.version_info >= (3, 10) else 1)"; then echo "❌ Требуется Python ${REQUIRED_VERSION}+ (найден ${PYTHON_VERSION})" exit 1 fi echo "✅ Python ${PYTHON_VERSION} обнаружен" # Проверка pip if ! command -v pip3 &> /dev/null; then echo "❌ pip3 не найден. Установите python3-pip" exit 1 fi echo "✅ pip3 найден" # Установка системных пакетов (опционально) echo "📦 Установка системных зависимостей..." if command -v apt-get &> /dev/null; then apt-get update apt-get install -y python3-pip python3-venv iptables elif command -v yum &> /dev/null; then yum install -y python3-pip python3-virtualenv iptables elif command -v dnf &> /dev/null; then dnf install -y python3-pip python3-virtualenv iptables else echo "⚠️ Автоматическая установка пакетов не поддерживается для этой системы" echo " Убедитесь что установлены: python3-pip, iptables/nftables" fi # Создание директорий echo "📁 Создание директорий..." mkdir -p "$INSTALL_DIR" mkdir -p "$CONFIG_DIR" mkdir -p "$DATA_DIR" chmod 700 "$DATA_DIR" # Копирование файлов echo "📋 Копирование файлов..." cp -r src/ "$INSTALL_DIR/" cp main.py "$INSTALL_DIR/" cp requirements.txt "$INSTALL_DIR/" # Копирование конфигурации if [[ ! -f "$CONFIG_DIR/config.yaml" ]]; then cp config/config.yaml "$CONFIG_DIR/" echo "ℹ️ Конфигурация скопирована в $CONFIG_DIR/config.yaml" else echo "⚠️ Конфигурация уже существует в $CONFIG_DIR/config.yaml" fi # Установка Python зависимостей echo "🐍 Установка Python зависимостей..." cd "$INSTALL_DIR" pip3 install -r requirements.txt # Установка systemd сервиса echo "⚙️ Установка systemd сервиса..." sed "s|/opt/pyguardian|$INSTALL_DIR|g; s|/opt/pyguardian/config/config.yaml|$CONFIG_DIR/config.yaml|g" \ systemd/pyguardian.service > "$SERVICE_FILE" # Права на файлы chmod +x "$INSTALL_DIR/main.py" chown -R root:root "$INSTALL_DIR" # Перезагрузка systemd systemctl daemon-reload echo "" echo "✅ PyGuardian успешно установлен!" echo "" echo "📝 Следующие шаги:" echo "1. Настройте конфигурацию в $CONFIG_DIR/config.yaml" echo "2. Получите токен Telegram бота от @BotFather" echo "3. Узнайте ваш Telegram ID через @userinfobot" echo "4. Обновите конфигурацию с токеном и ID" echo "5. Запустите сервис: systemctl start pyguardian" echo "6. Включите автозапуск: systemctl enable pyguardian" echo "" echo "🔧 Полезные команды:" echo " systemctl status pyguardian - статус сервиса" echo " systemctl logs pyguardian - просмотр логов" echo " systemctl restart pyguardian - перезапуск" echo "" echo "📖 Документация: https://github.com/your-org/pyguardian"