Commit Graph

1485 Commits

Author SHA1 Message Date
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
James Smith
40ae516905 Fix BT device type field in charts and add debug logging
- Fixed updateBtTypeChart to use device_type instead of type field
- Fixed hcitool queue data to include device_type field (was overwriting type)
- Added console.log debug statements to trace device intelligence flow

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:17:00 +00:00
James Smith
1ccc970d96 Fix device intelligence not showing for Bluetooth devices
- Changed reconEnabled to default to true (was false when localStorage empty)
- Added else clause to properly hide panel when explicitly disabled
- Device intelligence now works by default on first run

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:10:30 +00:00
James Smith
ed6c8575ee Fix BT device type field collision - 'type' was being overwritten
The device dict had a 'type' field (audio, phone, etc.) that was
overwriting the queue message 'type: device' field. Fixed by:
- Spreading device first, then setting 'type': 'device'
- Adding 'device_type' field for the device classification
- Updating frontend to use device_type for display

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:01:55 +00:00
James Smith
197cd84f21 Add more debug logging for BT stream connection
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:59:04 +00:00
James Smith
4aaaa94f9d Add debug logging for BT queue and stream
Added debug prints to trace device flow:
- "[BT] Queuing device:" when adding to queue
- "[BT Stream] Sending device:" when SSE sends to client

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:57:31 +00:00
James Smith
fa8c44c0bf Fix bluetoothctl parsing - add missing imports and improve regex
- Add missing time and re imports in stream function
- Improve ANSI escape code stripping (add \x1b[K and \r removal)
- Make MAC address regex more explicit
- Add debug logging for Device lines

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:54:48 +00:00
James Smith
175e40a404 Fix missing time import in bluetoothctl scan
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:52:20 +00:00
James Smith
97862816bf Switch default Bluetooth scan to bluetoothctl for BT 5.x support
- Change default scan mode from hcitool (deprecated) to bluetoothctl
- Rename labels: bluetoothctl (Recommended), hcitool (Legacy)
- Add power on command before scan for reliability
- Add initialization delays for bluetoothctl startup

hcitool is deprecated for Bluetooth 5.x adapters and causes
"set scan parameters failed" errors on modern systems.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 14:50:40 +00:00
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