Skip to content

speed.sh for openwrt arm 改了几行代码可用于arm #2

@fjnpzh

Description

@fjnpzh

#!/bin/bash
export LANG=zh_CN.UTF-8
auth_email="[email protected]" #你的CloudFlare注册账户邮箱
auth_key="xxxxxxxxxxxxxxx" #你的CloudFlare账户key,位置在域名概述页面点击右下角获取api key。
zone_name="xxxx.com" #你的主域名
record_name="cl" #自动更新的二级域名前缀,例如cloudflare的cdn用cl,gcore的cdn用gcore,后面是数字,程序会自动添加。二级域名需要已经在域名管理网站配置完成,视频教程可以参考:https://www.youtube.com/channel/UCfSvDIQ8D_Zz62oAd5mcDDg
record_count=5 #二级域名个数,例如配置5个,则域名分别是cl1、cl2、cl3、cl4、cl5. 后面的信息均不需要修改,让他自动运行就好了。

echo
echo '你的IP地址是'$(curl 4.ipw.cn)',请确认为本机未经过代理的地址'
echo '小道笔记:https://www.youtube.com/channel/UCfSvDIQ8D_Zz62oAd5mcDDg'
./CloudflareST

record_type="A"
#获取zone_id、record_id
zone_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$zone_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" | jq -r '.result[0].id')
#echo $zone_identifier

sed -n '2,20p' result.csv | while read line
do
#echo $record_name$record_count'.'$zone_name
record_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$record_name$record_count.$zone_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" | jq -r '.result[0].id')
#echo $record_identifier
#更新DNS记录
#update=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records/$record_identifier" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" --data "{"type":"$record_type","name":"$record_name$record_count.$zone_name","content":"${line%%,}","ttl":60,"proxied":false}" | jq -r '.success')
update=$(wget --method PUT --header "X-Auth-Email: $auth_email" --header "X-Auth-Key: $auth_key" --header "Content-Type: application/json" --body-data="{"type":"$record_type","name":"$record_name$record_count.$zone_name","content":"${line%%,
}","ttl":60,"proxied":false}" --no-check-certificate -O - "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records/$record_identifier" | grep -o '"success":.' | sed 's/"success":(.)/\1/g')
#反馈更新情况
#echo ${line%%,}
#echo "$update"
if echo "$update" | grep "true" >/dev/null; then
echo $record_name$record_count'.'$zone_name'更新为:'${line%%,
}'....成功'
else
echo $record_name$record_count'.'$zone_name'更新失败:'$update
fi
record_count=$(($record_count-1)) #二级域名序号递减
#echo $record_count

if [ $record_count -eq 0 ]; then
    break
fi

done

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions