Added agent filename customization.
This commit is contained in:
parent
35ab3397c5
commit
8910be58a3
|
@ -263,7 +263,8 @@
|
||||||
"displayName": { "type": "string", "default": "MeshCentral Agent", "description": "The name of the agent as displayed to the user." },
|
"displayName": { "type": "string", "default": "MeshCentral Agent", "description": "The name of the agent as displayed to the user." },
|
||||||
"description": { "type": "string", "default": "Mesh Agent background service", "description": "The description of the agent as displayed to the user." },
|
"description": { "type": "string", "default": "Mesh Agent background service", "description": "The description of the agent as displayed to the user." },
|
||||||
"companyName": { "type": "string", "default": "Mesh Agent", "description": "This will be used as the path to install the agent, by default this is 'Mesh Agent' in Windows and 'meshagent' in other OS's." },
|
"companyName": { "type": "string", "default": "Mesh Agent", "description": "This will be used as the path to install the agent, by default this is 'Mesh Agent' in Windows and 'meshagent' in other OS's." },
|
||||||
"serviceName": { "type": "string", "default": "Mesh Agent", "description": "The name of the background service, by default this is 'Mesh Agent' in Windows and 'meshagent' in other OS's but should be set to an all lower case, no space string." }
|
"serviceName": { "type": "string", "default": "Mesh Agent", "description": "The name of the background service, by default this is 'Mesh Agent' in Windows and 'meshagent' in other OS's but should be set to an all lower case, no space string." },
|
||||||
|
"fileName": { "type": "string", "default": "meshagent", "description": "The agent filename." }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"userAllowedIP": { "type": "string" },
|
"userAllowedIP": { "type": "string" },
|
||||||
|
|
|
@ -399,6 +399,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
|
||||||
if (i != -1) { obj.pressedKeys.splice(i, 1); } // Remove the key press from the pressed array
|
if (i != -1) { obj.pressedKeys.splice(i, 1); } // Remove the key press from the pressed array
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (obj.debugmode > 0) { console.log('Sending Key ' + kc + ', action ' + action); }
|
||||||
obj.send(String.fromCharCode(0x00, obj.InputType.KEY, 0x00, 0x06, (action - 1), kc));
|
obj.send(String.fromCharCode(0x00, obj.InputType.KEY, 0x00, 0x06, (action - 1), kc));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,7 +184,8 @@
|
||||||
"displayName": "Compagny® Product™",
|
"displayName": "Compagny® Product™",
|
||||||
"description": "Compagny® Product™ agent for remote monitoring, management and assistance.",
|
"description": "Compagny® Product™ agent for remote monitoring, management and assistance.",
|
||||||
"companyName": "Compagny",
|
"companyName": "Compagny",
|
||||||
"serviceName": "compagnyagent"
|
"serviceName": "compagnyagent",
|
||||||
|
"fileName": "compagnyagent"
|
||||||
},
|
},
|
||||||
"_userAllowedIP": "127.0.0.1,192.168.1.0/24",
|
"_userAllowedIP": "127.0.0.1,192.168.1.0/24",
|
||||||
"_userBlockedIP": "127.0.0.1,::1,192.168.0.100",
|
"_userBlockedIP": "127.0.0.1,::1,192.168.0.100",
|
||||||
|
|
23
webserver.js
23
webserver.js
|
@ -4253,7 +4253,11 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
||||||
for (var i in meshsettingslines) { tokens = meshsettingslines[i].split('='); if (tokens.length == 2) { msh[tokens[0]] = tokens[1]; } }
|
for (var i in meshsettingslines) { tokens = meshsettingslines[i].split('='); if (tokens.length == 2) { msh[tokens[0]] = tokens[1]; } }
|
||||||
var js = scriptInfo.data.replace('var msh = {};', 'var msh = ' + JSON.stringify(msh) + ';');
|
var js = scriptInfo.data.replace('var msh = {};', 'var msh = ' + JSON.stringify(msh) + ';');
|
||||||
|
|
||||||
setContentDispositionHeader(res, 'application/octet-stream', 'meshagent', null, 'meshagent');
|
// Get the agent filename
|
||||||
|
var meshagentFilename = 'meshagent';
|
||||||
|
if ((domain.agentcustomization != null) && (typeof domain.agentcustomization.filename == 'string')) { meshagentFilename = domain.agentcustomization.filename; }
|
||||||
|
|
||||||
|
setContentDispositionHeader(res, 'application/octet-stream', meshagentFilename, null, 'meshagent');
|
||||||
res.statusCode = 200;
|
res.statusCode = 200;
|
||||||
obj.parent.exeHandler.streamExeWithJavaScript({ platform: argentInfo.platform, sourceFileName: argentInfo.path, destinationStream: res, js: Buffer.from(js, 'utf8'), peinfo: argentInfo.pe });
|
obj.parent.exeHandler.streamExeWithJavaScript({ platform: argentInfo.platform, sourceFileName: argentInfo.path, destinationStream: res, js: Buffer.from(js, 'utf8'), peinfo: argentInfo.pe });
|
||||||
} else if (req.query.id != null) {
|
} else if (req.query.id != null) {
|
||||||
|
@ -4274,7 +4278,10 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((req.query.meshid == null) || (argentInfo.platform != 'win32')) {
|
if ((req.query.meshid == null) || (argentInfo.platform != 'win32')) {
|
||||||
setContentDispositionHeader(res, 'application/octet-stream', argentInfo.rname, null, 'meshagent');
|
// Get the agent filename
|
||||||
|
var meshagentFilename = argentInfo.rname;
|
||||||
|
if ((domain.agentcustomization != null) && (typeof domain.agentcustomization.filename == 'string')) { meshagentFilename = domain.agentcustomization.filename; }
|
||||||
|
setContentDispositionHeader(res, 'application/octet-stream', meshagentFilename, null, 'meshagent');
|
||||||
if (argentInfo.data == null) { res.sendFile(argentInfo.path); } else { res.end(argentInfo.data); }
|
if (argentInfo.data == null) { res.sendFile(argentInfo.path); } else { res.end(argentInfo.data); }
|
||||||
} else {
|
} else {
|
||||||
// Check if the meshid is a time limited, encrypted cookie
|
// Check if the meshid is a time limited, encrypted cookie
|
||||||
|
@ -4302,6 +4309,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
||||||
meshfilename = meshfilename.split('\\').join('').split('/').join('').split(':').join('').split('*').join('').split('?').join('').split('"').join('').split('<').join('').split('>').join('').split('|').join('').split(' ').join('').split('\'').join('');
|
meshfilename = meshfilename.split('\\').join('').split('/').join('').split(':').join('').split('*').join('').split('?').join('').split('"').join('').split('<').join('').split('>').join('').split('|').join('').split(' ').join('').split('\'').join('');
|
||||||
if (argentInfo.rname.endsWith('.exe')) { meshfilename = argentInfo.rname.substring(0, argentInfo.rname.length - 4) + '-' + meshfilename + '.exe'; } else { meshfilename = argentInfo.rname + '-' + meshfilename; }
|
if (argentInfo.rname.endsWith('.exe')) { meshfilename = argentInfo.rname.substring(0, argentInfo.rname.length - 4) + '-' + meshfilename + '.exe'; } else { meshfilename = argentInfo.rname + '-' + meshfilename; }
|
||||||
|
|
||||||
|
// Customize the mesh agent file name
|
||||||
|
if ((domain.agentcustomization != null) && (typeof domain.agentcustomization.filename == 'string')) {
|
||||||
|
meshfilename = meshfilename.split('meshagent').join(domain.agentcustomization.filename);
|
||||||
|
meshfilename = meshfilename.split('MeshAgent').join(domain.agentcustomization.filename);
|
||||||
|
}
|
||||||
|
|
||||||
// Get the agent connection server name
|
// Get the agent connection server name
|
||||||
var serverName = obj.getWebServerName(domain);
|
var serverName = obj.getWebServerName(domain);
|
||||||
if (typeof obj.args.agentaliasdns == 'string') { serverName = obj.args.agentaliasdns; }
|
if (typeof obj.args.agentaliasdns == 'string') { serverName = obj.args.agentaliasdns; }
|
||||||
|
@ -4744,7 +4757,11 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
||||||
var meshsettings = getMshFromRequest(req, res, domain);
|
var meshsettings = getMshFromRequest(req, res, domain);
|
||||||
if (meshsettings == null) { res.sendStatus(401); return; }
|
if (meshsettings == null) { res.sendStatus(401); return; }
|
||||||
|
|
||||||
setContentDispositionHeader(res, 'application/octet-stream', 'meshagent.msh', null, 'meshagent.msh');
|
// Get the agent filename
|
||||||
|
var meshagentFilename = 'meshagent';
|
||||||
|
if ((domain.agentcustomization != null) && (typeof domain.agentcustomization.filename == 'string')) { meshagentFilename = domain.agentcustomization.filename; }
|
||||||
|
|
||||||
|
setContentDispositionHeader(res, 'application/octet-stream', meshagentFilename + '.msh', null, 'meshagent.msh');
|
||||||
res.send(meshsettings);
|
res.send(meshsettings);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue