install.sh: убран set -e, добавлены проверки и вывод на каждом шаге

Made-with: Cursor
This commit is contained in:
anten-ka
2026-03-06 15:50:29 +03:00
parent 1afb7c33cd
commit 9b9ea3e1b5

View File

@@ -2,8 +2,8 @@
# GoTelegram MTProxy Bot — всё в одном файле.
# Установка: curl -sL -H "Authorization: token TOKEN" https://raw.githubusercontent.com/anten-ka/gotelegram_pro/main/install.sh -o /usr/local/bin/gotelegram && chmod +x /usr/local/bin/gotelegram && gotelegram
set -e
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; CYAN='\033[0;36m'; NC='\033[0m'
fail() { echo -e "${RED}[ОШИБКА] $1${NC}"; exit 1; }
[ "$EUID" -ne 0 ] && { echo -e "${RED}Запустите с sudo.${NC}"; exit 1; }
@@ -28,7 +28,18 @@ install_pkg() {
for cmd in python3 curl; do
command -v $cmd &>/dev/null || { echo -e "${YELLOW}[*] Установка $cmd...${NC}"; install_pkg $cmd; }
done
python3 -m venv --help &>/dev/null 2>&1 || install_pkg python3-venv 2>/dev/null || true
command -v python3 &>/dev/null || fail "python3 не установлен."
echo -e "${GREEN}[*] Проверка python3-venv...${NC}"
if ! python3 -m venv --help &>/dev/null 2>&1; then
echo -e "${YELLOW}[*] Установка python3-venv...${NC}"
install_pkg python3-venv || install_pkg python3-virtualenv || true
python3 -m venv --help &>/dev/null 2>&1 || {
# На некоторых системах пакет называется python3.X-venv
PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
install_pkg "python${PY_VER}-venv" 2>/dev/null || true
}
fi
if ! command -v docker &>/dev/null; then
echo -e "${YELLOW}[*] Docker не найден. Устанавливаю...${NC}"
@@ -626,11 +637,13 @@ BOTEOF
echo -e "${GREEN}[*] Файлы бота записаны.${NC}"
# ── Python venv ──────────────────────────────────────────────────────────────
echo -e "${GREEN}[*] Настройка Python venv...${NC}"
if [ ! -d "$BOT_DIR/venv" ]; then
python3 -m venv "$BOT_DIR/venv"
python3 -m venv "$BOT_DIR/venv" || fail "Не удалось создать venv. Установите: apt install python3-venv"
fi
"$BOT_DIR/venv/bin/pip" install --upgrade pip -q 2>/dev/null
"$BOT_DIR/venv/bin/pip" install -r "$BOT_DIR/requirements.txt" -q
echo -e "${GREEN}[*] Установка зависимостей (pip)...${NC}"
"$BOT_DIR/venv/bin/pip" install --upgrade pip -q 2>/dev/null || true
"$BOT_DIR/venv/bin/pip" install -r "$BOT_DIR/requirements.txt" -q || fail "pip install не удался."
# ── Конфиг (.env) ────────────────────────────────────────────────────────────
if [ ! -f "$BOT_DIR/.env" ]; then