我认为人们在管理 DNS 方面可以分为三类:
- 大多数人通过网络浏览器管理 DNS:登录到他们的注册商、提供商、控制面板或第三方 DNS 提供商,并使用他们的 GUI 来更改 DNS 记录。
- 那些年收入达到七位数的人通过一系列复杂的云 API 调用来管理他们的 DNS。
- 还有一些铁杆用户,他们自己管理 DNS,非常感谢,他们会直接进入自己的区域文件,并且可能使用自己优化的系统来管理序列号。
但如果你像我一样:一个懒得运行自己的 DNS 服务器的人,但当他发现自己身处命令行低端区域(打开了十个终端窗口,桌子上散落着含咖啡因饮料的残渣,耳机里戴着Willie Jones 的耳机)时,他很讨厌打破界面语义,然后叹气地切换到 Web 浏览器来更新托管在他注册商处的 DNS 呢?
在这种情况下,您或许会喜欢 Porkbun API。虽然官方示例使用 Python 和 Java,但它实际上只是 POST 请求 JSON 数据,您也可以使用 curl 轻松完成这项操作。
入门
要开始使用 Porkbun API,首先请阅读题为“Porkbun API 入门指南”的文章。是的,整个过程就这么简单明了。
请按照指示完成以下两件事:
- 获取您的API密钥。
- 启用您要使用的域的 API 访问权限(默认情况下是关闭的)。
示例使用
这是一个脚本,它将创建一个名为“example.lowend.party”的 A 记录,解析为 192.168.1.1。
#!/bin/bash
curl --header "Content-Type: application/json" \
--请求 POST \
- 数据 '{
"apikey" : "MY_API_KEY",
"secretapikey" : "MY_SECRET_KEY",
"name" : "example",
"type" : "A",
"content" : "1.2.3.4",
"ttl" : "600"
}' \
https://porkbun.com/api/json/v3/dns/create/lowend.party
回声运行后,返回以下结果:
# ./dns.sh {"status":"成功","id":302181389}
并进行核实:
# nslookup example.lowend.party 8.8.8.8 服务器:8.8.8.8 地址:8.8.8.8#53 非权威答案: 名称:example.lowend.party 地址:1.2.3.4 #
功能齐全的 API
借助 Porkbun API,您可以执行所有基本的 CRUD 操作:创建、检索、更新和删除。检索功能支持按域检索,因此可以列出某个域的所有记录。
请查看API 文档了解所有详细信息,然后使用上面的 curl 脚本作为模板,因为您只需要更改发送的 JSON 和 API 端点即可。