Version 0.6.86

This commit is contained in:
Ylian Saint-Hilaire 2020-11-11 22:56:47 -08:00
parent e72fcaca42
commit 22105f2af3
16 changed files with 44627 additions and 1607 deletions

View File

@ -2218,6 +2218,21 @@ function createMeshCore(agent) {
try { fs.renameSync(oldfullpath, newfullpath); } catch (e) { console.log(e); } try { fs.renameSync(oldfullpath, newfullpath); } catch (e) { console.log(e); }
break; break;
} }
case 'findfile': {
// Search for files
var r = require('file-search').find(cmd.path, cmd.filter);
r.socket = this;
r.socket.reqid = cmd.reqid; // Search request id. This is used to send responses and cancel the request.
r.socket.path = cmd.path; // Search path
r.on('result', function (str) { try { this.socket.write(Buffer.from(JSON.stringify({ action: 'findfile', r: str.substring(this.socket.path.length), reqid: this.socket.reqid }))); } catch (ex) { } });
r.then(function () { try { this.socket.write(Buffer.from(JSON.stringify({ action: 'findfile', r: null, reqid: this.socket.reqid }))); } catch (ex) { } });
break;
}
case 'cancelfindfile': {
// TODO: Cancel a search for files
// cmd.reqid <-- Cancel this reqid
sendConsoleText('cancelfindfile: ' + cmd.reqid);
}
case 'download': { case 'download': {
// Download a file // Download a file
var sendNextBlock = 0; var sendNextBlock = 0;

View File

@ -11,5 +11,5 @@
<p style="margin-left:30px"> <p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]]">Cliquez ici pour vérifier votre adresse e-mail.</a> <a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]]">Cliquez ici pour vérifier votre adresse e-mail.</a>
</p> </p>
Si vous n'avez pas initié cette demande, veuillez ignorer cet e-mail. Si vous n'avez pas initié cette demande, veuillez ignorer ce courrier.
</div></body></html> </div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Vérification E-mail [[[SERVERNAME]]] - Vérification E-mail
Bonjour [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]][[[URLARGS1]]]) effectue une vérification par e-mail. Accédez au lien suivant pour terminer le processus : Bonjour [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]][[[URLARGS1]]]) effectue une vérification par e-mail. Accédez au lien suivant pour terminer le processus:
~ ~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]] ~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]]
~ ~
Si vous n'avez pas initié cette demande, veuillez ignorer cet e-mail. Si vous n'avez pas initié cette demande, veuillez ignorer ce courrier.

View File

@ -7,10 +7,10 @@
</td> </td>
</tr> </tr>
</tbody></table> </tbody></table>
<p>Un compte a été créé pour vous sur le serveur <a href="[[[SERVERURL]]][[[URLARGS1]]]" notrans="1">[[[SERVERNAME]]]</a>, vous pouvez y accéder maintenant avec&nbsp;:</p> <p>Un compte a été créé pour vous sur le serveur <a href="[[[SERVERURL]]][[[URLARGS1]]]" notrans="1">[[[SERVERNAME]]]</a>, vous pouvez y accéder maintenant avec:</p>
<p> <p>
&nbsp;&nbsp;&nbsp;Nom d'utilisateur&nbsp;: <b notrans="1">[[[ACCOUNTNAME]]]</b><br> &nbsp;&nbsp;&nbsp;Nom d'utilisateur: <b notrans="1">[[[ACCOUNTNAME]]]</b><br>
&nbsp;&nbsp;&nbsp;Mot de passe&nbsp;: <b notrans="1">[[[PASSWORD]]]</b> &nbsp;&nbsp;&nbsp;Mot de passe: <b notrans="1">[[[PASSWORD]]]</b>
</p> </p>
Meilleures salutations, Meilleures salutations,
<br> <br>

View File

