Commit Graph

88 Commits

Author SHA1 Message Date
James Smith 62cb76441b Remove accidental file 2025-12-22 18:00:44 +00:00
James Smith d4c1ce2040 Fix polar plot trajectory to only show during active passes
The trajectory line now only appears when the satellite is currently
making the selected pass, fixing the confusing mismatch between the
predicted path and real-time position.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 18:00:20 +00:00
James Smith 9a4a629427 Fix satellite orbit track crossing antimeridian
Split orbit track into segments when longitude jumps > 180° to prevent
Leaflet from drawing lines across the entire map at the antimeridian.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:33:33 +00:00
James Smith b07a46809b Fix satellite dashboard map - remove old track lines properly
- Clear trackLine, satMarker, and orbitTrack before adding new ones
- Remove duplicate cleanup code
- Clear pass track when showing live orbit to avoid confusion

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:26:44 +00:00
James Smith d995199c22 Fix ADS-B field name: use 'alt' instead of 'altitude'
Dashboard expects 'alt' but backend was sending 'altitude'.
Fixed in MSG,3 and MSG,5 parsing.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:13:06 +00:00
James Smith e838f79304 Fix ADS-B start endpoint and add debugging
- Return 'success' status instead of 'started'
- Return 'already_running' status instead of 'error' when already running
- Add console logging in dashboard for debugging
- Add backend print statements for debugging
- Better error message display in alerts

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:10:21 +00:00
James Smith e1af4fc7c0 Fix aircraft dashboard start tracking status check
- Accept 'started' status in addition to 'success' and 'already_running'
- Show actual status in error message for debugging

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:08:47 +00:00
James Smith 6dc7751569 Add hi-tech ADS-B aircraft radar dashboard
- New route at /adsb/dashboard for standalone aircraft tracking
- Green-themed radar display with animated grid background
- Live map with aircraft markers colored by altitude
- Aircraft list sorted by altitude with callsign, speed, heading
- Selected aircraft detail panel with full telemetry
- Statistics panel (total, with position, max/avg altitude)
- Start/Stop tracking button
- Auto-cleanup of stale aircraft after 60 seconds
- Responsive layout for different screen sizes
- Uses existing /adsb/stream SSE endpoint for real-time data

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 17:02:26 +00:00
James Smith 244c0685b1 Fix JSON serialization errors - convert numpy types to native Python
- Convert all skyfield/numpy values to float() in /satellite/position
- Convert all skyfield/numpy values to float() in /satellite/predict
- Use bool() for visible flag
- Use int() for duration

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 16:54:43 +00:00
James Smith e88f1df208 Fix field name mismatches between backend and frontend
- Backend: trajectory uses 'el'/'az' instead of 'elevation'/'azimuth'
- Backend: added 'norad' and 'startTimeISO' fields to pass data
- Backend: added colors for NOAA-20 and METEOR-M2-3
- Frontend: fixed renderPassList to use 'satellite' and 'startTime'
- Frontend: fixed updateCountdown to use 'startTimeISO' and 'satellite'
- Frontend: fixed updateStats to count satellites object keys

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 16:52:52 +00:00
James Smith 7f35d9c61d Fix live telemetry and sky view updates on satellite change
- Real-time position updates now use selectedSatellite directly
- Added drawPolarPlotWithPosition() for live satellite position display
- Fixed /satellite/position endpoint to accept NORAD IDs
- Fixed parameter names (latitude/longitude) consistency
- Fixed response field name (track instead of orbitTrack)
- Shows satellite name and elevation on polar plot
- Glowing marker effect on current position
- Shows "BELOW HORIZON" indicator when satellite not visible

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 16:02:17 +00:00
James Smith 2e7cbd6904 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 4352e886b5 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 878710e4f7 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 6e4d78af81 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 b3f89b2717 Update README.md 2025-12-22 15:35:24 +00:00
Smittix 42b4f2e98e Add files via upload 2025-12-22 15:35:03 +00:00
Smittix 1c5a1d0f10 Delete screenshot2.png 2025-12-22 15:34:48 +00:00
Smittix fe04697eff Add files via upload 2025-12-22 15:33:38 +00:00
Smittix dce627eb68 Delete screenshot2.png 2025-12-22 15:33:23 +00:00
James Smith bea4005981 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 ccf6c5d227 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 7210a3b4e1 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 ee86df913c 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 b3c72b7389 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 919e7a1064 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 d182632111 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 acbe51e149 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 8c77ae5655 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 3d839c5800 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 e684f49b42 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 886dabe4be 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 3def0bf11b 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 35ed682ffe 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 12ef63cee6 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 c98a4208a8 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 c61cd6297d 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 a89687fabe 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 bd06494407 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 a98c2aacd6 Update README.md 2025-12-22 08:24:59 +00:00
Smittix cdee0ae448 Add files via upload 2025-12-22 08:24:40 +00:00
Smittix 8bac903316 Delete screenshot1.png 2025-12-22 08:24:25 +00:00
Smittix d6e92d0bc6 Update README.md 2025-12-21 23:57:21 +00:00
Smittix fc86790f86 Add files via upload 2025-12-21 23:57:08 +00:00
James Smith 1853f88b4c 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 fc7a3912de 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 9a2cc48377 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 d26030c16c 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 71bcd3e6ce 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 f20bc1fba0 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