mirror of
https://github.com/andrey271192/keenetic_ssh-web.git
synced 2026-09-20 14:42:01 +00:00
docs+install: одна команда с GitHub (bootstrap.sh)
Made-with: Cursor
This commit is contained in:
41
README.md
41
README.md
@@ -42,7 +42,32 @@
|
|||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
Скопируйте каталог проекта на роутер (например, в `/tmp/keenetic_ssh-web`) или клонируйте репозиторий на ПК и скопируйте через SCP.
|
### Одной командой с GitHub (на роутере, Entware)
|
||||||
|
|
||||||
|
Нужны **`curl`** или **`wget`** и **`tar`** (обычно уже есть). Скрипт скачает архив ветки **`main`**, распакует во временный каталог и выполнит **`install.sh`** (копирование в `/opt/share/keenetic_ssh-web`, venv, init).
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/bootstrap.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Другая ветка или форк:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
export KSSH_BRANCH=main
|
||||||
|
export KSSH_REPO=andrey271192/keenetic_ssh-web
|
||||||
|
curl -fsSL "https://raw.githubusercontent.com/${KSSH_REPO}/${KSSH_BRANCH}/bootstrap.sh" | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
После установки задайте пароль и (по желанию) список IP:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
nano /opt/share/keenetic_ssh-web/.env
|
||||||
|
/opt/etc/init.d/S99keenetic-ssh-web start
|
||||||
|
```
|
||||||
|
|
||||||
|
### Установка из уже скачанного каталога
|
||||||
|
|
||||||
|
Скопируйте репозиторий на роутер или клонируйте через `git`, затем:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd /path/to/keenetic_ssh-web
|
cd /path/to/keenetic_ssh-web
|
||||||
@@ -102,6 +127,20 @@ export WEB_PASSWORD=test
|
|||||||
|
|
||||||
## Удаление
|
## Удаление
|
||||||
|
|
||||||
|
### С GitHub (скрипт самодостаточный)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/uninstall.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Сохранить каталог с данными (`.env`, `data/`), убрав только сервис:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/uninstall.sh | env KEEP_DATA=1 sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Из каталога репозитория
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd /path/to/keenetic_ssh-web
|
cd /path/to/keenetic_ssh-web
|
||||||
chmod +x uninstall.sh
|
chmod +x uninstall.sh
|
||||||
|
|||||||
37
bootstrap.sh
Executable file
37
bootstrap.sh
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Одна команда с GitHub: скачивает архив main и запускает install.sh на роутере (Entware).
|
||||||
|
set -e
|
||||||
|
|
||||||
|
REPO="${KSSH_REPO:-andrey271192/keenetic_ssh-web}"
|
||||||
|
BRANCH="${KSSH_BRANCH:-main}"
|
||||||
|
ARCH="https://github.com/${REPO}/archive/refs/heads/${BRANCH}.tar.gz"
|
||||||
|
# Имя корня внутри tar: keenetic_ssh-web-main (последний сегмент REPO + -branch)
|
||||||
|
REPO_NAME="${REPO##*/}"
|
||||||
|
ROOT_DIR="${REPO_NAME}-${BRANCH}"
|
||||||
|
|
||||||
|
TMP="${TMPDIR:-/tmp}/kssh_bootstrap_$$"
|
||||||
|
mkdir -p "$TMP"
|
||||||
|
cd "$TMP"
|
||||||
|
|
||||||
|
echo "==> Скачивание ${ARCH}"
|
||||||
|
if command -v curl >/dev/null 2>&1; then
|
||||||
|
curl -fsSL "$ARCH" -o src.tgz
|
||||||
|
elif command -v wget >/dev/null 2>&1; then
|
||||||
|
wget -qO src.tgz "$ARCH"
|
||||||
|
else
|
||||||
|
echo "Нужны curl или wget (opkg install curl wget)" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Распаковка"
|
||||||
|
tar xzf src.tgz
|
||||||
|
cd "$ROOT_DIR" || { echo "Нет каталога $ROOT_DIR в архиве" >&2; exit 1; }
|
||||||
|
|
||||||
|
chmod +x install.sh uninstall.sh run.sh 2>/dev/null || true
|
||||||
|
echo "==> Запуск install.sh"
|
||||||
|
./install.sh
|
||||||
|
|
||||||
|
cd /
|
||||||
|
rm -rf "$TMP"
|
||||||
|
echo ""
|
||||||
|
echo "Готово. Дальше: nano /opt/share/keenetic_ssh-web/.env && /opt/etc/init.d/S99keenetic-ssh-web start"
|
||||||
Reference in New Issue
Block a user