Skip to content

Section 9 3 audio needs a secure context

madmedicnl edited this page Sep 30, 2026 · 3 revisions

9.3 Audio needs a secure context

Browsers only hand out the two APIs the web client's audio is built on — AudioWorklet for playback and getUserMedia for the microphone — to pages in a secure context. Over plain http:// that means localhost only, so:

How you open the page Receive audio and microphone
http://localhost:4950 / http://127.0.0.1:4950 work
https://… (reverse proxy, tunnel) work
http://<lan-or-wan-address>:4950 silent — the browser withholds both

Everything else — the panadapter and waterfall, tuning, decodes, the logbook — works either way; it is only audio that the browser gates. A page opened on a non-secure origin says so in a banner across the top.

This is a browser rule, not a server setting: sdroxide cannot opt out of it. To get audio from another machine, put the server behind an HTTPS reverse proxy (a VPN or tunnel with TLS), or forward the port to your own machine so the browser sees localhost:

ssh -N -L 4950:localhost:4950 user@radio-host
# then open http://localhost:4950

The native remote client (sdroxide --connect) has no such restriction — it uses your local sound devices directly and carries audio over the same WebSocket.


From the User Manual. Home.

Clone this wiki locally