# 远程桌面监控系统 **Repository Path**: yanglichen/remote-desktop ## Basic Information - **Project Name**: 远程桌面监控系统 - **Description**: 一个基于Python的远程桌面监控系统,支持多台电脑实时监控,无需数据库,轻量级部署。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-07 - **Last Updated**: 2026-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 远程桌面监控系统 一个基于Python的远程桌面监控系统,支持多台电脑实时监控,无需数据库,轻量级部署。 ## 功能特点 - ✅ **实时屏幕监控** - 高帧率(最高30FPS)实时查看远程电脑画面 - ✅ **多设备管理** - 同时监控多台电脑 - ✅ **在线状态检测** - 实时显示设备在线/离线状态 - ✅ **无感运行** - 客户端可后台静默运行 - ✅ **无需数据库** - 纯内存存储,部署简单 - ✅ **Web管理界面** - 现代化的响应式UI - ✅ **Docker支持** - 一键Docker部署 ## 系统架构 ``` ┌─────────────────┐ ┌─────────────────┐ │ 客户端 (Client) │ WebSocket │ 服务端 (Server) │ │ │◄────────►│ │ │ 屏幕捕获+传输 │ │ FastAPI + WS │ │ client.py │ │ Web界面 │ └─────────────────┘ └─────────────────┘ │ ▼ ┌─────────────────┐ │ 浏览器 (Browser) │ │ 实时监控界面 │ └─────────────────┘ ``` ## 快速开始 ### 前提条件 - Python 3.8+ - Docker(用于服务端部署) - Windows系统(客户端) ### 1. 部署服务端(在服务器上) #### 方式一:Docker部署(推荐) ```bash # 进入项目目录 cd d:\AI-WORK\ycjs # 使用部署脚本(Windows) deploy.bat # 或手动执行: docker-compose build docker-compose up -d ``` 部署成功后访问:**http://192.168.8.169:3000** #### 方式二:直接运行(开发调试) ```bash # 安装依赖 pip install -r requirements.txt # 启动服务端 python server.py ``` ### 2. 在每台目标电脑上启动客户端 #### 方式一:直接运行Python脚本(需要Python环境) 双击运行 `start_client.bat` 或命令行: ```bash # 基础用法(连接默认服务器) python client.py # 自定义参数 python client.py --server ws://192.168.8.169:3000 --fps 20 --quality 80 # 后台静默运行(无窗口) python client.py --hide ``` #### 方式二:使用打包好的EXE(推荐,无需Python环境) 1. 先在本机运行 `build_exe.bat` 打包客户端 2. 将 `dist` 文件夹复制到目标电脑 3. 双击 **`启动客户端.bat`** 即可静默运行(无窗口,无感监控) 4. 或直接双击 `RemoteDesktopClient.exe`(有窗口模式) ### 3. 打开浏览器查看 在任意浏览器打开:**http://192.168.8.169:3000** 即可看到所有已连接的设备列表,点击"实时监控"按钮可全屏查看该设备的实时画面。 ## 客户端参数说明 | 参数 | 缩写 | 默认值 | 说明 | |------|------|--------|------| | `--server` | `-s` | `ws://192.168.8.169:3000` | 服务器WebSocket地址 | | `--id` | `-i` | 自动生成 | 自定义客户端ID | | `--fps` | `-f` | `15` | 目标帧率 (1-30) | | `--quality` | `-q` | `75` | JPEG画质 (1-100) | | `--hide` | | 无 | 隐藏控制台窗口 | ## 性能优化建议 ### 服务端优化 - 根据同时监控的设备数量调整服务器配置 - 建议使用千兆局域网以获得最佳效果 ### 客户端优化 - **低带宽环境**:降低帧率和画质 ```bash python client.py --fps 10 --quality 50 ``` - **高质量需求**:提高参数 ```bash python client.py --fps 25 --quality 85 ``` - **平衡推荐**(默认值): ```bash python client.py --fps 15 --quality 75 ``` ## 文件说明 ``` remote-desktop-monitor/ ├── server.py # 服务端主程序 ├── client.py # 客户端主程序 ├── requirements.txt # Python依赖 ├── Dockerfile # Docker构建文件 ├── docker-compose.yml # Docker编排文件 ├── web/ │ └── index.html # Web管理界面 ├── start_server.bat # 服务端启动脚本 ├── start_client.bat # 客户端启动脚本 ├── start_client_silent.bat # 客户端静默启动脚本 ├── deploy.bat # Docker部署脚本 ├── build_exe.bat # 客户端打包成EXE的脚本 └── dist/ # 打包输出目录(打包后生成) ├── RemoteDesktopClient.exe # 打包后的客户端EXE └── 启动客户端.bat # 静默启动EXE的脚本 ``` ## 常见问题 ### Q: 客户端无法连接到服务器? 1. 检查服务器地址和端口是否正确 2. 确认防火墙是否允许3000端口 3. 检查服务端是否正在运行 ### Q: 画面卡顿或延迟高? 1. 降低帧率:`--fps 10` 2. 降低画质:`--quality 60` 3. 确保网络带宽充足(建议局域网) ### Q: 如何让客户端开机自启? 将 `start_client_silent.bat` 添加到Windows启动文件夹: ``` Win+R → shell:startup → 将快捷方式放入 ``` ### Q: 如何修改监听端口? 编辑 `server.py` 和 `docker-compose.yml`,将 `3000` 改为你想要的端口(3000-3100范围内)。 ## 打包客户端为EXE 如果需要在没有Python环境的电脑上运行客户端,可以将 `client.py` 打包成独立的 EXE 文件。 ### 前提条件 - 已安装 PyInstaller:`pip install pyinstaller` ### 一键打包 双击运行 `build_exe.bat`,脚本会自动: 1. 检查/安装 PyInstaller 2. 将 `client.py` 打包成单文件 exe 3. 生成静默启动脚本 4. 自动打开输出文件夹 ### 手动打包 ```bash pyinstaller --noconfirm --onefile --windowed --name "RemoteDesktopClient" client.py ``` ### 打包后的文件 打包完成后,在 `dist` 目录下会生成: | 文件 | 说明 | |------|------| | `RemoteDesktopClient.exe` | 客户端主程序 | | `启动客户端.bat` | 静默启动脚本(双击即可后台无窗口运行) | ### 部署到其他电脑 1. 将 `dist` 文件夹内的文件复制到目标电脑 2. 双击 **`启动客户端.bat`** 即可静默连接服务器 3. 或直接双击 `RemoteDesktopClient.exe` 运行(有控制台窗口) ### 开机自启 将 **`启动客户端.bat`** 的快捷方式放入 Windows 启动文件夹: ``` Win+R → shell:startup → 粘贴快捷方式 ``` 这样电脑开机后会自动静默启动客户端并连接服务器。 ## 技术栈 - **后端**: Python + FastAPI + WebSocket - **前端**: HTML5 + CSS3 + JavaScript (原生) - **图像处理**: Pillow (PIL) - **容器化**: Docker - **通信协议**: WebSocket + JPEG Base64 ## 注意事项 ⚠️ 本工具仅用于合法的设备管理和监控用途 ⚠️ 请确保你拥有被监控设备的授权许可 ⚠️ 数据传输建议在内网环境中进行 ## License MIT License