You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.