Files
re-teamspeak/docs/README.md
T
ReTeamSpeak ea08823c97
CI/CD / Build Frontend (push) Failing after 11s
CI/CD / Test (macos-latest) (push) Has been cancelled
CI/CD / Test (windows-latest) (push) Has been cancelled
CI/CD / Build Desktop (linux) (push) Has been cancelled
CI/CD / Build Desktop (macos) (push) Has been cancelled
CI/CD / Build Desktop (windows) (push) Has been cancelled
CI/CD / Release (push) Has been cancelled
CI/CD / Test (ubuntu-latest) (push) Failing after 2s
Initial commit: ReTeamSpeak cross-platform TeamSpeak client
- tscore: Protocol implementation (packets, crypto, connection handshake)
- tsaudio: Audio engine (capture, playback, codec, VAD, jitter buffer)
- tsdb: SQLite database (identities, bookmarks, messages, settings)
- shared: Core types and events
- tauri-app: Tauri v2 desktop application with React frontend
- docs: SRS, SAD, SDD documentation
- CI/CD: GitHub Actions workflow
- 32 unit tests passing
2026-05-12 14:41:54 +09:00

79 lines
3.0 KiB
Markdown

# TeamSpeak 逆向工程分析文档
本文档包含对 TeamSpeak 3 协议和相关代码库的分析结果,用于指导后续开发工作。
## 文档结构
- **[protocol.md](protocol.md)** - TeamSpeak 3 协议详细分析
- **[protocol_stack.md](protocol_stack.md)** - TeamSpeak 3 协议栈深度分析(层次结构、加密机制、可靠传输等)
- **[architecture.md](architecture.md)** - 系统架构分析 (SAD)
- **[components.md](components.md)** - 组件设计分析 (SDD)
- **[requirements.md](requirements.md)** - 需求分析 (SRS)
## 参考代码库
本分析基于以下参考代码库:
### 1. tsdeclarations
- **位置**: `refercence/tsdeclarations/`
- **描述**: TeamSpeak 3 协议的机器可读定义,包含消息、数据包、枚举、错误码等定义
- **关键文件**:
- `ts3protocol.md` - 协议详细规范
- `Packets.txt` - 数据包结构定义
- `Messages.toml` - 消息定义
- `Book.toml` - 数据结构定义
- `Enums.toml` - 枚举类型定义
- `Errors.csv` - 错误码定义
### 2. tsclientlib
- **位置**: `refercence/tsclientlib/`
- **描述**: Rust 实现的 TeamSpeak 客户端库,提供高级 API
- **关键组件**:
- `tsclientlib` - 主客户端库
- `tsproto` - 底层协议实现
- `ts-bookkeeping` - 客户端/频道状态管理
- `tsproto-packets` - 数据包解析
- `tsproto-structs` - 协议结构体
- `tsproto-types` - 基础类型定义
### 3. Qint
- **位置**: `refercence/Qint/`
- **描述**: 现代化的 TeamSpeak 客户端,基于 Tauri 框架
- **技术栈**:
- 后端: Rust (Tauri)
- 前端: TypeScript/JavaScript
- 代理层: Rust (websocket/web)
### 4. SimpleBot
- **位置**: `refercence/SimpleBot/`
- **描述**: 简单的 TeamSpeak 聊天机器人,展示 tsclientlib 的使用
- **功能**: 连接到服务器,响应特定消息,支持脚本执行
### 5. ts3stats
- **位置**: `refercence/ts3stats/`
- **描述**: TeamSpeak 3 服务器统计工具
- **技术栈**: Python
- **功能**: 分析服务器日志,生成用户统计图表
## 协议概述
TeamSpeak 3 使用基于 UDP 的自定义协议,具有以下特点:
1. **加密**: 使用 AES-128-CTR + OMAC (EAX 模式)
2. **压缩**: 使用 QuickLZ 算法
3. **分片**: 支持大数据包分片传输
4. **可靠性**: 使用选择性重传机制确保可靠传输
5. **身份验证**: 使用 ECDH 密钥交换和 RSA 拼图防攻击
## 开发建议
基于分析结果,建议开发工作遵循以下原则:
1. **协议兼容性**: 严格遵循 tsdeclarations 中的协议定义
2. **代码复用**: 优先使用 tsclientlib 作为底层库
3. **模块化设计**: 参考 Qint 的架构,分离前端、代理和核心逻辑
4. **测试覆盖**: 参考 SimpleBot 的测试方法,确保协议兼容性
## 法律声明
本分析仅用于学习和研究目的。TeamSpeak 是 TeamSpeak Systems GmbH 的商标。开发的客户端应遵守相关法律法规,不得用于商业用途或侵犯 TeamSpeak 的商业模式。