VPS使用Aria2搭建离线下载服务器

接着前文来说,自建网盘以后可能会是更多人的选择。在VPS上使用wget命令可以直接下载数据,但是wget作用也有限,比如BT和磁力等链接就不能下了。这个时候我们可以利用Aria2来搭建自己的离线下载服务器,Aria2可以下载http、ftp、BT、磁力链接等,是个流行的下载工具,有的路由器固件里也集成了该工具。安装aria2只需要一条命令,我的VPS测试环境是LNMP 1.3,debian 7 64位系统。需要注意的一点是,在国外的VPS上下载BT等一般是不允许的,可能会引来版权问题,所以尽量在对版权不铭感的VPS上下载该类数据。

一、首先安装aria2

centos使用:yum install aria2  debian使用:apt-get install aria2。安装好后一般就直接在ssh里用命令下载就可以了:

直接
$ aria2c http://example.org/mylinux.iso
 
从两个来源(更多也可以)
$ aria2c http://a/f.iso ftp://b/f.iso
 
BitTorrent
$ aria2c http://example.org/mylinux.torrent
 
BitTorrent Magnet URI
$ aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'
 
Metalink
$ aria2c http://example.org/mylinux.metalink
 
文本文件uri.text中的链接(URI)
$ aria2c -i uri.txt
 
显示种子中包含了哪些文件
$ aria2c -S bit.torrent

二、安装Aria2的Web面板

如果要下载的东西不多,上面那样用就可以了。如果任务多的话,我们还是需要用web页面来管理,让aria2在后台监听就可以了。
这里以LNMP1.3环境为例,解析好你的域名后创建虚拟主机目录。进入这个文件夹:

cd /home/wwwroot/你的域名

如果你是想使用 IP,那 虚拟主机文件夹就是这个,进入这个文件夹,并删除默认的首页:

cd /home/wwwroot/default

rm -rf index.html
注意:这个默认的文件夹里还有一个 phpmyadmin 文件夹,建议改一下名字不要删除。

进入到自己的域名根目录下,安装前端面板Aria2WebUI:

git clone https://github.com/ziahamza/webui-aria2.git
mv webui-aria2/* .
rm -rf webui-aria2
chmod -R 755 你的虚拟主机文件夹 
# 例如chmod -R 755 /home/wwwroot/cmsky.com

然后这时候通过你的 域名或者IP 就可以访问你的 前端面板了。

当然这个时候还没有启动 后端,所以前端面板在无法连接到后端的时候会一直提示出错。

三、配置后端

要让aria2持续在后台运行我们可以使用screen,apt-get install screen -y安装screen
# 创建aria2c活动(名称随意)
screen -S aria2c
离开screen环境按Ctrl+a,再按下d就离开了。
# 如果你关闭SSH后想重新进入这个活动就输入
screen -r aria2c
然后就是启动 aria2c 后端了,下面这个代码是直接启动。

aria2c --enable-rpc --rpc-listen-all

下面这个代码是设置了下载文件目录、登录用户名和密码(强烈建议使用这个代码来进行加密,避免暴露你的IP或域名)

aria2c --enable-rpc=true --rpc-listen-all --rpc-allow-origin-all=true --rpc-listen-all=true --dir=/home/wwwroot/你的域名/download --rpc-user=用户名 --rpc-passwd=用户密码

运行完后,访问你的 IP 或者 域名 就可以进入前端Web面板配置,面板里就可以添加下载链接等,你一看就知道了。
运行时如果碰见"[SocketCore.cc:310] errorCode=1 Failed to bind a socket, cause: Name or service not known"这个错误需要禁用IPV6。在上面那串启动代码中间加上--disable-ipv6=true就可以了。
关于Aria2配置的参数我们可以见:官方文档 以下是一些参数介绍:

## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ##
## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释  ##
 
## 文件保存相关 ##
 
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=~/downloads
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none
# 断点续传
continue=true
 
## 下载连接相关 ##
 
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=1
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=5
# 整体下载速度限制, 运行时可修改, 默认: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
 
## 进度保存相关 ##
 
# 从会话文件中读取下载任务
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
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
#rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=
 
## 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
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=false
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=false
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=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

本文部分内容参考自senra的博客和雨落无声的博客,在此表示感谢。

weinxin
我的微信公众号
我的微信公众号扫一扫
广告也精彩
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:12   其中:访客  12   博主  0

    • avatar 那一刻的相遇 1

      请问搭建Aria2的vps需要大硬盘么

        • avatar LEI 1

          @那一刻的相遇 你需要下载多大的文件,自己不清楚吗

          • avatar 厘米 9

            @那一刻的相遇 我前段时间买了个罗马尼亚1T硬盘的VPS,无视版权的~

              • avatar 那一刻的相遇 1

                @厘米 这样啊,我懂了,谢谢

                • avatar wtks1 5

                  @厘米 这个VPS贵吗?

                    • avatar 厘米 9

                      @wtks1 前段时间做活动的时候买的不贵,半年14.7欧好像~

                • avatar _admin 0

                  加上无版权的vps 就可以下大姐姐了。

                    • avatar 厘米 9

                      @_admin 无版权的确实自由些。

                    • avatar Sakura 3

                      hostsolutions? 罗马尼亚无版权VPS。

                        • avatar 厘米 9

                          @Sakura 是的,hostcolutions。centos你先yum install epel-release再装试试呢!

                        • avatar Sakura 3

                          No package aria2 available. centos 6.7,更新了也没有

                          • avatar 男主 0

                            欧尼酱图社 – 全网CDN图片分发外链图床–图片分享社区
                            谢谢回访。 :roll: