Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

MeshCentral Agent

Table of Contents

About
Social Media
MSH format
Feedback
License

About

The MeshCentral Agent is the software that runs on remote devices and connects to the MeshCentral server to allow for remote device management. This agent is compiled for Windows, many different Linux distributions, macOS and FreeBSD. In addition compiled for many different processors x86-32, x86-64, ARM, MIPS. For most users, install the MeshCentral server first and install the agent from your server.

To try out this software on the public server, please visit MeshCentral.com/login. Be mindful that the public MeshCentral server comes with no guaranties, most should setup their own server.

For more information, visit MeshCentral.com.

Social Media

Reddit
Twitter
BlogSpot

MSH format

The MeshAgent gets it's security and connection instructions from a .msh text file formatted with each line being a "key=value". The .msh file is generally created by the MeshCentral server and, for example, would look like this:

MeshName=MyComputers
MeshType=2
MeshID=0xEDBE1BE...
ServerID=D99362D5...
MeshServer=wss://example.com:443/agent.ashx

Here is a list of the possible keys that are currently supported by the agent. Note that the key name must have the exact capitalization:

AgentCapabilities Integer Mask, specifying supported Agent Capabilities agentName If set, this will be sent to the server instead of the hostname
compactDirtyMinimum Minimum dirty bytes threshold for db.compact() operation
controlChannelDebug If set, will log/display controlChannel messages (Except for JSON messages)
controlChannelIdleTimeout Integer value specifying the idle timeout in seconds, to send Ping/Pong to server, to keep connection alive
coreDumpEnabled If set, a dump file will be written when the agent crashes
disableUpdate If set, will prevent the agent from self-updating
noUpdateCoreModule If set, will prevent the agent from taking a new meshcore from the server
enableILibRemoteLogging Integer value specifying the port number to enable Web Logging. Disabled otherwise
fakeUpdate If set, when the agent self-updates, it will update to the same version. Will set disableUpdate upon completion
forceUpdate If set, will cause the agent to perform a self-update on next start.
ignoreProxyFile If set, will cause the agent to ignore any proxy settings
logUpdate If set, will cause the agent to log self-update status
jsDebugPort Specify a JS Debugger Port
nocertstore If set on Windows, will force the Agent to use OpenSSL instead of WinCrypto for cert generation/storage.
remoteMouseRender If set, will always render the remote mouse cursor for KVM
skipmaccheck If set, the agent will not change NodeID on local mac address changes.
showModuleNames If set, will display the name of modules when they are loaded for the first time
slaveKvmLog [Linux] If set, will enable logging inside the Child KVM Process.
WebProxy Manually specify proxy configuration

Many of these values are used by developers and are not typically used in normal use.

Special notes for BSD systems

You'll need to mount procfs, which isn't mounted by default on FreeBSD. Add the following line to /etc/fstab

proc	/proc	procfs	rw	0	0

If you don't reboot, then you can manually mount with the command:

mount -t procfs proc /proc

In addition, it is recommended to install bash, which you can do with the following command:

pkg install bash

Special Note about KVM Support on Linux:

If you get an error stating that an Xauthority cannot be found, and asking if your DM is configured to use X, or if you get a black screen when connecting to the login screen, you may need to:

  • Open /etc/gdm/custom.conf or /etc/gdm3/custom.conf
  • Uncomment: WaylandEnable=false.
  • Add the following line to the [daemon] section:
DefaultSession=gnome-xorg.desktop

Special Note For ChromeOS:

You need to disable rootfs verification, in order to install the meshagent service. After running the following commands, and rebooting, you should be able to install the meshagent service.

sudo su -
cd /usr/share/vboot/bin/
./make_dev_ssd.sh --remove_rootfs_verification

The above line will return a warning, but it will tell you the boot partition number, which you will need when specifying the above command again, this time with the --partions options. Specify the number instead of (ID)

./make_dev_ssd.sh --remove_rootfs_verification --partitions ID
reboot

When you are ready to install the agent, you'll need to copy the binary to a path that is not marked noexec, like /usr/local, so that you can execute the installer from there.

Feedback

If you encounter a problem or have a suggestion to improve the product, you may file an issue report

If you are filing a problem report, you should include:

  • The version of the software you are using
  • The Operating System and version
  • The observed output
  • The expected output
  • Any troubleshooting you took to resolve the issue yourself
  • Any other similar reports

License

This software is licensed under Apache 2.0.

About

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages