diff --git a/agents/MeshCentralRouter.exe b/agents/MeshCentralRouter.exe index 89175e4d..31f7d49c 100644 Binary files a/agents/MeshCentralRouter.exe and b/agents/MeshCentralRouter.exe differ diff --git a/meshcentral-config-schema.json b/meshcentral-config-schema.json index 4948853e..a15830a7 100644 --- a/meshcentral-config-schema.json +++ b/meshcentral-config-schema.json @@ -317,7 +317,7 @@ "type": "string" }, "protocol": { - "description": "Protocol. Valid values are: custom,http,https,rdp,ssh,scp.", + "description": "Protocol. Valid values are: custom,http,https,rdp,ssh,scp,mcrdesktop,mcrfiles.", "type": "string" }, "port": { diff --git a/views/default.handlebars b/views/default.handlebars index 14fea2c4..51001118 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -2484,7 +2484,7 @@ if (message.localRelay) { url += '&local=1'; } if (message.localport) { url += '&localport=' + message.localport; } if (message.ip != null) { url += ('&remoteip=' + message.ip); } - url += ('&appid=' + message.protocol + '&autoexit=1'); // Protocol: 0 = Custom, 1 = HTTP, 2 = HTTPS, 3 = RDP, 4 = PuTTY, 5 = WinSCP + url += ('&appid=' + message.protocol + '&autoexit=1'); // Protocol: 0 = Custom, 1 = HTTP, 2 = HTTPS, 3 = RDP, 4 = PuTTY, 5 = WinSCP, 6 = MCRDesktop, 7 = MCRFiles downloadFile(url, ''); } else if (message.tag == 'novnc') { var vncurl = window.location.origin + domainUrl + 'novnc/vnc.html?ws=wss%3A%2F%2F' + window.location.host + encodeURIComponentEx(domainUrl) + (message.localRelay?'local':'mesh') + 'relay.ashx%3Fauth%3D' + message.cookie + '&show_dot=1' + (urlargs.key?('&key=' + urlargs.key):'') + '&l={{{lang}}}'; @@ -4222,7 +4222,7 @@ for (var i in serverinfo.devicemeshrouterlinks.extralinks) { var r = serverinfo.devicemeshrouterlinks.extralinks[i], p = 0; if (doesDeviceMatchFilterTags(node, r.filter)) { - if (typeof r.protocol == 'number') { p = r.protocol; } else if (r.protocol == 'http') { p = 1; } else if (r.protocol == 'https') { p = 2; } else if (r.protocol == 'rdp') { p = 3; } else if (r.protocol == 'ssh') { p = 4; } else if (r.protocol == 'scp') { p = 5; } + if (typeof r.protocol == 'number') { p = r.protocol; } else if (r.protocol == 'http') { p = 1; } else if (r.protocol == 'https') { p = 2; } else if (r.protocol == 'rdp') { p = 3; } else if (r.protocol == 'ssh') { p = 4; } else if (r.protocol == 'scp') { p = 5; } else if (r.protocol == 'mcrdesktop') { p = 6; } else if (r.protocol == 'mcrfiles') { p = 7; } x += '' + r.name + ' '; } } @@ -6502,7 +6502,7 @@ for (var i in serverinfo.devicemeshrouterlinks.extralinks) { var r = serverinfo.devicemeshrouterlinks.extralinks[i], p = 0; if (doesDeviceMatchFilterTags(node, r.filter)) { - if (typeof r.protocol == 'number') { p = r.protocol; } else if (r.protocol == 'http') { p = 1; } else if (r.protocol == 'https') { p = 2; } else if (r.protocol == 'rdp') { p = 3; } else if (r.protocol == 'ssh') { p = 4; } else if (r.protocol == 'scp') { p = 5; } + if (typeof r.protocol == 'number') { p = r.protocol; } else if (r.protocol == 'http') { p = 1; } else if (r.protocol == 'https') { p = 2; } else if (r.protocol == 'rdp') { p = 3; } else if (r.protocol == 'ssh') { p = 4; } else if (r.protocol == 'scp') { p = 5; } else if (r.protocol == 'mcrdesktop') { p = 6; } else if (r.protocol == 'mcrfiles') { p = 7; } x += '' + r.name + ' '; } } @@ -7287,7 +7287,7 @@ function p10MCRouter(nodeid, protocol, port, ip, localport) { var node = getNodeFromId(nodeid); if ((protocol == 3) && (port == null)) { if (node.rdpport != null) { port = node.rdpport; } else { port = 3389; } } - meshserver.send({ action: 'getcookie', nodeid: nodeid, tcpport: port, ip: ip, tag: 'MCRouter', protocol: protocol, localport: localport }); // Protocol: 0 = Custom, 1 = HTTP, 2 = HTTPS, 3 = RDP, 4 = PuTTY, 5 = WinSCP + meshserver.send({ action: 'getcookie', nodeid: nodeid, tcpport: port, ip: ip, tag: 'MCRouter', protocol: protocol, localport: localport }); // Protocol: 0 = Custom, 1 = HTTP, 2 = HTTPS, 3 = RDP, 4 = PuTTY, 5 = WinSCP, 6 = MCRDesktop, 7 = MCRFiles return false; }