使用批次檔來更新 cloudflare DDNS
不熟批次檔(.bat/.cmd),但是家人不可能用 Linux ,還是得客製一下,能動為準
工作環境:
Windows Home
.bat
工作排程器
curl
python(沒有的話,輸出的結果會粘在一起)
token varify 確認 apiToken 是正確的
curl "https://api.cloudflare.com/client/v4/user/tokens/verify" -H "Authorization: Bearer tokenHere"
get zoneID 把 zoneID 記下來
curl -X GET "https://api.cloudflare.com/client/v4/zones" -H "Authorization: Bearer tokenHere" -H "Content-Type:application/json"
get dns records 找到你要更新的網址名稱 name(FQDN,不是zone_name),把它的 id(不是zone_id) 記下來
curl -X GET "https://api.cloudflare.com/client/v4/zones/zoneIDHere/dns_records" -H "authorization: Bearer tokenHere" -H "Content-Type:application/json" | c:\somewhere\python -m json.tool
target dns record to update(.bat)************
curl ipinfo.io/ip > ip.txt
set /p IP=<ip.txt
curl -X PUT "https://api.cloudflare.com/client/v4/zones/zoneIDHere/dns_records/recordIDHere" -H "Authorization: Bearer tokenHere" -H "Content-Type: application/json" --data "{\"type\":\"A\", \"name\":\"hostnameOrFqdnHere\",\"content\":\"%IP%\",\"ttl\":1,\"proxied\":false}"
data 的內容要用 \"
data 的內容要用 \"
data 的內容要用 \"
收工!
===================================
URL rejected: Bad hostname / URL rejected: Bad hostname: 用做 api 的連結位址有錯誤
留言
張貼留言