超小极简DDNS脚本 适配CloudFlare的DNS令牌以实现DDNS

超小极简DDNS脚本 适配CloudFlare的DNS令牌以实现DDNS,这个脚本去除注释的话不到50行,自用一个月非常稳定。

来源:https://github.com/JasonL111/DDNS_Lite?tab=readme-ov-file

图片[1]-超小极简DDNS脚本 适配CloudFlare的DNS令牌以实现DDNS-VPS SO

DDNS_Lite

 

这是一个基于 Bash + curl + jq 实现的 Cloudflare 动态 DNS(DDNS)更新脚本,可自动获取本机公网 IP,并更新到 Cloudflare 上的 A 记录,实现动态公网 IP 的自动同步。

📌 功能说明

 

  • 自动获取本机公网 IPv4 地址;
  • 比较是否与 Cloudflare DNS 中记录一致;
  • 如有变化,则自动更新记录;
  • 支持日志记录功能,新日志添加在头部,倒叙添加,方便追踪操作历史。

🔧使用方法

 

  1. 安装依赖
sudo apt install curl jq
  1. 编辑 DDNS.sh 文件,填入你的 Cloudflare DNS API信息:
ZONE_NAME="yourdomain.com"         # 一级域名
RECORD_NAME="sub.yourdomain.com"  # 二级域名(完整DNS记录)
CF_API_TOKEN="your_cloudflare_api_token"  # API 令牌
  1. 赋予执行权限
chmod +x DDNS.sh
  1. 运行
./DDNS.sh

⏰crontab自动运行

 

  1. 打开任务列表
crontab -e
  1. 添加任务(需要替换为真实目录)
    15 * * * * $HOME/bin/DDNS/DDNS.sh

     

这是个每15分钟跑一次的例子

 

另外用dns.he.net搞ddns又方便又好用

就一句命令

curl -6 "https://域名:密钥@dyn.dns.he.net/nic/update?hostname=域名"

或者

curl "https://域名:密钥@dyn.dns.he.net/nic/update?hostname=域名"

这么简单的一句代码,什么系统都能简单地定时运行,就可以实现ddns了。
最重要的是,每个子域名可以分别生成一个不同的密钥,分开控制,很安全。

 

debian等linux系统的设置方法:
安装curl:

sudo apt install curl

设置计划任务:

crontab -e

填写:

*/5 * * * * curl "https://域名:密钥@dyn.dns.he.net/nic/update?hostname=域名"

openwrt的设置方法:
登录后台,系统 -> 软件包,安装软件curl。
系统 -> 计划任务,填写:

*/5 * * * * curl "https://域名:密钥@dyn.dns.he.net/nic/update?hostname=域名"

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享