diff options
author | Christian Beier <dontmind@freeshell.org> | 2011-11-09 20:00:16 +0100 |
---|---|---|
committer | Christian Beier <dontmind@freeshell.org> | 2011-11-09 20:00:16 +0100 |
commit | faadd484489efddd182d6d0df43d8ecfdbff29ff (patch) | |
tree | 9c098fca3bd1280a2166259650695d172d049aee /webclients/novnc/README.md | |
parent | 7cb0e4a9a95886300268e1bff1e72b4c18f1b762 (diff) | |
download | libtdevnc-faadd484489efddd182d6d0df43d8ecfdbff29ff.tar.gz libtdevnc-faadd484489efddd182d6d0df43d8ecfdbff29ff.zip |
Rename 'classes' dir to 'webclients'.
Diffstat (limited to 'webclients/novnc/README.md')
-rw-r--r-- | webclients/novnc/README.md | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/webclients/novnc/README.md b/webclients/novnc/README.md new file mode 100644 index 0000000..4672969 --- /dev/null +++ b/webclients/novnc/README.md @@ -0,0 +1,93 @@ +## noVNC: HTML5 VNC Client + + +### Description + +noVNC is a VNC client implemented using HTML5 technologies, +specifically Canvas and WebSockets (supports 'wss://' encryption). +noVNC is licensed under the +[LGPLv3](http://www.gnu.org/licenses/lgpl.html). + +Special thanks to [Sentry Data Systems](http://www.sentryds.com) for +sponsoring ongoing development of this project (and for employing me). + +There are many companies/projects that have integrated noVNC into +their products including: [Sentry Data Systems](http://www.sentryds.com), [Ganeti Web Manager](http://code.osuosl.org/projects/ganeti-webmgr), [Archipel](http://archipelproject.org), [openQRM](http://www.openqrm.com/), [OpenNode](http://www.opennodecloud.com/), [OpenStack](http://www.openstack.org), [Broadway (HTML5 GDK/GTK+ backend)](http://blogs.gnome.org/alexl/2011/03/15/gtk-html-backend-update/), [OpenNebula](http://opennebula.org/), [CloudSigma](http://www.cloudsigma.com/), [Zentyal (formerly eBox)](http://www.zentyal.org/), and [SlapOS](http://www.slapos.org). See [this wiki page](https://github.com/kanaka/noVNC/wiki/ProjectsCompanies-using-noVNC) for more info and links. + +Notable commits, announcements and news are posted to +@<a href="http://www.twitter.com/noVNC">noVNC</a> + + +### Screenshots + +Running in Chrome before and after connecting: + +<img src="http://kanaka.github.com/noVNC/img/noVNC-5.png" width=400> <img src="http://kanaka.github.com/noVNC/img/noVNC-7.jpg" width=400> + +See more screenshots <a href="http://kanaka.github.com/noVNC/screenshots.html">here</a>. + + +### Browser Requirements + +* HTML5 Canvas (with createImageData): Chrome, Firefox 3.6+, iOS + Safari, Opera 11+, Internet Explorer 9+, etc. + +* HTML5 WebSockets: For browsers that do not have builtin + WebSockets support, the project includes + <a href="http://github.com/gimite/web-socket-js">web-socket-js</a>, + a WebSockets emulator using Adobe Flash. iOS 4.2+ has built-in + WebSocket support. + +* Fast Javascript Engine: noVNC avoids using new Javascript + functionality so it will run on older browsers, but decode and + rendering happen in Javascript, so a slow Javascript engine will + mean noVNC is painfully slow. + +* I maintain a more detailed browser compatibility list <a + href="https://github.com/kanaka/noVNC/wiki/Browser-support">here</a>. + + +### Server Requirements + +Unless you are using a VNC server with support for WebSockets +connections (only my [fork of libvncserver](http://github.com/kanaka/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://"). + +There a few reasons why a proxy is required: + + 1. WebSockets is not a pure socket protocol. There is an initial HTTP + like handshake to allow easy hand-off by web servers and allow + some origin policy exchange. Also, each WebSockets frame begins + with 0 ('\x00') and ends with 255 ('\xff'). + + 2. Javascript itself does not have the ability to handle pure byte + arrays. The python proxy encodes the data as base64 so that the + Javascript client can decode the data as an integer array. + + +### Quick Start + +* Use the launch script to start a mini-webserver and the WebSockets + proxy (websockify). The `--vnc` option is used to specify the location of + a running VNC server: + + `./utils/launch.sh --vnc localhost:5901` + +* Point your browser to the cut-and-paste URL that is output by the + launch script. Enter a password if the VNC server has one + configured. Hit the Connect button and enjoy! + + +### Other Pages + +* [Advanced Usage](https://github.com/kanaka/noVNC/wiki/Advanced-usage). Generating an SSL + certificate, starting a VNC server, advanced websockify usage, etc. + +* [Integrating noVNC](https://github.com/kanaka/noVNC/wiki/Integration) into existing projects. + +* [Troubleshooting noVNC](https://github.com/kanaka/noVNC/wiki/Troubleshooting) problems. + + |