Commit Graph

19 Commits

Author SHA1 Message Date
James Smith
561f38b809 Improve Bluetooth adapter reset with multiple fallback methods
- Check if running as root, try sudo -n if not
- Try rfkill unblock bluetooth first
- Fall back to bluetoothctl power off/on if hciconfig fails
- Better error messaging when adapter stays down
- Suggest manual command when auto-reset fails

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:41:13 +00:00
James Smith
ac32f8d6a1 Add auto-recovery for Bluetooth adapter I/O errors
- Detect "set scan parameters failed" and "input/output error"
- Attempt automatic adapter reset when these errors occur
- Improve reset function: kill hcitool/bluetoothctl processes,
  add delays between down/up commands for more reliable reset

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:36:21 +00:00
James Smith
225cdd5cd9 Fix device intelligence tracking for WiFi and Bluetooth
The generateDeviceId function only handled POCSAG, FLEX, and sensor
protocols. Added handlers for:
- WiFi-AP: generates WIFI_AP_<bssid>
- WiFi-Client: generates WIFI_CLIENT_<mac>
- Bluetooth/BLE: generates BT_<mac>

This fixes device tracking in the intelligence section for WiFi
and Bluetooth scans.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:34:23 +00:00
James Smith
be34b87036 Fix Bluetooth interface status detection and bluetoothctl scanning
- Fix hciconfig parsing to check for "UP RUNNING" in the full
  interface block, not just the first line
- Use pty for bluetoothctl to get proper output (interactive tools
  need a pseudo-terminal)
- Strip ANSI escape codes from bluetoothctl output
- Properly read from pty master_fd with select() for non-blocking I/O

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:31:58 +00:00
James Smith
bca22dcdd8 Fix escapeAttr function syntax for template compatibility
Rewrote escapeAttr to use simple replace chains instead of
arrow function with object lookup, which was causing JavaScript
parsing issues.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:23:39 +00:00
James Smith
bb6386783a Security fixes and Bluetooth improvements
Security:
- Add escapeAttr() and validation functions to prevent XSS in onclick handlers
- Escape BSSID, MAC, channel, manufacturer, tracker names in HTML output
- Add backend is_valid_mac() and is_valid_channel() validation
- Validate MAC addresses in /wifi/deauth, /wifi/handshake/capture, /bt/ping, /bt/dos
- Add bounds checking for count/size parameters to prevent abuse

Bluetooth:
- Fix stuck scan state by checking if process is actually running
- Add /bt/reset endpoint to force reset adapter and clear state
- Add "Reset Adapter" button to UI

WiFi:
- Improve monitor interface regex to require digits (prevents matching "airmon")
- Add second fallback to look for exact interface name + "mon"

Other:
- Fix redundant CSV parsing bounds check
- 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 14:11:00 +00:00
James Smith
902575b583 Fix regex parsing of airmon-ng monitor interface name
The previous regex incorrectly captured "for" from airmon-ng output
like "monitor mode enabled for [phy0]wlp3s0 on wlp3s0mon". Now uses
a more specific pattern that looks for "on <interface>mon" first,
with fallback to any word ending in "mon".

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 11:01:07 +00:00
James Smith
e5eb95231c Add error handling for WiFi and Bluetooth scanning
- Add stderr capture and display for airodump-ng errors in WiFi scanning
- Add early failure detection with helpful error messages for WiFi scan
- Add timeout warning when no scan data received after 5 seconds
- Add error handling for Bluetooth scanning with stderr capture
- Add showError() function to display errors in red in the output panel
- Add error type handlers to WiFi and Bluetooth SSE event streams
- Hide RTL-SDR device section when in WiFi or Bluetooth modes
- Improve error messages with install instructions for missing tools

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-20 12:24:13 +00:00
James Smith
2f9bc3a26e Add acknowledgments for WiFi and Bluetooth tools
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 22:05:19 +00:00
Smittix
3b0565e8a9 Update README.md 2025-12-19 22:03:55 +00:00
James Smith
19d62a904f Update README with WiFi and Bluetooth features
- Add WiFi reconnaissance features documentation
- Add Bluetooth scanning features documentation
- Add new software requirements (aircrack-ng, BlueZ, etc.)
- Add installation instructions for WiFi and BT tools
- Add WiFi and Bluetooth API endpoints
- Expand disclaimer section with detailed terms

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 22:01:27 +00:00
James Smith
820b8e0dab Update screenshot
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 21:59:14 +00:00
James Smith
d61718683b Add disclaimer modal and auto-stop on mode switch
- Add disclaimer modal requiring acceptance on first visit
- Store acceptance in localStorage to remember returning users
- Add hacker-themed rejection page for declined users
- Auto-stop running scans when switching between modes
- Rename Bluetooth tab to "BT" for cleaner UI

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 17:17:00 +00:00
James Smith
5a73fe7fb9 Add Bluetooth scanning and WiFi recon capabilities
- Add Bluetooth tab with BLE/Classic device scanning
- Support multiple scan modes: hcitool, bluetoothctl, Ubertooth, Bettercap
- Add tracker detection (AirTag, Tile, Samsung SmartTag, Chipolo)
- Add device intelligence with manufacturer lookup and classification
- Add BT attack capabilities (L2CAP ping, DoS test, service enumeration)
- Add Bluetooth visualizations (radar, device type chart, manufacturer list)
- Add WiFi recon with monitor mode, network scanning, and deauth
- Add channel utilization and security overview charts
- Fix radar sizing and panel overflow issues

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 16:47:47 +00:00
James Smith
63b12e7b43 Add rtl_433 sensor decoding and UI improvements
Features:
- Add 433MHz sensor decoding via rtl_433 integration
- Add mode tabs to switch between Pager and 433MHz modes
- Add sensor data display with device model, readings
- Add separate stats for sensors (readings count, unique devices)
- Add favicon
- Add audio alerts, export (CSV/JSON), signal meter, waterfall display
- Add auto-restart on frequency change
- Add relative timestamps

UI:
- Add author credit (smittix) to header
- Fix tool status alignment with grid layout
- Update stats display to switch with mode tabs

Docs:
- Update README with rtl_433 installation and usage
- Add "What is INTERCEPT?" section explaining front-end purpose
- Add author section and badge
- Update LICENSE copyright

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 15:25:48 +00:00
James Smith
9cefaed0f0 Add audio alerts, export options, signal meter, and UI enhancements
- Audio alerts on new messages with mute toggle (persisted in localStorage)
- CSV and JSON export for captured messages
- Signal strength meter showing message activity
- Waterfall display with activity visualization
- Auto-scroll toggle (persisted in localStorage)
- Relative timestamps (e.g., "5s ago", "2m ago")
- Visual feedback on control buttons (active/muted states)
- Flash effect on waterfall canvas when messages arrive

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 14:26:05 +00:00
Smittix
68b74de2e7 Update README.md 2025-12-19 14:16:07 +00:00
Smittix
324df4e3c0 Add files via upload 2025-12-19 14:13:52 +00:00
James Smith
16d60d2684 Initial release of INTERCEPT - POCSAG/FLEX pager decoder
Features:
- Real-time POCSAG (512/1200/2400) and FLEX decoding
- Web-based interface with SpaceX-inspired dark theme
- Live message streaming via SSE
- Message logging to file
- Customizable frequency presets
- RTL-SDR device detection and selection
- Configurable gain, squelch, and PPM correction

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 14:02:10 +00:00