在linux下,一直为下载困扰,直到发现这个下载神器aria2。

安装aria2

1.Ubuntu安装

sudo apt install aria2

2.手机端安装

2.1 安卓版本5.0及以上,可以安装 termux ,在termux里 pkg install aria2 就行。
2.2 安卓版5.0以下,可以安装 Terminal Emulator。下载相应版本的aria2(1.34及以下是32位,1.35及以上是64位)。解压后拷贝程序 aria2c 到手机 /data/data/jackpal.androidterm/aria2 目录下。运行手机 Terminal Emulator(终端),修改权限为744(chmod 744 /data/data/jackpal.androidterm/aria2/aria2c)。在Terminal Emulator(终端)的首选项>初始命令中,添加一项 export HOME=/data/data/jackpal.androidterm/aria2; cd $HOME。重启终端。

aria2有很强大的功能,既可以单机使用,也可以当作后台下载服务器(需配合前台客户端用)。下面做一个简单介绍,先从最简单的单机下载开始。

使用aria2下载

1.单机下载(命令行方式)

1.1 下载单个文件
例子:aria2c http://host/file.zip 或 aria2c "ftp://host/file.zip"
aria2c -o save.name http://host/file.zip

说明:下载的URL如果有特殊字符,需加单引号或双引号;参数 -o 指定保存文件名。
1.2 从不同服务器下载同一个文件
例子: aria2c "http://server1.com/same.file" "http://server2.com/same.file"
aria2c -P "http://{host1,host2}/same.file"

1.3 从允许多重连接的服务器下载
例子:aria2c -x 2 -k 5M http://example.com/file1.zip
说明:-x 表示允许 2个连接,-k 表示每一块大小是5M
1.4 通过代理下载
例子:aria2c --http-proxy="http://username:passwd@proxy:8080" URL
1.5 下载torrent或metalink
例子:aria2c --follow-torrent=mem http://example.com/file.torrent
aria2c --select-file=1-4,8 file.torrent
aria2c -V file.torrent

说明:默认下载保存torrent文件并下载包含的文件。添加参数 –follow-torrent=mem 表示把torrent保存在内存里;参数 –select-file 可选择仅下载的文件;-V 修复损坏的下载内容
1.6 下载磁力
例子:aria2c "magnet:?xt=urn:btih:012345678901234567890123456789ABCDEFABCD"
1.7 下载多个文件
例子:
aria2c -i list.txt
aria2c -Z -P "http://host/image[000-100].png"
aria2c -Z -P "http://host/imge[A-Z:2].png"

说明:-i表示导入下载文件,list.txt 包含多个下载链接了;-P 表示顺序下载。:2 表示步长。

2.aria2的配置文件

aria2启动时,自动在以下两个目录加载配置文件
$HOME/.aria2/aria2.conf 和
$XDG_CONFIG_HOME/aria2/aria2.conf(通常是$HOME/.config/aria2/aria2.conf)

以下是常用的配置项目:
enable-rpc=true      # 启用RPC
rpc-listen-all=true  # RPC监听所有网络接口,默认只监听本机
rpc-listen-port=6800 # 监听端口
rpc-secret=[token]   # 密钥


max-overall-download-limit=2M # 总体下载限速
max-overall-upload-limit=200K # 总体上传限速
max-connection-per-server=5   # 每个服务器连接数,默认1
max-concurrent-downloads=10   # 同时下载任务数,默认5

dir=/path/to/download  # 下载目录
disk-cache=32M         # 磁盘缓存,默认16M
disable-ipv6=true      # 禁用 ipv6
file-allocation=none   # 磁盘分配模式,默认prealloc,HDD用falloc,手机用trunc,SSD/U盘用none
seed-time=0            # 做种时间
seed-ratio=1.0         # 共享率,达到比例停止做种

input-file=/path/to/downlist.txt # 导入下载列表
save-session=/tmp/aria2.session  # 保存正在下载的内容
save-session-interval=60         # 保存间隔60秒,0表示退出时保存

3.把 aria2 当作下载服务器

服务器端配置:把第2步的 aria2.conf 做适当修改,保存在服务器适当目录,然后运行 aria2c 启动服务器。
客户端配置:到 https://github.com/mayswind/AriaNg/releases 下载最新版的zip文件。AriaNg 有3种工作方式,普通用户下载 All-In-One 的zip就可以了,解压后只有一个文件 index.html,保存在适当目录。然后用浏览器打开这个index.html文档,只需简单配置就可以连接Aria2服务器了。

首先,按左下角的菜单>AriaNg 设置>RPC(localhost:6800),修改”Aria2 RPC地址”为服务器的IP,”Aria2 RPC协议” 选择WebSocket,然后填上”密钥”(服务器配置文件 aria2.conf 的rpc-secret 项)。这样客户端的配置就做完了,最后按提示点击”重新加载AriaNg”。

如果一切正常,会提示”IP:6800已连接”。如果连接失败,请检查网络是否正常,确认服务器IP、RPC协议、密钥等是否填写正确。

使用AriaNg客户端来下载,很直观,也很简单。不仅能方便地添加/管理/删除下载项,还能管理aria2服务器,设置各种参数选项。如果你不了解某个参数的含义,它还提供简单解释,还是中文的哦。

总结

aria2+AriaNg真乃下载神器,功能强大,下载快,占用资源少,绝对是迅雷的理想替代品。服务器和客户端分离,aria2、AriaNg可独立运行于电脑(或手机),也可以同时运行在同一部电脑(手机)上,全都没问题。

后记

有一个联通的机顶盒,安卓版本4.4.2。刷了内置当贝市场的固件之后,可在当贝市场安装ES文件浏览器或RootExplorer,然后用U盘拷贝jackpal.androidterm.apk到机顶盒的 /sdcard,这样就可以在机顶盒安装第三方App了。接下来跟手机一样,拷贝aria2到 /data/data/jackpal.androidterm/aria2,设置好初始命令,这里可以多加一个” ./aria2c”来启动aira2,以免每次启动都要手动输入。

记得修改配置文件 aria2.conf,
dir=/mnt/sda/sda1 #请写外接U盘实际位置
file-allocation=none #保存到U盘时,设置空间分配模式
把改好的配置文件放到 /data/data/jackpal.androidterm/aria2/.aria2 目录下,重启终端。