seer-cli 0.1.93

Interactive CLI for Seer domain name utilities
seer-cli-0.1.93 is not a library.

seer-cli

Command-line interface for the Seer domain utility suite.

Overview

seer-cli provides a feature-rich command-line interface with:

  • Command mode for scripting and one-off queries
  • Interactive REPL for exploratory work
  • Human-readable and JSON output formats
  • Bulk operations with CSV output
  • Progress indicators and colored output

Installation

From crates.io

cargo install seer-cli

From Source

cd seer-cli
cargo install --path .

This installs the seer binary to ~/.cargo/bin/.

Modules

Directory Description
src/main.rs Entry point, Clap commands, subcommand dispatch
src/repl/ Interactive REPL implementation
src/display/ UI utilities (spinners, etc.)

Commands

Smart Lookup

Tries RDAP first, falls back to WHOIS.

seer lookup example.com
seer lookup example.com --format json

WHOIS Lookup

Query domain registrant information.

seer whois example.com

RDAP Lookup

Query RDAP for domains, IPs, or ASNs.

seer rdap example.com       # Domain
seer rdap 8.8.8.8           # IP address
seer rdap AS15169           # ASN

DNS Query

Query DNS records (like dig).

seer dig example.com           # A records (default)
seer dig example.com MX        # MX records
seer dig example.com A @8.8.8.8  # Custom nameserver

Supported record types: A, AAAA, MX, TXT, NS, SOA, CNAME, CAA, PTR, SRV, DNSKEY, DS, ANY

DNS Propagation

Check DNS propagation across global servers.

seer propagation example.com A
seer propagation example.com MX

Domain Status

Check domain health (HTTP, SSL, expiration).

seer status example.com

DNS Follow

Monitor DNS records over time.

seer follow example.com                      # 10 iterations, 1 minute interval
seer follow example.com 20 0.5               # 20 iterations, 30 second interval
seer follow example.com 10 1 MX              # Monitor MX records
seer follow example.com 10 1 A --changes-only  # Only show changes

Press Esc or Ctrl+C to stop early.

Bulk Operations

Process multiple domains from a file.

seer bulk lookup domains.txt
seer bulk whois domains.txt
seer bulk dig domains.txt MX
seer bulk status domains.txt
seer bulk propagation domains.txt A

# Custom output file
seer bulk status domains.txt -o results.csv

Input file formats:

  • Plain text (one domain per line)
  • Comments (lines starting with #)
  • CSV (uses first column)

Output Formats

# Human-readable (default)
seer lookup example.com --format human

# JSON
seer lookup example.com --format json

The --format flag works with all commands.

Interactive REPL

Start the REPL by running seer without arguments:

$ seer
seer> lookup example.com
seer> whois google.com
seer> dig github.com MX
seer> status cloudflare.com
seer> set output json
seer> help
seer> exit

REPL features:

  • Command history (saved to ~/.seer_history)
  • Tab completion for commands
  • Loading spinners during operations
  • Persistent session state

Examples

Check If Domain Is Available

seer lookup newdomain.com --format json | jq '.source'

Export Domain Status to CSV

seer bulk status domains.txt -o report.csv

Monitor DNS After Change

seer follow example.com 60 0.5 A --changes-only
# Checks every 30 seconds for 30 minutes, shows only changes

Quick DNS Check with JSON

seer dig example.com A --format json | jq '.[].data.address'

Verify SSL Certificate

seer status example.com --format json | jq '.certificate'

Environment Variables

Variable Description
RUST_LOG Logging level (trace, debug, info, warn, error)

Enable debug logging:

RUST_LOG=debug seer lookup example.com

Exit Codes

Code Meaning
0 Success
1 Error (invalid input, lookup failure, etc.)

Dependencies

  • seer-core - Core library
  • clap - Command-line parsing
  • rustyline - REPL line editing
  • indicatif - Progress indicators
  • colored - Terminal colors
  • crossterm - Terminal control
  • tokio - Async runtime
  • anyhow - Error handling

Build

# Debug build
cargo build -p seer-cli

# Release build
cargo build --release -p seer-cli

# Run without installing
cargo run -p seer-cli -- lookup example.com