#!/bin/sh set -eu REPO_API_URL="https://api.github.com/repos/caidaoli/CLIProxyAPI/releases/latest" EXTRACT_DIR="/tmp/cliproxyapi" asset_url="$({ curl -fsSL "$REPO_API_URL" \ | grep -Eo '"browser_download_url"[[:space:]]*:[[:space:]]*"[^"]*"' \ | cut -d '"' -f 4 \ | grep -E '/[^/]*linux[-_]amd64(\.tar\.gz)?$' \ | head -n 1 } || true)" if [ -z "${asset_url}" ]; then echo "错误: 未找到 linux amd64 发布包 URL" >&2 exit 1 fi echo "下载: ${asset_url}" download_path="/tmp/$(basename "$asset_url")" echo "保存到: ${download_path}" curl -fsSL "$asset_url" -o "$download_path" case "$download_path" in *.tar.gz) rm -rf "$EXTRACT_DIR" mkdir -p "$EXTRACT_DIR" tar -xzf "$download_path" -C "$EXTRACT_DIR" binary_path="$({ find "$EXTRACT_DIR" -maxdepth 2 -type f \( -name 'cli-proxy-api' -o -name 'CLIProxyAPI' \) | head -n 1 } || true)" ;; *) binary_path="$download_path" ;; esac if [ -z "${binary_path}" ]; then echo "错误: 未找到 cli-proxy-api 可执行文件" >&2 exit 1 fi chmod +x "$binary_path" echo "启动: ${binary_path} $*" exec "$binary_path" "$@"