群晖中最好用的下载工具……之一:Aria2

发布时间:2019-08-26 16:13:12 作者:Kiong Chan 阅读量:10571

  一、关于群晖的下载软件

  群晖自带的套件“Download Station”其实也挺好用的,支持几乎所有常用的下载协议,而且还能监控RSS自动下载,功能是蛮强大的。但是因为有时候是PT/BT下载的需求,此软件可能无法满足,所以必须安装第二个下载软件。迅雷远程听说被封停了第三方接口,反正我是各种安装不上或者获取不到激活号,因此找到了这个下载神器“Aria2”。


  二、什么是Aria2

  Aria2是一款基于命令行的超轻量级全平台多协议下载工具,支持诸如HTTP/FTP/BT/磁力等下载协议,目测唯独不支持电驴。Aria2本身是不带操作界面的,所以叫做命令行工具,但为了方便使用,很多大神自制了UI界面,常见的有Aria2WebUI(如下图)、AriaNg等。这两种界面都是基于网页的,所以只要能连接到Aria2的服务器,无论在什么地方都可以轻松的进行下载管理,实现远程下载。


  群晖的套件中心里是没有Aria2的,但群晖有Docker套件,你可以把它当作一部虚拟机,我们要做的就是在虚拟机上安装Aria2。

  三、安装Aria2

  首先在套件中心中安装Docker,安装好之后打开。点击左侧的“注册表”,使用关键字查找“Aria2”,可以看到有很多不同版本(如果提示查询失败,那就再搜索一次)。这里我选的是第一个xujinkai/aria2-with-webui,从下面的注释可以看出来,这个镜像包含了Aria2和webui,这样使用的时候有图形界面会比较方便。选好之后点击上方的“下载”或者直接双击进行下载。


  此时左侧“映像”标签有个小①标识,点击映像,此时看到镜像正在下载。Docker的镜像下载服务器对国内网络的支持不是很好,有时候下载很慢,请耐心等待。如果提示下载失败,那就回到注册表那里再双击下载。


  下载完成后选中映像点击上方的启动按钮,开始创建容器。


  第一页的“容器名称”可以任意填写,“使用高权限执行容器”没有必要选,资源限制可以根据自己的实际情况来。接着点击下面的“高级设置”。


  第一个页面“高级设置”标签,这里建议勾选“启用自动重新启动”,“创建桌面快捷方式”根据自己需要,可以将快捷方式指向webui的网址用于打开Aria2的下载界面。


  选到第二栏“卷”标签,需要在此标签页添加两个文件夹。点击添加文件夹,会弹出一个选择路径的窗口,选择一个文件夹作为默认下载文件夹,在对应的装载路径中填入/data。再次添加文件夹,选择一个文件夹作为Aria2的配置文件储存位置,然后在装载路径中填入/conf。这里前边黄框里的文件夹位置表示的是你自己的NAS中的实际文件夹路径,后边绿框里的文件夹位置表示的是程序识别的下载和配置路径。绿框中的装载路径是镜像作者设置的固定路径,所以必须按这个填,否则会导致程序无法开启。若选择其他镜像可以到镜像说明网页中查看特殊要求。



  网络标签页保持默认不用修改,端口设置页建议将本地端口从自动改成固定的端口号,这个可以填写任意未被占用的端口,需要记住稍后有用。


  环境标签页中点击+号添加一个,可变填入“rpc-secret”,值中填写一个验证码,可随意填写,这个在连接Aria2时需要用到。到这里高级设置就完成了,点击应用,回到上一级页面之后点击下一步。


  这一页会把你的设置全部展示出来,检查没有问题就可以点应用了,默认向导完成后运行此容器。


  回到Docker,点开左侧的“容器”可以看到Aria2下载器已经在运行了。


  第四:使用Aria2

  在浏览器中输入群晖的IP和刚才设置的端口号,进入Aria2的WebUI界面,我的地址是“192.168.10.108:6880”(如果你已经布置好外网,那就可以直接用域名访问)。此时页面提示连接RPC认证服务器失败,无法连接。点击设置,选择连接设置。


  在密码令牌处填写刚才设置的认证口令,这时RPC认证通过,会提示连接成功,左侧的设置窗口也会把相关配置显示出来。


  此时已经可以开始下载了,点击添加,可以通过连接、种子和磁力链三种方式创建下载。找一个HTTP链接测试一下。界面上方蓝框处有链接的添加规则,下载设置中的dir表示的就是下载地址,可以手动修改,但注意只能在/data后面加文件夹,如/data/TV这样,因为这个/data就是安装时在绿框中填入的让Aria2识别的一个路径地址,其对应的则是黄框内的NAS实际文件夹地址/HDD WDR/Downloads。在此处没有类似文件夹管理器的修改界面,只能通过文字输入文件夹地址。


   测试下载了一个WIN10系统的镜像文件,我家50M的移动宽带只跑出了5.73MB/s的下载速度,算是勉强接受吧。


  五、用Aria2做BT/磁力下载 

  BT和磁力本质上都是P2P,所以放在一起说。Aria2毕竟是命令行软件,不像迅雷、旋风之类什么都已经设置好了,尤其是要BT下载,是需要动手配置的。所以在百度上搜索“Aria2 BT没速度”,可以看到有30+万个搜索结果。


  1、配置Aria2

  修改Aria2配置的方法有两种,一种是在WebUI界面中点击设置——全局设置,会弹出新的窗口。所有的设置参数一股脑全都展现出来,滑动鼠标滚轮可以向下翻NNN页。如果觉得想要设置的内容不好找,上面有搜索框可以速度找到需要设置的参数(图中绿框)。如果不知道设置参数的含义,每一项参数后面还有该参数的解释(图中蓝框),不过是英文的,需要一定的阅读理解能力。说了这么多,其实我是不会用的……


  在全局设置中修改了设置之后,一定记得要用鼠标滚轮翻页到最下面点保存,不然改了没用!!!


  重点来了!另一种方法,直接用写字板修改Aria2的配置文件。在NAS中找到创建Aria2时选定的配置文件地址,即黄框中的docker/config,aria2.conf就是配置文件。


  将配置文件下载到本机后,使用记事本打开(记事本打开可能是没有换行的,我用“Notepad3”打开),可以看到一大段类似代码的东西,这就是Aria2的配置参数。头大吗?嗯,头大就对了,我看了也头大……


  不过没有关系,网上有非常详细的配置说明,这里我把自己的配置分享上来,你可以根据提示修改就好。注意命令行前面如果有#的则不能生效,要起效必须将#去掉。

