◆ domh
Bulk domain availability checker powered by RDAP. Beautiful TUI, blazing fast.

╭──────────────────────────────────────────────────╮
│ ◆ domh v2 │
│ 4-letter .com,.dev • 80 workers • RDAP │
╰──────────────────────────────────────────────────╯
╭──────────────────────────────────────────────────────────────╮
│ ⠋ 1842/32400 ━━━━━━━━━━━━━━━━━━━━──────────────────────── │
│ │
│ available 23 taken 1814 errors 5 elapsed 18s │
│ eta 5m12s rate 102/s │
╰──────────────────────────────────────────────────────────────╯
╭──────────────────────────────────────────────────╮
│ ● Available │
│ │
│ ✓ buxo.com │
│ ✓ kevi.dev │
│ ✓ zupo.com │
╰──────────────────────────────────────────────────╯
Install
# macOS / Linux (Homebrew)
brew install codeatlasdev/tap/domh
# Go install
go install github.com/codeatlasdev/domain-hunter@latest
# Download binary
curl -fsSL https://raw.githubusercontent.com/codeatlasdev/domain-hunter/main/install.sh | sh
Usage
Interactive Mode (wizard)
Just run without arguments:
domh
You'll get a beautiful wizard to configure:
- TLDs — multi-select (.com, .dev, .io, .app, .net, .org, .co, .xyz)
- Length — 3, 4, or 5 letters
- Pattern — CVC, VCV, CVCV, CVCVC, or ALL
- Workers — concurrent goroutines (default: 50)
- Export — txt, json, csv
CLI Mode (direct)
# 4-letter .com domains, CVCV pattern, 80 workers
domh scan --tld com --length 4 --pattern cvcv --workers 80
# Multiple TLDs, export as JSON
domh scan --tld com,dev,io --length 3 --format json
# 5-letter domains, all patterns
domh scan --tld com --length 5 --pattern all --workers 100
How It Works
Uses RDAP (Registration Data Access Protocol) — the modern replacement for WHOIS:
- HTTP GET to the TLD's RDAP server
404 = domain available
200 = domain taken
- No parsing needed, no rate limit issues
- ~100+ domains/second with 50 workers
Supported TLDs
| TLD |
Provider |
| .com |
Verisign RDAP |
| .net |
Verisign RDAP |
| .org |
PIR RDAP |
| .dev |
Google RDAP |
| .app |
Google RDAP |
| .io |
NIC.io RDAP |
| .co |
NIC.co RDAP |
| .xyz |
NIC.xyz RDAP |
Domain Patterns
| Pattern |
Example |
Count (per TLD) |
| CVC |
bun, dev, kit |
~1,900 |
| VCV |
ava, elo, umi |
~475 |
| CVCV |
buno, tevo |
~36,100 |
| CVCVC |
nexus, pixel |
~684,000 |
| ALL |
all above |
varies |
Results are saved in real-time (won't lose data if you quit early):
- txt — one domain per line
- json —
[{"domain": "bun.com", "tld": "com", "checked_at": "..."}]
- csv —
domain,tld,checked_at
Files: results-{timestamp}.{ext}
Keybindings
| Key |
Action |
q / Ctrl+C |
Quit (saves partial results) |
Esc |
Quit |
Development
git clone https://github.com/codeatlasdev/domain-hunter
cd domain-hunter
go build -o domh .
./domh
Release
Tags trigger automatic multi-platform builds via GoReleaser:
git tag v1.0.0
git push --tags
Builds for: Linux (amd64, arm64), macOS (amd64, arm64), Windows (amd64, arm64).
License
MIT — CodeAtlas