Browser-native SDR · WebUSB
Argus turns a cheap RTL-SDR dongle into a live spectrum analyzer that runs entirely in your browser. Watch the waterfall, drag a box around any signal, and find out who's licensed to transmit there — then decode it, capture it, and take it apart.
Plug in a dongle, open Chrome, hit Launch. No install · no drivers · no account.
The full Argus window: a live spectrum trace + waterfall across the top with the colour-coded FCC/NTIA allocation ribbon, a thin draggable selector box sitting on one signal, and the right-hand results pane naming the licensee with distance, bearing and a map pin.
Everything in one tab
No SDR#, no GNU Radio, no toolchain. Argus is the spectrum viewer, the licence lookup, the decoder and the capture tool — the moment you open the page.
Open Chrome and go. Argus talks to the dongle directly over WebUSB — no drivers, no native app, no account. It's just a web page, so it works the same on any machine and can run fully offline.
Drag a box over a signal and Argus queries a bundled FCC licence database by band overlap — returning the licensee, call sign, emission, distance and true bearing. Nothing active? It falls back to expired licences and tells you who was there.
Listen to NFM / WFM / AM audio, or run the demod chain end-to-end: pagers, ACARS, P25 trunking and 300+ wireless sensors turn back into text, right in the tab — mode and width auto-picked from the matched licence.
Grab a slice of spectrum to disk as SigMF — the open IQ recording format — with all the metadata intact. Take it into GNU Radio, inspectrum, Universal Radio Hacker or your own scripts for deeper analysis.
Pair Argus with the Remote Capture agent and the SDR can live on another computer — a Pi in the attic, a receiver at a friend's house across the country. IQ streams to your browser over WebSocket; you drive it locally.
A colour-coded §2.106 allocation ribbon runs along the frequency axis, naming what every patch of spectrum is set aside for — amateur, aeronautical, broadcast, satellite, radiolocation — so you always have context.
Identify
That's the question Argus was built to answer. Draw the selector at a signal's true width and it sends a frequency range — not a guessed centre — to a lookup that matches by band overlap, so a signal wider than the receiver still resolves.
The results pane after a lookup: a licensee card with call sign, emission badge and a distance/bearing pill, plus the "who was here" historical banner when a channel's active licences have lapsed.
Locate
Every lookup that resolves to a licensed site drops a pin on a live map, so you're not just reading a name — you're looking at the transmitter's real location relative to you. Argus draws the line between your position and the tower and labels it with the distance and true bearing, turning "who's on that frequency" into "…and it's 14 km to my northwest."
The Leaflet map with a tower pin on the licensed transmitter site and a marker at the user's location, a line drawn between them, and the distance / bearing readout — showing exactly where the signal on the waterfall is coming from.
Decode
Beyond audio, Argus carries a real DSP workbench: capture a burst, inspect the spectrogram, constellation and eye diagram, and run purpose-built decoders that are ported from the reference C tools and verified bit-for-bit against their test vectors.
Prebuilt one-click chains include:
The signal workbench mid-decode: a zoomable spectrogram of a captured burst up top, the bit/symbol well below, and a stream of decoded messages on the right — e.g. an ACARS frame with registration, flight and text, or a P25 system summary (WACN, System ID, NAC, band plan).
Capture & automate
Save a clean IQ segment for another tool, or point a pipeline at a channel and walk away — every decoded message is aggregated and streamed to a folder on your disk as NDJSON, unattended.
Left: the capture panel writing a SigMF recording (IQ + metadata sidecar) with a segment list. Right: a running pipeline — the locked selector on its channel, a live count of unique decodes, and the folder sink appending NDJSON as messages arrive.
Remote capture
The Remote Capture agent is a single small binary. Run it on the machine with the dongle, point Argus at its address, and the IQ streams to your browser over WebSocket — as if the receiver were plugged in locally.
A standalone, dependency-free binary. Grab a build for your platform, or compile
it yourself from the source in /remote.
Then start it on the receiver box: argus-remote --sdr 0 --listen 0.0.0.0:8081
— and in Argus, choose Remote source and enter the address.
Everything Argus does happens in the browser. Grab a dongle, launch the app, and start reading the spectrum around you.