使用 aria2


安装 并 配置 aria2


0 什么是 aria2

aria2 是一个用于下载的命令行工具,支持 HTTP(S), FTP, SFTP, BitTorrent, and Metalink 。

原本使用 QQ旋风,可最近发现它不好用了,上网搜索原因,原来是腾讯停止了该服务。

经过一番倒腾,找到了 aria2 。想到它同时支持 Linux/Windows ,以后也切换系统也方便。

1 安装 aria2

1.1 下载并安装 aria2 主程序

aria2官网 下载最新的版本,如: aria2-1.34.0-win-64bit-build1.zip 。并将其内容解压到 aria2 目录下。

这个压缩包中主要就一个名为 aria2c.exe 的程序,另外还有一些版本声明等文件。

文件名 功能
aria2c.exe aria2 主程序
AUTHORS 说明文档-作者
ChangeLog 说明文档-改动日志
COPYING 说明文档-许可证
LICENSE.OpenSSL 许可证
NEWS 说明文档-升级日志
README.html 说明文档
README.mingw 说明文档

1.2 下载控制脚本

下载 aria2 控制脚本 aria2_bat.zip ,并解压至 aria2 目录。

aria2_bat.zip 中有以下文件:

文件名 功能
Boot.bat 将 aria2 设置/取消 成开机启动
Restart.bat (以无 cmd 窗口方式)重启 aria2
Start.bat 启动 aria2 的批处理文件(有 cmd 窗口)
Start.vbs 启动 aria2 的批处理文件(无 cmd 窗口)
Status.bat 查看 aria2 运行状态的批处理文件
Stop.bat 停止 aria2 的批处理文件

使用 Boot.bat 设置开机启动,在 win 10 下无法正常工作(其它 windows 系统没有测试),提示说“系统找不到指定的文件”,原因是:开机运行 Start.vbs 时,并没有切换到 aria2 目录,导致无法找到 aria2c.exe。变通的方案:将 Start.vbs 的快捷方式拖到 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup (也就是通常所说的 “菜单”->“启动”)中。如果不想开机启动,再将快捷方式删除即可。

1.3 下载配置文件

aria2完全可以只使用命令行参数来进行控制,但有使用一个配置文件还是更方便一点。

下载 aria2 配置文件 aria2_conf.zip

aria2_conf.zip 中有以下文件:

文件名 功能
aria2.conf aria2 的配置文件。在 Start.bat 中指定使用本文件作为配置文件
aria2.session 保存下载的会话信息,这里只是一个空文件。 在 aria2.conf 中进行指定了文件名
dht.dat  

1.4 启动 aria2

执行 Start.bat 或 执行 Start.vbs

或者考虑通过 Boot.bat 将 aria2 添加到开机启动中 。

1.5 停止 aria2

执行 Stop.bat

2 安装 UI 界面

aria2 只是一个命令行程序,没有UI界面。我们可以为其增加一个 Web UI。常见有以下几种方式,使用其中一种即可。

Chrome 和 FireFox 都能正常工作, Edge 和 IE 则不行。

2.1 使用 AriaNg

进入 AriaNg官网 下载最新的 AllInOne 的压缩包,如 AriaNg-1.0.0-AllInOne.zip 。并解压至 aria2 目录。

文件名 功能
index.html 实现与 aria2 交互的页面
LICENSE 版权说明文件

双击 index.html 即可。

WebUI-Aria2 相比,AriaNg 只有一个文件,但却会在浏览器中形成更多的访问记录,应该是页面刷新没有做好。

如果只在本机上使用 aria2 、习惯于Chrome浏览器,并且在Chrome中安装了 Camtd - Aria2下载管理器 插件 ,则不单独安装 AriaNg 也行。

2.2 使用 WebUI-Aria2

执行以下命令,获取最新的 WebUI-Aria2 版本。

git clone https://github.com/ziahamza/webui-aria2

进入下载得到的 webui-aria2 目录中的 docs 子目录,双击 index.html 即可。

如果没有安装 git,可以直接 下载zip包 ,解压后也会得到 webui-aria2-master 目录。

3 配置 Web 服务器(可选)

如果想要让其它计算机也能使用安装在本机上的 aria2 ,则需要提供一个 Web 服务器。

3.1 下载 Web 服务器

下载 Web 服务器,并解压至 aria2 目录。

压缩包中就一个名为 EasyWebSvr.exe 的文件。(当然也可以采用其它的 Web 服务器)

3.2 启动 Web 服务器

双击 EasyWebSvr.exe

在浏览器中,访问 http://localhost

