rustdesk 服务端 golang 实现

自建远程桌面服务

前段时间我在寻找一款远程桌面软件,原来我一直使用的是 windows 自带的 rdp 在有公网的情况下速度很快。但是后面我换到 mac 平台下无法继续使用 windows 的 rdp ,我先后尝试了 teamviewer 、todesk 。

后面在github找到一款开源的远程软件 rustdesk 。它是跨平台的,且支持服务端自建(一段时间里是不支持的)。于是我根据客户端开源的proto协议尝试用golang实现一个服务端go-rustdesk-server
在仓库建立一段时间后rustdesk也正式开源了他们的服务端 rustdesk-server 我去对比了我的实现,并根据官方实现去优化和修改我前面的一些错误理解。

已实现功能

  • 基础功能的实现
  • 局域网(有公网的)直连
  • 通过中继器连接
  • 加密的连接

仓库地址:https://github.com/danbai225/go-rustdesk-server

后记

从 rustdesk 项目中学到了很多,rust的语法也是真的难。