Commit Graph

77 Commits

Author SHA1 Message Date
James Smith
6bc75b005d Add satellite selector to dashboard header
- Added dropdown in header to select target satellite
- Styled hi-tech selector with cyan glow effects
- Updates tracking status indicator on satellite change
- Added NOAA-20 and METEOR-M2-3 satellites
- Dashboard now calculates passes for selected satellite only
- Extended prediction window to 48 hours

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:56:00 +00:00
James Smith
fb7309c094 Fix satellite dashboard layout - proper 3-column grid
- Simplified grid to single row layout
- Fixed sidebar to not span multiple rows
- Lowered responsive breakpoint to 1200px
- Fixed panel flex-shrink behavior
- Better mobile breakpoint at 800px

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:52:11 +00:00
James Smith
78de7cdb11 Fix satellite dashboard API and layout issues
- Fix parameter mismatch: accept both latitude/longitude and lat/lon
- Add NORAD ID to satellite name mapping for dashboard compatibility
- Widen sidebar from 350px to 420px for better readability
- Make sidebar scrollable to access all panels
- Add responsive breakpoints for different screen sizes
- Prevent telemetry values from wrapping

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:50:25 +00:00
James Smith
5c313304b5 Add hi-tech satellite command dashboard
Features:
- Animated grid background with scan line effect
- Real-time polar plot with satellite trajectory
- Ground track map with Leaflet
- Countdown timer to next pass
- Live telemetry display
- Upcoming passes list with quality badges
- Observer location with GPS support
- Auto-updates every 5 seconds
- Responsive layout for different screens

