一元网络论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 49|回复: 0

Cloudflare API 定时 CNAME 域名切换脚本分享。

[复制链接]

3万

主题

3万

帖子

9万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
94783
发表于 2024-11-7 07:31:22 | 显示全部楼层 |阅读模式
##  省流量优化网络:定时切换 Cloudflare CNAME
**场景:**  拥有低流量VPS,想省流量。
**方案:**  使用Cloudflare定时切换CNAME,将不同时段的流量指向不同的VPS。
**示例:**
* 晚上 18:00 至凌晨 01:00,将 `tva.123456.xyz` 和 `tvb.1123456.xyz` 指向 `vps1.nice.com`
* 凌晨 01:00 至晚上 18:00,将 `tva.123456.xyz` 和 `tvb.1123456.xyz` 指向 `vps2.nice.com`
**脚本:**
```bash
#!/usr/bin/env bash
# Cloudflare API 凭证
CFKEY="6xxxxac0d你的CFKEYxxx4"
CFUSER="你的CF邮箱@gmail.com"
CFZONE_NAME="123456.xyz"
# 记录
RECORD1="tva.123456.xyz"
RECORD2="tvb.1123456.xyz"
# CNAME 值
CNAME_NIGHT="vps1.nice.com"
CNAME_DAY="vps2.nice.com"
# 获取 Cloudflare Zone ID
CFZONE_ID=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$CFZONE_NAME" -H "X-Auth-Email: $CFUSER" -H "X-Auth-Key: $CFKEY" -H "Content-Type: application/json" | grep -Po '(?<="id":")[^"]*' | head -1)
# 获取当前时间
HOUR=$(date +'%H')
# 设置目标 CNAME
TARGET_CNAME=$(if [ "$HOUR" -ge 18 ] || [ "$HOUR" -lt 1 ]; then echo "$CNAME_NIGHT"; else echo "$CNAME_DAY"; fi)
# 更新 DNS 记录函数
update_cname_record() {
    local RECORD_NAME=$1
    local TARGET=$2
    # 获取记录 ID
    CFRECORD_ID=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CFZONE_ID/dns_records?name=$RECORD_NAME" -H "X-Auth-Email: $CFUSER" -H "X-Auth-Key: $CFKEY" -H "Content-Type: application/json" | grep -Po '(?<="id":")[^"]*' | head -1)
    # 更新记录
    curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$CFZONE_ID/dns_records/$CFRECORD_ID" -H "X-Auth-Email: $CFUSER" -H "X-Auth-Key: $CFKEY" -H "Content-Type: application/json" --data "{\"type\":\"CNAME\",\"name\":\"$RECORD_NAME\",\"content\":\"$TARGET\",\"ttl\":120}"
}
# 更新记录
update_cname_record "$RECORD1" "$TARGET_CNAME"
update_cname_record "$RECORD2" "$TARGET_CNAME"
echo "DNS records updated to $TARGET_CNAME for $RECORD1 and $RECORD2."
```
**提示:**  
* 将脚本中的占位符替换为实际值。
* 脚本需要定时执行,例如每小时运行一次。
* 使用 `crontab` 或其他定时任务工具设置脚本运行时间。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|一元网络论坛

GMT+8, 2024-11-24 01:30 , Processed in 0.079315 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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