MeshCentral là một nền tảng điều khiển từ xa (remote management), quản lý từ xa (IT Management) mã nguồn mở, cho phép bạn quản lý máy tính, server,… từ xa thông qua trình duyệt web.
Nó do Ylian Saint-Hilaire (Intel) phát triển và hoạt động hoàn toàn tự host (cài trên server của bạn).
Hỗ trợ đa nền tảng:
- Windows;
- macOS;
- Linux;
- Android;
Ưu điểm: Tự host nên làm chủ được dữ liệu; Đa tính năng: Xem được thông tin máy, tự xuất hiện trên máy chủ sau khi cài đặt Agnet.
Cho phép xuất dữ liệu gồm thông tin chi tiết của thiết bị - dễ quản lý.
Nhược điểm: Ưu điểm cũng chính là nhược điểm là vì nó chạy trên nền Web; Giao diện khá cổ điển; Tự host nên ban đầu khá khó và mất thời gian, ít tài liệu hướng dẫn.
Bật Full màn hình: Nhấn giữ Shift và bấm vào nút Full màn hình để thực sự là Full màn hình trên Browser (Nếu không nó sẽ chỉ full giao diện trang web thôi).
Muốn tùy chỉnh thì hãy copy file bạn muốn chỉnh vào "meshcentral-web" nó sẽ được thay đổi.
Tạo file compose và khởi chạy với nội dung bên dưới:
services:
meshcentral:
stdin_open: true
tty: true
restart: always
hostname: meshcentral-vm11
environment:
- HOSTNAME=meshcentral.yourdomain.vn
- ALLOW_NEW_ACCOUNTS=false
- TZ=Australia/Melbourne
- LANG=en_US.UTF-8
- LANGUAGE=en_US:en
- LC_ALL=en_US.UTF-8
ports:
- 443:443
volumes:
- /etc/localtime:/etc/localtime
- ./meshcentral-data:/opt/meshcentral/meshcentral-data
- ./meshcentral-files:/opt/meshcentral/meshcentral-files
- ./meshcentral-web:/opt/meshcentral/meshcentral-web
- ./meshcentral-backups:/opt/meshcentral/meshcentral-backups
container_name: meshcentral2
image: ghcr.io/ylianst/meshcentral:latest
networks: {}
-> meshcentral-data/keyboard_arrow_right/config.json
Mình dùng Cloudfrared cho proxy nên không dùng Let's Encrypt - Chứng Chỉ SSL/TLS Certificates Miễn Phí, nếu bạn dùng thì cấu hình có thể khác.
{
"$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json",
"__comment1__": "This is a simple configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
"__comment2__": "See node_modules/meshcentral/sample-config-advanced.json for a more advanced example.",
"settings": {
"cert": "meshcentral.yourdomain.vn",
"tlsOffload": true,
"WANonly": true,
"_LANonly": true,
"sessionKey": "ahfafweuyyutfUYTFUguiiyY^$^$64UFUfuafsiuyagwieufgaiuefgugiuRUTe",
"_port": 80,
"_aliasPort": 443,
"_redirPort": 800,
"_redirAliasPort": 80
},
"domains": {
"": {
"certUrl": "https://meshcentral.yourdomain.vn",
"allowedOrigin": true
"agentCustomization": {
"backgroundColor": "#19193e",
"companyName": "TNQ Remote",
"description": ":v..",
"displayName": "TNQ Remote Service",
"fileName": "TNQ Remote Agent",
"foregroundColor": "#FFFFFF",
"image": "A-Company_Logo.png",
"installText": ":v...",
"serviceName": "TNQ Remote Agent"
}
}
}
(Vui lòng nhấn vào để mở rộng)
{
"$schema": "https://raw.githubusercontent.com/Ylianst/MeshCentral/master/meshcentral-config-schema.json",
"__comment1__": "This is a simple configuration file, all values and sections that start with underscore (_) are ignored. Edit a section and remove the _ in front of the name. Refer to the user's guide for details.",
"__comment2__": "See node_modules/meshcentral/sample-config-advanced.json for a more advanced example.",
"settings": {
"cert": "meshcentral.yourdomain.vn",
"tlsOffload": true,
"WANonly": true,
"_LANonly": true,
"sessionKey": "ahfafweuderthhYTFrewiiyY^$^$64UFUfuafsithagwieufgacdefgugiuRUTe",
"agentKey": "6e19f33swbcf4a3hkd5c991g7je226ba",
"_port": 80,
"_aliasPort": 443,
"_redirPort": 800,
"_redirAliasPort": 80,
"__maxInvalidLogin": "Time in minutes, max amount of bad logins from a source IP in the time before logins are rejected.",
"_maxInvalidLogin": {
"time": 10,
"count": 10,
"coolofftime": 10
}
},
"domains": {
"": {
"certUrl": "https://meshcentral.yourdomain.vn",
"allowedOrigin": true,
"_siteStyle": 3,
"_showModernUIToggle": true,
"_nightMode": 1,
"_scrollToTop": true,
"minify": true,
"_hidePowerTimeline": true,
"_showNotesPanel": true,
"_userSessionsSort": "Username",
"_newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_manageAllDeviceGroups": [ "admin" ],
"_userNameIsEmail": true,
"_newAccountEmailDomains": [ "yourdomain.vn" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"_welcomeText": "Sample Text on Login Page.",
"_welcomePicture": "mainwelcome.jpg",
"_welcomePictureFullScreen": false,
"meshMessengerTitle": "TNQ Remote Messenger",
"meshMessengerPicture": "TNQLogo.png",
"___hide__": "Sum of: 1 = Hide header, 2 = Hide tab, 4 = Hide footer, 8 = Hide title, 16 = Hide left bar, 32 = Hide back buttons",
"_hide": 4,
"_altMessenging": [
{
"name": "Jitsi",
"url": "https://meet.jit.si/myserver-{0}",
"localurl": "https://meet.jit.si/myserver-local-{0}",
"type": "device"
},
{
"name": "Jitsi",
"url": "https://meet.jit.si/myserver-{0}-{1}-{2}-{3}",
"localurl": "https://meet.jit.si/myserver-local-{0}-{1}-{2}-{3}",
"type": "user"
}
],
"_myServer": {
"Backup": false,
"Restore": false,
"Upgrade": false,
"ErrorLog": false,
"Console": false,
"Trace": false,
"Config": false
},
"_passwordRequirements": {
"min": 8,
"max": 128,
"upper": 1,
"lower": 1,
"numeric": 1,
"nonalpha": 1,
"reset": 90,
"force2factor": true,
"skip2factor": "127.0.0.1,192.168.2.0/24",
"oldPasswordBan": 5,
"banCommonPasswords": false,
"twoFactorTimeout": 300,
"duo2factor": true
},
"_twoFactorCookieDurationDays": 30,
"_notificationMessages": {
"title": "TNQ Remote",
"desktop": "{0} started a remote desktop session.",
"terminal": "{0} started a remote terminal session.",
"files": "{0} started a remote files session."
},
"title": "TNQ Remote",
"title2": "",
"_titlePicture": "TNQLogo.png",
"_loginPicture": "TNQLogo.png",
"_pwaLogo": "TNQLogo.png",
"agentCustomization": {
"backgroundColor": "#19193e",
"companyName": "TNQ Remote Agent",
"description": "TNQ Remote Agent for remote monitoring, management and assistance.",
"displayName": "TNQ Remote Agent",
"fileName": "TNQ Remote Agent",
"foregroundColor": "#FFFFFF",
"image": "TNQLogo.png",
"installText": "TNQ Remote Agent for remote monitoring, management and assistance.",
"serviceName": "TNQ Remote Agent"
},
"agentFileInfo": {
"icon": "TNQLogo.ico",
"filedescription": "TNQ Remote Background Service Agent",
"fileversion": "2.6.1.1",
"internalname": "TNQ Remote Agent",
"legalcopyright": "Apache 2.0 License",
"originalfilename": "TNQ Remote Agent",
"productname": "TNQ Remote Agent",
"productversion": "v2.6.1.1"
},
"_assistantCustomization": {
"title": "TNQ Remote",
"image": "TNQLogo.png",
"fileName": "TNQ"
},
"_androidCustomization": {
"title": "TNQ Remote",
"subtitle": "TNQ Remote",
"image": "TNQLogo.png"
},
"_userAllowedIP": "127.0.0.1,192.168.1.0/24",
"_userBlockedIP": "127.0.0.1,::1,192.168.0.100",
"_agentAllowedIP": "192.168.0.100/24",
"_agentBlockedIP": "127.0.0.1,::1",
"_authStrategies": {
"__comment__": "This section is used to allow users to login using other accounts. You will need to get an API key from the services and register callback URL's",
"google": {
"_callbackurl": "https://server/auth-google-callback",
"newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"clientid": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"clientsecret": "xxxxxxxxxxxxxxxxxxxxxxx"
},
"github": {
"_callbackurl": "https://server/auth-github-callback",
"newAccounts": true,
"_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ],
"_newAccountsRights": [ "nonewgroups", "notools" ],
"clientid": "xxxxxxxxxxxxxxxxxxxxxxx",
"clientsecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
},
"_smtp": {
"host": "smtp.myserver.com",
"port": 25,
"from": "myemail@myserver.com",
"__tls__": "When 'tls' is set to true, TLS is used immidiatly when connecting. For SMTP servers that use TLSSTART, set this to 'false' and TLS will still be used.",
"tls": false,
"___tlscertcheck__": "When set to false, the TLS certificate of the SMTP server is not checked.",
"_tlscertcheck": false,
"__tlsstrict__": "When set to true, TLS cypher setup is more limited, SSLv2 and SSLv3 are not allowed.",
"_tlsstrict": true,
"_emailDelaySeconds": 300
},
"_messaging": {
"_telegram": {
"apiid": 0,
"apihash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"session": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"useWSS": "false",
"connectionRetries": 60
},
"_discord": {
"serverurl": "https://discord.gg/xxxxxxxxx",
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
"hide": 5, => ẩn thanh trên
"nightMode": 1, => Chế độ ban đêm
"minify": false, => ẩn thanh dưới?
"sitestyle": 3 => bật giao diện mới
Simple add ?sitestyle=3 to the url and say hi to the new ui hehe
Chạy lệnh này trên cmd:
meshagent64-02.ITStore.exe -fullinstall
Mesh Agent available switches:
run Start as a console agent.
connect Start as a temporary console agent.
start Start the service.
restart Restart the service.
stop Stop the service.
state Display the running state of the service.
-signcheck Perform self - check.
-install Install the service from this location.
-uninstall Remove the service from this location.
-nodeid Return the current agent identifier.
-info Return agent version information.
-resetnodeid Reset the NodeID next time the service is started.
-fulluninstall Stop agent and clean up the program files location.
-fullinstall Copy agent into program files, install and launch.
The following switches can be specified after -fullinstall:
--WebProxy="http://proxyhost:port" Specify an HTTPS proxy.
--agentName="alternate name" Specify an alternate name to be provided by the agent.