mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	Added MeshCentral Router for macOS
This commit is contained in:
		
							parent
							
								
									9766adf465
								
							
						
					
					
						commit
						12dd791cf6
					
				
					 5 changed files with 25 additions and 6 deletions
				
			
		
							
								
								
									
										
											BIN
										
									
								
								agents/MeshCentralRouter.dmg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								agents/MeshCentralRouter.dmg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -2205,7 +2205,8 @@ function CreateMeshCentralServer(config, args) {
 | 
			
		|||
    // List of possible mesh agent install scripts
 | 
			
		||||
    var meshToolsList = {
 | 
			
		||||
        'MeshCentralRouter': { localname: 'MeshCentralRouter.exe', dlname: 'winrouter' },
 | 
			
		||||
        'MeshCentralAssistant': { localname: 'MeshCentralAssistant.exe', dlname: 'winassistant' }
 | 
			
		||||
        'MeshCentralAssistant': { localname: 'MeshCentralAssistant.exe', dlname: 'winassistant' },
 | 
			
		||||
        'MeshCentralRouterMacOS': { localname: 'MeshCentralRouter.dmg', dlname: 'MeshCentralRouter.dmg' }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // Update the list of available mesh agents
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -447,7 +447,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
 | 
			
		|||
            // Build server information object
 | 
			
		||||
            var serverinfo = { domain: domain.id, name: domain.dns ? domain.dns : parent.certificates.CommonName, mpsname: parent.certificates.AmtMpsName, mpsport: mpsport, mpspass: args.mpspass, port: httpport, emailcheck: ((parent.parent.mailserver != null) && (domain.auth != 'sspi') && (domain.auth != 'ldap') && (args.lanonly != true) && (parent.certificates.CommonName != null) && (parent.certificates.CommonName.indexOf('.') != -1) && (user._id.split('/')[2].startsWith('~') == false)), domainauth: (domain.auth == 'sspi'), serverTime: Date.now() };
 | 
			
		||||
            serverinfo.languages = parent.renderLanguages;
 | 
			
		||||
            serverinfo.tlshash = Buffer.from(parent.webCertificateHashs[domain.id], 'binary').toString('hex').toUpperCase(); // SHA384 of server HTTPS certificate
 | 
			
		||||
            serverinfo.tlshash = Buffer.from(parent.webCertificateFullHashs[domain.id], 'binary').toString('hex').toUpperCase(); // SHA384 of server HTTPS certificate
 | 
			
		||||
            if ((domain.sessionrecording) && (domain.sessionrecording.onlyselecteddevicegroups === true)) { serverinfo.devGroupSessionRecording = 1; } // Allow enabling of session recording
 | 
			
		||||
            if ((parent.parent.config.domains[domain.id].amtacmactivation != null) && (parent.parent.config.domains[domain.id].amtacmactivation.acmmatch != null)) {
 | 
			
		||||
                var matchingDomains = [];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3672,7 +3672,7 @@
 | 
			
		|||
                }
 | 
			
		||||
                if ((userinfo.siteadmin == 0xFFFFFFFF) || ((userinfo.siteadmin & 128) == 0)) {
 | 
			
		||||
                    r += '<a href=# onclick=\'return p10showMeshCmdDialog(0)\' style=cursor:pointer title="' + "Download MeshCmd, a command line tool that performs many functions." + '">' + "MeshCmd" + '</a> ';
 | 
			
		||||
                    if (navigator.platform.toLowerCase() == 'win32') { r += '<a href=# onclick=\'return p10showMeshRouterDialog()\' style=cursor:pointer title="' + "Download MeshCentral Router, a TCP port mapping tool." + '">' + "Router" + '</a> '; }
 | 
			
		||||
                    if ((navigator.platform.toLowerCase() == 'win32') || (navigator.platform.toLowerCase() == 'macintel')) { r += '<a href=# onclick=\'return p10showMeshRouterDialog()\' style=cursor:pointer title="' + "Download MeshCentral Router, a TCP port mapping tool." + '">' + "Router" + '</a> '; }
 | 
			
		||||
                }
 | 
			
		||||
                r += '</div><br/>';
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -5978,11 +5978,15 @@
 | 
			
		|||
                if ((args.xterm === 0) && (node.agent) && ((node.agent.caps & 2) != 0) && ((meshrights & 8) != 0) && ((meshrights == 0xFFFFFFFF) || ((meshrights & 512) == 0))) { x += '<a href=# onclick=p10openxterm(event,"' + node._id + '") title="' + "Open XTerm terminal" + '">' + "XTerm" + '</a> '; }
 | 
			
		||||
 | 
			
		||||
                // RDP link, show this link only of the remote machine is Windows.
 | 
			
		||||
                if (((connectivity & 1) != 0) && (windowsBrowser == true) && (node.agent) && ((meshrights & 8) != 0)) {
 | 
			
		||||
                if (((connectivity & 1) != 0) && (node.agent) && ((meshrights & 8) != 0)) {
 | 
			
		||||
                    if ((node.agent.id > 0) && (node.agent.id < 5)) { x += '<a href=# cmenu=altPortContextMenu id=rdpMCRouterLink onclick=p10MCRouter("' + node._id + '","RDP2") title="' + "Requires installation of MeshCentral Router" + '.">' + "RDP" + '</a> '; }
 | 
			
		||||
                    if (node.agent.id > 4) {
 | 
			
		||||
                        x += '<a href=# onclick=p10MCRouter("' + node._id + '","PSSH",22) title="' + "Requires installation of MeshCentral Router." + '">' + "Putty" + '</a> ';
 | 
			
		||||
                        x += '<a href=# onclick=p10MCRouter("' + node._id + '","WSCP",22) title="' + "Requires installation of MeshCentral Router." + '">' + "WinSCP" + '</a> ';
 | 
			
		||||
                        if ((navigator.platform.toLowerCase() == 'win32') || (navigator.platform.toLowerCase() == 'macintel')) {
 | 
			
		||||
                            x += '<a href=# onclick=p10MCRouter("' + node._id + '","PSSH",22) title="' + "Requires installation of MeshCentral Router." + '">' + "SSH" + '</a> ';
 | 
			
		||||
                        }
 | 
			
		||||
                        if (navigator.platform.toLowerCase() == 'win32') {
 | 
			
		||||
                            x += '<a href=# onclick=p10MCRouter("' + node._id + '","WSCP",22) title="' + "Requires installation of MeshCentral Router." + '">' + "SCP" + '</a> ';
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -6694,6 +6698,7 @@
 | 
			
		|||
            if (xxdialogMode) return;
 | 
			
		||||
            var x = '<div>' + "MeshCentral Router is a Windows tool for TCP port mapping. You can, for example, RDP into a remote device thru this server." + '</div><br />';
 | 
			
		||||
            x += addHtmlValue("Win32 Executable", '<a style=cursor:pointer onclick=downloadFile("meshagents?meshaction=winrouter' + (urlargs.key?('&key=' + urlargs.key):'') + '",null,true)>MeshCentralRouter.exe</a>');
 | 
			
		||||
            x += addHtmlValue("MacOS Installer", '<a style=cursor:pointer onclick=downloadFile("meshagents?meshaction=macrouter' + (urlargs.key?('&key=' + urlargs.key):'') + '",null,true)>MeshCentralRouter.dwg</a>');
 | 
			
		||||
            var servername = serverinfo.name;
 | 
			
		||||
            if ((servername.indexOf('.') == -1) || ((features & 2) != 0)) { servername = window.location.hostname; } // If the server name is not set or it's in LAN-only mode, use the URL hostname as server name.
 | 
			
		||||
            var domainUrlNoSlash = domainUrl.substring(0, domainUrl.length - 1);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										13
									
								
								webserver.js
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								webserver.js
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -4419,6 +4419,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
 | 
			
		|||
                            setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralAssistant.exe', null, 'MeshCentralAssistant.exe');
 | 
			
		||||
                            try { res.sendFile(p); } catch (e) { res.sendStatus(404); }
 | 
			
		||||
                        } else { res.sendStatus(404); }
 | 
			
		||||
                    } else if (req.query.meshaction == 'macrouter') {
 | 
			
		||||
                        var p = obj.path.join(__dirname, 'agents', 'MeshCentralRouter.dmg');
 | 
			
		||||
                        if (obj.fs.existsSync(p)) {
 | 
			
		||||
                            setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralRouter.dmg', null, 'MeshCentralRouter.dmg');
 | 
			
		||||
                            try { res.sendFile(p); } catch (e) { res.sendStatus(404); }
 | 
			
		||||
                        } else { res.sendStatus(404); }
 | 
			
		||||
                    }
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -4470,6 +4476,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
 | 
			
		|||
                setContentDispositionHeader(res, 'application/octet-stream', 'meshaction.txt', null, 'meshaction.txt');
 | 
			
		||||
                res.send(JSON.stringify(meshaction, null, ' '));
 | 
			
		||||
            } else if (req.query.meshaction == 'winrouter') {
 | 
			
		||||
                console.log('t2');
 | 
			
		||||
                var p = obj.path.join(__dirname, 'agents', 'MeshCentralRouter.exe');
 | 
			
		||||
                if (obj.fs.existsSync(p)) {
 | 
			
		||||
                    setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralRouter.exe', null, 'MeshCentralRouter.exe');
 | 
			
		||||
| 
						 | 
				
			
			@ -4481,6 +4488,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
 | 
			
		|||
                    setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralAssistant.exe', null, 'MeshCentralAssistant.exe');
 | 
			
		||||
                    try { res.sendFile(p); } catch (e) { res.sendStatus(404); }
 | 
			
		||||
                } else { res.sendStatus(404); }
 | 
			
		||||
            } else if (req.query.meshaction == 'macrouter') {
 | 
			
		||||
                var p = obj.path.join(__dirname, 'agents', 'MeshCentralRouter.dmg');
 | 
			
		||||
                if (obj.fs.existsSync(p)) {
 | 
			
		||||
                    setContentDispositionHeader(res, 'application/octet-stream', 'MeshCentralRouter.dmg', null, 'MeshCentralRouter.dmg');
 | 
			
		||||
                    try { res.sendFile(p); } catch (e) { res.sendStatus(404); }
 | 
			
		||||
                } else { res.sendStatus(404); }
 | 
			
		||||
            } else {
 | 
			
		||||
                res.sendStatus(401);
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue