SPB Git forge

spb/admin-ka

Public
41commits 1branches 0releases
172.9 MBsize
maindefault branch
20 days agolast push
JavaScript 65.5% Python 17.8% CSS 13% HTML 3.7%
8.4 KB · 229 lines markdown
Rendered Raw Blame History
1## noVNC: HTML VNC client library and application23[![Test Status](https://github.com/novnc/noVNC/workflows/Test/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ATest)4[![Lint Status](https://github.com/novnc/noVNC/workflows/Lint/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ALint)56### Description78noVNC is both a HTML VNC client JavaScript library and an application built on9top of that library. noVNC runs well in any modern browser including mobile10browsers (iOS and Android).1112Many companies, projects and products have integrated noVNC including13[OpenStack](http://www.openstack.org),14[OpenNebula](http://opennebula.org/),15[LibVNCServer](http://libvncserver.sourceforge.net), and16[ThinLinc](https://cendio.com/thinlinc). See17[the Projects and companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)18for a more complete list with additional info and links.1920### Table of contents2122- [News/help/contact](#newshelpcontact)23- [Features](#features)24- [Screenshots](#screenshots)25- [Browser requirements](#browser-requirements)26- [Server requirements](#server-requirements)27- [Quick start](#quick-start)28- [Installation from snap package](#installation-from-snap-package)29- [Integration and deployment](#integration-and-deployment)30- [Authors/Contributors](#authorscontributors)3132### News/help/contact3334The project website is found at [novnc.com](http://novnc.com).3536If you are a noVNC developer/integrator/user (or want to be) please join the37[noVNC discussion group](https://groups.google.com/forum/?fromgroups#!forum/novnc).3839Bugs and feature requests can be submitted via40[github issues](https://github.com/novnc/noVNC/issues). If you have questions41about using noVNC then please first use the42[discussion group](https://groups.google.com/forum/?fromgroups#!forum/novnc).43We also have a [wiki](https://github.com/novnc/noVNC/wiki/) with lots of44helpful information.4546If you are looking for a place to start contributing to noVNC, a good place to47start would be the issues that are marked as48["patchwelcome"](https://github.com/novnc/noVNC/issues?labels=patchwelcome).49Please check our50[contribution guide](https://github.com/novnc/noVNC/wiki/Contributing) though.5152If you want to show appreciation for noVNC you could donate to a great non-53profits such as:54[Compassion International](http://www.compassion.com/),55[SIL](http://www.sil.org),56[Habitat for Humanity](http://www.habitat.org),57[Electronic Frontier Foundation](https://www.eff.org/),58[Against Malaria Foundation](http://www.againstmalaria.com/),59[Nothing But Nets](http://www.nothingbutnets.net/), etc.606162### Features6364* Supports all modern browsers including mobile (iOS, Android)65* Supported authentication methods: none, classical VNC, RealVNC's66  RSA-AES, Tight, VeNCrypt Plain, XVP, Apple's Diffie-Hellman,67  UltraVNC's MSLogonII68* Supported VNC encodings: raw, copyrect, rre, hextile, tight, tightPNG,69  ZRLE, JPEG, Zlib, H.26470* Supports scaling, clipping and resizing the desktop71* Supports back & forward mouse buttons72* Local cursor rendering73* Clipboard copy/paste with full Unicode support74* Translations75* Touch gestures for emulating common mouse actions76* Licensed mainly under the [MPL 2.0](http://www.mozilla.org/MPL/2.0/), see77  [the license document](LICENSE.txt) for details7879### Screenshots8081Running in Firefox before and after connecting:8283<img src="http://novnc.com/img/noVNC-1-login.png" width=400>&nbsp;84<img src="http://novnc.com/img/noVNC-3-connected.png" width=400>8586See more screenshots87[here](http://novnc.com/screenshots.html).888990### Browser requirements9192noVNC uses many modern web technologies so a formal requirement list is93not available. However these are the minimum versions we are currently94aware of:9596* Chrome 89, Firefox 89, Safari 15, Opera 75, Edge 89979899### Server requirements100101noVNC follows the standard VNC protocol, but unlike other VNC clients it does102require WebSockets support. Many servers include support (e.g.103[x11vnc/libvncserver](http://libvncserver.sourceforge.net/),104[QEMU](http://www.qemu.org/), and105[MobileVNC](http://www.smartlab.at/mobilevnc/)), but for the others you need to106use a WebSockets to TCP socket proxy. noVNC has a sister project107[websockify](https://github.com/novnc/websockify) that provides a simple such108proxy.109110111### Quick start112113* Use the `novnc_proxy` script to automatically download and start websockify, which114  includes a mini-webserver and the WebSockets proxy. The `--vnc` option is115  used to specify the location of a running VNC server:116117    `./utils/novnc_proxy --vnc localhost:5901`118    119* If you don't need to expose the web server to public internet, you can120  bind to localhost:121  122    `./utils/novnc_proxy --vnc localhost:5901 --listen localhost:6081`123124* Point your browser to the cut-and-paste URL that is output by the `novnc_proxy`125  script. Hit the Connect button, enter a password if the VNC server has one126  configured, and enjoy!127128### Installation from snap package129Running the command below will install the latest release of noVNC from snap:130131`sudo snap install novnc`132133#### Running noVNC from snap directly134135You can run the snap package installed novnc directly with, for example:136137`novnc --listen 6081 --vnc localhost:5901 # /snap/bin/novnc if /snap/bin is not in your PATH`138139If you want to use certificate files, due to standard snap confinement restrictions you need to have them in the /home/\<user\>/snap/novnc/current/ directory. If your username is jsmith an example command would be:140  141  `novnc --listen 8443 --cert ~jsmith/snap/novnc/current/self.crt --key ~jsmith/snap/novnc/current/self.key --vnc ubuntu.example.com:5901`142143#### Running noVNC from snap as a service (daemon)144The snap package also has the capability to run a 'novnc' service which can be145configured to listen on multiple ports connecting to multiple VNC servers 146(effectively a service running multiple instances of novnc).147Instructions (with example values):148149List current services (out-of-box this will be blank):150151```152sudo snap get novnc services153Key             Value154services.n6080  {...}155services.n6081  {...}156```157158Create a new service that listens on port 6082 and connects to the VNC server 159running on port 5902 on localhost:160161`sudo snap set novnc services.n6082.listen=6082 services.n6082.vnc=localhost:5902`162163(Any services you define with 'snap set' will be automatically started)164Note that the name of the service, 'n6082' in this example, can be anything 165as long as it doesn't start with a number or contain spaces/special characters.166167View the configuration of the service just created:168169```170sudo snap get novnc services.n6082171Key                    Value172services.n6082.listen  6082173services.n6082.vnc     localhost:5902174```175176Disable a service (note that because of a limitation in snap it's currently not177possible to unset config variables, setting them to blank values is the way 178to disable a service):179180`sudo snap set novnc services.n6082.listen='' services.n6082.vnc=''`181182(Any services you set to blank with 'snap set' like this will be automatically stopped)183184Verify that the service is disabled (blank values):185186```187sudo snap get novnc services.n6082188Key                    Value189services.n6082.listen  190services.n6082.vnc191```192193### Integration and deployment194195Please see our other documents for how to integrate noVNC in your own software,196or deploying the noVNC application in production environments:197198* [Embedding](docs/EMBEDDING.md) - For the noVNC application199* [Library](docs/LIBRARY.md) - For the noVNC JavaScript library200201202### Authors/Contributors203204See [AUTHORS](AUTHORS) for a (full-ish) list of authors.  If you're not on205that list and you think you should be, feel free to send a PR to fix that.206207* Core team:208    * [Samuel Mannehed](https://github.com/samhed) (Cendio)209    * [Pierre Ossman](https://github.com/CendioOssman) (Cendio)210211* Previous core contributors:212    * [Joel Martin](https://github.com/kanaka) (Project founder)213    * [Solly Ross](https://github.com/DirectXMan12) (Red Hat / OpenStack)214215* Notable contributions:216    * UI and icons : Pierre Ossman, Chris Gordon217    * Original logo : Michael Sersen218    * tight encoding : Michael Tinglof (Mercuri.ca)219    * RealVNC RSA AES authentication : USTC Vlab Team220221* Included libraries:222    * base64 : Martijn Pieters (Digital Creations 2), Samuel Sieb (sieb.net)223    * DES : Dave Zimmerman (Widget Workshop), Jef Poskanzer (ACME Labs)224    * Pako : Vitaly Puzrin (https://github.com/nodeca/pako)225226Do you want to be on this list? Check out our227[contribution guide](https://github.com/novnc/noVNC/wiki/Contributing) and228start hacking!229