前言
最近需要从本地传一个文件到纽约的buyvm服务器(千兆带宽、Debian9),奈何本地带宽小加上速度不理想,就尝试先传到onedrive上,再利用oneindex下载到目标服务器,说干就干,经过简单的google搜索,可以知道:wget是不支持多线程下载的,可以尝试安装其他应用。
正文
本文尝试使用两款工具:axel和aria2
由于我服务器使用的是debian9系统,所以也以debian9为例
axel
安装
安装步骤很简单:
首先去github下载其releases包
- wget https://github.com/axel-download-accelerator/axel/releases/download/v2.17.9/axel-2.17.9.tar.bz2
复制代码
解压并打开解压后的文件夹:
- tar -xjvf axel-2.17.9.tar.bz2
- cd axel-2.17.9
复制代码
安装程序
- ./configure && make && make install
复制代码
创建软链接
- ln ./axel /usr/bin/axel
复制代码
之后可以尝试运行命令:axel –version 试试是否已成功安装。
使用
语法
- axel [options] url1 [url2] [url…]
复制代码
选项
- –max-speed=x , -s x # 最高速度x
- –num-connections=x , -n x # 连接数x
- –output=f , -o f # 下载为本地文件f
- –search[=x] , -S [x] # 搜索镜像
- –header=x , -H x # 添加头文件字符串x(指定 HTTP header)
- –user-agent=x , -U x # 设置用户代理(指定 HTTP user agent)
- –no-proxy , -N # 不使用代理服务器
- –quiet , -q # 静默模式
- –verbose ,-v # 更多状态信息
- –alternate , -a # Alternate progress indicator
- –help ,-h # 帮助
- –version ,-V # 版本信息
复制代码
例子,以10个线程下载vultr的测试文件:
- axel -n 10 http://sjo-ca-us-ping.vultr.com/vultr.com.1000MB.bin
复制代码
可以看到速度非常夸张(差不多跑满了带宽):
aria2
由于axel在通过在线oneindex的文件时总是出现一些奇怪的问题(cloudflare 500错误等),这里尝试换用aria2进行下载
安装
由于debian内置源存有aria2的包,那么这里可以直接通过apt-get下载:
- apt-get install aria2
复制代码
使用
具体的命令参数就不贴了,网上有很多了,就举个简单例子好了:
- aria2c -x [线程数] [URL]
复制代码
可以看到效果不错,速度提升很明显(wget下载速度1.6M/s左右)