Skip to content

knnedy/procstream

Repository files navigation

ProcStream

A lightweight, self-contained Linux system monitor that serves a real-time web dashboard over your local network. No installation required — just download and run a single binary.

ProcStream Dashboard


Features

  • Single binary — no Node.js, no Go, no dependencies. One file, run it anywhere.
  • Real-time metrics — CPU, RAM, disk, and network I/O streamed over WebSocket at 500ms intervals.
  • Process manager — sortable, searchable, virtualised process table with safe kill support.
  • LAN accessible — binds to 0.0.0.0 so you can open the dashboard on your phone or tablet over Wi-Fi.
  • Per-core CPU — individual core utilisation breakdown.
  • 60s timeline — rolling history chart for CPU and RAM.
  • Dark & light theme — clean terminal-inspired UI, toggleable at runtime.
  • Permission-safe kills — only processes owned by the running user can be terminated. Root processes are always protected.

Installation

Download the binary

curl -fsSL https://raw.githubusercontent.com/knnedy/procstream/main/install.sh | sh

Then run:

procstream

That's it. Open your browser at http://localhost:8080 or the network URL printed in your terminal.


Usage

Usage of procstream:
  -host string
        network interface to bind (default "0.0.0.0")
  -port int
        TCP port for the web server and WebSocket endpoint (default 8080)
  -interval duration
        metrics scrape and broadcast interval (default 500ms)
  -version
        print version and exit

Examples

# run with defaults
procstream

# run on a custom port
procstream -port 9090

# restrict to localhost only
procstream -host 127.0.0.1

# increase scrape interval to reduce CPU overhead
procstream -interval 1s

# check version
procstream -version

Dashboard

Tab Contents
Overview CPU, RAM, disk and network gauges · swap usage · 60s timeline chart · top 5 CPU and RAM processes
Processes Sortable, searchable virtualised process table · tree/flat view · CSV export · kill with confirmation
System Hostname, OS, kernel, CPU model and frequency · per-core breakdown · storage and swap · network I/O

Process Management

ProcStream enforces native Linux user-space permission boundaries without requiring sudo.

  • Every process in the table has a canKill flag determined server-side by comparing the process owner UID against the UID of the user running the binary.
  • The Kill button is only enabled for processes you own.
  • Root and system processes (UID 0) are always protected regardless of who runs the binary.
  • Kill requests are verified server-side on every request — the frontend flag is UX only.

Manual Installation

If you prefer to install manually:

# amd64
curl -L https://github.com/knnedy/procstream/releases/latest/download/procstream_linux_amd64.tar.gz | tar -xz
sudo mv procstream /usr/local/bin/

# arm64 (Raspberry Pi, ARM servers)
curl -L https://github.com/knnedy/procstream/releases/latest/download/procstream_linux_arm64.tar.gz | tar -xz
sudo mv procstream /usr/local/bin/

Building from Source

Requirements

  • Go 1.22+
  • Node.js 18+
  • pnpm
git clone https://github.com/knnedy/procstream.git
cd procstream
make build
./bin/procstream

Verifying Downloads

curl -L https://github.com/knnedy/procstream/releases/download/v0.1.0/checksums.txt -o checksums.txt
sha256sum -c checksums.txt

Uninstalling

sudo rm /usr/local/bin/procstream

Tech Stack

Layer Technology
Backend Go, net/http, coder/websocket, gopsutil/v4, lipgloss
Frontend Next.js 16, TypeScript, Tailwind CSS, shadcn/ui, Recharts
Distribution Single binary via go:embed

License

MIT © 2026 knnedy — see LICENSE for details.

About

ProcStream is a lightweight real-time Linux system monitor. Single self-contained binary serving a modern web dashboard over LAN. Built with Go and Next.js.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors