#!/usr/bin/env bash # 在 AWS (Amazon Linux) Docker 容器中执行 # 一键构建 edge-node、edge-dns、edge-httpdns 的 amzn2023 版本 set -e ROOT=$(cd "$(dirname "$0")/.." && pwd) # 从 const.go 提取版本号 lookup_version() { local file=$1 local re='Version[ ]+=[ ]+"([0-9.]+)"' local data=$(cat "$file") if [[ $data =~ $re ]]; then echo "${BASH_REMATCH[1]}" else echo "error: cannot extract version from $file" >&2 exit 1 fi } echo "===============================" echo " Building amzn2023 packages" echo "===============================" # --- edge-node --- echo "" echo "[1/3] Building edge-node ..." cd "$ROOT/EdgeNode/build" ./build.sh linux amd64 plus NODE_VER=$(lookup_version "$ROOT/EdgeNode/internal/const/const.go") SRC="$ROOT/EdgeNode/dist/edge-node-linux-amd64-v${NODE_VER}.zip" DST="$ROOT/EdgeNode/dist/edge-node-linux-amd64-amzn2023-v${NODE_VER}.zip" cp "$SRC" "$DST" echo " → $DST" # --- edge-dns --- echo "" echo "[2/3] Building edge-dns ..." cd "$ROOT/EdgeDNS/build" ./build.sh linux amd64 DNS_VER=$(lookup_version "$ROOT/EdgeDNS/internal/const/const.go") SRC="$ROOT/EdgeDNS/dist/edge-dns-linux-amd64-v${DNS_VER}.zip" DST="$ROOT/EdgeDNS/dist/edge-dns-linux-amd64-amzn2023-v${DNS_VER}.zip" cp "$SRC" "$DST" echo " → $DST" # --- edge-httpdns --- echo "" echo "[3/3] Building edge-httpdns ..." cd "$ROOT/EdgeHttpDNS/build" ./build.sh linux amd64 HTTPDNS_VER=$(lookup_version "$ROOT/EdgeHttpDNS/internal/const/const.go") SRC="$ROOT/EdgeHttpDNS/dist/edge-httpdns-linux-amd64-v${HTTPDNS_VER}.zip" DST="$ROOT/EdgeHttpDNS/dist/edge-httpdns-linux-amd64-amzn2023-v${HTTPDNS_VER}.zip" cp "$SRC" "$DST" echo " → $DST" echo "" echo "===============================" echo " All amzn2023 packages built!" echo "==============================="