一键安装脚本
#!/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
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
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_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"