Updated Linux agents, device batch delete fix, updated Spanish translations.

This commit is contained in:
Ylian Saint-Hilaire 2020-04-11 14:04:04 -07:00
parent ee48091793
commit 59ad064780
27 changed files with 434 additions and 110 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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,15 +1,15 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Email Verification</div> <html><head></head><body><div>[[[SERVERNAME]]] - Verificación de Email</div>
<div style="font-family:Arial,Helvetica,sans-serif"> <div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8"> <table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr> <tbody><tr>
<td> <td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Verification</b> <b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Invitación</b>
</td> </td>
</tr> </tr>
</tbody></table> </tbody></table>
<p>Hi [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting email verification, click on the following link to complete the process.</p> <p>Hola [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> solicita la verificación por correo electrónico, haga clic en el siguiente enlace para completar el proceso.</p>
<p style="margin-left:30px"> <p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Click here to verify your e-mail address.</a> <a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Haga click aquí para verificar su dirección de e-mail</a>
</p> </p>
If you did not initiate this request, please ignore this mail. Si Ud. no inicio este proceso, por favor ignore este email
</div></body></html> </div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Email Verification [[[SERVERNAME]]] - Verificación de Email
Hi [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) is performing an e-mail verification. Nagivate to the following link to complete the process: Hola [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) esta realizando una comprobación del e-mail. Navegue al siguiente enlace para completar el proceso:
~ ~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]] ~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]
~ ~
If you did not initiate this request, please ignore this mail. Si Ud. no inicio este proceso, por favor ignore este email

View File

@ -1,18 +1,18 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Invitation</div> <html><head></head><body><div>[[[SERVERNAME]]] - Invitación de Cuenta</div>
<div style="font-family:Arial,Helvetica,sans-serif"> <div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8"> <table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr> <tbody><tr>
<td> <td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Account Invitation</b> <b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Invitación de Cuenta</b>
</td> </td>
</tr> </tr>
</tbody></table> </tbody></table>
<p>An account was created for you on server <a href="[[[SERVERURL]]]" notrans="1">[[[SERVERNAME]]]</a>, you can access it now with:</p> <p>Una cuenta ha sido creada en su servidor <a href="[[[SERVERURL]]]" notrans="1">[[[SERVERNAME]]]</a>, ahora puede acceder con:</p>
<p> <p>
&nbsp;&nbsp;&nbsp;Usuario: <b notrans="1">[[[ACCOUNTNAME]]]</b><br> &nbsp;&nbsp;&nbsp;Usuario: <b notrans="1">[[[ACCOUNTNAME]]]</b><br>
&nbsp;&nbsp;&nbsp;Contraseña: <b notrans="1">[[[PASSWORD]]]</b> &nbsp;&nbsp;&nbsp;Contraseña: <b notrans="1">[[[PASSWORD]]]</b>
</p> </p>
Best regards, Atentamente,
<br> <br>
[[[USERNAME]]] [[[USERNAME]]]
<br> <br>

View File

@ -1,5 +1,5 @@
[[[SERVERNAME]]] - Account Invitation [[[SERVERNAME]]] - Invitación de Cuenta
An account was created for you on server [[[SERVERNAME]]] ([[[SERVERURL]]]/), you can access it now with username "[[[ACCOUNTNAME]]]" and password "[[[PASSWORD]]]". Una cuenta ha sido creada en su servidor [[[SERVERNAME]]] ([[[SERVERURL]]]/), ahora puede acceder con el usuario "[[[ACCOUNTNAME]]]" y la contraseña "[[[PASSWORD]]]".
~ ~
Best regards, Atentamente,
~[[[USERNAME]]] ~[[[USERNAME]]]

View File

@ -1,12 +1,12 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Login</div> <html><head></head><body><div>[[[SERVERNAME]]] - Nombre de Usuario</div>
<div style="font-family:Arial,Helvetica,sans-serif"> <div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8"> <table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr> <tbody><tr>
<td> <td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Account Login</b> <b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Nombre de Usuario</b>
</td> </td>
</tr> </tr>
</tbody></table> </tbody></table>
<p>Your login token is: [[[TOKEN]]]</p> <p>Su token de inicio de sesión es: [[[TOKEN]]]</p>
<p>This token can only be used once and is valid for 5 minutes.</p> <p>Este token solo se puede usar una vez y es válido durante 5 minutos.</p>
</div></body></html> </div></body></html>

