@novnc/novnc 1.5.0 → 1.6.0-beta-gb45f35c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- noVNC is Copyright (C) 2022 The noVNC Authors
1
+ noVNC is Copyright (C) 2022 The noVNC authors
2
2
  (./AUTHORS)
3
3
 
4
4
  The noVNC core library files are licensed under the MPL 2.0 (Mozilla
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## noVNC: HTML VNC Client Library and Application
1
+ ## noVNC: HTML VNC client library and application
2
2
 
3
3
  [![Test Status](https://github.com/novnc/noVNC/workflows/Test/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ATest)
4
4
  [![Lint Status](https://github.com/novnc/noVNC/workflows/Lint/badge.svg)](https://github.com/novnc/noVNC/actions?query=workflow%3ALint)
@@ -14,19 +14,19 @@ Many companies, projects and products have integrated noVNC including
14
14
  [OpenNebula](http://opennebula.org/),
15
15
  [LibVNCServer](http://libvncserver.sourceforge.net), and
16
16
  [ThinLinc](https://cendio.com/thinlinc). See
17
- [the Projects and Companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)
17
+ [the Projects and companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)
18
18
  for a more complete list with additional info and links.
19
19
 
20
- ### Table of Contents
20
+ ### Table of contents
21
21
 
22
22
  - [News/help/contact](#newshelpcontact)
23
23
  - [Features](#features)
24
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)
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
30
  - [Authors/Contributors](#authorscontributors)
31
31
 
32
32
  ### News/help/contact
@@ -66,8 +66,9 @@ profits such as:
66
66
  RSA-AES, Tight, VeNCrypt Plain, XVP, Apple's Diffie-Hellman,
67
67
  UltraVNC's MSLogonII
68
68
  * Supported VNC encodings: raw, copyrect, rre, hextile, tight, tightPNG,
69
- ZRLE, JPEG
69
+ ZRLE, JPEG, Zlib, H.264
70
70
  * Supports scaling, clipping and resizing the desktop
71
+ * Supports back & forward mouse buttons
71
72
  * Local cursor rendering
72
73
  * Clipboard copy/paste with full Unicode support
73
74
  * Translations
@@ -86,16 +87,16 @@ See more screenshots
86
87
  [here](http://novnc.com/screenshots.html).
87
88
 
88
89
 
89
- ### Browser Requirements
90
+ ### Browser requirements
90
91
 
91
92
  noVNC uses many modern web technologies so a formal requirement list is
92
93
  not available. However these are the minimum versions we are currently
93
94
  aware of:
94
95
 
95
- * Chrome 64, Firefox 79, Safari 13.4, Opera 51, Edge 79
96
+ * Chrome 89, Firefox 89, Safari 15, Opera 75, Edge 89
96
97
 
97
98
 
98
- ### Server Requirements
99
+ ### Server requirements
99
100
 
100
101
  noVNC follows the standard VNC protocol, but unlike other VNC clients it does
101
102
  require WebSockets support. Many servers include support (e.g.
@@ -107,7 +108,7 @@ use a WebSockets to TCP socket proxy. noVNC has a sister project
107
108
  proxy.
108
109
 
109
110
 
110
- ### Quick Start
111
+ ### Quick start
111
112
 
112
113
  * Use the `novnc_proxy` script to automatically download and start websockify, which
113
114
  includes a mini-webserver and the WebSockets proxy. The `--vnc` option is
@@ -124,25 +125,25 @@ proxy.
124
125
  script. Hit the Connect button, enter a password if the VNC server has one
125
126
  configured, and enjoy!
126
127
 
127
- ### Installation from Snap Package
128
- Running the command below will install the latest release of noVNC from Snap:
128
+ ### Installation from snap package
129
+ Running the command below will install the latest release of noVNC from snap:
129
130
 
130
131
  `sudo snap install novnc`
131
132
 
132
- #### Running noVNC from Snap Directly
133
+ #### Running noVNC from snap directly
133
134
 
134
- You can run the Snap-package installed novnc directly with, for example:
135
+ You can run the snap package installed novnc directly with, for example:
135
136
 
136
137
  `novnc --listen 6081 --vnc localhost:5901 # /snap/bin/novnc if /snap/bin is not in your PATH`
137
138
 
138
- If 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:
139
+ If 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:
139
140
 
140
141
  `novnc --listen 8443 --cert ~jsmith/snap/novnc/current/self.crt --key ~jsmith/snap/novnc/current/self.key --vnc ubuntu.example.com:5901`
141
142
 
142
- #### Running noVNC from Snap as a Service (Daemon)
143
- The Snap package also has the capability to run a 'novnc' service which can be
143
+ #### Running noVNC from snap as a service (daemon)
144
+ The snap package also has the capability to run a 'novnc' service which can be
144
145
  configured to listen on multiple ports connecting to multiple VNC servers
145
- (effectively a service runing multiple instances of novnc).
146
+ (effectively a service running multiple instances of novnc).
146
147
  Instructions (with example values):
147
148
 
148
149
  List current services (out-of-box this will be blank):
@@ -172,7 +173,7 @@ services.n6082.listen 6082
172
173
  services.n6082.vnc localhost:5902
173
174
  ```
174
175
 
175
- Disable a service (note that because of a limitation in Snap it's currently not
176
+ Disable a service (note that because of a limitation in snap it's currently not
176
177
  possible to unset config variables, setting them to blank values is the way
177
178
  to disable a service):
178
179
 
@@ -189,7 +190,7 @@ services.n6082.listen
189
190
  services.n6082.vnc
190
191
  ```
191
192
 
192
- ### Integration and Deployment
193
+ ### Integration and deployment
193
194
 
194
195
  Please see our other documents for how to integrate noVNC in your own software,
195
196
  or deploying the noVNC application in production environments:
@@ -212,8 +213,8 @@ that list and you think you should be, feel free to send a PR to fix that.
212
213
  * [Solly Ross](https://github.com/DirectXMan12) (Red Hat / OpenStack)
213
214
 
214
215
  * Notable contributions:
215
- * UI and Icons : Pierre Ossman, Chris Gordon
216
- * Original Logo : Michael Sersen
216
+ * UI and icons : Pierre Ossman, Chris Gordon
217
+ * Original logo : Michael Sersen
217
218
  * tight encoding : Michael Tinglof (Mercuri.ca)
218
219
  * RealVNC RSA AES authentication : USTC Vlab Team
219
220
 
package/docs/LIBRARY.md CHANGED
@@ -16,7 +16,7 @@ noVNC includes a small example application called `vnc_lite.html`. This does
16
16
  not make use of all the features of noVNC, but is a good start to see how to
17
17
  do things.
18
18
 
19
- ## Conversion of Modules
19
+ ## Conversion of modules
20
20
 
21
21
  noVNC is written using ECMAScript 6 modules. This is not supported by older
22
22
  versions of Node.js. To use noVNC with those older versions of Node.js the
package/lib/crypto/aes.js CHANGED
@@ -28,7 +28,7 @@ var AESECBCipher = exports.AESECBCipher = /*#__PURE__*/function () {
28
28
  }, {
29
29
  key: "_importKey",
30
30
  value: function () {
31
- var _importKey2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, extractable, keyUsages) {
31
+ var _importKey2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, extractable, keyUsages) {
32
32
  return _regeneratorRuntime().wrap(function _callee$(_context) {
33
33
  while (1) switch (_context.prev = _context.next) {
34
34
  case 0:
@@ -52,7 +52,7 @@ var AESECBCipher = exports.AESECBCipher = /*#__PURE__*/function () {
52
52
  }, {
53
53
  key: "encrypt",
54
54
  value: function () {
55
- var _encrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_algorithm, plaintext) {
55
+ var _encrypt = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_algorithm, plaintext) {
56
56
  var x, n, i, y;
57
57
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
58
58
  while (1) switch (_context2.prev = _context2.next) {
@@ -101,7 +101,7 @@ var AESECBCipher = exports.AESECBCipher = /*#__PURE__*/function () {
101
101
  }], [{
102
102
  key: "importKey",
103
103
  value: function () {
104
- var _importKey3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(key, _algorithm, extractable, keyUsages) {
104
+ var _importKey3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(key, _algorithm, extractable, keyUsages) {
105
105
  var cipher;
106
106
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
107
107
  while (1) switch (_context3.prev = _context3.next) {
@@ -145,7 +145,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
145
145
  }, {
146
146
  key: "_encryptBlock",
147
147
  value: function () {
148
- var _encryptBlock2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(block) {
148
+ var _encryptBlock2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(block) {
149
149
  var encrypted;
150
150
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
151
151
  while (1) switch (_context4.prev = _context4.next) {
@@ -172,7 +172,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
172
172
  }, {
173
173
  key: "_initCMAC",
174
174
  value: function () {
175
- var _initCMAC2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
175
+ var _initCMAC2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
176
176
  var k1, k2, v, i, lut;
177
177
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
178
178
  while (1) switch (_context5.prev = _context5.next) {
@@ -207,7 +207,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
207
207
  }, {
208
208
  key: "_encryptCTR",
209
209
  value: function () {
210
- var _encryptCTR2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(data, counter) {
210
+ var _encryptCTR2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(data, counter) {
211
211
  var encrypted;
212
212
  return _regeneratorRuntime().wrap(function _callee6$(_context6) {
213
213
  while (1) switch (_context6.prev = _context6.next) {
@@ -235,7 +235,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
235
235
  }, {
236
236
  key: "_decryptCTR",
237
237
  value: function () {
238
- var _decryptCTR2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(data, counter) {
238
+ var _decryptCTR2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(data, counter) {
239
239
  var decrypted;
240
240
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
241
241
  while (1) switch (_context7.prev = _context7.next) {
@@ -263,7 +263,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
263
263
  }, {
264
264
  key: "_computeCMAC",
265
265
  value: function () {
266
- var _computeCMAC2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(data, prefixBlock) {
266
+ var _computeCMAC2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(data, prefixBlock) {
267
267
  var n, m, r, cbcData, i, _i, cbcEncrypted, mac;
268
268
  return _regeneratorRuntime().wrap(function _callee8$(_context8) {
269
269
  while (1) switch (_context8.prev = _context8.next) {
@@ -314,7 +314,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
314
314
  }, {
315
315
  key: "_importKey",
316
316
  value: function () {
317
- var _importKey4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(key) {
317
+ var _importKey4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(key) {
318
318
  return _regeneratorRuntime().wrap(function _callee9$(_context9) {
319
319
  while (1) switch (_context9.prev = _context9.next) {
320
320
  case 0:
@@ -347,7 +347,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
347
347
  }, {
348
348
  key: "encrypt",
349
349
  value: function () {
350
- var _encrypt2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(algorithm, message) {
350
+ var _encrypt2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(algorithm, message) {
351
351
  var ad, nonce, nCMAC, encrypted, adCMAC, mac, i, res;
352
352
  return _regeneratorRuntime().wrap(function _callee10$(_context10) {
353
353
  while (1) switch (_context10.prev = _context10.next) {
@@ -391,7 +391,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
391
391
  }, {
392
392
  key: "decrypt",
393
393
  value: function () {
394
- var _decrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(algorithm, data) {
394
+ var _decrypt = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(algorithm, data) {
395
395
  var encrypted, ad, nonce, mac, nCMAC, adCMAC, computedMac, i, _i2, res;
396
396
  return _regeneratorRuntime().wrap(function _callee11$(_context11) {
397
397
  while (1) switch (_context11.prev = _context11.next) {
@@ -456,7 +456,7 @@ var AESEAXCipher = exports.AESEAXCipher = /*#__PURE__*/function () {
456
456
  }], [{
457
457
  key: "importKey",
458
458
  value: function () {
459
- var _importKey5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(key, _algorithm, _extractable, _keyUsages) {
459
+ var _importKey5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(key, _algorithm, _extractable, _keyUsages) {
460
460
  var cipher;
461
461
  return _regeneratorRuntime().wrap(function _callee12$(_context12) {
462
462
  while (1) switch (_context12.prev = _context12.next) {
package/lib/crypto/md5.js CHANGED
@@ -10,7 +10,7 @@ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.
10
10
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
11
11
  /*
12
12
  * noVNC: HTML5 VNC client
13
- * Copyright (C) 2021 The noVNC Authors
13
+ * Copyright (C) 2021 The noVNC authors
14
14
  * Licensed under MPL 2.0 (see LICENSE.txt)
15
15
  *
16
16
  * See README.md for usage and integration instructions.
@@ -22,7 +22,7 @@ function MD5(_x) {
22
22
  return _MD.apply(this, arguments);
23
23
  }
24
24
  function _MD() {
25
- _MD = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(d) {
25
+ _MD = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(d) {
26
26
  var s, i;
27
27
  return _regeneratorRuntime().wrap(function _callee$(_context) {
28
28
  while (1) switch (_context.prev = _context.next) {
package/lib/crypto/rsa.js CHANGED
@@ -53,7 +53,7 @@ var RSACipher = exports.RSACipher = /*#__PURE__*/function () {
53
53
  }, {
54
54
  key: "_generateKey",
55
55
  value: function () {
56
- var _generateKey2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(algorithm, extractable) {
56
+ var _generateKey2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(algorithm, extractable) {
57
57
  var key, privateKey;
58
58
  return _regeneratorRuntime().wrap(function _callee$(_context) {
59
59
  while (1) switch (_context.prev = _context.next) {
@@ -96,7 +96,7 @@ var RSACipher = exports.RSACipher = /*#__PURE__*/function () {
96
96
  }, {
97
97
  key: "_importKey",
98
98
  value: function () {
99
- var _importKey2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(key, extractable) {
99
+ var _importKey2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(key, extractable) {
100
100
  var n, e;
101
101
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
102
102
  while (1) switch (_context2.prev = _context2.next) {
@@ -132,7 +132,7 @@ var RSACipher = exports.RSACipher = /*#__PURE__*/function () {
132
132
  }, {
133
133
  key: "encrypt",
134
134
  value: function () {
135
- var _encrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_algorithm, message) {
135
+ var _encrypt = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_algorithm, message) {
136
136
  var ps, i, em, emBigInt, c;
137
137
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
138
138
  while (1) switch (_context3.prev = _context3.next) {
@@ -169,7 +169,7 @@ var RSACipher = exports.RSACipher = /*#__PURE__*/function () {
169
169
  }, {
170
170
  key: "decrypt",
171
171
  value: function () {
172
- var _decrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_algorithm, message) {
172
+ var _decrypt = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_algorithm, message) {
173
173
  var msgBigInt, emBigInt, em, i;
174
174
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
175
175
  while (1) switch (_context4.prev = _context4.next) {
@@ -226,7 +226,7 @@ var RSACipher = exports.RSACipher = /*#__PURE__*/function () {
226
226
  }, {
227
227
  key: "exportKey",
228
228
  value: function () {
229
- var _exportKey = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
229
+ var _exportKey = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
230
230
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
231
231
  while (1) switch (_context5.prev = _context5.next) {
232
232
  case 0:
@@ -255,7 +255,7 @@ var RSACipher = exports.RSACipher = /*#__PURE__*/function () {
255
255
  }], [{
256
256
  key: "generateKey",
257
257
  value: function () {
258
- var _generateKey3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(algorithm, extractable, _keyUsages) {
258
+ var _generateKey3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(algorithm, extractable, _keyUsages) {
259
259
  var cipher;
260
260
  return _regeneratorRuntime().wrap(function _callee6$(_context6) {
261
261
  while (1) switch (_context6.prev = _context6.next) {
@@ -281,7 +281,7 @@ var RSACipher = exports.RSACipher = /*#__PURE__*/function () {
281
281
  }, {
282
282
  key: "importKey",
283
283
  value: function () {
284
- var _importKey3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(key, _algorithm, extractable, keyUsages) {
284
+ var _importKey3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(key, _algorithm, extractable, keyUsages) {
285
285
  var cipher;
286
286
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
287
287
  while (1) switch (_context7.prev = _context7.next) {
@@ -12,7 +12,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
12
12
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  /*
14
14
  * noVNC: HTML5 VNC client
15
- * Copyright (C) 2019 The noVNC Authors
15
+ * Copyright (C) 2019 The noVNC authors
16
16
  * Licensed under MPL 2.0 (see LICENSE.txt)
17
17
  *
18
18
  * See README.md for usage and integration instructions.