## 全局设置 ## ============================================================
# 日志
log-level=warn
#log=/PATH/.aria2/aria2.log

# 后台运行
daemon=true

# 下载位置, 默认: 当前启动位置
dir=/data/_dl
on-download-complete=/conf/on-complete.sh

# 从会话文件中读取下载任务
input-file=/conf/aria2.session

# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/conf/aria2.session

# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=30

# 断点续传
continue=true

# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=falloc

# 客户端伪装
user-agent=netdisk;5.2.6;PC;PC-Windows;6.2.9200;WindowsBaiduYunGuanJia
referer=http://pan.baidu.com/disk/home

# 禁用IPv6, 默认:false
disable-ipv6=true

# 其他
always-resume=true
check-integrity=true

## 下载位置 ## ============================================================
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5

# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=10

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M

# 单个任务最大线程数, 添加时可指定, 默认:5
split=10

# 整体下载速度限制, 运行时可修改, 默认:0
max-overall-download-limit=0

# 单个任务下载速度限制, 默认:0
#max-download-limit=0

# 整体上传速度限制, 运行时可修改, 默认:0
max-overall-upload-limit=1K

# 单个任务上传速度限制, 默认:0
#max-upload-limit=0

## RPC设置 ## ============================================================
# 启用RPC, 默认:false
enable-rpc=true

# 允许所有来源, 默认:false
rpc-allow-origin-all=true

# 允许非外部访问, 默认:false
rpc-listen-all=true

# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select

# RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800

# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=<TOKEN>

# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
#rpc-secure=true

# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件,
# 使用 PEM 格式时,您必须通过 --rpc-private-key 指定私钥
#rpc-certificate=/path/to/certificate.pem

# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件
#rpc-private-key=/path/to/certificate.key

## BT/PT下载相关 ## ============================================================
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true

# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413

# 单个种子最大连接数, 默认:55
#bt-max-peers=55

# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=false

# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false

# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999

dht-file-path=/opt/var/aria2/dht.dat
dht-file-path6=/opt/var/aria2/dht6.dat

# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false

# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false

# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K

# 设置 peer id 前缀
peer-id-prefix=-TR2770-

# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=1.0

# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false

# BT校验相关, 默认:true
#bt-hash-check-seed=true

# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true

# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true

bt-max-open-files=16

#下载115网盘失败需更改为false
enable-http-pipelining=true

# 分离做种任务
bt-detach-seed-only=true

