Vprix-VncProxy远程桌面代理组件

联合创作 · 2023-10-01 09:01

VprixVncProxy 是 Golang 实现的 Vnc 远程桌面代理组件,完全解析rfb协议,支持远程桌面代理,rbs文件录屏,rbs文件回放,截图,录制视频。

  • 全协议支持的VncProxy。
    • 支持Tcp代理
    • 支持WebSocket代理
  • 支持远程桌面操作保存为rbs文件。
  • 支持使用rbs文件作为重播服务,通过vnc客户端连接player服务,回放远程桌面的操作。
  • 支持实时录制视频。

  • 支持通过rbs文件录制视频

  • 支持屏幕截图

组件说明

Proxy

  1. 启动`server`接受`vnc viewer`的链接.
  2.  启动`client`连接到指定的`vnc server`.
  3.  为`vnc viewer`和`vnc server`之间建立起消息转发通道。
  4.  因为`rfb`协议被完全解析,可以针对通信的消息进行转发处理,产生了后续的功能。

Recorder

1. 启动`client`连接到指定的`vnc server`.
2. 发送帧缓冲区更新消息`FramebufferUpdateRequest`到`vnc server`。
3. 处理`vnc server`回复的界面更新消息`FramebufferUpdate`。
4. 把这一过程以`rbs`文件格式记录下来。

Player

1. 启动`server`接受`vnc viewer`的链接.
2. 读取`rbs`文件,并按格式生成`FramebufferUpdate`消息发送给`vnc viewer`。
3. `vnc viewer`的界面就会回放动作。

Screenshot

1. 支持`Proxy`,`Recorder`和`rbs`文件作为输入源。
2. 把当前的界面视图转换为图片文件。

Video

1. 支持`Proxy`,`Recorder`和`rbs`文件作为输入源。
2. 把`FramebufferUpdate`消息转换为视频文件。

已支持的编码格式

  • Raw
  • CopyRect
  • CoRRE
  • rre
  • Hextile
  • Tight
  • TightPng
  • ZLib
  • Zrle
  • CursorPseudo
  • CursorWithAlphaPseudo
  • DesktopNamePseudo
  • DesktopSizePseudo
  • ExtendedDesktopSizePseudo
  • LedStatePseudo
  • CursorPosPseudo
  • XCursorPseudo

未支持的编码格式

  • -jpeg
  •  jrle
  •  trle
浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报