Files
quartz/content/10-19 LIFE/13 TECH SETUP/13.11 APPS/whosthere.md
Quartz Syncer 125a9b1752
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
Published multiple files
2026-02-05 09:53:27 -07:00

105 lines
1.9 KiB
Markdown

---
publish: true
permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/whosthere.md
title: whosthere
created: 2026-02-05T08:46:27.958-07:00
modified: 2026-02-05T09:12:58.918-07:00
tags:
- network
- lan
- discovery
cssclasses: ""
---
whosthere is a LAN discovery tool with a modern TUI. It discovers devices on your network using mDNS, SSDP, and ARP scanning—all without requiring root privileges.
## Installation
**Arch Linux (via AUR):**
```bash
yay -S whosthere-bin
```
**Homebrew:**
```bash
brew install whosthere
```
**Go:**
```bash
go install github.com/ramonvermeulen/whosthere@latest
```
## Usage
### Interactive TUI
```bash
whosthere
```
Navigate with arrow keys or vim bindings:
- `j/k` - Move up/down
- `Enter` - Select/expand
- `q` - Quit
- `r` - Refresh scan
- `p` - Port scan selected device
### Daemon Mode
Run as a background service with HTTP API:
```bash
whosthere daemon
```
Query via API:
```bash
curl http://localhost:8080/devices
```
### CLI Output
```bash
# JSON output
whosthere --json
# One-shot scan (no TUI)
whosthere --once
```
## Features
- **mDNS discovery** - Finds devices advertising services
- **SSDP scanning** - Discovers UPnP devices
- **ARP cache reading** - Catches everything else
- **OUI lookup** - Shows manufacturer from MAC address
- **Port scanning** - Optional service discovery on found hosts
## Configuration
`~/.config/whosthere/config.yaml`:
```yaml
# Theme customization
theme:
primary: "#7aa2f7"
secondary: "#bb9af7"
# Scan settings
scan:
timeout: 5s
ports: [22, 80, 443, 8080]
# Daemon settings
daemon:
port: 8080
refresh_interval: 60s
```
## Tips
- No root required—uses unprivileged scanning techniques
- Port scanning requires explicit action; only scan devices you own
- Great for finding that Raspberry Pi you forgot the IP of
- Combine with `--json` for scripting and automation
## See Also
- GitHub: https://github.com/ramonvermeulen/whosthere