# 最小做种时间, 单位:分
# seed-time =0

   将配置文件内容复制到aria2.conf中,看上去稍微没那么恐怖了。需要注意的是红框中的参数要改为自己的,具体可以参考自己的aria2.conf文件配置。


  2、BT下载相关配置

  如果能弄懂上面的配置方法,那么恭喜你,Aria2对你来说就没有难度了。下面就针对BT下载来修改几个必要的相关参数。

  首先需要明确的是,你要用Aria2下BT还是PT。因为BT是开放环境的P2P,需要跟迅雷等流氓软件抢连接,所以要设置的凶狠一点;而PT是封闭环境的P2P,只要在封闭环境中与其他人建立连接,没有各种流氓软件抢线,所以要设置的温柔一点。下面的各项参数都会按BT和PT分别提供两种设置建议。

1.  # 单个种子最大连接数, 默认:55
     bt-max-peers=999
    # 此项无论BT还是PT都建议设到999,要想下载速度快,种子连接多多益善
2. # 打开DHT功能, PT需要禁用, 默认:true enable-dht=true # 此项PT下载必须设为false,否则有封号风险。BT下载务必设为true,跟流氓软件抢连接全靠它。
3. # 本地节点查找, PT需要禁用, 默认:false bt-enable-lpd=true # 此项PT下载必须设为false,否则有封号风险。BT下载可以设为true,个人认为提升连接的能力并不强,但总好过没有吧。
4. # 种子交换, PT需要禁用, 默认:true enable-peer-exchange=true # 此项PT下载必须设为false,否则有封号风险。BT下载务必设为true,可以连接到更多种子。
5. # 客户端伪装, PT需要 #peer-id-prefix=-TR2770- #user-agent=Transmission/2.77 # 此两项PT下载需要将前面的#去掉使其生效,BT下载保留#。因为目前大多数PT站点的规则中不认可Aria2作为下载软件,所以PT下载时需要将Aria2伪装为Transmission。

  以上参数按需要修改,其他的保持默认即可。

  如果是用Aria2做BT下载,那么还需要在配置文档的最后增加一个参数:bt-tracker=。此参数是为Aria2提供额外的tracker服务器,从而让Aria2有机会建立更多的连接,从而提升下载速度。tracker服务器是一个个的网络节点,储存着所有下载者的下载信息,理论上连接越多的tracker也就意味着连接到更多的种子。这边提供一个每天更新tracker列表的网页给你。

  请无视整页的英文,翻页到下面找到Tracker List,这边每天会自动更新tracker列表,还会区分HTTP、UDP、ip和域名类的等等,但其实只要用到tracker_best的20个就够了。


  点击红框里的链接,会跳转到新页面或下载一个txt文件,没关系,把页面或者文件中的网址全部复制下来,粘贴到Aria2配置文档中的bt-tracker=后面,然后把每个网址之间用英文输入法的逗号隔开,注意必须是英文输入法,如下图:


  至此,Aria2的配置文档修改完毕。保存文件后,将此文件重新放回NAS中覆盖原文件。然后在docker的容器中将Aria2关机再启动,即可使修改好的配置生效了。可以点击使用右侧红框内的按钮控制关机和开机。


  PS:如果你看的下图,那么恭喜你踩坑了,你的配置文件有问题,还是乖乖的点开“设置”→“全局设置”进行重新配置吧!


  3、BT下载隐藏技巧

  Aria2有个dht.dat文件(开启ipv6还有个dht6.dat),这玩意用于存储一种叫做DHT Routing Table的东西,DHT网络由无数节点组成,你接触到一个后能通过它接触到更多的节点,Aria2我记得是有内置的节点,但是!如果你在Aria2第一次运行的时候直接下载磁力链接或者冷门种子,你很可能遇到连MetaData都无法获取的情况,这就是因为第一次只是初始化dht.dat文件,你本地不存在DHT Routing Table的缓存,所以你无法从DHT网络中获取足够的数据。

  那么怎么办?你可以尝试找个热门种子(千万建议是种子,而不是磁力链接),然后下一波,挂着做种,过几个小时后退出Aria2,或者等Aria2会话自动保存,你会发现dht.dat从空文件变成有数据了,这时候你下载就会正常很多,甚至能跑满速。

  Aria2安装/配置教程到此结束,要上车的同学可以赶紧走一波啦!

支付宝打赏 微信打赏

我要评论

CopyRight ©2012-2019 Kiong·Chan Blog www.pc936.com All Rights Reserved.   我要留言
粤ICP备16024702号-1
Catfish(鲶鱼) Blog V 3.3.0