0


【开源】Cloudflare优选IP➕DnsPod的DDNS自动切换

CloudFlare是一个非常优秀的CDN服务,但是CloudFlare也有一个大的毛病——大陆访问速度很慢。国外很多网站都在使用 Cloudflare CDN,但分配给中国内地访客的IP并不友好(延迟高、丢包多、速度慢)。
虽然Cloudflare公开了所有IP段,但想要在这么多IP中找到适合自己的,怕是要累死,于是就有了这个脚本。

Cloudflare优选IP 每隔15分钟更新(IPv6+IPv4)

项目地址

CloudflareIP-dnspod-ddns

优化后示例站点

点击体验

实现逻辑及局部代码

获取优选IP

const res =awaitfetch("https://api.vvhan.com/tool/cf_ip");const data =await res.json();// 数据格式// {//     "success": true,//     "data": {//         "v4": {//             "CM": [],//             "CU": [],//             "CT": []//         },//         "v6": {//             "CM": [],//             "CU": [],//             "CT": []//         }//     }// }

取优选IP中的最优选 (延迟比较)

// 取最优选IP IPv4constCM_IP_V4= data.v4.CM.reduce((minItem, currentItem)=>{return currentItem.latency < minItem.latency ? currentItem : minItem;}, data.v4.CM[0]);constCU_IP_V4= data.v4.CU.reduce((minItem, currentItem)=>{return currentItem.latency < minItem.latency ? currentItem : minItem;}, data.v4.CU[0]);constCT_IP_V4= data.v4.CT.reduce((minItem, currentItem)=>{return currentItem.latency < minItem.latency ? currentItem : minItem;}, data.v4.CT[0]);constDNS_DATA_V4={移动:CM_IP_V4.ip,联通:CM_IP_V4.ip,电信:CU_IP_V4.ip,默认:CT_IP_V4.ip };// 取最优选IP IPv6constCM_IP_V6= data.v6.CM.reduce((minItem, currentItem)=>{return currentItem.latency < minItem.latency ? currentItem : minItem;}, data.v6.CM[0]);constCU_IP_V6= data.v6.CU.reduce((minItem, currentItem)=>{return currentItem.latency < minItem.latency ? currentItem : minItem;}, data.v6.CU[0]);constCT_IP_V6= data.v6.CT.reduce((minItem, currentItem)=>{return currentItem.latency < minItem.latency ? currentItem : minItem;}, data.v6.CT[0]);constDNS_DATA_V6={移动:CM_IP_V6.ip,联通:CM_IP_V6.ip,电信:CU_IP_V6.ip,默认:CT_IP_V6.ip };

循环替换优选IP

DnsPodDomainList.forEach(asynci=>{try{const res =await client.ModifyRecord({ Domain,RecordType: i.Type,RecordLine:"",RecordLineId: i.LineId,Value: i.Type =="A"?DNS_DATA_V4[i.Line]:DNS_DATA_V6[i.Line],RecordId: i.RecordId, SubDomain });
    console.log(res);}catch(error){
    console.log(error);}});

原文 【开源】Cloudflare优选IP➕DnsPod的DDNS自动切换

标签: node.js cdn 开源

本文转载自: https://blog.csdn.net/qq1345659844/article/details/141605565
版权归原作者 骤雨重山i 所有, 如有侵权,请联系我们删除。

“【开源】Cloudflare优选IP➕DnsPod的DDNS自动切换”的评论:

还没有评论