XIU2 / CloudflareSpeedTest

🌩「自选优选 IP」测试 Cloudflare CDN 延迟和速度,获取最快 IP !当然也支持其他 CDN / 网站 IP ~
GNU General Public License v3.0
19.73k stars 3.89k forks source link

本人提出一个自动化更高的方案 #77

Closed issacqin closed 3 years ago

issacqin commented 3 years ago

其实,目前提速根本的途径是找线路入口问题,本人提一个自动化更高的方案,就是利用多个DDNS,指向多个优选IP的,个人已经尝试修改脚本文件,将优选的IP指向一组域名,可以成功,几分钟就可以生效,这样做的好处是,不用再手工操作,直接用域名作为设置,PC端,移动端都可以使用了。

而且,这样做等于可以做成多线路备份,在有“自动选择”功能软件,如WinXray,Clash中,自动会找到优选中的优选进行连接,如速度不理想,也可改为手动模式。一般“自动选择”不推荐,因为会被访问网站会认为访问者是黑客入侵,但是更换线路只是CF入口地址,目标服务器没有变,出口也是同一个,所以没有影响。

我使用了changeip的DDNS解析,接口简单,生效很快。如果采纳方案,请在大作中保留以下申请入口,谢谢:https://www.changeip.com/accounts/aff.php?aff=3799

changeip API: curl "https://nic.changeip.com/nic/update?cmd=update&u=%UID%&p=%PWD%&hostname=%DDNS_Name%&ip=xxx.xxx.xxx.xxx"

XIU2 commented 3 years ago

没有什么采纳不采纳的。

这些都是用户自己按需选择的,你可以不关闭这个 Issues 让有需要的人可以看到。

看你的描述,这种情况只适用于代理需求(而我对使用 Cloudflare CDN 做代理并不熟),你有兴趣的话可以补充一下这个 DDNS 相关教程,避免小白不会用。


像我平时发的那些 cfst_hosts.bat cfst_3proxy.bat 脚本,其实都是我自用的,顺便分享出来看有没有人需要。

而因为我没有使用 Cloudflare CDN 做代理的需求,所以这方面的脚本、教程我也没写过。 但是如果大家有兴趣的话,欢迎在这里分享各种各样的脚本、教程!

issacqin commented 3 years ago

没有什么采纳不采纳的。

这些都是用户自己按需选择的,你可以不关闭这个 Issues 让有需要的人可以看到。

看你的描述,这种情况只适用于代理需求(而我对使用 Cloudflare CDN 做代理并不熟),你有兴趣的话可以补充一下这个 DDNS 相关教程,避免小白不会用。

简单来说,我看了其他两个方案,修改host和3proxy, 觉得都需要动到PC本机设置,这样不利于移动端。 但我自己已经使用了动态DDNS指向方式,很方便,适用于小白,如果可以提供某些节点域名给小白使用就更方便了,这可以成为一种服务,那么小白们不再需要每个人本地运行“海选”形的测速,直接使用服务公布的域名or地址,就可以了。 这个方案只是定位选优后的了cloudflare入口地址,相当于提供了优选“线路”,这不关内部worker设置的事情, 就是说,使用了cloudflare反代服务的任何软件都可以直接受益,而不只是“代理需求”。

XIU2 commented 3 years ago

没看明白你说的是什么意思。。。

之所以我只写了 host、3proxy 方案,是因为我个人开发这个软件的目的就是用来改 Hosts 加速访问使用 Cloudflare CDN 的网站

issacqin commented 3 years ago

Hosts

对的,我就是指,改 Hosts是改的本地,而使用动态域名重定向,就不用本地改 Hosts了。

XIU2 commented 3 years ago

如果可以提供某些节点域名给小白使用就更方便了,这可以成为一种服务,那么小白们不再需要每个人本地运行“海选”形的测速,直接使用服务公布的域名or地址,就可以了。

看明白你说的意思了,也就是我直接跑好,然后解析到域名上,让别人直接使用?

这样是不行的,因为 Cloudflare CDN 用了 Anycast 任播技术,IP 的实际位置和线路都会动态调整的,不同地区、不同运营商访问同一个 IP 延迟/速度 都不一样

因此只有在本地网络环境下测速得到的 IP 才最适合自己。

issacqin commented 3 years ago

如果可以提供某些节点域名给小白使用就更方便了,这可以成为一种服务,那么小白们不再需要每个人本地运行“海选”形的测速,直接使用服务公布的域名or地址,就可以了。

看明白你说的意思了,也就是我直接跑好,然后解析到域名上,让别人直接使用?

这样是不行的,因为 Cloudflare CDN 用了 Anycast 任播技术,IP 的实际位置和线路都会动态调整的,不同地区、不同运营商访问同一个 IP 延迟/速度 都不一样

因此只有在本地网络环境下测速得到的 IP 才最适合自己。

你自己用是可以的呀,而且,测速不是一次性的,可以对现在的节点进行心跳检测,如果质量下降就可以更新DDNS指向新的好节点地址,我使用下来这个方案,本城市共同使用同优选节点地址没有任何问题,估计本省都不会有太大区别。

XIU2 commented 3 years ago