Access via /satellite/dashboard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:37:08 +00:00
Smittix
f8490c68cc Update README.md 2025-12-22 15:35:24 +00:00
Smittix
257ea9d979 Add files via upload 2025-12-22 15:35:03 +00:00
Smittix
2ec14750f8 Delete screenshot2.png 2025-12-22 15:34:48 +00:00
Smittix
e9b5a5b89e Add files via upload 2025-12-22 15:33:38 +00:00
Smittix
a8ff965db6 Delete screenshot2.png 2025-12-22 15:33:23 +00:00
James Smith
dea170bcae Throttle SBS updates to prevent frontend overload
- Batch updates every 1 second instead of every message
- Remove verbose MSG,3 debug output
- Reduces frontend updates from hundreds/sec to ~1/sec

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:11:11 +00:00
James Smith
4f930f0705 Start dump1090 with --net flag and connect to SBS port
- App starts dump1090-mutability with network mode enabled
- Waits 3 seconds for initialization
- Connects to SBS port 30003 for position data
- No longer relies on system service being configured

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 15:09:57 +00:00
James Smith
27ea326568 Simplify ADS-B to always use SBS service
Skip the port check and always connect to localhost:30003.
The SBS parser will handle connection errors and retry.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:28:42 +00:00
James Smith
48c6847e9b Add debug output for request data
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:25:03 +00:00
James Smith
a295ef80bd Add forceService option to bypass service check
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:15:17 +00:00
James Smith
2bd659c6a6 Don't kill dump1090 on startup - may be a system service
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:07:52 +00:00
James Smith
71f2709df5 Add debug output to service check
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:05:53 +00:00
James Smith
8b4b7c1fec Add verbose debug output for MSG,3 parsing
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:04:14 +00:00
James Smith
d62f4153bf Improve SBS parser with better error handling and debug output
- Add try/except for value conversion
- Add position debug output
- Fix MSG,5 to extract callsign and altitude

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 13:02:21 +00:00
James Smith
249efbb41e Switch to SBS format parsing for dump1090 service
- Check for SBS port 30003 instead of JSON endpoint
- Parse SBS BaseStation format for aircraft data
- Supports MSG types 1,3,4,5,6 for callsign, position, velocity, squawk
- Auto-reconnect on connection loss

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:57:17 +00:00
James Smith
0716999ac5 Add support for using existing dump1090-mutability service
- Check for existing JSON endpoint before starting dump1090
- Use existing service if available (port 30005 or 8080)
- Add poll_adsb_json_only function for service mode
- Don't kill system service on stop, just stop polling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:41:46 +00:00
James Smith
7ad7ea3bdf Add debug output for ADS-B JSON polling thread
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:37:03 +00:00
James Smith
45798de3ec Add port 30005 to dump1090 JSON endpoint list
dump1090-mutability uses port 30005 for JSON data by default.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:33:50 +00:00
James Smith
11d43a08c2 Add startup cleanup for stale RTL-SDR processes
Kills any orphaned dump1090, rtl_adsb, rtl_433, multimon-ng, rtl_fm
processes on app startup to prevent "device busy" errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:21:08 +00:00
James Smith
e2f8361974 Fix ADS-B process reference bug and add debug output
- Fix poll_dump1090_json using wrong process reference
- Add debug output for ADS-B decoder selection
- Add debug output for JSON and raw aircraft detection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:17:48 +00:00
James Smith
62fc3a8f2c Fix user site-packages not loading when running as root/sudo
Explicitly adds user site-packages to sys.path when ENABLE_USER_SITE
is disabled, allowing pip-installed packages like skyfield to be found.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:14:10 +00:00
James Smith
e073d8ba47 Add missing time import
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:08:21 +00:00
James Smith
e3ce4525b2 Fix ADS-B aircraft map plotting and improve dependency detection
- Fix calls to non-existent drawAircraftRadar(), now calls updateAircraftMarkers()
- Fix null check for lat/lon coordinates (use == null instead of === undefined)
- Add polling of dump1090 JSON endpoint for decoded aircraft positions
- Add debug logging for Python module import failures
- Add startup diagnostics for troubleshooting skyfield detection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:05:43 +00:00
James Smith
6f3243ada2 Add satellite orbit tracking, UI improvements, and startup dependency check
- Fix ground track to show full orbit (±45 min) with past/future segments
- Redesign satellite section as 2x2 grid layout for better visibility
- Add startup dependency notification in top-left corner
- Make tool status mode-specific (pager/433MHz/aircraft show relevant tools)
- Add skyfield library for accurate orbital calculations
2025-12-22 10:02:49 +00:00
Smittix
bf142b7e93 Update README.md 2025-12-22 08:24:59 +00:00
Smittix
9f2fa1b489 Add files via upload 2025-12-22 08:24:40 +00:00
Smittix
cfec3d2889 Delete screenshot1.png 2025-12-22 08:24:25 +00:00
Smittix
e526401b39 Update README.md 2025-12-21 23:57:21 +00:00
Smittix
f8eedee7fd Add files via upload 2025-12-21 23:57:08 +00:00
James Smith
4560c00248 Center Bluetooth proximity radar in its section
Make the radar panel span both grid columns to eliminate empty space on the right and center the visualization.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 23:55:06 +00:00
James Smith
e622834ca5 Update acknowledgments with new dependencies
Add dump1090, Leaflet.js, OpenStreetMap, and Celestrak

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 23:44:28 +00:00
James Smith
933871beb9 Add satellite countdown, Leaflet map, theme toggle, and UI improvements
- Replace canvas aircraft map with Leaflet.js + OpenStreetMap
- Add dark/light theme toggle with localStorage persistence
- Add satellite pass countdown with live timer
- Add countdown to satellite popout with selectable passes
- Add client probe analysis for WiFi privacy leak detection
- Hide waterfall and output console in satellite mode
- Fix satellite countdown to update when selecting different passes
- Update documentation with new features

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 23:42:42 +00:00
James Smith
fd9399d838 Add clickable drone details and improve UI cleanliness
- Make drone counter clickable with detailed popup showing brand, SSID,
  BSSID, channel, signal, distance estimate, and detection time
- Replace stats bar text labels with emoji icons and tooltips
- Add collapsible sections (click header to toggle)
- Slim down mode tabs with icons (📟 📡 📶 🔵)
- Tighten spacing throughout (smaller padding, margins)
- Add border-radius to buttons and tabs for softer look
- Improve hover states and visual feedback

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 18:26:06 +00:00
James Smith
2ad74a059e Add drone detection, improve rogue AP and handshake capture feedback
- Add drone detection via SSID patterns and OUI prefixes with visual alerts
- Add optional "kill interfering processes" checkbox for monitor mode to prevent
  affecting other network adapters
- Remove unused BT attack options (replay, dos, spoof, vuln scan, l2cap ping)
- Make rogue AP counter clickable to show detailed popup with all BSSIDs
- Add handshake capture status panel with real-time progress, elapsed time,
  file size, and automatic handshake detection using aircrack-ng

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 17:53:25 +00:00
James Smith
77680da014 Add WiFi reconnaissance features
New features:
- Client vendor lookup: Shows manufacturer for WiFi clients using OUI database
- 5GHz channel utilization graph: Visual display of 5GHz channel usage
- Proximity alerts: Watch list for specific MAC addresses with popup alerts
- Rogue AP detection: Alerts when same SSID appears on multiple BSSIDs
- Handshake capture status: Pulsing indicator during active capture
- Sound toggle already exists via MUTE button

