这篇文章其实早就想写的,一直拖啊拖……今天虽然是写了,但是由于没有网络连接,所以还不能发上去,要下个星期才能发上去。今天的日期是2009年12月6日,特此注明。

我还记得10月份的时候我们学校 iTU 社团组织了一次活动,到踏青山庄去烧烤。在烧烤的间隙,我拿出手机,打开 Opera Mini 上网。在场的都是至少对技术感兴趣的,很快我独特的横屏拿手机的样子就吸引了几个人的注意,向我询问这个浏览器是什么(这说明 Opera Mini 的知名度还是太低了……),当时我就大夸特夸 Opera Mini 怎么怎么好了,事实上它也的确是那么的好啊。位于国外的服务器使得浏览器那些被 GFW 的网站格外方便,再也不用担心用着用着就白屏(撞墙)了,而且就算是墙内也能浏览器的那些网站,使用 Opera Mini 国际版浏览的速度也要比用中国版快很多很多,这些都让我对它实在是爱不释手,事实上,我也是它一个长久的忠实用户。

向别人夸完了 Opera Mini ,闲着无聊在 Google 上搜索”Opera Mini”字样,看到的也都是大家的赞扬之辞,比如什么”永远不会被封的翻墙方法”之类的,看来大家还都是喜欢它的翻墙功能啊。(我喜欢 Opera Mini 绝非仅仅是翻墙功能,而是更多的,如保存页面等等)这时我突然想到,如果 GFW 把 Opera Mini 国际服务器的 IP 地址给封了怎么办?那 Opera Mini不就废了吗?想到这里我不禁有点害怕。然而我又自我安慰地想,就算封了,肯定也有什么解决方法的,比如先连到一个墙外的普通服务器,然后再中转连接到OM的服务器……

这只是我当时灵光一闪的点子而已,想不到,一个多月后,这种情况竟然成为了现实。(只不过原因不完全一样罢了)

后来,有人发现,Opera Mini 国际版的下载地址 http://www.opera.com/mini/ 被封了。同时,我发现手机上访问 mini.opera.com ,下面的”English Version”链接已经消失了,只能下载中国版了。

再后来,Opera 中国论坛上出现一则公告,声称”接上级主管部门通知,即日起禁止在本论坛讨论任何非中国版 Opera Mini”,事情逐渐不对了。

直到……

那是11月29日,是一个轻松的周末,我晚上躲在温暖的被窝里,随意地翻阅着维基百科,学习着 CSS,HTML,XML,W3C,Acid3,Unicode 等等这些自己熟悉、但却不一定能完整说出定义的词的条目,算是给自己充电吧。渐渐忘了时间,直到了12点15分。我关机睡觉了。

第二天睡到自然醒,9点多钟,打开电脑,上推,似乎气氛不对。大家在说什么 Opera Mini 被封了,我还不以为然:”下载地址不是前一段时间就被封了吗?我为了更新版本还是在电脑上翻墙下载后传到手机上的呢。”然而推友的回复让我心惊:”现在是用国际版浏览任何页面都会提示升级到中国版!”我大惊,赶快打开手机试验……天哪,真的是如此啊。中英两种文字写成的提示语如此的刺眼。在 URL 里,我可以清楚地看到”blocked_country/china.html“字样。我算是明白怎么回事了——又一个优秀的国际公司向天朝政府低头了……

接下来的一个星期是难熬的一个星期,没有 Opera Mini 国际版的日子对我来说简直是无法过活的。还好,twitter 是有千千万万个客户端的,虽然国际版阵亡了,但是并不影响 twiiter 的使用,我还是能够了解实时信息,以及关于 Opera Mini 情况的进展,只是慢了点而已(确切地讲,用中国版连接国外的服务器简直是奇慢无比)。当然,除了 Opera Mini 中国版,我还试过其它一些浏览器,比如还健在的 Opera Mini 3,Teashark,BOLT等,但是都没有 Opera Mini 有感觉。

