#!/bin/bash
# 一键安装 tcping (Linux)
# 自动判断网络环境，选择 GitHub 最新版 或 国内镜像站
# 作者: ChatGPT

set -e

OS=$(uname -s)
ARCH=$(uname -m)

# 判断系统
if [[ "$OS" != "Linux" ]]; then
    echo "本脚本仅支持 Linux"
    exit 1
fi

echo "检测到 Linux 系统, 架构: $ARCH"

# 架构对应文件
case $ARCH in
    x86_64|i*86)
        FILE_NAME="linux-x86-tcping"
        ;;
    aarch64)
        FILE_NAME="linux-arm64-tcping"
        ;;
    *)
        echo "暂不支持的架构: $ARCH"
        exit 1
        ;;
esac

# 判断是否能访问 GitHub API
if curl -s --max-time 3 https://api.github.com > /dev/null; then
    echo "✅ 可以访问 GitHub，获取最新版本..."

    # 获取 GitHub 最新 release tag
    LATEST_TAG=$(curl -s https://api.github.com/repos/Tcp-Ping/Tcping/releases/latest | grep tag_name | cut -d '"' -f4)
    if [[ -z "$LATEST_TAG" ]]; then
        echo "❌ 无法获取 GitHub 最新版本，切换到国内源..."
        USE_CN=true
    else
        URL="https://github.com/Tcp-Ping/Tcping/releases/download/${LATEST_TAG}/${FILE_NAME}"
        USE_CN=false
    fi
else
    echo "⚠️ 无法访问 GitHub，使用国内下载站..."
    USE_CN=true
fi

# 国内源
if [[ "$USE_CN" == true ]]; then
    URL="https://img.digac.icu/Files/Linux/tcping/${FILE_NAME}"
fi

echo "开始下载: $URL"
curl -L -o tcping "$URL"

echo "安装到 /usr/local/bin/tcping"
chmod +x tcping
mv tcping /usr/local/bin/

echo "✅ 安装完成！现在可以直接运行: tcping"
