This project is all in one type, it combines two subprojects into one to allow easy launch them.
https://github.com/shajen/rtl-sdr-scanner-cpp
This project contains sdr scanner written in c++ to scan and record multiple interesting frequencies bandwidth in the same time (eg. 108 MHz, 144 MHz, 440 Mhz, etc). This is possible by switching quickly between frequencies bandwidth.
Scanner also allows you to record multiple transmissions simultaneously (if they are transmitted on the same band). For example, if one transmission is on 145.200 MHz and the other is on 145.600 MHz, the scanner will record and save both!
Scanner use Soapy SDR and GNU Radio to get data so it support all devices that are supported by Soapy SDR. Full list of supported devices/drivers here.
https://github.com/shajen/sdr-monitor
Very powerful web panel to explore transmissions, spectrograms and configure sdr device.
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 -p 8000:80 -v ./data:/app/data -v ./log:/var/log/sdr --device /dev/bus/usb:/dev/bus/usb shajen/sdr-hub
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.
Customize and save settings to .env file:
TZ=Europe/Warsaw
SPECTROGRAMS_TOTAL_SIZE_GB=20
TRANSMISSIONS_TOTAL_SIZE_GB=20
SECRET_KEY=0123456789012345678901234567890123456789
where:
TZ- your time zoneSPECTROGRAMS_TOTAL_SIZE_GB- keep only the last n GB of spectrograms, 0 for unlimitedTRANSMISSIONS_TOTAL_SIZE_GB- keep only the last n GB of transmissions, 0 for unlimitedSECRET_KEY- enter your randomly selected key
Then run by:
docker run --rm --env-file .env -p 8000:80 -v ./data:/app/data -v ./log:/var/log/sdr --device /dev/bus/usb:/dev/bus/usb shajen/sdr-hub
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:






