taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善、开源免费的CMS管理系统

Remotely和MeshCentral两款开源自托管远程控制软件简要对比

2022-07-04

背景
    近期,随着TeamViewer对国内个人用户愈发不友好,大量正常的个人使用被TeamViewer认定为商业使用,寻找其他远程控制软件替代TeamViewer的需求与日俱增。在此之前,笔者也曾使用过其他的TeamViewer替代品,包括AnyDesk、Splashtop以及XT800等国内外产品,但这些产品由于或是在国内落地不佳,或是免费版性能、线路限制较大,使用起来并不能与TeamViewer相提并论。面对这一情况,笔者考虑是否可以选择自托管的远程控制软件进行替代。
    自托管远程控制软件的中央服务器的线路是可控的,相较于AnyDesk、Splashtop等国外产品,其在国内落地条件有着显著的优势,这能极大地改善在需要通过中央服务器中继时操作的流畅度和稳定性。此外,相较于托管的远程控制软件,自托管的中央服务器由使用者自行管理,相对来说可能“更安全”,而这也是许多用户不太愿意尝试小公司或不知名公司开发的远程控制软件的原因之一。
项目介绍
Remotely
    使用.NET Core开发,客户端和服务器端都支持Windows上和Linux(需要安装相关运行时环境),GitHub地址https://github.com/lucent-sea/Remotely,官网网站https://remotely.one,演示服务器https://app.remotely.one。
MeshCentral
    使用NodeJS开发,可以使用npm install meshcentral直接安装,客户端支持Windows、Linux和MacOS。除了软件客户端之外,MeshCentral还支持Intel AMT硬件管理。GitHub地址https://github.com/Ylianst/MeshCentral,官方网站https://www.meshcommander.com/meshcentral2,演示服务器https://meshcentral.com。
功能对比
服务器端
    Remotely使用.NET Core开发,服务器端程序可以运行在Windows和Linux上(需要安装运行时环境),运行时会占用5000端口,且似乎没有方法可以更改这一端口号,官方建议在提供公共服务时使用Nginx或IIS进行反代及配置SSL。对于Windows和Ubuntu 18.04及以上版本,官方提供了一键安装脚本,其他Linux发行版则需手动安装,具体安装过程可以参考Ubuntu的自动安装脚本。
    MeshCentral的服务端软件使用NodeJS开发,服务器端程序可以运行在Windows和Linux上(理论上说MacOS应该也能运行),服务器端程序本身可以作为Web服务器使用,但也支持使用Nginx进行反向代理。MeshCentral最少需要2个端口,分别是Web端口和CIRA端口(用于Intel AMT),当使用TLS时,则需要至少3个端口,分别是用于HTTP和HTTPS的两个web端口和CIRA端口。MeshCentral的服务器端程序通过npm install meshcentral的命令即可直接安装,对于CentOS 6.x的用户,需要先安装更高版本的NodeJS才行,
主机端(被控端)
    Remotely使用.NET Core开发,它提供了两个版本的主机端软件,一个是注册为系统服务的主机端软件,另一个是用于一次性技术支持的主机端软件。正如前文提到的,由于Remotely使用.NET Core开发,它的主机端软件体积硕大无比(包含了运行时环境),安装包大小100MB+,安装后大小250MB+;用于一次性技术支持的主机端软件体积仅为5MB,初次运行时会检测系统内是否安装了需要的运行时环境,如果没有安装则会自动进行下载安装(这一过程对于国内用户来说并不友好)。使用注册为系统服务的主机端软件会将主机加入用户的设备列表,用户可以通过网页按钮直接进行无人值守远程操控,也可以远程执行命令行任务;使用一次性技术支持主机端软件会产生连接码,在网页上通过输入连接码进行远程控制,但需要主机端点击确认,即有人值守的远程控制。
    MeshCentral的主机端软件相较之下则要小得多,其Windows主机端软件仅有3MB,并且该软件同时既可注册为系统服务,又可作为一次性技术支持使用。使用Install/Update功能可以注册为系统服务,当前主机会注册到用户的设备列表,实现无人值守访问;使用Connect则可创建临时连接供一次性技术支持使用,当前主机会出现在用户的设备列表,使用后关闭软件即可销毁该连接。
操作端
    Remotely和MeshCentral均通过Web的方式向用户提供远程控制的功能,本节会从多个维度行对比。
