原创教程,禁止转载
简单介绍
Aria2作为一个多线程下载器,速度自然不必说,它支持的协议有:HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 协议。
首先,看看我的最终成果吧

安装Aria2
首先当然是安装Aria2,这和在linux下安装别的程序差不多,就是配置、编译、安装嘛~
获取源代码
去Github找最新版的链接,项目链接:Aria2
1 2 3 4 5 6 7 8
| # 下载 wget https://github.com/aria2/aria2/releases/download/release-1.35.0/aria2-1.35.0.tar.gz # 解压 # .tar.gz 格式用 -zxvf # .tar.xz 格式用 -xvf tar -zxvf aria2-1.35.0.tar.gz # 进入文件夹 cd aria2-1.35.0
|
配置&编译&安装
1 2 3 4 5 6 7 8
| # 创建安装文件夹 sudo mkdir -p /usr/local/aria2 # 配置安装目录 ./configure --prefix=/usr/local/aria2 # 编译 没有安装编译器的自行百度 make # 安装 make install
|
Aria2的配置
配置文件
在/etc/aria2
创建目录,里面写入一些配置
1 2
| sudo mkdir -p /etc/aria2 sudo vim /etc/aria2/aria2.conf
|
配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| # 设置的RPC授权令牌, 取代 --rpc-user 和 --rpc-passwd 选项 # token可以自己随意设置 rpc-secret=********* # 下面是ssl证书,可以先不管 # rpc-private-key= # rpc-certificate=
#允许rpc enable-rpc=true #允许所有来源, web界面跨域权限需要 rpc-allow-origin-all=true #允许外部访问,false的话只监听本地端口 rpc-listen-all=true #RPC端口, 仅当默认端口被占用时修改 rpc-listen-port=13443
#文件保存路径, 默认为当前启动位置 dir=************** #从会话文件中读取下载任务 input-file=/etc/aria2/aria2.session #在Aria2退出时保存`错误/未完成`的下载任务到会话文件 save-session=/etc/aria2/aria2.session #定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0 #save-session-interval=60 force-save=true #log=/aria2log #log-level=error
#最大同时下载数(任务数), 路由建议值: 3 max-concurrent-downloads=5 #断点续传 continue=true #同服务器连接数 max-connection-per-server=5 #最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要 min-split-size=10M #单文件最大线程数, 路由建议值: 5 split=10 #下载速度限制 max-overall-download-limit=0 #单文件速度限制 max-download-limit=0 #上传速度限制 max-overall-upload-limit=0 #单文件速度限制 max-upload-limit=0 file-allocation=prealloc
|
按需修改,主要是这两个:rpc-secret
、dir
ESC
:wq
保存退出
创建会话文件
位置在input-file
和save-session
处配置
1
| sudo touch /etc/aria2/aria2.session
|
环境变量
就一个执行程序,没必要加入环境变量,创建软链接即可:
1
| sudo ln -s /usr/local/aria2/bin/aria2c /usr/bin/aria2c
|
Aria2常见命令
一般下载链接直接接在后面即可
1 2
| aria2c \ http://autopatchcn.yuanshen.com/client_app/Android/20210609_2758cc87f80c2355/yuanshen_1.6.0_mihoyo.apk
|
重命名-o
1 2
| aria2c -o 原神.apk \ http://autopatchcn.yuanshen.com/client_app/Android/20210609_2758cc87f80c2355/yuanshen_1.6.0_mihoyo.apk
|
分段下载-x
1~5
1 2
| aria2c -o 原神.apk -x 4 \ http://autopatchcn.yuanshen.com/client_app/Android/20210609_2758cc87f80c2355/yuanshen_1.6.0_mihoyo.apk
|
指定连接数-s
1 2
| aria2c -o 原神.apk -x 4 -s 2 \ http://autopatchcn.yuanshen.com/client_app/Android/20210609_2758cc87f80c2355/yuanshen_1.6.0_mihoyo.apk
|
同时下载多个文件时 -j
1 2
| aria2c -o 原神.apk -x 4 -s 2 -j 10 \ http://autopatchcn.yuanshen.com/client_app/Android/20210609_2758cc87f80c2355/yuanshen_1.6.0_mihoyo.apk
|
断点续传-c
1 2
| aria2c -o 原神.apk -x 4 -s 2 -j 10 -c \ http://autopatchcn.yuanshen.com/client_app/Android/20210609_2758cc87f80c2355/yuanshen_1.6.0_mihoyo.apk
|
验证文件--checksum=md5=*******
1 2
| aria2c -o 原神.apk -x 4 -s 2 -j 10 -c --checksum=md5=这里是文件的MD5值 \ http://autopatchcn.yuanshen.com/client_app/Android/20210609_2758cc87f80c2355/yuanshen_1.6.0_mihoyo.apk
|
安装WebUI
上面一串使用方法是不是劝退了一堆Linux新手?
没关系,已经有大佬为我们写好了图形界面,来吧,安装
这里使用的是AriaNg
,感谢mayswind大佬拯救我等菜鸟!
启动Aria2RPC
首先启动Aria2远程调用,让AriaNg能够调用它
1
| sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
|
这样Aria2就会监听一个端口(你上面设置的)
安装AriaNg
Github项目地址:AriaNg
AriaNg是纯前端项目,安装炒鸡简单呐
前提是你需要Web服务器,比如我用的是Nginx
1 2 3 4 5 6 7 8
| # 创建目录 sudo mkdir -p /var/www/ariang/ cd /var/www/ariang/ # 下载,最新版去Github找 sudo wget https://github.com/mayswind/AriaNg/releases/download/1.2.2/AriaNg-1.2.2.zip # 解压,删除zip文件 sudo unzip AriaNg-1.2.2.zip sudo rm AriaNg-1.2.2.zip
|
安装完成!
配置Nginx
在/etc/nginx/conf.d/
创建ariang.conf
,当然,名称任取
1
| sudo vim /etc/nginx/conf.d/ariang.conf
|
内容如下(这里是http的,https后面在讲)
1 2 3 4 5 6 7 8 9
| server { listen 80; server_name ng.pi.skyone.host; root /var/www/ariang;
location / { index index.html index.htm index.php; } }
|
重启Nginx
1
| sudo systemctl restart nginx
|
完成,快打开你的域名或IP访问吧~
配置AriaNg
打开你的域名或IP你应该看到:

不要尝试打开我的这个域名,这个是部署在专有虚拟网络里的,你打不开的!
不要尝试打开我的这个域名,这个是部署在专有虚拟网络里的,你打不开的!
不要尝试打开我的这个域名,这个是部署在专有虚拟网络里的,你打不开的!
当然,目前你还没有配置SSL,链接左边也没有小锁,这个下文再教
填写如下信息,你的可能和我稍有不同
地址填你安装Aria2的设备的域名或IP,填写端口(你上面设置的)
协议选HTTP
,我的配置了HTTPS所以不一样
Aria2设置了密码就填写密钥
刷新以应用修改
完成
本教程到此基本可以结束了,后面的主要针对想配置HTTPS的强迫症患者
使用HTTPS
想使用HTTPS,你需要域名和对应的证书,这部分内容不在本教程范围内,如果你没有了解过相关内容建议先百度或放弃HTTPS,这并不影响使用!
继续看下去的想必都有Linux基础,一些基本的常识我就跳过了
现在假设你已经有了域名和证书,证书放在/etc/nginx/cert
文件夹里
为了方便(懒)我以我的域名为例(反正你们打不开~~)
修改Aria2配置
指定证书位置即可
1
| sudo vim /etc/aria2/aria2.conf
|
只需要修改这两项:
1 2
| rpc-private-key=/etc/nginx/cert/ng.pi.skyone.host.key # 证书私钥 rpc-certificate=/etc/nginx/cert/ng.pi.skyone.host.pem # 证书公钥
|
查看Aria2进程,kill掉,重启
1 2 3
| sudo ps -ef | grep aria2 sudo kill 对应的pid sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
|
修改Nginx配置
就是配置SSL嘛?
没有这么简单,这里稍微有一个小坑:
HTTPS浏览器之认443端口,而我们不可能让Aria2独占这么宝贵的443端口,因此只能反向代理了
而且我们完全可以让AriaNg和Aria2RPC使用同一个域名,这样能少配置一个SSL,还能避免跨域问题,嘿嘿嘿我真机智~
修改/etc/nginx/conf.d/ariang.conf
内容如下,请根据情况修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| server { listen 443 ssl; server_name ng.pi.skyone.host; root /var/www/ariang;
ssl_certificate /etc/nginx/cert/ng.pi.skyone.host.pem; ssl_certificate_key /etc/nginx/cert/ng.pi.skyone.host.key;
ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on;
location /jsonrpc { proxy_pass http://localhost:13443/jsonrpc; proxy_redirect http:// https://; proxy_set_header Host $host:443; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Accept-Encoding gzip; }
location / { index index.html index.htm index.php; } }
|
1 2
| # 重启Nginx sudo systemctl restart nginx
|
配置AriaNg
这个和之前一样,照着我的填吧、、
收工
好啦,去享受吧
与这篇文章相关的内容,例如:
留待以后再写,不说了,学期末,学高数去了、、