Commit Graph

249 Commits

Author SHA1 Message Date
Smittix a4fe16ce57 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 2dac90bbe5 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 0dd2be9fbb 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 8bfb1b6db7 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 197c859477 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 7fed54d6da 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 869796fb21 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 1da98bbada 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 f6c9b9f185 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 f03642c362 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 02918cd4ea 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
Smittix e045530cdb Add WiFi device selection and fix signal strength display
- Add Selected Device panel showing detailed info for networks/clients
- Make network cards clickable to view details
- Make probe analysis client entries clickable
- Fix signal strength to show "N/A" when airodump returns -1
- Add visual signal meter and action buttons to selected device panel

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:23:27 +00:00
Smittix f00ff44526 Improve WiFi monitor mode and scan interface detection
- Verify monitor interface actually exists before returning success
- Check for common interface naming patterns (wlan0mon, wlan1mon, etc.)
- Add interface existence check before starting scan
- Show available interfaces in error messages for debugging
- Better logging of monitor mode and scan failures

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:11:23 +00:00
Smittix dffbd6fc3d Fix ADS-B tab and improve WiFi scanning feedback
- Hide waterfall and output panels in aircraft mode (use dedicated visualization)
- Add aircraft list panel with clickable aircraft selection
- Add selected aircraft info panel showing altitude, speed, heading, squawk
- Add "Open Full Dashboard" button linking to dedicated aircraft radar
- Add debugging console logs and alert messages to WiFi scan function
- Better error feedback when WiFi interface not selected or scan fails

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:08:36 +00:00
Smittix 96b73b0fe7 Improve WiFi device selection visibility and error handling
- Added "Select Device" label to WiFi adapter dropdown
- Better error handling with user notifications when interfaces fail to load
- Shows loading state while detecting interfaces
- Clearer notification messages for found/missing interfaces

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:01:47 +00:00
Smittix 285ef434ea Fix WiFi section scrolling to show channel recommendation and correlation
- Changed output-panel overflow from hidden to auto
- Allows scrolling to see all content including bottom panels

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:59:30 +00:00
Smittix 9f885d0df4 Streamline WiFi scanning with auto monitor mode and better device detection
- Auto-enable monitor mode when clicking Start Scanning (no manual step needed)
- Improved WiFi interface detection using airmon-ng for chipset info
- Added lsusb fallback for USB adapter identification
- Fixed interface display format in enableMonitorMode callback
- Better error handling and status notifications during scan startup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:57:09 +00:00
Smittix 9fbfbe28be Improve WiFi device identification, remove signal history, fix Listen button
- WiFi interfaces now show driver, chipset, and MAC address for easier identification
- Remove signal history feature from WiFi and Bluetooth sections (HTML, JS, CSS, API)
- Fix Listen button in Listening Post signal hits to properly tune to frequency
- Make stopAudio() async and improve tuneToFrequency() with proper awaits
- Fix Device Intelligence panel auto-expand and manufacturer display

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:53:38 +00:00
Smittix 9c33c5912f Parse Bluetooth RSSI from bluetoothctl output
- Capture RSSI from [CHG] Device XX:XX RSSI: -XX lines
- Update device RSSI in real-time as bluetoothctl reports changes
- Auto-refresh selected device panel when RSSI updates
- Preserve RSSI when merging device updates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:40:49 +00:00
Smittix 06cf30b322 Add Bluetooth selected device details panel
- New panel shows full device details when clicked
- Displays name, type, RSSI with signal bars, MAC, manufacturer
- Shows tracker/FindMy badges for detected trackers
- Buttons to enumerate services and copy MAC address
- Reorganized BT visualization layout

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:37:03 +00:00
Smittix dfdbb9b3ff Enlarge Selected Target panel for aircraft photos
- Increased max-height from 280px to 480px
- Added styling for photo container with cyan border
- Photo limited to 140px height with cover fit

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:34:12 +00:00
Smittix dd7a8d9d63 Add requests to requirements.txt
Required for aircraft photo API calls.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:30:45 +00:00
Smittix 9ee9515bc8 Add Bluetooth device list and tracker panels
- Added clickable device list panel sorted by signal strength
- Added dedicated tracker detection panel for AirTags/Tiles
- Clicking a device selects it for signal tracking and targeting
- Devices show name, MAC, RSSI with color-coded signal strength

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:29:25 +00:00
Smittix ae2499c869 Fix Listening Post audio issues
- Add auto-reconnect on audio player errors/stalls
- Fix tuneToFrequency to properly wait between stop/start
- Improve ffmpeg encoding: 96k bitrate, 44.1kHz output, low latency flags
- Increase stream chunk size for smoother playback

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:26:55 +00:00
Smittix 45c7c0e416 Add aircraft photos from Planespotters.net
- Backend route to proxy photo requests from Planespotters API
- Frontend displays photo in Selected Target panel when available
- Photos are cached to avoid repeated API calls
- Clicking photo links to full image on Planespotters.net

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:22:29 +00:00
Smittix 6015fada79 Add bias_t parameter to build_adsb_command()
Completes bias-T support across all SDR command builder methods.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:17:02 +00:00
Smittix cd7a06fc15 Remove bufsize=1 from sensor subprocess
Line buffering only works with text mode, not binary pipes.
Fixes RuntimeWarning about line buffering.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:15:14 +00:00
Smittix cacf483a0b Add bias_t parameter to build_ism_command()
Same fix as build_fm_demod_command() - the parameter was being
passed but not defined in the method signatures.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:08:38 +00:00
Smittix 24dbfc8ce7 Add bias_t parameter to SDR command builders
The bias_t parameter was being passed to build_fm_demod_command()
but wasn't defined in the method signatures, causing an unexpected
keyword argument error.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:05:11 +00:00
Smittix c06a97a20f Add python3-venv to Debian package installs
Required for creating Python virtual environments on Ubuntu/Debian.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 12:00:23 +00:00
Smittix c31acefc15 Fix unbound variable error in dump1090 build
Wrap build in subshell to isolate EXIT trap, preventing
orig_dir unbound variable error at script exit.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 11:58:14 +00:00
Smittix 383293289f Add progress bar to setup script
Shows step counter with visual progress bar during installation:
[3/15] ██████░░░░░░░░░░░░░░ 20% - Installing ffmpeg

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 11:55:17 +00:00
Smittix 19865457cd Suppress needrestart prompts on Ubuntu Server
Set DEBIAN_FRONTEND and NEEDRESTART_MODE to prevent the
"scanning processes/candidates/microcode" messages during apt installs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 11:48:10 +00:00
Smittix 6b1135dd7f Add security hardening and bias-t support
Security improvements:
- Add interface name validation to prevent command injection
- Fix XSS vulnerability in pager message display
- Add security headers (X-Content-Type-Options, X-Frame-Options, etc.)
- Disable Werkzeug debug PIN
- Add security documentation

