如何用 aria2 打造 Mac 上强大的下载工具

花火田丁 花火田丁 2020-02-16 15:38:04 +0000

题图来自于NextDay


很久没有在 Mac 上正经下载过东西了,大多都先存在某网盘里,然后通过网盘客户端下载,一些小文件基本就通过浏览器下载。

这两天需要从 AWS 和 GitHub 上下载文件,文件本身并不大,但这两个网站从国内连接不太稳定,于是用浏览器下载,一会儿就断掉,从头来过,所以急需一个便捷好用的断点下载工具。

原本记得安装过一个叫 SpeedTao 的软件,可以满足基本的下载需求,但大概因为版本不兼容被我清理掉了,现在 Mac 上只剩下了一个 Thunder,对,就是迅雷,那时候要下 BT 文件才装的,但一直对它没什么好感,结果,把链接粘贴进去,报错闪退了,正好有了一个删除它的理由。

作为一台开发用的 Mac 电脑,怎么能缺少一个强大的下载工具呢,于是我找到了 aria2,它是一个命令行工具,我一贯的原则是命令行工具优于 GUI 工具,在我看来,GUI 有时候简直是累赘,但为了 User Friendly(用户友好) 也是没办法。不过既然是下载工具,在终端界面里粘贴下载地址的确有些不方便,于是我找到了一个极简的 GUI,一个用 HTML+ JavaScript 写的网页客户端 —— AriaNg。

aria2 是一款支持多种协议的轻量级命令行下载工具。有以下特性:

多线程连线:aria2 会自动从多个线程下载文件,并充分利用你的带宽;

轻量:运行时不会占用过多资源,根据官方介绍,内存占用通常在 4MB-9MB,使用 BitTorrent 协议,下行速度 2.8MB/s 时 CPU 占用率约 6%;

全功能 BitTorrent 客户端;

支持 RPC 界面远程控制。

接下来就开始,如何通过 aria2 + AriaNg 搭建一个既清爽又强大的下载工具。

第一步,安装 aria2

通过 homebrew 安装,不知道这个是什么的,请自行搜索。

打开 Terminal(终端),输入如下命令

brew install aria2

稍等一会儿,终端界面会开始下载依赖库,并安装 aria2,类似这样的界面:

图片来自终端截图,版权归作者所有

耐心等待所有命令执行完即可。

第二步,配置 aria2

通过写配置文件完成对 aria2 的初始配置。

cd ~
mkdir .aria2
cd .aria2
touch aria2.conf

在 Finder(访达)上右击,选择「前往文件夹」(或者在打开的 Finder 中 按 Shift + Command + G),输入以上配置文件的地址:

图片来自截图,版权归作者所有

进入文件夹后,用记事本打开 aria2.conf 文件,将以下内容粘贴进去(雪月秋水君 提供),其中有些配置项可以根据需要修改。出于安全考虑,认证方式建议用 token 的形式。

注意替换 YourToken和 YourUserName

#用户名
#rpc-user=user
#密码
#rpc-passwd=passwd
#上面的认证方式不建议使用,建议使用下面的token方式
#设置加密的密钥
rpc-secret=YourToken
#允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许外部访问,false的话只监听本地端口
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=5
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=10
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
max-overall-upload-limit=0
#单文件速度限制
max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#文件保存路径, 默认为当前启动位置
dir=/Users/YourUserName/Downloads
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc « prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc

修改完毕后保存文件。

第三步,启动 aria2

在 Terminal 中输入以下命令,注意将 XXX 替换成实际的路径

aria2c --conf-path=/Users/XXX/.aria2/aria2.conf -D

第四步,安装 AriaNg

也可以通过命令行去安装,这里用一种更简单的方法。去 GitHub 上下载作者打包好的单文件版本,目前最新版是 1.1.4

https://github.com/mayswind/AriaNg/releases
图片来自截图,版权归原作者所有

解压出来有两个文件,License 是授权文件不用管,用浏览器打开 index.html

图片来自截图,版权归作者所有

第五步,配置 AriaNg

在打开的 index.html 左侧菜单找到 AriaNg 设置,将第二步中你设置的 token 填入密钥位置。保存后刷新页面,同时你会看到 Aria2 状态 显示为「已连接」。

图片来自截图,版权归原作者所有

好了,点击「新建」按钮添加下载链接开始吧。

彩蛋

1.aria2 + 某度网盘 有惊喜(得益于 aria2 所支持的「RPC 界面远程控制」),请自行搜索研究

2.想一想,怎么把 aria2 设置成开机自启动




关于「HOW TO」系列

这个系列的初衷,我在 回归初心 中提到的,因为平时写的关于「WHY」或者心理活动方面的文章,「HOW TO」系列更偏向于实用。另外一点在于,我发现,有些本行业内认为小儿科或者不值得一提的工具或者方法,对于大多数行业外的人来说,还是比较陌生的,本着「抛砖引玉」的想法,想让大家可以通过这些「砖」打开思路,也可以了解到一些平常不太接触得到的一些东西。

旧文参考:

如何用 Swift 写一个手电筒 App

如何快速制作「一图看懂」

如何用 GitHub 搭建个人博客

如何用 RSSHub 打造个性阅读器

QuickTime Player 实用技巧

如何用 ImageMagick 处理图片

如何用 iMovie 做看上去很高级的视频

如何用 Python 写一个最简单的爬虫

如何用 ffmpeg 处理视频

如何用 ifttt 做一些自动化提醒



撒欢吧
谈理想
聊人生
讲故事
相对论
花火田丁
微信号:huahuoding
花火田丁
不折腾不人生