Aria2是一款轻量级的多线程下载工具,支持HTTP/HTTPS,FTP,SFTP,BitTorrent ,Metalink协议。

(Linux系此前多有介绍,此篇略过。主要介绍Windows和macOS下如何配置自启。)

安装

打开官网可以看到下载链接,选择对应的系统即可。macOS还可以通过brew安装。

配置

## RPC设置 ##

# 启用RPC, 默认:false
enable-rpc=true
# 接受所有远程请求, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800
# 设置 RPC 授权密钥
rpc-secret=P3TERX
# 是否启用 RPC 服务的 SSL/TLS 加密
# 启用加密后 RPC 服务必须使用 https 或者 wss 协议连接
# 一般不建议开启,建议使用 web server 反代,比如 Nginx、Caddy ,灵活性更强。
#rpc-secure=false
# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件(.pem/.crt)
#rpc-certificate=/config/xxx.pem
# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件(.key)
#rpc-private-key=/config/xxx.key
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select

## 文件保存设置 ##

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/root/Download
# 启用磁盘缓存, 0为禁用缓存,默认:16M
# 本地路由器或 NAS 建议在有足够的内存空闲情况下设置为适当的大小,以减少磁盘 I/O 延长硬盘寿命。
disk-cache=64M
# 文件预分配方式,默认:prealloc
# 机械硬盘建议设置为 falloc ,可减少磁头跳动延长寿命。
# 固态硬盘建议设置为 none ,可减少数据写入量延长寿命。
# 若无法下载,提示 fallocate failed.cause:Operation not supported 则说明不支持,请设置为 none
file-allocation=falloc
# 断点续传
continue=true
# 获取服务器文件时间,默认:false
remote-time=true

## 进度保存设置 ##

# 从会话文件中读取下载任务
input-file=/root/.aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/root/.aria2/aria2.session
# 定时保存会话时间(秒), 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=1
# 自动保存任务进度时间(秒),0为退出时才保存,默认:60
auto-save-interval=1
# 强制保存会话, 即使任务已经完成, 默认:false
# 开启后会在任务完成后依然保留 .aria2 文件,文件被移除且任务存在的情况下重启后会重新下载。
# 关闭后已完成的任务列表会在重启后清空。
# PT 下载持续做种需求建议开启,防止意外重启后列表被清空。
force-save=false

## 下载连接设置 ##

# 文件未找到重试次数,默认:0
# 重试时同时会记录重试次数,所以也需要设置 --max-tries 这个选项
max-file-not-found=5
# 最大尝试次数,0表示无限,默认:5
max-tries=0
# 重试等待时间(秒), 默认:0
retry-wait=10
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1 (官方原版最大限制为 16)
max-connection-per-server=16
# 单个任务最大线程数, 添加时可指定, 默认:5
split=64
# 最低下载速度限制。当下载速度低于或等于此选项的值时关闭连接(特殊版本会重连),此选项不影响 BT下载。单位 K 或 M ,默认:0
#lowest-speed-limit=1M
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为 15MiB 则使用一个来源下载
min-split-size=4M
# 整体下载速度限制, 运行时可修改, 默认:0
max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0
max-download-limit=0
# 禁用IPv6, 默认:false
disable-ipv6=true
# 支持GZip,默认:false
http-accept-gzip=true
# URI复用,默认: true
reuse-uri=false
# 禁用 netrc 支持,默认:flase
no-netrc=true
# 允许覆盖,当相关控制文件不存在时从头开始重新下载。默认:flase
allow-overwrite=false
# 文件自动重命名,此选项仅在HTTP(S)/ FTP下载中有效。新文件名在名称之后扩展名之前加上一个点和一个数字(1..9999)。默认:true
auto-file-renaming=true
# 使用 UTF-8 处理 Content-Disposition ,默认:false
content-disposition-default-utf8=true
# 最低 TLS 版本,可选 TLSv1.1、TLSv1.2、TLSv1.3 默认:TLSv1.2
#min-tls-version=TLSv1.2

## 执行额外命令 ##

# 下载停止后执行的命令
on-download-stop=/root/.aria2/delete.sh
# 下载完成后执行的命令,此项未定义则执行下载停止后执行的命令(on-download-stop)
on-download-complete=/root/.aria2/delete.aria2.sh
# 下载错误后执行的命令,此项未定义则执行下载停止后执行的命令(on-download-stop)
#on-download-error=
# 下载暂停后执行的命令
#on-download-pause=
# 下载开始后执行的命令
#on-download-start=

## 日志设置 ##

# 日志文件保存路径,忽略或设置为空为不保存,默认不保存。
#log=
# 日志级别,可选 debug, info, notice, warn, error 。默认 debug
#log-level=warn
# Aria2 一键安装管理脚本 增强版 与 Aria2 Pro (Docker) 使用以下选项设置日志。
# 控制台日志级别,可选 debug, info, notice, warn, error 。默认 notice
console-log-level=notice
# 安静模式,禁止在控制台输出日志,默认:false
quiet=false

