Skip to content

shajen/sdr-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demo

Introduction

This project is all in one type, it combines two subprojects into one to allow easy launch them.

Scanner

sdr-scanner

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.

Web panel

sdr-monitor

Very powerful web panel to explore transmissions, spectrograms and configure sdr device.

Features

Multi-Band Recording

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.

AI-Powered Audio Tagging

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.

Satellite Tracking

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!

Scheduled Recording with Crontab

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!

Gain comparison

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.

Info

YouTube

Video here, thanks to Tech Minds!

Community

Join our discord server to get help, share ideas, or contribute.

Wiki

Many useful instructions and information are on the wiki.

Screens

Data

Spectrogram Transmission

Configuration

Scanner Groups

Quickstart

Install docker

If you do not have docker installed, follow the instructions here to install docker.

Run

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.

Web panel

Default web panel address is http://127.0.0.1:8000/, default login: admin, password: password.

Advanced

Update

To update to the latest version just pull docker image docker pull shajen/sdr-hub and run again.

Build from sources

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 .

Debug

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!

Disclaimer

This software may receive and record radio signals. Use it legally — the authors take no responsibility for misuse or unlawful recording.

Contributing

In general don't be afraid to send pull request. Use the "fork-and-pull" Git workflow.

  1. Fork the repo
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. 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!

Donations

If you enjoy this project and want to thanks, please use follow link:

License

License

About

Project combines sdr scanner and web panel into one to allow easy launch them.

Topics

Resources

License

Stars

Watchers

Forks