本篇将介绍如何在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】原创文章,未经许可不得转载!

11 对 “使用jail自建服务教程之三:打造aria2下载利器”的想法;

  1. 你好,我是一个新手,我想请问:挂载点使用时,我的源是一块4T硬盘,而目标是一块1T硬盘。(并没有组raid)。那么我Aria2下载的文件本身是存储在源(4T盘)还是存储在目标(1T盘)里面呢?

  2. 你好 请问 重启jail后,AriaNg的下载 、 等待、已完成/已停止 的列表都空了,是什么原因导致?

  3. 请教一下博主
    FreeNAS升级成了TRUENAS之后原先官方插件的qbittorent不能用了,
    换用了社区版的qbittorent

    于是就遇到了问题
    首先它把挂在点里所有值钱下载好的文件的所有者都替换成另一个我原本没有的用户921
    然后新下载的文件所有者是root
    但是默认权限是000

    导致我要用这些文件都得先chmod 777一次
    这个是有什么好的办法解决吗

    1. 我的是在jail里直接安装qbittorent,下载完的文件都是777权限的。没用过插件版的。你也试试在jail里直接安装看看。

      1. emmmmm 怎么才能直接在jail里安装qbittorrent呢
        我简单粗暴的试了下pkg install qbitorrent
        大概下载了420多M的数据
        然后找了很长时间没有看到怎么初始化
        好像freebsd和freenas平台很小众?

      2. 用在jail里直接装的qbittorrent也是一样 下载之后权限是000
        会不会跟我挂载的数据集有关?
        我挂载的数据集当初为了做smb把所有者改成了smbuser的用户,后续为了方便管理,qbittorrent下载的文件也在这里面

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注