#!/bin/bash

# 脚本功能：自动检测架构与系统，下载、解压并启动 IPES 服务
# 适配：AMD64(CentOS) / ARM64(Ubuntu)

# 1. 定义变量
BASE_DIR="/opt"
TARGET_DIR="${BASE_DIR}/ipes"
ZIP_FILE=""
DOWNLOAD_URL=""

# 2. 检测处理器架构
echo "正在检测系统架构..."
ARCH=$(uname -m)

case $ARCH in
    x86_64)
        echo "检测到架构为 AMD64 (x86_64)。"
        DOWNLOAD_URL="https://dl.cqshihua.cn/ot/ipes/ipes-amd64.zip"
        ZIP_FILE="ipes-amd64.zip"
        ;;
    aarch64)
        echo "检测到架构为 ARM64 (aarch64)。"
        DOWNLOAD_URL="https://dl.cqshihua.cn/ot/ipes/ipes-arm64.zip"
        ZIP_FILE="ipes-arm64.zip"
        ;;
    *)
        echo "错误：不支持的处理器架构 '$ARCH'。本脚本仅支持 AMD64 和 ARM64。"
        exit 1
        ;;
esac

# 3. 检测操作系统并安装依赖
#echo "正在检测操作系统并安装必要工具..."
#if [ -f /etc/redhat-release ]; then
    # CentOS / RHEL 系统
#    echo "检测到 CentOS/RHEL 系统，使用 yum 安装依赖..."
#    yum install -y wget unzip
#elif [ -f /etc/lsb-release ] || [ -f /etc/os-release ]; then
    # Ubuntu / Debian 系统
#    echo "检测到 Ubuntu/Debian 系统，使用 apt 安装依赖..."
#    apt update
#    apt install -y wget unzip
#else
#    echo "警告：无法识别操作系统类型，请确保已安装 wget 和 unzip。"
#fi

# 4. 下载文件
echo "正在从 $DOWNLOAD_URL 下载..."
wget -P /tmp "$DOWNLOAD_URL"
if [ $? -ne 0 ]; then
    echo "下载失败，请检查网络或下载链接。"
    exit 1
fi
echo "下载完成。"

# 5. 解压文件
echo "正在解压文件到 ${BASE_DIR}..."
rm -rf "$TARGET_DIR"
unzip -q "/tmp/$ZIP_FILE" -d "$BASE_DIR"
if [ $? -ne 0 ]; then
    echo "解压失败。"
    exit 1
fi
rm -f "/tmp/$ZIP_FILE"
echo "解压完成。"

# 6. 设置权限
echo "正在设置 /opt/ipes 目录权限为 755..."
chmod -R 755 "$TARGET_DIR"

# 7. 启动服务
echo "正在启动 IPES 服务..."
cd "${TARGET_DIR}/bin" && ./ipes start

if [ $? -eq 0 ]; then
    echo "IPES 服务启动命令已执行。"
else
    echo "执行启动命令时出错。"
    exit 1
fi

echo "所有操作已完成。"