感叹! rustdesk 真的好用,也开源了服务端这些东西,感谢社区的贡献!

我自己在用的时候需要多端设备同步,但是 rustdesk 并没有开源出 api 服务相关代码。

诚然,社区有大佬已经根据客户端写出了可用的 api 服务端代码。

不过我自己本着挑战的目的自己撸了一个 api 服务端出来。

地址:https://github.com/lantongxue/rustdesk-api-server

基于 Yii2 框架开发,目前编写了大部分主要的接口,已经完全实现了设备的管理和标签管理。

各个端都能正常使用,iOS 、Android 、Windows 、Linux 、macOS 。

说明:仅在 rustdesk 1.2.3 上测试通过,更低版本未作适配,请大家配合最新版本的 rustdesk 食用。

使用方法请参考 readme 。

一些收获:在做这个项目的时候,本来是想参考大佬已经开源的 api 代码做一个轮子,后来还是决定通过分析 rustdesk 源代码来实现 api ,在这个过程中,rust 部分我完全看不懂[抱拳],只能靠猜;到了 flutter 部分相对好一些了,之前撸过 flutter ,所以很快就能根据接口调用分析出数据结构。在这个过程中对 flutter 和 rust 的结合有了新的认知,比我想象中的强大! ffi 真的屌,flutter 部分上的核心基本上都是通过调用 ffi 实现的,而 ffi 这部分是 rust 编写的。

后面的一些想法:

  1. 对整个项目进行重新架构
  2. 增加一套管理 UI 上去
    最后:欢迎各位 star 、PR