OpenWrt定时脚本优选IP后自动DDNS到Cloudflare变成优选域名

2,518次阅读
没有评论

共计 998 个字符,预计需要花费 3 分钟才能阅读完成。

使用 CloudflareSpeedTest 工具优选 IP 后自动 DDNS 到 Cloudflare

推荐放到软路由上面。系统 openwrt

开启定时脚本,每天自动优选 ip 解析到域名。

 

这里使用开源脚本

地址:CloudflareSpeedTestDDNS

1. 下载并解压脚本(载体可以是 openwrt,或其他 linux)

注意,如果没下载测速程序,还得去下载核心文件。
地址:CloudflareSpeedTest
我是树莓派系统是 arm 的,所以下载的是这个文件:CloudflareST_linux_arm64.tar.gz。解压以后放入脚本 cf_ddns 文件夹里面。
OpenWrt 定时脚本优选 IP 后自动 DDNS 到 Cloudflare 变成优选域名
OpenWrt 定时脚本优选 IP 后自动 DDNS 到 Cloudflare 变成优选域名

2. 填写 config.conf 配置文件

vi config.conf

3. 运行脚本

bash start.sh

定时更新

在脚本的目录,再自己写一个脚本,创建 cron.sh 文件

#!/bin/bash

# cron 定时使用
# 首先进入脚本目录
cd /root/CloudflareSpeedTestDDNS
# 执行脚本,并输出日志
source ./start.sh > nohup.out

在使用 crontab 调度
crontab -e

新建一个定时
OpenWrt 定时脚本优选 IP 后自动 DDNS 到 Cloudflare 变成优选域名
34 21 * * * 代表的意思是每天晚上 21:34 运行 cron.sh 脚本。

cron 文件语法:

1. 每隔 n 分钟运行一次脚本
*/n * * * * /path/test.sh
2. 每天凌晨 n 点运行脚本
0 n * * * /path/test.sh
3. 每月第 n 天的早上 6 点 30 分运行脚本
30 6 n * * /path/test.sh
4. 每天的 3 点,12 点,18 点运行脚本
0 3,12,18 * * * /path/test.sh

最终效果

查看文件,便可以看见日志

OpenWrt 定时脚本优选 IP 后自动 DDNS 到 Cloudflare 变成优选域名

说明一下,配置文件中的 CFST_DN 属性,也代表了 cf 解析 ip 的数量

#-- 下载测速数量 --
# 延迟测速并排序后,从最低延迟起下载测速的数量;(默认 10 个)
CFST_DN=2

其他配置,自行看注释说明。

Docker 运行

https://hub.docker.com/r/lee1080/cfstddns


原理

使用 Cloudflare 的 API,将 CloudflareSpeedTest 工具优选到的最快 IP,自动更新到指定域名上。

存在问题

.tk .ml .ga .cf .gq 这几个域名可能存在无法调用 CloudflareAPI。

番外

还有个带 ui 的 openwrt 开源插件,附上链接有兴趣的自行了解。

luci-app-cloudflarespeedtest

正文完
 
alecctv
版权声明:本站原创文章,由 alecctv 2024-02-04发表,共计998字。
转载说明:除特殊说明外本站文章皆由ooly.cc发布,转载请注明出处。
评论(没有评论)
验证码