最近发现用IP上不了G网了..果然天朝和谐的很快啊..
在网上找了下.看到有这个方法可以上哦..不过是限制火狐的...没试验过不知道行不行..大家看着办吧~~~~~~~
下载,装完greasemonkey后,安装两个脚本
http://xuhu.org/attachment.php?aid=44120
目前上getchu主要是靠代理法和ip法。事实上在线代理很快,但是还是ip法更快更方便,也就是所谓的将"www.getchu.com"替换为“210.155.150.152”。其实本来可以通过host的dns绕过解决问题的,但是现在的gfw都有关键字屏蔽的,内建host还是会因为关键字而被屏蔽,然后我去搜索了相关的资料,参考cache.baidu.com/c
这篇文章,因为作者犯了一个逻辑上的错误,导致了不完美,作者从links着手,但是犯了一个效率问题,其实不是要把所有的links都更换的(因为你并不会去点开一页里的所有连接),这回导致浪费很多时间去替换文本,其实只要从url的地址栏着手就好了。而且不方便,你输入网址并不会帮你跳转,只会在网页中包含getchu的连接是替换,其实是很不使用的,因为这种情况并不多。现在大多数情况是给出的文本而不是连接。
也就是说直接判断url中是否包含
www.getchu.com就好,具体脚本如下:
(function()
{
var url = document.location;
if (url != null)
{
if (url.href.indexOf ("www.getchu.com") > 0)
{
url.href = url.href.replace ("www.getchu.com", "210.155.150.152");
}
}
}
)();
当然如果你使用火狐并使用插件Greasemonkey的话,因为Greasemonkey本身有url的条件判断,所以可以简化为:
(function()
{
var url = document.location;
url.href = url.href.replace ("www.getchu.com", "210.155.150.152");
}
)();
通过Greasemonkey以
http://www.getchu.com/*为判断条件来执行此段语句,就可以完美执行了。无论是速度还是效率都比之前的替换links来的高许多。
抛砖引玉吧,其实许多dns加关键词屏蔽的网站应该都可以如此,其实就是一个内建url跳转,用途还是十分广泛的。
下面提供Greasemonkey的脚本(只要新建脚本并复制就好了,本身有判断,只在getchu时使用并且只判断一次):
更简便的:
// ==UserScript==
// @name getchu url localhost
// @namespace getchu2
// @include
http://www.getchu.com/]http://www.getchu.com/*
// ==/UserScript==
(function()
{
document.location.href = document.location.href.replace ("www.getchu.com", "210.155.150.152");
}
)();
对了,还有一个问题就是刷新的话会导致jquery失效也就是说之前的排版脚本等会失效,一定要在url处按回车
还有补段html页内图像的地址重定位,加了判定,效率高点,当然其实变化不大就是了,因为不高兴写全域脚本,
所以两个还是分开写的好
// ==UserScript==
// @name
getchu links
// @namespace
getchu1
// @description getchu
links
// @include
http://210.155.150.152/*
// ==/UserScript==
(function()
{
var pics =
document.getElementsByTagName
("img");
var re = /www\.getchu\.com/ig;
for ( var i = 0, pic; pic = pics
;
i++ ) {
if (pic.src.indexOf
("210.155.150.152") == -1)
{
pic.src = pic.src.replace
(re,"210.155.150.152");
}
}
}
)();
终于完全完美了,将网页中的绝对路径的东东通通改为ip路径,可以刷新了。除了之前的转url外再加这个html内联转向就好,包括了html里的link,script,css,img,全部完美转换。
// ==UserScript==
// @name getchu links
// @namespace getchu1
// @description getchu links
// @include
http://210.155.150.152/*
// ==/UserScript==
(function()
{
var pics = document.getElementsByTagName("img");
var re = /www\.getchu\.com/ig;
for ( var i = 0, pic; pic = pics; i++ )
{
if (pic.src.indexOf ("www.getchu.com") > 0)
{
pic.src = pic.src.replace(re,"210.155.150.152");
}
}
var scripts = document.getElementsByTagName("script");
var re = /www\.getchu\.com/ig;
for ( var h = 0, script; script = scripts[h]; h++ ) {
if (script.src.indexOf ("www.getchu.com") > 0)
{
script.src = script.src.replace(re,"210.155.150.152");
loadJs (script.src);
}
}
var csss = document.getElementsByTagName("css");
var re = /www\.getchu\.com/ig;
for ( var r = 0, css; css = csss[r]; r++ ) {
if (css.src.indexOf ("www.getchu.com") > 0)
{
css.src = css.src.replace(re,"210.155.150.152");
loadCss (css.src);
}
}
var bks = document.getElementsByTagName("link");
var re = /www\.getchu\.com/ig;
for ( var d = 0, bk; bk = bks[d]; d++ )
{
if (bk.href.indexOf ("www.getchu.com") > 0)
{
bk.href = bk.href.replace(re,"210.155.150.152");
}
}
}
)();
function loadJs(file){
var scriptTag = document.getElementById('loadScript');
var head = document.getElementsByTagName('head').item(0);
if(scriptTag) head.removeChild(scriptTag);
script = document.createElement('script');
script.src = file;
script.type = 'text/javascript';
script.id = 'loadScript';
head.appendChild(script);
}
function loadCss(file){
var cssTag = document.getElementById('loadCss');
var head = document.getElementsByTagName('head').item(0);
if(cssTag) head.removeChild(cssTag);
css = document.createElement('link');
css.href = file;
css.rel = 'stylesheet';
css.type = 'text/css';
css.id = 'loadCss';
head.appendChild(css);
}