#!/bin/bash

# 颜色标记
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'

echo -e "${BLUE}================ Aria2 交互式后台下载工具 ================${NC}"
echo ""

# 第一步输入文件名
read -p "① 请输入保存文件名（带后缀，例 ubuntu.iso）：" filename
if [[ -z "$filename" ]]; then
    echo -e "${RED}错误：文件名不能为空！${NC}"
    exit 1
fi

# 第二步输入下载链接
read -p "② 请输入下载URL/磁力链接：" url
if [[ -z "$url" ]]; then
    echo -e "${RED}错误：下载链接不能为空！${NC}"
    exit 1
fi

# 下载目录
SAVE_DIR="$HOME/Downloads"
# 不存在则创建
mkdir -p "$SAVE_DIR"
LOG_FILE="$HOME/aria2_download.log"

echo ""
echo -e "${GREEN}===== 下载配置信息 =====${NC}"
echo "保存目录：$SAVE_DIR"
echo "文件名称：$filename"
echo "完整路径：${SAVE_DIR}/${filename}"
echo "下载链接：$url"
echo "日志文件：$LOG_FILE"
echo ""
echo -e "${BLUE}任务后台运行，关闭终端不中断下载${NC}"
echo "实时查看进度命令：tail -f $LOG_FILE"
echo ""

# 关键修复：-d 指定目录，-o 仅文件名，不会路径重复
nohup aria2c -c -s 16 -x 16 -d "$SAVE_DIR" -o "$filename" "$url" > "$LOG_FILE" 2>&1 &
PID=$!

echo -e "${GREEN}后台下载已启动，进程PID：$PID${NC}"
echo "停止当前任务：kill $PID"
echo -e "${BLUE}=========================================================${NC}"
