From 987b355b7755e4b895f5f37576db0411401cb986 Mon Sep 17 00:00:00 2001 From: HA Date: Mon, 27 Apr 2026 11:04:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- realm/README.md | 5 +++-- realm/realm.sh | 29 +++++++++++------------------ 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/realm/README.md b/realm/README.md index 9a7dd9c..e2f6ff5 100644 --- a/realm/README.md +++ b/realm/README.md @@ -64,13 +64,14 @@ bash <(curl -fsSL https://git.suhang.me/suhang/scripts/raw/branch/release/realm/ ## GitHub 代理 -安装时会提示输入 GitHub 代理域名(**默认直连,不使用代理**;如需走代理推荐填 `ghfast.top`,输入 `none` 也表示直连)。脚本会把代理拼接到 GitHub API 与 release 下载地址前,例如: +安装时会提示输入 GitHub 代理域名(**默认直连,不使用代理**;如需走代理推荐填 `ghfast.top`)。代理只作用于 release 二进制下载地址,例如: ``` https://ghfast.top/https://github.com/zhboner/realm/releases/download/... -https://ghfast.top/https://api.github.com/repos/zhboner/realm/releases/latest ``` +> `api.github.com`(用于查询最新版本号)不会走代理 —— 该接口大多数 GitHub 反代都无法转发。如果你的网络无法直连 `api.github.com`,需自行解决(例如通过 hosts 或本机代理)。 + 选择会保存到 `/.proxy`,更新内核(菜单 `10`)时会沿用。如需更换代理,可直接编辑该文件后再执行更新。 ## 调试 diff --git a/realm/realm.sh b/realm/realm.sh index c80c35f..5b62d71 100644 --- a/realm/realm.sh +++ b/realm/realm.sh @@ -14,7 +14,6 @@ REALM_LOG="" REALM_SERVICE="/etc/systemd/system/realm.service" SCRIPT_RAW_URL="https://git.suhang.me/suhang/scripts/raw/branch/release/realm/realm.sh" GITHUB_API="https://api.github.com/repos/zhboner/realm/releases/latest" -DEFAULT_PROXY="" GITHUB_PROXY="" DEBUG=false @@ -64,19 +63,15 @@ function load_proxy() { function prompt_proxy() { local p - local hint="默认不使用代理" - [[ -n "$DEFAULT_PROXY" ]] && hint="默认 ${DEFAULT_PROXY}" echo -e "${CYAN}提示${NC}: 当前可用的 GitHub 代理推荐 ${YELLOW}ghfast.top${NC}" - read -p "请输入 GitHub 代理域名(${hint},输入 none 强制不使用代理): " p - p="${p:-$DEFAULT_PROXY}" - if [[ -z "$p" || "$p" == "none" || "$p" == "NONE" ]]; then - GITHUB_PROXY="" + read -p "请输入 GitHub 代理域名(直接回车不使用代理): " p + p="${p#http://}" + p="${p#https://}" + p="${p%/}" + GITHUB_PROXY="$p" + if [[ -z "$GITHUB_PROXY" ]]; then echo "GitHub proxy: disabled" else - p="${p#http://}" - p="${p#https://}" - p="${p%/}" - GITHUB_PROXY="$p" echo "GitHub proxy: ${GITHUB_PROXY}" fi mkdir -p "$INSTALL_DIR" @@ -135,17 +130,15 @@ function detect_arch() { } function get_latest_version() { - local api_url v - api_url=$(gh_url "$GITHUB_API") - dbg "get_latest_version: GET ${api_url}" - local stderr_redirect="2>/dev/null" + local v + dbg "get_latest_version: GET ${GITHUB_API} (direct, api.github.com 不走代理)" if [[ "$DEBUG" == "true" ]]; then - v=$(curl -fSL "$api_url" | grep -oE '"tag_name":\s*"[^"]+"' | head -n1 | sed -E 's/.*"([^"]+)"$/\1/') + v=$(curl -fSL "$GITHUB_API" | grep -oE '"tag_name":\s*"[^"]+"' | head -n1 | sed -E 's/.*"([^"]+)"$/\1/') else - v=$(curl -fsSL "$api_url" 2>/dev/null | grep -oE '"tag_name":\s*"[^"]+"' | head -n1 | sed -E 's/.*"([^"]+)"$/\1/') + v=$(curl -fsSL "$GITHUB_API" 2>/dev/null | grep -oE '"tag_name":\s*"[^"]+"' | head -n1 | sed -E 's/.*"([^"]+)"$/\1/') fi if [[ -z "$v" ]]; then - echo -e "${RED}Failed to fetch latest realm version from GitHub (proxy: ${GITHUB_PROXY:-none}).${NC}" >&2 + echo -e "${RED}Failed to fetch latest realm version from api.github.com (该接口不走代理,请检查直连)。${NC}" >&2 return 1 fi dbg "get_latest_version: ${v}"