Files

39 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Cloudflare DDNS 更新脚本
每 5 分钟自动检测本机公网 IPv4/IPv6,变化时同步更新 Cloudflare DNS 记录(A / AAAA),支持多域名、泛解析,可选 CDN 代理。
## 特点
- 一个 Token 管理多个域名,自动识别所属 Zone
- 公网 IP 只检测一次,多条记录复用
- IP 无变化时跳过,节省 API 调用
- 仅发布公网 IPv6`2000::/3`),自动过滤 ULA 内网地址(`fc00::/7`
- 获取不到 IPv6 时回退到外部检测接口
## 使用方法
1. 在 Cloudflare 后台创建受限 TokenMy Profile → API Tokens,权限 `Zone → DNS → Edit`
2. 将 Token 填入脚本顶部 `API_TOKEN`(或改用 `API_EMAIL` + `API_KEY` 全局密钥方式)
3. 修改 `RECORDS` 列表,每条一行,格式 `域名:类型(:proxied)`
- 类型:`A` = IPv4`AAAA` = IPv6
- `proxied`:可选,`true` 走 CDN 代理,`false` 纯解析(默认)
4. 安装到 cron,每 5 分钟执行一次:
```cron
*/5 * * * * root /usr/local/bin/cloudflare-ddns.sh >> /var/log/cloudflare-ddns.log 2>&1
```
## 配置示例
```bash
API_TOKEN="你的_Cloudflare_API_Token"
RECORDS=(
"example.com:A"
"example.com:AAAA"
"*.example.com:A:true"
)
```
> 注意:本仓库已脱敏,`API_TOKEN` / `API_EMAIL` / `API_KEY` 均为空占位,不含任何真实密钥。请勿将真实密钥提交到公开仓库。