前言
为什么不用迅雷
- 迅雷是当前的毒瘤软件;
- 迅雷破坏了P2P网络秩序,导致现在的中国国内P2P环境相当糟糕;
- 从这次19大期间,迅雷无法下载所谓的“违规”文件,这代表了迅雷可以远程控制用户的下载;
- 你觉得在XCodeGhost事件中,迅雷真的只是第三方吗?
Aria2的优点
- 开源跨平台
- 资源占用少
- WebUI漂亮且无广告
- 可以远程访问
Aria2的缺点
- 不能下载ed2k链接;
- 部署相对麻烦。
下载安装Aria2
官方已经为macOS和Windows提供了预编译的二进制文件,直接在Github的Release页面下载即可使用。
下载完成并解压后能看到一个可执行文件aria2c.exe,这就是关键的文件了,剩下的那些文件都是一些说明及开源协议文件,不需要的话可以直接删除了。
在这里,我们按住Shift,在Windows文件管理的空白部分点击鼠标右键,选择“在此处打开命令窗口(W)”(注:Windows XP不支持此快捷方式,请使用CMD然后手动进入到此目录),输入aria2c --version
可以看到如下输出,表明我们下载的Aira2是在当前平台可用的。
将aria2c.exe
复制到你想要Aria2安装的目录,我以D:\Apps\Aria2\
为示例。
注意:路径不要有中文或空格,以免引起一些不必要的麻烦。
接下来我们来配置Aria2,Aria2的配置需要手写配置文件,该配置文件中的参数作为默认的配置参数,在下载时可以使用其它的配置参数覆盖该参数。
配置Aria2
Aria2可以通过命令行设置默认配置,但我们将其作为主力下载工具,需要的配置项目很多,因此推荐使用文件的配置。
详细的参数可以参考Aria2 Manual,这个手册懂英语的慢慢看,不懂就算了,我在这不可能把它翻译过来了。
配置文件
复制下面的配置文件到记事本,每项配置后一行为注释说明。请将rpc-secret
(密钥)修改为像密码一样的别人猜不出的字母和数字,不要有符号,长度不要超过200,视WebApp的情况,建议长度在16~48位之间。
路径不要有中文或任何全角字符,不要有空格(注:不是不能用,只是可能会遇到一些问题)
请酌情进行修改后保存为aria2.conf
,建议与aria2c.exe
保存在同一个文件夹。在这里我使用的目录是D:\Apps\Aria2\
。
注:RPC默认端口为8600
,这里我使用的是8060
端口。
####### RPC #######
# 使用RPC功能 请设置为true,否则就没有UI可用了
enable-rpc=true
# RPC端口
rpc-listen-port=8060
# 允许所有来源,用WebUI请开启
rpc-allow-origin-all=true
# 监听网卡端口 需要外部访问请开启
rpc-listen-all=true
# 密钥,用于身份验证
rpc-secret=SECRET_KEY
####### 文件设置 #######
# 下载文件保存路径
dir=H:\Aria2Download\
# 启动时读取配置文件路径
input-file=D:\Apps\Aria2\aria2.session
# 退出时保存配置文件路径
save-session=D:\Apps\Aria2\aria2.session
# DHT缓存路径 (IPv4/IPv6)
dht-file-path=D:\Apps\Aria2\aria2.dht
dht-file-path6=D:\Apps\Aria2\aria2.dht6
# 保存已完成的任务
force-save=true
# 定时保存任务状态(s) 0=仅退出时保存
save-session-interval=60
####### 通用下载设置 #######
# 最大同时下载的任务数量
max-concurrent-downloads=5
# 启用断点续传
continue=true
# 下载失败最大重试次数(s) 0=无限制
max-tries=5
# 重试等待时间(s) 0=不等待直至服务器返回503
retry-wait=3
#单服务器最大连接数
max-connection-per-server=8
# 多线程下载最小文件分段大小
min-split-size=10M
# 全局下载速度限制 0=不限制,下同
max-overall-download-limit=0
# 单任务速度限制
max-download-limit=0
# 全局上传速度限制(P2P)
max-overall-upload-limit=0
# 单任务上传速度限制(P2P)
max-upload-limit=0
# 检查服务器SSL证书(HTTPS/FTPS)
check-certificate=false
# 下载最低速度(P2P下载时当速度低于此值时关闭连接,0=不使用此功能)
lowest-speed-limit=0
# User-Agent
user-agent=aria2/1.33.0
# 当下载链接是种子文件时自动添加BT任务
follow-torrent=true
####### 储存设置 #######
# 磁盘缓存大小
disk-cache=16M
# 文件预分配磁盘空间设置
# none 不分配 falloc 硬分配 prealloc 软分配 turnc 复分配
file-allocation=falloc
####### P2P设置 #######
# 启用DHT(Decentralized Network, IPv4/IPv6)
enable-dht=true
enable-dht6=true
# 启用LPD(Local Peer Discovery)
bt-enable-lpd=false
# 启用PeX(Peers Exchange)
enable-peer-exchange=true
# 默认预添加BTTrackers
#bt-tracker=<URI>,<URI>
# BT传输端口
listen-port=6999
# DHT监听端口
dht-listen-port=6998
# 限制分享率 0=不限制
seed-ratio=0
# BT Peer客户端识别代码
peer-id-prefix=-qB334-
# BT Peer客户端描述信息
peer-agent=qBittorrent/3.3.4
# 单BT任务最大Peers连接数 0=不限制
bt-max-peers=0
# 强制BT加密传输
bt-require-crypto=true
# BT下载完成后检查文件
bt-hash-check-seed=true
# 对未验证的区块做种
bt-seed-unverified=false
# 保存.torrent文件
bt-save-metadata=true
像下面这样:
将这个文件保存为aria2.conf
,与aria2c.exe
同一个目录,放置于D:\Apps\Aria2\
。
创建一些运行需要的文件
然后,以新建文本文档的方式,分别建立aria2.session
、aria2.dht
和aria2.dht6
三个空白文件。
运行Aria2
接下来试一试运行,在aria2c.exe
目录打开命令窗口,输入aria2c --conf-path=D:\Apps\Aria2\aria2.conf
,如果防火墙弹出提示,请放行。如果没有Error就表明设置成功了。
注:您可能需要在Windows防火墙入站连接中添加aria2c.exe,设置为允许访问。
可选配置:让Aria2在后台运行
打开记事本,保存以下内容为文件StartAria2c.vbs
,注意修改路径。
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "D:\Apps\Aria2\aria2c.exe --conf-path=D:\Apps\Aria2\aria2.conf", 0, False
现在,双击这个VBS就可以后台运行aria2c了
参考意见:让Aria2开机自启动
也许把刚才的那个vbs文件复制到启动目录是个可行的解决方法,但我更加推荐从任务计划中添加,这样的好处在于可以在无用户登录的情况下启动Aria2c,非常适用于服务器。
在控制面板中找到“管理工具”->“任务计划程序”,或是在“开始”菜单中找到“运行”,输入taskschd.msc
。
打开后在左侧点击“任务计划程序库”,在右侧悬着“创建基本任务”,出现创建基本任务计划的对话框。
名称中随便输入,描述也是随意,可以为空。
第二步,任务触发器中,选择“计算机启动时”,第三步“操作”中选择“启动程序”。在启动程序中,选择Aria2的可执行文件。“添加参数”中输入--conf-path=D:\Apps\Aria2\aria2.conf
注意你的配置文件路径与我的不同,这个参数也会不同。由于我们都使用的是绝对路径,“起始路径”可以为空。
完成后,在中间栏找到刚才添加的任务,可以查看任务属性。
在属性中,可以将“安全选项”中修改为“不管用户是否登录都要运行”,这在服务器上相当有用。最后点击“确定”,会要求输入用户名及密码,如果是本地计算机,并且你的密码是空的话,这是不允许的。
控制和使用Aria2
推荐使用WebUI
本人推荐大家使用WebAPP来管理Aria2,WebAPP可供选择的有很多。以下的所有的WEB UI都是一个静态的网页,属于一个WebApp,完全由JavaScript控制。由于WebApp的缓存机制,一般来说,以下网址打开一次以后,下次即使在断网离线状态下浏览器也能打开。
注意:基于HTTPS协议的WebAPP要求RPC也是TLS/SSL加密的,否则浏览器会因安全问题拒绝访问,而本地连接一般都是没有有效的SSL证书的,所以建议使用基于HTTP的WebAPP。
设置WebUI与Aria2c通信
打开网站后,进入Aria2 RPC设置(Yaaw用户在右上角,AriaNG在左侧AriaNg设置中找到右侧的RPC标签)。填写RPC地址及Token。
一些WebAPP可能没有专门填写Token的地方,请像这样在地址栏中填写:http://token:<your-token>@<addr>:<port>/jsonrpc
,例如:
http://token:ZcXCzh5YoAjNbNQOWvLfLP5n6gv5mU@127.0.0.1:8060/jsonrpc
AriaNg填写方式如下图
完成后,部分WebApp可能要求重新加载,如果顺利的话,会有连接成功的提示,Aria2c.com会在右上角显示Aria2c的版本。
结束语
接下来,添加一个下载任务试一试吧!
拓展延伸
以下内容我心情好的时候可能会再补充
- 远程访问你的Aria2服务
- 设置路由端口转发
- 使用内网穿透