New lightweight timeline component that shows RF signal presence over time without heavy waterfall rendering: - Horizontal swimlanes for each frequency/signal source - Bars show transmission duration with height = signal strength - Status colors: blue=new, gray=baseline, orange=burst, red=flagged - Pattern detection for regular interval transmissions - Click to expand and see individual transmission ticks - Right-click to flag signals for investigation - Auto-annotations for new signals, bursts, and patterns - Tooltip with signal details on hover - Time window selector (5m to 2h) - Filter controls (hide baseline, show only new/burst) Integrated into TSCM mode: - Timeline created when TSCM mode is selected - WiFi, Bluetooth, and RF signals feed into timeline - Clears on new sweep start Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
INTERCEPT
Support the developer of this open-source project
Signal Intelligence Platform
A web-based interface for software-defined radio tools.
Features
- Pager Decoding - POCSAG/FLEX via rtl_fm + multimon-ng
- 433MHz Sensors - Weather stations, TPMS, IoT devices via rtl_433
- Aircraft Tracking - ADS-B via dump1090 with real-time map and radar
- ACARS Messaging - Aircraft datalink messages via acarsdec
- Listening Post - Frequency scanner with audio monitoring
- Satellite Tracking - Pass prediction using TLE data
- WiFi Scanning - Monitor mode reconnaissance via aircrack-ng
- Bluetooth Scanning - Device discovery and tracker detection
Installation / Debian / Ubuntu / MacOS
**1. Clone and run:**
```bash
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh
sudo -E venv/bin/python intercept.py
Docker (Alternative)
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose up -d
Note: Docker requires privileged mode for USB SDR access. See
docker-compose.ymlfor configuration options.
Open the Interface
After starting, open http://localhost:5050 in your browser. The username and password is admin:admin
The credentials can be change in the ADMIN_USERNAME & ADMIN_PASSWORD variables in config.py
Hardware Requirements
| Hardware | Purpose | Price |
|---|---|---|
| RTL-SDR | Required for all SDR features | ~$25-35 |
| WiFi adapter | Must support promiscuous (monitor) mode | ~$20-40 |
| Bluetooth adapter | Device scanning (usually built-in) | - |
| GPS | Any Linux supported GPS Unit | ~10 |
Most features work with a basic RTL-SDR dongle (RTL2832U + R820T2).
| ❗ Not using an RTL-SDR Device? |
|---|
| Intercept supports any device that SoapySDR supports. You must however have the correct module for your device installed! For example if you have an SDRPlay device you'd need to install soapysdr-module-sdrplay. |
| ❗ GPS Usage |
|---|
| gpsd is needed for real time location. Intercept automatically checks to see if you're running gpsd in the background when any maps are rendered. |
Discord Server
Documentation
- Usage Guide - Detailed instructions for each mode
- Hardware Guide - SDR hardware and advanced setup
- Troubleshooting - Common issues and solutions
- Security - Network security and best practices
Disclaimer
This project was developed using AI as a coding partner, combining human direction with AI-assisted implementation. The goal: make Software Defined Radio more accessible by providing a clean, unified interface for common SDR tools.
This software is for educational and authorized testing purposes only.
- Only use with proper authorization
- Intercepting communications without consent may be illegal
- You are responsible for compliance with applicable laws
License
MIT License - see LICENSE
Author
Created by smittix - GitHub
Acknowledgments
rtl-sdr | multimon-ng | rtl_433 | dump1090 | acarsdec | aircrack-ng | Leaflet.js | Celestrak

