Commit Graph

288 Commits

Author SHA1 Message Date
Smittix
c94d0a642d Fix ACARS sidebar to collapse outward and expand map
- 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>
2026-01-14 10:31:56 +00:00
Smittix
135390788d Add ACARS aircraft messaging feature with collapsible sidebar
- 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>
2026-01-14 10:31:56 +00:00
Smittix
98e4e38809 Fix install hang on Linux Mint/Ubuntu with newer kernels
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>
2026-01-14 10:31:56 +00:00
Smittix
6d5a12a21f Fix dump1090 not found in Docker by building from source
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>
2026-01-14 10:31:56 +00:00
James Smith
fe3b3b536c bug fixes and feature updates 2026-01-14 10:30:24 +00:00
James Smith
aa8a6baac4 Fix macOS setup: build multimon-ng from source and improve UX
- 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)
2026-01-12 13:15:59 +00:00
Smittix
b0982249c3 Add device debug endpoint and fix RTL-SDR detection issues
- Add /devices/debug endpoint for detailed SDR detection diagnostics
- Add kernel driver blacklisting to setup.sh for Debian/Ubuntu
- Blacklists dvb_usb_rtl28xxu, rtl2832, rtl2830, r820t modules
- Update docs to use correct venv command: sudo -E venv/bin/python

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 22:14:36 +00:00
Smittix
b3a8a69244 Merge pull request #52 from zielu92/patch-1
Update README.md with project details and features
2026-01-11 20:33:33 +00:00
Michał Zieliński
8cd1ecffc4 Update README.md with project details and features
Fixed typo in Docker Compose
2026-01-11 12:54:14 +01:00
Smittix
7967b71405 Merge pull request #49 from armegia/armegia
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
2026-01-10 19:22:12 +00:00
Antonio M
cd0d5971e2 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 2026-01-10 18:54:56 +01:00
Smittix
b52b4db989 Merge pull request #48 from JonanOribe/main
Add satellite route tests and update .gitignore
2026-01-10 15:04:16 +00:00
Jon Ander Oribe
ef5cfb4908 Add satellite route tests and update .gitignore
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.
2026-01-10 14:03:49 +01:00
Smittix
ee7781ee67 Merge pull request #47 from JonanOribe/main
Testing for Wifi
2026-01-10 11:11:07 +00:00
Jon Ander Oribe
8c5bb32ec6 Testing for Wifi 2026-01-10 07:35:28 +01:00
Smittix
007400d2a7 Release v2.9.0 - iNTERCEPT rebrand and UI overhaul
- 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>
v2.9.0
2026-01-10 01:00:17 +00:00
Smittix
1f60e64217 Improve apt_install error handling in setup script
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>
2026-01-09 12:53:02 +00:00
Smittix
69de7e4afd Add HackRF/Airspy troubleshooting guide for ADS-B and Listening Post
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>
2026-01-08 21:22:26 +00:00
Smittix
29025059af Add HackRF/Airspy/LimeSDR/SDRPlay support to Listening Post
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>
2026-01-08 21:20:26 +00:00
Smittix
6229c25872 Add aircraft watchlist feature to ADS-B dashboard
- 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>
2026-01-08 21:13:49 +00:00
Smittix
73ac74a9d6 Add clickable squawk code reference on aircraft dashboard
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>
2026-01-08 21:03:42 +00:00
Smittix
ebb1e233d8 Add tagline 'See the Invisible' to branding
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>
2026-01-08 20:55:41 +00:00
Smittix
e719e32c73 Add SDRPlay device support via SoapySDR
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>
2026-01-08 20:55:41 +00:00
Smittix
46ab5fe78d Update CHANGELOG for version 2.0.0 2026-01-08 20:15:31 +00:00
Smittix
dc467aef91 Update README with new features and installation steps 2026-01-08 17:44:08 +00:00
Smittix
0bc915fe1f Add files via upload 2026-01-08 17:43:49 +00:00
Smittix
b7f9ad786a Delete static/images/screenshots/logo-banner.png 2026-01-08 17:43:35 +00:00
Smittix
6c80521cf8 Add files via upload 2026-01-08 17:39:51 +00:00
Smittix
a174884269 Remove LoRa/ISM mode (redundant with 433MHz)
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>
2026-01-08 17:07:36 +00:00
Smittix
f3b1865a79 Add LoRa/ISM band monitoring mode
- 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>
2026-01-08 16:56:21 +00:00
Smittix
6c99651ac9 Move Bias-T toggle to prominent location in sidebar
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>
2026-01-08 16:43:53 +00:00
Smittix
0aaf888dd1 Make Bias-T toggle more prominent in sidebar
- 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>
2026-01-08 16:40:30 +00:00
Smittix
d947ce17a3 Hide waterfall and output console for Bluetooth mode
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>
2026-01-08 14:57:26 +00:00
Smittix
97c957b70f Fix Bluetooth RSSI capture from initial device discovery
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>
2026-01-08 14:56:55 +00:00
Smittix
82830c86ac Fix listening post error, hide signal meter, improve BT detection
- 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>
2026-01-08 14:55:51 +00:00
Smittix
d8e4189100 Fix listening post tuneToFrequency null element error
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>
2026-01-08 14:44:53 +00:00
Smittix
6bcde56525 Remove debug console.log statements
Clean up temporary debug logging from channel recommendation
and WiFi client card debugging.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 14:43:11 +00:00
Smittix
88ebe3c337 Redesign Bluetooth page to match WiFi layout
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>
2026-01-08 14:41:56 +00:00
Smittix
5f4d1b05a8 Add debug logging for channel recommendation
Temporary console.log statements to diagnose why channel
recommendation always shows 1 and 36.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 14:37:33 +00:00
Smittix
370c46bddb Add CSS styling for WiFi client cards
- 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>
2026-01-08 14:35:17 +00:00
Smittix
47b5e03bbb Add debug logging for WiFi client card issues
Temporary console.log statements to diagnose why clients
are not appearing in the device list.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 14:32:41 +00:00
Smittix
556ca59a99 Fix WiFi client updates, rogue AP detection, and channel recommendation
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>
2026-01-08 14:27:15 +00:00
Smittix
81c5af474d Add visual rogue AP indicator for suspected evil twin detection
- 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>
2026-01-08 14:18:53 +00:00
Smittix
cdaee3f62f Fix hidden SSID, probe analysis, and device correlation
Hidden SSID fixes:
- Only track networks that are originally hidden (empty/Hidden ESSID)
- Reveal hidden SSIDs when network ESSID changes or client probes match
- Show count of hidden networks being monitored
- Show revealed SSIDs with checkmark

