Aria2 使用实例



本文摘选并整理自《aria2 (命令行下载器)实例》。
aria2 是一个自由、开源、轻量级多协议和多源的命令行下载工具。它支持 HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 协议。aria2 可以通过内建的 JSON-RPC 和 XML-RPC 接口来操纵。aria2 下载文件的时候,自动验证数据块。它可以通过多个来源或者多个协议下载一个文件,并且会尝试利用你的最大下载带宽。默认情况下,所有的 Linux 发行版都包括 aria2,所以我们可以从官方库中很容易的安装。一些 GUI 下载管理器例如 uget 使用 aria2 作为插件来提高下载速度。
一、Aria2 特性
- 支持 HTTP/HTTPS GET
- 支持 HTTP 代理
- 支持 HTTP BASIC 认证
- 支持 HTTP 代理认证
- 支持 FTP (主动、被动模式)
- 通过 HTTP 代理的 FTP(GET 命令行或者隧道)
- 分段下载
- 支持 Cookie
- 可以作为守护进程运行。
- 支持使用 fast 扩展的 BitTorrent 协议
- 支持在多文件 torrent 中选择文件
- 支持 Metalink 3.0 版本(HTTP/FTP/BitTorrent)
- 限制下载、上传速度
二、使用实例
1、默认方式
$ aria2c '下载内容'
下载内容可以是:
- URL
- 种子文件
- 磁力链接
- BitTorrent Metalink 种子
2、使用代理服务器
$ aria2c --all-proxy="[http://][USER:PASSWORD@]HOST[:PORT]" '下载内容'
还可以覆盖此设置,并使用 --http-proxy
、--https-proxy
和 --ftp-proxy
选项为特定协议指定代理服务器。
3、使用不同的名字保存文件
在初始化下载的时候,我们可以使用 -o
(小写)选项在保存文件的时候使用不同的名字。这儿我们将要使用 newname.zip
文件名来保存文件。
$ aria2c -o newname.zip https://test.net/file.tar.bz2
4、下载速度限制
默认情况下,aria2 会利用全部带宽来下载文件,在文件下载完成之前,我们在服务器就什么也做不了(这将会影响其他服务访问带宽)。所以在下载大文件时最好使用 -max-download-limit
选项来避免进一步的问题。
$ aria2c --max-download-limit=500k https://test.net/file.tar.bz2
5、下载多个文件
下面的命令将会从指定位置下载超过一个的文件并保存到当前目录,在下载文件的过程中,我们可以看到文件的(日期、时间、下载速度和下载进度)。
$ aria2c -Z http://test.net/file.zip ftp://ftp.org/wget.tar.gz
6、续传未完成的下载
当你遇到一些网络连接问题或者系统问题的时候,并将要下载一个大文件(例如: ISO 镜像文件),我建议你使用 -c
选项,它可以帮助我们从该状态续传未完成的下载,并且像往常一样完成。不然的话,当你再次下载,它将会初始化新的下载,并保存成一个不同的文件名(自动的在文件名后面添加 .1
)。注意:如果出现了任何中断,aria2 使用 .aria2
后缀保存(未完成的)文件。
$ aria2c -c https://test.net/file.zip
7、从文件获取下载内容
我们需要创建一个文件,将所有 URL 存储在文件中,每个 URL 单独一行。ara2 命令行可以添加 -i
选项来执行此操作。
$ aria2c -i test-aria2.txt
8、每个主机使用多个连接来下载
默认情况,每次下载连接到一台服务器的最大数目,对于一条主机只能建立一条。我们可以通过 aria2 命令行添加 -x2
(2
表示两个连接)来创建到每台主机的多个连接,以加快下载速度。
同时还可以通过 -s2
(2
表示两个连接)来指定文件分为个连接下载。
$ aria2c -x2 -s2 https://test.net/file.zip
9、从密码保护的网站下载一个文件
从一个密码保护网站下载一个文件。下面的命令行将会从一个密码保护网站中下载文件。
$ aria2c --http-user=xxx --http-password=xxx https://test.net/file.zip
$ aria2c --ftp-user=xxx --ftp-password=xxx ftp://ftp.org/wget.tar.gz
10、阅读更多关于 aria2
如果你希望了解了解更多选项 —— 它们同时适用于 wget,可以输入下面的命令行在你自己的终端获取详细信息:
$ man aria2c
# or
$ aria2c --help
三、参考资料
(完)