Skip to content

Commit

Permalink
Merge pull request #4859 from silversword411/master
Browse files Browse the repository at this point in the history
docs and typos
  • Loading branch information
Ylianst authored Dec 16, 2022
2 parents b523854 + ddfc8e8 commit f66d861
Show file tree
Hide file tree
Showing 8 changed files with 136 additions and 34 deletions.
22 changes: 11 additions & 11 deletions agents/meshcore.js
Original file line number Diff line number Diff line change
Expand Up @@ -3680,7 +3680,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
break;
}
case 'mousetrails':
try { require('win-deskutils'); } catch (ex) { response = 'Unknown command "mousetrails", type "help" for list of avaialble commands.'; break; }
try { require('win-deskutils'); } catch (ex) { response = 'Unknown command "mousetrails", type "help" for list of available commands.'; break; }
var id = require('user-sessions').getProcessOwnerName(process.pid).tsid == 0 ? 1 : null;
switch (args['_'].length)
{
Expand All @@ -3701,7 +3701,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
}
break;
case 'deskbackground':
try { require('win-deskutils'); } catch (ex) { response = 'Unknown command "deskbackground", type "help" for list of avaialble commands.'; break; }
try { require('win-deskutils'); } catch (ex) { response = 'Unknown command "deskbackground", type "help" for list of available commands.'; break; }
var id = require('user-sessions').getProcessOwnerName(process.pid).tsid == 0 ? 1 : null;
switch (args['_'].length)
{
Expand All @@ -3718,7 +3718,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
}
break;
case 'taskbar':
try { require('win-utils'); } catch (ex) { response = 'Unknown command "taskbar", type "help" for list of avaialble commands.'; break; }
try { require('win-utils'); } catch (ex) { response = 'Unknown command "taskbar", type "help" for list of available commands.'; break; }
switch (args['_'].length) {
case 1:
case 2:
Expand All @@ -3741,7 +3741,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
break;
case 'privacybar':
if (process.platform != 'win32' || require('notifybar-desktop').DefaultPinned == null) {
response = 'Unknown command "privacybar", type "help" for list of avaialble commands.';
response = 'Unknown command "privacybar", type "help" for list of available commands.';
}
else {
switch (args['_'].length) {
Expand Down Expand Up @@ -3774,7 +3774,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
case 'domaininfo':
{
if (process.platform != 'win32') {
response = 'Unknown command "cs", type "help" for list of avaialble commands.';
response = 'Unknown command "cs", type "help" for list of available commands.';
break;
}
if (global._domainQuery != null) {
Expand Down Expand Up @@ -3822,7 +3822,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
break;
case 'dhcp': // This command is only supported on Linux, this is because Linux does not give us the DNS suffix for each network adapter independently so we have to ask the DHCP server.
{
try { require('linux-dhcp'); } catch (ex) { response = 'Unknown command "dhcp", type "help" for list of avaialble commands.'; break; }
try { require('linux-dhcp'); } catch (ex) { response = 'Unknown command "dhcp", type "help" for list of available commands.'; break; }
if (args['_'].length == 0) {
var j = require('os').networkInterfaces();
var ifcs = [];
Expand All @@ -3849,7 +3849,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
}
case 'cs':
if (process.platform != 'win32') {
response = 'Unknown command "cs", type "help" for list of avaialble commands.';
response = 'Unknown command "cs", type "help" for list of available commands.';
break;
}
switch (args['_'].length) {
Expand Down Expand Up @@ -3929,7 +3929,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
break;
case 'dnsinfo':
if (require('os').dns == null) {
response = "Unknown command \"" + cmd + "\", type \"help\" for list of avaialble commands.";
response = "Unknown command \"" + cmd + "\", type \"help\" for list of available commands.";
}
else {
response = 'DNS Servers: ';
Expand Down Expand Up @@ -4112,7 +4112,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
break;
case 'uac':
if (process.platform != 'win32') {
response = 'Unknown command "uac", type "help" for list of avaialble commands.';
response = 'Unknown command "uac", type "help" for list of available commands.';
break;
}
if (args['_'].length != 1) {
Expand Down Expand Up @@ -4154,7 +4154,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
break;
case 'kvmmode':
if (require('MeshAgent').maxKvmTileSize == null) {
response = "Unknown command \"kvmmode\", type \"help\" for list of avaialble commands.";
response = "Unknown command \"kvmmode\", type \"help\" for list of available commands.";
}
else {
if (require('MeshAgent').maxKvmTileSize == 0) {
Expand Down Expand Up @@ -4967,7 +4967,7 @@ function processConsoleCommand(cmd, args, rights, sessionid) {
break;
}
default: { // This is an unknown command, return an error message
response = "Unknown command \"" + cmd + "\", type \"help\" for list of avaialble commands.";
response = "Unknown command \"" + cmd + "\", type \"help\" for list of available commands.";
break;
}
}
Expand Down
122 changes: 105 additions & 17 deletions docs/docs/meshcentral/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,7 @@ See description for information about each item.
"sms2factor": { "type": "boolean", "default": true, "description": "Set to false to disable SMS 2FA." },
"push2factor": { "type": "boolean", "default": true, "description": "Set to false to disable push notification 2FA." },
"otp2factor": { "type": "boolean", "default": true, "description": "Set to false to disable one-time-password 2FA." },
"msg2factor": { "type": "boolean", "default": true, "description": "Set to false to disable user messaging 2FA." },
"backupcode2factor": { "type": "boolean", "default": true, "description": "Set to false to disable 2FA backup codes." },
"single2factorWarning": { "type": "boolean", "default": true, "description": "Set to false to disable single 2FA warning." },
"lock2factor": { "type": "boolean", "default": false, "description": "When set to true, prevents any changes to 2FA." },
Expand Down Expand Up @@ -1057,7 +1058,8 @@ See description for information about each item.
"properties": {
"from": { "type": "string", "format": "email", "description": "Email address used in the messages from field." },
"apikey": { "type": "string", "description": "The SendGrid API key." },
"verifyemail": { "type": "boolean", "default": true, "description": "When set to false, the email format and DNS MX record are not checked." }
"verifyemail": { "type": "boolean", "default": true, "description": "When set to false, the email format and DNS MX record are not checked." },
"emailDelaySeconds": { "type": "integer", "default": 300, "description": "Time to wait before sending a device connection/disconnection notification email. If many events occur, they will be merged into a single email."}
},
"required": [ "from", "apikey" ]
},
Expand Down Expand Up @@ -1099,11 +1101,8 @@ See description for information about each item.
},
"tlscertcheck": { "type": "boolean" },
"tlsstrict": { "type": "boolean" },
"verifyemail": {
"type": "boolean",
"default": true,
"description": "When set to false, the email format and DNS MX record are not checked."
}
"verifyemail": { "type": "boolean", "default": true, "description": "When set to false, the email format and DNS MX record are not checked." },
"emailDelaySeconds": { "type": "integer", "default": 300, "description": "Time to wait before sending a device connection/disconnection notification email. If many events occur, they will be merged into a single email."}
},
"required": [ "from" ]
},
Expand All @@ -1114,7 +1113,8 @@ See description for information about each item.
"properties": {
"newline": { "type": "string", "default": "unix", "description": "Possible values are unix or windows" },
"path": { "type": "string", "default": "sendmail", "description": "Path to the sendmail command" },
"args": { "type": "array", "items": { "type": "string" }, "default": null, "description": "Array or arguments to pass to sendmail" }
"args": { "type": "array", "items": { "type": "string" }, "default": null, "description": "Array or arguments to pass to sendmail" },
"emailDelaySeconds": { "type": "integer", "default": 300, "description": "Time to wait before sending a device connection/disconnection notification email. If many events occur, they will be merged into a single email."}
}
},
"authStrategies": {
Expand Down Expand Up @@ -1306,49 +1306,137 @@ See description for information about each item.
"required": [ "host", "port", "from", "tls" ]
},
"sms": {
"title" : "SMS provider",
"title": "SMS provider",
"description": "Connects MeshCentral to a SMS text messaging provider, allows MeshCentral to send SMS messages for 2FA or user notification.",
"oneOf": [
{
"type": "object",
"type": "object",
"properties": {
"provider": { "type": "string", "enum": [ "twilio" ] },
"provider": {
"type": "string",
"enum": [ "twilio" ]
},
"sid": { "type": "string" },
"auth": { "type": "string" },
"from": { "type": "string" }
},
"required": [ "provider", "sid", "auth", "from" ]
},
{
"type": "object",
"type": "object",
"properties": {
"provider": { "type": "string", "enum": [ "plivo" ] },
"provider": {
"type": "string",
"enum": [ "plivo" ]
},
"id": { "type": "string" },
"token": { "type": "string" },
"from": { "type": "string" }
},
"required": [ "provider", "id", "token", "from" ]
},
{
"type": "object",
"type": "object",
"properties": {
"provider": { "type": "string", "enum": [ "telnyx" ] },
"provider": {
"type": "string",
"enum": [ "telnyx" ]
},
"apikey": { "type": "string" },
"from": { "type": "string" }
},
"required": [ "provider", "apikey", "from" ]
},
{
"type": "object",
"type": "object",
"properties": {
"provider": { "type": "string", "enum": [ "url" ] },
"url": { "type": "string", "description": "A http or https URL with {{phone}} and {{message}} in the string. These will be replaced with the URL encoded target phone number and message." }
"provider": {
"type": "string",
"enum": [ "url" ]
},
"url": {
"type": "string",
"description": "A http or https URL with {{phone}} and {{message}} in the string. These will be replaced with the URL encoded target phone number and message."
}
},
"required": [ "url" ]
}
]
},
"messaging": {
"title" : "Messaging server",
"description": "This section allow MeshCentral to send messages over user messaging networks like Telegram",
"type": "object",
"properties": {
"telegram": {
"type": "object",
"description": "Configure Telegram messaging system",
"properties": {
"apiid": { "type": "number" },
"apihash": { "type": "string" },
"session": { "type": "string" }
}
},
"discord": {
"type": "object",
"description": "Configure Discord messaging system",
"properties": {
"serverurl": { "type": "string", "format": "uri", "description": "An optional HTTP link to the discord server the user must join to get notifications." },
"token": { "type": "string", "description": "A Discord bot token that MeshCentral will use to login to Discord." }
},
"required": [ "token" ]
},
"xmpp": {
"type": "object",
"description": "Configure XMPP messaging system",
"properties": {
"service": { "type": "string", "description": "Host name of the XMPP server." },
"credentials": {
"type": "object",
"description": "Login credentials for the XMPP server.",
"properties": {
"username": { "type": "string" },
"password": { "type": "string" }
}
}
},
"required": [ "credentials" ]
},
"callmebot": {
"type": "boolean",
"default": false,
"description": "Enabled CallMeBot integration support."
},
"pushover": {
"type": "object",
"description": "Configure Pushover messaging system",
"properties": {
"token": { "type": "string", "description": "A Pushover application token that MeshCentral will use to login." }
},
"required": [ "token" ]
},
"ntfy": {
"type": [ "boolean", "object" ],
"default": false,
"properties": {
"host": { "type": "string", "description": "Host name of the ntfy server." },
"userurl": { "type": "string", "description": "A URL given to users to help them setup this service." }
},
"description": "Enabled ntfy.sh integration support."
},
"zulip": {
"type": "object",
"properties": {
"site": { "type": "string", "format": "uri", "default": "https://api.zulip.com", "description": "URL to the Zulip server"},
"email": { "type": "string", "description": "Bot email address to login as." },
"api_key": { "type": "string", "description": "Bot api key." }
},
"description": "Enabled Zulip integration support."
}
}
}
},
"required": [ "settings", "domains" ]
}

```
Binary file added docs/docs/meshcentral/images/agentico.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/docs/meshcentral/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -1308,6 +1308,8 @@ You can also customize the Agent to add your own logo.
}
```

![agent icon](images/agentico.png)

!!!note
You will need to reinstall the agent for agent customizations to take effect.

Expand Down Expand Up @@ -1777,6 +1779,8 @@ The callback URL will be of the form “https://(servername)/auth-saml-callback

Enabling SAML will require MeshCentral to install extra modules from NPM, so depending on your server configuration, you may need to run MeshCentral once manually.

!!!note
MeshCentral only supports "POST". [For example Authentik's](https://github.com/Ylianst/MeshCentral/issues/4725) default setting is to use "Redirect" as a "Service Provider Binding".
## Improvements to MeshCentral

In 2007, the first version of MeshCentral was built. We will refer to it as “MeshCentral1”. When MeshCentral1 was designed, HTML5 did not exist and web sockets where not implemented in any of the major browsers. Many design decisions were made at the time that are no longer optimal today. With the advent of the latest MeshCentral, MeshCentral1 is no longer supported and MeshCentral v2 has been significantly redesigned and mostly re-written based of previous version. Here is a list of improvements made in MeshCentral when compared with MeshCentral1:
Expand Down
10 changes: 10 additions & 0 deletions docs/docs/meshcentral/security.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,13 @@ Adjust these items in your `config.json`
```

![](images/rate_limiting_logins.png)

## Disabling TLS 1.0/1.1 for AMT

```json
{
"settings": {
"mpshighsecurity": true
}
}
```
2 changes: 1 addition & 1 deletion meshmail.js
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ module.exports.CreateMeshMail = function (parent, domain) {
}

//
// Device connetion and disconnection notifications
// Device connection and disconnection notifications
//

obj.deviceNotifications = {}; // UserId --> { timer, nodes: nodeid --> connectType }
Expand Down
2 changes: 1 addition & 1 deletion meshmessaging.js
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,7 @@ module.exports.CreateServer = function (parent) {


//
// Device connetion and disconnection notifications
// Device connection and disconnection notifications
//

obj.deviceNotifications = {}; // UserId --> { timer, nodes: nodeid --> connectType }
Expand Down
8 changes: 4 additions & 4 deletions rdp/protocol/t125/mcs.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ var Channel = {
};

/**
* Channel Definde
* Channel Defined
*/
const RdpdrChannelDef = new type.Component({
name: new type.BinaryString(Buffer.from('rdpdr' + '\x00\x00\x00', 'binary'), { readLength: new type.CallableValue(8) }),
Expand Down Expand Up @@ -239,7 +239,7 @@ function Client(transport) {
this.clientNetworkData = gcc.clientNetworkData(new type.Component([RdpdrChannelDef, CliprdrChannelDef, RdpsndChannelDef]));
this.clientSecurityData = gcc.clientSecurityData();

// must be readed from protocol
// must be read from protocol
this.serverCoreData = null;
this.serverSecurityData = null;
this.serverNetworkData = null;
Expand Down Expand Up @@ -414,7 +414,7 @@ Client.prototype.connectChannels = function(s) {
self.recv(s);
});

// send client and sever gcc informations
// send client and sever gcc information
this.emit('connect',
{
core : this.clientCoreData.obj,
Expand Down Expand Up @@ -497,7 +497,7 @@ Server.prototype.recvConnectInitial = function (s) {
};

/**
* State 2 in mcs server connetion automata
* State 2 in mcs server connection automata
*/
Server.prototype.sendConnectResponse = function () {
var ccReq = gcc.writeConferenceCreateResponse(new type.Component([
Expand Down

0 comments on commit f66d861

Please sign in to comment.