feat: 脚本

这个提交包含在:
HA
2026-04-27 11:04:36 +08:00
父节点 76b70e6711
当前提交 987b355b77
共有 2 个文件被更改,包括 14 次插入20 次删除

查看文件

@@ -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}"