docs: 修改 TURN 部署指南并新增环境说明

This commit is contained in:
2026-08-20 09:50:29 +08:00
parent 48dc443a31
commit d65c30a6fb
2 changed files with 270 additions and 25 deletions

141
README.md
View File

@@ -1,36 +1,127 @@
安装 turnserver
# VibeCoding — WebRTC 远程控制系统
sudo apt update
sudo apt install coturn -y
本仓库为多端单体仓库monorepo1 个 Spring Boot 信令服务器 + 1 个后台管理前端 + 1 个 Android 被控端 + 5 个控制端Android / iOS / Flutter / Web+ 1 个独立 ADB 回环工具。
sudo cp /etc/turnserver.conf /etc/turnserver.conf.bak
sudo vim /etc/turnserver.conf
> 标注 **(待填写)** 的项表示尚未确认,请按实际环境补充。
# 监听
listening-ip=0.0.0.0
listening-port=3478
---
# 公网 IP云服务器这里必须填公网 IP不是内网 IP
external-ip=你的公网IP
## 一、WebRTCSignalServer — 信令服务器Spring Boot
# 认证WebRTC 必须,否则客户端连不上)
lt-cred-mech
user=testuser:testpass
realm=yourdomain.com # 随便填个域名也行,但不能不填
| 项目 | 值 |
|---|---|
| 工程类型 | Spring Boot 应用Maven |
| 框架版本 | Spring Boot 4.1.0 |
| 语言 / JDK | Java 25 |
| IDE | IntelliJ IDEA 2025.3.1 |
| 运行端口 | 8080 |
| 外部依赖 | MySQLJPA 持久化、Redis在线状态 / 频控 / nonce / 踢线广播) |
| 构建命令 | `mvn clean package` / `mvn spring-boot:run` |
| 配置入口 | `src/main/resources/application.yml`(敏感项走环境变量) |
# 中继端口范围TURN 转发媒体用
relay-port-range=49152-65535
## 二、WebRTCSignalServerWeb — 后台管理前端Vue3 + TS
# 日志
verbose
| 项目 | 值 |
|---|---|
| 工程类型 | Vue 3 SPATypeScriptESM |
| Vue | ^3.5.12 |
| TypeScript | ^5.6.3 |
| Vite | ^5.4.10 |
| Pinia / Vue Router | ^2.2.4 / ^4.4.5 |
| UI 组件库 | Element Plus ^2.8.4 |
| Node.js | 24.14.1 |
| 包管理器 | npm |
| dev 端口 | 5180 |
| 命令 | `npm run dev` / `npm run build`(含 `vue-tsc --noEmit`/ `npm run preview` |
sudo ufw allow 3478/udp
sudo ufw allow 3478/tcp # WebRTC 可选但建议
sudo ufw allow 49152:65535/udp # TURN 中继端口
## 三、WebRTCControlled — Android 被控端
sudo systemctl restart coturn
sudo systemctl enable --now coturn
systemctl status coturn # 看是不是 active (running)
| 项目 | 值 |
|---|---|
| 语言 | JavaJava 8 |
| IDE | Android Studio Panda 4 \| 2025.3.4 Patch 1 |
| applicationId | `com.ttstd.controlled` |
| compileSdk | 34 |
| minSdk | 24 |
| targetSdk | 34 |
| Gradle Wrapper | 8.13 |
| Android Gradle Plugin | 8.13.2 |
| JDK 版本 | 21 |
| 签名配置 | 依赖外部 `config.gradle``keypub` / `crosshatch` / `zhanxun`),不在仓库内 |
| 构建命令 | `gradlew.bat assembleDebug`Windows/ `./gradlew assembleDebug` |
turnutils_uclient -v -u testuser -w testpass 你的公网IP
## 四、WebRTCController — Android 控制端
| 项目 | 值 |
|---|---|
| 语言 | JavaJava 8 |
| IDE | Android Studio Panda 4 \| 2025.3.4 Patch 1 |
| applicationId | `com.ttstd.controller` |
| compileSdk | 34 |
| minSdk | 24 |
| targetSdk | 34 |
| Gradle Wrapper | 8.13 |
| Android Gradle Plugin | 8.13.2 |
| JDK 版本 | 21 |
| 签名配置 | 同被控端,依赖外部 `config.gradle` |
| 构建命令 | `gradlew.bat assembleDebug`Windows/ `./gradlew assembleDebug` |
## 五、webrtc_controller_flutter — Flutter 控制端(跨平台)
| 项目 | 值 |
|---|---|
| 工程类型 | Flutter AppAndroid + iOS |
| Dart SDK | ^3.12.2 |
| IDE | Android Studio Panda 4 \| 2025.3.4 Patch 1 |
| Flutter 版本 | 待填写channel: stable |
| Android compileSdk / minSdk / targetSdk | 跟随 Flutter 默认(`flutter.compileSdkVersion` / `flutter.minSdkVersion` / `flutter.targetSdkVersion`,具体值待确认) |
| Android 编译兼容 | Java 17jvmTarget 17 |
| iOS Deployment Target | 13.0 |
| iOS Swift 版本 | 5.0 |
| Gradle Wrapper | 8.14 |
| 依赖管理 | pub核心`flutter_webrtc ^1.5.2` |
| 命令 | `flutter pub get` / `flutter run` / `flutter analyze` |
## 六、webrtc_controller_ios — 原生 iOS 控制端
| 项目 | 值 |
|---|---|
| 工程类型 | iOS AppUIKit + SwiftUI 混合) |
| 语言 | Swift 5.0 |
| iOS Deployment Target | 15.0 |
| Xcode 版本 | 16 |
| 依赖管理 | Swift Package Manager无 CocoaPods |
| 关键依赖 | WebRTCSPM 远程包) |
| 构建方式 | 用 Xcode 打开 `webrtc_controller_ios.xcodeproj` 运行 |
## 七、WebRTCControllerWeb — 网页控制端Vue3 + JS
| 项目 | 值 |
|---|---|
| 工程类型 | Vue 3 SPA纯 JavaScript无 TypeScript |
| Vue | ^3.4.21 |
| Vite | ^5.2.0 |
| 控制指令编码 | protobufjs ^7.3.2(浏览器原生 WebRTC API |
| Node.js | v24.14.1 |
| 包管理器 | npm |
| dev 端口 | 5173`/api``/ws/signal` 代理到信令服务器) |
| 命令 | `npm run dev` / `npm run build` / `npm run preview` |
## ~~八、AdbLoopbackController — ADB 回环控制工具(独立)~~
| 项目 | 值 |
|---|---|
| 工程类型 | Android App纯 Java |
| 语言 | JavaJava 8 |
| IDE | Android Studio Panda 4 \| 2025.3.4 Patch 1 |
| applicationId | `com.ttstd.adbloopback` |
| compileSdk | 34 |
| minSdk | 24 |
| targetSdk | 34 |
| Gradle Wrapper | 8.13 |
| Android Gradle Plugin | 8.1.4 |
| JDK 版本 | 21 |
| 签名配置 | 依赖外部 `config.gradle``keypub` |
| 构建命令 | `gradlew.bat assembleDebug`Windows/ `./gradlew assembleDebug` |
---