noVNC is a VNC client implemented using HTML 5 technologies, specifically Canvas and WebSockets (“wss://’ supports encryption). noVNC is licensed under the LGPLv3.

Browser requirements for noVNC

-   HTML5 Canvas: Most browsers have had a lot of development in this regard for quite some time. The last one to join has been Internet Explorer 9 (finally).

-   HTML5 WebSockets: For browsers that have not incorporated WebSockets support, the project includes web-socket-js, a WebSockets emulator with Adobe Flash.

-   Fast JavaScript engine: noVNC avoids the use of new Javascript functionality so it will run in older browsers, but decoding has to decode in Javascript, so on a non-optimized engine this means noVNC is painfully slow.

Server requirements for noVNC

Unless you are using a VNC server with support for WebSockets connections (LibVNCServer), you need to use a TCP WebSockets socket proxy server. An advantage of using the proxy is that it has built-in support for SSL/TLS encryption (i.e. “wss://”).

Download noVNC

I leave you a video of its operation: