Published multiple files
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
This commit is contained in:
104
content/10-19 LIFE/13 TECH SETUP/13.11 APPS/whosthere.md
Normal file
104
content/10-19 LIFE/13 TECH SETUP/13.11 APPS/whosthere.md
Normal file
@@ -0,0 +1,104 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user