Files
re-teamspeak/src

ReTeamSpeak

跨平台 TeamSpeak 客户端,支持 Windows、macOS、Linux、iOS 和 Android。

功能特性

  • 高质量语音通信 (Opus 编解码器)
  • 文本聊天
  • 文件传输
  • 安全加密通信 (AES-128-EAX)
  • 跨平台支持
  • 现代化 UI 界面
  • 全局热键支持
  • 系统通知

支持平台

平台 状态
Windows 支持
macOS 支持
Linux 支持
iOS 支持
Android 支持

项目结构

re-teamspeak/
├── src/                          # 源代码
│   ├── shared/                   # 共享类型定义
│   │   └── src/
│   │       ├── lib.rs           # 库入口
│   │       ├── types.rs         # 核心类型
│   │       ├── events.rs        # 事件定义
│   │       ├── errors.rs        # 错误类型
│   │       └── config.rs        # 配置管理
│   │
│   ├── tscore/                   # 协议核心层
│   │   └── src/
│   │       ├── lib.rs           # 库入口
│   │       ├── protocol/        # 协议实现
│   │       │   ├── packet.rs    # 数据包处理
│   │       │   ├── types.rs     # 协议类型
│   │       │   └── commands.rs  # 命令解析
│   │       ├── crypto/          # 加密模块
│   │       │   ├── eax.rs       # EAX 加密
│   │       │   ├── keys.rs      # 密钥管理
│   │       │   └── hash.rs      # 哈希函数
│   │       ├── network/         # 网络模块
│   │       │   ├── socket.rs    # Socket 抽象
│   │       │   └── resolver.rs  # 地址解析
│   │       └── connection/      # 连接管理
│   │           ├── client.rs    # 客户端
│   │           └── state.rs     # 状态机
│   │
│   ├── tsaudio/                  # 音频引擎
│   │   └── src/
│   │       ├── lib.rs           # 库入口
│   │       ├── capture.rs       # 音频采集
│   │       ├── playback.rs      # 音频播放
│   │       ├── codec.rs         # Opus 编解码
│   │       ├── vad.rs           # 语音活动检测
│   │       └── buffer.rs        # 抖动缓冲
│   │
│   ├── tsdb/                     # 数据存储
│   │   └── src/
│   │       ├── lib.rs           # 库入口
│   │       ├── identity.rs      # 身份管理
│   │       ├── bookmark.rs      # 书签管理
│   │       ├── message.rs       # 消息管理
│   │       └── config.rs        # 配置存储
│   │
│   └── tauri-app/                # Tauri 应用
│       ├── src-tauri/           # Rust 后端
│       │   ├── src/
│       │   │   ├── lib.rs       # 库入口
│       │   │   ├── main.rs      # 主入口
│       │   │   ├── commands.rs  # Tauri 命令
│       │   │   └── state.rs     # 状态管理
│       │   ├── Cargo.toml       # Rust 依赖
│       │   └── tauri.conf.json  # Tauri 配置
│       └── frontend/            # React 前端
│           ├── src/
│           │   ├── main.tsx     # 入口
│           │   ├── App.tsx      # 主组件
│           │   └── styles.css   # 样式
│           ├── package.json     # npm 依赖
│           └── vite.config.ts   # Vite 配置
│
├── docs/                         # 文档
│   ├── protocol.md              # 协议分析
│   ├── protocol_stack.md        # 协议栈分析
│   ├── architecture.md          # 架构设计
│   ├── components.md            # 组件设计
│   └── requirements.md          # 需求分析
│
├── build.sh                      # Linux/macOS 构建脚本
├── build.bat                     # Windows 构建脚本
└── Cargo.toml                    # Rust workspace 配置

快速开始

环境要求

  • Rust: 1.70.0 或更高版本
  • Node.js: 18.0.0 或更高版本
  • npm: 9.0.0 或更高版本

平台特定要求

Windows:

  • Visual Studio 2019 或更高版本(带 C++ 桌面开发工作负载)
  • Windows 10 SDK

macOS:

  • Xcode 14 或更高版本
  • Command Line Tools

Linux:

sudo apt update
sudo apt install -y \
  libwebkit2gtk-4.0-dev \
  libappindicator3-dev \
  librsvg2-dev \
  patchelf \
  libssl-dev \
  libasound2-dev \
  libdbus-1-dev \
  libgtk-3-dev \
  libsoup2.4-dev \
  libjavascriptcoregtk-4.0-dev

Android:

  • Android Studio
  • Android SDK 33 或更高版本
  • NDK 25 或更高版本

iOS:

  • Xcode 14 或更高版本
  • CocoaPods

安装

git clone https://github.com/re-teamspeak/re-teamspeak.git
cd re-teamspeak

# 安装前端依赖
cd src/tauri-app/frontend
npm install

构建

# Linux/macOS
./build.sh all       # 构建所有平台
./build.sh desktop   # 仅构建桌面应用
./build.sh android   # 仅构建 Android 应用
./build.sh ios       # 仅构建 iOS 应用

# Windows
build.bat all
build.bat desktop

开发模式

cd src/tauri-app/src-tauri
cargo tauri dev

技术栈

后端 (Rust)

用途
Tauri v2 跨平台桌面应用框架
tokio 异步运行时
aes/ea