Know who's home. A simple network presence detector.
Project description
WiFinder
Know who's home. Panic when needed.
A simple network presence detector. Written in 2013 to know when the roommate was about to walk in - rewritten because why not.
Features
- Network Scanning: automatic network detection, MAC vendor lookup.
- Device Management: name devices, track first/last seen.
- Notifications: desktop notifications, sound alerts, Telegram bot.
- Web UI (optional): dark-mode dashboard, real-time updates, access from any device.
Why
Sometimes you want to set up a whole home automation stack. Sometimes you just want to know who's on your network.
Installation
Requirements
- Python 3.10+
- nmap (
apt install nmap/brew install nmap/ Windows) - Root/sudo access (for network scanning)
From PyPI:
pip install wifinder
Or with Docker:
docker run -d --network host -v wifinder-data:/data ghcr.io/mpescimoro/wifinder
Or from source:
git clone https://github.com/mpescimoro/wi-finder.git
cd wi-finder
pip install -e .
Usage
wifinder init # setup wizard
sudo wifinder watch # monitor (linux/mac)
wifinder watch # monitor (windows, run as admin)
wifinder watch --panic # panic mode
wifinder scan # single scan
wifinder list # list devices
wifinder list --all # include offline
wifinder add AA:BB:CC "Marco" # name a device
wifinder log # arrival/departure log
wifinder serve # web ui on :8080
System beep on arrivals by default. Enable desktop notifications in config.
Panic Mode
The original 2013 experience. Big alerts when someone arrives.
wifinder watch --panic
┌────────────────────────────────────────┐
│ OHSHITOHSHITOHSHITOHSHIT! │
└────────────────────────────────────────┘
>>> Apple, Inc. (AA:BB:CC:DD:EE:FF)
192.168.1.42
Customize in ~/.config/wifinder/config.yaml:
panic:
enabled: true
message: "HIDE EVERYTHING!"
custom_messages:
"AA:BB:CC:DD:EE:FF": "MOM'S HOME!"
Web UI
sudo wifinder serve
Opens on http://localhost:8080. Works from your phone too.
Telegram
Get a bot token from @BotFather, your chat id from @userinfobot, then:
notify:
telegram_token: "YOUR_BOT_TOKEN"
telegram_chat_id: "YOUR_CHAT_ID"
Configuration
Full config at ~/.config/wifinder/config.yaml:
network: 192.168.1.0/24
interval: 30 # scan every 30 seconds
device_ttl: 180 # wait 3 min before marking device as gone
web_port: 8080
web_host: 0.0.0.0
notify:
sound: true # system beep
desktop: false # desktop notifications
telegram_token: null # optional
telegram_chat_id: null
quiet_hours_start: 23 # quiet hours
quiet_hours_end: 7
Database
wifinder db-path # show config and db paths
wifinder db-reset # reset database (delete all data)
FAQ
Why root/sudo?
nmap needs privileges to see MAC addresses. On Windows, run as Administrator.
Phone doesn't always show up
Modern phones turn off WiFi in standby. The device_ttl setting (3 min default) handles brief disconnections so you don't get spammed with false departures.
Can I detect devices not on my network?
No. That would require monitor mode, which is probably illegal in half of Europe anyway.
GPL-3.0 — mpescimoro - Detecting roommates since 2013 - <°))><
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wifinder-2.0.0.tar.gz.
File metadata
- Download URL: wifinder-2.0.0.tar.gz
- Upload date:
- Size: 89.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d69f5443c0a0da7700ae60f7faf905a81e4228f57bc916c022234eaa0723dcb
|
|
| MD5 |
db338b5cc13720e8bf39956f45732a07
|
|
| BLAKE2b-256 |
e1a59cbd800e6dd1f4923fdfd9d5be08c57bd41308be0c69b2f47a656a08856a
|
File details
Details for the file wifinder-2.0.0-py3-none-any.whl.
File metadata
- Download URL: wifinder-2.0.0-py3-none-any.whl
- Upload date:
- Size: 91.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
377155e97a264cdfb19a32d3af5bf70806e7aa790bd3bb67cf3a9f101679e2d2
|
|
| MD5 |
ea8685251c15a4b6553ae19b560dede8
|
|
| BLAKE2b-256 |
222f4f300c3fcb6f863406dfa3b8ae1c44d13de334efc86c32a40df14dce5d5f
|