#!/usr/bin/env bash
set -euo pipefail

# 一键更新本地 acme.sh。
# 使用 jsDelivr CDN 获取 acmesh-official/acme.sh 的 master 最新版本，
# 不执行 GitHub clone，也不依赖 GitHub 下载地址；脚本保存到 API/acme/。

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
API_ROOT="$(realpath "$SCRIPT_DIR/..")"
ACME_DIR="$API_ROOT/acme"
ACME_FILE="$ACME_DIR/acme.sh"
SOURCE_URL="https://cdn.jsdelivr.net/gh/acmesh-official/acme.sh@master/acme.sh"
mkdir -p "$ACME_DIR"
TEMP_FILE="$(mktemp "$ACME_DIR/acme.sh.XXXXXX")"
trap 'rm -f "$TEMP_FILE"' EXIT

command -v curl >/dev/null 2>&1 || { echo "缺少 curl，请先安装 curl。" >&2; exit 1; }
echo "正在从非 GitHub CDN 下载 acme.sh 最新版本..."
curl -fsSL --retry 3 --connect-timeout 15 "$SOURCE_URL" -o "$TEMP_FILE"
grep -q '^VER=' "$TEMP_FILE" || { echo "下载内容不是有效的 acme.sh 文件。" >&2; exit 1; }
chmod 755 "$TEMP_FILE"
mv -f "$TEMP_FILE" "$ACME_FILE"
echo "acme.sh 已更新到：$ACME_FILE"
grep '^VER=' "$ACME_FILE" | head -n 1
