之前一直都使用的向日葵,和VNC,
向日葵没用过付费会员,自然也没体验到过他客户端弹窗所宣传的会员高速通道.但普通用户白嫖向日葵处理些日常故障,基本上算是可以说的过去,但前阵子向日葵企业版控制端开始排挤免费用户,非付费套餐账号只能同时在线一个终端,同时远程通道只能占用1个,这意味着,如果其他人正在远程操作,如果这边遇到急事要么踢人下线,要么死等
不过好在除了向日葵我们还有VNC可以用,速度也还算可以,但是界面易用性和远程窗口画面渲染一直是个迷,由于VNC这种东西也算是属于远古时期的产物,画面压缩及渲染算法拼不过mstsc,又赶不上向日葵这种商业软件.所以,VNC也仅仅适合当做备用方案.
这里我拿家里的小主机搭建测试,其实日常用途挂PT,挂网盘,跑php,webdav,其实mstsc挺好用的,真正令我想开始折腾rustdesk的原因是:远程玩游戏.
因为之前测试过:
- 向日葵:免费通道延迟高,画质压缩严重,有音画不同步问题,经过测试每日使用不同时长后会进一步暗降码率
- VNC:局域网场景下延迟偏低,同向日葵一样走的是桌面窗口而非RDP,但传输原画占用带宽巨大,而传输复杂画面的软件或游戏(OpenGL,GD,DirectX),占用带宽更大,虽然可调节画面选项,但怎么调都不是最优选.局域网场景下画面fps都不稳定,放到公网环境效果可想而知.
- 其他商业远程服务也基本都是费用/画质流畅度/限制.相互约束,可能一些软件在推广期或市场竞争时被经常称为良心软件.但这都不是长久之计
rustdesk运行环境:
- 网络要求:
- 对外开放端口:
- 21114(TCP)
- 21115(TCP)
- 21116(TCP/UDP)
- 21118(TCP)
- 21117(TCP)
- 21119(TCP)
- 网络环境
- 部署在云主机上需要注意的是,10Mbps以下的带宽仅能满足基础需求,
- 尽量选择国内主机,国外主机要非常注意网络线路问题,否则会导致搭建后连接不稳定(丢包,速度衰减,延迟)
- 对外开放端口:
我家里nas用的WindowsServer2008R2.我照常去Github下载Server release的最新版本.发现运行报错,但网上搜不到跟我一样的问题的解决方法,但注意到有人提及rustdesk是用rust语言开发的,而rust默认编译时如果作者没有对较旧的系统做兼容支持,就会出现一些问题.
一个个版本测试最终找到了可以正常运行的releaseVersion,版本是1.1.12
开始安装:
- 将下载下来的rustdesk-server-windows-x86_64-unsigned 1.1.12.zip解压到C:\rustdesk\,得到文件:
- hbbr.exe(中继服务端)
- hbbs.exe(打洞远程服务端)
- rustdesk-utils.exe(用不到)
- RustDeskServer.Setup.exe(GUI界面程序,不用安装,安装完打开闪退,但在win10环境下就正常)
- 运行hbbr.exe和hbbs.exe,看到命令行窗口无报错代码
- 在同级目录看到已经生成id_ed25519.pub文件,打开后获得KEY
- 在同机器运行rustdeskClient客户端,进入设置界面-网络-ID/中继服务器,填入信息:
- ID服务器:服务端IP
- 中继服务器:服务端IP
- API服务器:空
- Key:id_ed25519.pub中的内容
- 然后确认,返回主页,正常情况应该能在下方看到,就绪,二字
- 在另外的主机上运行同版本的rustdeskClient,导入或填写相同的ID/中继服务器信息,可以看到主页下方"就绪"二字代表成功.
- 移动端配置同理
至此配置完成,可以开始测试使用.
后续完善(注册服务):
前面只是前台运行了hbbr和hbbs服务端程序,如果手贱关掉了服务端窗口,或者关机再重启.当服务器没有配置自动登录的情况下,服务启动不来,会出现失联的情况.可以将这两个服务端程序注册为系统服务:
官方给的方案是使用NSSM程序,具体可以参考这里
后续完善(多用户,权限控制等PRO功能):
rustdesk虽然是开源软件,但仅限于社区版本,对于一些高级功能则是刀法精准的分配到了Pro版本当做付费功能,但目前已有大佬用GO手搓出了第三方WebAPI,完美适配了客户端api,具体看这里