#!/bin/bash # 获取本机公网IP地址 ip_address=$(curl --interface eth0 -s http://ifconfig.me) if [[ -z "$ip_address" ]]; then echo "Failed to retrieve public IP address." exit 1 fi #ip_address="1.1.1.1" # 设置DNS记录 # 这里替换成你的cloudflare Glbal API Key cloudflare_api_key="mPnacUw0fJ8qpoEEVD0k-wdfwDSjfWvJhOlhlEtI" cloudflare_email="[email protected]" #换成你的cloudflare邮箱账号 zone_id="ee751a064027769387b6d0c9595cad88" #这个是cloudflare概述页面的区域ID dns_record_id="0000" dns_record_name="1201.io" #你的域名 response=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records?name=$dns_record_name" \ -H "Authorization: Bearer $cloudflare_api_key" \ -H "Content-Type: application/json" ) dns_record_id=$(echo "$response" | jq -r '.result[0].id') if [[ -z "$dns_record_id" ]]; then echo "Failed to retrieve record ID for record: $record_name" exit 1 fi echo "DNS record ID for $record_name: $dns_record_id" curl -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records/$dns_record_id" \ -H "Authorization: Bearer $cloudflare_api_key" \ -H "Content-Type: application/json" \ --data '{"type": "A", "name": "'"$dns_record_name"'", "content": "'"$ip_address"'", "ttl": 1, "proxied": false}'