mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-02-04 10:25:58 -05:00
Completed remote desktop server view only option.
This commit is contained in:
parent
198268709e
commit
3599021a66
Binary file not shown.
Binary file not shown.
@ -905,6 +905,9 @@ function CreateMeshRelayEx2(parent, ws, req, domain, user, cookie) {
|
|||||||
obj.req = req; // Used in multi-server.js
|
obj.req = req; // Used in multi-server.js
|
||||||
obj.viewOnly = ((cookie != null) && (cookie.vo == 1)); // set view only mode
|
obj.viewOnly = ((cookie != null) && (cookie.vo == 1)); // set view only mode
|
||||||
|
|
||||||
|
// If the domain has remote desktop viewonly set, force everyone to be in viewonly mode.
|
||||||
|
if ((typeof domain.desktop == 'object') && (domain.desktop.viewonly == true)) { obj.viewOnly = true; }
|
||||||
|
|
||||||
// Setup traffic accounting
|
// Setup traffic accounting
|
||||||
if (parent.trafficStats.desktopMultiplex == null) { parent.trafficStats.desktopMultiplex = { connections: 1, sessions: 0, in: 0, out: 0 }; } else { parent.trafficStats.desktopMultiplex.connections++; }
|
if (parent.trafficStats.desktopMultiplex == null) { parent.trafficStats.desktopMultiplex = { connections: 1, sessions: 0, in: 0, out: 0 }; } else { parent.trafficStats.desktopMultiplex.connections++; }
|
||||||
ws._socket.bytesReadEx = 0;
|
ws._socket.bytesReadEx = 0;
|
||||||
|
@ -2782,7 +2782,7 @@
|
|||||||
// Check what keys we are allows to send
|
// Check what keys we are allows to send
|
||||||
if (currentNode != null) {
|
if (currentNode != null) {
|
||||||
var meshrights = GetMeshRights(currentNode.meshid);
|
var meshrights = GetMeshRights(currentNode.meshid);
|
||||||
var inputAllowed = ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
||||||
if (inputAllowed == false) return false;
|
if (inputAllowed == false) return false;
|
||||||
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
||||||
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
||||||
@ -2816,7 +2816,7 @@
|
|||||||
// Check what keys we are allows to send
|
// Check what keys we are allows to send
|
||||||
if (currentNode != null) {
|
if (currentNode != null) {
|
||||||
var meshrights = GetMeshRights(currentNode.meshid);
|
var meshrights = GetMeshRights(currentNode.meshid);
|
||||||
var inputAllowed = ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
||||||
if (inputAllowed == false) return false;
|
if (inputAllowed == false) return false;
|
||||||
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
||||||
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
||||||
@ -2851,7 +2851,7 @@
|
|||||||
// Check what keys we are allows to send
|
// Check what keys we are allows to send
|
||||||
if (currentNode != null) {
|
if (currentNode != null) {
|
||||||
var meshrights = GetMeshRights(currentNode.meshid);
|
var meshrights = GetMeshRights(currentNode.meshid);
|
||||||
var inputAllowed = ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
||||||
if (inputAllowed == false) return false;
|
if (inputAllowed == false) return false;
|
||||||
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
||||||
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
||||||
@ -3991,6 +3991,7 @@
|
|||||||
if (tsid != null) { desktop.options.tsid = tsid; }
|
if (tsid != null) { desktop.options.tsid = tsid; }
|
||||||
if (consent != null) { desktop.options.consent = consent; }
|
if (consent != null) { desktop.options.consent = consent; }
|
||||||
desktop.onStateChanged = onDesktopStateChange;
|
desktop.onStateChanged = onDesktopStateChange;
|
||||||
|
if ((features2 & 0x2000) != 0) desktop.m.stopInput = true;
|
||||||
desktop.onConsoleMessageChange = function () {
|
desktop.onConsoleMessageChange = function () {
|
||||||
if (desktop.consoleMessage) {
|
if (desktop.consoleMessage) {
|
||||||
Q('p11DeskConsoleMsg').innerHTML += formatAgentConsoleMessage(desktop.consoleMessage, desktop.consoleMessageId, desktop.consoleMessageArgs);
|
Q('p11DeskConsoleMsg').innerHTML += formatAgentConsoleMessage(desktop.consoleMessage, desktop.consoleMessageId, desktop.consoleMessageArgs);
|
||||||
@ -4351,7 +4352,7 @@
|
|||||||
QV('termarea4', !fullscreen);
|
QV('termarea4', !fullscreen);
|
||||||
|
|
||||||
var rights = GetNodeRights(currentNode);
|
var rights = GetNodeRights(currentNode);
|
||||||
var inputAllowed = (currentNode.agent.id != 14) && ((rights == 0xFFFFFFFF) || (((rights & 8) != 0) && ((rights & 256) == 0) && ((rights & 4096) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && (currentNode.agent.id != 14) && ((rights == 0xFFFFFFFF) || (((rights & 8) != 0) && ((rights & 256) == 0) && ((rights & 4096) == 0)));
|
||||||
|
|
||||||
// Show full screen buttons if needed
|
// Show full screen buttons if needed
|
||||||
QV('deskkeybutton1', fullscreen);
|
QV('deskkeybutton1', fullscreen);
|
||||||
|
@ -3567,7 +3567,7 @@
|
|||||||
// Check what keys we are allows to send
|
// Check what keys we are allows to send
|
||||||
if (currentNode != null) {
|
if (currentNode != null) {
|
||||||
var meshrights = GetNodeRights(currentNode);
|
var meshrights = GetNodeRights(currentNode);
|
||||||
var inputAllowed = ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
||||||
if (inputAllowed == false) return false;
|
if (inputAllowed == false) return false;
|
||||||
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
||||||
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
||||||
@ -3626,7 +3626,7 @@
|
|||||||
// Check what keys we are allows to send
|
// Check what keys we are allows to send
|
||||||
if (currentNode != null) {
|
if (currentNode != null) {
|
||||||
var meshrights = GetNodeRights(currentNode);
|
var meshrights = GetNodeRights(currentNode);
|
||||||
var inputAllowed = ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
||||||
if (inputAllowed == false) return false;
|
if (inputAllowed == false) return false;
|
||||||
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
||||||
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
||||||
@ -3660,7 +3660,7 @@
|
|||||||
// Check what keys we are allows to send
|
// Check what keys we are allows to send
|
||||||
if (currentNode != null) {
|
if (currentNode != null) {
|
||||||
var meshrights = GetNodeRights(currentNode);
|
var meshrights = GetNodeRights(currentNode);
|
||||||
var inputAllowed = ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && ((meshrights == 0xFFFFFFFF) || (((meshrights & 8) != 0) && ((meshrights & 256) == 0)));
|
||||||
if (inputAllowed == false) return false;
|
if (inputAllowed == false) return false;
|
||||||
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
var limitedInputAllowed = ((meshrights != 0xFFFFFFFF) && (((meshrights & 8) != 0) && ((meshrights & 256) == 0) && ((meshrights & 4096) != 0)));
|
||||||
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
if (limitedInputAllowed == true) { if ((e.altKey == true) || (e.ctrlKey == true) || ((e.keyCode < 32) && (e.keyCode != 8) && (e.keyCode != 13)) || (e.keyCode > 90)) return false; }
|
||||||
@ -7640,6 +7640,7 @@
|
|||||||
if (desktop.m.SendCompressionLevel) { desktop.m.SendCompressionLevel(1, desktopsettings.quality, desktopsettings.scaling, desktopsettings.framerate); }
|
if (desktop.m.SendCompressionLevel) { desktop.m.SendCompressionLevel(1, desktopsettings.quality, desktopsettings.scaling, desktopsettings.framerate); }
|
||||||
desktop.onStateChanged = onDesktopStateChange;
|
desktop.onStateChanged = onDesktopStateChange;
|
||||||
desktop.onMetadataChange = function(metadata) { updateMetadata(desktop, 'deskmetadata'); }
|
desktop.onMetadataChange = function(metadata) { updateMetadata(desktop, 'deskmetadata'); }
|
||||||
|
if ((features2 & 0x2000) != 0) desktop.m.stopInput = true;
|
||||||
if (desktop && desktop.m.mouseCursorActive) { desktop.m.mouseCursorActive(true); }
|
if (desktop && desktop.m.mouseCursorActive) { desktop.m.mouseCursorActive(true); }
|
||||||
QV('DeskInputLockedButton', desktop.m.RemoteInputLock === 1);
|
QV('DeskInputLockedButton', desktop.m.RemoteInputLock === 1);
|
||||||
QV('DeskInputUnLockedButton', desktop.m.RemoteInputLock === 0);
|
QV('DeskInputUnLockedButton', desktop.m.RemoteInputLock === 0);
|
||||||
@ -7700,7 +7701,7 @@
|
|||||||
QV('d7meshkvm', (webRtcDesktop) || ((currentNode.agent != null) && (currentNode.agent.caps & 1) && ((deskState == false) || (desktop.contype == 1))));
|
QV('d7meshkvm', (webRtcDesktop) || ((currentNode.agent != null) && (currentNode.agent.caps & 1) && ((deskState == false) || (desktop.contype == 1))));
|
||||||
|
|
||||||
// Enable buttons
|
// Enable buttons
|
||||||
var inputAllowed = ((currentNode.agent == null) || (currentNode.agent.id != 14)) && ((rights == 0xFFFFFFFF) || (((rights & 8) != 0) && ((rights & 256) == 0) && ((rights & 4096) == 0)));
|
var inputAllowed = ((features2 & 0x2000) == 0) && ((currentNode.agent == null) || (currentNode.agent.id != 14)) && ((rights == 0xFFFFFFFF) || (((rights & 8) != 0) && ((rights & 256) == 0) && ((rights & 4096) == 0)));
|
||||||
var online = ((currentNode.conn & 1) != 0); // If Agent (1) connected, enable remote desktop
|
var online = ((currentNode.conn & 1) != 0); // If Agent (1) connected, enable remote desktop
|
||||||
QE('connectbutton1', online);
|
QE('connectbutton1', online);
|
||||||
var hwonline = ((currentNode.conn & 6) != 0); // If CIRA (2) or AMT (4) connected, enable hardware terminal
|
var hwonline = ((currentNode.conn & 6) != 0); // If CIRA (2) or AMT (4) connected, enable hardware terminal
|
||||||
@ -7859,6 +7860,7 @@
|
|||||||
if (tsid != null) { desktop.options.tsid = tsid; }
|
if (tsid != null) { desktop.options.tsid = tsid; }
|
||||||
if (consent != null) { desktop.options.consent = consent; }
|
if (consent != null) { desktop.options.consent = consent; }
|
||||||
desktop.onStateChanged = onDesktopStateChange;
|
desktop.onStateChanged = onDesktopStateChange;
|
||||||
|
if ((features2 & 0x2000) != 0) desktop.m.stopInput = true;
|
||||||
desktop.m.onRemoteInputLockChanged = function(obj, state) { QV('DeskInputLockedButton', state); QV('DeskInputUnLockedButton', !state); }
|
desktop.m.onRemoteInputLockChanged = function(obj, state) { QV('DeskInputLockedButton', state); QV('DeskInputUnLockedButton', !state); }
|
||||||
desktop.onConsoleMessageChange = function () {
|
desktop.onConsoleMessageChange = function () {
|
||||||
if (desktop.consoleMessage) {
|
if (desktop.consoleMessage) {
|
||||||
|
@ -2818,7 +2818,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
|||||||
if (domain.localsessionrecording === false) { features2 += 0x00000400; } // Disable local recording feature
|
if (domain.localsessionrecording === false) { features2 += 0x00000400; } // Disable local recording feature
|
||||||
if (domain.clipboardget == false) { features2 += 0x00000800; } // Disable clipboard get
|
if (domain.clipboardget == false) { features2 += 0x00000800; } // Disable clipboard get
|
||||||
if (domain.clipboardset == false) { features2 += 0x00001000; } // Disable clipboard set
|
if (domain.clipboardset == false) { features2 += 0x00001000; } // Disable clipboard set
|
||||||
if ((typeof domain.desktop != 'object') || (domain.desktop.viewonly != false)) { features2 += 0x00002000; } // Indicates remote desktop is viewonly
|
if ((typeof domain.desktop == 'object') && (domain.desktop.viewonly == true)) { features2 += 0x00002000; } // Indicates remote desktop is viewonly
|
||||||
return { features: features, features2: features2 };
|
return { features: features, features2: features2 };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user