回顾一次内网搭建Aria2多线程下载器的流程分享
由于本人已经装过了,这里就不在此展示一遍了,总结下来分为2个大类;【1】搭建Aria2【2】可视化下载器(可选),其中【2】是可选的,当然大概率下我觉得你会跟我一样还是觉得可视化好用!话不多说,我们开始吧!
流程分享
首先,我的环境如下:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
第一步,安装aria2,你们喜欢是源码自行编译还是直接yum懒人装法都随意,反正我是用的yum法直接装的!
[root@localhost ~]# yum install -y aria2
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Repository epel is listed more than once in the configuration
Repository epel-debuginfo is listed more than once in the configuration
Repository epel-source is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package aria2-1.34.0-5.el7.x86_64 already installed and latest version
Nothing to do
因为我这里已经装过了,所以是这么显示,装完之后,没有配置文件,因此我们需要手动生成配置文件(当然,如果不生成默认是在当前用户下面建立)
[root@localhost ~]# vim /etc/aria2/aria2.conf
这里我们直接使用 vim
创建文件(会自动创建所需目录,省去了 mkdir 和 touch 的环节!),然后你可以参考我的配置录入如下内容:
## 文件保存相关 ##
# 文件保存目录
dir=/data/download/files
# 日志路径
log=/data/download/logs
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 断点续传
continue=true
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=trunc
## 下载连接相关 ##
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=15
# 整体下载速度限制, 运行时可修改, 默认:0(不限制)
max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0(不限制)
max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0(不限制)
max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0(不限制)
max-upload-limit=0
# 禁用IPv6, 默认:false
disable-ipv6=true
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=10
## 进度保存相关 ##
# 从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
# 在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/etc/aria2/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
## RPC相关设置 ##
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=
## BT/PT下载相关 ##
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
# 客户端UA标识
user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.44
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
force-save=false
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
其实这里配置的都是一些主要的,如果有可视化界面(如:AriaNg),你完全可以根据可视化工具的配套设置项来修改!
配置项仅供参考,标出几个重要点大家注意下!
下载目录
# 下载目录,根据你自己的实际位置调整
dir=/data/download/files
客户端标识
# 客户端UA标识,这里我给大家预留的是Windows Edge浏览器的UA,你可以根据自己实际需求改
user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.44
可视化界面服务器
## RPC相关设置 ##
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=
其它的就没有了,配置完成后,你就可以使用如下命令启动 aria2 了!
[root@localhost ~]# aria2c --conf-path=/etc/aria2/aria2.conf -D
当然执行到这一步其实理论来说 aria2 就已经搭建完毕了!但现在有一个问题,就是除非你不重启,一旦重启你就需要手动再次启动 aria2 服务,那么很显然,你们都不想这样,因此,我们需要配置一下 Aria2 的开机自启动
开机自启动
开机自启动其实就是在 /etc/init.d/
目录下建立个脚本,基于执行权限,然后注册到服务(service),最后启用(chkconfig)即可!当然为了照顾到萌新,我们来逐步讲解!
首先,我们同样的,通过 vim /etc/init.d/aria2c
来建立启动脚本,脚本内容如下:
#!/bin/sh
# chkconfig: 2345 10 90
# description: Aria2
case "$1" in
start)
echo "正在启动Aria2服务,请稍后..."
aria2c --conf-path=/etc/aria2/aria2.conf -D
echo "Aria2服务已开启!"
;;
stop)
echo "正在关闭Aria2服务,请稍后..."
killall -g aria2c
echo "Aria2服务已关闭!"
;;
esac
然后使用 chmod +x
的方式基于该脚本执行权限!
[root@localhost ~]# chmod +x /etc/init.d/aria2c
最后就很简单了!测试服务是否可用+开启开机自启动,重启测试开机自启动是否生效!
测试服务是否可用
[root@localhost ~]# service aria2c stop
正在关闭Aria2服务,请稍后...
Terminated
[root@localhost ~]# service aria2c start
正在启动Aria2服务,请稍后...
Aria2服务已开启!
注册开机自启动
[root@localhost ~]# chkconfig aria2c on
重启测试一下是否配置成功
- 重启命令有2个,分别是
reboot
和shutdown -r now
,各位按自己的口味选择; - 测试开机后是否启动也很简单,测试端口是否开放即可!命令也有很多,我一般是用
losf -i:6800
,这里6800是 Aria2 的默认端口号(如果你不开RPC相关设置则需要通过其它方式测试是否运行)
可视化GUI
可视化GUI就是你可以直接使用一个比较简单粗暴界面来调用Aria2的下载能力,这里我是推荐的是 Aria2Ng,官方主页地址:https://ariang.mayswind.net/zh_Hans/,好处正如你们看到的,原生中文,并且无侵入性(纯前端实现,只需要你有Web环境,即可使用!)
这里怎么搭建Web环境我就不展开了,下载代码大家可以直接访问 Aria2Ng 的 Github 开源地址下载,链接给大家准备好了,飞机票:https://github.com/mayswind/AriaNg/releases,怎么部署我也不讲了,这都是相当基本功的东西了!
这里主要要告知几个点,很多萌新会遇到的问题,问题就是代码部署好了,但是提示无法连接,这是因为你的 Aria2Ng配置中,RPC地址配置不对,这里配置的地址是需要你可以直接访问到Aria2服务的地址,比如下图所示:
我配置的是192.168.1.111的内网地址,可以连接,为什么?因为我现在是在内网环境!所以我可以直接填这个地址,如果我在外网环境需要下载,那么就需要换成公网IP了,然后还有一个注意点就是防火墙,如果你不放开防火墙,那么也不是不能访问的!
差不多就是这些的,试了下,实话实说,Aria2只适合下载直连资源,磁力讲真的,除非真是热门资源,否则基本没速度,所以说句难听的,Aria2国内基本残了,除非你是有啥特殊需求正好Aria2能满足(如:百度云直连下载之类的),否则我讲真的,如果纯下载直连这种,我还不如用 wget
下载,反正这个是个人喜好问题!自己用的开心就好!
彩蛋部分
最后给大家分享几个链接吧,节约大家时间!懂的自然懂,不懂我也懒得解释:
- Github加速下载:https://ghproxy.com/
- 发稿时最新版Aria2Ng下载:
wget -O https://github.com/mayswind/AriaNg/releases/download/1.2.3/AriaNg-1.2.3.zip
- Tracker链接:https://trackerslist.com/#/zh?id=aria2