Improved server console commands info and added showpaths.

Ylian Saint-Hilaire committed Dec 9, 2019 at 14:57 UTC 990214ed1978ecf5a9183bbeee26cd41846250c4
2 files changed +24 -4
meshuser.js
+23 -3
@@ -691,9 +691,14 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
691
692 switch (cmd) {
693 case 'help': {
694 - r = 'Available commands: help, info, versions, args, resetserver, showconfig, usersessions, tasklimiter, setmaxtasks, cores,\r\n'
695 - r += 'migrationagents, agentstats, webstats, mpsstats, swarmstats, acceleratorsstats, updatecheck, serverupdate, nodeconfig,\r\n';
696 - r += 'heapdump, relays, autobackup, backupconfig, dupagents, dispatchtable, badlogins.';
694 + var fin = '', f = '', availcommands = 'help,info,versions,args,resetserver,showconfig,usersessions,tasklimiter,setmaxtasks,cores,migrationagents,agentstats,webstats,mpsstats,swarmstats,acceleratorsstats,updatecheck,serverupdate,nodeconfig,heapdump,relays,autobackup,backupconfig,dupagents,dispatchtable,badlogins,showpaths';
695 + availcommands = availcommands.split(',').sort();
696 + while (availcommands.length > 0) {
697 + if (f.length > 80) { fin += (f + ',\r\n'); f = ''; }
698 + f += (((f != '') ? ', ' : ' ') + availcommands.shift());
699 + }
700 + if (f != '') { fin += f; }
701 + r = 'Available commands: \r\n' + fin + '.';
702 break;
703 }
704 case 'badlogins': {
@@ -776,12 +781,15 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
781 var info = process.memoryUsage();
782 info.dbType = ['None', 'NeDB', 'MongoJS', 'MongoDB'][parent.db.databaseType];
783 if (parent.db.databaseType == 3) { info.dbChangeStream = parent.db.changeStream; }
784 + try { info.nodeVersion = Number(process.version.match(/^v(\d+\.\d+)/)[1]); } catch (ex) { }
785 + try { info.currentVer = parent.parent.currentVer; } catch (ex) { }
786 try { info.platform = process.platform; } catch (ex) { }
787 try { info.arch = process.arch; } catch (ex) { }
788 try { info.pid = process.pid; } catch (ex) { }
789 try { info.uptime = process.uptime(); } catch (ex) { }
790 try { info.version = process.version; } catch (ex) { }
791 try { info.cpuUsage = process.cpuUsage(); } catch (ex) { }
792 + try { info.warnings = parent.parent.getServerWarnings(); } catch (ex) { }
793 r = JSON.stringify(info, null, 4);
794 break;
795 }
@@ -839,6 +847,18 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
847 if (parent.parent.defaultMeshCores != null) { for (var i in parent.parent.defaultMeshCores) { r += i + ': ' + parent.parent.defaultMeshCores[i].length + ' bytes<br />'; } }
848 break;
849 }
850 + case 'showpaths': {
851 + r = 'Parent: ' + parent.parent.parentpath + '\r\n';
852 + r += 'Data: ' + parent.parent.datapath + '\r\n';
853 + r += 'Files: ' + parent.parent.filespath + '\r\n';
854 + r += 'Backup: ' + parent.parent.backuppath + '\r\n';
855 + r += 'Record: ' + parent.parent.recordpath + '\r\n';
856 + r += 'WebPublic: ' + parent.parent.webPublicPath + '\r\n';
857 + r += 'WebViews: ' + parent.parent.webViewsPath + '\r\n';
858 + if (parent.parent.webViewsOverridePath) { r += 'XWebPublic: ' + parent.parent.webViewsOverridePath + '\r\n'; }
859 + if (parent.parent.webViewsOverridePath) { r += 'XWebViews: ' + parent.parent.webPublicOverridePath + '\r\n'; }
860 + break;
861 + }
862 case 'showconfig': {
863 // Make a copy of the configuration and hide any secrets
864 var config = common.Clone(parent.parent.config);
package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "meshcentral",
3 - "version": "0.4.5-l",
3 + "version": "0.4.5-m",
4 "keywords": [
5 "Remote Management",
6 "Intel AMT",