@novnc/novnc
Advanced tools
Comparing version 1.3.0-g679b45f to 1.3.0-g69e0f0f
@@ -54,3 +54,3 @@ /* | ||
for (let i = 0; i < pixels; i++) { | ||
data[i * 4 + 3] = 255; | ||
data[index + i * 4 + 3] = 255; | ||
} | ||
@@ -57,0 +57,0 @@ |
@@ -227,2 +227,14 @@ /* | ||
getImageData() { | ||
return this._drawCtx.getImageData(0, 0, this.width, this.height); | ||
} | ||
toDataURL(type, encoderOptions) { | ||
return this._backbuffer.toDataURL(type, encoderOptions); | ||
} | ||
toBlob(callback, type, quality) { | ||
return this._backbuffer.toBlob(callback, type, quality); | ||
} | ||
// Track what parts of the visible canvas that need updating | ||
@@ -229,0 +241,0 @@ _damage(x, y, w, h) { |
100
docs/API.md
@@ -89,5 +89,9 @@ # noVNC API | ||
[`disconnect`](#disconnected) | ||
[`disconnect`](#disconnect) | ||
- The `disconnect` event is fired when the `RFB` object disconnects. | ||
[`serververification`](#serververification) | ||
- The `serververification` event is fired when the server identity | ||
must be confirmed by the user. | ||
[`credentialsrequired`](#credentialsrequired) | ||
@@ -122,2 +126,7 @@ - The `credentialsrequired` event is fired when more credentials must | ||
[`RFB.approveServer()`](#rfbapproveserver) | ||
- Proceed connecting to the server. Should be called after the | ||
[`serververification`](#serververification) event has fired and the | ||
user has verified the identity of the server. | ||
[`RFB.sendCredentials()`](#rfbsendcredentials) | ||
@@ -127,3 +136,3 @@ - Send credentials to server. Should be called after the | ||
[`RFB.sendKey()`](#rfbsendKey) | ||
[`RFB.sendKey()`](#rfbsendkey) | ||
- Send a key event. | ||
@@ -149,5 +158,14 @@ | ||
[`RFB.clipboardPasteFrom()`](#rfbclipboardPasteFrom) | ||
[`RFB.clipboardPasteFrom()`](#rfbclipboardpastefrom) | ||
- Send clipboard contents to server. | ||
[`RFB.getImageData()`](#rfbgetimagedata) | ||
- Return the current content of the screen as an ImageData array. | ||
[`RFB.toDataURL()`](#rfbtodataurl) | ||
- Return the current content of the screen as data-url encoded image file. | ||
[`RFB.toBlob()`](#rfbtoblob) | ||
- Return the current content of the screen as Blob encoded image file. | ||
### Details | ||
@@ -219,2 +237,16 @@ | ||
#### serververification | ||
The `serververification` event is fired when the server provides | ||
information that allows the user to verify that it is the correct server | ||
and protect against a man-in-the-middle attack. The `detail` property is | ||
an `Object` containing the property `type` which is a `DOMString` | ||
specifying which type of information the server has provided. Other | ||
properties are also available, depending on the value of `type`: | ||
`"RSA"` | ||
- The server identity is verified using just a RSA key. The property | ||
`publickey` is a `Uint8Array` containing the public key in a unsigned | ||
big endian representation. | ||
#### credentialsrequired | ||
@@ -279,2 +311,12 @@ | ||
#### RFB.approveServer() | ||
The `RFB.approveServer()` method is used to signal that the user has | ||
verified the server identity provided in a `serververification` event | ||
and that the connection can continue. | ||
##### Syntax | ||
RFB.approveServer( ); | ||
#### RFB.sendCredentials() | ||
@@ -399,1 +441,53 @@ | ||
- A `DOMString` specifying the clipboard data to send. | ||
#### RFB.getImageData() | ||
The `RFB.getImageData()` method is used to return the current content of the | ||
screen encoded as [`ImageData`](https://developer.mozilla.org/en-US/docs/Web/API/ImageData). | ||
##### Syntax | ||
RFB.getImageData(); | ||
#### RFB.toDataURL() | ||
The `RFB.toDataURL()` method is used to return the current content of the | ||
screen encoded as a data URL that could for example be put in the `src` attribute | ||
of an `img` tag. | ||
##### Syntax | ||
RFB.toDataURL(); | ||
RFB.toDataURL(type); | ||
RFB.toDataURL(type, encoderOptions); | ||
###### Parameters | ||
**`type`** *Optional* | ||
- A string indicating the requested MIME type of the image | ||
**`encoderOptions`** *Optional* | ||
- A number between 0 and 1 indicating the image quality. | ||
#### RFB.toBlob() | ||
The `RFB.toBlob()` method is used to return the current content of the | ||
screen encoded as [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob). | ||
##### Syntax | ||
RFB.toDataURL(callback); | ||
RFB.toDataURL(callback, type); | ||
RFB.toDataURL(callback, type, quality); | ||
###### Parameters | ||
**`callback`** | ||
- A callback function which will receive the resulting [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) | ||
as the single argument | ||
**`type`** *Optional* | ||
- A string indicating the requested MIME type of the image | ||
**`encoderOptions`** *Optional* | ||
- A number between 0 and 1 indicating the image quality. |
@@ -69,3 +69,3 @@ "use strict"; | ||
for (var _i = 0; _i < pixels; _i++) { | ||
data[_i * 4 + 3] = 255; | ||
data[index + _i * 4 + 3] = 255; | ||
} | ||
@@ -72,0 +72,0 @@ |
@@ -20,5 +20,5 @@ "use strict"; | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
@@ -33,3 +33,3 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } | ||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
@@ -36,0 +36,0 @@ var TightPNGDecoder = /*#__PURE__*/function (_TightDecoder) { |
@@ -249,2 +249,17 @@ "use strict"; | ||
this.viewportChangePos(0, 0); | ||
} | ||
}, { | ||
key: "getImageData", | ||
value: function getImageData() { | ||
return this._drawCtx.getImageData(0, 0, this.width, this.height); | ||
} | ||
}, { | ||
key: "toDataURL", | ||
value: function toDataURL(type, encoderOptions) { | ||
return this._backbuffer.toDataURL(type, encoderOptions); | ||
} | ||
}, { | ||
key: "toBlob", | ||
value: function toBlob(callback, type, quality) { | ||
return this._backbuffer.toBlob(callback, type, quality); | ||
} // Track what parts of the visible canvas that need updating | ||
@@ -251,0 +266,0 @@ |
{ | ||
"name": "@novnc/novnc", | ||
"version": "1.3.0-g679b45f", | ||
"version": "1.3.0-g69e0f0f", | ||
"description": "An HTML5 VNC client", | ||
@@ -5,0 +5,0 @@ "browser": "lib/rfb", |
@@ -131,3 +131,3 @@ ## noVNC: HTML VNC Client Library and Application | ||
#### Running noVNC | ||
#### Running noVNC from Snap Directly | ||
@@ -138,3 +138,7 @@ You can run the Snap-package installed novnc directly with, for example: | ||
#### Running as a Service (Daemon) | ||
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: | ||
`novnc --listen 8443 --cert ~jsmith/snap/novnc/current/self.crt --key ~jsmith/snap/novnc/current/self.key --vnc ubuntu.example.com:5901` | ||
#### Running noVNC from Snap as a Service (Daemon) | ||
The Snap package also has the capability to run a 'novnc' service which can be | ||
@@ -213,2 +217,3 @@ configured to listen on multiple ports connecting to multiple VNC servers | ||
* tight encoding : Michael Tinglof (Mercuri.ca) | ||
* RealVNC RSA AES authentication : USTC Vlab Team | ||
@@ -215,0 +220,0 @@ * Included libraries: |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1227632
106
30094
225