Aria2 Next 保留了用户和前端所依赖的核心要素——即 aria2 命令行接口、配置文件、会话文件及 JSON-RPC——同时替换了其底层的核心引擎。各项协议均由相应的专用库负责处理:HTTP(S) 和 SFTP 使用 libcurl,BitTorrent 使用 libtorrent,HLS/DASH 使用 GPAC 和 FFmpeg,状态管理使用 SQLite,而事件循环与 RPC 则基于 Boost.Asio、Beast 和 JSON 实现。其自身编写的代码仅限于现有库未涵盖的功能,包括分段调度、任务队列、ED2K/Kad 支持以及兼容 aria2 的接口层。
这个项目彻底重写了 aria2,终于有人做正确的事了:使用成熟的库而不是自己从头写,稳定性和下载速度都大幅提升。并且难得有软件在意用户内存,核心后台2.2M,前端后台8.5M。
核心 https://github.com/AnInsomniacy/aria2-next
前端 https://github.com/AnInsomniacy/rayburst