前言(有点啰嗦,不想看的可以跳过)

我以前一直在说,我开发该软件项目的主要目的就是为了通过 改 Hosts 的方式来加速访问使用 Cloudflare CDN 的网站

但是就如 Issues #8 所说,要一个个去添加域名到 Hosts 中实在是太麻烦了!

平时我经常访问的网站不多,所以还可以忍受,而这两天碰巧遇到了不少使用 Cloudflare CDN 的网站,起初我还是习惯性的将域名添加到 Hosts 中,但是发现太多太麻烦了,而且修改 Hosts 后还需要重启浏览器才能立即生效。

于是我就想有没有什么方式可以 一劳永逸 (相对的)。


起初我是在 DNS 方向寻找方法(比如 DNS 抢答),但显然不太现实或者过于复杂。
然后我就想到了 Linux 的 iptables 防火墙支持 IP 重定向 ,于是就想着 Windows 上面是否也有支持 IP 重定向的工具,结果找到了一个 3Proxy ,可能不一定是最好的,但是 使用起来很简单 ,就暂时先用着吧。如果你有更好的选择,请务必告诉我!


目前我也只是刚刚使用,很多地方也不熟,大家可以互相讨论!

虽然很多人都是拿我这个软件项目来加速梯子的,但我还是希望有和我一样需求的人!

原理说明

相当于是在本地创建一个 HTTP 代理(3Proxy),其作用就是:
当你尝试访问任意 Cloudflare CDN IP 时,将其重定向至指定 IP 。

然后修改你的系统代理设置,或浏览器代理设置(或 SwitchyOmega 扩展,这样还可以使其 与代理、梯子同时使用 )。
访问网站时,会经过本地 HTTP 代理,3Proxy 会判断服务器 IP 是不是 Cloudflare CDN IP,如果是就会重定向至指定 IP。

这样的话就不需要再去折腾什么 DNS、Hosts 了,一劳永逸!完美解决~

下载程序

方式地址备注
官方网站https://3proxy.ru/download/stable/国内无法直接访问
Githubhttps://github.com/z3APA3A/3proxy/releases/latest可能速度比较捉急
蓝奏云https://pan.lanzouq.com/b074km92f密码 xiu2 ,含配置文件、安装/卸载/重启脚本,推荐
蓝奏云网盘中只包含了 Windows 版本:
32 位选 x86x86_lite 适用 XP 及以下版本的系统),64 位选 x64arm64 适用于 ARM 架构的 Windows)。

下载解压到合适的位置。


配置文件

进入解压后的文件夹中,找到 3proxy.cfg 文件(蓝奏云下载的才有),右键 - 打开方式 - 记事本,会看到如下内容:

auth iponly

# 井号内容为注释
# 注意:如果你用了 [cfst_3proxy.bat] 脚本,会导致该文件内中文注释内容乱码,不要担心,注释内容不会影响运行

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 1.0.0.1 443

# 请把上面的 1.0.0.1 替换为你要用的 Cloudflare CDN
# 或者,你在首次运行 [cfst_3proxy.bat] 脚本时,根据提示输入 1.0.0.1 (以便脚本知道要替换哪个 IP)

allow *
# 2088 就是自定义的 HTTP 端口,如果删掉 -p2088,则默认为 3128 端口
proxy -p2088

你只需要根据提示把文件中的 1.0.0.1 改为你要指定的最快 Cloudflare CDN IP 并保存即可。

或者,如果你要用 cfst_3proxy.bat 脚本,那么不需要改这里,只需要在首次运行时,根据提示输入 1.0.0.1 即可。

默认 HTTP 端口为 2088(一般不会产生端口冲突),想改可以自己改。

使用方法

找到并双击 安装服务.bat 文件(蓝奏云下载的才有),会看到如下提示,点击 是 (Y) 即可

如果没有提示错误,则按下任意键退出该 bat 脚本。

这时候,3Proxy 就默认安装并启动成功了(且 默认开机启动 )。
你可以打开任务管理器分别看一下 详细信息 / 服务 选项卡,就能看到正在运行的 3Proxy 了。


卸载

当你想要卸载 时,双击运行 卸载服务.bat 脚本,然后删除文件夹即可。

重启(重载配置文件)

当你修改 3proxy.cfg 配置文件后,需要双击运行 重启服务.bat 脚本使其配置生效。


代理设置

想要使用刚才创建的本地 HTTP 代理,还需要配置一下系统代理设置(或浏览器代理设置)。


系统代理设置

右键左下角的开始菜单图标 - 设置 - 网络和 Internet - 代理

打开 使用代理服务器,地址填写 127.0.0.1,端口填写 2088 (默认),并点击 保存

记得要把上面 自动设置代理 中的 自动检测设置、使用设置脚本 关掉。
当然不同的人使用代理的方式不一样,这段步骤并不一定要完全按照我说的做。

注意 :设置系统代理后, 大部分联网的软件都会走该代理 (比如育碧的 UPlay 商店也是 Cloudflare CDN;当然,其他梯子、代理软件是不会走该代理的),如果只想要浏览器走代理请在浏览器上安装使用 SwitchyOmega 扩展(教程见下楼,可与梯子、代理同时使用)。

当然,你也可以 同时使用 SwitchyOmega 浏览器扩展 + 系统代理设置 ,两者 不会冲突 (分管浏览器内外)。

最后验证

想要知道是否成功,那么很简单,只需要在打开浏览器开发者工具后(F12 - Network),访问任意使用 Cloudflare CDN 的网站,看一下网站目标 IP 是不是 127.0.0.1:2088 即可。

04

给你们提供一个现成的大图地址(还可以顺便比较一下开启前后加载速度,记得要 Ctrl+F5 强制刷新):
https://images3.alphacoders.com/113/thumb-1920-1135880.png

如何自动 CloudflareST 测速并修改 3Proxy 配置文件中的 IP(Windows 脚本)

下载脚本:

和我以前写过的 cfst_host.bat 一样,这个教程也有个配套的脚本:cfst_3proxy.bat

该脚本已加入到 v1.4.9 的压缩包中了,不过你还可以去这里下载:https://raw.fastgit.org/XIU2/CloudflareSpeedTest/master/script/cfst_3proxy.bat

下载后放到 CloudflareST 所在目录下,这时还不能运行,要修改一下脚本才行。

修改脚本:

右键脚本 - 编辑 ,翻到大概文件中下位置(前后留了大片空白),找到以下内容并根据提示修改并保存:

:: 请将引号内的 D:\Program Files\3Proxy 改为你的 3Proxy 程序所在目录
CD /d "D:\Program Files\3Proxy"
:: 请确保运行该脚本前,已经测试过 3Proxy 可以正常运行并使用!

运行脚本:

保存后, 双击运行脚本 ,脚本会申请管理员权限,因此如果你没有关闭 UAC,就会看到用户账户控制提示,选择 [是] 继续。如果是 首次运行 ,则脚本会提示以下内容:

如果想要在开启 UAC 的情况下不提示 UAC ,可以用我写的开源 UAC 白名单小工具 来解决(依然有管理员权限)。
该脚本的作用为 CloudflareST 测速后获取最快 IP 并替换 3Proxy 配置文件中的 Cloudflare CDN IP。
可以把所有 Cloudflare CDN IP 都重定向至最快 IP,实现一劳永逸的加速所有使用 Cloudflare CDN 的网站(不需要一个个添加域名到 Hosts 了)。
使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/discussions/71

输入当前 3Proxy 正在使用的 Cloudflare CDN IP 并回车(后续不再需要该步骤):
请确保在使用该脚本之前,3Proxy 是已经测试过可以正常运行的。
如果你没有修改过 3proxy.cfg 配置文件,那么这里只需要输入 1.0.0.1 回车即可。

然后在脚本中输入该 IP,按下回车键继续(IP 会存储在 nowip_3proxy.txt 文件,以便下次脚本知道替换哪个 IP)。

随后脚本就会开始测速、备份 3proxy.cfg 文件、替换 IP 等操作。

其他说明

  • 以上脚本只是一个示例,大家可以按需修改,比如在脚本代码中 CloudflareST.exe 后面 添加其他参数
  • 每次替换前都会备份 3proxy.cfg 文件到 3proxy.cfg_backup 文件。
  • 如果你需要开机自动运行该脚本,只需要 右键脚本 - 创建快捷方式 ,然后将快捷方式移动到 C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 目录下即可。
  • 如果你用了我的 UAC 白名单小工具 生成了免 UAC 的启动快捷方式,那就复制该快捷方式到开机启动目录下即可。

如何与其他代理、梯子同时使用

如果你想要该本地 HTTP 透明代理和梯子代理同时使用(共存),则需要安装一个浏览器扩展:SwitchyOmega

如果你已经安装了,请先 新建情景模式 - 代理服务器 (假设名称为 Cloudflare):

代理协议:HTTP,代理服务器:127.0.0.1,代理端口:2088(默认)

如果你已经在使用 自动切换模式 这类情景模式了,那么只需要把底部的默认情景模式改为刚刚添加的 Cloudflare 情景模式。

这时,对于不走梯子代理的域名,就会转到本地 HTTP 透明代理去了,并根据需求将所有 Cloudflare CDN IP 重定向至最快 IP。

03

注意 :如果还想要浏览器之外的 其他联网软件(大部分)走该代理 (比如育碧的 UPlay 商店也是 Cloudflare CDN),那么还可以同时配置系统代理设置(见楼上末尾), SwitchyOmega 浏览器扩展 与 系统代理设置并不会冲突

偶尔电脑开机后 3Proxy 没有正确启动的解决办法

我在使用过程中发现,有时候电脑开机后,3Proxy 服务却没有启动,还要去手动启动一下。。。

不过问题不大,只要调整一下服务设置,让其在启动失败后重新启动服务即可。

任务管理器 - 服务中右键任意一个服务 - 打开服务,然后找到 3Proxy 右键 - 属性 - 恢复!

01

更多疑问请移步作者github

谢谢

最后修改:2022 年 06 月 22 日
如果觉得我的文章对你有用,请随意赞赏