首页
友链
统计
Search
1
2024年最新教程 5分钟注册美区苹果ID,无需绑定信用卡,支付宝充值礼品卡
2,573 阅读
2
小米手机刷第三方ROM之Redmi Note 9 Pro(成功刷入Pixel Experience并成功root)
1,620 阅读
3
小米刷机教程,红米K40刷机第三方ROM教程
1,368 阅读
4
Linksys WRT1900ACS 刷OpenWrt固件教程
1,275 阅读
5
TikTok怎么在国内使用
1,081 阅读
记录
技术
随笔
电子书
登录
Search
标签搜索
Linux
Ubuntu
YouTube
openwrt
macOS
DDNS
解压缩
黑苹果
科学上网
vpn加速
美区苹果ID
路由器
Linksys1900ACS
samba
Windows
路由器固件
系统
Hacker
华为
ffmpeg
Gimo
累计撰写
26
篇文章
累计收到
30
条评论
首页
栏目
记录
技术
随笔
电子书
页面
友链
统计
搜索到
1
篇与
的结果
2023-08-17
使用Cloudflare API自动更新DDNS
通过Cloudflare的API很容易实现动态更新IP地址到域名里,可以完美的替代花生壳之类的DDNS,不用出一分钱,有一个域名即可操作。需要将你的域名托管在Cloudflare。以下是一段实现自动更新IP到Cloudflare的bash脚本: #!/bin/bash # Cloudflare 相关信息 CF_API_KEY="2vTgV2ZuaGAesvUQ9DQmnWeQK" # 你的 Cloudflare API 全局密钥 CF_EMAIL="
[email protected]
" # 你的 Cloudflare 邮箱。 CF_ZONE_ID="ZmqyA2i2QP0uMFhF8f8kP6a3Q" # 你的 Cloudflare 域名区域 ID CF_RECORD_ID="812TJnBhaKPod2K4WdVTuuZ" # 你的 Cloudflare record ID # 子域名 SUBDOMAIN="a" # 查询本机 IP 地址 current_ip=$(curl -s http://api.ipify.org) # 读取上次保存的 IP 地址 if [ -f "last_ip.txt" ]; then last_ip=$(cat last_ip.txt) else last_ip="" fi # 比较 IP 地址 if [ "$current_ip" != "$last_ip" ]; then echo "IP 地址已变更,更新 Cloudflare 域名记录..." # 更新 Cloudflare 域名记录 update_result=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$CF_RECORD_ID" \ -H "X-Auth-Email: $CF_EMAIL" \ -H "X-Auth-Key: $CF_API_KEY" \ -H "Content-Type: application/json" \ --data '{"type":"A","name":"'$SUBDOMAIN'.tyleo.one","content":"'$current_ip'","ttl":1,"proxied":false}') if [[ $update_result == *"\"success\":true"* ]]; then echo "IP 地址已成功更新为 $current_ip" # 保存当前 IP 地址 echo "$current_ip" > last_ip.txt else echo "更新失败: $update_result" fi else echo "IP 地址未变更" fi 参数说明以上参数可以在Cloudflare 后台获取,但要获取Cloudflare record ID,还需要执行一下代码获取,把脚本中的tyleo.one替换成你自己的域名。子域名哪里可以随便填,执行成功的话会自动添加记录到Cloudflare。通过代码获取到Cloudflare record ID:代码需要在Linux下执行,注意:把下面中文的地方替换成你自己的实际参数。隐藏内容,请前往内页查看详情确保你已经安装了 jq 工具,它用于解析 JSON 响应。你可以通过以下方式安装 jq:sudo apt install jq # Ubuntu/Debian 执行代码后看到输出一串长长的代码,在{"result"}:{"id"}:' 'ID冒号后面这一串就是 Record ID了,复制出来即可。脚本修改好之后,可以保存为 CF_update_ip.sh然后赋予执行权限: chmod +x CF_update_ip.sh 然后输入: bash ./CF_update_ip.sh 即可执行,如果成功了就能看到在Cloudflare上添加了一条记录。添加crontab定时任务 crontab -e */5 * * * * /root/CF_update_ip.sh >> /var/log/CF_update_ip.sh.log 2>&1 0 1 * * 7 echo "" > /var/log/CF_update_ip.sh.log以上是一条5分钟自动执行一次的示例,可以根据具体情况修改为你系统的路径和时间间隔。
2023年08月17日
356 阅读
1 评论
0 点赞