- 本文施工中...
简介
实现效果:在VPS主机上安装aria2下载软件用作离线下载,能够远程管理下载,下载完成后能够通过HTTP(或其他任何你愿意的方式)从VPS取回,若VPS拥有IPv6地址,校园网用户可以免IPv4流量取回。
此VPS可以兼作aria2下载机和ss番强代理机...
不足:aria2本身不支持删除下载任务中的文件,所以,不论是下载完成后已经不需要的文件,还是删除任务放弃下载的文件,都要手动登陆主机去删除。
需要条件
运行Linux操作系统的VPS一个,本文以Debian 9为例。
校园网IPv6用户,可以考虑使用Vultr的Storage Instance套餐主机,5美刀/月,包括一个125GB的HDD,虽然HDD较慢,但相比20GB的SSD明显更适合用作下载。
- 优先速度,使用Los Angeles主机,北美西部访问延迟较低,速度较快。
- 优先容量,使用New York(NJ)主机,目前可以免费领取一个50G空间的Block Storage,这个空间好像是SSD的,但在系统里是另一块硬盘,管理稍有不便。
- IPv4用户可以使用Tokyo主机,多数情况下访问速度比北美快,由于IPv6要绕路北美,反而比美国西部的主机更慢。
(更新,125G的HDD机现在常年售罄状态...)
VPS上安装、配置Aria2
- 安装
在Ubuntu、Debian上安装Aria2非常方便,SSH远程登录VPS后执行如下命令即可:
# apt update
# apt install aria2
其他操作系统可以访问aria2官网获取下载、安装信息。
- 配置&启动
$ aria2c $HOME/.aria2/aria2.conf/root/.aria2/aria2.conf--conf-path--no-conf
- 首先创建配置文件:
# cd ~ # 进入HOME目录
# mkdir .aria2 # 创建文件夹
# cd aria2 # 进入文件夹
# touch aria2.conf # 创建配置文件
# touch aria2.session # 会话文件,若开启session会用到
#
##### RPC Options #####
# 开启JSON-RPC/XML-RPC服务,从而能够通过其接口控制aria2,默认为true
enable-rpc=true
# 指定访问端口号,默认6800
rpc-listen-port=6800
# 允许所有访问来源,web控制界面跨域需要,默认false
rpc-allow-origin-all=true
# 允许除local loopback以外的网卡访问,默认false,远程控制需要
rpc-listen-all=true
# 外部访问安全令牌,强烈建议设置token并记住
rpc-secret=123456
# 若不设置token,也可通过用户名密码访问,现版本不建议使用
# rpc-user=<username>
# rpc-passwd=<passwd>
##### Advance Options #####
# 以守护进程方式后台运行,默认为false,也可在启动aria2c时加上-D选项达到相同效果
daemon=true
# 磁盘缓存,可设为0禁用,默认16M。
disk-cache=16M
# 磁盘空间分配模式,可选none,prealloc,trunc,falloc,默认prealloc
# 若完整分配,官方建议ext4、NTFS使用falloc快速分配,可以瞬间完成分配
# FAT32、ext3建议使用prealloc,如果此时使用falloc分配时间和prealloc相当,分配时会造成aria2卡顿
file-allocation=falloc
# 使用会话文件保存信息,并能够从意外错误(断电等)错误中恢复
save-session=/root/.aria2/aria2.session
# 指定开启时读取会话文件的位置
input-file=/root/.aria2/aria2.session
# 定期保存会话,默认0为只在退出时保存
save-session-interval=60
##### Basic Options #####
# 下载路径
dir=/root/Downloads
# 最大同时下载任务数量,默认为5
max-concurrent-downloads=20
# 若下载速度低于此值(Byte/s),会被自动暂停,速度可以有K或M等后缀,对BT下载无效
#lowest-speed-limit=0
# 每个下载任务对单个服务器最大的链接数量,默认为1
max-connection-per-server=10
# 任务分块大小,当下载文件大小大于两倍于此设置时,会被分块下载,默认20M
min-split-size=20M
# 任务分块数量,默认为5
split=10
- 可以通过伪装方式进行PT下载,参考下列设置,但请谨慎尝试
# DHT(若torrent禁用,即使设置为true也不会启用)
# enable-dht=false
# enable-dht6=false
# 本地查找(若torrent禁用,即使设置为true也不会启用)
# bt-enable-lpd=false
# 本地peer交换(若torrent禁用,即使设置为true也不会启用)
# enable-peer-exchange=false
# 客户端伪装
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
daemon=true
# aria2c
aria2即会在后台运行。
通过Web管理Aria2
比较靠谱的Aria2 Web管理界面有webui-aria2, AriaNG, yaaw三种,介绍如下:
Clone or download
对于AriaNG,个人认为管理能力更强一些,其官网如下:
http://ariang.mayswind.net/zh_Hans/
release发布地址:
https://github.com/mayswind/AriaNg/releases
最新每日构建:
https://github.com/mayswind/AriaNg-DailyBuild/archive/master.zip
安装、配置AriaNG
如果服务器上没有Web服务器软件,可以安装nginx:
# apt install nginx
/etc/nginx/sites-available/defaultroot /var/www/htmlvar/www/html
下载Aria2,例如当前版本为0.2.0,并解压、移动到相应目录:
# wget https://github.com/mayswind/AriaNg/releases/download/0.2.0/aria-ng-0.2.0.zip
# unzip aria-ng-0.2.0.zip -d ./airang
# sudo mv ./airang/* /var/www/html/
然后重启nginx服务
# service nginx restart
AriaNG设置
如果AriaNG部署在VPS中,那么安全起见,建议给Web设置访问密码。
首先安装apache2-utils,其包含用于生成密钥文件的工具htpasswd
# apt install apache2-utils
/var/www/auth
# cd /var/www
# sudo mkdir auth
# cd auth
在这里使用htpasswd生成验证所需的文件
$ htpasswd -c -d ./nginx_auth [你希望的登录用户名,例如admin]
nginx_auth
/etc/nginx/sites-available/defaultserver
auth_basic "Authrization";
auth_basic_user_file /var/www/auth/nginx_auth;
重启nginx
$ sudo service nginx restart
此时再访问AriaNG页面会要求用户名、密码。
配置文件取回功能
我们希望aria2下载好文件后,我们能够通过浏览器访问下载目录,并能下载文件。可以搭建HTTP或FTP服务来实现这一功能。通常HTTP和FTP搭建的文件服务,可以使用下载工具,一些服务软件(如nginx)还可以支持多线程下载、断点续传。
使用nginx搭建HTTP文件服务
http://[主机IP地址或域名]:8080
/etc/nginx/sites-available/
# cd /etc/nginx/sites-available/
# touch file # 创建一个名为file的文件
打开file,做如下配置:
server {
listen 8080 default_server;
listen [::]:8080 default_server;
root /root/Downloads; # 这里使用下载文件夹的绝对路径
server_name _;
auth_basic "Authrization";
auth_basic_user_file /var/www/auth/nginx_auth; # 同样要求密码登陆
location / { # 使nginx自动生成文件列表
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
/etc/nginx/sites-enabled/
# cd /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-available/file ./file
/etc/nginx/nginx.conf
# user www-data;
user root; # 或者其他具有下载文件夹访问权限的用户名称
www-data
http://[主机IP地址或域名]:8080index.htmlindex.php
通过aria2下载百度云、115网盘内容
Todo
开启TCP-BBR提高取回速度
uname -r
查看内核,需要为4.9或更高,否则需要手动升级Linux内核。
如下操作开启TCP BBR
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
查看系统设置,确认已经打开BBR
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control