Files
Nexus/docs/changelog/2026-06-10-rdp-browser-guacd.md
T
Nexus Agent dabfc128b3 feat: 浏览器 RDP、推送提示音与子机指标等多项功能
- 3389远程页 + guacd 侧车 WebSocket 桥(无 RDP 会话审计)
- 文件推送完成独立提示音,至少一台成功即播放
- 子机列表展开 CPU/内存/磁盘 sparkline 与指标采样落库
- 终端全量服务器列表、连接中状态;告警 Telegram 公网 IP
- SSH 密钥凭据 UI 简化;子机搜索未设路径筛选

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 01:37:32 +08:00

1.5 KiB
Raw Blame History

2026-06-10 — 浏览器内 RDPguacd

摘要

将 RDP 从原生 .rdp 下载改为 浏览器内远程桌面guacd 侧车 + Guacamole WebSocket 桥 + guacamole-common-js 画布。

动机

用户需要浏览器 RDP,而非本机 mstsc。

涉及文件

  • docs/design/specs/2026-06-10-rdp-browser-guacd-design.md
  • docker/docker-compose.prod.ymldocker-compose.ymlguacd 服务
  • server/config.pyGUACD_HOST / GUACD_PORT
  • server/infrastructure/guacamole/tunnel.py
  • server/api/rdp.pyWS /ws/rdp/{id}
  • server/api/servers.pyGET /rdp-connect,移除 rdp-file
  • server/utils/rdp_config.py — RDP 密码加密、build_guacamole_connect_string
  • frontend/src/pages/RdpPage.vuecomposables/rdp/useRdpSession.ts
  • frontend/package.jsonguacamole-common-js

迁移 / 重启

  • 生产需 docker compose 拉起 guacd 并设置 NEXUS_GUACD_HOST=guacd
  • Nexus 容器需重建/重启以加载新代码
  • 服务器需配置 RDP 密码(浏览器连接必需)

验证

pytest tests/test_rdp_config.py -q
cd frontend && npm install && npm run type-check

浏览器:侧栏「3389远程」→ 选择服务器 → 画布连接;服务器列表「RDP」仍跳转同页。

安全说明

  • 使用常规 access JWT 作为 WS token(无专用 rdp-token
  • RDP 连接级审计(与 WebSSH 会话审计区分)
  • rdp-connect 向已登录管理员返回解密密码(仅 HTTPS 环境使用)