TLD Core 项目介绍

封面

TLD Core 项目介绍

一、项目概述

TLD Core(TaiLerDownloader Core) 是一款高性能、跨平台、多语言可调用的下载引擎内核,由 TT23XR Studio 开发,采用 GNU AGPL v3.0 协议开源(有赦免直接用官方提供的动态链接库的,可以不用遵循 AGPL 开源)。它旨在为各类应用程序提供专业级的文件下载能力,让开发者无需从零实现复杂的下载逻辑,即可快速集成稳定、高效的下载功能。

TLD Core 是原 TTHSD Golang 版本的 Rust 重写版本,在性能、内存安全、平台兼容性等方面均有显著提升。原 Golang 版本已停止维护,官方建议新项目直接使用 TLD。


二、核心特性

1. 原生支持 7 种下载协议

  • HTTP/HTTPS:动态分片 + TLS 指纹伪装,支持最多 64 个并发连接。
  • HTTP/3 (QUIC):自动探测 Alt-Svc 头,无缝升级至 QUIC 协议。
  • FTP / FTPS:支持匿名和密码认证,二进制传输。
  • SFTP (SSH):基于 SSH 隧道,支持密码和密钥认证。
  • BitTorrent / Magnet:完整 DHT + PEX 网络,支持种子与磁力链接。
  • ED2K (eMule):通过 HTTP 网关代理下载,无需电驴客户端。
  • Metalink 4.0:解析 XML 镜像元数据,自动选择最优镜像。

2. 覆盖 6 大平台

支持 Windows、Linux、macOS、Android、HarmonyOS、iOS,并提供对应 64 位架构的动态库(含 ARM 版本)。其中,HarmonyOS 支持是 TLD 独有的优势,市面罕见。

3. 支持 8 种以上语言绑定

通过标准 C ABI 暴露接口,官方提供以下语言的封装:

  • Rust、Python、Java/Kotlin、C#、Node.js、C/C++、Godot、Go

每种语言的接口设计保持一致,学习成本低,开箱即用。

4. 极致性能与稳定性

  • 基于 Rust + Tokio 异步运行时,无 GC 停顿,内存占用极低(约 10–20 MB)。
  • 实现 动态分片 + 工作量窃取算法,最大化带宽利用率。
  • 支持自动重试(指数退避)、速度限制、代理(HTTP/HTTPS/SOCKS5)、自定义请求头等。
  • 内置性能监控(实时速度、峰值速度)和 Prometheus 指标导出。

三、技术架构

TLD Core 编译为平台原生动态库,上层通过接口封装(如 tld_interface.py)直接调用 C 函数,无中间层性能损耗。其核心模块包括:

  • 下载任务调度器
  • 多协议路由工厂
  • 分块管理器与进度追踪器
  • 自适应并发控制
  • 缓冲区对象池

四、适用场景

  • 桌面应用:软件更新器、资源下载工具、媒体文件下载器。
  • 游戏开发:游戏资源下载、补丁更新、DLC 内容获取(尤其适合 Godot 引擎)。
  • 后端服务:批量文件处理、数据同步、内容分发辅助。
  • 移动应用:通过 JNI / HarmonyOS 接口在 Android 或鸿蒙 App 中执行后台下载任务。

五、与主流下载引擎对比

维度 TLD aria2 libcurl reqwest
核心语言 Rust C++ C Rust
集成方式 原生库 + 多语言绑定 RPC 外部进程 C 库 + FFI Rust crate
多线程分片 ✅ 内置 ✅ 内置 ❌ 需自实现 ❌ 需自实现
ED2K 支持 ✅ 独家
HTTP/3 支持
HarmonyOS ✅ 独家
SFTP 支持

TLD 在协议丰富度、平台覆盖、语言绑定广度上均处于领先地位,尤其适合需要多协议、跨平台、易集成的开发者。


六、开源协议与未来计划

  • 开源协议:GNU AGPL v3.0,适合开源项目使用;商业使用可联系获取双许可。
  • 版本管理:严格遵循语义化版本 2.0.0,支持 dev / internal / alpha / beta / rc 预发布阶段。
  • 未来方向:完善 WebAssembly 支持、性能基准测试、企业服务与云 API。

总结

TLD Core 不仅是一个下载库,更是一套 完整的多协议下载解决方案。它结合了 Rust 的高性能与内存安全、广泛的语言绑定、罕见的协议支持(如 ED2K、SFTP、HTTP/3)以及独特的鸿蒙平台兼容性,是开发者在桌面、移动、游戏、后端等领域集成下载功能的理想选择。

项目官网、文档、GitHub 地址请参考文档页脚链接。

评论 (0)

登录 后发表评论
暂无评论,快来抢沙发吧~