1) 远程操作
    由于二者均通过Web的方式进行远程控制,一些组合键、快捷键的发送会受到影响(比如Ctrl+Alt+Del、Ctrl+W等),但并不影响大多数键盘鼠标操作。相比较之下,MeshCentral提供的组合键输入要更胜一筹,提供了众多的组合键输入,而Remotely则只提供了Ctrl+Alt+Del一组组合键输入。在输入法和文字输入方面,二者都表现得比较好,用户向主机端输入文字并不会受到浏览器本地输入法的影响,即不会像AnyDesk那样本地输入法为中文,会导致远端无**常输入。Remotely支持直接剪贴板操作,即在远端复制后在本地粘贴,反之亦然;MeshCentral在这方面则略为逊色,需要使用ClipBoard功能获取或设置远端的剪贴板内容。在使用过程中,笔者发现Remotely似乎不支持在远程控制中使用鼠标中键点击(滚轮滚动不受影响),而MeshCentral则没有这一问题。另外,两者都支持在远端进行命令行操作而无需连接图形界面,这也为远程管理提供了方便。
2) 多显示器多会话
    Remotely同时只能显示一个显示器的内容,可以通过侧边栏选择当前显示的显示器,MeshCentral则直接显示了多个显示器的内容。对于一台已经存在远程桌面(RDP)会话的主机,两者都可以选择连接到远程桌面会话,或者连接到控制台(即物理机界面)。但是MeshCentral在实际使用过程中偶尔会出现无法连接到远程桌面会话只能连接到远程桌面会话的问题。
3) 多媒体和文件
    Remotely支持播放远端音频,而MeshCentral没有此项功能。文件管理方面,Remotely只有一个简单的向远端发送文件的功能(可以多选发送,但不能发送文件夹),但无法从远端下载文件到本地;MeshCentral有文件管理功能,可以在不连接图形界面的情况下直接管理远端的文件,但同样只能发送文件而不能发送文件夹,且下载远端文件只能一个一个操作,不能批量下载文件或文件夹。
4) 移动端操作
    由于Remotely和MeshCentral都使用了Web作为用户界面,笔者也简单比较了二者在移动端的表现。在界面上,二者都支持移动端访问,且对移动端都有相应的优化,但在远程控制方面,Remotely则要更胜一筹。MeshCentral在移动端上无法缩放尺寸,只能大致地看一眼界面,几乎无**常进行操作,Remotely则可以缩放显示尺寸,可以在放大后进行大部分操作(不能直接滚动远端窗口的内容,只能通过控制远端窗口上的滚动条滚动内容)。
5) 连接性
    Remotely和MeshCentral二者都支持中继模式和使用WebRTC的直连模式,在实际使用过程中,MeshCentral的压缩和传输算法似乎比Remotely更先进一些,尤其是在中继模式下,MeshCentral的画质更好卡顿更少。但Remotely对WebRTC直连模式的支持要比MeshCentral更加优秀,在实际使用过程中,操作端使用4G网络连接,主机端位于单位网络的两层NAT之后,Remotely仍然能够正常使用Peer-to-Peer连接,而此时MeshCentral则只能通过服务器进行中继连接。另外,MeshCentral GitHub上的一些issue也表明,MeshCentral对于使用WebRTC进行直接连接对于网络的要求比较高,如果具有多张网卡多个IP地址很容易导致无法进行点对点连接。
总结

    在经过了对Remotely和MeshCentral的简单使用之后,笔者认为对于专业的IT人员来说,MeshCentral要更胜一筹,它提供的管理功能更加全面、完整,并且支持Intel AMT技术,同时MeshCentral的主机端软件也对用户更加友好。但是对于有音频传输需求的用户来说,Remotely则可能是他们的唯一选择,并且如果更希望使用WebRTC进行点对点直接连接以减少服务器带宽使用的话,也建议优先考虑Remotely。


附表:本文中提到的功能对照表

功能项RemotelyMeshCentral
服务器端
技术.NET CoreNodeJS
Windows支持支持
Linux支持支持
TLS(需Nginx或IIS)支持支持
Intel AMT不支持支持
主机端(被控端)
Windows支持支持
Linux支持支持
MacOS未提及支持
系统服务支持,但体积比较大支持
一次性连接支持,但客户端需要.NET Core运行时环境支持
操作端
组合键仅Ctrl+Alt+Del多种组合
输入法正常正常
鼠标操作不支持中键正常
剪贴板共享支持需使用ClipBoard工具获取、更新远端剪贴板的内容
多显示器支持支持
多会话支持支持,偶尔抽风
音频播放支持不支持
文件发送需连接图形界面后多文件发送多文件发送,且支持文件管理
文件接收不支持单文件下载
移动端查看不能缩放
移动端操作基本正常,但不能滚动只能点击,但不能右键、滚动
中继模式支持支持
点对点直连支持,好支持,不太好用,比较挑

类别:技术文章 | 阅读:56495 | 评论:0 | 标签:

想收藏或者和大家分享这篇好文章→

公告

taoCMS发布taoCMS 3.0.2(最后更新21年03月15日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云