http多源下载原理
http协议可以在request head指定range, 也就是可以将文件分片下载,可以用下面的命令测试http服务器是否支持range,这个命令指定下载文件的第3和4个字节(字节从0开始编号),保存到r3文件
curl ":8600/dl/" -i -H "Range: bytes=2-3" --output r3
安装aria2c
Ubuntu 20
apt install aria2
Win 10
在下面的release页下载最新的win 10 x64可执行程序
/aria2/aria2/releases
当前的最新版本是
/aria2/aria2/releases/download/release-1.36.0/aria2-1.36.
解压缩以后直接得到,无需安装
使用aria2下载
aria2c在win 10和ubuntu 20上的使用方法是一致的
查看命令选项
aria2c -h
aria2c可以指定从多个下载源下载同一个文件以加快下载速度,每个下载源最好用""包起来,因为链接中包含的特殊字符很可能被bash误解
比如:
aria2c -o .lz4 -x 4 -s 12 "http://website1/" "http://website2/" "http://website3/"
就指定了3个下载源同时提供文件的下载,每个主机的最大连接数是4,所以总的连接数设置成12。
-x 指定对单个下载源主机的最大连接数,默认为1, 所以这个一定要自己设置成较大的值
-j 指定对单个下载源URL的最大连接数,默认为5
-s 指下载使用的连接数,这个连接数会均匀分布到指定下载源上,一般设置成单个最大连接数*下载源的个数
-d 指定下载到本机的文件夹路径
-o 指定下载到本机的文件名
-c 断点续传
比如下面这个命令是从单个下载源使用5个连接下载:
aria2c -x 5 -j 5 -s 5 "//ANSYS_Products_2022_R1_x64_Multilingual.rar?md5=L_GVBcs1806dII8MbYbmrg&expires=1658450651"
参考资料:
Ubuntu最强大的下载工具-aria2 ()
/2022/04/
ubuntu下断点续传工具 aria2 - lexus - 博客园 ()
/lexus/archive/2012/02/11/#:~:text=aria2%20%E6%98%AF%20Linux%20%E4%B8%8B%E4%B8%80%E4%B8%AA%E4%B8%8D%E9%94%99%E7%9A%84%20%E9%AB%98%E9%80%9F%E4%B8%8B%E8%BD%BD%E5%B7%A5%E5%85%B7%20%E3%80%82.%20%E7%94%B1%E4%BA%8E%E5%AE%83%E5%85%B7%E6%9C%89%E5%88%86%E6%AE%B5%E4%B8%8B%E8%BD%BD%E5%BC%95%E6%93%8E%EF%BC%8C%E6%89%80%E4%BB%A5%E6%94%AF%E6%8C%81%E4%BB%8E%E5%A4%9A%E4%B8%AA%E5%9C%B0%E5%9D%80%E6%88%96%E8%80%85%E4%BB%8E%E4%B8%80%20%E4%B8%AA%E5%9C%B0%E5%9D%80%E7%9A%84%E5%A4%9A%E4%B8%AA%E8%BF%9E%E6%8E%A5%E6%9D%A5%E4%B8%8B%E8%BD%BD%E5%90%8C%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E3%80%82.,http%20%28s%29%20%E5%92%8C%20ftp%20%E5%8D%8F%E8%AE%AE%E5%A4%96%EF%BC%8Caria2%20%E8%BF%98%E6%94%AF%E6%8C%81%20BitTorrent%20%E5%8D%8F%E8%AE%AE%E3%80%82.
aria2安装和使用(Ubuntu 20/Win 10)- 多源多连接可断点续传下载工具 - 简书