您现在的位置:
  1. 首页
  2. PHP
  3. S60 V3
  4. 在线切换UCweb中转服务器

在线切换UCweb中转服务器

UCweb这个S60系统的优秀浏览器,翻墙之路可谓几翻起伏,先是中文版改成翻墙版,过了一段时间这种方法就失效了,过了一段时间,又冒出英文版可翻墙,又过了一段时间,英文版失效了,再过了一段时间……就到现在了,嘿嘿。

吴大(Yuri,好象是高中生,目前在国外),对UCweb的研究很深(对其他网络技术也研究很深),而且也无私地公布了他的研究成果,有兴趣的童鞋可以去他的博客参观学习。

首先,了解一下UCweb的选择服务器过程,几乎通用于所有版本的UCweb。

打开UCweb后,其自动访问uc.ucweb.com:80这个网址,获得一个代理服务器,然后在这个UC使用的期间,这个服务器会一直为你提供中转压缩服务;如果你关闭了UC再重新打开,又会重新请求一次代理服务器。

那么,我们可以改造这个UC,使其应该访问的uc.ucweb.com:80变成我们的php程序,我们的php程序引导它返回我们需要的服务器,比如有需要的时候就返回国外服务器。

好了,下面来说说具体的。

如果你想把一个UC改成用国外中转服务器的话,把下面这两句写入一个index.php(如果是UTF-8编码,记得不要BOM哦)

header(“Assign: 67.228.166.109:8086″);

print “\000\006assign\000\02467.228.166.109:8086″;

然后把这个php文件放上你的主机空间或免费服务器都可以,能在绝大多数恶劣环境生存下来,当然,你的域名(访问的网址)不能太长,只能是15个字符内,比如我的darkserver.x.gg就刚好15个字符,kilu有很多域名可选,你可以随意挑个。

上传好(有关申请免费空间和上传文件的操作,可参考我博客里那篇《使OperaMini恢复国际服务》,大虾自觉飘过吧),用PC浏览器打开这个域名(你的网址),比如我上传到darkserver.x.gg,我就打开这个网址看看,然后会出现下面的一行英文(也只有这么一行内容):

assign67.228.166.109:8086

这样就证明你成功地搭建了一个“返回中转服务器的UC服务器”,我们可以进行下一步,把UC的安装包解剖,我们要把我们的“返回服务器”写入UC的主体程序里。

1.用siscontent把uc的sisx安装包的主体exe提取出来(体积最大那个exe),如果我这样说你不是很明白,也可以参考一下我博客里那篇《Gravity一字节XX法》,有siscontent的详细使用步骤。

2.用C32asm(也可以是其他16进制编辑工具,如Winhex)打开刚才提取的exe文件,搜索uc.ucweb.com,只会有一处结果。

3.我们把这个网址改成我们刚才建立服务器的网址,我改为我的“返回服务器”darkserver.x.gg

4.保存这个exe,并用siscontent把这个exe替换原来sisx安装包里的那个。

5.传输到手机,安装,试试吧,可以用这个UC打开ip.qq.com,查看你目前的地址,如果显示 美国,你就成功了。

好了,到上面为止,就是简单Diy一个翻墙的UCweb,可以正常使用了!可是有的童鞋觉得这样不太方便,用国外服务器访问国内网页总是不快,导致手机里要安上几个UC,一个是国外服务器的,一个是国外服务器的,有没有办法一个UC有两个服务器切换呢?

呵呵,答案当然是有的,吴大也给出了方法和代码,不过他的代码涉及操作数据库(MySQL),这方面我一窍不通,即使后来弄通了,还是用不了。我只好自己想一个笨办法,用文件代替数据库,重新写了一个php程序,使用上比较方便,也降低了Diy的门槛。

具体这些事就不必对你说了,很简单的代码,你一看就会懂了,不懂也不要紧,搜一下相关的英文就懂了(我可是边Google边写的,还有几行代码关于获取dn的,是请吴大写的,不容易呀!)下面是代码,依然是做成index.php,上传到空间,代替上面说的的两行代码那个index.php。

======================从下面开始======================

//ob_start();

$dnpart = “dndb/”; //dn files database

if ( $_SERVER['REQUEST_METHOD'] == ‘GET’) {

$dn = (preg_match (“/.*dn\/(\d+-.{8}),text.*/i”,$_SERVER["HTTP_ACCEPT"])) ? preg_replace(“/.*dn\/(\d+-.{8}),text.*/i”, “\$1″,$_SERVER["HTTP_ACCEPT"]) : “” ;

if (empty($dn)) {

exit(“Hey boy! Open with UCweb please (^_^)”);

}

if (!file_exists($dnpart)) {

mkdir($dnpart);

}

if (file_exists($dnpart.$dn)){

if(unlink($dnpart.$dn)){

print ” Well, disabled!”;

print ”

Using China Server!Please restart UCweb~”;

print ”

(o.o)=====(o.o)”;

//print $dn;

}else{

print ”

Failed!Oops?! Error deleting…”;

}

}else{

file_put_contents($dnpart.$dn,”darkhandz”);

if (file_exists($dnpart.$dn)) {

print ” OK, Now fvcking GameForWindows! Please restart UCweb~”;

print ”

\^O^/=====\^O^/”;

//print $dn;

}else{

print ”

Failed!Oops?! Error creating…”;

}

}

}else{

$dn = preg_replace(“/.*m_dn=\”(\d+-.{8})\”.*/i”, “\$1″, $HTTP_RAW_POST_DATA);

//file_put_contents(“dn.txt”,$dn);

if (!empty($dn)) {

if (file_exists($dnpart.$dn)){

header(“Assign: 67.228.166.109:8086″);

print “\000\006assign\000\02467.228.166.109:8086″;

//file_put_contents(“FuckNow.txt”,”Using American server!”);

}else{

//header(“Assign: ucs5.tj.ucweb.com:80″);

//print “\000\006assign\000\024ucs5.tj.ucweb.com:80″;

print “nothing please use your local server~”;

}

}

}

