这篇文章其实早就想写的,一直拖啊拖……今天虽然是写了,但是由于没有网络连接,所以还不能发上去,要下个星期才能发上去。今天的日期是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+C
,Ctrl+V
这种快捷键还是通用的,我算是把GAE服务器搭建好了。