@ -7,6 +7,6 @@
</td> </td>
</tr> </tr>
</tbody></table> </tbody></table>
<p>Votre jeton de connexion est&nbsp;: [[[TOKEN]]]</p> <p>Votre jeton de connexion est: [[[TOKEN]]]</p>
<p>Ce jeton ne peut être utilisé qu'une seule fois et est valide pendant 5 minutes.</p> <p>Ce jeton ne peut être utilisé qu'une seule fois et est valide pendant 5 minutes.</p>
</div></body></html> </div></body></html>

View File

@ -1,4 +1,4 @@
[[[SERVERNAME]]] - Connexion au compte [[[SERVERNAME]]] - Connexion au compte
Votre jeton de connexion est : [[[TOKEN]]] Votre jeton de connexion est: [[[TOKEN]]]
~ ~
Ce jeton ne peut être utilisé qu'une seule fois et est valide pendant 5 minutes. Ce jeton ne peut être utilisé qu'une seule fois et est valide pendant 5 minutes.

View File

@ -11,5 +11,5 @@
<p style="margin-left:30px"> <p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]]">Cliquez ici pour réinitialiser le mot de passe de votre compte.</a> <a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]]">Cliquez ici pour réinitialiser le mot de passe de votre compte.</a>
</p> </p>
Si vous n'avez pas initié cette demande, veuillez ignorer cet e-mail. Si vous n'avez pas initié cette demande, veuillez ignorer ce courrier.
</div></body></html> </div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Réinitialisation du compte [[[SERVERNAME]]] - Réinitialisation du compte
Bonjour [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]][[[URLARGS1]]]) demande une réinitialisation du mot de passe du compte. Accédez au lien suivant pour terminer le processus : Bonjour [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]][[[URLARGS1]]]) demande une réinitialisation du mot de passe du compte. Accédez au lien suivant pour terminer le processus:
~ ~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]] ~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]][[[URLARGS2]]]
~ ~
Si vous n'avez pas initié cette demande, veuillez ignorer cet e-mail. Si vous n'avez pas initié cette demande, veuillez ignorer ce courrier.

View File

@ -15,7 +15,7 @@
<p>Utilisateur [[[USERNAME]]] sur le serveur <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> vous demande d'installer un logiciel pour démarrer une session de contrôle à distance.</p> <p>Utilisateur [[[USERNAME]]] sur le serveur <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> vous demande d'installer un logiciel pour démarrer une session de contrôle à distance.</p>
<area-msg> <area-msg>
<p> <p>
Message&nbsp;: <b notrans="1">[[[MSG]]]</b> Message: <b notrans="1">[[[MSG]]]</b>
</p> </p>
</area-msg> </area-msg>
<area-windows> <area-windows>
@ -28,7 +28,7 @@
</area-osx> </area-osx>
<area-linux> <area-linux>
<p> <p>
Pour Linux, copiez et collez les éléments suivants dans un terminal pour installer l'agent&nbsp;:<br> Pour Linux, copiez et collez les éléments suivants dans un terminal pour installer l'agent:<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>
@ -37,6 +37,6 @@
Pour installer le logiciel, <a href="[[[SERVERURL]]][[[LINKURL]]]">cliquez ici</a> et suivez les instructions. Pour installer le logiciel, <a href="[[[SERVERURL]]][[[LINKURL]]]">cliquez ici</a> et suivez les instructions.
</p> </p>
</area-link> </area-link>
<p>Si vous n'avez pas initié cette demande, veuillez ignorer cet e-mail.</p> <p>Si vous n'avez pas initié cette demande, veuillez ignorer ce courrier.</p>
Meilleures salutations,<br>[[[USERNAME]]]<br> Meilleures salutations,<br>[[[USERNAME]]]<br>
</div></body></html> </div></body></html>

View File

