cfst_ddns.bat 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. :: --------------------------------------------------------------
  2. :: 项目: CloudflareSpeedTest 自动更新域名解析记录
  3. :: 版本: 1.0.5
  4. :: 作者: XIU2
  5. :: 项目: https://github.com/XIU2/CloudflareSpeedTest
  6. :: --------------------------------------------------------------
  7. @echo off
  8. Setlocal Enabledelayedexpansion
  9. :: 这里可以自己添加、修改 CloudflareST 的运行参数,echo.| 的作用是自动回车退出程序(不再需要加上 -p 0 参数了)
  10. echo.|CloudflareST.exe -o "result_ddns.txt"
  11. :: 判断结果文件是否存在,如果不存在说明结果为 0
  12. if not exist result_ddns.txt (
  13. echo.
  14. echo CloudflareST 测速结果 IP 数量为 0,跳过下面步骤...
  15. goto :END
  16. )
  17. for /f "tokens=1 delims=," %%i in (result_ddns.txt) do (
  18. Set /a n+=1
  19. If !n!==2 (
  20. Echo %%i
  21. if "%%i"=="" (
  22. echo.
  23. echo CloudflareST 测速结果 IP 数量为 0,跳过下面步骤...
  24. goto :END
  25. )
  26. :: API 密钥方式(全局权限)
  27. curl -X PUT "https://api.cloudflare.com/client/v4/zones/域名ID/dns_records/域名解析记录ID" ^
  28. -H "X-Auth-Email: 账号邮箱" ^
  29. -H "X-Auth-Key: 前面获取的 API 密钥" ^
  30. -H "Content-Type: application/json" ^
  31. --data "{\"type\":\"A\",\"name\":\"完整域名\",\"content\":\"%%i\",\"ttl\":1,\"proxied\":true}"
  32. :: API 令牌方式(自定义权限),如果要使用这种方式,可以把上面的删除或注释,然后把下面的行首 "::" 注释符删除即可。
  33. :: curl -X PUT "https://api.cloudflare.com/client/v4/zones/域名ID/dns_records/域名解析记录ID" ^
  34. :: -H "Authorization: Bearer 前面获取的 API 令牌" ^
  35. :: -H "Content-Type: application/json" ^
  36. :: --data "{\"type\":\"A\",\"name\":\"完整域名\",\"content\":\"%%i\",\"ttl\":1,\"proxied\":true}"
  37. goto :END
  38. )
  39. )
  40. :END
  41. pause