Features:
- Add bias-t power support for SDR dongles across all modes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 11:29:24 +00:00
Smittix 7de04e8846 Merge pull request #36 from JonanOribe/main
Thanks for the contribution! The Bluetooth tests look great and will help ensure stability as we continue development.
2026-01-08 10:38:04 +00:00
Jon Ander Oribe 7a352fad34 Merge branch 'main' into main 2026-01-08 06:57:33 +01:00
Jon Ander Oribe f781df3d62 Update .gitignore 2026-01-08 06:51:08 +01:00
Jon Ander Oribe 65d5ebfbe6 Delete uv.lock 2026-01-08 06:47:15 +01:00
Jon Ander Oribe 3399a55f2e Update 2026-01-08 06:46:52 +01:00
Smittix b71b59d80e Update README.md with project details and features 2026-01-07 21:45:09 +00:00
Smittix 05c834a30e Update troubleshooting guide with new issues and solutions
Added additional troubleshooting steps for ADS-B mode and installation issues.
2026-01-07 21:44:22 +00:00
Smittix 83238f6eb8 Update README with new features and installation details 2026-01-07 21:38:54 +00:00
Smittix 9be0ae43ad Update troubleshooting guide for clarity and details 2026-01-07 21:30:21 +00:00
Smittix b8988c2407 Revise hardware setup and installation instructions
Updated hardware setup documentation with new installation instructions and tool references.
2026-01-07 21:26:56 +00:00
Smittix 66e31c2bda Revise README for better clarity and organization
Updated README to improve clarity and structure, including installation instructions and troubleshooting.
2026-01-07 21:23:51 +00:00
Smittix e11e4d21f0 Add uv.lock to .gitignore
Prevent accidental commits of uv lock files since we use
requirements.txt for dependency management.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:46:14 +00:00
Smittix f57180dc05 Add pager message filtering (closes #40)
Add ability to filter out unwanted pager messages from display:
- Hide "Tone Only" messages by default (toggle in UI)
- Custom keyword filter (comma-separated list)
- Filtered messages are still logged and counted, just hidden from view
- Filter settings persist in localStorage

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:14:46 +00:00
Smittix 17a1131803 Consolidate setup scripts into single setup.sh
Merge the improved setup-dev.sh logic into setup.sh and remove the
separate dev script. The consolidated script includes:
- Stricter bash error handling (set -Eeuo pipefail)
- Cleaner output with info/ok/warn/fail helpers
- gpsd installation for GPS daemon support
- Required tools verification with hard fail
- Source build fallback for dump1090

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:07:40 +00:00
Smittix e3d3a9271b Add gpsd installation to setup-dev.sh
Include gpsd daemon in the setup script for both macOS (via Homebrew)
and Debian/Ubuntu (via apt with gpsd-clients). Also add gpsd to the
required tools check.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:04:57 +00:00
Smittix 59e401269b Simplify GPS to gpsd-only and streamline UI controls
Remove direct serial GPS dongle support in favor of gpsd daemon connectivity.
The UI now auto-connects to gpsd on page load and shows a GPS indicator when connected.
Simplify ADS-B dashboard controls bar for a cleaner, more compact layout.
Add setup-dev.sh for streamlined development environment setup.

- Remove GPSReader class and NMEA parsing (utils/gps.py)
- Consolidate to GPSDClient only with auto-connect endpoint
- Add GPS indicator with pulsing dot animation
- Compact controls bar with smaller fonts and tighter spacing
- Add aircraft database download banner/functionality

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 19:49:58 +00:00