feat(rdp): 新增 RDP 远程桌面/SMB/账单同步能力 + 清理编译产物
主要变更: - RDP 远程桌面:新增 backend/pkg/rdp(RDP 引擎 + credssp/display/rle/trace)、 backend/controller/rdp*(连接/凭证/文件/会话/实时)、frontend RDP 组件与 API - Windows SMB 文件传输:backend/pkg/winsmb - 云账单同步:backend/pkg/billingsync + billing_sync/aliyun_billing,前端账单详情 - Agent CLI Kubernetes 工具:kubernetes_action/get、pod_execute/logs - 服务器导入助手:server_import_helpers、ImportCredentialSettings - 国际化与组件重构(cloud/deploy/monitor/server/system 等多模块) - 清理编译产物二进制:移除 backend/server、backend/agent/bin/aiops-agent-* - .gitignore:新增 backend/agent/ 与 .cache/(避免 334MB go-build 缓存误入库) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
1 parent
777d9e4e71
commit
76ec9387f0
202 files changed
+16555
-2543
No files matched your search
@@ -0,0 +1,37 @@
|
||||
# RDP 协议栈分层
|
||||
|
||||
`backend/pkg/rdp` 是 AIOps 资产远程桌面的协议层。当前固定使用自研 RDP 引擎,第三方 `grdp` 兜底和 `backend/third_party` 已移除。根包只保留兼容入口、引擎创建与临时会话编排,协议细节逐步迁入域目录。// Logan.Li
|
||||
|
||||
## 引擎选择
|
||||
|
||||
| 环境变量 | 行为 |
|
||||
|----------|------|
|
||||
| `RDP_ENGINE` | 保留兼容,不再参与引擎选择 |
|
||||
| `RDP_DEBUG=1` | 打开协议级 trace 日志,统一输出 `[RDP:TRACE]` |
|
||||
|
||||
## 目录职责
|
||||
|
||||
| 目录 | 职责 |
|
||||
|------|------|
|
||||
| `domain/` | 对外契约:连接配置、浏览器输入事件、服务端帧、引擎接口、诊断结果、录屏摘要 |
|
||||
| `transport/` | TCP 上的 TPKT、X.224、TLS 升级与安全协议协商 |
|
||||
| `credssp/` | NLA/CredSSP/NTLMv2 认证,自研 ASN.1 与 NTLM 消息处理 |
|
||||
| `rle/` | RDP 位图 RLE 解压算法 |
|
||||
| `trace/` | 协议级调试日志开关,避免高频 bitmap 默认刷屏 |
|
||||
| 根包 | 引擎选择、兼容入口、临时会话编排、MCS/GCC、Fast-Path 收发、键鼠输入、位图解码、探针入口 |
|
||||
|
||||
## 依赖方向
|
||||
|
||||
控制器只依赖根包 `ezops/pkg/rdp` 的 `Engine`、`Config`、`ClientEvent`、`ServerFrame`。根包向内组合 `domain`、`transport`、`credssp`、`rle`。底层域目录不能反向依赖控制器、数据库、WebSocket 或审计模型。
|
||||
|
||||
## 后续拆分目标
|
||||
|
||||
1. 协议基础帧、TLS、X.224 只放 `transport/`。
|
||||
2. 登录认证只放 `credssp/`,不得调用 Gin/GORM。
|
||||
3. 浏览器与控制器共享的 DTO 先放 `domain/`,根包用类型别名兼容旧调用。
|
||||
4. `pdu/` 承接 DemandActive、ConfirmActive、Synchronize、Control、FontList、BitmapUpdate 等状态机。
|
||||
5. `graphics/` 承接 bitmap/RLE/PNG 或后续 raw frame 编码,输入只消费标准化矩形。
|
||||
6. `input/` 承接鼠标、键盘、Unicode、组合键与自动执行。
|
||||
7. `channels/` 承接 cliprdr、drdynvc、rdpgfx,避免虚拟通道逻辑污染会话主流程。
|
||||
8. `recorder/` 承接 RDP 事件录制、回放和截图探针。
|
||||
9. 新增测试优先覆盖底层域目录,再用根包探针做资产联调。
|
||||
Reference in new issue
Block a user