Project Documentation

ControlCenter/ControlCenter.Daemon

ControlCenter Daemon

<div align="center"> <h3>Zero-Trust Node Telemetry & Orchestration Agent for ControlCenter</h3> <p>Lightweight .NET background agent streaming system metrics over encrypted outbound WebSockets.</p> <p> <a href="https://code.weexnes.dev/ControlCenter/ControlCenter.Daemon"><strong>Repository</strong></a> • <a href="https://code.weexnes.dev/ControlCenter"><strong>ControlCenter Web Dashboard</strong></a> </p> </div>


🌟 Overview

ControlCenter.Daemon is the native client agent running on managed machines. It gathers real-time hardware telemetry and establishes a persistent, zero-trust outbound WebSocket (wss://) connection to the central ControlCenter Web server.

Because all connections originate from the node toward the ControlCenter server:

  • Zero Inbound Ports Required: Nodes behind NAT, firewalls, home routers, or mesh VPNs (Netmaker / Tailscale / WireGuard) connect seamlessly without port forwarding.
  • Certificate Fingerprint Pinning: Supports SHA-256 SSL fingerprint pinning for protection against MITM attacks when communicating over self-signed certificates.
  • Zero-Touch Auto-Enrollment: Automatically registers new nodes into the ControlCenter approval queue.

📊 Telemetry Metrics Collected

  • CPU: Total utilization percentage, core count, frequency, model name.
  • RAM: Used memory, total memory, usage percentage, swap memory.
  • Disks & Storage: Mounted filesystems, filesystem types, used/free/total gigabytes, drive names.
  • Network: Active network interfaces, interface types, local and VPN IPv4/IPv6 addresses, real-time RX/TX transfer bandwidth.
  • System Information: Hostname, OS platform, kernel version, machine UUID, system uptime in seconds.
  • Processes: Top CPU and memory-consuming system processes.

🚀 Installation

Option 1: One-Line Auto Installer (Linux / Systemd)

curl -sSL https://code.weexnes.dev/ControlCenter/ControlCenter.Daemon/~raw/master/install.sh | sudo bash

Option 2: Arch Linux / AUR Package

yay -S controlcenter-daemon

Option 3: Manual Compilation (.NET SDK)

# Build standalone binary
dotnet publish -c Release -r linux-x64 --self-contained false -o ./publish

# Install binary to /usr/local/bin
sudo cp ./publish/ControlCenter.Daemon /usr/local/bin/controlcenter-daemon
sudo chmod +x /usr/local/bin/controlcenter-daemon

🛠️ Usage & CLI Commands

# Connect daemon to ControlCenter server
controlcenter-daemon --address 100.64.0.4:4382

# Connect with a specific pre-shared authentication token
controlcenter-daemon --address 100.64.0.4:4382 --token "your_token_here"

# Connect with certificate fingerprint pinning (SHA-256)
controlcenter-daemon --address 100.64.0.4:4382 --fingerprint "E95CD8594F4BCE1786046E8F1B097F0D1ABD346712873DA1C7E8529CDC5C1991"

# Save persistent configuration options to ~/.controlcenter-daemon.json
controlcenter-daemon setAddress "100.64.0.4:4382"
controlcenter-daemon setToken "your_token_here"
controlcenter-daemon setFingerprint "your_sha256_fingerprint"

# View current daemon status and collected hardware stats
controlcenter-daemon status

⚙️ Systemd Service Configuration

When installed as a service (controlcenter-daemon.service):

[Unit]
Description=ControlCenter Daemon Agent
After=network.target network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/controlcenter-daemon --address 100.64.0.4:4382
Restart=always
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target

Manage the service:

sudo systemctl enable --now controlcenter-daemon
sudo systemctl status controlcenter-daemon
journalctl -u controlcenter-daemon -f

📄 License

GPL-3.0 License.

Build Artifacts

Download successful build outputs & binaries

Build #7Build & Publish Standalone Daemon
16 Aug 2026, 21:09
57fcd9a
ControlCenter.Daemon_Linux_x64.tar.gz Path: ControlCenter.Daemon_Linux_x64.tar.gz
30.59 MB
ControlCenter.Daemon_Windows_x64.zip Path: ControlCenter.Daemon_Windows_x64.zip
30.56 MB
Build #5Build & Publish Standalone Daemon
11 Aug 2026, 17:40
0c1d55a
ControlCenter.Daemon_Linux_x64.tar.gz Path: ControlCenter.Daemon_Linux_x64.tar.gz
42.37 MB
ControlCenter.Daemon_Windows_x64.zip Path: ControlCenter.Daemon_Windows_x64.zip
42.62 MB
Build #4Build & Publish Standalone Daemon
11 Aug 2026, 16:52
32875f4
ControlCenter.Daemon_Linux_x64.tar.gz Path: ControlCenter.Daemon_Linux_x64.tar.gz
42.37 MB
ControlCenter.Daemon_Windows_x64.zip Path: ControlCenter.Daemon_Windows_x64.zip
42.62 MB