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

Solly Ross dbaf49f570 Added in guidelines for contributing to noVNC 10 yıl önce
debian 2ea40fdf9a Keyboard Handling [6/8]: Update everything to include the new keyboard handling scripts 11 yıl önce
docs 7c1cd93744 Remove references to wsproxy. 12 yıl önce
images fb35d50f6a Implement XVP UI in HTML 11 yıl önce
include ec31f82eda Fix Cursor Issue When Using True Color 10 yıl önce
tests b11bb5c385 Add support for Relative Paths in the Test Runner 11 yıl önce
utils 082027dc87 Sync with websockify 11 yıl önce
.gitignore f00b6fb69a Keyboard Handling [3/8]: Add unit tests for new keyboard handling 11 yıl önce
.gitmodules 7dc038efd9 Add gimite/web-socket-js submodule for DFSG compliance. 12 yıl önce
.travis.yml 3257d9f265 Force Travis to use Node 0.11.13 11 yıl önce
CONTRIBUTING.md dbaf49f570 Added in guidelines for contributing to noVNC 10 yıl önce
LICENSE.txt b4a979a07e Added a new file for the key symbols, using the well recognized names for the constants from X11: 12 yıl önce
README.md 58529d347b Correct Travis CI Badge URL 11 yıl önce
favicon.ico 159ad55d03 Add logo, favicon. 14 yıl önce
karma.conf.js f0e4548b16 Fix Travis Sauce Tunnel Issues 11 yıl önce
package.json e6af0f60b0 Add support for Travis CI and SauceLabs Testing 11 yıl önce
vnc.html 8f4a291b16 Updated the comment in vnc.html to reflect the changes made in last commit. 11 yıl önce
vnc_auto.html 77bd04f833 Fix invalid updateState property of RFB 11 yıl önce

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: 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.

  • 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:

    • 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)