@ -5,23 +5,23 @@ Bonjour [[[NAME]]],
L'utilisateur [[[USERNAME]]] sur le serveur [[[SERVERNAME]]] ([[[SERVERURL]]]/[[[URLARGS1]]]) vous demande d'installer un logiciel pour démarrer la session de contrôle à distance. L'utilisateur [[[USERNAME]]] sur le serveur [[[SERVERNAME]]] ([[[SERVERURL]]]/[[[URLARGS1]]]) vous demande d'installer un logiciel pour démarrer la session de contrôle à distance.
~<area-msg> ~<area-msg>
~ ~
Message : [[[MSG]]] Message: [[[MSG]]]
~ ~
~</area-msg> ~</area-msg>
~<area-windows> ~<area-windows>
Pour Windows, accédez au lien suivant pour terminer le processus : Pour Windows, accédez au lien suivant pour terminer le processus:
~ ~
~[[[SERVERURL]]]/meshagents?id=4&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]] ~[[[SERVERURL]]]/meshagents?id=4&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~ ~
~</area-windows> ~</area-windows>
~<area-osx> ~<area-osx>
Pour Apple OSX, accédez au lien suivant pour terminer le processus : Pour Apple OSX, accédez au lien suivant pour terminer le processus:
~ ~
~[[[SERVERURL]]]/meshosxagent?id=16&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]] ~[[[SERVERURL]]]/meshosxagent?id=16&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~ ~
~</area-osx> ~</area-osx>
~<area-linux> ~<area-linux>
Pour Linux, copiez et collez les éléments suivants dans un terminal pour installer l'agent : Pour Linux, copiez et collez les éléments suivants dans un terminal pour installer l'agent:
~ ~
~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]]]'
~ ~
@ -29,7 +29,7 @@ Pour Linux, copiez et collez les éléments suivants dans un terminal pour insta
~<area-link> ~<area-link>
Pour installer le logiciel, accédez à [[[SERVERURL]]][[[LINKURL]]][[[URLARGS2]]] et suivez les instructions. Pour installer le logiciel, accédez à [[[SERVERURL]]][[[LINKURL]]][[[URLARGS2]]] et suivez les instructions.
~</area-link> ~</area-link>
Si vous n'avez pas initié cette demande, veuillez ignorer cet e-mail. Si vous n'avez pas initié cette demande, veuillez ignorer ce courrier.
~ ~
Meilleures salutations, Meilleures salutations,
~[[[USERNAME]]] ~[[[USERNAME]]]

View File

@ -1,2 +1,2 @@
[[0]] le code de vérification est : [[1]] [[0]] le code de vérification est: [[1]]
[[0]] le jeton d'accès est : [[1]] [[0]] le jeton d'accès est: [[1]]

View File

