本篇将介绍如何在jail里安装、配置aria2下载利器。aria2可以实现远程下载、离线下载,支持 HTTP / FTP / BT / Magnet磁力链接等类型下载(不过不支持迅雷、ed2k链接),最关键的是,它不限制速度,它不限制速度,它不限制速度!!!废话少说,下面进入正题。

  1.建立jail

  请点击看此篇:使用JAIL自建服务教程之一:JAIL创建和优化

  2.安装aria2

  安装很简单,只要一个命令:

pkg install -y aria2

  3.设置开机启动

nano /etc/rc.conf 

  在最后加一行:aria2_enable=”YES”,按ctrl+O保存,ctrl+X退出文本编辑器。

  4.创建工作目录

mkdir /mnt/aria2      #配置文件存放目录
mkdir /mnt/download   #下载目录

  5.创建配置文件和session文件

nano /mnt/aria2/aria2.conf

  写入如下内容,并保存

## 文件保存相关##
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/mnt/download
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=64M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc 预分配所需时间:
# none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持 NTFS建议使用falloc,
# EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none
# 断点续传
continue=true
#不进行证书校验
check-certificate=false
## 下载连接相关 ##
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=20
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=15
# 最小文件分片大小, 添加时可指定, 取值范围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=100K
# 单个任务上传速度限制, 默认:0
max-upload-limit=0
# 禁用IPv6, 默认:false
disable-ipv6=true
## 进度保存相关 ##
# 从会话文件中读取下载任务
input-file=/mnt/aria2/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/mnt/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
# 允许所有来源, 默认: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=123456
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<user>
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<passwd>
#是否启用https加密,启用之后要设置公钥,私钥的文件路径
rpc-secure=false
#启用加密设置公钥
#rpc-certificate=
#启用加密设置私钥
#rpc-private-key=
## BT/PT下载相关 ##
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=56789
# 单个种子最大连接数, 默认:55
bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 打开IPv6 DHT功能, PT需要禁用 enable-dht6=false DHT网络监听端口,
# 默认:6881-6999
dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
bt-request-peer-speed-limit=8M
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 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=false
#bt-tracker数据来自https://github.com/ngosang/trackerslist/blob/master/trackers_all.txt
bt-tracker=udp://62.138.0.158:6969/announce,udp://188.241.58.209:6969/announce,udp://93.158.213.92:1337/announce,udp://62.210.97.59:1337/announce,udp://151.80.120.113:2710/announce,udp://151.80.120.112:2710/announce,udp://208.83.20.20:6969/announce,udp://5.206.54.49:6969/announce,udp://159.100.245.181:6969/announce,udp://185.181.60.67:80/announce,udp://54.37.235.149:6969/announce,udp://91.216.110.52:451/announce,udp://35.156.19.129:6969/announce,udp://142.44.243.4:1337/announce,udp://51.15.40.114:80/announce,udp://176.113.71.19:6961/announce,udp://184.105.151.164:6969/announce,udp://46.148.18.250:2710/announce,udp://15.188.67.15:6969/announce,udp://46.148.18.254:2710/announce

新建一个空的session文件,不过无法直接保存,写入一个字符再删除掉就可以保存了。

nano /mnt/aria2/aria2.session

  6.测试程序是否正常工作

aria2c --conf-path=/mnt/aria2/aria2.conf

  如果如下图所示,显示“IPv4 RPC:正在监听 TCP 端口 6800”说明正常。然后按”CTRL+C”退出程序。

  7. 更改启动配置文件

nano /usr/local/etc/rc.d/aria2

  将aria2_config=${aria2_config:-“/usr/local/etc/aria2.conf”}里的conf文件路径改一下

  改成:

aria2_config=${aria2_config:-"/mnt/aria2/aria2.conf"}

  8.映射下载目录到freenas主机

  首先在freenas的web界面中关闭jail,然后点击jail选项中的“挂载点”,添加挂载目录

  然后点击右上角的“ACTIONS”菜单,选择“Add Mount Point”

  “源”目录选择你需要映射的主机中的目录,通常是可共享的目录;“目标”目录选择jail中建立的下载目录,点“保存”。

  需要注意的是,目录必须设置为可写的,否则无法下载文件。

 

  9.启动aria2程序

  启动jail,这时候aria2应该应能自动启动了。如果不放心,可以输入如下命令看一下:

service aria2 status

  10.使用webUI

  有多种webUI可连接aria2服务器,我这里选用AriaNg。 AriaNg 现在提供三种版本, 标准版、单文件版和 AriaNg Native。 标准版适合在 Web 服务器中部署, 提供资源缓存和按需加载的功能;单文件版适合本地使用, 您下载后只要在浏览器中打开唯一的 html 文件即可; AriaNg Native 同样适合本地使用, 并且不需要使用浏览器。 标准版和单文件版下载地址在此(其中AllInOne为单文件版), AriaNg Native 下载地址在此(有windows和macOS版)。这里以
AriaNg Native 作为演示。

  下载后解压,不需要安装,打开主程序“AriaNg Native”。

  界面如下:

  按下图所示,配置相关参数连接aria2服务器,并重新加载AriaNg。

  连接成功后,会显示“已连接”,如下图。

  11.手机客户端

  我的是安卓手机,可以下载“Aria2App”

  设置里面同样配置参数后连接aria2服务器,请自行摸索,这里就不介绍了。App下载界面如下:

  以上,一个远程下载服务器就搭建完成了。需要说明的一点是,还需要在路由中进行端口转发,BT和磁链下载才会快,不然会没有速度。

声明:本文为本站【NASGEEK】原创文章,未经许可不得转载!