KasmVNC/kasmweb
Lauri Kasanen 7bfcb19ee1 Fixups
2021-03-29 13:25:16 +03:00
..
app Update generated JS files for translations 2021-03-29 12:45:31 +03:00
core Fixups 2021-03-29 13:25:16 +03:00
docs Remove note about clipboard ISO 8859-1 restriction 2021-03-29 12:44:59 +03:00
po Update Swedish translation 2021-03-29 12:45:28 +03:00
tests Send combination keysyms for some Japanese keys 2021-03-29 12:50:22 +03:00
utils Remove unused python scripts 2021-03-29 12:07:48 +03:00
vendor Export constants in inflate.js for easier usage 2021-03-29 12:09:49 +03:00
.eslintignore Initial commit 2020-09-20 12:16:44 +00:00
.eslintrc Add lint rule for function declaration indentation 2021-03-29 12:41:44 +03:00
.gitignore update gitignore 2021-01-09 13:38:10 +00:00
.gitmodules Initial commit 2020-09-20 12:16:44 +00:00
.travis.yml Initial commit 2020-09-20 12:16:44 +00:00
AUTHORS Initial commit 2020-09-20 12:16:44 +00:00
bitbucket-pipelines.yml Initial commit 2020-09-20 12:16:44 +00:00
karma.conf.js Remove default Karma options 2021-03-29 12:43:59 +03:00
LICENSE.txt Update copyright to 2019 for modified files 2021-03-29 11:54:44 +03:00
load.html initial commit of webpack 2021-01-08 12:48:07 +00:00
package.json noVNC 1.2.0 2021-03-29 12:45:36 +03:00
README.md Peter is no longer part of the noVNC team 2021-03-29 12:02:16 +03:00
vnc_lite.html Update copyright to 2019 for modified files 2021-03-29 11:54:44 +03:00
vnc.html Update copyright to 2019 for modified files 2021-03-29 11:54:44 +03:00
webpack.config.js initial commit of webpack 2021-01-08 12:48:07 +00:00

noVNC: HTML VNC Client Library and Application

Build Status

Description

noVNC is both a HTML VNC client JavaScript library and an application built on top of that library. noVNC runs well in any modern browser including mobile browsers (iOS and Android).

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

Table of Contents

News/help/contact

The project website is found at novnc.com. 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 have questions about using noVNC then please first use the discussion group. We also have a wiki with lots of helpful information.

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". Please check our contribution guide though.

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
  • Supports scaling, clipping and resizing the desktop
  • Local cursor rendering
  • Clipboard copy/paste
  • Licensed mainly under the MPL 2.0, see the license document for details

Screenshots

Running in Firefox before and after connecting:

 

See more screenshots here.

Browser Requirements

noVNC uses many modern web technologies so a formal requirement list is not available. However these are the minimum versions we are currently aware of:

  • Chrome 49, Firefox 44, Safari 10, Opera 36, IE 11, Edge 12

Server Requirements

noVNC follows the standard VNC protocol, but unlike other VNC clients it does require WebSockets support. Many servers include support (e.g. x11vnc/libvncserver, QEMU, and MobileVNC), but for the others you need to use a WebSockets to TCP socket proxy. noVNC has a sister project websockify that provides a simple such proxy.

Quick Start

  • Use the launch script to automatically download and start websockify, which includes a mini-webserver and the WebSockets proxy. 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. Hit the Connect button, enter a password if the VNC server has one configured, and enjoy!

Integration and Deployment

Please see our other documents for how to integrate noVNC in your own software, or deploying the noVNC application in production environments:

  • Embedding - For the noVNC application
  • Library - For the noVNC JavaScript library

Authors/Contributors

See AUTHORS for a (full-ish) list of authors. If you're not on that list and you think you should be, feel free to send a PR to fix that.

  • Core team:

  • Notable contributions:

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

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

Do you want to be on this list? Check out our contribution guide and start hacking!