@ -2218,7 +2218,7 @@ function CreateMeshCentralServer(config, args) {
26: { id: 26, localname: 'meshagent_arm64', rname: 'meshagent', desc: 'Linux ARMv8-64', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // "aarch64" 26: { id: 26, localname: 'meshagent_arm64', rname: 'meshagent', desc: 'Linux ARMv8-64', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // "aarch64"
27: { id: 27, localname: 'meshagent_armhf2', rname: 'meshagent', desc: 'Linux ARM - HardFloat', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Raspbian 7 2015-02-02 for old Raspberry Pi. 27: { id: 27, localname: 'meshagent_armhf2', rname: 'meshagent', desc: 'Linux ARM - HardFloat', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Raspbian 7 2015-02-02 for old Raspberry Pi.
28: { id: 28, localname: 'meshagent_mips24kc', rname: 'meshagent', desc: 'Linux MIPS24KC (OpenWRT)', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // MIPS Router with OpenWRT 28: { id: 28, localname: 'meshagent_mips24kc', rname: 'meshagent', desc: 'Linux MIPS24KC (OpenWRT)', update: true, amt: false, platform: 'linux', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // MIPS Router with OpenWRT
29: { id: 29, localname: 'meshagent_osx-arm-64', rname: 'meshagent', desc: 'Apple OSX ARM-64', update: true, amt: false, platform: 'osx', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Apple Silicon 29: { id: 29, localname: 'meshagent_osx-arm-any', rname: 'meshagent', desc: 'Apple OSX ARM-Any', update: true, amt: false, platform: 'osx', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Apple Silicon
30: { id: 30, localname: 'meshagent_freebsd_x86-64', rname: 'meshagent', desc: 'FreeBSD x86-64', update: true, amt: false, platform: 'freebsd', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // FreeBSD x64 30: { id: 30, localname: 'meshagent_freebsd_x86-64', rname: 'meshagent', desc: 'FreeBSD x86-64', update: true, amt: false, platform: 'freebsd', core: 'linux-noamt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // FreeBSD x64
10003: { id: 3, localname: 'MeshService.exe', rname: 'meshagent.exe', desc: 'Windows x86-32 service', update: true, amt: true, platform: 'win32', core: 'windows-amt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Unsigned version of the Windows MeshAgent x86 10003: { id: 3, localname: 'MeshService.exe', rname: 'meshagent.exe', desc: 'Windows x86-32 service', update: true, amt: true, platform: 'win32', core: 'windows-amt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' }, // Unsigned version of the Windows MeshAgent x86
10004: { id: 4, localname: 'MeshService64.exe', rname: 'meshagent.exe', desc: 'Windows x86-64 service', update: true, amt: true, platform: 'win32', core: 'windows-amt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' } // Unsigned version of the Windows MeshAgent x64 10004: { id: 4, localname: 'MeshService64.exe', rname: 'meshagent.exe', desc: 'Windows x86-64 service', update: true, amt: true, platform: 'win32', core: 'windows-amt', rcore: 'linux-recovery', arcore: 'linux-agentrecovery' } // Unsigned version of the Windows MeshAgent x64

View File

@ -1,6 +1,6 @@
{ {
"name": "meshcentral", "name": "meshcentral",
"version": "0.6.85", "version": "0.6.86",
"keywords": [ "keywords": [
"Remote Device Management", "Remote Device Management",
"Remote Device Monitoring", "Remote Device Monitoring",

42933
translate/translate-fr.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -762,6 +762,7 @@
<input type=button id=p13PasteButton disabled="disabled" value="Paste" onclick="p13pasteFile()" />&nbsp; <input type=button id=p13PasteButton disabled="disabled" value="Paste" onclick="p13pasteFile()" />&nbsp;
<input type=button id=p13ZipButton disabled="disabled" value="Zip" onclick="p13zipFiles()" />&nbsp; <input type=button id=p13ZipButton disabled="disabled" value="Zip" onclick="p13zipFiles()" />&nbsp;
<input type=button id=p13RefreshButton disabled="disabled" value="Refresh" onclick="p13folderup(9999)" />&nbsp; <input type=button id=p13RefreshButton disabled="disabled" value="Refresh" onclick="p13folderup(9999)" />&nbsp;
<input type=button id=p13FindButton disabled="disabled" value="Find" onclick="p13findfile()" />&nbsp;
</div> </div>
</td> </td>
</tr> </tr>
@ -8028,6 +8029,12 @@
data = JSON.parse(decode_utf8(data)); data = JSON.parse(decode_utf8(data));
if (data.action == 'download') { p13gotDownloadCommand(data); return; } if (data.action == 'download') { p13gotDownloadCommand(data); return; }
// Find file result
if (data.action == 'findfile') {
if (xxdialogTag == data.reqid) { if (data.r == null) { QE('d2findFilter', true); QE('filefind_dlgOkButton', true); xxdialogTag = null; } else { QA('d2findResults', '<div style=white-space:nowrap>' + EscapeHtml(data.r) + '</div>'); } }
return;
}
// Process file upload commands // Process file upload commands
if ((data.action != null) && (data.action.startsWith('upload'))) { p13gotUploadData(data); return; } if ((data.action != null) && (data.action.startsWith('upload'))) { p13gotUploadData(data); return; }
@ -8149,6 +8156,38 @@
return false; return false;
} }
function p13findfile() {
if (xxdialogMode) return;
var x = addHtmlValue("Filter", '<input id=d2findFilter style="width:230px" onkeyup=p13findfileValidate() placeholder="*.txt"></input>');
x += '<div id=d2findResults style="width:100%;height:184px;background-color:white;border:1px solid black;padding:3px;overflow:scroll;margin-top:8px"></div>';
x += '<div style=margin-top:8px><input id=filefind_dlgCancelButton type=button value=' + "Cancel" + ' style=float:right;width:80px;margin-left:5px onclick=p13findfileCancel()>';
x += '<input id=filefind_dlgOkButton type=submit value=' + "OK" + ' style=float:right;width:80px onclick=p13findfileEx()><br /><br /></div>';
setDialogMode(2, "File Files", 0, null, x);
Q('d2findResults').focus();
p13findfileValidate();
}
function p13findfileValidate() {
QE('filefind_dlgOkButton', Q('d2findFilter').value.length > 0);
}
function p13findfileCancel() {
if (xxdialogTag != null) { files.sendText({ action: 'cancelfindfile', reqid: xxdialogTag }); }
dialogclose(0)
}
function p13findfileEx(b, t) {
var winagent = ((currentNode.agent.id > 0) && (currentNode.agent.id < 5));
var slash = winagent ? '\\' : '/';
var path = p13filetreelocation.join(slash) + slash;
if (!winagent) { path = slash + path; }
xxdialogTag = 'find:' + Math.random();
files.sendText({ action: 'findfile', reqid: xxdialogTag, path: path, filter: Q('d2findFilter').value });
QH('d2findResults', '');
QE('d2findFilter', false);
QE('filefind_dlgOkButton', false);
}
var p13sortorder; var p13sortorder;
function p13sort_filename(a, b) { if (a.ln > b.ln) return (1 * p13sortorder); if (a.ln < b.ln) return (-1 * p13sortorder); return 0; } function p13sort_filename(a, b) { if (a.ln > b.ln) return (1 * p13sortorder); if (a.ln < b.ln) return (-1 * p13sortorder); return 0; }
function p13sort_timestamp(a, b) { if (a.d > b.d) return (1 * p13sortorder); if (a.d < b.d) return (-1 * p13sortorder); return 0; } function p13sort_timestamp(a, b) { if (a.d > b.d) return (1 * p13sortorder); if (a.d < b.d) return (-1 * p13sortorder); return 0; }
@ -8175,6 +8214,7 @@
QE('p13SelectAllButton', false); QE('p13SelectAllButton', false);
Q('p13SelectAllButton').value = "Select All"; Q('p13SelectAllButton').value = "Select All";
QE('p13RefreshButton', false); QE('p13RefreshButton', false);
QE('p13FindButton', false);
QE('p13CutButton', false); QE('p13CutButton', false);
QE('p13CopyButton', false); QE('p13CopyButton', false);
QE('p13ZipButton', false); QE('p13ZipButton', false);
@ -8190,6 +8230,7 @@
QE('p13SelectAllButton', tc > 0); QE('p13SelectAllButton', tc > 0);
Q('p13SelectAllButton').value = (cc > 0 ? "Select None" : "Select All"); Q('p13SelectAllButton').value = (cc > 0 ? "Select None" : "Select All");
QE('p13RefreshButton', true); QE('p13RefreshButton', true);
QE('p13FindButton', ((p13filetreelocation.length > 0) || (winAgent == false)));
QE('p13CutButton', (cc > 0) && (cc == sfc) && ((p13filetreelocation.length > 0) || (winAgent == false))); QE('p13CutButton', (cc > 0) && (cc == sfc) && ((p13filetreelocation.length > 0) || (winAgent == false)));
QE('p13CopyButton', (cc > 0) && (cc == sfc) && ((p13filetreelocation.length > 0) || (winAgent == false))); QE('p13CopyButton', (cc > 0) && (cc == sfc) && ((p13filetreelocation.length > 0) || (winAgent == false)));
QE('p13ZipButton', (cc > 0) && ((p13filetreelocation.length > 0) || (winAgent == false))); QE('p13ZipButton', (cc > 0) && ((p13filetreelocation.length > 0) || (winAgent == false)));