/WhosHere

Notifies You of Chosen People in Your Vicinity via Their Wifi Probe Requests From an Simple Web GUI

Primary LanguagePHP

WhosHere

Notifies You of Chosen People in Your Vicinity via Their Wifi Probe Requests From an Simple Web GUI. IFTTT Integration Allows for Endless Automation Features (Change Lights When Someone Arrives, Open Garage Door Automatically, Receive and SMS Message..)

Description

The script is named after my dogs, because they proactively alert me before the doorbell rings. I used to like to get them going crazy by saying, "Who's Here?!". They cause a lot of noise when someone arrives, whether it's the pizza guy or a friend/family member coming over to visit. It's not so fun now that I'm a dad because it wakes my sleeping baby up and that's no bueno for me. I created this script to passively look for cell phone probe requests and alert me if certain visitors are in the area by sending an IFTTT SMS/Android push notification to my phone. I typically get the alert before the visitor gets out of their vehicle thanks to a 9 dB antenna connected to a wifi dongle running on my Raspberry Pi.

The management is made simple due to an HTML web table that reads the database and allows you to give friendly nicknames to MAC addresses. There are also first and last seen timestamps that help you determine who someone is that visits, name them appropriately, and enable a notification checkbox to get real-time alerts next time they get close. I've recently added configuration options for alerting on new devices, alerting on signal strengh (per device), and lookups for unique SSIDs requested per MAC for easier identification.

UPDATE: This project was first created before MAC Address Randomization was introduced on Android and iOS devices. Even still, this works for tracking 90% of the devices out there. In the next release, I want to introduce sending an RTS frame to bypass this so that tracking can work 100% of the time. However, this script still works well in it's current state as a proximity alarm that you can arm and disarm.

Requirements

  1. A PC or Raspberry Pi running a Debian OS

  2. A WiFi dongle or card that supports monitor mode

Instructions

  1. Install WiFi card/adapter

  2. Clone Repo Locally (git clone https://github.com/curtbraz/WhosHere)

  3. Create an IFTTT Incoming Webhook Named "WhosHere" for SMS/Slack/Push Notifications!

  4. chmod +x and run INSTALL.sh

  5. Visit http://[ip]/WhosHere/ in a browser and enjoy!

Other Thoughts

Performance is great on my Raspberry Pi 3. I haven't tested the install script on Ubuntu yet, but it should work just the same. The new install script will set everything up for you, including configs and credentials.

If you have errors, you may have a wireless adapter installed that does not support monitor mode or you simply may not have the correct drivers installed.

I'd like to create an app for rooted mobile OS's to make this mobile for when you're on the go, all reporting to a centralized database where users can share information about MAC addresses. Imagine driving up to the parking lot of a building and knowing if and who was inside! I also think it would be neat to hook into other IFTTT applets for home automation to do things like turn on lights when you're approaching or interface with my garage door script, thermostat, or speakers. Enjoy and please let me know if you have any questions or feedback!

whoshere-screenshot

whoshere-screenshot

whoshere-screenshot

whoshere-screenshot