OpenWrt抓取CF优选好的ip并自动更新DDNS

玩客云刷了个openwrt做旁路由出国使用,用路由本地优选占用资源很大,看到有大佬直接优选好的ip,并且是实时更新的(每15分钟更新一次)。看里面优选的联通ip不错,便让GTP写个脚本抓取一下解析DDNS。不敢独享,现分享出来。

某大佬优选好的IP:https://www.wetest.vip/

脚本更新截图:

图片[1]-OpenWrt抓取CF优选好的ip并自动更新DDNS-杨公子的博客
运行抓取网页ip脚本和更新DDNS脚本
图片[2]-OpenWrt抓取CF优选好的ip并自动更新DDNS-杨公子的博客
免费的DDNS

最后配置一个路由定时几个小时运行一次即可。

附上脚本代码:

爬取ip地址脚本

#!/bin/sh

# 使用 curl 获取网页内容,并提取 IP 地址
curl -s https://www.wetest.vip/page/cloudflare/address_v4.html | grep -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' > /root/ip.txt

# 输出保存结果
echo "IP 地址已保存到 /root/ip.txt"

更新DDNS脚本

#!/bin/sh

# 文件路径
IP_FILE="/root/ip.txt"

# 读取第6个IP地址
IP_ADDRESS=$(sed -n '6p' "$IP_FILE")

# 检查IP地址是否为空
if [ -z "$IP_ADDRESS" ]; then
    echo "第6个IP地址不存在或为空。请检查 /root/ip.txt 文件。"
    exit 1
fi

# no-ip.com 的更新 URL
USERNAME="用户名"         # 替换为你的 no-ip 账号用户名
PASSWORD="密码"         # 替换为你的 no-ip 账号密码
HOSTNAME="域名"         # 替换为你的 no-ip 主机名


# 更新DDNS IP
API_URL="https://dynupdate.no-ip.com/nic/update?hostname=${HOSTNAME}&myip=$IP_ADDRESS"

# 更新 IP
curl -u "$USERNAME:$PASSWORD" -s "$API_URL"

# 检查是否更新成功
if echo "$RESULT" | grep -q "good"; then
    echo "DDNS更新成功,IP地址:$IP_ADDRESS"
elif echo "$RESULT" | grep -q "nochg"; then
    echo "DDNS更新成功,IP地址未变化:$IP_ADDRESS"
else
    echo "DDNS更新失败,错误信息:$RESULT"
fi

爬取ip地址脚本

#!/bin/sh

# 定义URL
URL="https://www.wetest.vip/page/cloudflare/address_v6.html"

# 下载网页内容并提取IPv6地址,保存到/root/ipv6.txt
wget -qO- "$URL" | grep -oE "([a-fA-F0-9:]+:+)+[a-fA-F0-9]+" > /root/ipv6.txt

# 输出提示信息
if [ $? -eq 0 ]; then
    echo "IPv6地址提取成功,已保存到/root/ipv6.txt"
else
    echo "提取失败,请检查网络连接或URL是否有效"
fi
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片