aria2
官方解释
aria2 is a utility for downloading files. The supported protocols are HTTP(S), FTP, SFTP, BitTorrent, and Metalink. aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. It supports downloading a file from HTTP(S)/FTP/SFTP and BitTorrent at the same time, while the data downloaded from HTTP(S)/FTP/SFTP is uploaded to the BitTorrent swarm. Using Metalink’s chunk checksums, aria2 automatically validates chunks of data while downloading a file like BitTorrent.
通俗解释
一个全速下载神器,支持各种主流协议。
官方仓库和文档
https://github.com/aria2/aria2
https://aria2.github.io/manual/en/html/
安装配置
下载aria2 及 web-ui 面板
点击上方官方仓库选择对应版本下载并解压,可以看到以下文件:
此处选用AriaNg作为web-ui,当然也有其他界面(webui-aria2等),自行选择即可。
链接:https://github.com/mayswind/AriaNg
aria2配置
在aria2文件夹下新建.conf/.log/.session文件,然后打开并写入以下信息:
点击查看
##===================================##
## 文件保存相关 ##
##===================================##
# 文件保存目录
dir=C:\aria2\Download
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
# 断点续传
continue=true
#日志保存(想生成日志取消注释即可)
# log=aria2.log
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=prealloc
##===================================##
## 下载连接相关 ##
##===================================##
# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=100
# 同一服务器连接数, 添加时可指定, 默认:1
# 官方的aria2最高设置为16, 如果需要设置任意数值请重新编译aria2
max-connection-per-server=16
# 整体下载速度限制, 运行时可修改, 默认:0(不限制)
max-overall-download-limit=0
# 单个任务下载速度限制, 默认:0(不限制)
max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0(不限制)
max-overall-upload-limit=0
# 单个任务上传速度限制, 默认:0(不限制)
max-upload-limit=0
# 禁用IPv6, 默认:false
disable-ipv6=false
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
# 建议同max-connection-per-server设置为相同值
split=16
##===================================##
## 进度保存相关 ##
##===================================##
# 从会话文件中读取下载任务
input-file=aria2.session
# 在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
##===================================##
## RPC相关设置 ##
##此部分必须启用,否则无法使用WebUI
##===================================##
# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许外部访问, 默认:false
rpc-listen-all=true
# RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=<yourcode>
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>
# 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<PASSWD>
# 启动SSL
# rpc-secure=true
# 证书文件, 如果启用SSL则需要配置证书文件, 例如用https连接aria2
# rpc-certificate=
# rpc-private-key=
##===================================##
## BT/PT下载相关 ##
##===================================##
# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 打开IPv6 DHT功能, PT需要禁用
enable-dht6=true
# DHT网络监听端口, 默认:6881-6999
dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
bt-enable-lpd=true
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
# 每个种子限速, 对少种的PT很有用, 默认:50K
bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
force-save=true
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
# 单个种子最大连接数, 默认:55 0表示不限制
bt-max-peers=0
# 最小做种时间, 单位:分
# seed-time = 60
# 分离做种任务
bt-detach-seed-only=true
#BT Tracker List ;下载地址:https://github.com/ngosang/trackerslist
bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.internetwarriors.net:1337/announce,udp://tracker.opentrackr.org:1337/announce
以上配置信息来源于网络,也可以根据官方文档自配。
C:\aria2\aria2-1.35.0-win-64bit-build1>aria2c --conf-path=aria2.conf |
web-ui 面板及设置
进入AriaNag点击index.html则可进入web-ui管理面板
输入在aria2.conf里面找到 “rpc-secret=
(yourcode为一串你想设置的任何代码,个人理解为验证身份,如后续有理解再更新)
命令行下载测试
C:\aria2\aria2-1.35.0-win-64bit-build1>aria2c https://dldir1.qq.com/qqfile/qq/PCTIM2.3.2/21158/TIM2.3.2.21158.exe -l /aria2.log |
web-ui 测试下载(配合tampermonkey脚本)
速度仅供参考:
BaiDuExporter 导出aria2下载链接
官方插件仓库:https://github.com/acgotaku/BaiduExporter
将.crx加载到chrome 扩展中并进行以下配置:
默认自动生成配置,但是在最新版aria2,则还需要配置相应的token来重新设置rpc地址
Example: htp://token:yourtoken@hostname:port/
默认:hostname–localhost port–6800 如果aria2中设置了token则需要将其进行如上添加
此时再进行导出链接或者直接点击aria2 prc则自动调用填好的地址里本地安装的aria2
总结
aria2真的是一个非常强大的工具,就其原理将在下篇文章提到RPC等目前前沿且非常重要的互联网技术!
本文均是用于学习研究用途,请勿用于商业用途,谢谢合作!