前言(有点啰嗦,不想看的可以跳过)
我以前曾经在本论坛发过一个我写的开源软件:「原创/开源」 测试 Cloudflare CDN 延迟和速度,获取最快 IP (IPv4+IPv6)!,我开发该软件的目的就是为了通过改 Hosts 的方式来加速访问使用 Cloudflare CDN 的网站。
但是要一个个去添加域名到 Hosts 中实在是太麻烦了!
平时我经常访问的网站不多,所以还可以忍受,而这两天碰巧遇到了不少使用 Cloudflare CDN 的网站,起初我还是习惯性的将域名添加到 Hosts 中,但是发现太多太麻烦了,而且修改 Hosts 后还需要重启浏览器才能立即生效。
于是我就想有没有什么方式可以一劳永逸(相对的)。
起初我是在 DNS 方向寻找方法(比如 DNS 抢答),但显然不太现实或者过于复杂。
然后我就想到了 Linux 的 iptables 防火墙有个 IP 重定向的作用,于是就想着 Windows 上面是否也有支持 IP 重定向的工具,结果还真找到了一个 3Proxy,可能不一定是最好的,但是我觉得还不错,就暂时先用着吧,如果你有更好的选择,请务必告诉我!
目前我也只是刚刚使用,很多地方也不熟,大家可以互相讨论!
虽然很多人都是拿我这个软件来加速梯子的,但我还是希望有和我一样需求的人!
原帖:https://github.com/XIU2/CloudflareSpeedTest/discussions/71
原理说明
相当于是在本地创建一个 HTTP 代.理(3Proxy),其作用就是:
- 当你尝试访问任意 Cloudflare CDN IP 时,将其重定向至指定 IP 。
然后修改你的系统代.理设置,或浏览器代.理设置(可以使用 SwitchyOmega 扩展),这样所有浏览都会经过本地 HTTP 代.理,并根据要求重定向到指定 IP。
这样你就不需要在去折腾什么 DNS、Hosts 了,直接把所有 Cloudflare CDN IP 都重定向到最快的 IP 上即可。
下载程序
蓝奏云网盘中只包含了 Windows 版本:
32 位选x86
(而x86_lite
适用低于 XP 版本的系统),64 位选x64
(而 arm64 适用于 ARM 架构的 Windows)。
下载解压到合适的位置。
配置文件
进入解压后的文件夹中,找到 3proxy.cfg 文件(蓝奏云中我配置好的才有),右键 - 打开方式 - 记事本,会看到如下内容:
auth iponly
# 井号内容为注释
allow * * 1.1.1.0/24,1.0.0.0/24,173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/12,172.64.0.0/13,131.0.72.0/22 443
parent 1000 tcp X.X.X.X 443
# 请把 X.X.X.X 替换为你要用的 Cloudflare CDN
allow *
# 2088 就是自定义的 HTTP 端口,如果删掉 -p2088,则默认为 3128 端口
proxy -p2088
你只需要根据提示把文件中的 X.X.X.X 改为你要指定的最快 Cloudflare CDN IP 并保存即可。
默认 HTTP 端口为 2088(一般不会产生端口冲突),想改可以自己改。
使用方法
找到并双击 安装服务.bat 文件(蓝奏云中我配置好的才有),会看到如下提示,点击 是 (Y) 即可。
如果没有提示错误,则按下任意键退出该 bat 脚本。
这时候,3Proxy 就默认安装并启动成功了(且默认开机启动)。
你可以打开任务管理器看一下 详细信息 / 服务 选项卡,应该能看到正在运行的 3Proxy 。
当你想要卸载 3Proxy 时,双击 卸载服务.bat 卸载服务,然后删除文件夹即可。
当你修改了 3proxy.cfg 配置文件时,记得双击 重启服务.bat 使其生效。
代.理设置
想要使用刚才创建的本地 HTTP 代.理,还需要配置一下系统代.理设置(或浏览器代.理设置)。
系统代.理设置
右键左下角的开始菜单图标 - 设置 - 网络和 Internet - 代.理:
打开 使用代.理服务器,地址填写 127.0.0.1,端口填写 2088 (默认),并点击保存。
记得要把上面 自动设置代.理 中的 自动检测设置、使用设置脚本 关掉。
当然不同的人使用代.理的方式不一样,这段步骤并不一定要完全按照我说的做。
最后验证
想要知道是否成功,那么很简单,只需要在打开浏览器开发者工具后(F12 - Network),访问任意使用 Cloudflare CDN 的网站,看一下网站目标 IP 是不是 127.0.0.1:2088 即可。
给你们提供一个现成的地址(还可以顺便比较一下开启前后加载速度,记得要 Ctrl+F5 强制刷新):
https://images3.alphacoders.com/113/thumb-1920-1135880.png
扩展说明
如何与梯子共存?
如果你想要该本地 HTTP 透明代.理和梯子代.理同时使用(共存),则需要安装一个浏览器扩展:SwitchyOmega
如果你已经安装了,请先新建情景模式 - 代.理服务器(假设名称为 Cloudflare):
代.理协议:HTTP,代.理服务器:127.0.0.1,代.理端口:2088(默认)
如果你已经在使用 自动切换模式 这类情景模式了,那么只需要把底部的默认情景模式改为刚刚添加的 Cloudflare 情景模式。
这时,对于不走梯子代.理的域名,就会转到本地 HTTP 透明代.理去了,并根据需求将所有 Cloudflare CDN IP 重定向至最快 IP。