- Fix multimon-ng GitHub URL typo (EliasOewornal -> EliasOenal)
- Fix acarsdec install info (not in apt repos, must build from source)
- Add hcxdumptool to quick install command
- Add note about acarsdec requiring source build with link to setup.sh
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Reorder HTML: ACARS sidebar now comes before main-display
- Update grid: auto 1fr 300px (ACARS, Map, Sidebar)
- Swap borders: right border on sidebar, left border on button
- Button now on right side of ACARS panel (bordering map)
- Icon changed to left arrow (collapse direction)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The parent container has overflow:auto which clipped the absolutely
positioned button. Changed to simple flexbox approach where:
- Button is a normal flex child (always visible)
- Content div collapses to width:0 when collapsed
- Map expands to fill available space via flex
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix checkAcarsTools error by removing orphaned function call
- Change toggle icon from left arrow to right arrow (indicates collapse direction)
- Fix button positioning to use left edge instead of right edge
- Button now correctly appears on left side of ACARS panel (bordering map)
- Both index.html and adsb_dashboard now behave consistently
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ACARS controls are now in the collapsible sidebar next to the map,
so the redundant section in the left settings panel is no longer needed.
- Remove ACARS Messaging section from aircraft mode settings
- Remove unused JS functions (toggleAcarsPanel, setAcarsRegion, etc.)
- Keep addAcarsToOutput helper used by main sidebar
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change collapsed width from 32px to 0 so map expands fully
- Position collapse button as absolute overlay on map edge
- Button slides to edge of map when collapsed (right: 100%)
- Content fades out smoothly instead of abrupt hide
- Applied same fix to both adsb_dashboard.css and index.html
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add routes/acars.py with start/stop/stream endpoints for ACARS decoding
- Build acarsdec from source in Dockerfile (not available in Debian slim)
- Add acarsdec installation script to setup.sh for native installs
- Add ACARS to dependency checker in utils/dependencies.py
- Add collapsible ACARS sidebar next to map in aircraft tracking tab
- Add collapsible ACARS panel in ADS-B dashboard with same layout
- Include guidance about needing two SDRs for simultaneous ADS-B + ACARS
- Support regional frequency presets (N.America, Europe, Asia-Pacific)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The soapysdr-tools package pulls in xtrx-dkms, which fails to compile
its kernel module on Kernel 6.14+ and causes apt to hang. Explicitly
exclude xtrx-dkms since most users don't have XTRX hardware.
Fixes#56
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The dump1090 packages are not available in Debian slim repos, causing
the Docker build to silently skip installation. This builds dump1090-fa
from FlightAware's source repository instead.
Fixes#46
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add install_multimon_ng_from_source_macos() since multimon-ng is not
available in Homebrew core
- Fix brew_install() to properly check return code before printing success
- Show startup instructions before tool check so users see them on macOS
- Make missing Bluetooth tools a warning on macOS instead of hard failure
(bluetoothctl/hcitool/hciconfig are Linux-only BlueZ utilities)
In Ubuntu Desktop 25.10, dump1090 is dump1090-mutability. Because of this, cmd_exists dump1090 fails even after successful apt install. Added code to create a symbolic link from /usr/local/sbin/dump1090 to the dump1090-mutability if it exists
Added tests for satellite-related routes, including validation, error handling, and mocking of external dependencies. Updated .gitignore to exclude database files (*.db, *.sqlite3) in addition to lock files.
- Rebrand from INTERCEPT to iNTERCEPT
- New logo design with 'i' and signal wave brackets
- Add animated landing page with "See the Invisible" tagline
- Fix tuning dial audio issues with debouncing and restart prevention
- Fix Listening Post scanner with proper signal hit logging
- Update setup script for apt-based Python package installation
- Add Instagram promo video template
- Add full-size logo assets for external use
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Show actual error output when apt-get fails instead of silently
failing. Now displays which packages failed, the last 10 lines of
apt output, and suggests a manual fix command.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Document how to use non-RTL-SDR devices:
- ADS-B via readsb with SoapySDR (Remote mode or build from source)
- Listening Post via rx_fm from soapysdr-tools
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Listening Post module now uses the SDR abstraction layer to support
non-RTL-SDR devices via rx_fm (SoapySDR). Previously only rtl_fm worked.
- Add sdr_type parameter to /audio/start and /scanner/start endpoints
- Use appropriate command builder based on SDR type
- Update /tools endpoint to report rx_fm and supported SDR types
Fixes compatibility issue reported by DragonOS users with HackRF/Airspy.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add/remove callsigns, registrations, or ICAO codes to watch
- Alert notification and sound when watched aircraft detected
- Filter view to show only watched aircraft
- Visual highlighting with cyan border and star icon
- Watchlist persisted to localStorage
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Click any aircraft's squawk code to see its meaning and a full
reference table of common codes. Emergency codes highlighted in red.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update browser titles and headers across all pages with the new
tagline. Add 'Signal Intelligence Platform' as subtitle.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds support for SDRPlay RSP devices (RSPdx, RSP1A, RSPduo, etc.)
through the SoapySDR interface. Closes#44.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The LoRa mode was removed because:
- rtl_433 cannot decode actual LoRa (CSS modulation)
- The 433MHz mode already handles ISM band devices
- True LoRa decoding requires specialized tools like gr-lora
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add new LoRa backend route (routes/lora.py) with:
- Frequency band definitions (EU868, US915, AU915, AS923, IN865, ISM433)
- Start/stop/stream/status endpoints using rtl_433
- Device pattern matching for LoRa/LPWAN devices
- Signal quality calculation from RSSI
- Add LoRa frontend UI with:
- Navigation button in SDR/RF group
- Band selector with channel presets
- Visualization layout (radar, device types, signal quality, activity log)
- Device card list with selection details
- Header stats for devices and signals
- Fix Bias-T toggle visibility for Listening Post and LoRa modes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Moved from bottom of sidebar to right after device capabilities,
before the Refresh Devices button. Now has orange gradient
background and is immediately visible without scrolling.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Changed to orange styling to stand out
- Added "Power Settings" header with lightning icon
- Larger checkbox
- Added description text explaining purpose
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Bluetooth mode now has its own dedicated layout with device cards,
so the generic waterfall and output panels are hidden.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When a new device is discovered with bluetoothctl, extract and
capture the RSSI value from the discovery line instead of
discarding it.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix scannerStatus -> scannerStatusText element reference
- Hide global signal meter (individual panels show signal)
- Expand Bluetooth device classification patterns
- Add more audio, phone, wearable, computer patterns
- Add manufacturer-based device type inference
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The code referenced 'scannerStatus' but the element ID is
'scannerStatusText'. Fixed all instances to use the correct ID.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
HTML:
- Create bt-layout-container with flex layout
- Left side: visualizations (radar, selected device, device types,
tracker detection, signal distribution, FindMy detection)
- Right side: scrollable device card list
CSS:
- Add bt-layout-container styles matching wifi-layout-container
- Add bt-device-card styles with purple accent
- Add device type overview styles
- Add signal distribution bar styles
- Add responsive breakpoints
JavaScript:
- Update addBtDeviceCard to create cards in new device list
- Add selectBtDevice for device selection
- Add updateBtStatsPanels for device type and signal stats
- Add updateBtFindMyList for FindMy device tracking
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add .wifi-client-card styles matching network card layout
- Purple border and subtle background for visual distinction
- Consistent font sizing with network cards
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Backend:
- Send client updates when probes or signal change significantly
- Previously only new clients were reported, updates were ignored
Frontend:
- Add client cards to device list (was only showing networks)
- Fix rogue AP detection to check OUI - excludes legitimate mesh systems
- Improve channel recommendation with detailed usage breakdown
- Show per-channel interference counts for 2.4GHz
- Show unused channel count for 5GHz
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add rogueBssids Set to track all BSSIDs flagged as rogues
- Display red banner with pulsing animation on rogue network cards
- Apply red border and background tint to rogue AP cards
- Show prominent warning in selected device panel for rogue APs
- Change SSID color to red when viewing rogue AP details
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>