From 9b9ea3e1b5aec530ade157643de9593a93a04345 Mon Sep 17 00:00:00 2001 From: anten-ka Date: Fri, 6 Mar 2026 15:50:29 +0300 Subject: [PATCH] =?UTF-8?q?install.sh:=20=D1=83=D0=B1=D1=80=D0=B0=D0=BD=20?= =?UTF-8?q?set=20-e,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B8=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=BD=D0=B0=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=B6=D0=B4=D0=BE=D0=BC=20=D1=88=D0=B0=D0=B3=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- install.sh | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/install.sh b/install.sh index f18c4f8..b7d083c 100644 --- a/install.sh +++ b/install.sh @@ -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