A complete web-based remote monitoring and management web site. Once setup you can install agents and perform remote desktop session to devices on the local network or over the Internet.
Go to file
Ylian Saint-Hilaire a2a47a1320 Fixed FIDO2 USB keys with PIN codes. 2020-07-24 11:21:06 -07:00
.github/workflows Removed auto-build in code scanner. 2020-06-29 13:07:40 -07:00
agents Added agent hashing batch file. 2020-07-22 12:18:34 -07:00
amt Code cleanup. 2020-06-15 16:37:02 -07:00
docs Fixed documentation typo. 2020-06-29 09:28:42 -07:00
emails Improved network adapter display in details tab. 2020-06-25 18:06:31 -07:00
public Detect borken websocket compression in NodeJS v11.11 to v12.15. 2020-07-20 22:26:58 -07:00
translate Added user group action for validation of email address. 2020-07-22 11:50:27 -07:00
views Added user group action for validation of email address. 2020-07-22 11:50:27 -07:00
.gitignore Removed .greenlockrc 2019-12-23 14:44:20 -08:00
CreateSourcePackage.bat Initial main commit 2017-08-28 09:27:45 -07:00
LICENSE Updated file headers. 2020-01-02 18:30:12 -08:00
MeshCentral.sln Initial main commit 2017-08-28 09:27:45 -07:00
MeshCentralServer.njsproj Added first version of JSON schema for config.json. 2020-06-15 06:37:53 -07:00
SourceFileList.txt Improved MeshAgent and MeshCmd. 2018-01-25 16:12:53 -08:00
amt-ider.js Updated file headers. 2020-01-02 18:30:12 -08:00
amtevents.js Updated file headers. 2020-01-02 18:30:12 -08:00
amtscanner.js Fixed Intel AMT local network scanning. 2020-06-26 16:25:12 -07:00
amtscript.js Updated file headers. 2020-01-02 18:30:12 -08:00
apfserver.js Updated file headers. 2020-01-02 18:30:12 -08:00
certoperations.js Many updates to how agents connect, agent cert checking and tls on agent port. 2020-05-22 12:54:22 -07:00
common.js Added URL args validation. 2020-06-21 01:45:24 -07:00
db.js MySQL fix. 2020-07-23 22:44:21 -07:00
exeHandler.js Updated file headers. 2020-01-02 18:30:12 -08:00
interceptor.js Updated file headers. 2020-01-02 18:30:12 -08:00
letsEncrypt.js Fixed plugin version matching, 2-factor reuirement + skip, removed GreenLock completely. 2020-03-11 16:53:09 -07:00
mcrec.js Fixed desktop & terminal recording. 2020-03-11 00:17:10 -07:00
meshaccelerator.js Added file context menu for device files. 2020-02-14 11:20:06 -08:00
meshagent.js Updated all agents except macOS and FreeBSD. New agents support compression. 2020-07-21 16:20:17 -07:00
meshcentral-config-schema.json Updated all agents except macOS and FreeBSD. New agents support compression. 2020-07-21 16:20:17 -07:00
meshcentral.js Locked version of node-windows. 2020-07-23 14:45:46 -07:00
meshctrl.js Added MeshCtrl device group hex encoding to JSON of listdevicegroups. 2020-07-24 10:56:28 -07:00
meshdesktopmultiplex.js Added user account real name support. 2020-07-10 10:33:41 -07:00
meshmail.js Bug fixes, added AmtWake to MeshCMD. 2020-05-13 00:27:31 -07:00
meshrelay.js Added user account real name support. 2020-07-10 10:33:41 -07:00
meshscanner.js Fixed multicast response. 2020-07-15 11:31:55 -07:00
meshsms.js Clean up. 2020-04-22 22:15:51 -07:00
meshuser.js Fixed file upload to agent when websocket compression is used. 2020-07-22 11:19:39 -07:00
mpsserver.js Updated MeshAgents, MeshCentral Router and bug fixes. 2020-06-04 23:27:48 -07:00
mqttbroker.js Improved CertURL certificate loading. 2020-03-19 13:42:37 -07:00
mstsc.js Improved MSTSC.js login access options. 2020-06-13 17:43:12 -07:00
multiserver.js Updated file headers. 2020-01-02 18:30:12 -08:00
package.json Version 0.5.93 2020-07-23 14:52:50 -07:00
pass.js Added batch account addition. 2019-05-14 14:39:26 -07:00
pluginHandler.js Fixed plugin path check. 2020-07-09 15:48:48 -07:00
plugin_development.md meshCentralCompat version comparison changes and updated docs for clarity 2020-03-11 21:22:06 -04:00
readme.md Fixed readme file. 2020-04-20 14:15:26 -07:00
redirserver.js Use bind address (if present) when checking redir port 2020-07-19 19:44:19 +02:00
reinstall-modules.bat Module dependency cleanup. 2019-03-25 11:32:16 -07:00
sample-config-advanced.json Updated all agents except macOS and FreeBSD. New agents support compression. 2020-07-21 16:20:17 -07:00
sample-config.json JSON config schema improvements. 2020-06-15 13:08:46 -07:00
swarmserver.js Code cleanup. 2020-06-15 16:37:02 -07:00
webauthn.js Fixed FIDO2 USB keys with PIN codes. 2020-07-24 11:21:06 -07:00
webserver.js Added disk quota exceed notification. 2020-07-15 14:11:27 -07:00
winservice.js Updated file headers. 2020-01-02 18:30:12 -08:00

