一、功能介绍
aria2是一款下载工具,它支持http(s)/ftp/BitTorrent/Metalink五种协议,aria2有强大的分块下载能力,它可以通过多个来源和多种协议下载同一个文件,让你的带宽爆满。aria2甚至可以同一时间使用http(s)/ftp/BitTorrent四种协议下载同一个文件(变态),此时他会把http(s)/ftp下载部分使用bt上传。当然,aria2仍然为你提供了前所未有的强大的常规http(s)/ftp下载性能,它提供了metalink协议的验证纠错功能。
aria2还自动验证通过BT协议下载的数据的正确性。
支持cookie,有些地址需要cookie才能下载,例如linuxsir的附件你单把地址复制到命令行用mytget下载是不行的。aria2能功过参数制定cookie文件,而且能自动载入firefox的cookie
支持断电续传,之所以强,是他支持除了aria2自身产生的断点续传文件外,还支持浏览器的和wget产生的断点文件
http代理,以及通过http代理的ftp代理?
支持多线程,但默认为1,需要参数'-s'设定线程数,但用BT/metalink协议自动多线程。
其具体下载功能有多强大,可以看下维基百科上的一个下载工具排名就知道了:http://zh.wikipedia.org/wiki/%E4%B8%8B%E8%BD%BD%E7%AE%A1%E7%90%86%E5%99%A8
二、安装
在 Debian/Ubuntu 中,你可以在终端执行如下指令来安装 aria2:
sudo apt-get install aria2
如果你使用 Fedora Core,那么可以使用下列命令:
sudo yum install aria2
如果是其他linux版本也可以使用源码包安装:
Wget http://ncu.dl.sourceforge.net/project/aria2/stable/aria2-1.13.0/aria2-1.13.0.tar.bz2或
Axel http://ncu.dl.sourceforge.net/project/aria2/stable/aria2-1.13.0/aria2-1.13.0.tar.bz2
tar jxvf aria2-1.13.0.tar.bz2
Cd aria2-1.13
./configure
make&&make install
三、用法
aria2 是命令行程序,使用非常简单。
一般使用 使用 aria2 下载文件,只需在命令后附加地址即可。如:
aria2c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2
当下载https报如下错误时,可以添加--check-certificate=false参数来忽略证书
aria2c https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
08/21 10:15:51 [ERROR] CUID#6 - Download aborted. URI=https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
Exception: [AbstractCommand.cc:304] errorCode=1 URI=https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
-> [SocketCore.cc:1128] errorCode=1 Certificate verification failed. Cause: `not signed by known authorities or invalid' `issuer is not known' See --ca-certificate and --check-certificate option.
08/21 10:15:51 [NOTICE] Download GID#35904c4b45cfaa11 not complete:
下载结果:
gid |stat|avg speed |path/URI
======+====+===========+=======================================================
35904c|ERR | 0B/s|https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
状态标识:
(ERR):发生错误。
重新启动aria2,自动继续下载文件
如果发生任何错误,请参阅日志文件。要了解详细信息,请在help/man页面中参阅'-l'选项。
表示为:
aria2c --check-certificate=false https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
分段下载 利用 aria2 的分段下载功能可以加快文件的下载速度,对于下载大文件时特别有用。为了使用 aria2 的分段下载功能,你需要在命令中指定 s 选项。如: aria2c -s 2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2 这将使用 2 个连接来下载该文件。s 后面的参数值介于 1~5 之间,你可以根据实际情况选择。
断点续传 在命令中使用 c 选项可以断点续传文件。如: aria2c -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2
下载 torrent 文件 你也可以使用 aria2 下载 BitTorrent 文件。如: aria2c -o gutsy.torrent http://cdimage.ubuntu.com/daily-live/current/gutsy-desktop-i386.iso.torrent
关于 aria2 的更多用法,可以通过 man aria2c 查阅
其配置文件位于~/.aria2/aria2.conf
设置上传和下载:aria2c --max-download-limit=100K --max-upload-limit=10K
同时下载两个BT文件aria2c -j2 file1.torrent file2.torrent
查看BT文件内的内容aria2c -S file1.torrent
选择下载文件那几个文件aria2c --select-file=1-4,8 file.torrent
给下载的文件设定路径并重命名aria2c --dir=/tmp --index-out=1=mydir/base.iso --index-out=2=dir/driver.iso file.torrent
详细说明也可以参看http://sourceforge.net/apps/trac/aria2/wiki页面
详细参数说明http://aria2.sourceforge.net/aria2c.1.html#aria2_optref_metalink_enable_unique_protocol
四、总结
上图是使用aria2利用bt下载一个700多MB的一个文件的一个截图。当然上图不是平均速度,也是不最大速度,也不是最小速度。因为基于BT 资源的下载速度是随时变化的。我上面下载的这个文件速度最大时也能到600多KB/s,最低时也有几十K /s 。
最后我测试了该文件下载完成用了大概一个小时多点的时间,有兴趣的朋友也可以算下速度。个人感觉如此牛X 的CLI 界面下载并不比windows下的迅雷逊色多少。
当然该软件也有gui界面。不习惯命令行的童鞋也可以安装下gui包。除此之外,该软件还是一款跨平台的软件,不但能在linux下使用,也具有windows版和mac版。
后记:后来看到磁力下载这个BT2.0下载的新概念,经测试,发现aria2竟然也支持。
用法如下:
aria2c magnet:?xt=urn:btih:AQWTG32X5UZQEV2JA7JHJMWWCJ2VUQBQ -d test/
-d test/是指明下载文件保存在test目录。