fix: isolate Gitea installer from GitHub
This commit is contained in:
+7
-7
@@ -2,13 +2,13 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
# VPS-Commander 一键安装与配置脚本 (Hub / Agent)
|
# VPS-Commander 一键安装与配置脚本 (Hub / Agent)
|
||||||
# Repo: https://github.com/kyaring/vps-commander
|
# Repo: https://gitea.king.nyc.mn/openclaw/vps-commander
|
||||||
|
|
||||||
REPO="kyaring/vps-commander"
|
REPO="kyaring/vps-commander"
|
||||||
INSTALL_DIR="/opt/vps-commander"
|
INSTALL_DIR="/opt/vps-commander"
|
||||||
CONF_DIR="/etc/vps-commander"
|
CONF_DIR="/etc/vps-commander"
|
||||||
GITHUB_URL="https://github.com"
|
GITEA_URL="https://gitea.king.nyc.mn"
|
||||||
API_URL="https://api.github.com"
|
API_URL="https://gitea.king.nyc.mn/api/v1"
|
||||||
|
|
||||||
# 颜色输出
|
# 颜色输出
|
||||||
RED='\033[0;31m'
|
RED='\033[0;31m'
|
||||||
@@ -40,7 +40,7 @@ command -v curl >/dev/null 2>&1 || (apt-get update && apt-get install -y curl ||
|
|||||||
info "正在获取 VPS-Commander 最新版本信息..."
|
info "正在获取 VPS-Commander 最新版本信息..."
|
||||||
LATEST_TAG=$(curl -fsSL --proto '=https' --proto-redir '=https' --retry 3 --connect-timeout 15 --max-time 30 "${API_URL}/repos/${REPO}/releases/latest" | sed -n 's/^[[:space:]]*"tag_name": "\([^"]*\)".*/\1/p' | head -n1)
|
LATEST_TAG=$(curl -fsSL --proto '=https' --proto-redir '=https' --retry 3 --connect-timeout 15 --max-time 30 "${API_URL}/repos/${REPO}/releases/latest" | sed -n 's/^[[:space:]]*"tag_name": "\([^"]*\)".*/\1/p' | head -n1)
|
||||||
if [ -z "$LATEST_TAG" ]; then
|
if [ -z "$LATEST_TAG" ]; then
|
||||||
error "无法从 GitHub 获取最新正式 Release,已停止安装;不会回退到旧版本"
|
error "无法从 Gitea 获取最新正式 Release,已停止安装;不会回退到旧版本"
|
||||||
fi
|
fi
|
||||||
info "检测到最新版本: ${LATEST_TAG} (${TARGET_ARCH})"
|
info "检测到最新版本: ${LATEST_TAG} (${TARGET_ARCH})"
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ download_verified() {
|
|||||||
error "下载结果为空: ${asset_name}"
|
error "下载结果为空: ${asset_name}"
|
||||||
fi
|
fi
|
||||||
if command -v sha256sum >/dev/null 2>&1; then
|
if command -v sha256sum >/dev/null 2>&1; then
|
||||||
checksum=$(curl -fsSL --proto '=https' --proto-redir '=https' --retry 3 --connect-timeout 15 --max-time 60 "${GITHUB_URL}/${REPO}/releases/download/${LATEST_TAG}/checksums.txt") || error "无法获取 Release 校验文件"
|
checksum=$(curl -fsSL --proto '=https' --proto-redir '=https' --retry 3 --connect-timeout 15 --max-time 60 "${GITEA_URL}/${REPO}/releases/download/${LATEST_TAG}/checksums.txt") || error "无法获取 Release 校验文件"
|
||||||
expected=$(printf '%s\n' "$checksum" | awk -v f="$asset_name" '$2 == f {print $1; exit}')
|
expected=$(printf '%s\n' "$checksum" | awk -v f="$asset_name" '$2 == f {print $1; exit}')
|
||||||
[ -n "$expected" ] || error "Release 校验文件中缺少 ${asset_name}"
|
[ -n "$expected" ] || error "Release 校验文件中缺少 ${asset_name}"
|
||||||
actual=$(sha256sum "$tmp" | awk '{print $1}')
|
actual=$(sha256sum "$tmp" | awk '{print $1}')
|
||||||
@@ -100,7 +100,7 @@ select_mode() {
|
|||||||
install_agent() {
|
install_agent() {
|
||||||
info "开始安装 VPS-Commander Agent (${TARGET_ARCH})..."
|
info "开始安装 VPS-Commander Agent (${TARGET_ARCH})..."
|
||||||
BIN_NAME="vps-commander-agent-linux-${TARGET_ARCH}"
|
BIN_NAME="vps-commander-agent-linux-${TARGET_ARCH}"
|
||||||
DOWNLOAD_URL="${GITHUB_URL}/${REPO}/releases/download/${LATEST_TAG}/${BIN_NAME}"
|
DOWNLOAD_URL="${GITEA_URL}/${REPO}/releases/download/${LATEST_TAG}/${BIN_NAME}"
|
||||||
|
|
||||||
download_verified "${DOWNLOAD_URL}" "${INSTALL_DIR}/vps-commander-agent" "${BIN_NAME}"
|
download_verified "${DOWNLOAD_URL}" "${INSTALL_DIR}/vps-commander-agent" "${BIN_NAME}"
|
||||||
chmod +x "${INSTALL_DIR}/vps-commander-agent"
|
chmod +x "${INSTALL_DIR}/vps-commander-agent"
|
||||||
@@ -164,7 +164,7 @@ SVC
|
|||||||
install_hub() {
|
install_hub() {
|
||||||
info "开始安装 VPS-Commander Hub (${TARGET_ARCH})..."
|
info "开始安装 VPS-Commander Hub (${TARGET_ARCH})..."
|
||||||
BIN_NAME="vps-commander-hub-linux-${TARGET_ARCH}"
|
BIN_NAME="vps-commander-hub-linux-${TARGET_ARCH}"
|
||||||
DOWNLOAD_URL="${GITHUB_URL}/${REPO}/releases/download/${LATEST_TAG}/${BIN_NAME}"
|
DOWNLOAD_URL="${GITEA_URL}/${REPO}/releases/download/${LATEST_TAG}/${BIN_NAME}"
|
||||||
|
|
||||||
download_verified "${DOWNLOAD_URL}" "${INSTALL_DIR}/vps-commander-hub" "${BIN_NAME}"
|
download_verified "${DOWNLOAD_URL}" "${INSTALL_DIR}/vps-commander-hub" "${BIN_NAME}"
|
||||||
chmod +x "${INSTALL_DIR}/vps-commander-hub"
|
chmod +x "${INSTALL_DIR}/vps-commander-hub"
|
||||||
|
|||||||
@@ -2,12 +2,12 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# VPS-Commander Agent 一键安全升级脚本
|
# VPS-Commander Agent 一键安全升级脚本
|
||||||
# Repo: https://github.com/kyaring/vps-commander
|
# Repo: https://gitea.king.nyc.mn/openclaw/vps-commander
|
||||||
|
|
||||||
REPO="kyaring/vps-commander"
|
REPO="kyaring/vps-commander"
|
||||||
INSTALL_DIR="/opt/vps-commander"
|
INSTALL_DIR="/opt/vps-commander"
|
||||||
GITHUB_URL="https://github.com"
|
GITEA_URL="https://gitea.king.nyc.mn"
|
||||||
API_URL="https://api.github.com"
|
API_URL="https://gitea.king.nyc.mn/api/v1"
|
||||||
|
|
||||||
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m'
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m'
|
||||||
info() { echo -e "${BLUE}[INFO]${NC} $*"; }
|
info() { echo -e "${BLUE}[INFO]${NC} $*"; }
|
||||||
@@ -31,12 +31,12 @@ info "正在获取最新正式 Release 版本信息..."
|
|||||||
LATEST_TAG=$(curl -fsSL --proto '=https' --proto-redir '=https' --retry 3 --connect-timeout 15 --max-time 30 \
|
LATEST_TAG=$(curl -fsSL --proto '=https' --proto-redir '=https' --retry 3 --connect-timeout 15 --max-time 30 \
|
||||||
"${API_URL}/repos/${REPO}/releases/latest" |
|
"${API_URL}/repos/${REPO}/releases/latest" |
|
||||||
sed -n 's/^[[:space:]]*"tag_name": "\\([^"]*\\)".*/\\1/p' | head -n1)
|
sed -n 's/^[[:space:]]*"tag_name": "\\([^"]*\\)".*/\\1/p' | head -n1)
|
||||||
[ -n "$LATEST_TAG" ] || error "无法从 GitHub 获取最新正式 Release,已停止升级;不会回退到旧版本"
|
[ -n "$LATEST_TAG" ] || error "无法从 Gitea 获取最新正式 Release,已停止升级;不会回退到旧版本"
|
||||||
info "目标升级版本: ${LATEST_TAG} (${TARGET_ARCH})"
|
info "目标升级版本: ${LATEST_TAG} (${TARGET_ARCH})"
|
||||||
|
|
||||||
BIN_NAME="vps-commander-agent-linux-${TARGET_ARCH}"
|
BIN_NAME="vps-commander-agent-linux-${TARGET_ARCH}"
|
||||||
DOWNLOAD_URL="${GITHUB_URL}/${REPO}/releases/download/${LATEST_TAG}/${BIN_NAME}"
|
DOWNLOAD_URL="${GITEA_URL}/${REPO}/releases/download/${LATEST_TAG}/${BIN_NAME}"
|
||||||
CHECKSUM_URL="${GITHUB_URL}/${REPO}/releases/download/${LATEST_TAG}/checksums.txt"
|
CHECKSUM_URL="${GITEA_URL}/${REPO}/releases/download/${LATEST_TAG}/checksums.txt"
|
||||||
TMP_BIN=$(mktemp "${INSTALL_DIR}/vps-commander-agent.tmp.XXXXXX") || error "无法创建临时文件"
|
TMP_BIN=$(mktemp "${INSTALL_DIR}/vps-commander-agent.tmp.XXXXXX") || error "无法创建临时文件"
|
||||||
TMP_SUM=$(mktemp "${INSTALL_DIR}/vps-commander-checksums.tmp.XXXXXX") || { rm -f "$TMP_BIN"; error "无法创建校验文件"; }
|
TMP_SUM=$(mktemp "${INSTALL_DIR}/vps-commander-checksums.tmp.XXXXXX") || { rm -f "$TMP_BIN"; error "无法创建校验文件"; }
|
||||||
BAK_BIN="${INSTALL_DIR}/vps-commander-agent.bak"
|
BAK_BIN="${INSTALL_DIR}/vps-commander-agent.bak"
|
||||||
|
|||||||
Reference in New Issue
Block a user