跳到正文

项目概览 ​

TypeType 是一组各自独立构建的服务和库,由中心的部署把它们组合在一起。本节面向贡献者、集成者和运营者,帮助他们了解某种行为归哪个仓库负责,以及一个请求如何在系统中流转。

如果你只是想安装一个实例,请从自托管简介开始。如果你使用的是已有的实例,请看用户指南。

系统图 ​

浏览器与网页容器通信。它自带的 nginx 提供 React 应用,并把 API、WebSocket 和播放流量转发给 TypeType-Server。Server 是这个公开网页网关背后的应用与 API 边界;Token、Downloader、PostgreSQL、Dragonfly 和 Garage 都是内部服务。

公开仓库 ​

仓库负责
TypeTypeCompose 部署、nginx、安装脚本、更新、回滚、版本协调以及中心问题跟踪器
TypeType-FrontendReact 路由、界面、设置、账号流程和播放控制
TypeType-ServerHTTP API、提取、账号、用户的私有数据、播放会话和各种集成
TypeType-TokenYouTube PO 令牌、播放器解码、SABR 元数据、字幕,以及远程登录所用的浏览器会话
TypeType-Downloader持久化的下载任务、媒体传输、封装和成品文件
TypeType-Playerfrontend 使用的浏览器 Media Source Extensions 处理流程
TypeType-RPC把你的播放内容显示为 Discord Rich Presence 状态的桌面伴侣程序
TypeType-Signals可选的推荐服务:每位用户自己选择并调整的首页算法
Docs-TypeType面向用户、运营者和项目本身的文档
TypeType-Video/.github组织的主页资料和共享的公开资源

源码入口、本地检查、许可证以及某项改动应该放在哪里,见仓库指南。

重要流程 ​

  • 播放与下载说明 SABR、Player 包、Token 以及 Downloader 的边界。
  • 分支与版本说明 dev、main、各组件的镜像、子模块的固定版本,以及 beta 和稳定版通道。
  • Signals,推荐服务说明可选的首页算法,以及这个服务如何与 Server 配合。
  • 社区来源记录了那些让 TypeType 和这份文档都得到改进的报告与讨论。

权威依据 ​

当文档与实现看起来不一致时,请按以下顺序判断:

  1. 负责该行为的仓库中的源码和测试。
  2. 中心部署当前的 Compose 文件和安装脚本,以及 frontend 自带的 nginx 配置。
  3. 中心仓库的 issues 和讨论,用于了解已知行为、运营者的经验和各项决定。
  4. 本站,用于了解受支持的流程。

文档的改动在作为稳定行为呈现之前,都会对照上述三个上游来源进行核实。一个未关闭的 issue 说明存在问题,但它本身并不是规范;当前版本实际如何表现,仍由负责的源码决定。

参考链接 ​