#!/bin/bash

# Oraset Linux 一键安装脚本 (DEB)
# 版本: 4.0.1-BetaN(+AU)

set -e

# 版本检查 URL
VERSION_URL="https://oraset.parlz.com/download/version.txt"
DEB_URL_BASE="https://oraset.parlz.com/download/deb"

echo "🚀 开始安装 Oraset..."

# 检查系统架构
ARCH=$(uname -m)
if [ "$ARCH" != "x86_64" ]; then
    echo "❌ 错误: 此安装脚本仅支持 x86_64 架构"
    exit 1
fi

# 检查是否有管理员权限
if [ "$EUID" -ne 0 ]; then
    echo "⚠️  需要管理员权限来安装 Oraset"
    echo "请使用 sudo 运行此脚本，或者输入密码："
    sudo -v
fi

# 检查网络连接
check_network() {
    if ! curl -s --head --fail "$VERSION_URL" > /dev/null 2>&1; then
        return 1
    fi
    return 0
}

# 获取最新版本号
get_latest_version() {
    if command -v curl &> /dev/null; then
        LATEST_VERSION=$(curl -s "$VERSION_URL")
    elif command -v wget &> /dev/null; then
        LATEST_VERSION=$(wget -q -O- "$VERSION_URL")
    else
        echo "❌ 错误: 需要 curl 或 wget"
        exit 1
    fi
    echo "$LATEST_VERSION"
}

echo "🔍 正在检查最新版本..."
if check_network; then
    LATEST_VERSION=$(get_latest_version)
    if [ -z "$LATEST_VERSION" ]; then
        echo "⚠️  无法获取最新版本信息，使用默认版本"
        LATEST_VERSION="4.0.1-BetaN(+AU)"
    else
        echo "✅ 检测到最新版本: $LATEST_VERSION"
    fi
else
    echo "⚠️  网络不可用，使用默认版本"
    LATEST_VERSION="4.0.1-BetaN(+AU)"
fi

# 创建临时目录
TEMP_DIR=$(mktemp -d)
echo "📁 创建临时目录: $TEMP_DIR"

# 下载 DEB 包
DEB_FILE="Oraset-Re+$LATEST_VERSION.deb"
DEB_URL="$DEB_URL_BASE/$DEB_FILE"
DEB_PATH="$TEMP_DIR/$DEB_FILE"

echo "📥 正在下载 Oraset $LATEST_VERSION..."
if command -v curl &> /dev/null; then
    curl -L -o "$DEB_PATH" "$DEB_URL"
elif command -v wget &> /dev/null; then
    wget -O "$DEB_PATH" "$DEB_URL"
else
    echo "❌ 错误: 需要 curl 或 wget 来下载文件"
    rm -rf "$TEMP_DIR"
    exit 1
fi

# 检查下载是否成功
if [ ! -f "$DEB_PATH" ]; then
    echo "❌ 错误: 下载失败"
    rm -rf "$TEMP_DIR"
    exit 1
fi

echo "✅ 下载完成"

# 安装 DEB 包
echo "🔧 正在安装 Oraset..."
sudo dpkg -i "$DEB_PATH"

# 检查依赖是否完整
echo "🔍 检查依赖..."
sudo apt-get install -f -y

# 清理临时文件
rm -rf "$TEMP_DIR"
echo "🧹 清理临时文件"

echo "✅ Oraset 安装完成！"
echo "运行 'oraset -v' 验证安装"
