mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2025-02-12 11:01:52 +00:00
Improved Linux binary installation.
This commit is contained in:
parent
d5ddbd924f
commit
07e6eba302
21 changed files with 1675 additions and 1662 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
agents/new/MeshCmd-signed.exe
Normal file
BIN
agents/new/MeshCmd-signed.exe
Normal file
Binary file not shown.
BIN
agents/new/MeshCmd64-signed.exe
Normal file
BIN
agents/new/MeshCmd64-signed.exe
Normal file
Binary file not shown.
BIN
agents/new/MeshService-signed.exe
Normal file
BIN
agents/new/MeshService-signed.exe
Normal file
Binary file not shown.
BIN
agents/new/MeshService.exe
Normal file
BIN
agents/new/MeshService.exe
Normal file
Binary file not shown.
BIN
agents/new/MeshService64-signed.exe
Normal file
BIN
agents/new/MeshService64-signed.exe
Normal file
Binary file not shown.
BIN
agents/new/MeshService64.exe
Normal file
BIN
agents/new/MeshService64.exe
Normal file
Binary file not shown.
BIN
agents/old/MeshCmd-signed.exe
Normal file
BIN
agents/old/MeshCmd-signed.exe
Normal file
Binary file not shown.
BIN
agents/old/MeshCmd64-signed.exe
Normal file
BIN
agents/old/MeshCmd64-signed.exe
Normal file
Binary file not shown.
BIN
agents/old/MeshService-signed.exe
Normal file
BIN
agents/old/MeshService-signed.exe
Normal file
Binary file not shown.
BIN
agents/old/MeshService.exe
Normal file
BIN
agents/old/MeshService.exe
Normal file
Binary file not shown.
BIN
agents/old/MeshService64-signed.exe
Normal file
BIN
agents/old/MeshService64-signed.exe
Normal file
Binary file not shown.
BIN
agents/old/MeshService64.exe
Normal file
BIN
agents/old/MeshService64.exe
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
@ -4164,8 +4164,13 @@
|
|||
var mesh = meshes[meshid], x = '', installType = 0, moreoptions = '';
|
||||
x += addHtmlValue("Operating System", '<select id=aginsSelect onchange=addAgentToMeshClick() style=width:236px><option value=0>' + "Windows" + '</option><option value=1>' + "Linux / BSD" + '</option><option value=5>' + "Linux / BSD / macOS Binary Installer" + '</option><option value=2>' + "Apple macOS" + '</option><option value=3>' + "Windows (UnInstall)" + '</option><option value=4>' + "Linux / BSD (UnInstall)" + '</option></select>');
|
||||
|
||||
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), portStr = '';
|
||||
if (serverinfo.https == true) { portStr = (serverinfo.port == 443)?'':(':' + serverinfo.port); } else { portStr = (serverinfo.port == 80) ? '' : (':' + serverinfo.port); }
|
||||
|
||||
// Add Linux/macOS binary installer option
|
||||
var binaryInstallAgents = { 6 : 'Linux x86-64', 5 : 'Linux x86-32', 16 : 'Apple OSX x86-64', 25 : 'Linux ARM-HF, Rasberry Pi', 26 : 'Linux ARM64-HF', 30 : 'FreeBSD x86-64' };
|
||||
var binaryInstallAgents = { 6 : 'Linux x86-64', 5 : 'Linux x86-32', 16 : 'Apple OSX x86-64', 25 : 'Linux ARM-HF, Rasberry Pi', 26 : 'Linux ARM64-HF', 28: 'Linux MIPS24KC (OpenWRT)', 30 : 'FreeBSD x86-64' };
|
||||
for (var i in binaryInstallAgents) { moreoptions += '<option value=' + i + '>' + binaryInstallAgents[i] + '</option>' }
|
||||
x += '<div id=aginsSysTypeDiv>';
|
||||
x += addHtmlValue("System Type", '<select id=aginsSysType onchange=addAgentToMeshClick() style=width:236px>' + moreoptions + '</select>');
|
||||
|
@ -4211,16 +4216,13 @@
|
|||
// Linux binary installer
|
||||
x += '<div id=agins_linux_inst style=display:none>' + "This is a executable on OS's with graphical user interfaces. You need to 'chmod +x meshagent' and run this file." + '<br /><br />';
|
||||
x += addHtmlValue("Mesh Agent", '<a id=aginsbinlnk href="meshagents?id=' + meshid.split('/')[2] + '&installflags=0' + (urlargs.key?('&key=' + urlargs.key):'') + '" download onclick="setDialogMode(0)">' + "meshagent" + '</a> <img src=images/link4.png height=10 width=10 title="' + "Copy agent URL to clipboard" + '" style=cursor:pointer onclick=copyAgentUrl("meshagents?id=' + meshid.split('/')[2] + '&installflags=",1)>');
|
||||
x += addHtmlValue("Command", '<input id=aginsbincmd type=text style="width:216px" readonly value=\'wget -O meshagent' + (((features & 0x80000000) != 0)?' --no-check-certificate':'') + ' \"https://' + servername + portStr + domainUrl + 'meshagents?id=' + meshid.split('/')[2] + '\' /> <img src=images/link4.png height=10 width=10 title="' + "Copy agent URL to clipboard" + '" style=cursor:pointer onclick=copyAgentIdValue("aginsbincmd")>');
|
||||
x += '</div>';
|
||||
|
||||
setDialogMode(2, "Add Mesh Agent", 2, null, x, 'fileDownload');
|
||||
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);
|
||||
|
||||
if (serverinfo.https == true)
|
||||
{
|
||||
var portStr = (serverinfo.port == 443)?'':(':' + serverinfo.port);
|
||||
if ((features & 0x2000) == 0)
|
||||
{
|
||||
Q('agins_linux_area').value = '(wget "https://' + servername + portStr + domainUrl + 'meshagents?script=1' + (urlargs.key?('&key=' + urlargs.key):'') + '" --no-check-certificate -O ./meshinstall.sh || wget "https://' + servername + portStr + domainUrl + 'meshagents?script=1" --no-proxy --no-check-certificate -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo -E ./meshinstall.sh https://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid.split('/')[2] + '\' || ./meshinstall.sh https://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid.split('/')[2] + '\'\r\n';
|
||||
|
@ -4235,7 +4237,6 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
var portStr = (serverinfo.port == 80) ? '' : (':' + serverinfo.port);
|
||||
if ((features & 0x2000) == 0)
|
||||
{
|
||||
Q('agins_linux_area').value = '(wget "http://' + servername + portStr + domainUrl + 'meshagents?script=1' + (urlargs.key?('&key=' + urlargs.key):'') + '" -O ./meshinstall.sh || wget "http://' + servername + portStr + domainUrl + 'meshagents?script=1" --no-proxy -O ./meshinstall.sh) && chmod 755 ./meshinstall.sh && sudo -E ./meshinstall.sh http://' + servername + portStr + domainUrlNoSlash + ' \'' + meshid.split('/')[2] + '\'\r\n';
|
||||
|
@ -4253,7 +4254,10 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
function copyAgentIdValue(id) { copyTextToClip(Q(id).value); }
|
||||
|
||||
function copyAgentUrl(url,addflag) {
|
||||
console.log('copyAgentUrl', url, addflag);
|
||||
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);
|
||||
|
@ -4275,12 +4279,13 @@
|
|||
QV('agins_linux_inst', v == 5);
|
||||
QV('aginsSysTypeDiv', v == 5);
|
||||
Q('aginsbinlnk').href = (Q('aginsbinlnk').href.split('installflags=')[0]) + 'installflags=' + Q('aginsType').value + (urlargs.key?('&key=' + urlargs.key):'') + '&meshinstall=' + Q('aginsSysType').value;
|
||||
Q('aginsbincmd').value = (Q('aginsbincmd').value.split('&installflags=')[0]) + '&installflags=' + Q('aginsType').value + (urlargs.key?('&key=' + urlargs.key):'') + '&meshinstall=' + Q('aginsSysType').value + '\"';
|
||||
QV('aginsTypeDiv', (v == 0) || (v == 5));
|
||||
|
||||
// Fix the links if needed
|
||||
Q('aginsw32lnk').href = (Q('aginsw32lnk').href.split('installflags=')[0]) + 'installflags=' + Q('aginsType').value + (urlargs.key?('&key=' + urlargs.key):'');
|
||||
Q('aginsw64lnk').href = (Q('aginsw64lnk').href.split('installflags=')[0]) + 'installflags=' + Q('aginsType').value + (urlargs.key?('&key=' + urlargs.key):'');
|
||||
Q('aginswmshlnk').href = (Q('aginswmshlnk').href.split('installflags=')[0]) + 'installflags=' + Q('aginsType').value + (urlargs.key?('&key=' + urlargs.key):'');
|
||||
if (debugmode > 0) { Q('aginswmshlnk').href = (Q('aginswmshlnk').href.split('installflags=')[0]) + 'installflags=' + Q('aginsType').value + (urlargs.key?('&key=' + urlargs.key):''); }
|
||||
}
|
||||
|
||||
function validateDeviceToMesh() {
|
||||
|
|
|
@ -2330,6 +2330,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
|
|||
if (domain.urlswitching === false) { features += 0x10000000; } // Disables the URL switching feature
|
||||
if (domain.novnc === false) { features += 0x20000000; } // Disables noVNC
|
||||
if (domain.mstsc !== true) { features += 0x40000000; } // Disables MSTSC.js
|
||||
if (obj.isTrustedCert(domain) == false) { features += 0x80000000; } // Indicate we are not using a trusted certificate
|
||||
|
||||
// Create a authentication cookie
|
||||
const authCookie = obj.parent.encodeCookie({ userid: user._id, domainid: domain.id, ip: req.clientIp }, obj.parent.loginCookieEncryptionKey);
|
||||
|
|
Loading…
Reference in a new issue