主题
API 与动态解析
创建 API Token
- 登录后打开 API Token 管理;
- 创建 Token(需要邮箱已验证);
- Token 只在创建时显示一次,复制保存好;丢了就删掉重建。
调用方式
所有接口都在 https://hapdns.com/api/v1/ 下,用 Bearer 认证:
bash
curl -s https://hapdns.com/api/v1/zones \
-H "Authorization: Bearer <你的 Token>"注意
上面这条是一条命令(\ 表示换行)。如果你只复制了中间某一行到终端, 会得到 command not found: -H 这种报错 —— 那是 shell 在说"这行的开头不是命令"。
常用接口
| 方法 | 路径 | 作用 |
|---|---|---|
GET | /api/v1/zones | 列出你的域名 |
GET | /api/v1/zones/{域名} | 域名详情 + 全部记录 |
POST | /api/v1/zones | 注册新域名 |
POST | /api/v1/zones/{域名}/records | 添加解析记录 |
PUT | /api/v1/zones/{域名}/records/{id} | 修改记录 |
DELETE | /api/v1/zones/{域名}/records/{id} | 删除记录 |
POST | /api/v1/zones/{域名}/dnssec | 开启 DNSSEC 签名(返回要交给上级的 DS) |
DELETE | /api/v1/zones/{域名}/dnssec | 关闭 DNSSEC |
添加一条 A 记录的例子:
bash
curl -s -X POST https://hapdns.com/api/v1/zones/myname.9k.beer/records \
-H "Authorization: Bearer <你的 Token>" \
-H "Content-Type: application/json" \
-d '{"name":"www","record_type":"A","content":"1.2.3.4","ttl":300}'完整的端点清单(含请求体字段)在接口文档里。
动态解析(DynDNS)
家里/公司的公网 IP 会变?用 DynDNS 让它自动更新:
- 打开 DynDNS 动态解析;
- 创建一条更新地址(会给你一个带密钥的 URL);
- 让路由器、NAS 或脚本定期访问那个 URL,IP 变了就自动改记录。
多数路由器(OpenWrt、群晖、爱快…)自带"自定义 DynDNS"功能,把那个 URL 填进去即可。
用别的语言/工具调用
- 语言 SDK:没有官方包,直接用 HTTP 客户端就行(就是上面那几条);
- Terraform / Ansible 之类:用
http请求模块调; - 想给整个 zone 做批量导入导出:域名详情页有导入/导出(BIND zone / CSV)。