novnc / noVNC

VNC client web application
https://novnc.com
Other
11.16k stars 2.24k forks source link

Add support for VMWare extensions to RFB/VNC #44

Open kanaka opened 13 years ago

kanaka commented 13 years ago

VMWare implements some extensions to the protocol that would be interesting to support in noVNC. I'm unlikely to personally get around to this (and don't have access to a ESX server) but somebody might be interested in doing this.

Some relevant links:

http://mail.gnome.org/archives/gtk-vnc-list/2008-January/msg00005.html http://wiki.multimedia.cx/index.php?title=VMware_Video http://bluebear.org/projects/kodiak/repository/revisions/master/entry/src/com/bluebear/rfb/vnc.h

CendioOssman commented 5 years ago

The extensions are now documented in the rfbproto project:

https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst

tybin commented 8 months ago

What is the current status of this? I see the issue opened, and a linked issue #70 reported working noVNC + ESXi setup, but experimenting on my own I couldn't figure this out.

I've tested both vCenter proxy and direct connection to ESXi (VMWare 6.7), both seem to expose non-RFB compliant endpoints, with different starting messages and messaging schemes. VMWare HTML Console SDK also requests an undocumented vmware-vvc subprotocol, and not negotiating it doesn't downgrade the connection to RFB. Am I missing a pure-RFB/VNC endpoint?

tybin commented 8 months ago

Acutally there is a pure RFB endpoint, docs say its on VMWare 6.0 and up:

Mouse-keyboard-screen over WebSocket ticket. MKS protocol is VNC (a.k.a. RFB) protocol with VMware extensions; the protocol gracefully degrades to standard VNC if extensions are not available. wss://{Ticket.host}/ticket/{Ticket.ticket}

I've just tested it and it seems to work fine, so I guess noVNC does support VMWare, just not the extensions. The ticket type and request path controls whether the host exposes custom VMWare traffic or regular RFB.