Files
gotelegram_pro/INSTALL_LINK.md

81 lines
4.6 KiB
Markdown
Raw 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.
# Установка по ссылке (ключ в команде)
Чтобы клиент или вы могли ставить бота **одной командой**, в неё подставляется ключ (GitHub Personal Access Token). «Ссылка» = эта одна строка, которую копируют и вставляют в терминал сервера.
---
## 1. Одна команда с ключом (готовый шаблон)
Подставьте свой **GITHUB_TOKEN** (один раз) в команду ниже и сохраните получившуюся строку. Её можно:
- отправить клиенту (пусть вставит в SSH-сессию и запустит);
- сохранить у себя как «ссылку для установки».
**Шаблон (замените `ghp_ВАШ_ТОКЕН` на свой токен):**
```bash
GITHUB_TOKEN=ghp_ВАШ_ТОКЕН bash -c 'git clone --depth 1 "https://${GITHUB_TOKEN}@github.com/anten-ka/gotelegram_pro.git" /tmp/gp && sudo -E /tmp/gp/install_gotelegram_bot.sh'
```
**Важно:** переменная `GITHUB_TOKEN` задаётся перед `bash -c`, поэтому во внутренней команде `${GITHUB_TOKEN}` подставится на сервере при выполнении. Токен попадёт в `git clone` и в установочный скрипт.
---
## 2. Через скрипт из репозитория (то же самое, но через raw-ссылку)
Если репозиторий **публичный**, можно дать такую «ссылку» (подставьте свой токен):
```bash
GITHUB_TOKEN=ghp_ВАШ_ТОКЕН curl -sL https://raw.githubusercontent.com/anten-ka/gotelegram_pro/main/install_by_key.sh | sudo -E bash
```
Если репо **приватный**, raw-файл без доступа не откроется, поэтому используйте вариант 1 выше (клонирование по токену в одной команде).
---
## 3. Короткая «ссылка» через публичный Gist (приватный репо)
Чтобы команда была короче и не светить репо, можно выложить **только** маленький скрипт установки в публичный Gist. Тогда «установка по ссылке» = одна команда с ключом, а скрипт берётся по публичной ссылке.
### Шаг 1: создать Gist
1. Перейдите на https://gist.github.com
2. Создайте новый Gist (публичный).
3. Имя файла: `install_gotelegram_pro.sh`
4. Вставьте содержимое (подставьте свой репо, если другой):
```bash
#!/bin/bash
set -e
T="${GITHUB_TOKEN:?Задайте GITHUB_TOKEN}"
R="https://${T}@github.com/anten-ka/gotelegram_pro.git"
D="/tmp/gp_$$"
trap "rm -rf $D" EXIT
git clone --depth 1 --branch main "$R" "$D"
sudo -E "$D/install_gotelegram_bot.sh"
```
5. Нажмите **Create public gist** и скопируйте **Raw**-ссылку на файл (например `https://gist.githubusercontent.com/USER/ID/raw/xxx/install_gotelegram_pro.sh`).
### Шаг 2: «ссылка» для установки
Вы даёте клиенту одну команду (вместо `ghp_ВАШ_ТОКЕН` — свой токен, вместо `ССЫЛКА_НА_RAW_GIST` — ссылку из шага 1):
```bash
GITHUB_TOKEN=ghp_ВАШ_ТОКЕН curl -sL ССЫЛКА_НА_RAW_GIST | sudo -E bash
```
Пример:
```bash
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx curl -sL https://gist.githubusercontent.com/anten-ka/xxxxxxxx/raw/xxx/install_gotelegram_pro.sh | sudo -E bash
```
Клиент только копирует эту строку, вставляет в терминал сервера и запускает — установка идёт по ключу из команды.
---
## 4. Безопасность
- Токен в команде виден в истории shell на сервере. Для разовой установки это допустимо; после установки можно отозвать токен или использовать токен с коротким сроком жизни.
- Не публикуйте готовую команду с реальным токеном в открытый доступ (сайт, чат, репо). Делитесь ею только с тем, кому доверяете установку на сервер.