【教程】Aria2-Pro 安装


一键安装脚本

#!/bin/bash

echo "=== 开始配置 Aria2 Pro ==="

# 检查本地配置
if [ -d "aria2-config" ] || [ -d "aria2-downloads" ]; then
    echo "警告:检测到本地已存在配置目录"
    read -p "是否清除现有配置并重新初始化?(y/N) " answer
    if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
        echo "清理现有配置..."
        rm -rf aria2-config aria2-downloads
        echo "现有配置已清理"
    else
        echo "保留现有配置,退出脚本"
        exit 0
    fi
fi

# 检查 docker-compose.yml
if [ -f "docker-compose.yml" ]; then
    echo "发现现有的 docker-compose.yml"
    read -p "是否覆盖现有的 docker-compose.yml?(y/N) " answer
    if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
        echo "保留现有 docker-compose.yml,退出脚本"
        exit 0
    fi
fi

# 获取当前用户的 UID 和 GID
CURRENT_UID=$(id -u)
CURRENT_GID=$(id -g)

# 设置端口号
read -p "请输入 RPC 端口 (默认: 6800): " RPC_PORT
RPC_PORT=${RPC_PORT:-6800}

read -p "请输入 BT 端口 (默认: 6888): " BT_PORT
BT_PORT=${BT_PORT:-6888}

# 生成随机 RPC 密钥
RPC_SECRET=$(openssl rand -base64 24)

echo -e "\n1. 创建必要的目录..."
mkdir -p aria2-config
mkdir -p aria2-downloads
echo "目录创建完成"

echo -e "\n2. 创建 docker-compose.yml..."
cat > docker-compose.yml <<EOL
version: "3.8"

services:
  aria2-pro:
    container_name: aria2-pro
    image: p3terx/aria2-pro:latest
    restart: always
    ports:
      - "${BT_PORT}:${BT_PORT}"
      - "${BT_PORT}:${BT_PORT}/udp"
      - "${RPC_PORT}:${RPC_PORT}"
    environment:
      - PUID=${CURRENT_UID}
      - PGID=${CURRENT_GID}
      - RPC_SECRET=${RPC_SECRET}
      - RPC_PORT=${RPC_PORT}
      - SPECIAL_MODE=move
      - DISK_CACHE=256M
    volumes:
      - ./aria2-config:/config
      - ./aria2-downloads:/downloads
    network_mode: "bridge"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
EOL
echo "docker-compose.yml 创建完成"

echo -e "\n=== 配置完成! ==="
echo "配置信息:"
echo "- RPC 端口: ${RPC_PORT}"
echo "- BT 端口: ${BT_PORT}"
echo "- RPC 密钥: ${RPC_SECRET}"
echo "- 配置目录: ./aria2-config"
echo "- 下载目录: ./aria2-downloads"

echo -e "\n你可以:"
echo "1. 编辑 docker-compose.yml 修改更多设置"
echo "2. 使用 'docker compose up -d' 启动服务"

# 询问是否立即启动服务
read -p "是否立即启动服务?(y/N) " answer
if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
    echo "启动 Aria2 Pro..."
    docker compose up -d
    echo -e "\n服务已启动!"
    echo "RPC 地址: ws://localhost:${RPC_PORT}/jsonrpc"
    echo "请保存好你的 RPC 密钥,它用于连接 Aria2:"
    echo "${RPC_SECRET}"
fi

# 创建配置信息备份文件
echo "\n创建配置信息备份文件..."
cat > aria2-info.txt <<EOL
Aria2 Pro 配置信息
==================
RPC 端口: ${RPC_PORT}
BT 端口: ${BT_PORT}
RPC 密钥: ${RPC_SECRET}
RPC 地址: ws://localhost:${RPC_PORT}/jsonrpc

配置目录: ./aria2-config
下载目录: ./aria2-downloads
EOL
echo "配置信息已保存到 aria2-info.txt"

如果本文帮助到了你,帮我点个广告可以咩(o′┏▽┓`o)


评论
  目录