打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
修改源码突破aria2线程限制
userphoto

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://iyoumu.top/archives/22.html

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
C# 5.0异步编程Async/Await
Bootstrap 进度条
aria2 web前端 部署指南 openwrt 离线下载
查看带宽管理系统TC定义的规则
TOMCAT常用优化
UGUI源码学习之初涉Text(二)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服