轻量远程管理 + 海外网页渲染系统 开发需求文档

轻量远程管理 + 海外网页渲染系统 开发需求文档

一、项目整体定位

开发一套轻量级 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 用户权限系统(基础必备)

  1. 基础操作:登录、退出
  2. 角色管理:管理员 / 普通用户角色划分
  3. 安全存储:密码加密存储
  4. 权限控制:接口鉴权、前端路由守卫
  5. 日志记录:记录操作用户、操作时间、操作行为

3.2 主机资产管理(核心)

  1. 主机类型:支持添加 SSH 主机、RDP 主机(Windows)、VNC 主机
  2. 主机信息:存储 IP、端口、账号、密码、备注等信息
  3. 管理方式:按分组管理主机
  4. 权限控制:不同用户仅能查看 / 访问授权的主机

3.3 Web SSH 功能(必实现)

  1. 核心能力:浏览器内直接打开 Linux 终端
  2. 功能支持:256 色显示、复制粘贴、窗口大小自适应、断网重连
  3. 技术逻辑:前端 xterm.js ↔ WebSocket ↔ Node 后端 ↔ SSH 连接目标主机,全程流式传输
  4. 开发要求:不依赖第三方服务,全部自研

3.4 Web RDP 功能(Windows 远程)

  1. 核心能力:浏览器直接访问 Windows 远程桌面
  2. 技术依赖:基于 guacd 实现协议转换
  3. 功能支持:鼠标键盘操作、剪贴板同步、分辨率自适应,纯网页访问无需客户端

3.5 Web VNC 功能

  1. 核心能力:通用 VNC 服务器远程控制
  2. 功能支持:网页实时显示画面、鼠标 / 键盘操作

3.6 海外网页渲染系统(核心业务)

3.6.1 架构逻辑

  • 前端代理(本系统)作为安全网关
  • 后端将请求转发至香港渲染机
  • 香港机:公网 IP 直连海外网站(无代理 / 绕路),真实 IP 隐藏,仅对内开放

3.6.2 功能流程

  1. 用户在网页提交需渲染的海外网址
  2. 系统验证用户身份并执行限流策略
  3. 转发请求至香港渲染机
  4. 渲染机通过无头浏览器打开目标网站
  5. 返回截图 / 网页源代码 / PDF / 渲染结果至前端
  6. 全程不暴露渲染机真实地址

3.6.3 核心特点

  • 安全:渲染机隐身,仅对内开放
  • 快速:香港 IP 直连海外,无多层代理
  • 稳定:少依赖、少故障点

3.7 会话管理与审计

  1. 在线会话:实时查看在线会话
  2. 日志审计:操作日志、连接记录
  3. 会话控制:可手动断开会话
  4. 进阶参考(借鉴 Next Terminal):会话录屏、命令日志、文件操作审计、会话回放(基于 guacd 实现协议层录制 + 前端回放)

3.8 系统设置

  1. 基础配置:端口设置、guacd 地址配置
  2. 安全策略:上传限制、限流规则、防爆破(登录失败次数限制 + 锁定)
  3. 进阶配置(借鉴 Next Terminal):命令拦截(正则黑名单 / 白名单拦截 rm -rf、sudo 等高危命令)、双因素认证(2FA)

3.9 进阶功能(借鉴 Next Terminal,按优先级)

  1. 多协议统一 Web 入口:支持 SSH/RDP/VNC/Telnet/K8s/SFTP/HTTP 统一 Web 访问
  2. 资产批量管理:CSV 批量导入资产、资产标签 / 分组 / 搜索
  3. 安全网关 / 反向代理:代理内网 Web/SSH,统一认证,不暴露公网
  4. 批量执行与文件传输:批量执行命令、SFTP 文件上传下载、会话共享
  5. 零信任安全增强:Passkey、LDAP/OIDC/ 企业微信集成

四、核心业务实现逻辑

4.1 SSH 实现逻辑

前端 xterm.js ↔ WebSocket ↔ Node 后端 ↔ SSH 连接目标主机,全程流式传输数据

4.2 RDP/VNC 实现逻辑

前端 ↔ WebSocket ↔ Node 后端 ↔ guacd ↔ 目标 Windows/Linux 主机;guacd 负责协议转换,输出网页可识别的流

4.3 海外渲染实现逻辑

用户 → 前端代理(本系统)→ 香港渲染机(无头浏览器)→ 目标海外网站;渲染机仅对内开放,不暴露公网 IP

五、界面风格要求

  • 风格:后台管理系统风格,简洁清爽
  • 模式:支持深色 / 浅色模式
  • 原则:功能优先,无复杂动画