就是说,使用了cloudflare反代服务的任何软件都可以直接受益,而不只是“代理需求”。

你说的这种 Cloudflare 反代服务的软件指的是什么?

我依然觉得 DDNS 这种方案 “基本上” 只适用于代理需求,反代是反向代理的简称,依然是代理需求。 甚至说,用我这个项目的人,绝大部分都是用来加速代理的(走 Cloudflare CDN 的代理),虽然我不在意~


我个人用不上,因为我没有这种需求,对于只是为了加速访问使用 Cloudflare CDN 的网站需求,3Proxy 是最近乎完美的方案。
我一开始用的是 Hosts 方案,但是最近嫌麻烦(要一个个添加域名到),于是又研究得到了 3Proxy 方案,完美解决了我的需求

我这个人不管是写软件、写脚本、写项目等,全都是来自我个人需求,需求产生动力推动我去折腾,我学编程就是为了自给自足!然后顺便分享出来看看有没有人也需要~


而且我也知道 DDNS 这种方案。

前段时间有个人( #39 )就想这么做但是不会做,我就远程协助帮他 “免费私人定制” 搞了个全自动方案(在路由器上测速后把最快的 10 个 IP 修改为 DDNS 解析,然后搭配那个人路由器上带的代理功能负载均衡使用)。

issacqin commented 3 years ago

就是说,使用了cloudflare反代服务的任何软件都可以直接受益,而不只是“代理需求”。

你说的这种 Cloudflare 反代服务的软件指的是什么?

我依然觉得 DDNS 这种方案 “基本上” 只适用于代理需求,反代是反向代理的简称,依然是代理需求。 甚至说,用我这个项目的人,绝大部分都是用来加速代理的(走 Cloudflare CDN 的代理),虽然我不在意~

我个人用不上,因为我没有这种需求,对于只是为了加速访问使用 Cloudflare CDN 的网站需求,3Proxy 是最近乎完美的方案。 我一开始用的是 Hosts 方案,但是最近嫌麻烦(要一个个添加域名到),于是又研究得到了 3Proxy 方案,完美解决了我的需求

我这个人不管是写软件、写脚本、写项目等,全都是来自我个人需求,需求产生动力推动我去折腾,我学编程就是为了自给自足!然后顺便分享出来看看有没有人也需要~

而且我也知道 DDNS 这种方案。

前段时间有个人( #39 )就想这么做但是不会做,我就远程协助帮他 “免费私人定制” 搞了个全自动方案(在路由器上测速后把最快的 10 个 IP 修改为 DDNS 解析,然后搭配那个人路由器上带的代理功能负载均衡使用)。

差不多就这个意思,反正我是自己实现了,不难,只是纯分享一个方案罢了,有动手能力的自然会去弄,不会做的估计也听不懂啥意思。

denniszzg commented 3 years ago

请教大佬们,意思是不是说,在openwrt上设置ddns,自动将CloudflareSF搜出来的最快IP解析到动态域名上。 然后在v2ray客户端里,配置地址为动态域名,这样就不用手动填写IP了? 理解的对吗? 如果说没有软路由,想实现这个效果,有没有什么好办法?

denniszzg commented 3 years ago

前段时间有个人( #39 )就想这么做但是不会做,我就远程协助帮他 “免费私人定制” 搞了个全自动方案(在路由器上测速后把最快的 10 个 IP 修改为 DDNS 解析,然后搭配那个人路由器上带的代理功能负载均衡使用)。

这个方案好啊,求教程~~

XIU2 commented 3 years ago

@denniszzg 理解正确。 不过这种方案是没办法写教程了,不同环境的操作步骤存在差异,无法一概而论。


我自己是没有 OpenWrt 路由器或软路由的,只有上次远程协助时才第一次实际使用过。
当时是给那个人写了一个简单的脚本,通过 Cron 定时运行脚本(脚本内容就是运行 CloudflareST 并取出最快的 IP 并写入到单独文件中),然后那个人路由器自带的 DDNS 功能获取该文件中的 IP 并更新域名解析记录。

denniszzg commented 3 years ago

好的。难度不大的话我想折腾一下,生命不息,折腾不止。

  1. 搞一个盒子安装openwrt (能搞定)
  2. 在盒子上安装CloudflareST (能搞定)
  3. 通过 Cron 定时运行脚本 (搞不定,求援)

请大佬斧正。

XIU2 commented 3 years ago

@denniszzg 到时候你可以联系我远程协助,我按照你的需求写个简单脚本并配置定时任务。

denniszzg commented 3 years ago

好的。感恩

denniszzg commented 3 years ago

好的。难度不大的话我想折腾一下,生命不息,折腾不止。

  1. 搞一个盒子安装openwrt (能搞定)
  2. 在盒子上安装CloudflareST (能搞定)
  3. 通过 Cron 定时运行脚本 (搞不定,求援)

请大佬斧正。

盒子装了F大的固件后不能正常使用,可能是固件不匹配。暂时申请了个免费域名,在Cloudflare上手动指定IP,凑合先用一下。等后面有合适固件再开搞

immity commented 3 years ago

你的需求应该用这个项目 https://github.com/ddgth/cf2dns