频道 协议与说明
版本v0.4.1.0 API1.0.0 测试199 通过

协议与说明

四份不长的文档,回答协议本身不会回答的问题:什么会离开你的机器、TurboDL 会连带引入什么、你要为什么负责、以及 MIT 条款到底写了什么。每一份既是仓库里的文件,也是这里的一页。

这四份

开源协议(MIT)

MIT 协议,附四条澄清插件是独立作品的追加条款。原文照录,不做概括。

LICENSE

第三方组件与致谢

TurboDL 会连带引入哪些库、各自什么协议,以及哪些项目提供了思路(但没有提供代码)。

docs/legal/THIRD-PARTY.md

隐私说明

用 TurboDL 的时候,哪些数据会离开你的机器;以及那些永远不会离开的东西。

docs/legal/PRIVACY.md

使用条款

责任、担保、第三方插件与名称使用 —— 协议本身不会展开讲的那部分。

docs/legal/TERMS.md

它会连带引入什么

构建时从 docs/legal/THIRD-PARTY.md 里读出来的 —— 所以这块台账与那个文件不会各说各话。只有 turbodl-core 是必需的;引入本地库的只有 JS 加载器这一个模块。

运行时依赖

Kotlin standard library · 2.0.21 toolchainApache-2.0
kotlinx.coroutines · 1.9.0Apache-2.0
OkHttp · 4.12.0Apache-2.0
Okio · via OkHttpApache-2.0
quickjs-kt · 1.0.15Apache-2.0
QuickJS · bundled with quickjs-ktMIT

全部是宽松协议(Apache-2.0 / MIT),闭源商业集成没有障碍。

什么时候会走网络

五个时机,每一个都由你发起的动作开始。构建时从隐私文档里读出来。

出站请求

You submit a downloadThe URL you gave it. TurboDL contacts that address and nothing else
Segmented downloadThe same URL, with HTTP Range requests for different byte ranges
HLS downloadThe address of the M3U8 playlist, plus the segment addresses written inside that playlist
DNS resolutionYour system resolver; or, if you set TurboConfig.dns, the static hosts or DoH endpoint you chose
ProxyYour proxy server, if you configured one

没有心跳、没有遥测、没有在后台自己发出去的请求。

什么会落到磁盘上

三类文件,都在你指定过的地方旁边。

文件

The downloaded fileWherever you asked it to go
Resume statePer-segment progress, next to the destination file. Cleaned up when the task finishes or is removed
JS plugin sandboxCreated only when the JS loader is used: turbodl-js/<plugin-directory>/ under the working directory, containing storage/ (the plugin's own persistent data) and downloads/ (scratch downloads)

续传状态在任务结束时清理;JS 沙箱只在用到 JS 加载器时才存在。

每一份管什么

四个文件、四个问题。如果其中两份看着有重叠,仓库路径能告诉你哪一份是准的。

docs/ 与仓库根目录

LICENSE开源协议(MIT)
docs/legal/THIRD-PARTY.md第三方组件与致谢
docs/legal/PRIVACY.md隐私说明
docs/legal/TERMS.md使用条款

这些页面就是从那些文件渲染的,改文件即改页面。

为什么写得这么直白

因为不这样写,就没有人会读。这几页说的都是代码真实在做的事,包括那些不方便承认的部分:没有担保、没有签名流程、沙箱隔离的承诺只到分类表为止。如果有哪一句和代码对不上了,那是值得报的 bug,不是可以凑合的细节。