## BT/PT下载设置 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true,可选:false|mem
follow-torrent=true
# BT监听端口(TCP), 默认:6881-6999
listen-port=51413
# DHT网络监听端口(UDP), 默认:6881-6999
dht-listen-port=51413
# DHT(IPv4)文件
dht-file-path=/root/.aria2/dht.dat
# DHT(IPv6)文件
dht-file-path6=/root/.aria2/dht6.dat
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 打开IPv6 DHT功能, PT需要禁用
# 在没有 IPv6 的环境中不建议开启,否则会导致 DHT 功能异常。
enable-dht6=false
# 本地节点查找, PT需要禁用, 默认:false
bt-enable-lpd=true
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
# 单个种子最大连接数,0为不限制,默认:55
bt-max-peers=0
# 期望下载速度,Aria2会临时提高连接数以提高下载速度,单位K或M。默认:50K
bt-request-peer-speed-limit=10M
# 全局最大上传速度限制, 运行时可修改, 默认:0
max-overall-upload-limit=5M
# 单个任务上传速度限制, 默认:0
max-upload-limit=0
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=1.0
# 最小做种时间(分钟)。此选项设置为0时,将在BT任务下载完成后不进行做种。
seed-time=0
# 做种前检查文件哈希, 默认:true
bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=false
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
# 加载已保存的元数据文件,默认:false
bt-load-saved-metadata=true
# 删除未选择文件,默认:false
bt-remove-unselected-file=true
# 保存上传的种子,默认:true
rpc-save-upload-metadata=true
# BT强制加密, 默认: false
# 启用后将拒绝旧的 BT 握手协议并仅使用混淆握手及加密。有一定的防版权投诉与迅雷吸血效果。
# 此选项相当于后面两个选项(bt-require-crypto=true, bt-min-crypto-level=arc4)的快捷开启方式,但不会修改这两个选项的值。
bt-force-encryption=true
# BT加密需求,默认:false
# 启用后拒绝与旧的 BitTorrent 握手协议(\19BitTorrent protocol)建立连接,始终使用混淆处理握手。
#bt-require-crypto=true
# BT最低加密等级,可选:plain(明文),arc4(加密),默认:plain
#bt-min-crypto-level=arc4
# 客户端伪装
user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36 Edg/81.0.416.68
# PT需要保持 user-agent 和 peer-agent 两个参数一致。即注释上面这行,然后取消注释下面的相关选项。
#user-agent=qBittorrent/4.2.5
peer-agent=qBittorrent/4.2.5
peer-id-prefix=-qB4250-
#----------------------------------
#user-agent=Transmission 2.94
#peer-agent=Transmission 2.94
#peer-id-prefix=-TR2940-
#----------------------------------
#user-agent=Deluge 2.0.3
#peer-agent=Deluge 2.0.3
#peer-id-prefix=-DE2030-
#----------------------------------
#user-agent=μTorrent 3.5.5
#peer-agent=μTorrent 3.5.5
#peer-id-prefix=-UT355W-
#----------------------------------
#user-agent=μTorrent Mac 1.8.7
#peer-agent=μTorrent Mac 1.8.7
#peer-id-prefix=-UM1870-

## BitTorrent trackers ##
#bt-tracker=

自启

  1. Windows

为了方便管理,我们可以在合适的目录下新建目录aria2,假定目录为C:\aria2。此目录下的文件有:

- aria2.exe      主程序  
- aria2.conf     配置文件  
- aria2.log      日志  
- aria2.session  下载历史  
- HideRun.vbs    启动脚本

编辑HideRun.vbs

CreateObject("WScript.Shell").RUN "C:\aria2\aria2c.exe --conf-path=aria2.conf",0

HideRun.vbs的快捷方式放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp下即可完成自启。

  1. macOS

默认主目录为$HOME/.aria2,此目录下需要文件:

- aria2.conf     配置文件
- aria2.log      日志
- aria2.session  下载历史

创建自启文件~/Library/LaunchAgents/com.aria2c.plist

<?xml version="1.0"encoding="utf-8"?>
<!DOCTYPE plist PUBLIC"-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
      <key>KeepAlive</key>
        <true />
        <key>RunAtLoad</key>
        <true />
        <key>Label</key>
        <string>aria2</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/local/bin/aria2c</string>
        </array>
        <key>WorkingDirectory</key>
        <string>/Users/mac/Downloads</string>
    </dict>
</plist>

更改权限

chmod 644 ~/Library/LaunchAgents/com.aria2c.plist

设置自启并启动

launchctl load ~/Library/LaunchAgents/com.aria2c.plist
launchctl start aria2

接管Chrome/Firefox下载

Chrome 插件 Camtd
Firefox 插件 Aria2 Download Manager Integration