How znerox/wifimap works
WiFiMap is a self-hosted wireless-survey database and map: users filter and inspect captured networks, examine client relationships, and drill into location observations. The README also documents importing WiGLE captures and airodump-ng client data, plus a Bluetooth map. The graph reflects those documented branches, while source excerpts confirm the map/XML and client-enrichment flows; wiring for unsampled import and Bluetooth subsystems is therefore kept at the documented page/script level. Google Maps is an external rendering dependency.
Main entry points: js/index.js Network map UI · js/index.js Bluetooth map UI · js/index.js Client map UI · index.html Import and tools page
Components 25
Maps and exploration
- Network map page
wifimap/index.html - Network map UI
wifimap/js/index.js - Network XML query
wifimap/php/genxml.php - Bluetooth page
wifimap/bluetooth/index.html - Bluetooth map UI
wifimap/bluetooth/js/index.js - Bluetooth XML query
wifimap/bluetooth/php/genxml.php - Precise location page
wifimap/location/index.html - Location map UI
wifimap/location/js/index.js - Location XML query
wifimap/location/php/genxml.php
Capture ingestion
- Import and tools page
wifimap/tools/index.html - Network import
wifimap/tools/php/network_import.php - Location import
wifimap/tools/php/location_import.php - Client import
wifimap/tools/php/client_import.php
Client analysis
- Client map page
wifimap/clients/index.html - Client map UI
wifimap/clients/js/index.js - Client XML query
wifimap/clients/php/genxml_clientdata.php - Network XML query
wifimap/clients/php/genxml_networkdata.php - Connected-client linking
wifimap/tools/php/set_connected_clients_in_network.php - Probed-client linking
wifimap/tools/php/set_probing_clients_in_network.php
Data operations
- Survey database
- Vendor enrichment
wifimap/tools/php/client_mac_lookup_from_file.php
Other components
- User
- Google Maps
- WiGLE capture
- airodump-ng capture
Connections 40
- User → Network map page: opens map
- Network map page → Network map UI: loads UI
- Network map UI → Network XML query: requests filters
- Network XML query → Survey database: queries networks
- Network XML query → Network map UI: returns XML
- Network map UI → Google Maps: renders markers
- Network map UI → Precise location page: opens location
- User → Bluetooth page: opens Bluetooth
- Bluetooth page → Bluetooth map UI: loads UI
- Bluetooth map UI → Bluetooth XML query: requests filters
- Bluetooth XML query → Survey database: queries devices
- Bluetooth XML query → Bluetooth map UI: returns XML
- Bluetooth map UI → Google Maps: renders markers
- Bluetooth map UI → Precise location page: opens location
- Precise location page → Location map UI: loads UI
- Location map UI → Location XML query: requests observations
- Location XML query → Survey database: queries locations
- Location XML query → Location map UI: returns XML
- Location map UI → Google Maps: renders positions
- User → Import and tools page: opens tools
- WiGLE capture → Network import: supplies capture
- WiGLE capture → Location import: supplies capture
- airodump-ng capture → Client import: supplies capture
- Import and tools page → Network import: submits import
- Import and tools page → Location import: submits import
- Import and tools page → Client import: submits import
- Network import → Survey database: writes networks
- Location import → Survey database: writes locations
- Client import → Survey database: writes clients
- User → Client map page: opens clients
- Client map page → Client map UI: loads UI
- Client map UI → Client XML query: requests client
- Client XML query → Survey database: queries clients
- Client XML query → Client map UI: returns XML
- Client map UI → Network XML query: requests networks
- Network XML query → Survey database: queries networks
- Network XML query → Client map UI: returns XML
- Connected-client linking → Survey database: reads and updates
- Probed-client linking → Survey database: reads and updates
- Vendor enrichment → Survey database: updates vendors