mirror of
https://github.com/andrey271192/keenetic_ssh-web.git
synced 2026-09-20 14:42:01 +00:00
setup: одна команда на установку (VPS и роутер)
setup-vps.sh — на VPS: снос+установка сервера туннеля одной командой, опционально сразу `add <peer-name>` третьим аргументом. setup-router.sh — на роутере: снос+установка панели keenetic_ssh-web и (если заданы 4 ENV-переменные) клиента туннеля. Без ENV — только панель. Обёртки нужны, чтобы пользователь копировал ровно ОДНУ строку, без переменных типа $RAW, которые ломаются при копи-паст из markdown-чата.
This commit is contained in:
62
setup-router.sh
Executable file
62
setup-router.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
# setup-router.sh — turnkey: снос + установка панели keenetic_ssh-web
|
||||
# и (опционально) WireGuard-туннеля на роутере (Keenetic + Entware).
|
||||
#
|
||||
# На роутере (через SSH в Entware shell):
|
||||
#
|
||||
# # Только панель (без туннеля):
|
||||
# curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/setup-router.sh | sh
|
||||
#
|
||||
# # Панель + туннель — задайте 4 ENV-переменные перед запуском
|
||||
# # (их выдаёт `sudo kssh-tun add <name>` на VPS):
|
||||
# export VPS_ENDPOINT=SERVER_IP:51820
|
||||
# export VPS_PUBKEY='...'
|
||||
# export CLIENT_IP=10.99.0.X
|
||||
# export CLIENT_PRIVKEY='...'
|
||||
# curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/setup-router.sh | sh
|
||||
#
|
||||
# Что делает (одной командой):
|
||||
# 1) сносит старую панель и старый клиент туннеля (если были)
|
||||
# 2) ставит панель заново (порт 2001)
|
||||
# 3) если ENV-переменные туннеля заданы — ставит туннель (wg0)
|
||||
#
|
||||
# Что НЕ трогает: HydraRoute Neo (hrneo, hrweb), XKeen, ваши кастомные репо,
|
||||
# /opt/etc/opkg.conf, чужие WG-конфиги Keenetic, общие правила iptables.
|
||||
set -e
|
||||
|
||||
REPO="${KSSH_REPO:-andrey271192/keenetic_ssh-web}"
|
||||
BRANCH="${KSSH_BRANCH:-main}"
|
||||
RAW="https://raw.githubusercontent.com/${REPO}/${BRANCH}"
|
||||
|
||||
WANT_TUNNEL=1
|
||||
for v in VPS_ENDPOINT VPS_PUBKEY CLIENT_IP CLIENT_PRIVKEY; do
|
||||
eval "val=\"\${$v:-}\""
|
||||
if [ -z "$val" ]; then WANT_TUNNEL=0; fi
|
||||
done
|
||||
|
||||
echo "==> [1/3] Снос старой установки (панель + туннель, если были)…"
|
||||
curl -fsSL "$RAW/tunnel/tunnel-uninstall.sh" 2>/dev/null | sh || true
|
||||
curl -fsSL "$RAW/uninstall.sh" | sh || true
|
||||
|
||||
echo
|
||||
echo "==> [2/3] Установка панели keenetic_ssh-web…"
|
||||
curl -fsSL "$RAW/bootstrap.sh" | sh
|
||||
|
||||
echo
|
||||
if [ "$WANT_TUNNEL" = "1" ]; then
|
||||
echo "==> [3/3] Установка туннеля ($CLIENT_IP → $VPS_ENDPOINT)…"
|
||||
curl -fsSL "$RAW/tunnel/tunnel-install.sh" | sh
|
||||
else
|
||||
echo "==> [3/3] ENV-переменные туннеля не заданы — пропуск."
|
||||
echo " Чтобы поставить туннель: задайте VPS_ENDPOINT/VPS_PUBKEY/CLIENT_IP/CLIENT_PRIVKEY"
|
||||
echo " (их даёт 'sudo kssh-tun add <name>' на VPS) и запустите этот скрипт ещё раз."
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "============================================================"
|
||||
echo "Готово."
|
||||
echo "Панель: http://<LAN-IP>:2001 (логин/пароль — от веб-админки роутера)"
|
||||
if [ "$WANT_TUNNEL" = "1" ]; then
|
||||
echo "Туннель: с VPS теперь доступно http://$CLIENT_IP:2001 и ssh root@$CLIENT_IP"
|
||||
fi
|
||||
echo "============================================================"
|
||||
42
setup-vps.sh
Executable file
42
setup-vps.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
# setup-vps.sh — turnkey: снос + установка WireGuard-сервера kssh-tunnel.
|
||||
#
|
||||
# Запуск (любой из вариантов):
|
||||
# curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/setup-vps.sh | sudo bash
|
||||
# curl -fsSL https://raw.githubusercontent.com/andrey271192/keenetic_ssh-web/main/setup-vps.sh | sudo bash -s -- add <peer-name>
|
||||
#
|
||||
# Что делает (одной командой):
|
||||
# 1) сносит предыдущий kssh-tunnel сервер (если был)
|
||||
# 2) ставит сервер заново (apt install wireguard, ключи, wg0, kssh-tun)
|
||||
# 3) если передан "add <name>" — сразу добавляет peer и печатает ENV-блок
|
||||
#
|
||||
# Что НЕ трогает: HydraRoute, любые ваши приложения, Docker, чужие правила
|
||||
# iptables, apt-пакет wireguard (не делает remove).
|
||||
set -e
|
||||
|
||||
REPO="${KSSH_REPO:-andrey271192/keenetic_ssh-web}"
|
||||
BRANCH="${KSSH_BRANCH:-main}"
|
||||
RAW="https://raw.githubusercontent.com/${REPO}/${BRANCH}"
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "Запустите через sudo." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> [1/3] Снос предыдущей установки kssh-tunnel сервера…"
|
||||
curl -fsSL "$RAW/tunnel/server-uninstall.sh" | bash || true
|
||||
|
||||
echo
|
||||
echo "==> [2/3] Установка сервера kssh-tunnel…"
|
||||
curl -fsSL "$RAW/tunnel/server-install.sh" | bash
|
||||
|
||||
if [ "${1:-}" = "add" ] && [ -n "${2:-}" ]; then
|
||||
echo
|
||||
echo "==> [3/3] Добавление peer '$2'…"
|
||||
/usr/local/bin/kssh-tun add "$2"
|
||||
else
|
||||
echo
|
||||
echo "==> [3/3] Сервер готов. Добавьте роутер командой:"
|
||||
echo " sudo kssh-tun add <name>"
|
||||
echo " (выдаст 5-строчный блок для копирования на роутер)"
|
||||
fi
|
||||
Reference in New Issue
Block a user