//Core codes copy from http://landon.v70.us/show-101-1.html([WU]Yuri’s Blog) ———-darkhandz

?>

======================已经结束======================

也可以点击这里查看保留原来编写时的代码缩进风格,更懒一点不想动手的童鞋,这里有做好的版本,直接下载使用

“UC可换服版”——使用过程中要注意的问题:

1.可通过访问darkserver.x.gg(当然以你写入那个exe文件的网址为准)来切换服务器,打开一次切换一次,见到“OK, Now fvcking GameForWindows!”代表切换为美国服务器,见到“Well, disabled!”代表切换为国内服务器。

2.每次切换完成后请退出UC,重新打开UC,等几秒(流量走了1KB),就切换成功了。

3.你可以打开 ip.qq.com 来查看你目前所在的IP以确定是否切换成功。

4.似乎访问twitter.com会不正常,不知道原因。

呃,还有就是,这个php程序仅供测试研究和学习用,被喝茶了或者手机爆炸了啥的,黑手我可不负责。

到目前为止本文共有23条评论 发表评论

    • Rex

      发表于 2010年02月27日 1:58 下午

    • 黑手兄你还真发出来拉?

      [回复]

      darkhandz 回复:

      呃。。。真的,因为吴大已经发了呀。。。我发的有点不同而已,也简单易用一点

      [回复]

    • littleben

      发表于 2010年03月6日 6:18 下午

    • 欸,其实看完也觉得不复杂…

      [回复]

    • land@coshim

      发表于 2010年03月8日 6:12 上午

    • 用mobile.twitter.com 登录试试

      [回复]

    • 打包机

      发表于 2010年03月11日 10:29 下午

    • 愿甜蜜伴你走过每一天,

      愿温馨随你度过每一时,

      愿平安同你走过每一分,

      愿快乐和你度过每一秒!

      [回复]

    • 阿远

      发表于 2010年03月22日 7:20 下午

    • 黑手走上了技术男的道路……

      [回复]

      darkhandz 回复:

      =.=没有,多数是抄人家的

      [回复]

    • lvlcj

      发表于 2010年03月31日 1:02 下午

    • 爪爪的文章 好专业 ╮(╯-╰)╭

      [回复]

    • deja.vu

      发表于 2010年04月5日 12:07 上午

    • 这样子wm版ucweb也可以翻了~太棒啦…

      [回复]

    • ArShui

      发表于 2010年04月16日 6:20 下午

    • UCWEB-7.2.0.46-999-28-10040617.sisx
      UCWEB-7.2.0.46-999-50-10040617
      入面的exe 找不到 uc.ucweb.com

      [回复]

    • silsien

      发表于 2010年05月14日 4:38 下午

    • 黑莓+WAP泪目飘过~

      [回复]

    • sunli

      发表于 2010年08月4日 10:19 下午

    • 貌似最新版的android 的uc7.3这样的方式不能切换服务器了,不知道怎么回事。。
      挺麻烦呀。。

      [回复]

    • 江湖客

      发表于 2010年08月18日 12:37 下午

    • 博主。我很受益啊、又找到个爬\\墙//头的伙伴。。要友情链

      [回复]

    • 江湖客

      发表于 2010年08月18日 12:44 下午

    • 求s60可用的curl服务器。

      [回复]

    • 江湖客

      发表于 2010年09月21日 8:20 下午

    • 翻墙UC7.3http://www.langs.tk/p/uc-ucotw-uc-over-wall.html

      [回复]

    • 江湖客

      发表于 2010年09月21日 8:25 下午

    • UC翻墙现在不是问题了。问题是找不到UC的英文服务器。这个方法已经不能在使用了。很老了。dimov已经发出来英文服务器。UC要是知道了的话。。。难以想像

      [回复]

    • 发表于 2010年09月30日 7:43 上午

    • 和谐

      发表于 2010年10月5日 7:54 上午

    • 博主…我抓狂啊!我把你给的index.php文件上传空间后打开,居然显示的文件的内容(代码)…help me!

      [回复]

    • torres

      发表于 2010年10月23日 11:53 上午

    • 很不错!!!可以试试!!】

      只是那个空间是不是一点要国外的?

      [回复]

    • 李hu

      发表于 2011年05月6日 12:52 下午

    • 我在很多空间都上传了INDEX.PHP~

      但在uc运行后,得到的都是Failed!Oops?! Error deleting…

      问题出在哪里~ 谢谢~

      换了很多空间~没一个成功的~

      但用别人上传好的INDEX.PHP,就能正常使用,

      [回复]

发表评论

必填

必填