Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

updateCFIP

Cloudflare DNS 动态解析更新工具:自动获取本机公网 IPv4 / IPv6 地址,并在地址变化时更新 Cloudflare 指定的 DNS 记录,可选通过 Telegram 发送通知。

使用方法

1. 配置 config.json

{
  "email": "CF邮箱",
  "key": "CF密钥",
  "domain": "根域名",
  "dns": ["223.5.5.5", "2400:3200::1"], // 用于获取本机IP/解析的DNS,可自行更换
  "apis": {
    "ipv4": "获取ipv4地址的api",
    "ipv6": "获取ipv6地址的api"
  },
  "preferIPV": "4",
  "subs": [
    {
      "name": "二级域名",
      "cates": ["A", "AAAA"] // ipv4:A、ipv6:AAAA
    }
  ],
  "telegram": {
    "update": true,
    "id": "对话ID",
    "url": "API"
  },
  "insecureSkipVerify": true
}

注意:config.json 必须是合法的 JSON 文件,标准 JSON 不支持 // 注释,正式使用前请删除上述注释并补齐逗号。

字段说明:

字段 说明
email Cloudflare 账户邮箱
key Cloudflare API 密钥
domain 根域名(如 B.com,二级域名 A.B.com 的根域为 B.com
dns 用于获取本机 IPv4/IPv6 地址及解析的 DNS 服务器地址列表
apis 在线获取本机公网 IP 的 API(当直连取到的 IP 为内网时回退使用)
preferIPV 偏好协议,4/6ipv4/ipv6,默认 auto
subs 需要更新的子域名列表,cates 支持 A(IPv4) 与 AAAA(IPv6)
telegram.update 是否启用 Telegram 通知
telegram.id / telegram.url Telegram 对话 ID 与 Bot API 地址
insecureSkipVerify 是否跳过 TLS 证书校验,可省略,默认 true

运行程序

config.json 与程序同目录时:

./updateCFIP
./updateCFIP.exe

否则通过 -file 指定配置文件路径:

./updateCFIP -file config.json文件所在位置

说明

  • 程序会先在 Cloudflare 查询根域名对应 Zone,再逐个子域名、逐个记录类型比对本地公网 IP 与云端记录,发生变更才执行更新。
  • 开启 telegram.update 时,每次运行都会以 HTML 富文本 推送一条汇总消息(标题带 / 状态与时间戳),逐行列出各记录的 ✅ 已更新 / ℹ️ 未变化 / ❌ 失败 结果。
  • 调试模式可输出更详细日志,方便排查问题。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages