#!/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}"
