用Chrome扩展处理被GFW的页面

标签:Google Chrome

由于GFW实在太烦人了,我经常要去的Google Code和Google Groups都必须用HTTPS才能打开,点完链接后还得手动改一下,显得很不爽,于是便想做个扩展来自动更改。

最先想到的自然是content_scripts,可没想到页面被GFW后,content_scripts就不再执行了…

于是转向了tab,利用它的onUpdated事件,一旦tab发生更新(例如打开了一个新URL)就会执行所需代码。然后我再检查一下是否是我需要更改的URL,是的话再update这个tab,替换成HTTPS链接即可。

代码如下:
var redirect_urls = ["code.google.com", "groups.google.com", "twitter.com", "www.twitter.com"];
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
	var url = changeInfo.url;
	if (typeof(url) == "string" && url.indexOf("http://") == 0) {
		for (var index in redirect_urls) {
			if (url.indexOf(redirect_urls[index]) == 7) {
				chrome.tabs.update(tabId, {url: url.replace("http", "https")});
				break;
			}
		}
	}
});
需要的可以去下载这个Redirect to HTTPS扩展。

0条评论 你不来一发么↓

    想说点什么呢?