diff --git a/meshcentral-config-schema.json b/meshcentral-config-schema.json index f9dc51b2..30b96852 100644 --- a/meshcentral-config-schema.json +++ b/meshcentral-config-schema.json @@ -1389,6 +1389,11 @@ } } }, + "assistantTypeAgentInvite": { + "type": "integer", + "default": 0, + "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" + }, "certUrl": { "type": "string", "format": "uri", diff --git a/sample-config-advanced.json b/sample-config-advanced.json index 2cff1462..8a52d94c 100644 --- a/sample-config-advanced.json +++ b/sample-config-advanced.json @@ -248,6 +248,7 @@ } ] }, + "_assistantTypeAgentInvite": 2, "PreconfiguredScripts": [ { "name": "Run NotePad as user", diff --git a/views/agentinvite.handlebars b/views/agentinvite.handlebars index 404e650d..e873ed6b 100644 --- a/views/agentinvite.handlebars +++ b/views/agentinvite.handlebars @@ -389,7 +389,7 @@ QH('unlinuxinstall', linuxUnInstall); // MeshCentral Assistant - url = 'meshagents?id=10006&meshid=' + meshid; + url = 'meshagents?id=10006&meshid=' + meshid + '&ac={{{assistanttype}}}'; Q('assisturl').href = url; // Android Setup diff --git a/webserver.js b/webserver.js index f5dcacb1..07de4cc8 100644 --- a/webserver.js +++ b/webserver.js @@ -2255,7 +2255,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF var magenturl = 'mc://' + agentServerName + ((agentHttpsPort != 443) ? (':' + agentHttpsPort) : '') + ((xdomain != '') ? ('/' + xdomain) : '') + ',' + obj.agentCertificateHashBase64 + ',' + mesh._id.split('/')[2]; var meshcookie = parent.encodeCookie({ m: mesh._id.split('/')[2] }, parent.invitationLinkEncryptionKey); - 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)); + 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)); } else if (req.query.m != null) { // The MeshId is specified in the query string, use that var mesh = obj.meshes['mesh/' + domain.id + '/' + req.query.m.toLowerCase()]; @@ -2278,7 +2278,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF var magenturl = 'mc://' + agentServerName + ((agentHttpsPort != 443) ? (':' + agentHttpsPort) : '') + ((xdomain != '') ? ('/' + xdomain) : '') + ',' + obj.agentCertificateHashBase64 + ',' + mesh._id.split('/')[2]; var meshcookie = parent.encodeCookie({ m: mesh._id.split('/')[2] }, parent.invitationLinkEncryptionKey); - 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)); + 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)); } }