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

6.2 KiB
Raw Blame History

Установка из закрытого GitHub-репозитория (по ключу)

Инструкция для размещения проекта в приватном репозитории и установки на сервер по SSH-ключу или по токену (PAT).


1. Размещение в закрытом репозитории

1.1 Создать приватный репозиторий

  1. GitHub → New repository.
  2. Имя, например: gotelegram_pro.
  3. Выберите Private.
  4. Не добавляйте README, .gitignore и лицензию, если пушите существующий проект.

1.2 Загрузить код (с локальной машины)

cd "Скрипт mtproxy"
git init
git remote add origin git@github.com:ВАШ_ЛОГИН/gotelegram_pro.git
git add .
git commit -m "GoTelegram MTProxy + bot"
git branch -M main
git push -u origin main

Если репо уже есть и вы только добавляете remote:

git remote add origin git@github.com:ВАШ_ЛОГИН/gotelegram_pro.git
git push -u origin main

1.3 Настроить доступ «по ключу»

Доступ к приватному репо с сервера возможен двумя способами.

Способ Когда использовать
SSH-ключ На сервере уже настроен ssh-agent и ключ добавлен в GitHub (Deploy key или ваш SSH key).
Personal Access Token (PAT) Удобно для одноразовой установки или CI; токен передаётся в переменной окружения.

2. Установка по SSH-ключу

2.1 Добавить SSH-ключ в GitHub

На сервере (или с машины, с которой будете клонировать):

# Сгенерировать ключ (если ещё нет)
ssh-keygen -t ed25519 -C "server-gotelegram" -f ~/.ssh/gotelegram_deploy -N ""
cat ~/.ssh/gotelegram_deploy.pub
  • Личный репо: GitHub → Settings → SSH and GPG keys → New SSH key → вставить содержимое .pub.
  • Организация: добавить ключ как Deploy key в настройках репозитория (Read-only достаточно).

Проверка:

ssh -T git@github.com

2.2 Клонировать и установить

Вариант А: скопируйте bootstrap_install.sh на сервер (через scp или вставьте содержимое в файл), затем:

chmod +x bootstrap_install.sh
GIT_REPO_SSH="git@github.com:ВАШ_ЛОГИН/gotelegram_pro.git" sudo bash bootstrap_install.sh

Вариант Б: клонировать репо вручную и запустить установку:

git clone git@github.com:ВАШ_ЛОГИН/gotelegram_pro.git /tmp/gotelegram_pro
sudo /tmp/gotelegram_pro/install_gotelegram_bot.sh

3. Установка по токену (PAT)

3.1 Создать Personal Access Token

  1. GitHub → Settings → Developer settings → Personal access tokens.
  2. Tokens (classic)Generate new token.
  3. Права: минимум repo (полный доступ к приватным репо).
  4. Скопировать токен (один раз показывается).

3.2 Установка одной командой (bootstrap)

Скопируйте bootstrap_install.sh на сервер (scp или создайте файл и вставьте содержимое из репо). Затем:

# Подставьте свой токен и репо
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export GIT_REPO_HTTPS="https://github.com/ВАШ_ЛОГИН/gotelegram_pro.git"
sudo -E bash bootstrap_install.sh

-E сохраняет переменные окружения (в т.ч. GITHUB_TOKEN) при sudo.

Вариант без экспорта (токен в истории не сохраняйте в продакшене):

GITHUB_TOKEN=ghp_xxx GIT_REPO_HTTPS=https://github.com/USER/gotelegram_pro.git sudo -E bash bootstrap_install.sh

3.3 Установка через install_gotelegram_bot.sh

Если скрипт install_gotelegram_bot.sh уже лежит на сервере (скопирован из репо), но папки gotelegram-bot рядом нет, скрипт сам попытается клонировать репо по токену:

export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"
export GOTETELEGRAM_BOT_REPO="https://github.com/ВАШ_ЛОГИН/gotelegram_pro"
sudo -E ./install_gotelegram_bot.sh

Токен в процессе установки не сохраняется на диск, только используется для git clone.


4. Безопасность

  • SSH: используйте отдельный ключ (Deploy key) с доступом только к этому репо и при необходимости только на чтение.
  • PAT: не коммитьте токен в репо и не оставляйте в истории shell. Для повторных установок лучше SSH или новый токен.
  • После установки можно удалить клонированную папку: rm -rf /tmp/gotelegram_pro*.

5. Краткая шпаргалка

Задача Команда
Установка по SSH (репо уже клонирован) sudo ./install_gotelegram_bot.sh
Установка по SSH (bootstrap) GIT_REPO_SSH=git@github.com:USER/REPO.git sudo bash bootstrap_install.sh
Установка по токену (bootstrap) GITHUB_TOKEN=ghp_xxx GIT_REPO_HTTPS=https://github.com/USER/REPO.git sudo -E bash bootstrap_install.sh
Установка по токену (только install-скрипт) GITHUB_TOKEN=ghp_xxx sudo -E ./install_gotelegram_bot.sh

Вместо USER/REPO подставьте свой логин и имя репозитория.