UI improvements:
- Added ROGUE counter to WiFi stats bar
- Added Proximity Alerts section with watch list management
- Both 2.4GHz and 5GHz channel graphs update in real-time

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 17:31:23 +00:00
James Smith
dc5510d0b7 Improve WiFi UX: auto-select monitor interface and fix channel label color
- Channel utilization labels now white for better visibility
- After enabling monitor mode, automatically refresh interface list
- Auto-select the new monitor interface in dropdown
- Add loading state to Enable Monitor button
- Show "Ready to scan!" message after monitor mode enabled
- Simplified workflow: Select adapter → Enable Monitor → Scan

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 17:20:24 +00:00
James Smith
31efc4d276 Robust monitor mode interface detection
- Get list of interfaces before/after enabling monitor mode
- Detect new interface by comparing before/after sets
- Multiple fallback methods: new interface detection, regex patterns, iwconfig check
- Verify interface exists before using it
- Add detailed debug logging for troubleshooting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 17:10:50 +00:00
James Smith
23fb43002b Improve WiFi error messages
- Strip ANSI escape codes from airodump-ng error output
- Add helpful message for 'Failed initialising' errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 17:00:35 +00:00
James Smith
a0783cbd63 Remove Kismet option from WiFi section
- Remove kismet_process global variable
- Remove Kismet from tool status display
- Remove Kismet scan mode radio button
- Simplify start/stop WiFi functions to use airodump directly
- Remove Kismet routes (/wifi/kismet/start, /wifi/kismet/stop, /wifi/kismet/devices)
- Remove Kismet from kill_all and tools check

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 16:13:11 +00:00
James Smith
dd44cda998 Remove Ubertooth and Bettercap options from Bluetooth
Simplified Bluetooth scanning to just:
- bluetoothctl (Recommended)
- hcitool (Legacy)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 16:08:20 +00:00
James Smith
890129cba4 Remove device types, manufacturer breakdown, and tracker detection from BT
These features weren't providing useful data since:
- Most BLE devices don't broadcast friendly names
- Many OUI prefixes are unregistered/private
- Classification requires identifiable device names

Kept: Bluetooth Proximity Radar (visual device tracking)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 16:02:45 +00:00
James Smith
c3cce80fe7 Remove debug logging
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:52:15 +00:00
James Smith
64eab5c7a2 Add external OUI database for easy vendor updates
- Created oui_database.json with 300+ vendor prefixes
- Code now loads from external JSON file first, falls back to built-in
- Added /bt/reload-oui endpoint to reload database without restart
- Easy to add new vendors: just edit oui_database.json

To add a new vendor, edit oui_database.json and add:
  "XX:XX:XX": "Vendor Name"

Then call POST /bt/reload-oui or restart the server.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:44:41 +00:00
James Smith
a53bede5e6 Add Python-side debug logging for OUI and classification 2025-12-21 15:33:54 +00:00
James Smith
7573664041 Expand OUI database and improve device classification
- Expanded OUI database from ~60 to ~300+ entries covering major manufacturers:
  Apple, Samsung, Google, Sony, Bose, JBL, Beats, Jabra, Sennheiser,
  Xiaomi, Huawei, OnePlus, Fitbit, Garmin, Microsoft, Intel, Amazon, etc.

- Greatly improved classify_bt_device with extensive patterns for:
  - Audio devices (headphones, earbuds, speakers, soundbars)
  - Wearables (watches, fitness bands)
  - Phones (iPhone, Galaxy, Pixel, etc.)
  - Trackers (AirTag, Tile, SmartTag)
  - Input devices (keyboards, mice, controllers)
  - Media devices (TVs, streaming devices)
  - Computers (laptops, desktops)

- Added manufacturer-based classification as fallback
- Pass manufacturer to classify_bt_device for better inference

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:27:11 +00:00
James Smith
372460b15e Add more debug logging for device types and manufacturers
- Log device_type in updateBtTypeChart to see what values are received
- Log manufacturer in updateBtManufacturerList
- This will help diagnose why types/manufacturers aren't showing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:19:48 +00:00