MENU

Cloudflare定时更换优质IP

可能有人觉得Cloudflare是减速CDN,这结论应该算是一半对,一半错

相对于的大陆以及大陆周边较近的香港、日本、韩国等的服务器来讲,套上Cloudflare的CDN确实可能起到反效果或者没效果

但是,距离大陆偏远地区的服务器用上,会有显著速度提升。从理论上来讲,说不定还能拯救你被墙了的IP以及科学上网加速

以我的俄罗斯小鸡为列,放上一张对比测速图:
测速对比
可以看到左边的测速,域名绑定的是源IP,一大片红,网页加载一二十秒才打开

而右边的测速是用了自选IP以及定时更换IP的,明显颜色浅了许多,虽然看上去颜色还是有点深,但是我这边移动访问测试网页秒开,联通电信稍微慢点

本文内容包括CloudFfare自选IP以及定时更换Cloudflare优质IP的教程,自选IP的教程网上有许多,但本文又略微不同,所以一并在这里从头到尾详细写出来

首先从你的域名注册商那里修改DNS服务器为如下两组DNS:

f1g1ns1.dnspod.net
f1g1ns2.dnspod.net

修改dns
PS:必须是DNSPod的,因为后面的定时更换IP目前只支持DNSPod

登录DNSPod,点击右上角的管理控制台,然后进入DNS解析,添加你的域名,等待DNS生效即可
添加域名
DNS生效后,可以先添加一至两条境外的解析,提供几个漂亮的IP:

1.1.1.1
1.0.0.1
1.0.0.0
......
可自定义其它所属Cloudflare的IP,最多支持两条境外解析,可能是免费版的原因

添加境外IP
PS:其实这一步可以不加,完全可以省略,个人强迫症,只不过加了后,可以让大陆以外的人访问你的网站,也会有加速效果。而后面要说的定时更换优质IP,只会帮你更换对国内移动、联通、电信友好的IP,如果你没强迫症,干脆跳过这里吧

之后用你的Cloudflare账号登录第三方的Cloudflare Partner平台,网上有很多这种平台,这里我用的是萌精灵CDN,登陆进去后添加你的域名
添加域名
然后进入管理/管理DNS,添加一条A记录,解析到你的源IP(你的服务器IP),如果你是虚拟主机,那就改为CNAME的记录方式,填写对应的纪录值即可
添加源ip解析

上面的操作基本已经完成,然后接下来要讲的就是定时自动更换优质IP了

也就是我最近在Github上发现了一个不错的项目:


你需要一个Github账号,登录后进入该项目:
https://github.com/ddgth/cf2dns
点击右上角Fork到自己仓库
fork项目
Fork后会跳转到自己Fork的仓库界面,进入Settings
进入设置
点击Secrets
Secrets
点击New repository secret
New repository secret
Name填DOMAINS

Value填如下:
DOMAINS

#单域名
{"域名": {"@": ["CM","CU","CT"]}}
#单域名多个二级域名
{"域名": {"@": ["CM","CU","CT"], "前缀": ["CM", "CU", "CT"], "前缀": ["CM","CU","CT"]}}
#多个域名以及多个二级域名
{"域名": {"@": ["CM","CU","CT"], "前缀": ["CM", "CU", "CT"], "前缀": ["CM","CU","CT"]},"域名": {"@": ["CM","CU","CT"], "前缀":["CM","CU","CT"]}}

然后点击绿色按钮Add secrets提交
PS:如需多个域名或多个前缀,也需要在萌精灵CDN那里添加解析至源IP的A记录

还是跟刚才同样的方法,点击New repository secret

Name填KEY
Value填你的KEY

KEY可以在该项目作者的商店购买,如果你不想花钱的话,可以填o1zrmHAF这个KEY进去

然后点击Add secrets提交

PS:作者也说了,o1zrmHAF这个KEY用的是历史优选的Cloudflare IP,还是建议去作者的商店购买,也不贵,花不了几个钱

接下来去腾讯云控制台新建一个密钥,会得到两个秘钥
密钥
切换到Github点击New repository secret

Name填SECRETID
Value填腾讯云得到的对应密钥

点击Add secrets提交

再次点击New repository secret

Name填SECRETKEY
Value填腾讯云得到的对应密钥

点击Add secrets提交

以上所添加的总共有4个,分别是DOMAINS,KEY,SECRETID,SECRETKEY
添加的四个值
点击Code
请输入图片描述
点击进入.github/workflows目录
请输入图片描述
点击进入run.yml文件
请输入图片描述
点击图标开始编辑
请输入图片描述
把第8行的16改为15(15分钟执行一次,可自定义,建议15)

然后点击Start commit提交保存
请输入图片描述
然后点击Actions
请输入图片描述
会提示如下,点击绿色按钮
请输入图片描述
点击选择框,选择Github Actios Cloudflare2DNSPod Bot
请输入图片描述
然后你会看到个这样的提示,点击即可
请输入图片描述

本教程到这里基本算是已经结束了,如需检测是否执行成功,请看下方

查看运行日志:
等待十几分钟后,刷新页面你会看到如下,然后点击进去
请输入图片描述
点击build
请输入图片描述
点击run cf2dns看到SUCCESS的字样既视为成功执行
请输入图片描述
如果看不懂日志,最简单的办法还是登陆DNSPod查看该域名的解析记录,你会看到多出6条解析,分别对应移动、联通、电信
请输入图片描述

该项目还可以在VPS或自己的电脑上运行,具体操作就不在这一一说了,你可以访问该项目查看如何用VPS或电脑执行,上面有简单的说明
请输入图片描述
该项目作者说了,后续会增加几个测试Cloudflre IP的节点,以便给使用该项目的朋友更好的体验

最后编辑于: 2021 年 09 月 09 日
添加新评论

已有 41 条评论
  1. 云起 云起

    也同样在用这个cf优选ip方案,但是遇到一个文字。
    就是最近总是会遇到某个线路打开网站提示连接被重置,刷新本地dns缓存有时能解决,有时无效。
    难道这是因为解析的cfip被墙的原因吗?
    一直没搞懂是什么情况

    1. @云起你是电信嘛?最近163出口都不太稳定,电信比较明显,你访问我的这个站试试 http://8004.xyz/

    2. 云起 云起

      @Dark我是联通,出现这个情况的时候一般是下午5点左右,或者是晚上12点以后。。我估计是换到了被墙的ip,出现这个情况的时候我用手机的移动网络就正常访问。另外884.xyz目前访问正常。

    3. @云起cf本来对移动比较友好点,联通电信一般

  2. AKERS AKERS

    DNSPod 计划已于 2020-12-15 针对 DNS 服务器地址进行全面升级。

    升级之后,新增解析域名将不再使用固定的免费版 DNS 地址(f1g1ns1.dnspod.net与 f1g1ns2.dnspod.net),而是新版的专属免费版 DNS 地址。已有域名的 DNS 不受影响。
    DNSPod 为每位用户提供免费版专属 DNS 地址,拥有较高标识度及安全性,同时不再担心域名被他人恶意占用。
    只有当 DNS 设置正确时,域名解析才会正常生效。

    新版的dnspod请至域名注册商处修改 DNS 服务器为
    algol.dnspod.net
    george.dnspod.net

    原有老版的不受影响!

    1. @AKERS每个人都不一样

  3. ::quyin:witty::
    自荐我写的 CloudflareSpeedTest(Go语言,全平台/系统支持,不需要任何依赖)~

    测试 Cloudflare CDN 延迟和速度,获取最快 IP (IPv4+IPv6)!
    https://github.com/XIU2/CloudflareSpeedTest

    直接运行就能自动延迟测速+下载测速,并列出速度最快的 IP。
    当然还有进阶使用方法,自行搭配各种参数来获得更个性化的测速结果!

    1. @XIU2好的,大佬@(大拇指)

  4. 埋名 埋名

    用过优化的域名怎么用于微二 nginx也加了代码 老是连接不上 子域是添加在萌精灵还是DNSPod

    1. 埋名 埋名

      @埋名我是这样做的 先在DNSPod里加子域 然后执行微二一键安装程序 装好后 宝塔网站配置里加代码,重启nginx,然后删除DNSPod里的子域,萌精灵里加子域。请大佬看看对不对 直接在萌精灵里加子域关闭cdn貌似不行 是ping没ip

    2. @埋名如果你是按照本文章,DnsPod里的CF IP就会自动填写,如果只是自选IP,你的手动为子域添加CF IP

    3. @Darkdnsop的子域应是CF IP,你可以到这查看是否生效

      http://mip.chinaz.com/?query=

      第三方萌萌灵只需添加你服务器的IP

      微二自带的那个测延迟的不赢管他,直接网页测试有无网络

    4. 埋名 埋名

      @Dark我是安装本教程自动选的 现在我的问题是一开始我在Dnspod添加子域指望服务器ip安装微二, 然后删除dnspod的子域记录,再在萌精灵添加子域 微二连接不上 前提是代码都加了

    5. @埋名我也不太清楚你那里的问题,但是脚本的话,我用的如下:

      bash <(curl -s -L https://git.io/微二.sh) #宝塔设置Nginx添加此段可共存 location / { proxy_redirect off; proxy_pass http://127.0.0.1:22222; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; }
    6. 埋名 埋名

      @Dark是的 我用的也是的 我想问问大佬 你安装微二绑定域名的时候,是在dnspod里添加的子域等微二安装好了再删除,再在萌精灵里添加子域的吗?

    7. 埋名 埋名

      @Dark再删除dnspod的子域记录再在萌精灵里添加子域记录的吗

    8. @埋名dnspod添加服务器IP的解析

      安装好唯二

      删除刚添加的解析

      萌精添加解析至源IP

      DnsPod添加自选的CF IP

    9. 埋名 埋名

      @Dark我的这是这步骤 对了您开始cdn了吧

    10. @埋名肯定是开的\#(喷血)

    11. 埋名 埋名

      @Dark好吧 我再搞搞

  5. 备案一下滴事情哇。::quyin:hematemesis::

    1. @城南旧事主要是域名暂时备不了::quyin:hematemesis::

    2. @Dark不过你这图床速度挺快

    3. @城南旧事白嫖大厂,阿里云,Github+Jsdelivr

      不过还是想放本地

    4. @Dark跟我学吧,都放在本地。也不怕丢失了

    5. @城南旧事我也想啊,香港的带宽贵的很\#(哭泣)