如果是其它机器访问,则需要将 localhost 更换成安装 aria2 机器的 IP 地址,如: http://10.1.1.1

  • 如果是与 AriaNg 配合使用,不需要特殊设置(只要两者都安装在同一目录即可)
  • 如果是 WebUI-Aria2 ,则需要在 EasyWebSvr.exe 的小图标中,选择右键菜单中的“设置”,然后将“服务器”的“主目录”设置为 WebUI-Aria2 得到的 docs 子目录。(当然也可以考虑直接将 EasyWebSvr.exe 放在 docs 子目录中,不过不直观)

4 集成浏览器(可选)

4.1 Chrome

在 Chrome 中安装以下插件中的一个:

  • 添加到aria2 :插件只将下载任务发送给 aria2 。使用本插件时, aria2 不能配置 rpc-secret。
  • Camtd - Aria2下载管理器 : 插件中集成了 AriaNg 界面,将任务发送给 aria2

4.2 FireFox

在 FireFox 安装以下插件:

  • Aria2 下载器集成组件 : 插件中集成了 AriaNg 界面,将任务发送给 aria2。 (等同于 Chrome 中的“Camtd - Aria2下载管理器”)

5 Ubuntu 下安装及配置

5.1 安装及配置 aria2

执行命令安装

sudo apt-get install aria2

为了方便管理,可以

  1. 在用户 $HOME 目录下创建一个 aria2 的子目录,
  2. aria2 目录下创建 confdownload 两个子目录。
  3. 在 conf 子目录创建一个空的 aria2.session 文件
  4. AriaNg 拷贝到 conf 子目录

相关命令如下:

mkdir aria2
cd aria2
mkdir conf  download # 创建 conf 和 download 子目录
touch conf/aria2.session

aria2c https://github.com/mayswind/AriaNg/releases/download/1.0.0/AriaNg-1.0.0-AllInOne.zip
unzip AriaNg-1.0.0-AllInOne.zip  # 解压下载的文件
mv index.html conf   # 将解压得到的 index.html 移到 conf 子目录

最后,将 windows 下的 aria2.conf 文件拷贝到 conf 子目录,然后修改 aria2.conf :

  1. 文件保存目录 dir 修改为刚才创建的 download 目录的绝对路径。

这样, aria2 的安装、配置就算完成了。

5.2 安装及配置 nginx

为了让其它机器能够访问 Ubuntu 上的 aria2 ,所以需要为其添加一个 WEB 服务。这里选择 nginx 的 light 版本。

执行以下命令进行安装:

sudo apt-get install nginx-light

安装完成后,进入 /etc/nginx/sites-enabled 目录, 将原有的 default(实际上是指向 /etc/nginx/sites-available/default 的一个软链接),拷贝一份为 aria2,然后删除 default

sudo cp default aria2
sudo unlink default

修改 aria2 文件中的内容:

server {
	listen 12345 default_server;
	listen [::]:12345 default_server;
	root /home/xxx/aria2/conf;

主要修改三项:两个 listen 端口(修改成 12345) 和 一个 root 目录(修改成 AriaNg 的 index.html 所在的绝对路径)

这样, nginx 也算配置好了。

通过以下命令启动或配置 nginx

sudo nginx          # 启动 nginx
sudo nginx -s stop  # 停止 nginx 运行
sudo nginx restart  # 重新启动 nginx

5.3 运行

~/aria2/conf 目录下,启动 aria2

aria2c --conf-path=aria2.conf

为了让 aria2c 能够在后台运行,可以创建一个 aria2.sh 的脚本。内容为:

#!/bin/bash

cd ~/aria2/conf
screen -dmS aria2 aria2c --conf-path=aria2.conf 

脚本先进入 ~/aria2/conf 目录,然后通过 screen 命令,启动 aria2c 并将其驻留后台。

5.4 开放端口

Ubuntu需要开放两个端口,不然其它的机器可能无法访问:

  1. nginx 的监听端口(如:配置文件中的 12345)
  2. aria2 的端口端口(缺省为 6800)

5.5 更简单一点

我们知道,配置 WEB 服务(nginx)的目的,是让我们可以访问到 AriaNg 的 index.html(有 WebUI-Aria2 也是一样的)。

如果我们能够确保自己机器(如:Windows)上已经有 AriaNg 的 index.html,那么,Ubuntu上实际并不需要配置 WEB 服务(nginx)。

可以直接让我们Windows上的浏览器打开本机 AriaNg 的 index.html,将 AriaNg设置 中的 Aria2 RPC地址 配置为 Ubuntu 的IP 和 aria2c 的监听端口就可以了。

使用这种方法,可以减少一个 Ubuntu 开放端口,也减少了安装Web服务的工作。特别适用于在个人云主机的 Ubuntu 上使用。

参考



声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权,转载请注明出处。