#!/bin/bash # Автозапуск бота через SSH туннель FINLAND_SERVER="62.60.252.121" SSH_PORT="10809" PIDFILE="/tmp/ssh_tunnel_${SSH_PORT}.pid" BOT_PIDFILE="/tmp/domovoy_bot.pid" cd /home/matrixhasyou/domovoy_bot # Функция очистки cleanup() { echo "🛑 Остановка..." if [ -f "$BOT_PIDFILE" ]; then kill $(cat $BOT_PIDFILE) 2>/dev/null rm -f $BOT_PIDFILE fi if [ -f "$PIDFILE" ]; then kill $(cat $PIDFILE) 2>/dev/null rm -f $PIDFILE fi exit 0 } trap cleanup EXIT INT TERM # Проверяем туннель if ! nc -z 127.0.0.1 ${SSH_PORT} 2>/dev/null; then echo "🚀 Запуск SSH туннеля..." ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=3 \ -N -D 127.0.0.1:${SSH_PORT} -f root@${FINLAND_SERVER} echo $! > $PIDFILE sleep 2 fi # Настраиваем .env sed -i 's/USE_PROXY=.*/USE_PROXY=true/' .env sed -i 's/PROXY_PORT=.*/PROXY_PORT='${SSH_PORT}'/' .env # Запускаем бота if ! pgrep -f "python.*main.py" > /dev/null; then echo "🚀 Запуск бота..." nohup venv/bin/python3 main.py > logs/bot_stdout.log 2>&1 & echo $! > $BOT_PIDFILE sleep 5 fi echo "✅ Бот запущен через SSH туннель на ${FINLAND_SERVER}:${SSH_PORT}"