Simple client for MeshCentral using the WebSocket API. Not affiliated with MeshCentral.
- List/search devices
- TCP port forwarding (Meshrouter replacement)
- SSH connections with proxy mode support
- Direct shell access (cmd/powershell/bash)
- Multi-profile management
- Secure password storage (OS keyring)
- Cross-platform (Windows, Linux, macOS)
# Build current platform
make build
# Build all platforms
make build-all
# Or build directly
go build -o mcc# Interactive device search
mcc search
# List all online devices
mcc ls
# TCP port forwarding
mcc route -L 8080:127.0.0.1:80 -i <nodeid>
mcc route -L 8080:80 # Interactive search, omit target IP
mcc route -L 80 # Random local port
# SSH (interactive mode)
mcc ssh -i <nodeid>
mcc ssh user@192.168.1.1 -i <nodeid> # SSH to network device via mesh node
# SSH proxy mode (VSCode Remote, etc.)
mcc ssh -i <nodeid> --proxy
# Direct shell access
mcc shell -i <nodeid> # Linux/Mac: bash, Windows: cmd
mcc shell -i <nodeid> --powershell # Windows: PowerShell
# Profile management
mcc profile add -n work -s mesh.company.com -u admin -p password
mcc profile list
mcc profile default work
mcc profile rm work
# View config location
mcc config[localport]:[target]:[remoteport]
localport- Optional, random if omittedtarget- Optional, defaults to 127.0.0.1remoteport- Required
Examples:
8080:192.168.1.1:80- Local 8080 at 192.168.1.1:808080:80- Local 8080 at 127.0.0.1:8080- Random local port at 127.0.0.1:80
-C, --config- Alternate config file-P, --profile- Override active profile-k, --insecure- Skip TLS certificate verification (testing only)--debug- Enable debug logging
-i, --nodeid- Target device ID (omit for interactive search)-L, --bind-address- Port forward specification-p, --port- SSH remote port (default: 22)--proxy- SSH proxy mode for ProxyCommand--powershell- Use PowerShell instead of cmd.exe
Password Storage Migration (v1.0+)
Passwords now stored in OS-native secure storage:
- Linux: Secret Service API (gnome-keyring/kwallet)
- macOS: Keychain
- Windows: Credential Manager
Existing plaintext passwords migrate automatically on first run. Config file only stores server/username.
TLS Verification
Use --insecure only for testing with self-signed certificates. Not recommended for production.
Default config: ~/.config/mcc/meshcentral-client.json
Profiles store server URL, username. Passwords stored separately in system keyring.
make build # Build current platform
make build-all # Cross-compile all platforms
make version # Show version info
make clean # Remove build artifactsMIT License - see LICENSE