Files
gotelegram_pro/bootstrap_install.sh
anten-ka 29b6e05866 GoTelegram MTProxy + bot (gotelegram_pro)
Made-with: Cursor
2026-03-06 14:59:00 +03:00

66 lines
2.7 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Bootstrap: клонирует приватный репозиторий (по SSH или по токену) и запускает установку.
# Использование:
# По SSH-ключу: GIT_REPO_SSH=git@github.com:USER/REPO.git bash bootstrap_install.sh
# По токену: GITHUB_TOKEN=ghp_xxx GIT_REPO_HTTPS=https://github.com/USER/REPO.git bash bootstrap_install.sh
# Или задайте репо по умолчанию ниже и запустите: sudo bash bootstrap_install.sh
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
# Репозиторий по умолчанию (подставьте свой)
REPO_SSH="${GIT_REPO_SSH:-git@github.com:anten-ka/gotelegram_pro.git}"
REPO_HTTPS="${GIT_REPO_HTTPS:-https://github.com/anten-ka/gotelegram_pro.git}"
BRANCH="${GIT_BRANCH:-main}"
CLONE_DIR="/tmp/gotelegram_pro_install_$$"
cleanup() { rm -rf "$CLONE_DIR"; }
trap cleanup EXIT
echo -e "${GREEN}[*] Установка GoTelegram Bot из приватного репозитория${NC}"
if ! command -v git &>/dev/null; then
echo -e "${YELLOW}[*] Установка git...${NC}"
if command -v apt-get &>/dev/null; then
apt-get update && apt-get install -y git
elif command -v dnf &>/dev/null; then
dnf install -y git
elif command -v yum &>/dev/null; then
yum install -y git
else
echo -e "${RED}Установите git вручную.${NC}"
exit 1
fi
fi
if [ -n "$GITHUB_TOKEN" ]; then
echo -e "${GREEN}[*] Клонирование по токену (HTTPS)...${NC}"
# Подставляем токен в URL для доступа к приватному репо
if [[ "$REPO_HTTPS" == https://github.com/* ]]; then
CLONE_URL="https://${GITHUB_TOKEN}@github.com/${REPO_HTTPS#https://github.com/}"
else
CLONE_URL="$REPO_HTTPS"
fi
git clone --depth 1 --branch "$BRANCH" "$CLONE_URL" "$CLONE_DIR"
elif [ -n "$GIT_REPO_SSH" ]; then
echo -e "${GREEN}[*] Клонирование по SSH...${NC}"
git clone --depth 1 --branch "$BRANCH" "$GIT_REPO_SSH" "$CLONE_DIR"
else
echo -e "${GREEN}[*] Клонирование по SSH (ключ по умолчанию)...${NC}"
git clone --depth 1 --branch "$BRANCH" "$REPO_SSH" "$CLONE_DIR"
fi
if [ ! -f "$CLONE_DIR/install_gotelegram_bot.sh" ]; then
echo -e "${RED}В репозитории не найден install_gotelegram_bot.sh${NC}"
exit 1
fi
chmod +x "$CLONE_DIR/install_gotelegram_bot.sh"
# Передаём токен в установочный скрипт, если использовали HTTPS (для совместимости)
export GITHUB_TOKEN
echo -e "${GREEN}[*] Запуск установки...${NC}"
exec sudo "$CLONE_DIR/install_gotelegram_bot.sh"