# zeetier-server **Repository Path**: owls/zeetier-server ## Basic Information - **Project Name**: zeetier-server - **Description**: No description available - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-28 - **Last Updated**: 2025-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebRTC 会议服务器 (TypeScript版本) 一个基于WebRTC的实时视频会议服务器,使用TypeScript开发。 ## 功能特性 - 🎥 实时视频通话 - 🎤 音频通话支持 - 👥 多人会议 - 🔗 自动P2P连接 - 📱 响应式界面 - 🚀 TypeScript开发 ## 技术栈 - **后端**: Node.js + Express + Socket.IO + TypeScript - **前端**: HTML5 + WebRTC + JavaScript - **信令服务器**: Socket.IO - **ICE服务器**: 阿里云STUN服务器 ## 项目结构 ``` Zeetier-server/ ├── src/ # TypeScript源代码 │ ├── types/ # 类型定义 │ │ └── index.ts │ ├── socketHandler.ts # Socket.IO处理逻辑 │ ├── routes.ts # HTTP路由管理 │ └── server.ts # 主服务器文件 ├── dist/ # 编译后的JavaScript文件 ├── public/ # 静态文件 │ └── join.html # 前端页面 ├── package.json ├── tsconfig.json # TypeScript配置 ├── nodemon.json # 开发环境配置 └── README.md ``` ## 安装和运行 ### 安装依赖 ```bash npm install ``` ### 开发模式 ```bash npm run dev ``` ### 生产模式 ```bash # 构建项目 npm run build # 启动服务器 npm start ``` ### 其他命令 ```bash # 清理构建文件 npm run clean # 监听模式构建 npm run build:watch ``` ## API接口 ### 创建会议 ``` GET /create ``` 返回会议ID和加入链接 ### 加入会议 ``` GET /join?room=会议ID ``` 返回会议页面 ### 获取会议列表 ``` GET /meetings ``` 返回当前活跃的会议列表 ### 获取特定会议信息 ``` GET /meeting/:id ``` 返回指定会议的详细信息 ## 使用方法 1. 启动服务器 2. 访问 `http://localhost:3000/create` 创建会议 3. 复制返回的会议ID 4. 访问 `http://localhost:3000/join?room=会议ID` 加入会议 5. 允许浏览器访问摄像头和麦克风 6. 开始视频通话 ## 开发说明 ### TypeScript特性 - 完整的类型定义 - 接口和类型安全 - 类和方法封装 - 模块化设计 ### 主要类 - `SocketHandler`: 处理Socket.IO连接和WebRTC信令 - `RouteHandler`: 管理HTTP路由 - 类型定义: 在 `src/types/index.ts` 中定义所有接口 ### 扩展功能 可以轻松添加以下功能: - 用户认证 - 会议录制 - 屏幕共享 - 聊天功能 - 会议管理 ## 部署 ### 环境变量 - `PORT`: 服务器端口 (默认: 3000) ### Docker部署 ```dockerfile FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . RUN npm run build EXPOSE 3000 CMD ["npm", "start"] ``` ## 许可证 MIT License