Visitar URL original
GitHub - manager1980ai-debug/server-pulse: Lightweight Windows 11 desktop widget for monitoring Linux servers over SSH · GitHub
Skip to content

About

Lightweight Windows 11 desktop widget for monitoring Linux servers over SSH

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Server Pulse

Windows Build Windows EXE License: MIT

Server Pulse is a compact Windows 11 desktop widget for watching two Linux servers over SSH.

It is meant for small VPS setups where you want CPU, RAM, disk, uptime, and network activity visible at a glance without deploying a full monitoring stack or keeping another browser dashboard open.

Русская версия README

Server Pulse screenshot

What it shows

Each server card displays:

  • online / offline state;
  • CPU usage;
  • RAM used / total and percentage;
  • root disk used / total and percentage;
  • uptime;
  • network RX / TX rate;
  • warning and overload states.

The widget refreshes every 5 seconds by default.

Desktop behavior

  • PINNED / PIN — keep the widget above other windows or let it behave normally;
  • ⚙ — connection settings;
  • — — minimize to the Windows taskbar;
  • × — close the widget;
  • drag the top bar to move it.

Why SSH

Server Pulse deliberately stays small. It does not require a database, a web service, Docker, Prometheus, or an always-running monitoring daemon.

The recommended setup uses a dedicated SSH key whose only permitted action is to run the included read-only metrics collector.

Secure server setup

Copy the collector to each Linux server:

sudo install -m 0755 server/serverpulse-metrics.sh /usr/local/bin/serverpulse-metrics

Create a dedicated key on Windows or another trusted workstation:

ssh-keygen -t ed25519 -f $HOME\.ssh\serverpulse_ed25519 -C serverpulse-monitor

Add only the public key to the Linux account's ~/.ssh/authorized_keys:

restrict,command="/usr/local/bin/serverpulse-metrics" ssh-ed25519 AAAA... serverpulse-monitor

That key cannot open a normal SSH shell or run arbitrary remote commands. It can only return the metrics Server Pulse understands.

See SECURITY.md for the security model.

Windows setup

The easiest route is to download ServerPulse.exe from the latest GitHub Release.

Open Settings and fill in, for each server:

  • display name;
  • host or IP;
  • SSH user;
  • SSH port;
  • local path to the dedicated private key.

Server Pulse automatically looks for a working SSH client. It supports Windows OpenSSH and Git for Windows, and you can manually select another ssh.exe in Settings.

Local application data is stored under:

%LOCALAPPDATA%\ServerPulse\

Private-key contents are never copied into the config. Only the local path is stored.

Host verification

Server Pulse keeps its own known_hosts file and uses:

StrictHostKeyChecking=accept-new

For higher-assurance environments, verify and pre-populate host fingerprints before the first connection.

Demo mode

You can launch the source version with fake data and no network access:

python app.py --demo

The screenshot in this README was captured from that mode. It contains no real infrastructure details.

Build from source

Requirements:

  • Windows 11;
  • Python 3.11+;
  • PyInstaller for building the standalone EXE.

Run:

python -m pip install pyinstaller
python -m unittest discover -s tests -v
.\build.ps1

The executable will be written to:

dist\ServerPulse.exe

An Inno Setup script is also included in installer/ServerPulse.iss.

Configuration example

A sanitized example is available in config.example.json.

The real config.json, private keys, known_hosts, build output, and common secret file patterns are excluded by .gitignore.

Load thresholds

Current defaults:

Metric Warning Overload
CPU 80% 92%
RAM 82% 92%
Disk 85% 94%

Green means normal, amber means high load, and red means overload.

Project scope

Server Pulse is intentionally small. It is not trying to replace Grafana, Zabbix, Netdata, or Prometheus. It is a desktop glance view for a couple of Linux machines.

Possible future work:

  • more than two server cards;
  • optional tray mode;
  • notifications for sustained overload or offline state;
  • signed Windows binaries;
  • customizable thresholds;
  • compact vertical layout.

Contributing

Bug reports and pull requests are welcome. Please do not include real credentials, private keys, or sensitive infrastructure details in issues.

See CONTRIBUTING.md.

License

MIT. See LICENSE.

About

Lightweight Windows 11 desktop widget for monitoring Linux servers over SSH

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages