IQStream, rtl_tcp, SpyServer and KiwiSDR
Remote tuners
A tuner on a machine at the mast, somebody else’s shared receiver, or several of them stitched into one wider span, opened as if it were plugged in here.
Coax loss and noise are worse than network latency, so the right place for a receiver is at the antenna. Point --stream at an IQStream, rtl_tcp, SpyServer or KiwiSDR server, or add it under Add remote…, and it appears in the receiver list as a local radio, dial and all. An IQStream tuner is set from here as well: dial, gain, switches, trim and span.
Public receivers are listed in the same dialog: IQStream stations from their directory on nostr, SpyServers from Airspy’s list and KiwiSDRs from kiwisdr.com, filtered by what they can hear and whether a slot is free. The TUNERS layer on the map draws all three, and CONNECT opens one.
WaveShark serves IQStream too, on port 5555 by default, and answers rtl_tcp and SpyServer clients on the same port, each tuning anywhere inside the span it is collecting. It can list itself in both directories, and it answers a browser over WebSocket, WebTransport or WebRTC, so the public tuners open straight from app.waveshark.io.
Several matching tuners can be offered as one wider receiver: the drift between them is measured on the band they share and taken out, which is how you cover more span than any one radio can.
What it reaches
- An antenna in the loft and a receiver on the desk
- Somebody else’s antenna, picked off a map
- One collected span read by more than one machine, or a browser
- A span wider than any single radio
What it will not do
- Network throughput sets the span you can carry
- rtl_tcp carries 8 bit samples, whatever the radio is
- A KiwiSDR is shortwave only, and a narrow slice of it
- The browser version reaches IQStream servers only
Setup
waveshark --iqstream-listen 5555 on the machine at the antenna, waveshark --stream mast.local:5555 at the desk. Switch on list in the directory settings to put it on the public map.
Which radio for which job?
The use cases say what each one is for, from a device survey on a dongle to drone Remote ID on a HackRF.
Read the use cases