#!/usr/bin/env bash
set -Eeuo pipefail
[[ $(id -u) == 0 ]] || { echo '请用 root 或 sudo bash 执行'; exit 1; }
command -v apt-get >/dev/null || { echo '仅支持 Debian/Ubuntu，推荐 Debian 13'; exit 1; }
action=${1:-install}
[[ $# -le 1 && ( "$action" == install || "$action" == --upgrade ) ]] || { echo '用法：bash install.sh [--upgrade]'; exit 1; }
if [[ "$action" == --upgrade ]]; then
    command -v curl >/dev/null || { echo '缺少 curl，请先安装 curl ca-certificates'; exit 1; }
else
    apt-get update
    apt-get install -y curl ca-certificates
fi
stage=$(mktemp -d)
trap 'rm -rf "$stage"' EXIT
base=https://node.xboardnext.com/trojan-socks/releases/v1.1.1
echo '[STEP] 下载 Trojan SOCKS 网页后台 v1.1.1'
curl -fL --connect-timeout 15 --max-time 120 --retry 2 --retry-all-errors "$base/trojan-socks.tar.gz" -o "$stage/trojan-socks.tar.gz"
curl -fL --connect-timeout 15 --max-time 30 --retry 2 --retry-all-errors "$base/SHA256SUMS" -o "$stage/SHA256SUMS"
(cd "$stage" && sha256sum -c SHA256SUMS)
tar -xzf "$stage/trojan-socks.tar.gz" -C "$stage"
if [[ "$action" == --upgrade ]]; then
    bash "$stage/trojan-socks/upgrade.sh"
else
    bash "$stage/trojan-socks/install-web.sh"
fi
