Fork of novnc/noVNC (stable/v0.6)

Joel Martin 15e733f533 Clarify that utils/launch.sh is MPL-2.0 9 éve
docs c802d93189 Make sure Pako always has enough room 10 éve
images cd611a5326 Renamed showExtraKeys to toggleExtraKeys 9 éve
include b2cdd55859 Proper error handling for tight filters 9 éve
tests ae11605141 Split the setDesktopSize function (#618) 9 éve
utils 15e733f533 Clarify that utils/launch.sh is MPL-2.0 9 éve
.gitignore 9db6a90677 Make sure websockify is cloned to the correct dir 10 éve
.gitmodules 38781d931e Use Typed Arrays for the Websock receive queue 10 éve
.travis.yml bc4414f5b1 CI: Switch to Container-Based Travis 10 éve
CONTRIBUTING.md dbaf49f570 Added in guidelines for contributing to noVNC 10 éve
LICENSE.txt 15e733f533 Clarify that utils/launch.sh is MPL-2.0 9 éve
README.md 38781d931e Use Typed Arrays for the Websock receive queue 10 éve
favicon.ico 159ad55d03 Add logo, favicon. 14 éve
karma.conf.js 6940936ffc WIP: Switch to Pako for zlib 10 éve
package.json f9ffb21b6b Merge pull request #415 from jimdigriz/fixes 10 éve
vnc.html a1dbbcc1a7 Consistent closing tags for void elements 9 éve
vnc_auto.html 3daa86cbae Update vnc_auto after the screen namechange 9 éve

README.md

noVNC: HTML5 VNC Client

Build Status

Description

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

Many companies/projects have integrated noVNC including Ganeti Web Manager, OpenStack, OpenNebula, and LibVNCServer. See the Projects and Companies wiki page for a more complete list with additional info and links.

News/help/contact

Notable commits, announcements and news are posted to @noVNC

If you are a noVNC developer/integrator/user (or want to be) please join the noVNC discussion group

Bugs and feature requests can be submitted via github issues. If you are looking for a place to start contributing to noVNC, a good place to start would be the issues that are marked as "patchwelcome".

If you want to show appreciation for noVNC you could donate to a great non-profits such as: Compassion International, SIL, Habitat for Humanity, Electronic Frontier Foundation, Against Malaria Foundation, Nothing But Nets, etc. Please tweet @noVNC if you do.

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 MPL 2.0

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 and Typed Arrays

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

  • See the more detailed browser compatibility wiki page.

Server Requirements

Unless you are using a VNC server with support for WebSockets connections (such as x11vnc/libvncserver, QEMU, 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

  • Core team:

  • Notable contributions:

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

    • as3crypto : Henri Torgemane (code.google.com/p/as3crypto)
    • base64 : Martijn Pieters (Digital Creations 2), Samuel Sieb (sieb.net)
    • DES : Dave Zimmerman (Widget Workshop), Jef Poskanzer (ACME Labs)
    • Pako : Vitaly Puzrin (https://github.com/nodeca/pako)