Libtorrent 2.1 发布,纳入 WebTorrent 协议
libtorrent 2.1 现已发布。这是一款面向低内存占用和高效 CPU 使用而设计的 BitTorrent 协议实现,已被 Deluge、qBittorrent、Folx、Lince、Miro、Flush、Free Download Manager 等 torrent 客户端,以及部分网络存储服务采用。libtorrent 使用 C++ 编写,采用 BSD 许可证发布。
新版本默认支持 WebTorrent 协议。该协议扩展了 BitTorrent,可通过连接访问内容的用户浏览器,构建去中心化的内容分发网络。网站只需嵌入一段使用 WebRTC 的 JavaScript 代码,即可让访客的浏览器直接交换数据,并将他们接入同一个内容分发网络。
将 WebTorrent 集成到 libtorrent 后,内容既可以通过桌面 torrent 客户端分发,也可以通过网站访客的浏览器分发,从而构建融合 BitTorrent 和 WebTorrent 的混合网络。基于 libtorrent 的 torrent 客户端可以连接运行在浏览器中的 WebTorrent 节点,例如通过 instant.io 分享文件的节点;而基于浏览器的 WebTorrent 客户端,也可以通过桌面用户经 TCP/UDP 连接的 BitTorrent 节点,访问由其分发的 torrent 集合。
除支持 WebTorrent 外,libtorrent 2.1 还引入了新的 I/O 后端 pread_disk_io。它使用 pwritev 和 preadv 函数,同时对多个缓冲区进行原子读写。该后端在处理磁盘驱动器、网络存储以及通过 FUSE 挂载的文件系统时效率更高,因此在这些场景下默认启用。对于 NVMe 驱动器,使用 mmap 进行文件映射的旧后端效率更高,仍然是默认选项。
来源:opennet.ru