轻量远程管理 + 海外网页渲染系统 开发需求文档
一、项目整体定位
开发一套轻量级 Web 版远程管理 + 海外网页渲染系统,对标简化版 JumpServer、Next Terminal,核心特点为轻量无冗余、无 Docker 依赖、可通过宝塔面板直接部署;同时支持 Web 端与 Windows/Mac/Linux 桌面端(一套代码跨端适配)。
二、技术架构规范
2.1 前端架构
| 技术项 | 选型 / 要求 |
|---|---|
| 核心框架 | Vue 3 + Vite |
| UI 组件库 | Element Plus |
| 终端组件 | xterm.js(实现 Web SSH 功能) |
| 桌面端打包 | Tauri(一套代码打包为 Web/Windows exe/Mac/Linux 客户端) |
| 通信方式 | axios(HTTP 请求) + WebSocket(实时通信) |
| 部署方式 | 编译为纯静态 dist 文件,可直接部署在宝塔面板网站目录 |
2.2 后端架构
| 技术项 | 选型 / 要求 |
|---|---|
| 开发语言 | Node.js |
| 核心框架 | Express(无需编译 / 构建,代码上传即可运行) |
| 数据库 | SQLite(单文件存储,无服务 / 配置依赖) |
| 核心能力 | 支持 RESTful API、WebSocket 转发(SSH/RDP/VNC)、会话管理、登录鉴权 |
| 部署方式 | 宝塔面板新建网站 + Supervisor 进程守护,启动命令:node server.js |
2.3 协议网关
- 核心依赖:guacd(Apache Guacamole Server)
- 功能:实现 Web RDP/Web VNC / 远程桌面协议转换
- 部署要求:Windows/Linux 系统均可安装,本地 Windows 可直接运行 guacd.exe,无 Docker 依赖
2.4 整体部署要求
- 无 Docker、无复杂环境依赖
- 宝塔面板一键部署
- 前端:静态文件部署;后端:Node 直接运行;网关:系统级安装 guacd;数据库:SQLite 单文件
三、核心功能模块
3.1 用户权限系统(基础必备)
- 基础操作:登录、退出
- 角色管理:管理员 / 普通用户角色划分
- 安全存储:密码加密存储
- 权限控制:接口鉴权、前端路由守卫
- 日志记录:记录操作用户、操作时间、操作行为
3.2 主机资产管理(核心)
- 主机类型:支持添加 SSH 主机、RDP 主机(Windows)、VNC 主机
- 主机信息:存储 IP、端口、账号、密码、备注等信息
- 管理方式:按分组管理主机
- 权限控制:不同用户仅能查看 / 访问授权的主机
3.3 Web SSH 功能(必实现)
- 核心能力:浏览器内直接打开 Linux 终端
- 功能支持:256 色显示、复制粘贴、窗口大小自适应、断网重连
- 技术逻辑:前端 xterm.js ↔ WebSocket ↔ Node 后端 ↔ SSH 连接目标主机,全程流式传输
- 开发要求:不依赖第三方服务,全部自研
3.4 Web RDP 功能(Windows 远程)
- 核心能力:浏览器直接访问 Windows 远程桌面
- 技术依赖:基于 guacd 实现协议转换
- 功能支持:鼠标键盘操作、剪贴板同步、分辨率自适应,纯网页访问无需客户端
3.5 Web VNC 功能
- 核心能力:通用 VNC 服务器远程控制
- 功能支持:网页实时显示画面、鼠标 / 键盘操作
3.6 海外网页渲染系统(核心业务)
3.6.1 架构逻辑
- 前端代理(本系统)作为安全网关
- 后端将请求转发至香港渲染机
- 香港机:公网 IP 直连海外网站(无代理 / 绕路),真实 IP 隐藏,仅对内开放
3.6.2 功能流程
- 用户在网页提交需渲染的海外网址
- 系统验证用户身份并执行限流策略
- 转发请求至香港渲染机
- 渲染机通过无头浏览器打开目标网站
- 返回截图 / 网页源代码 / PDF / 渲染结果至前端
- 全程不暴露渲染机真实地址
3.6.3 核心特点
- 安全:渲染机隐身,仅对内开放
- 快速:香港 IP 直连海外,无多层代理
- 稳定:少依赖、少故障点
3.7 会话管理与审计
- 在线会话:实时查看在线会话
- 日志审计:操作日志、连接记录
- 会话控制:可手动断开会话
- 进阶参考(借鉴 Next Terminal):会话录屏、命令日志、文件操作审计、会话回放(基于 guacd 实现协议层录制 + 前端回放)
3.8 系统设置
- 基础配置:端口设置、guacd 地址配置
- 安全策略:上传限制、限流规则、防爆破(登录失败次数限制 + 锁定)
- 进阶配置(借鉴 Next Terminal):命令拦截(正则黑名单 / 白名单拦截 rm -rf、sudo 等高危命令)、双因素认证(2FA)
3.9 进阶功能(借鉴 Next Terminal,按优先级)
- 多协议统一 Web 入口:支持 SSH/RDP/VNC/Telnet/K8s/SFTP/HTTP 统一 Web 访问
- 资产批量管理:CSV 批量导入资产、资产标签 / 分组 / 搜索
- 安全网关 / 反向代理:代理内网 Web/SSH,统一认证,不暴露公网
- 批量执行与文件传输:批量执行命令、SFTP 文件上传下载、会话共享
- 零信任安全增强:Passkey、LDAP/OIDC/ 企业微信集成
四、核心业务实现逻辑
4.1 SSH 实现逻辑
前端 xterm.js ↔ WebSocket ↔ Node 后端 ↔ SSH 连接目标主机,全程流式传输数据
4.2 RDP/VNC 实现逻辑
前端 ↔ WebSocket ↔ Node 后端 ↔ guacd ↔ 目标 Windows/Linux 主机;guacd 负责协议转换,输出网页可识别的流
4.3 海外渲染实现逻辑
用户 → 前端代理(本系统)→ 香港渲染机(无头浏览器)→ 目标海外网站;渲染机仅对内开放,不暴露公网 IP
五、界面风格要求
- 风格:后台管理系统风格,简洁清爽
- 模式:支持深色 / 浅色模式
- 原则:功能优先,无复杂动画