readme.md

MeshCentral

For more information, visit MeshCommander.com/MeshCentral2. Discussion forum on Reddit.

Download the full PDF user's guide with more information on configuring and running MeshCentral2. In addition, the installation guide can help get MeshCentral installed on Amazon AWS, Microsoft Azure, Ubuntu or Raspberry Pi.

This is a full computer management web site. With MeshCentral, you can run your own web server to remotely manage and control computers on a local network or anywhere on the internet. Once you get the server started, create device group and download and install an agent on each computer you want to manage. A minute later, the new computer will show up on the web site and you can take control of it. MeshCentral includes full web-based remote desktop, terminal and file management capability.

To test this server, feel free to try MeshCentral.com.

Installation

Make sure you have NodeJS and npm installed. If you are behind a proxy, setup npm to use the proxy:

	npm config set proxy http://proxy.com:88
	npm config set https-proxy http://proxy.com:88

Then, install MeshCentral by creating an empty folder and using npm to download the module:

	mkdir meshcentral
	cd meshcentral
	npm install meshcentral

To run MeshCentral you may need to use nodejs instead of node on Linux.

	cd ./node_modules/meshcentral
	node meshcentral [arguments]

You can launch MeshCentral with no arguments to start it in LAN mode. In LAN mode only devices on the local network can be managed. To setup a more secure server, use --cert to specify an IP address or name that resolves to your server. This name will be used by agents to connect back to the server. So, make sure you set a name that will resolve back to your server. MeshCentral will not register this name for you. You must make sure to setup the DNS name yourself first, or use the right IP address. If you are just taking a quick look at MeshCentral, you can skip this step and do it at later time.

	node meshcentral --cert servername.domain.com
	node meshcentral --cert 1.2.3.4

On Windows, you can install MeshCentral to run as a background service, just run it using --install. Once running, open a browser and enter the server url. By default, a TLS self-signed certificate is created so you will need to ignore the security warning given by your browser. A link to the root certificate that can be loaded into your browser is provided on the website so you can make the warnings go away. You can run without TLS security using --notls, but this is not recommended.

Update and uninstall

Uninstalling MeshCentral is super easy, just use npm as usual. For updating, just install over the previous version by installing again, data files will not be changed. From the parent folder of node_module, enter ether:

	npm install meshcentral
	npm uninstall meshcentral

Command Line

Command line arguments on Windows only:

Arguments Description
--install Install MeshCentral as a background service.
--uninstall Uninstall MeshCentral background service.
--start Start MeshCentral as a background service.
--stop Stop MeshCentral background service.

Command line arguments on any platform:

Arguments Description
--notls Use HTTP instead of HTTPS for the main web server.
--user [username] Always login as [username] if the account exists.
--port [number] Web server port number (default is 443).
--mpsport [number] Intel AMT server port number (default is 4433).
--redirport [number] Redirection web server, redirects users to the HTTPS server (default to 80).
--exactports Server must run with correct ports or exit.
--cert [name], (country), (org) Create a web server certificate with a server name. Country and organization can optionaly be set.

Configuration File

As an alternative to using command line arguments, you can create a ./node-module/meshcentral-data/config.json file, for example:

	{
		"settings": {
			"port": 8080,
			"redirport": 81
		},
		"domains": {
			"": {
				"title": "MyServer",
				"title2": "Servername",
				"userQuota": 1048576,
				"meshQuota": 248576,
				"newAccounts" : 1
			},
			"Customer1": {
				"title": "Customer1",
				"title2": "Extra String",
				"newAccounts" : 0
			},
			"Customer2": {
				"title": "Customer2",
				"title2": "Other String"
			}
		}
	}

The settings part are for command line arguments. For example, instead of running with --port 8080, you can put "port": 8080 in the settings portion of the config.json file. In addition, you can use the config.json file to create multi-tenancy servers. In the domains section, you can set options for the default domain ("") in addition to creating new domains.

For the configuration above, the root domain and two other domains will be accessible like this:

	https://servername:8080/
	https://servername:8080/customer1
	https://servername:8080/customer2

When you setup many domains, the server considers each domain separately. Each domain has separate user accounts, administrators, etc. Within each domain, you can put a title and title2 as strings that will show up at the top of the web site. userQuota indicates the default maximum amount of data a user can have in it's "My Files" folder. meshQuota is the maximum total size of files in each mesh folder. newAccounts indicates if new accounts can be created from the login page, 0 if not allowed, 1 if allowed. Note that if a web site has no accounts, the new account option will be available until an account is created and the first account will be the site administrator.

Other Notes

For Windows users, if you install MeshCentral globally using npm install meshcentral -g, it will not be able to run correctly as a Windows Service. It will immediately stop each time you start it.

For more information on MeshCentral or other tools, visit MeshCommander.com.

Tutorials

How to install MeshCentral2 in a few minutes.
MeshCentral2 - Installation

Demonstration of MeshCentral2 usages and more tips & tricks.
MeshCentral2 - Usages

How to setup Intel® AMT client initiated remote access (CIRA) to connect to MeshCentral2.
MeshCentral2 - Intel AMT CIRA

License

This software is licensed under Apache 2.0.