This project is all in one type, it combines two subprojects into one to allow easy launch them.
This project is a C++ based SDR scanner designed to detect, record, and analyze multiple radio signals simultaneously across different frequency bands. It combines high performance with flexibility, supporting a wide range of SDR devices via Soapy SDR and GNU Radio. Full list of supported devices/drivers here.
Very powerful web panel to explore transmissions, spectrograms and configure sdr device.
The scanner can simultaneously scan and record multiple frequencies (e.g., 108 MHz, 144 MHz, 440 MHz, etc.) by rapidly switching between frequency ranges. This makes it possible to monitor wide portions of the spectrum in real time.
It can also record several transmissions within the same band - for example, if one signal is at 145.200 MHz and another at 145.600 MHz, both will be automatically captured and saved. Perfect for monitoring busy amateur or public service bands.
The scanner now includes an AI-based audio classifier that automatically tags your recordings - distinguishing between noise, human speech, and other signal types. The model runs entirely locally for full privacy and performance. This makes it effortless to browse, filter, and replay.
The scanner now includes automatic satellite tracking! Simply enter your location coordinates and an API key (from n2y0.com) and the scanner will fetch upcoming satellite passes over your area. When a satellite is in range, it will automatically tune, track, and record the transmission - no manual setup needed. Perfect for capturing real-time signals from weather satellites, ISS, and more!
Keep in mind that receiving satellite signals requires a good-quality antenna, precise radio calibration, and minimal interference for best results. With proper setup, you can effortlessly capture real-time signals from weather satellites, the ISS, and more!
You can now schedule automatic recordings using simple crontab-style entries. Define exact times or recurring intervals to start recording transmissions - ideal for capturing periodic signals, beacon transmissions. Once configured, the scanner handles everything automatically, so you’ll never miss an interesting signal again!
The scanner can now automatically test all available gain settings for your SDR device and capture short spectrogram samples for each configuration. These results are then displayed in a side-by-side visual view, making it easy to compare signal quality and noise levels across different gain values. With just one scan, you can instantly identify the optimal gain settings for your hardware and environment - no more tedious manual tuning.
Video here, thanks to Tech Minds!
Join our discord server to get help, share ideas, or contribute.
Many useful instructions and information are on the wiki.
| Spectrogram | Transmission |
|---|---|
![]() |
![]() |
![]() |
![]() |
| Scanner | Groups |
|---|---|
![]() |
![]() |
If you do not have docker installed, follow the instructions here to install docker.
docker run --rm -it --env TZ=Europe/Warsaw -p 8000:80 -v ./data:/app/data -v ./log:/var/log/sdr --device /dev/bus/usb:/dev/bus/usb shajen/sdr-hub
where TZ=Europe/Warsaw is your time zone
All collected data and config will be permanently saved in the local data directory.
All logs will be permanently saved in the local log directory.
Default web panel address is http://127.0.0.1:8000/, default login: admin, password: password.
To update to the latest version just pull docker image docker pull shajen/sdr-hub and run again.
Clone repository and run:
export SDR_MONITOR_IMAGE=shajen/sdr-monitor:latest # enter the selected image
export SDR_SCANNER_IMAGE=shajen/sdr-scanner:latest # enter the selected image
docker build -t shajen/sdr-hub --build-arg SDR_MONITOR_IMAGE --build-arg SDR_SCANNER_IMAGE .
All logs are stored in the /var/log/sdr/ directory in the docker container.
You can download the archive with all logs in the Debug tab.
Please attach the logs when reporting a bug. Issues without logs will be closed quickly!
This software may receive and record radio signals. Use it legally — the authors take no responsibility for misuse or unlawful recording.
In general don't be afraid to send pull request. Use the "fork-and-pull" Git workflow.
- Fork the repo
- Clone the project to your own machine
- Commit changes to your own branch
- Push your work back up to your fork
- Submit a Pull request so that we can review your changes
NOTE: Be sure to merge the latest from upstream before making a pull request!
If you enjoy this project and want to thanks, please use follow link:






