mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 06:40:00 -07:00
The APRS map initialisation only checked for a live GPS fix, falling back to the centre of the US (39.8N, 98.6W) when none was available. It never read the observer position configured in .env via INTERCEPT_DEFAULT_LAT / INTERCEPT_DEFAULT_LON. Seed aprsUserLocation from ObserverLocation.getShared() (or the Jinja-injected defaults) on page load so the map centres on the user's configured position and distance calculations work without GPS. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
30 KiB
30 KiB
Changelog
All notable changes to iNTERCEPT will be documented in this file.
[2.26.11] - 2026-03-14
Fixed
- APRS map ignores configured observer position — The APRS map always fell back to the centre of the US (39.8°N, 98.6°W) when no live GPS fix was available, ignoring the observer position configured in
.env(INTERCEPT_DEFAULT_LAT/INTERCEPT_DEFAULT_LON). Now seeds the APRS user location from the shared observer location on page load, so the map centres correctly and distance calculations work. (#193)
[2.26.10] - 2026-03-14
Fixed
- APRS stop timeout and inverted SDR device status — The APRS stop endpoint terminated two processes sequentially (up to 4s) while the frontend timed out at 2.2s, causing console errors and the SDR status panel to show stale state (active after stop, idle during use). Now releases the SDR device immediately and terminates processes in a background thread so the response returns instantly. (#194)
[2.26.9] - 2026-03-14
Fixed
- ADS-B bias-t support for RTL-SDR Blog V4 — When dump1090 lacks native
--enable-biastsupport, the system now falls back tortl_biast(from RTL-SDR Blog drivers) to enable bias-t power before starting dump1090. The Blog V4's built-in LNA requires bias-t to receive ADS-B signals. (#195)
[2.26.8] - 2026-03-14
Fixed
- acarsdec build failure on macOS —
HOST_NAME_MAXis Linux-specific (<limits.h>) and undefined on macOS, causing 3 compile errors inacarsdec.c. Now patched with#define HOST_NAME_MAX 255before building. Also fixed deprecated-Ofastflag warning on all macOS architectures (was only patched for arm64). (#187)
[2.26.7] - 2026-03-14
Fixed
- Health check SDR detection on macOS —
timeout(GNU coreutils) is not available on macOS, causingrtl_testto silently fail and report "No RTL-SDR device found" even when one is connected. Now triestimeout, thengtimeout(Homebrew coreutils), then falls back to a background process with manual kill. (#188)
[2.26.6] - 2026-03-14
Fixed
- Oversized branded 'i' logo on dashboards —
.logo span { display: inline }in dashboard CSS had higher specificity (0,1,1) than.brand-i { display: inline-block }(0,1,0), forcing the branded "i" SVG to render as inline which ignores width/height. Added.logo .brand-iselector (0,2,0) to retaininline-blockdisplay. (#189)
[2.26.5] - 2026-03-14
Fixed
- Database errors crash entire UI —
get_setting()now catchessqlite3.OperationalErrorand returns the default value instead of propagating the exception. Previously, if the database was inaccessible (e.g. root-ownedinstance/directory from running withsudo), theinject_offline_settingscontext processor would crash every page render with a 500 Internal Server Error. (#190)
[2.26.4] - 2026-03-14
Fixed
- Environment Configurator crash —
read_env_var()crashed with "Setup failed at line 2333" when.envexisted but didn't contain the variable being looked up.grepreturned exit code 1 (no match), whichpipefailpropagated andset -eturned into a fatal error. Fixed by appending|| trueto the pipeline. (#191)
[2.26.3] - 2026-03-13
Fixed
- SatDump AVX2 crash — SatDump now compiles with
-march=x86-64on x86_64 platforms (Docker andsetup.sh), preventing "Illegal instruction" crashes on CPUs without AVX2. SIMD plugins still use runtime detection for acceleration on capable hardware. (#185)
[2.26.2] - 2026-03-13
Fixed
- Docker startup crash —
.dockerignoreexcluded the entiredata/directory, which is now a Python package (data.oui,data.patterns,data.satellites). CausedModuleNotFoundError: No module named 'data.oui'on container startup. Fixed by only excluding non-code files fromdata/.
[2.26.1] - 2026-03-13
Fixed
- Default admin credentials — Default
ADMIN_PASSWORDchanged from empty string toadmin, matching the README documentation (admin:admin) - Config credential sync — Admin password changes in
config.pyor viaINTERCEPT_ADMIN_PASSWORDenv var now sync to the database on restart, without needing to delete the DB
[2.26.0] - 2026-03-13
Fixed
- SSE fanout crash -
_run_fanoutdaemon thread no longer crashes withAttributeError: 'NoneType' object has no attribute 'get'when source queue becomes None during interpreter shutdown - Branded logo FOUC - Added inline
width/heightto branded "i" SVG elements across 10 templates to prevent oversized rendering before CSS loads; refresh no longer needed
[2.25.0] - 2026-03-12
Added
- SSEManager - Centralized SSE connection management with exponential backoff reconnection and visual connection status indicator
- Loading button states -
withLoadingButton()utility for async action buttons across all modes - Actionable error reporting -
reportActionableError()added to 5 mode JS files for user-friendly error messages - Destructive action confirmation modals - Custom modal system replacing 25 native
confirm()calls
Changed
- Accessibility improvements - aria-labels on interactive elements, form label associations, keyboard-navigable lists
- CSS variable adoption - Replaced hardcoded hex colors with CSS custom properties across 16+ files
- Inline style extraction -
classList.toggle()replaces inlinedisplaymanipulation throughout codebase - Merged
global-nav.cssintolayout.css- Consolidated navigation styles - Reduced
!importantusage - Responsive.css!importantcount reduced from 71 to 8 - Standardized breakpoints - Unified to 480/768/1024/1280px across all responsive styles
- Mobile UX polish - Improved touch targets, code overflow handling, and responsive layouts
Fixed
- Deep-linked mode scripts now wait for body parse before executing, preventing initialization failures
[2.24.0] - 2026-03-10
Added
- WiFi Locate Mode - Locate WiFi access points by BSSID with real-time signal meter, distance estimation, RSSI chart, and audio proximity tones. Hand-off from WiFi detail drawer, environment presets (Free Space/Outdoor/Indoor), and signal-lost detection.
Changed
- Mobile navigation bar reorganized into labeled groups (SIG, TRK, SPC, WIFI, INTEL, SYS) for better usability
- flask-limiter made optional — rate limiting degrades gracefully if package is missing
Fixed
- Radiosonde setup missing
semverPython dependency —setup.shnow explicitly installs it alongsiderequirements.txt
[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_HTTPSconfiguration - 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_*_PATHenvironment variables for custom tool locations - Homebrew Tool Detection - Native path detection for Apple Silicon Homebrew installations
- Production Server -
start.shwith gunicorn + gevent for concurrent SSE/WebSocket handling — eliminates multi-client page load delays
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
- Docker container now uses gunicorn + gevent by default via
start.sh
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
Fixed
- Waterfall control panel rendered as unstyled text for up to 20 seconds on first visit — CSS is now loaded eagerly with the rest of the page assets
- WebSDR globe failed to render on first page load — initialization now waits for a layout frame before mounting the WebGL renderer, ensuring the container has non-zero dimensions
- Waterfall monitor audio took minutes to start —
_waitForPlaybacknow only reports success on actual audio playback (playing/timeupdate), not from the WAV header alone (loadeddata/canplay) - Waterfall monitor could not be stopped —
stopMonitor()now pauses audio and updates the UI immediately instead of waiting for the backend stop request (which blocked for 1+ seconds during SDR process cleanup) - Stopping the waterfall no longer shows a stale "WebSocket closed before ready" message — the
onclosehandler now detects intentional closes
[2.22.1] - 2026-02-23
Fixed
- PWA install prompt not appearing — manifest now includes required PNG icons (192×192, 512×512)
- Apple touch icon updated to PNG for iOS Safari compatibility
- Service worker cache bumped to bust stale cached assets
[2.22.0] - 2026-02-23
Added
- Waterfall Receiver Overhaul - WebSocket-based I/Q streaming with server-side FFT, click-to-tune, zoom controls, and auto-scaling
- Voice Alerts - Configurable text-to-speech event notifications across modes
- Signal Fingerprinting - RF device identification and pattern analysis mode
- SignalID - Automatic signal classification via SigIDWiki API integration
- PWA Support - Installable web app with service worker caching and manifest
- Real-time Signal Scope - Live signal visualization for pager, sensor, and SSTV modes
- ADS-B MSG2 Surface Parsing - Ground vehicle movement tracking from MSG2 frames
- Cheat Sheets - Quick reference overlays for keyboard shortcuts and mode controls
- App icon (SVG) for PWA and browser tab
Changed
- WebSDR overhaul - Improved receiver management, audio streaming, and UI
- Mode stop responsiveness - Faster timeout handling and improved WiFi/Bluetooth scanner shutdown
- Mode transitions - Smoother navigation with performance instrumentation
- BT Locate - Refactored JS engine with improved trail management and signal smoothing
- Listening Post - Refactored with cross-module frequency routing
- SSTV decoder - State machine improvements and partial image streaming
- Analytics mode removed; per-mode analytics panels integrated into existing dashboards
Fixed
- ADS-B SSE multi-client fanout stability and update flush timing
- WiFi scanner robustness and monitor mode teardown reliability
- Agent client reliability improvements for remote sensor nodes
- SSTV VIS detector state reporting in signal monitor diagnostics
Documentation
- Complete documentation audit across README, FEATURES, USAGE, help modal, and GitHub Pages
- Fixed license badge (MIT → Apache 2.0) to match actual LICENSE file
- Fixed tool name
rtl_amr→rtlamrthroughout all docs - Fixed incorrect entry point examples (
python app.py→sudo -E venv/bin/python intercept.py) - Removed duplicate AIS Vessel Tracking section from FEATURES.md
- Updated SSTV requirements: pure Python decoder, no external
slowrxneeded - Added ACARS and VDL2 mode descriptions to in-app help modal
- GitHub Pages site: corrected Docker command, license, and tool name references
[2.21.1] - 2026-02-20
Fixed
- BT Locate map first-load rendering race that could cause blank/late map initialization
- BT Locate mode switch timing so Leaflet invalidation runs after panel visibility settles
- BT Locate trail restore startup latency by batching historical GPS point rendering
[2.21.0] - 2026-02-20
Added
- Analytics panels for operational insights and temporal pattern analysis
Changed
- Global map theme refresh with improved contrast and cross-dashboard consistency
- Cross-app UX refinements for accessibility, mode consistency, and render performance
- BT Locate enhancements including improved continuity, smoothing, and confidence reporting
Fixed
- Weather satellite auto-scheduler and Mercator tracking reliability issues
- Bluetooth/WiFi runtime health issues affecting scanner continuity
- ADS-B SSE multi-client fanout stability and remote VDL2 streaming reliability
[2.15.0] - 2026-02-09
Added
- Real-time WebSocket Waterfall - I/Q capture with server-side FFT
- Click-to-tune, zoom controls, and auto-scaling quantization
- Shared waterfall UI across SDR modes with function bar controls
- WebSocket frame serialization and connection reuse
- Cross-Module Frequency Routing - Tune from Listening Post directly to decoders
- Pure Python SSTV Decoder - Replaces broken slowrx C dependency
- Real-time decode progress with partial image streaming
- VIS detector state in signal monitor diagnostics
- Image gallery with delete and download functionality
- Real-time Signal Scope - Live signal visualization for pager, sensor, and SSTV modes
- SSTV Image Gallery - Delete and download decoded images
- USB Device Probe - Detect broken SDR devices before rtl_fm crashes
Fixed
- DMR dsd-fme protocol flags, device label, and tuning controls
- DMR frontend/backend state desync causing 409 on start
- Digital voice decoder producing no output due to wrong dsd-fme flags
- SDR device lock-up from unreleased device registry on process crash
- APRS crash on large station count and station list overflow
- Settings modal overflowing viewport on smaller screens
- Waterfall crash on zoom by reusing WebSocket and adding USB release retry
- PD120 SSTV decode hang and false leader tone detection
- WebSocket waterfall blocked by login redirect
- TSCM sweep KeyError on RiskLevel.NEEDS_REVIEW
Removed
- GSM Spy functionality removed for legal compliance
[2.14.0] - 2026-02-06
Added
- DMR Digital Voice Decoder - Decode DMR, P25, NXDN, and D-STAR protocols
- Integration with dsd-fme (Digital Speech Decoder - Florida Man Edition)
- Real-time SSE streaming of sync, call, voice, and slot events
- Call history table with talkgroup, source ID, and protocol tracking
- Protocol auto-detection or manual selection
- Pipeline error diagnostics with rtl_fm stderr capture
- DMR Visual Synthesizer - Canvas-based signal activity visualization
- Spring-physics animated bars reacting to SSE decoder events
- Color-coded by event type: cyan (sync), green (call), orange (voice)
- Center-outward ripple bursts on sync events
- Smooth decay and idle breathing animation
- Responsive canvas with window resize handling
- HF SSTV General Mode - Terrestrial slow-scan TV on shortwave frequencies
- Predefined HF SSTV frequencies (14.230, 21.340, 28.680 MHz, etc.)
- Modulation support for USB/LSB reception
- WebSDR Integration - Remote HF/shortwave listening via WebSDR servers
- Listening Post Enhancements - Improved signal scanner and audio handling
Fixed
- APRS rtl_fm startup failure and SDR device conflicts
- DSD voice decoder detection for dsd-fme and PulseAudio errors
- dsd-fme protocol flags and ncurses disable for headless operation
- dsd-fme audio output flag for pipeline compatibility
- TSCM sweep scan resilience with per-device error isolation
- TSCM WiFi detection using scanner singleton for device availability
- TSCM correlation and cluster emission fixes
- Detected Threats panel items now clickable to show device details
- Proximity radar tooltip flicker on hover
- Radar blip flicker by deferring renders during hover
- ISS position API priority swap to avoid timeout delays
- Updater settings panel error when updater.js is blocked
- Missing scapy in optionals dependency group
[2.13.1] - 2026-02-04
Added
- UI Overhaul - Revamped styling with slate/cyan theme
- Switched app font to JetBrains Mono
- Global navigation bar across all dashboards
- Cyan-tinted map tiles as default
- Signal Scanner Rewrite - Switched to rtl_power sweep for better coverage
- SNR column added to signal hits table
- SNR threshold control for power scan
- Improved sweep progress tracking and stability
- Frequency-based sweep display with range syncing
- Listening Post Audio - WAV streaming with retry and fallback
- WebSocket audio fallback for listening
- User-initiated audio play prompt
- Audio pipeline restart for fresh stream headers
Fixed
- WiFi connected clients panel now filters to selected AP instead of showing all clients
- USB device contention when starting audio pipeline
- Dual scrollbar issue on main dashboard
- Controls bar alignment in dashboard pages
- Mode query routing from dashboard nav
[2.13.0] - 2026-02-04
Added
- WiFi Client Display - Connected clients shown in AP detail drawer
- Real-time client updates via SSE streaming
- Probed SSID badges for connected clients
- Signal strength indicators and vendor identification
- Help Modal - Keyboard shortcuts reference system
- Main Dashboard Button - Quick navigation from any page
- Settings Modal - Accessible from all dashboards
Changed
- Dashboard CSS improvements and consistency fixes
[2.12.1] - 2026-02-02
Added
- SDR Device Registry - Prevents decoder conflicts between concurrent modes
- SDR Device Status Panel - Shows connected SDR devices with ADS-B Bias-T toggle
- Real-time Doppler Tracking - ISS SSTV reception with Doppler correction
- TCP Connection Support - Meshtastic devices connectable over TCP
- Shared Observer Location - Configurable shared location with auto-start options
- slowrx Source Build - Fallback build for Debian/Ubuntu
Fixed
- SDR device type not synced on page refresh
- Meshtastic connection type not restored on page refresh
- WiFi deep scan polling on agent with normalized scan_type value
- Auto-detect RTL-SDR drivers and blacklist instead of prompting
- TPMS pressure field mappings for 433MHz sensor display
- Agent capabilities cache invalidation after monitor mode toggle
[2.12.0] - 2026-01-29
Added
- ISS SSTV Decoder Mode - Receive Slow Scan Television transmissions from the ISS
- Real-time ISS tracking globe with accurate position via N2YO API
- Leaflet world map showing ISS ground track and current position
- Location settings for ISS pass predictions
- Integration with satellite tracking TLE data
- GitHub Update Notifications - Automatic new version alerts
- Checks for updates on app startup
- Unobtrusive notification when new releases are available
- Configurable check interval via settings
- Meshtastic Enhancements
- QR code support for easy device sharing
- Telemetry display with battery, voltage, and environmental data
- Traceroute visualization for mesh network topology
- Improved node synchronization between map and top bar
- UI Improvements
- New Space category for satellite and ISS-related modes
- Pulsating ring effect for tracked aircraft/vessels
- Map marker highlighting for selected aircraft in ADS-B
- Consolidated settings and dependencies into single modal
- Auto-Update TLE Data - Satellite tracking data updates automatically on app startup
- GPS Auto-Connect - AIS dashboard now connects to gpsd automatically
Changed
- Utility Meters - Added device grouping by ID with consumption trends
- Utility Meters - Device intelligence and manufacturer information display
Fixed
- SoapySDR - Module detection on macOS with Homebrew
- dump1090 - Build failures in Docker containers
- dump1090 - Build failures on Kali Linux and newer GCC versions
- Flask - Ensure Flask 3.0+ compatibility in setup script
- psycopg2 - Now optional for Flask/Werkzeug compatibility
- Bias-T - Setting now properly passed to ADS-B and AIS dashboards
- Dark Mode Maps - Removed CSS filter that was inverting dark tiles
- Map Tiles - Fixed CARTO tile URLs and added cache-busting
- Meshtastic - Traceroute button and dark mode map fixes
- ADS-B Dashboard - Height adjustment to prevent bottom controls cutoff
- Audio Visualizer - Now works without spectrum canvas
[2.11.0] - 2026-01-28
Added
- Meshtastic Mesh Network Integration - LoRa mesh communication support
- Connect to Meshtastic devices (Heltec, T-Beam, RAK) via USB/Serial
- Real-time message streaming via SSE
- Channel configuration with encryption key support
- Node information display with signal metrics (RSSI, SNR)
- Message history with up to 500 messages
- Ubertooth One BLE Scanner - Advanced Bluetooth scanning
- Passive BLE packet capture across all 40 BLE channels
- Raw advertising payload access
- Integration with existing Bluetooth scanning modes
- Automatic detection of Ubertooth hardware
- Offline Mode - Run iNTERCEPT without internet connectivity
- Bundled Leaflet 1.9.4 (JS, CSS, marker images)
- Bundled Chart.js 4.4.1
- Bundled Inter and JetBrains Mono fonts (woff2)
- Local asset status checking and validation
- Settings Modal - New configuration interface accessible from navigation
- Offline tab: Toggle offline mode, configure asset sources
- Display tab: Theme and animation preferences
- About tab: Version info and links
- Multiple Map Tile Providers - Choose from:
- OpenStreetMap (default)
- CartoDB Dark
- CartoDB Positron (light)
- ESRI World Imagery
- Custom tile server URL
Changed
- Dashboard Templates - Conditional asset loading based on offline settings
- Bluetooth Scanner - Added Ubertooth backend alongside BlueZ/DBus
- Dependencies - Added meshtastic SDK to requirements.txt
Technical
- Added
routes/meshtastic.pyfor Meshtastic API endpoints - Added
utils/meshtastic.pyfor device management - Added
utils/bluetooth/ubertooth_scanner.pyfor Ubertooth support - Added
routes/offline.pyfor offline mode API - Added
static/js/core/settings-manager.jsfor client-side settings - Added
static/css/settings.cssfor settings modal styles - Added
static/css/modes/meshtastic.cssfor Meshtastic UI - Added
static/js/modes/meshtastic.jsfor Meshtastic frontend - Added
templates/partials/modes/meshtastic.htmlfor Meshtastic mode - Added
templates/partials/settings-modal.htmlfor settings UI - Added
static/vendor/directory structure for bundled assets
[2.10.0] - 2026-01-25
Added
- AIS Vessel Tracking - Real-time ship tracking via AIS-catcher
- Full-screen dashboard with interactive maritime map
- Vessel details: name, MMSI, callsign, destination, ETA
- Navigation data: speed, course, heading, rate of turn
- Ship type classification and dimensions
- Multi-SDR support (RTL-SDR, HackRF, LimeSDR, Airspy, SDRplay)
- VHF DSC Channel 70 Monitoring - Digital Selective Calling for maritime distress
- Real-time decoding of DSC messages (Distress, Urgency, Safety, Routine)
- MMSI country identification via Maritime Identification Digits (MID) lookup
- Position extraction and map markers for distress alerts
- Prominent visual overlay for DISTRESS and URGENCY alerts
- Permanent database storage for critical alerts with acknowledgement workflow
- Spy Stations Database - Number stations and diplomatic HF networks
- Comprehensive database from priyom.org
- Station profiles with frequencies, schedules, operators
- Filter by type (number/diplomatic), country, and mode
- Tune integration with Listening Post
- Famous stations: UVB-76, Cuban HM01, Israeli E17z
- SDR Device Conflict Detection - Prevents collisions between AIS and DSC
- DSC Alert Summary - Dashboard counts for unacknowledged distress/urgency alerts
- AIS-catcher Installation - Added to setup.sh for Debian and macOS
Changed
- UI Labels - Renamed "Scanner" to "Listening Post" and "RTLAMR" to "Meters"
- Pager Filter - Changed from onchange to oninput for real-time filtering
- Vessels Dashboard - Now includes VHF DSC message panel alongside AIS tracking
- Dependencies - Added scipy and numpy for DSC signal processing
Fixed
- DSC Position Decoder - Corrected octal literal in quadrant check
[2.9.5] - 2026-01-14
Added
- MAC-Randomization Resistant Detection - TSCM now identifies devices using randomized MAC addresses
- Clickable Score Cards - Click on threat scores to see detailed findings
- Device Detail Expansion - Click-to-expand device details in TSCM results
- Root Privilege Check - Warning display when running without required privileges
- Real-time Device Streaming - Devices stream to dashboard during TSCM sweep
Changed
- TSCM Correlation Engine - Improved device correlation with comprehensive reporting
- Device Classification System - Enhanced threat classification and scoring
- WiFi Scanning - Improved scanning reliability and device naming
Fixed
- RF Scanning - Fixed scanning issues with improved status feedback
- TSCM Modal Readability - Improved modal styling and close button visibility
- Linux Device Detection - Added more fallback methods for device detection
- macOS Device Detection - Fixed TSCM device detection on macOS
- Bluetooth Event Type - Fixed device type being overwritten
- rtl_433 Bias-T Flag - Corrected bias-t flag handling
[2.9.0] - 2026-01-10
Added
- Landing Page - Animated welcome screen with logo reveal and "See the Invisible" tagline
- New Branding - Redesigned logo featuring 'i' with signal wave brackets
- Logo Assets - Full-size SVG logos in
/static/img/for external use - Instagram Promo - Animated HTML promo video template in
/promo/directory - Listening Post Scanner - Fully functional frequency scanning with signal detection
- Scan button toggles between start/stop states
- Signal hits logged with Listen button to tune directly
- Proper 4-column display (Time, Frequency, Modulation, Action)
Changed
- Rebranding - Application renamed from "INTERCEPT" to "iNTERCEPT"
- Updated Tagline - "Signal Intelligence & Counter Surveillance Platform"
- Setup Script - Now installs Python packages via apt first (more reliable on Debian/Ubuntu)
- Uses
--system-site-packagesfor venv to leverage apt packages - Added fallback logic when pip fails
- Uses
- Troubleshooting Docs - Added sections for pip install issues and apt alternatives
Fixed
- Tuning Dial Audio - Fixed audio stopping when using tuning knob
- Added restart prevention flags to avoid overlapping restarts
- Increased debounce time for smoother operation
- Added silent mode for programmatic value changes
- Scanner Signal Hits - Fixed table column count and colspan
- Favicon - Updated to new 'i' logo design
[2.0.0] - 2026-01-06
Added
- Listening Post Mode - New frequency scanner with automatic signal detection
- Scans frequency ranges and stops on detected signals
- Real-time audio monitoring with ffmpeg integration
- Skip button to continue scanning after signal detection
- Configurable dwell time, squelch, and step size
- Preset frequency bands (FM broadcast, Air band, Marine, etc.)
- Activity log of detected signals
- Aircraft Dashboard Improvements
- Dependency warning when rtl_fm or ffmpeg not installed
- Auto-restart audio when switching frequencies
- Fixed toolbar overflow with custom frequency input
- Device Correlation - Match WiFi and Bluetooth devices by manufacturer
- Settings System - SQLite-based persistent settings storage
- Comprehensive Test Suite - Added tests for routes, validation, correlation, database
Changed
- Documentation Overhaul
- Simplified README with clear macOS and Debian installation steps
- Added Docker installation option
- Complete tool reference table in HARDWARE.md
- Removed redundant/confusing content
- Setup Script Rewrite
- Full macOS support with Homebrew auto-installation
- Improved Debian/Ubuntu package detection
- Added ffmpeg to tool checks
- Better error messages with platform-specific install commands
- Dockerfile Updated
- Added ffmpeg for Listening Post audio encoding
- Added dump1090 with fallback for different package names
Fixed
- SoapySDR device detection for RTL-SDR and HackRF
- Aircraft dashboard toolbar layout when using custom frequency input
- Frequency switching now properly stops/restarts audio
Technical
- Added
utils/constants.pyfor centralized configuration values - Added
utils/database.pyfor SQLite settings storage - Added
utils/correlation.pyfor device correlation logic - Added
routes/listening_post.pyfor scanner endpoints - Added
routes/settings.pyfor settings API - Added
routes/correlation.pyfor correlation API
[1.2.0] - 2026-12-29
Added
- Airspy SDR support
- GPS coordinate persistence
- SoapySDR device detection improvements
Fixed
- RTL-SDR and HackRF detection via SoapySDR
[1.1.0] - 2026-12-18
Added
- Satellite tracking with TLE data
- Full-screen dashboard for aircraft radar
- Full-screen dashboard for satellite tracking
[1.0.0] - 2026-12-15
Initial Release
- Pager decoding (POCSAG/FLEX)
- 433MHz sensor decoding
- ADS-B aircraft tracking
- WiFi reconnaissance
- Bluetooth scanning
- Multi-SDR support (RTL-SDR, LimeSDR, HackRF)