View File

@ -1,4 +1,4 @@
[[[SERVERNAME]]] - Account Login [[[SERVERNAME]]] - Nombre de Usuario
Your login token is: [[[TOKEN]]] Su token de inicio de sesión es: [[[TOKEN]]]
~ ~
This token can only be used once and is valid for 5 minutes. Este token solo se puede usar una vez y es válido durante 5 minutos.

View File

@ -1,15 +1,15 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Reset</div> <html><head></head><body><div>[[[SERVERNAME]]] - Resetear Cuenta</div>
<div style="font-family:Arial,Helvetica,sans-serif"> <div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8"> <table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr> <tbody><tr>
<td> <td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Verification</b> <b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Invitación</b>
</td> </td>
</tr> </tr>
</tbody></table> </tbody></table>
<p>Hi [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting an account password reset, click on the following link to complete the process.</p> <p>Hola [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> solicita restablecer la contraseña de la cuenta, haga clic en el siguiente enlace para completar el proceso.</p>
<p style="margin-left:30px"> <p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Click here to reset your account password.</a> <a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Haga click aquí para resetear la contraseña de su cuenta.</a>
</p> </p>
If you did not initiate this request, please ignore this mail. Si Ud. no inicio este proceso, por favor ignore este email
</div></body></html> </div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Account Reset [[[SERVERNAME]]] - Resetear Cuenta
Hi [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) is requesting an account password reset. Nagivate to the following link to complete the process: Hola [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) está solicitando un restablecimiento de contraseña de cuenta. Navegue al siguiente enlace para completar el proceso:
~ ~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]] ~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]
~ ~
If you did not initiate this request, please ignore this mail. Si Ud. no inicio este proceso, por favor ignore este email

View File

@ -1,42 +1,43 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Invitation</div> <html><head></head><body><div>[[[SERVERNAME]]] - Invitación</div>
<div style="font-family:Arial,Helvetica,sans-serif"> <div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8"> <table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr> <tbody><tr>
<td> <td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Agent Installation</b> <b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Instalación de Agente</b>
</td> </td>
</tr> </tr>
</tbody></table> </tbody></table>
<area-name> <area-name>
<p> <p>
Hello [[[NAME]]], Hola [[[NAME]]],
</p> </p>
</area-name> </area-name>
<p>User [[[USERNAME]]] on server <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting you to install software to start a remote control session.</p> <p>Usuario [[[USERNAME]]] en servidor <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> le solicita que instale software para iniciar una sesión de control remoto.
</p>
<area-msg> <area-msg>
<p> <p>
Message: <b notrans="1">[[[MSG]]]</b> Mensaje: <b notrans="1">[[[MSG]]]</b>
</p> </p>
</area-msg> </area-msg>
<area-windows> <area-windows>
<p style="margin-left:30px"> <p style="margin-left:30px">
<a href="[[[SERVERURL]]]/meshagents?id=3&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Click here to download the MeshAgent for Windows.</a> <a href="[[[SERVERURL]]]/meshagents?id=3&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Haga click aquí para descargar el agente de MeshCentral para Windows.</a>
</p> </p>
</area-windows> </area-windows>
<area-osx> <area-osx>
<p style="margin-left:30px"><a href="[[[SERVERURL]]]/meshagents?id=16&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Click here to download the MeshAgent for Apple OSX.</a></p> <p style="margin-left:30px"><a href="[[[SERVERURL]]]/meshagents?id=16&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Haga click aquí para descargar el Agente de MeshCentral para Apple OSX.</a></p>
</area-osx> </area-osx>
<area-linux> <area-linux>
<p> <p>
For Linux, cut &amp; paste the following in a terminal to install the agent:<br> Para Linux, copie y pegue lo siguiente en la terminal para instalar el agente:<br>
</p><pre style="margin-left:30px" notrans="1">wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh &amp;&amp; chmod 755 ./meshinstall.sh &amp;&amp; sudo ./meshinstall.sh [[[SERVERURL]]] \'[[[MESHIDHEX]]]\'</pre> </p><pre style="margin-left:30px" notrans="1">wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh &amp;&amp; chmod 755 ./meshinstall.sh &amp;&amp; sudo ./meshinstall.sh [[[SERVERURL]]] \'[[[MESHIDHEX]]]\'</pre>
<p></p> <p></p>
</area-linux> </area-linux>
<area-link> <area-link>
<p> <p>
To install the software, <a href="[[[SERVERURL]]][[[LINKURL]]]">click here</a> and follow the instructions. Para instalar este software, <a href="[[[SERVERURL]]][[[LINKURL]]]">haga click aquí</a> y siga las instrucciones
</p> </p>
</area-link> </area-link>
<p>If you did not initiate this request, please ignore this mail.</p> <p>Si Ud. no inicio este proceso, por favor ignore este email</p>
Best regards,<br>[[[USERNAME]]]<br> Atentamente,<br>[[[USERNAME]]]<br>
</div></body></html> </div></body></html>

