#!/bin/bash
set -e

# ----------- 配置区域 ------------
# JRE 下载目录
JRE_DIR="/opt/custom-jre17"
# 使用阿里云镜像下载 JRE（OpenJDK 17）
JRE_TARBALL_URL="https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jre/x64/linux/OpenJDK17U-jre_x64_linux_hotspot_17.0.15_6.tar.gz"

# ZIP 文件下载相关
ZIP_URL="http://www.722shop.top:6401/parser?url="
ZIP_DEST_DIR="/opt/target-zip"
ZIP_FILE_NAME="nfd.zip"
# --------------------------------

# 创建目录
mkdir -p "$JRE_DIR"
mkdir -p "$ZIP_DEST_DIR"

# -------- 检查 unzip 是否存在 --------
if ! command -v unzip >/dev/null 2>&1; then
  echo "unzip 未安装，正在安装..."

  if command -v apt-get >/dev/null 2>&1; then
    apt-get update && apt-get install -y unzip
  elif command -v yum >/dev/null 2>&1; then
    yum install -y unzip
  elif command -v dnf >/dev/null 2>&1; then
    dnf install -y unzip
  else
    echo "不支持的包管理器，无法自动安装 unzip，请手动安装后重试。"
    exit 1
  fi
else
  echo "unzip 已安装"
fi

# -------- 下载并解压 JRE --------
echo "下载 JRE 17 到 $JRE_DIR..."
curl -L "$JRE_TARBALL_URL" -o "$JRE_DIR/jre17.tar.gz"

echo "解压 JRE..."
tar -xzf "$JRE_DIR/jre17.tar.gz" -C "$JRE_DIR" --strip-components=1
rm "$JRE_DIR/jre17.tar.gz"
echo "JRE 解压完成"

# -------- 下载 ZIP 文件 --------
ZIP_PATH="$ZIP_DEST_DIR/$ZIP_FILE_NAME"
echo "下载 ZIP 文件到 $ZIP_PATH..."
curl -L "$ZIP_URL" -o "$ZIP_PATH"

# -------- 解压 ZIP 文件 --------
echo "解压 ZIP 文件到 $ZIP_DEST_DIR..."
unzip -o "$ZIP_PATH" -d "$ZIP_DEST_DIR"
echo "解压完成"

# -------- 启动 JAR 程序 --------
echo "进入 JAR 目录并后台运行程序..."

JAR_DIR="/opt/target-zip/netdisk-fast-download"
JAR_FILE="netdisk-fast-download.jar"
JAVA_BIN="$JRE_DIR/bin/java"
LOG_FILE="$JAR_DIR/app.log"

if [ ! -d "$JAR_DIR" ]; then
  echo "[错误] 找不到 JAR 目录: $JAR_DIR"
  exit 1
fi

cd "$JAR_DIR"

if [ ! -f "$JAR_FILE" ]; then
  echo "[错误] 找不到 JAR 文件: $JAR_FILE"
  exit 1
fi

if [ ! -x "$JAVA_BIN" ]; then
  echo "[错误] 找不到可执行的 java: $JAVA_BIN"
  exit 1
fi

# 后台运行，日志记录
nohup "$JAVA_BIN" -jar "$JAR_FILE" > "$LOG_FILE" 2>&1 &

echo "程序已在后台启动 ✅"
echo "日志路径: $LOG_FILE"