很快消息传来了,11月22号,有个叫 Jude 的人研究出了能继续使用 Opera Mini 国际版的办法!这一关键性的突破使他一下子变得非常著名,成为了 twitter 上广大 OM 爱好者瞩目的焦点!但也许他是个不太愿意折腾,或者说不想惹事的人吧,他并没有把方法公开(当然也是为了防止再次被封),只是以提交信息的方式给大家邮件发送了它修改的能继续用的 Opera Mini 。我也第一时间向他索取了一份。下载、安装,真的可以用!在兴奋的同时,我也不忘研究下为什么。打开Help - About ,一下就看到了Proxy URL: XXXXXX.appspot.com:80 这行字(隐去具体地址)。妙啊!真是太绝妙了,用 GAE 做中转!想来 GAE 上运行的程序是他自己编的了。

可惜,正如我上面所说,Jude 是一个不想惹事的人,蜂拥而来的人群打破了他博客往日的宁静,他决定退出 Opera Mini 拯救行动。他在博客上贴出声明,说自己不再回答任何关于 Opera Mini 的问题。我试着写了一封信问他要 GAE 的代码,也在他博客留言了,他最终还是拒绝了。于是这个版本的 Opera Mini 就成为了昙花一现的东西,隐没在历史长河之中了。

但 Jude 的贡献毕竟是开天辟地的,他为大家提供了思路。很快,有人写出了 php 版本的中转代码,只要放在自己的国外服务器上(并且那个服务器支持 cURL 函数),然后修改客户端就可以继续使用 Opera Mini 国际版了!

接下来几天简直是头脑风暴般的几天,大家群策群力,又有人把 php 版本改写成了 Python 版本,这意味着可以在 GAE 上运行了!架设成本更低,重要的是,GAE很快!

接下来, Java 的,适合在 GAE 上运行的版本也出来了,代替了 Python 版本。还有人写了教程,教你怎么修改 Opera Mini 客户端,在教程下面的评论里,也有网友们提出的改进意见:用 hhclass 软件比用 Halo 之类的软件更加方便,连 JRE 都不用装。

就这样,在短短几天内,OM 又恢复了活力。

我是在27号那天架了自己的GAE服务器的。记得那是个中午,我在学校一台没有鼠标、没有USB、没有光驱的破电脑上,用一个小时不到的时间,完成了架设GAE服务器和修改OM客户端的任务。当时我用的还是 Python 版本的 GAE 代码。在 Windows 下面需要完成的任务是用hhclass修改客户端。虽然没有鼠标,但是平时我在Windows下面用键盘操作惯了,所以这项任务对我来说并不难。翻墙,下载原版的Opera Mini 4.2客户端,打开class文件,修改,搞定。

问题是要上传Python代码。我之前只”摸”过GAE,却从来没有真正”玩”过GAE(主要是不会代码)。教程里提供的……呃……我看到类似 ./appcfg.sh update XXX 这样的语句……竟然是Linux下面的命令语句,晕了。我是Linux菜鸟啊。不管,我庆幸我很早以前出于好玩在这台电脑上装过Ubuntu系统,直接重启,就进入Linux环境了。进去后我才发现,没有鼠标的Linux我几乎是寸步难行,因为Windows的快捷键和Linux是不通用的(废话),我甚至连”文件浏览器”都不会开……

还好我记得 Alt+F2 这个快捷键是Linux下面的,打开一个类似Windows下面”运行”一样的窗口,输入firefox,成功地打开了浏览器,然后来到教程网页,一步步照着做,把代码包下载下来,顺便利用下载窗口里的”打开所在文件夹”命令打开了”文件浏览器” (汗……)

还好,Ctrl+CCtrl+V这种快捷键还是通用的,我算是把GAE服务器搭建好了。


欢迎留下评论。评论前,请先阅读《隐私声明》。