Domainion Ops
Multi-provider domain and DNS management. Default provider: name.com.
Provider Selection
| Provider | When to use | Reference |
|---|
| name.com (default) | Unless user specifies otherwise | INLINECODE0 |
| GoDaddy |
User says "GoDaddy" or has GoDaddy account |
references/godaddy.md |
|
Namecheap | User says "Namecheap" or has Namecheap account |
references/namecheap.md |
Read only the relevant provider reference. Do not load all three.
Credentials Setup
Before any operation, verify credentials exist. Store in env or ~/.domainion:
CODEBLOCK0
If credentials are missing, prompt the user for the relevant provider's creds before proceeding.
Common Workflows
1. Check domain availability
# name.com (default)
curl -u "$NAMECOM_USERNAME:$NAMECOM_TOKEN" \
"https://api.name.com/v4/domains:checkAvailability" \
-d '{"domainNames":["example.com"]}'
→ See provider reference for GoDaddy / Namecheap equivalents.
2. DNS record management (add/update/delete)
Load provider reference for exact API calls. General pattern:
- - List records first to confirm state
- Add or Update with idempotency check (avoid duplicates)
- Verify with
dig after change
3. Nameserver change
Always confirm registrar before changing NS. Wrong registrar = silent failure.
Load provider reference for exact API call.
4. Verify DNS propagation
CODEBLOCK2
5. TTL Strategy
- - Lowering TTL before a change: set to 300 (5 min) at least 1 TTL cycle before
- After change confirmed: restore to 3600 or higher
- Never lower TTL after making the change — too late
Guardrails
- - Confirm domain + provider before any destructive action (NS change, record delete)
- List existing records before adding to avoid duplicates
- Prefer reversible steps; verify after each change
- Never expose API tokens/secrets in output
- For MX changes: always keep at least one valid MX record live during migration
Domainion Ops
多提供商域名和DNS管理。默认提供商:name.com。
提供商选择
| 提供商 | 使用场景 | 参考文档 |
|---|
| name.com(默认) | 除非用户另有指定 | references/name-com.md |
| GoDaddy |
用户提及GoDaddy或拥有GoDaddy账户 | references/godaddy.md |
|
Namecheap | 用户提及Namecheap或拥有Namecheap账户 | references/namecheap.md |
仅读取相关提供商的参考文档。不要加载全部三个。
凭证设置
在执行任何操作前,验证凭证是否存在。存储在环境变量或~/.domainion中:
bash
name.com(默认)
NAMECOM
USERNAME=yourusername
NAMECOM
TOKEN=yourapi_token # name.com > 账户 > API设置
GoDaddy
GODADDY
APIKEY=your_key
GODADDY
APISECRET=your_secret # developer.godaddy.com > API密钥
Namecheap
NAMECHEAP
USERNAME=yourusername
NAMECHEAP
APIKEY=your
apikey # namecheap.com > 个人资料 > 工具 > API访问
NAMECHEAP
CLIENTIP=your_ip # 你的白名单IP
如果缺少凭证,请在进行下一步前提示用户提供相关提供商的凭证。
常见工作流程
1. 检查域名可用性
bash
name.com(默认)
curl -u $NAMECOM
USERNAME:$NAMECOMTOKEN \
https://api.name.com/v4/domains:checkAvailability \
-d {domainNames:[example.com]}
→ 查看GoDaddy / Namecheap的提供商参考文档以获取等效命令。
2. DNS记录管理(添加/更新/删除)
加载提供商参考文档以获取确切的API调用。通用模式:
- - 首先列出记录以确认状态
- 通过幂等性检查添加或更新(避免重复)
- 更改后使用dig验证
3. 名称服务器更改
在更改NS前始终确认注册商。错误的注册商会导致静默失败。
加载提供商参考文档以获取确切的API调用。
4. 验证DNS传播
bash
主要检查(Cloudflare解析器 — 快速TTL)
dig +short example.com @1.1.1.1
权威检查
dig +short example.com @8.8.8.8
完整记录检查
dig example.com ANY +noall +answer
HTTP重定向验证
curl -sI https://example.com | grep -i location
5. TTL策略
- - 更改前降低TTL:至少提前1个TTL周期设置为300(5分钟)
- 更改确认后:恢复为3600或更高
- 切勿在更改后降低TTL — 为时已晚
安全护栏
- - 在执行任何破坏性操作(NS更改、记录删除)前确认域名和提供商
- 在添加前列出现有记录以避免重复
- 优先采用可逆步骤;每次更改后进行验证
- 切勿在输出中暴露API令牌/密钥
- 对于MX更改:迁移期间始终至少保留一条有效的MX记录处于活动状态