通过curl更新Cloudflare DNS Record

179 阅读1分钟

路由器需要绑定公网IP至指定域名解析,域名托管在Cloudflare,小米路由器自带的DDNS供应商不包括Cloudflare,需要一个手动手段更新路由器IP。

前置条件

  • 公网IPv4
  • Cloudflare域名解析
  • curl

API:Cloudflare DNS API Documentation

curl命令:

curl --request PATCH \
  --url https://api.cloudflare.com/client/v4/zones/<zone_id>/dns_records/<record_id> \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "content": "<ip_v4>",
  "data": {},
  "name": "<sub_domain>",
  "proxiable": true,
  "proxied": false,
  "ttl": 1,
  "type": "A",
  "zone_id": "<zone_id>",
  "zone_name": "<domain>",
  "settings": {},
  "tags": [],
  "id": "<record_id>"
}'

参数:

  • zone_id:可以通过页面更新DNS Record抓包获取
  • record_id:可以通过页面更新DNS Record抓包获取
  • token:Cloudflare创建(管理账户->账户API令牌->创建令牌)
  • ip_v4:需要绑定到sub_domain的IPv4地址
  • sub_domain:IPv4地址需要绑定到的子域名
  • domain:托管的域名