- 开源项目选型
项目名称 |
开发语言 |
支持平台 |
开源地址 |
RustDesk |
Rust |
Win/linux/macOS/Android |
https://github.com/rustdesk/rustdesk/blob/master/docs/README-ZH.md |
TigetVNC |
C/C++ |
win/linux |
https://www.tightvnc.com/ |
TigerVNC |
C/C++ |
win/linux |
https://tigervnc.org/ |
UltraVNC |
C |
win |
https://uvnc.com/downloads/ultravnc.html |
noVNC |
JavaScript |
Web版本 |
https://novnc.com/info.html |
- 需求分析
- 目前确定了以下基本需求:体积小、好维护、完全开源免费、支持跨平台,经过查阅资料和相关文档,初步预定了TigetVNC为本次新需求修改方案,原因有以下几点,一是TigetVNC作为最初VNC远程的衍生版本,目前开源代码相对完整,二是TigetVNC主要功能都集中在一个进程当中,只有一个全局钩子dll暴露在外边,三是TigetVNC可以支持跨平台,和跨平台连接,四是完全商用免费,当然我的分析也可能存在一些局限性,毕竟软件的世界是没有银弹的,后期如果有更好的方案,大家可以随时替换。
- Windows应用场景
- TightVNC支持windows XP / Vista / 7 / 8 / 8.1 / 10,以及相应版本的 Windows Server。
- tvnserver.exe作为被控端主进程,即可以以独立进程的方式启动,同时也可以注册为windows服务进程运行。
3.托盘可以通过修改HKEY_CURRENT_USER\Software\TightVNC\Server\RunControlInterface项来隐藏,这样就可以保证tvnserver.exe作为一个后台程序运行在系统中。