问题描述
我的部分常用网站使用了 Cloudflare CDN,但默认分配给中国大陆用户的 IP 并不友好(延迟高、丢包多、速度慢)。所以我在访问的时候,加载的速度就非常慢,已经严重影响了我的正常活动。
那为什么要使用 Cloudflare CDN 呢?简单来说,使用它能够给网站带来以下好处:
- 隐藏自身的 IP 地址,免遭攻击;
- 使全球各地的用户能够就近访问,加快载入速度。
所以从原理上来说,它是有加速效果,而非相反的。只是由于 IP 分配不妥当,导致了问题。所以我们要解决 IP 的问题。
工具准备
要使用这个工具,那肯定得先下载。下载页面在 这里。
我用的是 M1 Pro 芯片的 MacBook Pro,所以下载 CloudflareST_darwin_arm64.zip
。如果是 Windows 系统的电脑,那一般下载 CloudflareST_windows_amd64.zip
就可以。
下载好之后,解压一下,前期准备就算完成。
另外,我用的文本编辑器是 Visual Studio Code,下一步会用到。如果你常用其他的,也无妨,就是流程可能略微不同。
预处理 hosts 文件
macOS 系统
启动「访达」,在顶部菜单栏中点击「前往」→「前往文件夹…」,输入 /etc/hosts
,你就会看到 hosts 文件在你眼前,然后只要把它拖入 Visual Studio Code 即可编辑。
Windows 系统
前往路径 C:\Windows\System32\drivers\etc
,你就能找到 hosts 文件,然后只要把它拖入 Visual Studio Code 即可编辑。
添加 IP 条目
由于你是首次使用 Cloudflare Speed Test,那么 hosts 文件有可能是干干净净的,此时你需要为你计划加速的网站添加条目,形如:
1.1.1.1 xvyaojiasu.com
你会找到 hosts 文件中原本就有类似格式的条目,你在它下面换行添加就可以。有几个需要加速的、套了 Cloudflare CDN 的网站,就用一样的格式列几行,形如:
|
|
所有的这些网站,IP 设置成一样的就可以。
随后是保存,无论是 macOS 还是 Windows 都会提示你,修改它需要管理员身份,确定即可,macOS 会需要你输入密码。
运行 Cloudflare Speed Test IP 替换脚本
注意不要开着代理运行此脚本,尤其是对于 Windows 系统。
macOS 系统
注意不要开着代理运行此脚本。
右键单击解压出来的「CloudflareST_darwin_arm64」文件夹,然后点击「服务」→「新建位于文件夹位置的终端窗口」。
输入 sudo su
然后回车,系统会提示你输入密码,输入以后回车。
输入 chmod +x cfst_hosts.sh
然后回车。
输入 bash cfst_hosts.sh
然后回车,跳过下面「Windows 系统」这节继续往下看。
Windows 系统
直接打开解压出来的「CloudflareST_windows_amd64」文件夹,然后双击启动里面的「cfst_hosts.bat」脚本,继续看下一节。
输入默认 IP 并完成替换
脚本会提示:
|
|
输入我们先前设置好的 1.1.1.1
然后回车。
脚本就会开始延迟测速,测速完毕以后就会修改 hosts 文件,此时你应该还没关闭 Visual Studio Code,就可以看到脚本把原本的 1.1.1.1
改成了别的 IP。
修改过后,你访问相应的网站就会快到飞起。