VNC client web application
Go to file
Joel Martin d58f8b5144 License clarification: HTML,CSS,images,fonts under permissive licenses.
Clarify in LICENSE.txt that the noVNC core library is the part that is
LGPLv3 licensed. The HTML, CSS, images and fonts are separate from the
core library and can be modified and distributed with the noVNC core
but under their own license conditions.

HTML and CSS: 2-Clause BSD
Fonts: SIL OFL 1.1
Images: CC BY SA 3.0

In other words, you can modify the layout and appearance of of noVNC
to integrate with an existing or new web site or application without
having to publish the source for those modifications under the LGPLv3.
However, use of and modification of the noVNC core library (i.e. the
core Javascript that makes up noVNC) must still be according to the
LGPLv3.

Chris Gordon was the other contributor to the HTML, CSS, and images
included with noVNC and gave permission for this license clarification
on June 23, 2012.
2012-06-24 16:29:44 -05:00
debian noVNC version 0.3 2012-05-11 14:42:05 -05:00
docs License clarification: HTML,CSS,images,fonts under permissive licenses. 2012-06-24 16:29:44 -05:00
images Formatting. Image renames/cleanup. 2011-09-29 09:32:09 -05:00
include License clarification: HTML,CSS,images,fonts under permissive licenses. 2012-06-24 16:29:44 -05:00
tests Merge remote branch 'origin/issue-70' 2012-01-12 17:17:11 -06:00
utils Fixes nova rpc package. 2012-06-21 21:38:52 -04:00
.gitignore Ignore utils/rebind.so 2011-03-23 21:23:08 -05:00
LICENSE.txt License clarification: HTML,CSS,images,fonts under permissive licenses. 2012-06-24 16:29:44 -05:00
README.md README: Add PocketVNC. 2012-05-24 07:09:47 -05:00
favicon.ico Add logo, favicon. 2011-02-03 11:04:32 -06:00
vnc.html License clarification: HTML,CSS,images,fonts under permissive licenses. 2012-06-24 16:29:44 -05:00
vnc_auto.html License clarification: HTML,CSS,images,fonts under permissive licenses. 2012-06-24 16:29:44 -05:00

README.md

noVNC: HTML5 VNC Client

Description

noVNC is a HTML5 VNC client that runs well in any modern browser including mobile browsers (iPhone/iPad and Android).

Notable commits, announcements and news are posted to @noVNC

There are many companies/projects that have integrated noVNC into their products including: Ganeti Web Manager, Archipel, openQRM, OpenNode, OpenStack, Broadway (HTML5 GDK/GTK+ backend), OpenNebula, CloudSigma, Zentyal (formerly eBox), SlapOS, Intel MeshCentral, Amahi, Brightbox, Foreman, LibVNCServer and PocketVNC. See this wiki page for more info and links.

Features

  • Supports all modern browsers including mobile (iOS, Android)
  • Supported VNC encodings: raw, copyrect, rre, hextile, tight, tightPNG
  • WebSocket SSL/TLS encryption (i.e. "wss://") support
  • 24-bit true color and 8 bit colour mapped
  • Supports desktop resize notification/pseudo-encoding
  • Local or remote cursor
  • Clipboard copy/paste
  • Clipping or scolling modes for large remote screens
  • Easy site integration and theming (3 example themes included)
  • Licensed under the LGPLv3

Screenshots

Running in Chrome before and after connecting:

 

See more screenshots here.

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 web-socket-js, a WebSockets emulator using Adobe Flash. iOS 4.2+ has built-in WebSocket support.

  • Fast Javascript Engine: this is not strictly a requirement, but without a fast Javascript engine, noVNC might be painfully slow.

  • I maintain a more detailed browser compatibility list here.

Server Requirements

Unless you are using a VNC server with support for WebSockets connections (such as x11vnc/libvncserver or PocketVNC), you need to use a WebSockets to TCP socket proxy. There is a python proxy included ('websockify').

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

Authors/Contributors

  • noVNC : Joel Martin (github.com/kanaka)

    • New UI and Icons : Chris Gordon
    • Original Logo : Michael Sersen
    • tight encoding : Michael Tinglof (Mercuri.ca)
  • Included libraries:

    • web-socket-js : Hiroshi Ichikawa (github.com/gimite/web-socket-js)
    • as3crypto : Henri Torgemane (code.google.com/p/as3crypto)
    • base64 : Martijn Pieters (Digital Creations 2), Samuel Sieb (sieb.net)
    • jsunzip : Erik Moller (github.com/operasoftware/jsunzip),
    • tinflate : Joergen Ibsen (ibsensoftware.com)
    • DES : Dave Zimmerman (Widget Workshop), Jef Poskanzer (ACME Labs)