mirror of
https://github.com/smittix/intercept.git
synced 2026-07-05 16:18:12 -07:00
chore: release v2.23.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,42 @@
|
|||||||
|
|
||||||
All notable changes to iNTERCEPT will be documented in this file.
|
All notable changes to iNTERCEPT will be documented in this file.
|
||||||
|
|
||||||
|
## [2.23.0] - 2026-02-27
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Radiosonde Weather Balloon Tracking** - 400-406 MHz reception via radiosonde_auto_rx with telemetry, map, and station distance tracking
|
||||||
|
- **CW/Morse Code Decoder** - Custom Goertzel tone detection with OOK/AM envelope detection mode for ISM bands
|
||||||
|
- **WeFax (Weather Fax) Decoder** - HF weather fax reception with auto-scheduler, broadcast timeline, and image gallery
|
||||||
|
- **System Health Monitoring** - Telemetry dashboard with process monitoring and system metrics
|
||||||
|
- **HTTPS Support** - TLS via `INTERCEPT_HTTPS` configuration
|
||||||
|
- **ADS-B Voice Alerts** - Text-to-speech notifications for military and emergency aircraft detections
|
||||||
|
- **HackRF TSCM RF Scan** - HackRF support added to TSCM counter-surveillance RF sweep
|
||||||
|
- **Multi-SDR WeFax** - Multiple SDR hardware support for WeFax decoder
|
||||||
|
- **Tool Path Overrides** - `INTERCEPT_*_PATH` environment variables for custom tool locations
|
||||||
|
- **Homebrew Tool Detection** - Native path detection for Apple Silicon Homebrew installations
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Morse decoder rebuilt with custom Goertzel decoder, replacing multimon-ng dependency
|
||||||
|
- GPS mode upgraded to textured 3D globe visualization
|
||||||
|
- Destroy lifecycle added to all mode modules to prevent resource leaks
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- ADS-B device release leak and startup performance regression
|
||||||
|
- ADS-B probe incorrectly treating "No devices found" as success
|
||||||
|
- USB claim race condition after SDR probe
|
||||||
|
- SDR device registry collision when multiple SDR types present
|
||||||
|
- APRS 15-minute startup delay caused by pipe buffering
|
||||||
|
- APRS map centering at [0,0] when GPS unavailable
|
||||||
|
- DSC decoder ITU-R M.493 compliance issues
|
||||||
|
- Weather satellite 0dB SNR — increased sample rate for Meteor LRPT
|
||||||
|
- SSE fanout backlog causing delayed updates across all modes
|
||||||
|
- SSE reconnect packet loss during client reconnection
|
||||||
|
- Waterfall monitor tuning race conditions
|
||||||
|
- Mode FOUC (flash of unstyled content) on initial navigation
|
||||||
|
- Various Morse decoder stability and lifecycle fixes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [2.22.3] - 2026-02-23
|
## [2.22.3] - 2026-02-23
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
@@ -7,10 +7,25 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
# Application version
|
# Application version
|
||||||
VERSION = "2.22.3"
|
VERSION = "2.23.0"
|
||||||
|
|
||||||
# Changelog - latest release notes (shown on welcome screen)
|
# Changelog - latest release notes (shown on welcome screen)
|
||||||
CHANGELOG = [
|
CHANGELOG = [
|
||||||
|
{
|
||||||
|
"version": "2.23.0",
|
||||||
|
"date": "February 2026",
|
||||||
|
"highlights": [
|
||||||
|
"Radiosonde weather balloon tracking mode with telemetry, map, and station distance",
|
||||||
|
"CW/Morse code decoder with Goertzel tone detection and OOK envelope mode",
|
||||||
|
"WeFax (Weather Fax) decoder with auto-scheduler and broadcast timeline",
|
||||||
|
"System Health monitoring mode with telemetry dashboard",
|
||||||
|
"HTTPS support, HackRF TSCM RF scan, ADS-B voice alerts",
|
||||||
|
"Multi-SDR support for WeFax, tool path overrides, native Homebrew detection",
|
||||||
|
"GPS mode upgraded to textured 3D globe",
|
||||||
|
"Destroy lifecycle added to all mode modules to prevent resource leaks",
|
||||||
|
"Dozens of bug fixes across ADS-B, APRS, SSE, Morse, waterfall, and more",
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "2.22.3",
|
"version": "2.22.3",
|
||||||
"date": "February 2026",
|
"date": "February 2026",
|
||||||
|
|||||||
+43
-2
@@ -100,11 +100,30 @@ Digital Selective Calling (DSC) monitoring on the international maritime distres
|
|||||||
- **CSV/JSON export** - export captured messages for offline analysis
|
- **CSV/JSON export** - export captured messages for offline analysis
|
||||||
- **Integrated with ADS-B dashboard** - VDL2 messages linked to aircraft tracking
|
- **Integrated with ADS-B dashboard** - VDL2 messages linked to aircraft tracking
|
||||||
|
|
||||||
|
## CW/Morse Code Decoder
|
||||||
|
|
||||||
|
- **Custom Goertzel tone detection** for CW (continuous wave) Morse decoding
|
||||||
|
- **OOK/AM envelope detection** mode for on-off keying signals in ISM bands
|
||||||
|
- **HF frequency presets** for amateur CW bands (160m-10m)
|
||||||
|
- **ISM band presets** for OOK envelope mode (315 MHz, 433 MHz, 868 MHz, 915 MHz)
|
||||||
|
- **Real-time character and word output** with WPM estimation
|
||||||
|
- **Multi-SDR support** - RTL-SDR, HackRF, LimeSDR, Airspy, SDRplay
|
||||||
|
|
||||||
|
## WeFax (Weather Fax)
|
||||||
|
|
||||||
|
- **HF weather fax reception** from marine and meteorological broadcast stations
|
||||||
|
- **Broadcast timeline** with scheduled transmission times by station
|
||||||
|
- **Auto-scheduler** for unattended capture of scheduled broadcasts
|
||||||
|
- **Image gallery** with timestamped decoded weather charts
|
||||||
|
- **Station presets** for major WeFax broadcasters worldwide
|
||||||
|
- **Multi-SDR support** - RTL-SDR, HackRF, LimeSDR, Airspy, SDRplay
|
||||||
|
|
||||||
## Listening Post
|
## Listening Post
|
||||||
|
|
||||||
- **Wideband frequency scanning** via rtl_power sweep with SNR filtering
|
- **Wideband frequency scanning** via rtl_power sweep with SNR filtering
|
||||||
- **Real-time audio monitoring** with FM and SSB demodulation
|
- **Real-time audio monitoring** with FM and SSB demodulation
|
||||||
- **Cross-module frequency routing** from scanner to decoders
|
- **Cross-module frequency routing** from scanner to decoders
|
||||||
|
- **Waterfall spectrum display** for visual signal identification
|
||||||
- **Customizable frequency presets** and band bookmarks
|
- **Customizable frequency presets** and band bookmarks
|
||||||
- **Multi-SDR support** - RTL-SDR, LimeSDR, HackRF, Airspy, SDRplay
|
- **Multi-SDR support** - RTL-SDR, LimeSDR, HackRF, Airspy, SDRplay
|
||||||
|
|
||||||
@@ -170,6 +189,16 @@ Digital Selective Calling (DSC) monitoring on the international maritime distres
|
|||||||
- **Auto-refresh** - 5-minute polling with manual refresh option
|
- **Auto-refresh** - 5-minute polling with manual refresh option
|
||||||
- **No SDR required** - Data fetched from NOAA SWPC, NASA SDO, and HamQSL public APIs
|
- **No SDR required** - Data fetched from NOAA SWPC, NASA SDO, and HamQSL public APIs
|
||||||
|
|
||||||
|
## Radiosonde Weather Balloon Tracking
|
||||||
|
|
||||||
|
- **400-406 MHz reception** via radiosonde_auto_rx for weather balloon telemetry
|
||||||
|
- **Frequency presets** for common radiosonde bands
|
||||||
|
- **Real-time telemetry** - altitude, temperature, humidity, pressure, GPS position
|
||||||
|
- **Interactive map** with balloon trajectory and burst point prediction
|
||||||
|
- **Station location** with configurable observer position
|
||||||
|
- **Distance tracking** - real-time distance-to-balloon calculation
|
||||||
|
- **Multi-SDR support** - RTL-SDR, HackRF, LimeSDR, Airspy, SDRplay
|
||||||
|
|
||||||
## Satellite Tracking
|
## Satellite Tracking
|
||||||
|
|
||||||
- **Full-screen dashboard** - dedicated popout with polar plot and ground track
|
- **Full-screen dashboard** - dedicated popout with polar plot and ground track
|
||||||
@@ -270,7 +299,7 @@ Technical Surveillance Countermeasures (TSCM) screening for detecting wireless s
|
|||||||
### Wireless Sweep Features
|
### Wireless Sweep Features
|
||||||
- **BLE scanning** with manufacturer data detection (AirTags, Tile, SmartTags, ESP32)
|
- **BLE scanning** with manufacturer data detection (AirTags, Tile, SmartTags, ESP32)
|
||||||
- **WiFi scanning** for rogue APs, hidden SSIDs, camera devices
|
- **WiFi scanning** for rogue APs, hidden SSIDs, camera devices
|
||||||
- **RF spectrum analysis** (requires RTL-SDR) - FM bugs, ISM bands, video transmitters
|
- **RF spectrum analysis** (RTL-SDR or HackRF) - FM bugs, ISM bands, video transmitters
|
||||||
- **Cross-protocol correlation** - links devices across BLE/WiFi/RF
|
- **Cross-protocol correlation** - links devices across BLE/WiFi/RF
|
||||||
- **Baseline comparison** - detect new/unknown devices vs known environment
|
- **Baseline comparison** - detect new/unknown devices vs known environment
|
||||||
|
|
||||||
@@ -369,6 +398,14 @@ Deploy lightweight sensor nodes across multiple locations and aggregate data to
|
|||||||
- **Redundancy** - Multiple nodes for reliable coverage
|
- **Redundancy** - Multiple nodes for reliable coverage
|
||||||
- **Triangulation** - Use multiple GPS-enabled agents for signal location
|
- **Triangulation** - Use multiple GPS-enabled agents for signal location
|
||||||
|
|
||||||
|
## System Health
|
||||||
|
|
||||||
|
- **Telemetry dashboard** with real-time system metrics
|
||||||
|
- **Process monitoring** for all running SDR tools and decoders
|
||||||
|
- **CPU, memory, and disk usage** tracking
|
||||||
|
- **SDR device status** overview
|
||||||
|
- **No SDR required** - monitors system health independently
|
||||||
|
|
||||||
## User Interface
|
## User Interface
|
||||||
|
|
||||||
- **Mode-specific header stats** - real-time badges showing key metrics per mode
|
- **Mode-specific header stats** - real-time badges showing key metrics per mode
|
||||||
@@ -434,9 +471,13 @@ The settings modal shows availability status for each bundled asset:
|
|||||||
- **Message export** to CSV/JSON
|
- **Message export** to CSV/JSON
|
||||||
- **Signal activity meter** and waterfall display
|
- **Signal activity meter** and waterfall display
|
||||||
- **Message logging** to file with timestamps
|
- **Message logging** to file with timestamps
|
||||||
- **Multi-SDR hardware support** - RTL-SDR, LimeSDR, HackRF
|
- **HTTPS support** via `INTERCEPT_HTTPS` configuration for secure deployments
|
||||||
|
- **Voice alerts** for configurable event notifications across modes
|
||||||
|
- **Multi-SDR hardware support** - RTL-SDR, LimeSDR, HackRF, Airspy, SDRplay
|
||||||
- **Automatic device detection** across all supported hardware
|
- **Automatic device detection** across all supported hardware
|
||||||
- **Hardware-specific validation** - frequency/gain ranges per device type
|
- **Hardware-specific validation** - frequency/gain ranges per device type
|
||||||
|
- **Tool path overrides** via `INTERCEPT_*_PATH` environment variables
|
||||||
|
- **Native Homebrew detection** for Apple Silicon tool paths
|
||||||
- **Configurable gain and PPM correction**
|
- **Configurable gain and PPM correction**
|
||||||
- **Device intelligence** dashboard with tracking
|
- **Device intelligence** dashboard with tracking
|
||||||
- **GPS dongle support** - USB GPS receivers for precise observer location
|
- **GPS dongle support** - USB GPS receivers for precise observer location
|
||||||
|
|||||||
+21
-1
@@ -36,7 +36,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="hero-stats">
|
<div class="hero-stats">
|
||||||
<div class="stat">
|
<div class="stat">
|
||||||
<span class="stat-value">25+</span>
|
<span class="stat-value">30+</span>
|
||||||
<span class="stat-label">Modes</span>
|
<span class="stat-label">Modes</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="stat">
|
<div class="stat">
|
||||||
@@ -92,6 +92,11 @@
|
|||||||
<h3>Listening Post</h3>
|
<h3>Listening Post</h3>
|
||||||
<p>Frequency scanner with real-time audio monitoring, fine-tuning controls, and customizable frequency presets.</p>
|
<p>Frequency scanner with real-time audio monitoring, fine-tuning controls, and customizable frequency presets.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="feature-card" data-category="signals">
|
||||||
|
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12h2"/><path d="M8 12h1"/><path d="M11 12h2"/><path d="M15 12h1"/><path d="M18 12h2"/><circle cx="6" cy="12" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="18" cy="12" r="1"/><path d="M4 8h16"/><path d="M4 16h16"/></svg></div>
|
||||||
|
<h3>CW/Morse Decoder</h3>
|
||||||
|
<p>Morse code decoding with custom Goertzel tone detection for CW and OOK/AM envelope detection for ISM band signals.</p>
|
||||||
|
</div>
|
||||||
<div class="feature-card" data-category="intel">
|
<div class="feature-card" data-category="intel">
|
||||||
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></div>
|
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></div>
|
||||||
<h3>WebSDR</h3>
|
<h3>WebSDR</h3>
|
||||||
@@ -152,11 +157,21 @@
|
|||||||
<h3>HF SSTV</h3>
|
<h3>HF SSTV</h3>
|
||||||
<p>Terrestrial SSTV on shortwave frequencies. Decode amateur radio image transmissions across HF, VHF, and UHF bands.</p>
|
<p>Terrestrial SSTV on shortwave frequencies. Decode amateur radio image transmissions across HF, VHF, and UHF bands.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="feature-card" data-category="space">
|
||||||
|
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 15h18"/><path d="M3 9h18"/><path d="M6 3v18"/><path d="M18 3v18"/><path d="M9 6h6"/></svg></div>
|
||||||
|
<h3>WeFax</h3>
|
||||||
|
<p>HF weather fax decoder with broadcast timeline, auto-scheduler, and image gallery for marine weather charts.</p>
|
||||||
|
</div>
|
||||||
<div class="feature-card" data-category="tracking">
|
<div class="feature-card" data-category="tracking">
|
||||||
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/><path d="M12 8l4 4-4 4"/></svg></div>
|
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/><path d="M12 8l4 4-4 4"/></svg></div>
|
||||||
<h3>GPS Tracking</h3>
|
<h3>GPS Tracking</h3>
|
||||||
<p>Real-time GPS position tracking with live map, speed, heading, altitude, satellite info, and track recording.</p>
|
<p>Real-time GPS position tracking with live map, speed, heading, altitude, satellite info, and track recording.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="feature-card" data-category="tracking">
|
||||||
|
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v6"/><path d="M12 22v-6"/><circle cx="12" cy="12" r="4"/><path d="M8 12H2"/><path d="M22 12h-6"/><path d="M12 8a20 20 0 0 1 0 8"/><path d="M7 4l2 3"/><path d="M17 20l-2-3"/></svg></div>
|
||||||
|
<h3>Radiosonde</h3>
|
||||||
|
<p>Weather balloon tracking on 400-406 MHz via radiosonde_auto_rx. Real-time telemetry, trajectory map, and station distance.</p>
|
||||||
|
</div>
|
||||||
<div class="feature-card" data-category="space">
|
<div class="feature-card" data-category="space">
|
||||||
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></div>
|
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></div>
|
||||||
<h3>Space Weather</h3>
|
<h3>Space Weather</h3>
|
||||||
@@ -197,6 +212,11 @@
|
|||||||
<h3>Offline Mode</h3>
|
<h3>Offline Mode</h3>
|
||||||
<p>Run without internet using bundled assets. Choose from multiple map tile providers or use your own local tile server.</p>
|
<p>Run without internet using bundled assets. Choose from multiple map tile providers or use your own local tile server.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="feature-card" data-category="platform">
|
||||||
|
<div class="feature-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg></div>
|
||||||
|
<h3>System Health</h3>
|
||||||
|
<p>Real-time telemetry dashboard with process monitoring, system metrics, and SDR device status overview.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button class="carousel-arrow carousel-arrow-right" aria-label="Scroll right">›</button>
|
<button class="carousel-arrow carousel-arrow-right" aria-label="Scroll right">›</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "intercept"
|
name = "intercept"
|
||||||
version = "2.22.3"
|
version = "2.23.0"
|
||||||
description = "Signal Intelligence Platform - Pager/433MHz/ADS-B/Satellite/WiFi/Bluetooth"
|
description = "Signal Intelligence Platform - Pager/433MHz/ADS-B/Satellite/WiFi/Bluetooth"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.9"
|
requires-python = ">=3.9"
|
||||||
|
|||||||
Reference in New Issue
Block a user