mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-02-09 20:58:06 -05:00
Merge branch 'master' of https://github.com/Ylianst/MeshCentral
This commit is contained in:
commit
b2155f4260
@ -1202,7 +1202,7 @@ function createMeshCore(agent) {
|
|||||||
{
|
{
|
||||||
for(var i in this.httprequest.desktop.kvm.users)
|
for(var i in this.httprequest.desktop.kvm.users)
|
||||||
{
|
{
|
||||||
if(this.httprequest.desktop.kvm.users[i] == this.httprequest.username)
|
if (this.httprequest.desktop.kvm.users[i] == this.httprequest.username && this.httprequest.desktop.kvm.connectionBar)
|
||||||
{
|
{
|
||||||
this.httprequest.desktop.kvm.users.splice(i, 1);
|
this.httprequest.desktop.kvm.users.splice(i, 1);
|
||||||
this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close');
|
this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close');
|
||||||
@ -1266,13 +1266,25 @@ function createMeshCore(agent) {
|
|||||||
if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 0x40))
|
if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 0x40))
|
||||||
{
|
{
|
||||||
// Connection Bar is required
|
// Connection Bar is required
|
||||||
MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest);
|
|
||||||
if (this.ws.httprequest.desktop.kvm.connectionBar)
|
if (this.ws.httprequest.desktop.kvm.connectionBar)
|
||||||
{
|
{
|
||||||
this.ws.httprequest.desktop.kvm.connectionBar.removeAllListeners('close');
|
this.ws.httprequest.desktop.kvm.connectionBar.removeAllListeners('close');
|
||||||
this.ws.httprequest.desktop.kvm.connectionBar.close();
|
this.ws.httprequest.desktop.kvm.connectionBar.close();
|
||||||
}
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
this.ws.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.ws.httprequest.desktop.kvm.users.sort().join(', '));
|
this.ws.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.ws.httprequest.desktop.kvm.users.sort().join(', '));
|
||||||
|
MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest);
|
||||||
|
}
|
||||||
|
catch(xx)
|
||||||
|
{
|
||||||
|
if(process.platform != 'darwin')
|
||||||
|
{
|
||||||
|
MeshServerLog('Remote Desktop Connection Bar Failed or Not Supported (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.ws.httprequest.desktop.kvm.connectionBar)
|
||||||
|
{
|
||||||
this.ws.httprequest.desktop.kvm.connectionBar.httprequest = this.ws.httprequest;
|
this.ws.httprequest.desktop.kvm.connectionBar.httprequest = this.ws.httprequest;
|
||||||
this.ws.httprequest.desktop.kvm.connectionBar.on('close', function ()
|
this.ws.httprequest.desktop.kvm.connectionBar.on('close', function ()
|
||||||
{
|
{
|
||||||
@ -1284,6 +1296,7 @@ function createMeshCore(agent) {
|
|||||||
this.httprequest.desktop.kvm.end();
|
this.httprequest.desktop.kvm.end();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
this.ws.httprequest.desktop.kvm.pipe(this.ws, { dataTypeSkip: 1 });
|
this.ws.httprequest.desktop.kvm.pipe(this.ws, { dataTypeSkip: 1 });
|
||||||
this.ws.resume();
|
this.ws.resume();
|
||||||
},
|
},
|
||||||
@ -1307,13 +1320,22 @@ function createMeshCore(agent) {
|
|||||||
if (this.httprequest.consent && (this.httprequest.consent & 0x40))
|
if (this.httprequest.consent && (this.httprequest.consent & 0x40))
|
||||||
{
|
{
|
||||||
// Connection Bar is required
|
// Connection Bar is required
|
||||||
MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.httprequest.remoteaddr + ')', this.httprequest);
|
|
||||||
if(this.httprequest.desktop.kvm.connectionBar)
|
if(this.httprequest.desktop.kvm.connectionBar)
|
||||||
{
|
{
|
||||||
this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close');
|
this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close');
|
||||||
this.httprequest.desktop.kvm.connectionBar.close();
|
this.httprequest.desktop.kvm.connectionBar.close();
|
||||||
}
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
this.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.httprequest.desktop.kvm.users.sort().join(', '));
|
this.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.httprequest.desktop.kvm.users.sort().join(', '));
|
||||||
|
MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.httprequest.remoteaddr + ')', this.httprequest);
|
||||||
|
}
|
||||||
|
catch(xx)
|
||||||
|
{
|
||||||
|
MeshServerLog('Remote Desktop Connection Bar Failed or not Supported (' + this.httprequest.remoteaddr + ')', this.httprequest);
|
||||||
|
}
|
||||||
|
if (this.httprequest.desktop.kvm.connectionBar)
|
||||||
|
{
|
||||||
this.httprequest.desktop.kvm.connectionBar.httprequest = this.httprequest;
|
this.httprequest.desktop.kvm.connectionBar.httprequest = this.httprequest;
|
||||||
this.httprequest.desktop.kvm.connectionBar.on('close', function ()
|
this.httprequest.desktop.kvm.connectionBar.on('close', function ()
|
||||||
{
|
{
|
||||||
@ -1325,6 +1347,7 @@ function createMeshCore(agent) {
|
|||||||
this.httprequest.desktop.kvm.end();
|
this.httprequest.desktop.kvm.end();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
this.httprequest.desktop.kvm.pipe(this, { dataTypeSkip: 1 });
|
this.httprequest.desktop.kvm.pipe(this, { dataTypeSkip: 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1765,6 +1788,39 @@ function createMeshCore(agent) {
|
|||||||
response = 'Available commands: \r\n' + fin + '.';
|
response = 'Available commands: \r\n' + fin + '.';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'safemode':
|
||||||
|
if (process.platform != 'win32')
|
||||||
|
{
|
||||||
|
response = 'safemode only supported on Windows Platforms'
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (args['_'].length != 1)
|
||||||
|
{
|
||||||
|
response = 'Proper usage: safemode (ON|OFF|STATUS)'; // Display usage
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch(args['_'][0].toUpperCase())
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
response = 'Proper usage: safemode (ON|OFF|STATUS)'; // Display usage
|
||||||
|
break;
|
||||||
|
case 'ON':
|
||||||
|
require('win-bcd').setKey('safeboot', 'Network');
|
||||||
|
require('win-bcd').enableSafeModeService('Mesh Agent');
|
||||||
|
break;
|
||||||
|
case 'OFF':
|
||||||
|
require('win-bcd').deleteKey('safeboot');
|
||||||
|
break;
|
||||||
|
case 'STATUS':
|
||||||
|
var nextboot = require('win-bcd').getKey('safeboot');
|
||||||
|
response = 'Current: ' + require('win-bcd').bootMode + ' , NextBoot: ' + (nextboot ? nextboot : 'NORMAL');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
/*
|
/*
|
||||||
case 'border':
|
case 'border':
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user