#!/usr/bin/env bash set -Eeuo pipefail REPO_URL=${PLUGIN_REPO_URL:-https://git.awaioi.com/awaioi/sub2api-add.git} SOURCE_DIR=${PLUGIN_SOURCE_DIR:-/opt/sub2api-add} REF=${PLUGIN_REF:-main} die() { printf '错误:%s\n' "$*" >&2; exit 1; } [[ $EUID -eq 0 ]] || die "请使用 root 或 sudo 运行" command -v git >/dev/null 2>&1 || die "缺少 git" if [[ -e "$SOURCE_DIR" && ! -d "$SOURCE_DIR/.git" ]]; then die "$SOURCE_DIR 已存在但不是本插件仓库;请设置 PLUGIN_SOURCE_DIR" fi if [[ -d "$SOURCE_DIR/.git" ]]; then if [[ -n "$(git -C "$SOURCE_DIR" status --porcelain)" ]]; then die "$SOURCE_DIR 有未提交修改,先清理后再升级" fi git -C "$SOURCE_DIR" fetch --depth 1 origin "$REF" git -C "$SOURCE_DIR" checkout --force FETCH_HEAD else git clone --depth 1 --branch "$REF" "$REPO_URL" "$SOURCE_DIR" fi exec "$SOURCE_DIR/scripts/install-local.sh" "$@"