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的语法也是真的难。
大佬
真大佬
虽然但是
https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466?mt=12