RQ

retlehs/quien

Developer tools
1.2K stars Quality 36 Trend 36

A better whois and domain intelligence toolkit. Interactive TUI with tabbed views for WHOIS, DNS, mail, SSL/TLS, HTTP headers, SEO analysis, and tech stack detection.

Overview

A better whois and domain intelligence toolkit. Interactive TUI with tabbed views for WHOIS, DNS, mail, SSL/TLS, HTTP headers, SEO analysis, and tech stack detection.

README

quien

A better whois and domain intelligence toolkit. Interactive TUI with tabbed views for WHOIS, DNS, mail, SSL/TLS, HTTP headers, SEO analysis, and tech stack detection.

Try it without installing: ssh quien.sh

Install

Homebrew

brew install quien

Ubuntu / Debian

curl -fsSL https://apt.quien.dev/install.sh | sudo sh

Arch Linux (AUR)

yay -S quien

NixOS / Nix (Flake)

nix shell github:retlehs/quien

Go

go install github.com/retlehs/quien@latest

Features

  • RDAP-first lookups with WHOIS fallback for broad TLD coverage
    • IANA referral for automatic WHOIS server discovery
  • IP lookups with reverse DNS, network info, abuse contacts, and ASN discovery via RDAP
    • BGP fallback for origin ASN/prefix when RDAP does not include ASN data
    • PeeringDB enrichment for ASN context (network/org, peering policy, peering locations, traffic profile, IX/facility counts)
  • Mail configuration audit — MX, SPF (with lookup-count and include/redirect tree expansion), DMARC, DKIM, and BIMI with VMC chain validation
  • SEO analysis — indexability (robots.txt, canonical, sitemap), on-page (title, description, headings, images), structured data (JSON-LD, Open Graph, Twitter Cards), and performance hints (compression, caching, render-blocking resources)
    • Core Web Vitals — LCP, INP, CLS, FCP, and TTFB field data with historical trends via the CrUX API (optional)
  • Tech stack detection including WordPress plugins, JS/CSS frameworks, and external services parsed from HTML
  • Automatic retry with exponential backoff on all lookups
  • JSON subcommands for scripting: quien whois, quien dns, quien mail, quien tls, quien http, quien seo, quien stack, quien all

Usage

# Interactive prompt
quien

# Domain lookup (interactive TUI)
quien example.com

# IP address lookup
quien 8.8.8.8

# JSON output
quien --json example.com

# JSON subcommands
quien whois example.com
quien dns example.com
quien mail example.com
quien tls example.com
quien http example.com
quien seo example.com
quien stack example.com
quien all example.com

# Probe additional DKIM selectors beyond the built-in common list
quien mail example.com --dkim-selector mySelector --dkim-selector other

# Set default DKIM selectors via environment variable
QUIEN_DKIM_SELECTORS=mySelector,other quien example.com

# Use a specific DNS resolver for this run
quien mail example.com --resolver 9.9.9.9

# Set a default resolver via environment variable
QUIEN_RESOLVER=1.1.1.1 quien dns example.com

Resolver precedence: --resolver > QUIEN_RESOLVER > system resolver.

DKIM selector precedence: --dkim-selector > QUIEN_DKIM_SELECTORS. User selectors are probed in addition to the built-in common-selector list.

Core Web Vitals

The SEO tab includes local checks out of the box. For Core Web Vitals field data (real-user metrics from Chrome), set a CrUX API key:

export QUIEN_CRUX_API_KEY=your-api-key

This enables LCP, INP, CLS, FCP, and TTFB p75 values with good/needs-improvement/poor ratings, plus an 8-25 week trend sparkline.

Theme

quien automatically detects your terminal background and picks light or dark colors. If detection gets it wrong (common in tmux, screen, or remote shells), override it:

export QUIEN_THEME=light  # force light palette
export QUIEN_THEME=dark   # force dark palette
export QUIEN_THEME=auto   # auto-detect (default)

Troubleshooting DNS

If your system resolver is unreliable (common in WSL, VPN, or container setups), force a resolver:

quien mail example.com --resolver 9.9.9.9
# or
export QUIEN_RESOLVER=9.9.9.9

[!TIP] If you want quien to replace your default whois tool, you can add an alias to your shell config:

alias whois=quien

Agent skill

Add quien as a agent skill so agents use it for domain and IP lookups:

npx skills add retlehs/quien
View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add retlehs/quien