Probe analysis fixes:
- Call scheduleProbeAnalysisUpdate when client has probes
- Add periodic updateProbeAnalysis call every 2 seconds
- Properly trigger probe analysis from client handler

Other fixes:
- Remove drawNetworkGraph call (topology panel was removed)
- Add updateHiddenSsidDisplay to periodic updates
- Improve panel messages when no data available

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:56:41 +00:00
Smittix
aab4288f67 Reorganize WiFi panels, remove PMKID, add aircrack integration
Layout changes:
- Security overview now next to network radar
- Channel utilization (2.4 GHz and 5 GHz) side by side
- Removed network topology panel
- Removed PMKID capture panel and functionality

Handshake improvements:
- Added "Crack with Aircrack-ng" button when handshake is captured
- Added /wifi/handshake/crack backend route
- Prompts for wordlist path with common defaults
- Shows password when found with notification
- 5 minute timeout with helpful error message

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:50:14 +00:00
Smittix
bab49e4442 Improve WiFi layout and fix capture functionality
Layout changes:
- Move device list to right column beside visualizations
- Add dedicated WiFi device list panel with header and count
- Hide waterfall and generic output for WiFi mode
- Add responsive styles for smaller screens

Capture fixes:
- Fix handshake capture: add interface param, stop existing scan first
- Fix PMKID capture: add interface param, stop existing scan first
- Add proper error handling with try/catch for both capture functions
- Use monitorInterface variable when available

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:43:11 +00:00
Smittix
7608aca681 Hide waterfall canvas in WiFi mode
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:35:34 +00:00
Smittix
58907bdc4d Fix WiFi layout and remove redundant Target Signal panel
- Add min-height: 0 to output-panel to fix grid overflow scrolling
- Add min-height: 200px to output-content for device cards visibility
- Add max-height: 50vh to wifi-visuals to leave room for device list
- Make wifi-visuals scrollable when content exceeds max-height
- Remove Target Signal panel (redundant with Selected Device panel)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:33:12 +00:00
Smittix
8dfd92082c Move Selected Device panel to top of WiFi visuals
Moves the Selected Device panel to be the first element in the
WiFi visualizations grid so it's visible without scrolling.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:29:15 +00:00
Smittix
e39304da90 Add aircraft image panel to ADS-B tab
- Add new panel to display aircraft photos when selected
- Fetch photos from planespotters API via /adsb/aircraft-photo endpoint
- Cache photos to avoid repeated API calls
- Show loading, no photo, and placeholder states appropriately
- Reduced map panel to span 2 to accommodate new image panel

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:26:47 +00:00