Guacamole是Apache开发的开源远程桌面连接项目,系统采用网关项目形式发布。它支持主流的远程连接协议VNC、RDP、SSH、Telnet等。
Guacamole的前端采用纯H5实现,所以它可以在任何基于HTML5的浏览器中使用。
Guacamole是完全免费的开源项目,Guacamole由guacd、guacamole-common、guacamole-common-js、Guacamole-webapps等模块组成。
哲涛H5远程桌面连接是基于Guacamole软件模块,独立开发的远程桌面连接管理软件,相当于Guacamole项目中的webapps部分的另一种实现方案,具有全中文界面、操作简单、提供本软件的远程部署支持服务。
本文将介绍官方的模块的常规部署方法,与本软件无关(所有购买本软件的用户将获得本公司的打包免费部署服务,无法自行部署)。
Guacamole的架构
图片来源Apache官网
Guacamole的组成部分:
guacd:远程协议连接网关,由C/C++开发的网关库,目前只有Linux版本,因此guacd必须部署在Linux系统中。
guacamole-common(Java API):这是Java实现的与guacd通信的Java API,它基于Servlet2.5+,是项目集成的主要API,所以它必须在Servlet 容器中运行,比如Tomcat,据官方使用的API情况,必须使用Tomcat8.5以上Tomcat。
guacamole-common-js(JS API):是H5中显示远程桌面连接的API。
guacamole(官方网页端和容器实现):是官方基于RestAPI实现的web管理端,包括认证、扩展、前端界面等,基于Servlet2.5+,必须在Tomcat8.5+等Servlet容器中运行。
guacamole-common-ext:是官方实现的网页登录认证、连接管理模块,基于Java RESTAPI。
本公司H5桌面连接软件即通过该Guacamole-API(guacamole-common、guacamole-common-js)开发的远程桌面连接管理软件(包括多用户认证、在线可视化管理、服务器密码与系统登录帐号分享管理、密码加密、连接分享、连接记录、分享记录等功能),不使用官方的guacamole、guacamole-common-ext以及前端的显示JS和认证控制过程。