View File

@ -1,35 +1,35 @@
[[[SERVERNAME]]] - Invitation [[[SERVERNAME]]] - Invitación
~<area-name> ~<area-name>
Hello [[[NAME]]], Hola [[[NAME]]],
~</area-name> ~</area-name>
User [[[USERNAME]]] on server [[[SERVERNAME]]] ([[[SERVERURL]]]/) is requesting you install software to start the remote control session. Usuario [[[USERNAME]]] en servitor [[[SERVERNAME]]] ([[[SERVERURL]]]/) le solicita que instale software para iniciar la sesión de control remoto.
~<area-msg> ~<area-msg>
~ ~
Message: [[[MSG]]] Mensaje: [[[MSG]]]
~ ~
~</area-msg> ~</area-msg>
~<area-windows> ~<area-windows>
For Windows, nagivate to the following link to complete the process: Para windows, navegue al siguiente enlace para completar el proceso:
~ ~
~[[[SERVERURL]]]/meshagents?id=3&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]] ~[[[SERVERURL]]]/meshagents?id=3&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~ ~
~</area-windows> ~</area-windows>
~<area-osx> ~<area-osx>
For Apple OSX, nagivate to the following link to complete the process: Para Apple OSX, navegue hasta el siguiente enlace para completar el proceso:
~ ~
~[[[SERVERURL]]]/meshagents?id=16&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]] ~[[[SERVERURL]]]/meshagents?id=16&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~ ~
~</area-osx> ~</area-osx>
~<area-linux> ~<area-linux>
For Linux, cut & paste the following in a terminal to install the agent: Para Linux, copie y pegue lo siguiente en la terminal para instalar el agente:
~ ~
~wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh [[[SERVERURL]]] '[[[MESHIDHEX]]]' ~wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh [[[SERVERURL]]] '[[[MESHIDHEX]]]'
~ ~
~</area-linux> ~</area-linux>
~<area-link> ~<area-link>
To install the software, navigate to [[[SERVERURL]]][[[LINKURL]]] and follow the instructions. Para instalar el software, navega a [[[SERVERURL]]][[[LINKURL]]] y siga las instrucciones.
~</area-link> ~</area-link>
If you did not initiate this request, please ignore this mail. Si Ud. no inicio este proceso, por favor ignore este email
~ ~
Best regards, Atentamente,
~[[[USERNAME]]] ~[[[USERNAME]]]

View File

