找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 340|回复: 1

[N1盒子] 一个DDNS设置脚本,需要用到dig\curl命令

[复制链接]
发表于 2023-6-8 16:36 | 显示全部楼层 |阅读模式
本帖最后由 conini 于 2024-1-28 11:20 编辑
  1. #!/bin/sh
  2. #cloudflare API
  3. TARGET_RECORD="abc.example.xyz"
  4. ZONE_ID="AAAAAAAAAAAAA"
  5. RECORD_ID="BBBBBBBBBBBBBBBBBBBBB"
  6. API_TOKEN="_-CCCCCC-DDDDDDDDDDDDDDD"

  7. # 获取当前的外部 IPv4 地址
  8. IP4=$(curl -s ip.sb -4)
  9. [ -z "$IP4" ] && exit

  10. # 获取当前 DNS 记录的 IPv4 地址
  11. CURRENT_IP4=$(dig +short A $TARGET_RECORD @1.1.1.1 | tail -n1)

  12. # 调试输出
  13. echo "$(date) - 当前 IPv4 地址: $IP4"
  14. echo "$(date) - 当前记录的 IPv4 地址: $CURRENT_IP4"

  15. # 检查是否需要更新 IP 地址
  16. if [ "$IP4" = "$CURRENT_IP4" ]; then
  17.   echo "$(date) - IPv4 地址已经是最新的。无需更新。"
  18. else
  19.   #重启 gost
  20.   #service gost restart
  21.   # IP 地址已经改变,发送 API 请求来更新记录
  22.   echo "$(date) - 当前 IPv4 地址: $IP4 正在等待变更。" >> /log/ipv4_change
  23.   echo "$(date) - 当前记录的 IPv4 地址: $CURRENT_IP4 正在等待变更。" >> /log/ipv4_change
  24.   echo "$(date) - 新 IP 地址为 $IP4,正在发送 API 请求以更改 IP 地址" >> /log/ipv4_change

  25.   # 发送 API 请求以更新 DNS 记录
  26.   RESPONSE=$(curl -s --request PUT --url "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \
  27.     -H "Authorization: Bearer $API_TOKEN" \
  28.     -H "Content-Type: application/json" \
  29.     --data '{
  30.       "content": "'"$IP4"'",
  31.       "name": "'"$TARGET_RECORD"'",
  32.       "proxied": false,
  33.       "type": "A",
  34.       "ttl": 60
  35.     }')

  36.   # 解析 API 响应,检查更新是否成功
  37.   SUCCESS=$(echo "$RESPONSE" | jq -r '.success')
  38.   if [ "$SUCCESS" = "true" ]; then
  39.     echo "$(date) - IPv4 地址已成功更新。" >> /log/ipv4_change
  40.     # 更新 CURRENT_IP4
  41.     CURRENT_IP4=$IP4
  42.   else
  43.     echo "$(date) - IPv4 地址更新失败。" >> /log/ipv4_change
  44.   fi
  45. fi
复制代码

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2023-6-8 16:37 | 显示全部楼层
本帖最后由 conini 于 2024-1-28 11:20 编辑

保存成ipv4-ddns.sh
chmod +X ipv4-ddns.sh
crontab 定时执行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 07:56

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表