Thursday, August 18, 2011

VNC via HTML5 (yes, that VNC) with noVNC

Script Junkie - HTML5-Powered VNC Implementation noVNC Let's You Access Remote Systems

"I'm constantly amazed at what developers are able to accomplish now with browser-based technologies. I've used VNC for years to remotely manage PCs and servers and it's a great tool for sure. Never in a million years would I have imagined that you could build an implementation of it using HTML5. That's what Joel Martin has done with the HTML5-powered noVNC VNC client.

By leveraging WebSockets and Canvas, noVNC is able to remotely connected to a box and render our the screen. Here's the main caveat though (via Joel's Github repo):

"Unless you are using a VNC server with support for WebSockets connections (only my fork of libvncserver currently), you need to use a WebSockets to TCP socket proxy. There is a python proxy included ('websockify'). One advantage of using the proxy is that it has builtin support for SSL/TLS encryption (i.e. "wss://")."

Regardless, this is still hot and a testament to how powerful web technologies are becoming. You also have to give credit to Joel for some innovative thinking and skills. Check out the video here:



I'm at a loss of words (yeah I know, "What? You?"). I guess I found this both awesome and disturbing at the same time. That said, I still think this is kind of scary neat... :)

No comments: