mirror of
https://github.com/anten-ka/gotelegram_pro.git
synced 2026-05-19 23:56:03 +00:00
install.sh в формате kaskad, INSTALL_LINK, готовая однострочная установка
Made-with: Cursor
This commit is contained in:
80
INSTALL_LINK.md
Normal file
80
INSTALL_LINK.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# Установка по ссылке (ключ в команде)
|
||||
|
||||
Чтобы клиент или вы могли ставить бота **одной командой**, в неё подставляется ключ (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 на сервере. Для разовой установки это допустимо; после установки можно отозвать токен или использовать токен с коротким сроком жизни.
|
||||
- Не публикуйте готовую команду с реальным токеном в открытый доступ (сайт, чат, репо). Делитесь ею только с тем, кому доверяете установку на сервер.
|
||||
Reference in New Issue
Block a user