分享

修改源码突破aria2线程限制

 aocks 2018-08-18

众所周知,aria2的下载线程最高被限制在16,这对于下载普通的文件基本够用了,可是对于百度云的文件来说是远远不够的,我们可以手动修改源码编译,突破线程限制。
环境:Debian 9

安装依赖,准备编译环境

apt install -y gcc libgnutls28-dev nettle-dev libssh2-1-dev libc-ares-dev libxml2-dev zlib1g-dev libsqlite3-dev pkg-config libcppunit-dev autoconf automake autotools-dev autopoint libtool git

拉取并修改源码

git clone https://github.com/aria2/aria2.gitvi aria2/src/OptionHandlerFactory.cc

OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER, TEXT_MAX_CONNECTION_PER_SERVER, '1', 1, 16, 'x'));

修改为

OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER,                                               TEXT_MAX_CONNECTION_PER_SERVER,                                               '128', 1, -1, 'x'));

PREF_MIN_SPLIT_SIZE, TEXT_MIN_SPLIT_SIZE, '20M', 1_m, 1_g, 'k'));

修改为

PREF_MIN_SPLIT_SIZE, TEXT_MIN_SPLIT_SIZE, '4K', 1_k, 1_g, 'k'));

PREF_CONNECT_TIMEOUT, TEXT_CONNECT_TIMEOUT, '60', 1, 600));

修改为

PREF_CONNECT_TIMEOUT, TEXT_CONNECT_TIMEOUT, '30', 1, 600));

PREF_PIECE_LENGTH, TEXT_PIECE_LENGTH, '1M', 1_m, 1_g));

修改为

PREF_PIECE_LENGTH, TEXT_PIECE_LENGTH, '4k', 1_k, 1_g));

new NumberOptionHandler(PREF_RETRY_WAIT, TEXT_RETRY_WAIT, '0', 0, 600));

修改为

new NumberOptionHandler(PREF_RETRY_WAIT, TEXT_RETRY_WAIT, '2', 0, 600));

new NumberOptionHandler(PREF_SPLIT, TEXT_SPLIT, '5', 1, -1, 's'));

修改为

new NumberOptionHandler(PREF_SPLIT, TEXT_SPLIT, '8', 1, -1, 's'));

改完后:wq保存退出

编译

autoreconf -i./configuremake && make install //如果你之前安装了aria2请先卸载

结束,Enjoy!


版权属于:半吊子的静树

本文链接:https:///archives/22.html

转载时须注明出处及本声明

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多