diff --git a/static/css/help-modal.css b/static/css/help-modal.css
index 561f632..51b0a16 100644
--- a/static/css/help-modal.css
+++ b/static/css/help-modal.css
@@ -14,6 +14,7 @@
z-index: 10000;
overflow-y: auto;
padding: 40px 20px;
+ font-family: var(--font-mono, 'IBM Plex Mono', 'Space Mono', ui-monospace, monospace);
}
.help-modal.active {
@@ -26,37 +27,41 @@
background: var(--bg-card, var(--bg-secondary, #0f1218));
border: 1px solid var(--border-color, #1f2937);
border-radius: 8px;
- padding: 30px;
+ padding: 24px;
position: relative;
}
.help-content h2 {
color: var(--accent-cyan, #4a9eff);
- margin-bottom: 20px;
- font-size: 24px;
+ margin-bottom: 16px;
+ font-size: 15px;
letter-spacing: 2px;
+ text-transform: uppercase;
+ font-weight: 600;
}
.help-content h3 {
color: var(--text-primary, #e8eaed);
- margin: 25px 0 15px 0;
- font-size: 14px;
+ margin: 20px 0 10px 0;
+ font-size: 11px;
text-transform: uppercase;
letter-spacing: 1px;
border-bottom: 1px solid var(--border-color, #1f2937);
- padding-bottom: 8px;
+ padding-bottom: 6px;
+ font-weight: 600;
}
.help-close {
position: absolute;
- top: 15px;
- right: 15px;
+ top: 12px;
+ right: 12px;
background: none;
border: none;
color: var(--text-dim, #4b5563);
- font-size: 24px;
+ font-size: 20px;
cursor: pointer;
transition: color 0.2s;
+ line-height: 1;
}
.help-close:hover {
@@ -66,43 +71,54 @@
.help-modal .icon-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
- gap: 12px;
- margin: 15px 0;
+ gap: 8px;
+ margin: 10px 0;
}
.help-modal .icon-item {
display: flex;
align-items: center;
- gap: 10px;
- padding: 10px;
+ gap: 8px;
+ padding: 6px 8px;
background: var(--bg-primary, #0a0c10);
border: 1px solid var(--border-color, #1f2937);
border-radius: 4px;
- font-size: 12px;
+ font-size: 11px;
}
.help-modal .icon-item .icon {
- font-size: 18px;
- width: 30px;
- text-align: center;
+ width: 20px;
+ height: 20px;
+ flex-shrink: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.help-modal .icon-item .icon svg {
+ width: 16px;
+ height: 16px;
}
.help-modal .icon-item .desc {
color: var(--text-secondary, #9ca3af);
+ font-size: 10.5px;
+ line-height: 1.3;
}
.help-modal .tip-list {
list-style: none;
padding: 0;
- margin: 15px 0;
+ margin: 10px 0;
}
.help-modal .tip-list li {
- padding: 8px 0;
- padding-left: 20px;
+ padding: 5px 0;
+ padding-left: 16px;
position: relative;
color: var(--text-secondary, #9ca3af);
- font-size: 13px;
+ font-size: 11px;
+ line-height: 1.5;
border-bottom: 1px solid var(--border-color, #1f2937);
}
@@ -118,10 +134,15 @@
font-weight: bold;
}
+.help-modal .tip-list li strong {
+ color: var(--text-primary, #e8eaed);
+ font-weight: 600;
+}
+
.help-tabs {
display: flex;
gap: 0;
- margin-bottom: 20px;
+ margin-bottom: 16px;
border: 1px solid var(--border-color, #1f2937);
border-radius: 4px;
overflow: hidden;
@@ -129,12 +150,13 @@
.help-tab {
flex: 1;
- padding: 10px;
+ padding: 8px;
background: var(--bg-primary, #0a0c10);
border: none;
color: var(--text-secondary, #9ca3af);
cursor: pointer;
- font-size: 11px;
+ font-family: var(--font-mono, 'IBM Plex Mono', 'Space Mono', ui-monospace, monospace);
+ font-size: 10px;
text-transform: uppercase;
letter-spacing: 1px;
transition: all 0.15s ease;
@@ -176,9 +198,9 @@
/* Ensure code tags are styled */
.help-modal code {
background: var(--bg-tertiary, #151a23);
- padding: 2px 6px;
+ padding: 1px 5px;
border-radius: 3px;
- font-family: var(--font-mono, 'JetBrains Mono', monospace);
- font-size: 11px;
+ font-family: var(--font-mono, 'IBM Plex Mono', 'Space Mono', ui-monospace, monospace);
+ font-size: 10.5px;
color: var(--accent-cyan, #4a9eff);
}
diff --git a/templates/index.html b/templates/index.html
index 1502099..5ef4f36 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -15456,313 +15456,8 @@
-
-
-
-
-
iNTERCEPT Help
+ {% include 'partials/help-modal.html' %}
-
-
-
-
-
-
-
-
-
-
Stats Bar Icons
-
-
📟POCSAG messages decoded
-
-
📠FLEX messages decoded
-
-
📨Total messages received
-
-
🌡️Unique sensors
- detected
-
📊Device types found
-
-
🛰️Satellites monitored
-
-
📡WiFi Access Points
-
-
👤Connected WiFi clients
-
-
🤝Captured handshakes
-
-
🚁Detected drones (click for
- details)
-
⚠️Rogue APs (click for
- details)
-
🔵Bluetooth devices
-
📍BLE beacons / APRS
- stations
-
-
-
Mode Tab Icons
-
-
📟Pager - POCSAG/FLEX
- decoder
-
📡433MHz - Sensor decoder
-
-
⚡Meters - Utility meter decoder
-
-
✈️Aircraft - ADS-B tracking & history
-
🚢Vessels - AIS & VHF DSC distress
-
📻Spy Stations - Number stations database
-
📍APRS - Amateur radio
- tracking
-
🛰️Satellite - Pass
- prediction
-
📶WiFi - Network scanner
-
-
🔵Bluetooth - BT/BLE
- scanner
-
📻Listening Post - SDR
- scanner
-
🔍TSCM -
- Counter-surveillance
-
📺ISS SSTV - Space station
- images
-
📺HF SSTV - Terrestrial
- SSTV images
-
-
-
-
-
-
Pager Mode
-
- - Decodes POCSAG and FLEX pager signals using RTL-SDR
- - Set frequency to local pager frequencies (common: 152-158 MHz)
- - Messages are displayed in real-time as they're decoded
- - Use presets for common pager frequencies
-
-
-
433MHz Sensor Mode
-
- - Decodes wireless sensors on 433.92 MHz ISM band
- - Detects temperature, humidity, weather stations, tire pressure monitors
- - Supports many common protocols (Acurite, LaCrosse, Oregon Scientific, etc.)
- - Device intelligence builds profiles of recurring devices
-
-
-
Utility Meter Mode
-
- - Decodes utility meter transmissions (water, gas, electric) using rtlamr
- - Supports ERT protocol on 912 MHz (North America) or 868 MHz (Europe)
- - Displays meter IDs and consumption data in real-time
- - Supports SCM, SCM+, IDM, NetIDM, and R900 message types
-
-
-
Aircraft (Dashboard)
-
- - Opens the dedicated ADS-B Dashboard for aircraft tracking
- - Features radar scope, map view, airband audio, and ACARS decoding
- - Optional history mode persists data to Postgres for long-term analysis
- - Access history dashboard at
/adsb/history
-
-
-
Vessels (Dashboard)
-
- - Opens the AIS Dashboard for maritime vessel tracking
- - Displays vessel name, MMSI, callsign, destination, and navigation data
- - VHF DSC Channel 70: Monitors maritime distress frequency (156.525 MHz)
- - Decodes DSC messages: Distress, Urgency, Safety, and Routine calls
- - MMSI country identification via Maritime Identification Digits (MID)
- - Visual alerts for DISTRESS and URGENCY messages with map markers
-
-
-
Spy Stations
-
- - Database of number stations and diplomatic HF networks
- - Browse stations from priyom.org with frequencies and schedules
- - Filter by type (number/diplomatic), country, and mode
- - Famous stations: UVB-76 "The Buzzer", Cuban HM01, Israeli E17z
- - Click "Tune" to listen via Listening Post mode
-
-
-
APRS Mode
-
- - Decodes APRS (Automatic Packet Reporting System) on VHF
- - Tracks amateur radio operators transmitting position data
- - Regional frequencies: 144.390 MHz (N. America), 144.800 MHz (Europe)
- - Uses Direwolf or multimon-ng for packet decoding
- - Interactive map shows station positions in real-time
-
-
-
Satellite Mode
-
- - Track satellites using TLE (Two-Line Element) data
- - Add satellites manually or fetch from Celestrak by category
- - Categories: Amateur, Weather, ISS, Starlink, GPS, and more
- - View next pass predictions with elevation and duration
-
-
-
WiFi Mode
-
- - Requires a WiFi adapter capable of monitor mode
- - Click "Enable Monitor" to put adapter in monitor mode
- - Scans all channels or lock to a specific channel
- - Detects drones by SSID patterns and manufacturer OUI
- - Rogue AP detection flags same SSID on multiple BSSIDs
- - Click network rows to target for deauth or handshake capture
-
-
-
Bluetooth Mode
-
- - Scans for classic Bluetooth and BLE devices
- - Shows device names, addresses, and signal strength
- - Manufacturer lookup from MAC address OUI
- - Radar visualization shows device proximity
-
-
-
Listening Post Mode
-
- - Wideband SDR scanner with spectrum visualization
- - Tune to any frequency supported by your SDR hardware
- - AM/FM/USB/LSB demodulation modes
- - Bookmark frequencies for quick recall
- - Quick tune presets for emergency and marine channels
-
-
-
TSCM Mode
-
- - Technical Surveillance Countermeasures sweep
- - Scans for unknown RF transmitters, WiFi devices, Bluetooth
- - Baseline comparison to detect new/anomalous devices
- - Threat classification: Critical, High, Medium, Low
- - Useful for security audits and bug sweeps
- - Note: This feature is in early development
-
-
-
Meshtastic Mode
-
- - Integrates with Meshtastic LoRa mesh network devices
- - Connect Heltec, T-Beam, RAK, or other compatible devices via USB
- - Real-time message streaming with RSSI and SNR metrics
- - Configure channels with encryption keys
- - View connected nodes and message history
- - Requires: Meshtastic device +
pip install meshtastic
-
-
-
ISS SSTV Mode
-
- - Decode Slow-Scan Television images from the International Space Station
- - ISS transmits on 145.800 MHz FM during special ARISS events
- - Real-time ISS tracking map with ground track overlay
- - Next-pass countdown with elevation and duration predictions
- - Optional Doppler shift compensation for improved reception
- - Requires: RTL-SDR (no external decoder needed - built-in Python SSTV decoder)
-
-
-
HF SSTV Mode
-
- - Decode terrestrial SSTV images on HF/VHF/UHF amateur radio frequencies
- - Predefined frequencies: 14.230 MHz USB (20m, most popular), 3.845/7.171 MHz LSB, and more
- - Supports USB, LSB, and FM demodulation modes
- - Auto-detects correct modulation when selecting a preset frequency
- - HF frequencies (below 30 MHz) require an upconverter with RTL-SDR
- - Requires: RTL-SDR (+ upconverter for HF, no external decoder needed)
-
-
-
-
-
-
Monitor Mode
-
- - Enable Monitor: Puts WiFi adapter in monitor mode for passive scanning
- - Kill Processes: Optional - stops NetworkManager/wpa_supplicant (may drop other
- connections)
- - Some adapters rename when entering monitor mode (e.g., wlan0 → wlan0mon)
-
-
-
Handshake Capture
-
- - Click "Capture" on a network to start targeted handshake capture
- - Status panel shows capture progress and file location
- - Use deauth to force clients to reconnect (only on authorized networks!)
- - Handshake files saved to /tmp/intercept_handshake_*.cap
-
-
-
Drone Detection
-
- - Drones detected by SSID patterns (DJI, Parrot, Autel, etc.)
- - Also detected by manufacturer OUI in MAC address
- - Distance estimated from signal strength (approximate)
- - Click drone count in stats bar to see all detected drones
-
-
-
Rogue AP Detection
-
- - Flags networks where same SSID appears on multiple BSSIDs
- - Could indicate evil twin attack or legitimate multi-AP setup
- - Click rogue count to see which SSIDs are flagged
-
-
-
Proximity Alerts
-
- - Add MAC addresses to watch list for alerts when detected
- - Watch list persists in browser localStorage
- - Useful for tracking specific devices
-
-
-
Client Probe Analysis
-
- - Shows what networks client devices are looking for
- - Orange highlights indicate sensitive/private network names
- - Reveals user location history (home, work, hotels, airports)
- - Useful for security awareness and pen test reports
-
-
-
-
-
-
General Tips
-
- - Collapsible sections: Click any section header (▼) to collapse/expand
- - Sound alerts: Toggle sound on/off in settings for each mode
- - Export data: Use export buttons to save captured data as JSON
- - Device Intelligence: Tracks device patterns over time
- - Theme toggle: Click the theme button in header to switch dark/light mode
- - Settings: Click the gear icon in the header to access settings
- - Offline mode: Enable in Settings to use local assets without internet
-
-
-
Keyboard Shortcuts
-
- - F1 - Open this help page
- - ? - Open help (when not typing in a field)
- - Escape - Close help and modal dialogs
-
-
-
Requirements
-
- - Pager: RTL-SDR, rtl_fm, multimon-ng
- - 433MHz Sensors: RTL-SDR, rtl_433
- - Utility Meters: RTL-SDR, rtl_tcp, rtlamr
- - Aircraft (ADS-B): RTL-SDR, dump1090 or rtl_adsb
- - Aircraft (ACARS): Second RTL-SDR, acarsdec
- - Vessels (AIS): RTL-SDR, AIS-catcher
- - APRS: RTL-SDR, direwolf or multimon-ng
- - Satellite: Internet for Celestrak (optional), skyfield
- - WiFi: Monitor-mode adapter, aircrack-ng suite
- - Bluetooth: Bluetooth adapter, bluez (hcitool/bluetoothctl)
- - Listening Post: RTL-SDR or SoapySDR-compatible hardware
- - TSCM: WiFi adapter, Bluetooth adapter, RTL-SDR (all optional)
- - Run as root/sudo for full hardware access
-
-
-
Legal Notice
-
- - Only use on networks and devices you own or have authorization to test
- - Passive monitoring may be legal; active attacks require authorization
- - Check local laws regarding radio frequency monitoring
-
-
-
-
diff --git a/templates/partials/help-modal.html b/templates/partials/help-modal.html
index 9cdc399..1fc663c 100644
--- a/templates/partials/help-modal.html
+++ b/templates/partials/help-modal.html
@@ -20,19 +20,19 @@
Stats Bar Icons
-
📟POCSAG messages decoded
-
📠FLEX messages decoded
-
📨Total messages received
-
🌡️Unique sensors detected
-
📊Device types found
-
🛰️Satellites monitored
-
📡WiFi Access Points
-
👤Connected WiFi clients
-
🤝Captured handshakes
-
🚁Detected drones (click for details)
-
⚠️Rogue APs (click for details)
-
🔵Bluetooth devices
-
📍BLE beacons / APRS stations
+
POCSAG messages decoded
+
FLEX messages decoded
+
+
+
Device types found
+
+
+
+
+
Detected drones (click for details)
+
Rogue APs (click for details)
+
+
BLE beacons / APRS stations
Mode Tab Icons