From ed66d2d79ff8f0de4e4eac9ee7716232be3746d2 Mon Sep 17 00:00:00 2001 From: HenryDu8133 <813367384@qq.com> Date: Sun, 6 Sep 2026 09:01:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=BC=E5=AE=B9=E4=B8=AD=E6=96=87=20G?= =?UTF-8?q?itea=201.27=20=E7=9A=84=E7=BA=AF=E5=AD=97=E6=AF=8D=E6=95=B0?= =?UTF-8?q?=E5=AD=97=20Registration=20Token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/setup-runner.sh | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/scripts/setup-runner.sh b/scripts/setup-runner.sh index 2599738..2929fee 100644 --- a/scripts/setup-runner.sh +++ b/scripts/setup-runner.sh @@ -105,19 +105,31 @@ esac ok "检测到架构:${ARCH} → 下载版本:${PLATFORM}" # ---------- 0.5 给新版 Gitea 用户的 Token 格式提示 ---------- +# 不同版本 / 语言包的 Token 前缀不一样,兼容 4 种真实存在的格式: +# • 英文 1.21+ 仓库级 RGTxxxx / 组织级 RGOxxxx / 全局 RGxxxx +# • 中文语言包 / 某些二次分发版本:纯字母数字 20~64 位(如 LHLDAwsho7vVSukoEeKhft) +TOKEN_LEN="${#REG_TOKEN}" +ok "Token 长度 = ${TOKEN_LEN} 位" case "${REG_TOKEN}" in - RG*) ok "Token 前缀 RG:全局/站点级 Runner Token ✅" ;; - RGO*) ok "Token 前缀 RGO:组织级 Runner Token ✅" ;; - RGT*) ok "Token 前缀 RGT:仓库级 Runner Token ✅(最常用)" ;; - R[0-9A-Za-z]*) - warn "Token 不是标准 RG/RGO/RGT 前缀。新版本 Gitea 里 Registration token 应该是 Rxx 开头。" - warn " 如果你是从旧文档里拿的 GFxxxxx(旧版),在 1.27 里已经不再用这种格式了!" - warn " → 请回到仓库/组织/站点的 Actions → Runners 页面,点击 「创建 Runner」或「Registration Token」" + # 英文原版前缀 + RG*) info "• Token 前缀 RG:全局/站点级(英文原版)✅" ;; + RGO*) info "• Token 前缀 RGO:组织级(英文原版)✅" ;; + RGT*) info "• Token 前缀 RGT:仓库级(英文原版)✅" ;; + # 纯字母数字(中文 UI / 二开版本常见) + [A-Za-z0-9]\{16,128\}) + ok "• 纯字母数字 Token(中文 UI / 某些二开版本常见)✅,和截图里的「注册令牌」一致" ;; + # 其他 *) - warn "Token 前缀不匹配任何已知格式:$REG_TOKEN。请核对复制的内容是否少选。" + warn "• Token 看起来不是 Gitea 常见格式。不过也可能是新版改动,继续尝试注册..." + warn " 如果注册报 401/403,建议回到页面点一次「重置注册令牌」重新复制。" ;; esac +# 基本字符集校验(防止复制时粘了空格或换行) +if [[ ! "${REG_TOKEN}" =~ ^[A-Za-z0-9]+$ ]]; then + warn "⚠️ Token 里含有非字母数字的字符,很可能是复制时多带了空格/换行/标点!" + warn " 建议回到仓库页面点 📋 复制按钮(不要手选文字)。" +fi # ---------- 1. 安装依赖:docker(Runner 要用 Docker-in-Docker 执行 buildx 等)---------- if ! command -v docker >/dev/null 2>&1; then