命令行 DNS:在 Shell 脚本中使用 Porkbun API 命令行 DNS:在 Shell 脚本中使用 Porkbun API

命令行 DNS:在 Shell 脚本中使用 Porkbun API

猪肉包我认为人们在管理 DNS 方面可以分为三类:

  • 大多数人通过网络浏览器管理 DNS:登录到他们的注册商、提供商、控制面板或第三方 DNS 提供商,并使用他们的 GUI 来更改 DNS 记录。
  • 那些年收入达到七位数的人通过一系列复杂的云 API 调用来管理他们的 DNS。
  • 还有一些铁杆用户,他们自己管理 DNS,非常感谢,他们会直接进入自己的区域文件,并且可能使用自己优化的系统来管理序列号。

但如果你像我一样:一个懒得运行自己的 DNS 服务器的人,但当他发现自己身处命令行低端区域(打开了十个终端窗口,桌子上散落着含咖啡因饮料的残渣,耳机里戴着Willie Jones 的耳机)时,他很讨厌打破界面语义,然后叹气地切换到 Web 浏览器来更新托管在他注册商处的 DNS 呢?

在这种情况下,您或许会喜欢 Porkbun API。虽然官方示例使用 Python 和 Java,但它实际上只是 POST 请求 JSON 数据,您也可以使用 curl 轻松完成这项操作。

入门

要开始使用 Porkbun API,首先请阅读题为“Porkbun API 入门指南”的文章。是的,整个过程就这么简单明了。

请按照指示完成以下两件事:

  1. 获取您的API密钥。
  2. 启用您要使用的域的 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 端点即可。