优化 Codeforces 在中国大陆的访问体验

本文最后更新于 202 天前,其中的信息可能已经有所发展或是发生改变。

众所周知,Codeforces 是一个著名的竞赛编程平台。
众所周知,Cloudflare 是一个著名的云边缘网络提供商。
又众所周知,Codeforces 因为天天被打所以选择使用 Cloudflare 保护其网站。

由于各种奇奇怪怪的原因,中国大陆用户在访问 Cloudflare 代理的网站时一般会被匹配到美国西区的任播节点(一般是圣何塞或西雅图),因此 Cloudflare 代理的网站在国内的访问极其不友好(俗称 CF 减速器)。

《Cloudflare 祝福您在新的一年里,红红火火》

但实际上,Cloudflare 在全球绝大多数地方都部署有节点,甚至在香港也有节点,因此我们只需要搜索 Cloudflare 所有的节点 IP 并选择延迟低下载速度快的节点并强制指定连接即可。

然而 Cloudflare 截止到目前有 5k+ IPs(IP 地址范围 | Cloudflare),这么多 IP 我们不可能一个一个试,这个时候一个自动化测试程序就是我们所需要的。

CloudflareST - 快速筛选合适的节点

Github Releases(作者也提供了 蓝奏云链接)下载 CloudflareST 主程序,双击运行 CloudflareST.exe,耐心等待其完成全部测试,然后选择第一个 IP 复制。

最优 IP 因地区、运营商等因素不同而不同,每个人测出来的结果不一定相同。
如果过了一段时间发现速度变慢 / 无法访问可以重新测试一遍。

更改本地 hosts 来强制指定节点

打开 hosts 文件(WindowsC:\Windows\System32\drivers\etc\hostsLinux / MacOS/etc/hosts),在最后添加(请将 <最佳IP> 换为刚才测试成功的第一个 IP):

<最佳IP> codeforces.com
<最佳IP> m1.codeforces.com
<最佳IP> m2.codeforces.com
<最佳IP> m3.codeforces.com

随后刷新 DNS 缓存(Windowsipconfig /flushdnsLinux (Ubuntu)resolvectl flush-cachesLinux (其他):请自行搜索对应网络管理器方法,MacOSsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder)即可。

后面更换 IP 可直接编辑这 4 行。

此时访问 Cloudflare 已经在使用自定的节点访问了(通常是香港节点)。

此作品(优化 Codeforces 在中国大陆的访问体验)基于 CC-BY-NC-SA 4.0 协议授权。

转载请注明来源:作者:CodeZhangBorui,链接:https://codezhangborui.com/2024/11/improve-codeforces-experience-in-china-mainland/

评论

  1. noah
    Windows Edge 131.0.0.0
    7 月前
    2024-11-19 14:02:39

    thank you.

发送评论 编辑评论


				
上一篇
下一篇