fix(deploy): 修两处安装器 bug——下载地址多了一段 /releases、菜单选 4(只体检)不生效

Ubuntu 24.04 实机跑出来的两个问题(用户贴的输出各暴露一个):

1. **下载地址变成 .../releases/releases/download/...**(必然 404):GITHUB_RELEASES_PAGE 本身
   已经以 /releases 结尾,拼接时又写了一遍。install.sh 与 classhelper 各有一份,都改用新增的
   GITHUB_REPO_URL(不含 /releases);GITHUB_RELEASES_PAGE 只留给"发布页"这类展示用途。
2. **菜单里选 4)只体检,却直接开始安装**:CHECK_ONLY 的分流写在菜单**之前**,菜单里再把它置 1
   已经没人看。现在把 root 检查与 tee 都挪到菜单之后,菜单选 4 与 --check 走同一条路
   —— 顺带让非 root 用户也能看到菜单并选 4,不必非得记住 --check。
This commit is contained in:
LoveChengke committed 2026-10-05 19:52:57 +08:00
1 parent 2be8d30376
commit 5d2fa2d6b4
2 files changed
+25 -9

No files matched your search

+5 -2
View File
@@ -30,7 +30,8 @@ DEFAULT_LOG_DIR="/var/log/classhelper"
DEFAULT_BACKUP_DIR="/var/backups/classhelper"
REPO_SLUG="LoveChengke/ClassHelper"
GITHUB_API="https://api.github.com/repos/${REPO_SLUG}"
GITHUB_RELEASES_PAGE="https://github.com/${REPO_SLUG}/releases"
GITHUB_REPO_URL="https://github.com/${REPO_SLUG}"
GITHUB_RELEASES_PAGE="${GITHUB_REPO_URL}/releases"
# GitHub 对没有 User-Agent 的请求直接 403
HTTP_UA="ClassHelper-Ops"
CURL_OPTS=(-fsSL --max-time 20 -H "User-Agent: ${HTTP_UA}")
@@ -1115,8 +1116,10 @@ resolve_download() { # $1=版本(可空) $2=url(可空);输出下载地址
if [ -n "$want" ]; then tag="v${want#v}"; else tag="$(github_latest_tag)" || true; fi
[ -n "$tag" ] || return 1
ver="${tag#v}"
# 用 GITHUB_REPO_URL(不含 /releases)拼接:GITHUB_RELEASES_PAGE 已以 /releases 结尾,
# 拼错就成了 .../releases/releases/download/... 必然 404(install.sh 里踩过同一个坑)。
printf '%s/releases/download/%s/classhelper-server-linux-%s-%s.tar.gz' \
"$GITHUB_RELEASES_PAGE" "$tag" "$(asset_arch)" "$ver"
"$GITHUB_REPO_URL" "$tag" "$(asset_arch)" "$ver"
}
download_to() { # $1=url $2=目标文件