HueMux

Lightweight, cross-platform frontend for Philips Hue: a Go server you drive from a browser or an Electron desktop app.

Both talk to the bridge directly — no cloud, no Hue Sync app, no platform-specific screen-capture hacks. Video sync works natively on Wayland, X11, Windows, and macOS.

Screenshots

HueMux itself follows the system theme (or a manual override) — click any screenshot below to zoom in.

Light control

Light control panel, grouped by room, with entertainment-area scenes and favorites — light theme
Light theme
Light control panel, grouped by room, with entertainment-area scenes and favorites — dark theme
Dark theme

Screen sync

Screen sync panel, showing entertainment zone selection and the reactivity/sampling controls — light theme
Light theme
Screen sync panel, showing entertainment zone selection and the reactivity/sampling controls — dark theme
Dark theme

Downloads

Loading releases…

Why it runs on localhost

getDisplayMedia() — the browser screen capture API — only works in a secure context, and loopback origins are one without needing a certificate. The same process also owns the DTLS socket to the bridge, which a browser can never open itself: Hue Entertainment is DTLS 1.2 with a pre-shared key over UDP, and no browser API exposes that. One binary solves both problems.

Building from source

git clone https://github.com/zamber/huemux.git
cd huemux
make dev            # local binary: huemux
make dev-desktop    # local binary: huemux-desktop (Electron wrapper)

Full build/run docs are in the README.