[分享创造] 2022 年了,我用 Golang 写了一套虚拟桌面系统,还有人用吗?

各位大佬,大家好!
我最近用 Golang 写了套项目,基于 Docker 容器虚拟桌面。

其中包括 vnc 的协议解析项目VncProxy,虚拟桌面Agent,还有打包好的虚拟桌面 Image。包括ubuntucentos基础系统,vscodechromeeclipse等等 linux 应用。

目前业界也挺多类似的项目的,基本原理都是 docker 容器启动xwindow+vncserver+novnc,实现了通过网页访问远程桌面。但是大部分都是基于现有组件组合搭建,并没有使用一套系统从头构建。
我的这个项目基本原理没变,只是我使用了 golang 实现了一个vncProxy,解析了 vnc 底层的rfb协议,并且有计划使用 golang 实现更多功能,包括vncServerxWindow应用等。

VncProxy

VncProxy 项目有计划的完善功能:

  • vnc 代理(已完成)
  • 剪切板(vnc 本身支持)
  • 通过协议远端录制桌面(已完成)
  • 针对桌面编码的优化(已完成)
  • 桌面分享
  • 文件上传下载
  • 声音的输入输出

预计将来要做的功能

  1. 引入 tigervnc 项目(c/c++),编译进 golang 。
  2. 扩展 vnc 协议,支持更高性能的编码格式。
  3. 基于 novnc 实现高性能图现象编码传输。

Agent

Agent 可以作为一个 vncproxy ,也可以作为一个 agent 本身,执行命令,上报数据等功能。
可以把它作为一个桌面容器的 init 。后续支持 k8s 集群,就能大规模的部署多租户云桌面环境。

Image

目前已经完成了 Ubuntu 和 Centos 的基础镜像的构建。正在构建各种应用的镜像。

项目地址

如果有对虚拟桌面,golang 开发的小伙伴可以加我 vx-base64:dnByaXgtY29t一起交流。
我也希望找到志同道合的小伙伴能一起打造该项目。

对该项目的有任何看法,或者希望多交流的朋友也可以加我哦!