Skip to content

gpu-smi v1.2.0 - Hardened Headless API & Linux Backend Parity

Latest

Choose a tag to compare

@Thenukegun10x Thenukegun10x released this 04 Sep 12:44

gpu-smi v1.2.0 - Hardened Headless API & Linux Backend Parity

Security + Linux catch-up release. No breaking changes: loopback --serve stays zero-config.

What's New in v1.2.0:

  • Bearer token auth for --serve: --token / --token-file / GPU_SMI_TOKEN (constant-time compare). /health stays open for probes; / + /metrics require the token when one is set. Non-loopback --listen (e.g. 0.0.0.0 for LAN Prometheus scraping) refuses to start without a token (fail-closed).
  • HTTP hardening: strict METHOD PATH routing with 405/404 (kills the old /metrics-evil substring confusion), loopback Host: check against DNS rebinding, removed Access-Control-Allow-Origin: * so random websites can't scrape your process list, 5s read timeout, proper Prometheus label escaping, nosniff + no-store headers.
  • DLL sideload guard: System32/driver absolute paths are tried before bare names for ADL/HIP/system DLLs.
  • Linux backend parity: full sysfs sensors (edge/hotspot/VRAM temps, gfx/mem clocks via hwmon + pp_dpm fallback, gpu_busy_percent, power + cap, PCIe width/speed, BDF, vbios, serial, driver version), per-process VRAM via /proc fdinfo (deduped by client-id, same overcount guard as Windows), HIP merge for names/CUs, connector-device phantom-GPU fix.
  • Correct gfx IDs: shared PCI-device table fixes 7900 XTX -> gfx1100, 7800 XT -> gfx1101, 6900 XT -> gfx1030, Raphael -> gfx1036, Phoenix -> gfx1103 (were mislabeled).
  • Token setup template: example.env (copy to .env, chmod 600); .gitignore now covers real secrets.

Downloads:

  • gpu-smi-windows-x64.exe (1.0MB) - Portable standalone single executable (Windows x64), reports 1.2.0.
  • Linux binary: build on your box with cargo build --release (this release was cut from Windows, no Linux linker available here).

Quick Start:

gpu-smi-windows-x64.exe --serve 8080                          # loopback, no auth (unchanged)
openssl rand -hex 32 > token.txt                              # see example.env for full setup
gpu-smi-windows-x64.exe --serve 8080 --listen 0.0.0.0 --token-file .\token.txt
curl -H "Authorization: Bearer $(cat token.txt)" http://<host>:8080/metrics