随笔 - 128  文章 - 26 评论 - 2680 trackbacks - 29

1x.com 是我非常喜欢的一家国外的摄影网站。但,打开它的首页要1分多钟!点击小图看大图的二级页面根本打不开。看着写着“Nude content”的小图却点不开大图的心情你们造吗?!很多国外网站访问很慢的原因,并不是网速慢或者网站有什么问题,而是它们的网页都使用了谷歌 CDN 来获取 JS 脚本库,而谷歌全面被墙之后导致网页要花费大约半分钟等待响应,最后超时还可能导致网页部分功能不好用。

以前我一般都是使用 VPN 来解决这个问题。但 VPN 速度慢、使用麻烦,而且好用的 VPN 越来越难找了。我们换一种思路:既然谷歌 CDN 被墙了,可不可以将其动态替换成国内能够访问的 CDN 呢?下面我来演示一下如何使用谷歌浏览器插件将谷歌 CDN 替换成微软 CDN。授人以渔不如授人以鱼,先演示下如何以最简单的步骤导入我已经弄好了的配置,看广告不如看疗效,效果好不好,一试就知道!

第1步 你需要先安装谷歌浏览器

第2步 下载谷歌浏览器的插件 myWebRequest插件和配置文件.rar,解压缩后, 里面有两个文件:myWebRequest.crx 和 my-webrequest-2017-11-3.json。打开谷歌浏览器,在地址栏里输入 chrome://extensions/ 进入扩展程序管理页面,然后从资源管理器里面把刚才下载的 myWebRequest.crx 拖拽到谷歌浏览器的扩展程序管理页面上安装此插件,如下图所示。



第3步 点击 myWebRequest 插件的“选项”链接,打开“选项”配置页面,如下图所示。



第4步 在“选项”配置页面上,先点击左侧的“settings”,再点击后侧的“恢复”链接,选择我们在第2步下载的 my-webrequest-2017-11-3.json 文件即可导入我已经配置好的CDN替换规则,如下图所示。




第5步 现在就可以在谷歌浏览器里打开 1x.com 测试一下啦,原来需要 1 分钟、2 分钟的网站,现在统统只需要 5、6 秒,5、6 秒!




想探究原理的同学可以继续往下看。

我主要使用了 myWebRequest 插件的两个功能:Custom 和 Block。

在 Custom 选项卡里,我只配置了一个替换规则:将匹配 *://ajax.googleapis.com/ajax/libs/jquery/{version}/jquery.min.js 的 URL 替换成 {p}://ajax.aspnetcdn.com/ajax/jQuery/jquery-{version}.min.js。其中的通配符规则可以参考 help 选项卡里面的说明,我就不啰嗦啦。这个替换规则的意思是把谷歌 CDN 的 jQuery 库的地址替换成对应版本的微软 CDN 的 jQuery 库的地址。如果你以后需要替换其他的 js 库,可以再添加新的替换规则。

在 Block 选项卡里,我将 google.com 和 static.ads-twitter.com 相关的 URL 设置为阻断,主要是因为国外网站喜欢用这两个 URL 相关的广告链接,比较耗费时间。


posted on 2017-11-03 12:37 1-2-3 阅读(...) 评论(...) 编辑 收藏