前言
众所周知,aria2 的 http下载线程最高被限制在16,我们可以手动修改源码重新编译来突破线程限制,这里简单介绍一下在Mac自行编译的步骤。
环境准备
1 2 3 4 5 6 7 8 9
   | # 安装 Xcode 命令行工具 xcode-select --install
  # 安装 Homebrew(如果还没装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  # 安装依赖 brew install autoconf automake libtool pkg-config gettext brew install c-ares libssh2 sqlite3 openssl@3
   | 
 
如果之前安装过 aria2,建议先卸载防止冲突
编译步骤
- 下载源码
 
1
   | git clone git://github.com/aria2/aria2.git
   | 
 
- 修改源码
 
- 进入 aria2 目录,修改 src/OptionHandlerFactory.cc 文件
 
1 2
   | cd aria2 vim src/OptionHandlerFactory.cc
   | 
 
- 搜索
MAX_CONNECTION_PER_SERVER将下面的 16 改为 64 
1 2 3
   | OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER,                                           TEXT_MAX_CONNECTION_PER_SERVER,                                           "1", 1, 16, 'x'));
   | 
 
这里稍微介绍一下这几个参数的含义:
- “1” → 默认值(字符串形式,代表默认最大连接数 1)
 
- 1 → 最小值
 
- 16 → 最大值(这个就是限制 max-connection-per-server 的地方,-1表示无限制)
 
- ‘x’ → 命令行短选项 -x
 
1 2 3
   | OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER,                                           TEXT_MAX_CONNECTION_PER_SERVER,                                           "64", 1, -1, 'x'));
   | 
 
- 实际使用不建议使用太高线程可能导致内存/CPU 占用飙升,32或者64已经足够,如果源码不设上限可以在 aria2.conf 配置文件中进行限制,这种方式更自由
 
1 2
   | split=64 max-connection-per-server=64
   | 
 
- 搜索
PREF_MIN_SPLIT_SIZE,将原有参数修改为如下参数: 
1
   | PREF_MIN_SPLIT_SIZE, TEXT_MIN_SPLIT_SIZE, "4K", 1_k, 1_g, 'k'));
   | 
 
- 开始编译
 
1 2 3 4 5 6 7 8 9 10 11
   | # 生成 configure 脚本 autoreconf -i
  # 配置安装到 Homebrew 目录 ./configure --prefix=$(brew --prefix) --with-openssl
  # 编译,使用所有 CPU 核心 make -j$(sysctl -n hw.ncpu)
  # 安装 make install
   | 
 
这样会把 aria2c 安装到 Homebrew 的 bin 目录:
- Apple Silicon: /opt/homebrew/bin/aria2c
 
- Intel: /usr/local/bin/aria2c
 
- 验证
 
1 2 3 4 5
   | # 查看路径 which aria2c
  # 查看版本和最大线程 aria2c -v
   | 
 
这样就完成了 编译安装、突破线程限制、Homebrew 接管 的整个流程。
总结
- 默认 aria2 硬编码限制单服务器最大 16 线程。
 
- 只要修改源码里 OptionHandlerFactory.cc 的 16 → 64 并重新编译,就能突破限制。
 
- 为了方便管理,可以安装到 Homebrew 目录下。
 
Mac安装和使用aria2