Aria2 魔改解除线程数限制

简介

Aria2 是强大的下载工具,相信很多人都听说过。它对于多种下载协议和多线程的支持相当不错,但不知道出于什么原因,官方把单一服务器的最大线程数限制到了 16。有些时候由于网络环境的限制,我们往往会愿意以更高的资源消耗来换取更快的速度,因此本文将会介绍魔改出无限制版 aria2 的方法。

特性

在参考了吾爱破解的这个帖子后,我制作了一个补丁,进行了如下修改:

  • 默认开启断点续传
  • 默认同时下载数改为 128
  • 默认同服务器连接数改为 64,解除了之前 16 的限制
  • 默认最小分片大小改为 1M
  • 默认超时改为 30s
  • 分片大小的最小单位改为精确到 KB
  • 默认重试次数改为 2 次
  • 默认分片数量改为 128
  • 默认不检查证书(单纯为了下载,事实上存在安全隐患)
  • 修改了源码中对于 std::make_unique 的定义,使其在 macOS 上也能正常编译

使用方法

可以直接参考我在 GitHub 上的对应项目,在这里大致翻译一下:

下载 aria2 源码

1
$ git clone https://github.com/aria2/aria2.git

应用补丁

1
2
3
$ git clone https://github.com/hguandl/aria2-patch.git
$ cd aria2
$ patch -p1 < ../aria2-patch/aria2-fast.patch

编译

Linux 用户请直接参考官方的安装指南

macOS 用户可以参考如下流程:

  1. Homebrew 安装依赖包,并设置环境变量以使用 gettext

    1
    2
    $ brew install autoconf automake libtool gettext pkg-config
    $ export PATH="/usr/local/opt/gettext/bin:$PATH"
  2. 编译并安装:

    1
    2
    3
    $ autoreconf -i
    $ ARIA2_STATIC=yes CXXFLAGS="-O2 -std=c++14" ./configure --prefix=/usr/local
    $ make install

开源协议

GPL v2