Cross-registrar domain manager CLI — manage domains and DNS records across Porkbun, Cloudflare, GoDaddy, Namecheap and more from a single command-line tool.
curl -sSL https://raw.githubusercontent.com/trydirect/reggae/main/installer.sh | bashOr build from source:
cargo install --path .# Set credentials via environment variables
export DM_PROVIDERS_PORKBUN_API_KEY=pk1_...
export DM_PROVIDERS_PORKBUN_SECRET_API_KEY=sk1_...
# Check availability
reggae check example.com
# Register a domain with an A record
reggae register --domain example.com --A 198.51.100.1
# List DNS records
reggae dns list --domain example.com
# Add a DNS record
reggae dns add --domain example.com --record-type TXT --name @ --content "v=spf1 include:spf.example.com ~all"
# Get pricing
reggae pricing com
# Get domain info
reggae info example.comCredentials are never passed as CLI arguments. Use environment variables (highest priority) or config.yaml.
cp config.yaml.example config.yaml
$EDITOR config.yaml| Environment variable | Config key | Description |
|---|---|---|
DM_DEFAULT_PROVIDER |
default_provider |
Default registrar |
DM_PROVIDERS_PORKBUN_API_KEY |
providers.porkbun.api_key |
Porkbun API key |
DM_PROVIDERS_PORKBUN_SECRET_API_KEY |
providers.porkbun.secret_api_key |
Porkbun secret |
DM_PROVIDERS_CLOUDFLARE_API_TOKEN |
providers.cloudflare.api_token |
Cloudflare token |
DM_PROVIDERS_GODADDY_API_KEY |
providers.godaddy.api_key |
GoDaddy key |
DM_PROVIDERS_GODADDY_API_SECRET |
providers.godaddy.api_secret |
GoDaddy secret |
DM_SCHEDULER_ENABLED |
scheduler.enabled |
Enable expiry daemon |
DM_SCHEDULER_EXPIRY_LEAD_DAYS |
scheduler.expiry_lead_days |
Notify N days before expiry |
# Daemon mode (runs continuously)
reggae schedule
# One-shot (use with cron or systemd timer)
reggae run-checkAdd domains to monitor in config.yaml:
scheduler:
enabled: true
expiry_lead_days: 30
domains:
- example.com
- mysite.io
notification:
type: webhook
webhook_url: https://hooks.example.com/notify| Provider | Status | Auth |
|---|---|---|
| Porkbun | ✅ Full | api_key + secret_api_key |
| Cloudflare | ✅ Full | api_token (Bearer) |
| GoDaddy | ✅ Full | api_key + api_secret |
| Namecheap | ✅ Full | api_user + api_key (XML API) |
reggae dns list --domain example.com --output table # default
reggae dns list --domain example.com --output json # machine-readablereggae completion bash >> ~/.bashrc
reggae completion zsh >> ~/.zshrc
reggae completion fish > ~/.config/fish/completions/reggae.fishcargo build
cargo test
cargo clippy