0%

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

  本篇将介绍如何在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 #下载目录

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

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

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

nano /mnt/aria2/aria2.conf

nano /mnt/aria2/aria2.conf

nano /mnt/aria2/aria2.conf

  写入如下内容,并保存

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置

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

# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc 预分配所需时间:

# none < falloc ? trunc < prealloc

# falloc和trunc则需要文件系统和内核支持 NTFS建议使用falloc,

# EXT3/4建议trunc, MAC 下需要注释此项

# 最大同时下载任务数, 运行时可修改, 默认:5

max-concurrent-downloads=20

max-connection-per-server=15

# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M

# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载 min-split-size=10M

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

max-overall-download-limit=0

max-overall-upload-limit=100K

input-file=/mnt/aria2/aria2.session

# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件

save-session=/mnt/aria2/aria2.session

# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0

rpc-allow-origin-all=true

rpc-allow-origin-all=true

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

# RPC监听端口, 端口被占用时可以修改, 默认:6800

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

# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 –rpc-secret 选项

# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 –rpc-secret 选项

#是否启用https加密,启用之后要设置公钥,私钥的文件路径

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

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

# 打开DHT功能, PT需要禁用, 默认:true

# 打开IPv6 DHT功能, PT需要禁用 enable-dht6=false DHT网络监听端口,

dht-listen-port=6881-6999

# 本地节点查找, PT需要禁用, 默认:false

enable-peer-exchange=false

# 每个种子限速, 对少种的PT很有用, 默认:50K

bt-request-peer-speed-limit=8M

user-agent=Transmission/2.77

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

# 强制保存会话, 即使任务已经完成, 默认:false

#较新的版本开启后会在任务完成后依然保留.aria2文件

#继续之前的BT任务时, 无需再次校验, 默认:false

# 保存磁力链接元数据为种子文件(.torrent文件), 默认: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

## 文件保存相关## # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置 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= # 设置的RPC访问密码, 此选项新版已废弃, 建议改用 –rpc-secret 选项 #rpc-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

## 文件保存相关##

文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置

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=

设置的RPC访问密码, 此选项新版已废弃, 建议改用 –rpc-secret 选项

#rpc-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

nano /mnt/aria2/aria2.session

nano /mnt/aria2/aria2.session

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

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

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

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

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

  7. 更改启动配置文件

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

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

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”}

aria2_config=${aria2_config:-“/mnt/aria2/aria2.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和磁链下载才会快,不然会没有速度。