@ -1,6 +1,6 @@
{ {
"name": "meshcentral", "name": "meshcentral",
"version": "0.5.1-m", "version": "0.5.1-n",
"keywords": [ "keywords": [
"Remote Management", "Remote Management",
"Intel AMT", "Intel AMT",

View File

@ -298,9 +298,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
case 88: // MNG_KVM_MOUSE_CURSOR case 88: // MNG_KVM_MOUSE_CURSOR
if (cmdsize != 5) break; if (cmdsize != 5) break;
var cursorNum = str.charCodeAt(4); var cursorNum = str.charCodeAt(4);
console.log('MouseCursorRaw', cursorNum);
if (cursorNum > mouseCursors.length) { cursorNum = 0; } if (cursorNum > mouseCursors.length) { cursorNum = 0; }
console.log('MouseCursorStr', mouseCursors[cursorNum]);
obj.CanvasId.style.cursor = mouseCursors[cursorNum]; obj.CanvasId.style.cursor = mouseCursors[cursorNum];
break; break;
} }

File diff suppressed because it is too large Load Diff

View File

@ -3862,8 +3862,8 @@
} else if (op == 101) { } else if (op == 101) {
// Group delete, ask for confirmation // Group delete, ask for confirmation
var x = "Confirm delete selected devices(s)?" + '<br /><br />'; var x = "Confirm delete selected devices(s)?" + '<br /><br />';
x += '<label><input id=d2check type=checkbox onchange=d2groupActionFunctionDelEx() />' + "Confirm" + '</label>'; x += '<label><input id=d2check type=checkbox onchange=d2groupActionFunctionDelCheck() />' + "Confirm" + '</label>';
setDialogMode(2, "Delete Nodes", 3, groupActionFunctionDelEx, x); setDialogMode(2, "Delete Nodes", 3, d2groupActionFunctionDelExec, x);
QE('idx_dlgOkButton', false); QE('idx_dlgOkButton', false);
} else if (op == 102) { } else if (op == 102) {
// Move computers to a different group // Move computers to a different group
@ -3908,8 +3908,8 @@
return false; return false;
} }
function d2groupActionFunctionDelEx() { QE('idx_dlgOkButton', Q('d2check').checked); } function d2groupActionFunctionDelCheck() { QE('idx_dlgOkButton', Q('d2check').checked); }
function groupActionFunctionDelEx() { meshserver.send({ action: 'removedevices', nodeids: getCheckedDevices() }); } function d2groupActionFunctionDelExec() { meshserver.send({ action: 'removedevices', nodeids: getCheckedDevices() }); }
function onSortSelectChange(skipsave) { function onSortSelectChange(skipsave) {
sort = document.getElementById('sortselect').selectedIndex; sort = document.getElementById('sortselect').selectedIndex;
@ -9655,16 +9655,16 @@
} else if (op == 3) { } else if (op == 3) {
// Delete accounts, ask for confirmation // Delete accounts, ask for confirmation
var x = "Confirm delete selected account(s)?" + '<br /><br />'; var x = "Confirm delete selected account(s)?" + '<br /><br />';
x += '<label><input id=d3check type=checkbox onchange=p3usersGroupActionFunctionDelEx() />' + "Confirm" + '</label>'; x += '<label><input id=d3check type=checkbox onchange=p3usersGroupActionFunctionDelCheck() />' + "Confirm" + '</label>';
setDialogMode(2, "Delete Accounts", 3, groupActionFunctionDelEx, x); setDialogMode(2, "Delete Accounts", 3, p3groupActionFunctionDelExec, x);
QE('idx_dlgOkButton', false); QE('idx_dlgOkButton', false);
} }
} }
function p3usersGroupActionFunctionDelEx() { QE('idx_dlgOkButton', Q('d3check').checked); } function p3usersGroupActionFunctionDelCheck() { QE('idx_dlgOkButton', Q('d3check').checked); }
// Delete a batch of user accounts // Delete a batch of user accounts
function groupActionFunctionDelEx(b) { function p3groupActionFunctionDelExec(b) {
var elements = document.getElementsByClassName('UserCheckbox'), userids = []; var elements = document.getElementsByClassName('UserCheckbox'), userids = [];
for (var i=0;i<elements.length;i++) { if (elements[i].checked === true) { userids.push(decodeURIComponent(elements[i].value)); } } for (var i=0;i<elements.length;i++) { if (elements[i].checked === true) { userids.push(decodeURIComponent(elements[i].value)); } }
for (var i in userids) { var user = users[userids[i]]; meshserver.send({ action: 'deleteuser', userid: user._id, username: user.name }); } for (var i in userids) { var user = users[userids[i]]; meshserver.send({ action: 'deleteuser', userid: user._id, username: user.name }); }