OmniSDR

your click-and-tune multi-band panadapter

Screenshot of OmniSDR: multi-pane HF waterfall display with live signal activity across several bands
OmniSDR live — multi-pane waterfall, two minutes after page load. Click to open the real thing.

SDR Station overview

This station runs six SDR endpoints off three independent receive chains (HF/VHF/UHF) sharing one Docker multicast bus. OmniSDR (below) is the multi-band panadapter; the others are single-purpose UIs for the same underlying receivers.

Full station technical documentation — architecture, switching, radio, power, and hardware detail beyond what's on this page — is available at the full documentation page.

ServiceBandWhat it is
UberSDRHFProduction per-band audio tuner UI.
OmniSDRMulti-bandClick-and-tune spectrum panadapter — this page's subject, see below.
UberSDR Multi dev/testVHF + UHFSame UI as UberSDR, extended to VHF/UHF. Not production — may be down.
HFHFLightweight single-band UI.
UHFUHF (70cm)Lightweight single-band UI.
VHFVHF (2m)Lightweight single-band UI.

From the Internet

OmniSDR drives the companion UberSDR session — click a signal on the spectrum and the UberSDR tab tunes there. The marker follows UberSDR's dial in both directions.

From your LAN (running your own instance)

OmniSDR can tune any device on your LAN — UberSDR plus auto-discovered rigctld rigs. Pick the active ones in Right-click → Targets ▸; ticked targets tune in parallel.

Markers: amber = UberSDR · cyan = local rig.

Right-click menu

Shortcuts

F fullscreen · Esc close · Right-click menu

Scope gating — public viewers can't drive local rigs

OmniSDR is reachable on the LAN (192.168.36.38:8086) and via the public Internet (omnisdr.on8st.be through Caddy). The server classifies every WebSocket at handshake time: the real client IP is read from X-Forwarded-For only if the connection itself arrives from the trusted Caddy upstream, so a remote client can't fake a LAN IP. LAN → scopes {shared, local}; public → {shared} only.

Click-and-tune-the-shack is LAN-only. Click-and-tune-UberSDR is for everyone.

Want to try it?

Open omnisdr.on8st.be. Don't open UberSDR yourself — when you click a signal on the OmniSDR spectrum, OmniSDR opens the UberSDR tab for you and tunes it in place. (A separately-opened UberSDR tab won't be picked up: the postMessage bridge only works on the tab OmniSDR launched, since it's the one that holds the window.opener handle.) On the LAN, the Targets menu also exposes any rigctld instance found on the network.

Source code

The OmniSDR source lives at on8st/omnisdr on GitHub. The repo is currently private, but I'm happy to flip it public if there's interest — drop me a note (stan@on8st.be / ON8ST) and I'll open it up.