aria2
作为一个强大的下载工具(强大到不可思议),命令行的使用方式使不少人可能都放弃了,我从听说这个东西,到真正科学使用也是经过了一段时间。在这里记录并分享。仍然是基于Arch Linux
,其他发行版自行触类旁通。
基于docker
安装docker,docker-compose可选,用起来方便一点。
yay -S docker docker-compose
添加用户进docker
组,目的是为了普通用户也能操控docker,添加完成后重新登录用户或者重启。
sudo gpasswd -a <username> docker
配置docker镜像仓库,默认使用的docker hub国内几乎不可用,添加国内的镜像源可以提高镜像拉取的速度。我使用的为ustc
镜像源,编辑/etc/docker/daemon.json
配置文件,如果没有创建即可。
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
启动docker
sudo systemctl start docker
sudo systemctl enable docker
aria2-pro
aria2-pro为P3TERX
构建的一个aria2镜像,一个完美配置方案链接,使aria2使用更加方便,同时配合ariang的web前端,使用体验更上一个层次。
下载并编辑Compose file
version: "3.8"
services:
aria2-pro:
container_name: aria2-pro
image: p3terx/aria2-pro//aria2-pro镜像,提供aria2本身
environment:
# uid,这里默认是nobody
- PUID=65534
# gid,这里默认是nobody
- PGID=65534
# 权限掩码
- UMASK_SET=022
# rpc密钥token
- RPC_SECRET=P3TERX
# prc端口
- RPC_PORT=6800
# BT监听端口
- LISTEN_PORT=6888
# 缓存
- DISK_CACHE=64M
- IPV6_MODE=false
# 自动更新tracker
- UPDATE_TRACKERS=true
- CUSTOM_TRACKER_URL=
- TZ=Asia/Shanghai
volumes:
# 映射配置目录,默认为当前目录的aria2-confg
- ${PWD}/aria2-config:/config
# 映射下载目录,默认为当前目录的aria2-downloads
- ${PWD}/aria2-downloads:/downloads
# If you use host network mode, then no port mapping is required.
# This is your best choice when using IPv6.
network_mode: host
# ports:
# - 6800:6800
# - 6888:6888
# - 6888:6888/udp
restart: unless-stopped
# Since Aria2 will continue to generate logs, limit the log size to 1M to prevent your hard disk from running out of space.
logging:
driver: json-file
options:
max-size: 1m
# AriaNg is just a static web page, usually you only need to deploy on a single host.
ariang:
container_name: ariang
# ariang前端web镜像,提供一个控制页面
image: p3terx/ariang
network_mode: bridge
ports:
# 端口映射,默认6880,后面通过此端口访问页面
- 6880:6880
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 1m
启动
docker-compose -f aria2-pro.yml up -d
启动后即可通过上面配置的端口访问ariang页面了http://<host>:6880
。第一次打开页面需要配置访问aria2的rpc端口及token,在Ariang设置>RPC
里面配置端口和token即可。
任务完成后执行脚本
因为我主要用来下载电影,任务完成时我需要触发一个下载字幕的脚本。aria2-pro
默认配置任务下载完成后会执行config/script/clean.sh
脚本进行一些善后操作,下载字幕的脚本可以写在这里面。注意:此脚本是在容器环境下执行的,自定义脚本需要参照容器环境,而不是系统本身环境。
至此一个完整可用的aria2下载服务就配置好了。配合各种骚插件使用效果更佳,感兴趣的可以自行搜索。