allow setting meshcentral assistant type for agentinvites (#5672)
* allow setting meshcentral assistant type for agentinvites Signed-off-by: si458 <simonsmith5521@gmail.com> * forgot webserver for assistantTypeAgentInvite Signed-off-by: si458 <simonsmith5521@gmail.com> * dont use capital letters with domain args Signed-off-by: si458 <simonsmith5521@gmail.com> --------- Signed-off-by: si458 <simonsmith5521@gmail.com>
Simon Smith committed
Jan 8, 2024 at 06:21 UTC
e967f0097718c3451aa1619cf7b01bc31a3bef49
4 files changed
+9
-3
meshcentral-config-schema.json
+5
@@ -1389,6 +1389,11 @@
1389
}
1390
}
1391
},
1392
+ "assistantTypeAgentInvite": {
1393
+ "type": "integer",
1394
+ "default": 0,
1395
+ "description": "0 = System Tray, Connect on user request, 1 = System Tray, Always Connected, 2 = Application, Connect on user request, 3 = Application, Always connected, 4 = System Tray, Monitor Only"
1396
+ },
1397
"certUrl": {
1398
"type": "string",
1399
"format": "uri",
sample-config-advanced.json
+1
@@ -248,6 +248,7 @@
248
}
249
]
250
},
251
+ "_assistantTypeAgentInvite": 2,
252
"PreconfiguredScripts": [
253
{
254
"name": "Run NotePad as user",
views/agentinvite.handlebars
+1
-1
@@ -389,7 +389,7 @@
389
QH('unlinuxinstall', linuxUnInstall);
390
391
// MeshCentral Assistant
392
- url = 'meshagents?id=10006&meshid=' + meshid;
392
+ url = 'meshagents?id=10006&meshid=' + meshid + '&ac={{{assistanttype}}}';
393
Q('assisturl').href = url;
394
395
// Android Setup
webserver.js
+2
-2
@@ -2255,7 +2255,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
2255
var magenturl = 'mc://' + agentServerName + ((agentHttpsPort != 443) ? (':' + agentHttpsPort) : '') + ((xdomain != '') ? ('/' + xdomain) : '') + ',' + obj.agentCertificateHashBase64 + ',' + mesh._id.split('/')[2];
2256
2257
var meshcookie = parent.encodeCookie({ m: mesh._id.split('/')[2] }, parent.invitationLinkEncryptionKey);
2258
- render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl }, req, domain));
2258
+ render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl, assistanttype: (domain.assistanttypeagentinvite ? domain.assistanttypeagentinvite : 0) }, req, domain));
2259
} else if (req.query.m != null) {
2260
// The MeshId is specified in the query string, use that
2261
var mesh = obj.meshes['mesh/' + domain.id + '/' + req.query.m.toLowerCase()];
@@ -2278,7 +2278,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
2278
var magenturl = 'mc://' + agentServerName + ((agentHttpsPort != 443) ? (':' + agentHttpsPort) : '') + ((xdomain != '') ? ('/' + xdomain) : '') + ',' + obj.agentCertificateHashBase64 + ',' + mesh._id.split('/')[2];
2279
2280
var meshcookie = parent.encodeCookie({ m: mesh._id.split('/')[2] }, parent.invitationLinkEncryptionKey);
2281
- render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl }, req, domain));
2281
+ render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl, assistanttype: (domain.assistanttypeagentinvite ? domain.assistanttypeagentinvite : 0) }, req, domain));
2282
}
2283
}
2284