注:不再好用

原文链接: https://www.notion.so/jerrywang959/Notion-host-99260615ab2e41489119738b19cda456

原理

解析原理

Notion使用cloudflare作为cdn,理论上来说,可以将Notion的域名解析到cloudflare cdn的任意节点。

国内解析的Notion域名在不被污染的情况下只有两个ip,而Cloudflare作为外国的云服务提供商以及各种人对cloudflare cdn的滥用,导致这两个ip并不是在任何情况下都能顺畅地连接。

Cloudflare在全球有180多万个ipv4节点,总是存在一些节点是可以顺畅连接的,将Notion的域名解析到这些ip上,就可以顺畅访问Notion了

筛选原理

cloudflare在全球有180多万个ipv4节点,如果要遍历测试,会耗费大量的网络资源和硬件资源,因此需要筛选。

ipv4地址有4位,在某种程度上,我们可以认为前三位相同,最后一位不同的ipv4地址具有接近的网络环境。因此,你需要选择你最后一位的幸运数字,从1到255,作为第一步筛选。只取第四位是你的幸运数字的ip地址,这样需要测试的ip地址便从180万减少到六七千。

在这六七千ip地址中,并不是所有地址都可以顺畅访问的,也不是将notion.so域名解析到这些地址都是可以访问的,因此下一步是测试可用于notion.so的ip地址,为了轻量化,我们选择尝试下载Notion主页www.notion.so的html。此次筛选后,会得到1000左右可用的ipv4地址。

最后一步便是正式的测速了。第一个测速的必要时ping的丢包率,把ping50次的丢包率控制到10%以下,便会得到十几个甚至几个ip地址。一般来说,只要ping不丢包就可以了,如果对速度有更高的要求,可以考虑测试不同ip解析下下载Notion的js文件:

https://www.notion.so/app-4ca8cd21ec209cfc38a6.js

不同端的解决方法具体如下

Linux

克隆下面的储存库或者下载zip,按照具体的说明运行脚本即可

Jerrywang959/Notion-choose-ip

Windows