2011年3月10日星期四

ipad上使用SSH去那墙外之地的方法

    由于众所周知的原因,天朝人民上个网总是那么的需要技术含量,生生让一堆人憋成技术派。
     当我在twitter(注:这个世界上排名前5的网站在天朝是不存在的,是我虚构的!)上看到有如何用SSH在 ipad上实现翻墙的技术贴,我就开始了折腾。另外,再罗嗦一句,有人问ipad不是能用VPN翻墙么,何况这么苦憋的折腾?好吧……生 命在于折腾,而且多一个梯子有什么不好?!
       以下是步骤,ipad必须越狱(这是废话)
       电脑上的准备工作:
       (1) 安装一个电脑能之间访问ipad的软件,我用的是iphone folder,有了它就能在电脑上像访问一个文件夹一样直接访问ipad里面的目录,这也是为了方便。  
       (2) 一个文本编辑器,我用的是Ultraedit,用自己喜欢的吧。 
       (3) 找到这篇blog 
       (4) 下载我这里的这个文件gfwlist.pac http://u.115.com/file/f27bc10d13 越狱以后ipad上的准备工作,基本上都是在cydia各种源里面能找到的东西,找到并安装这些东西我想对会越狱的你不是什么难事:
        [1] 安装ifile,这个东西就像是windows里面的资源管理器,没有它…诸多不便。
        [2] 安装icabMobile这个浏览器,为啥要用这个浏览器,后面有说明。
        [3] 安装MobileTerminal,这个是用来登录服务器的客户端。
        [4] 安装openssh,这里要说的是cydia上只有for ios 3.X的版本,不过呢在ios 4.2.1下也一样能用,别担心,照装吧。
        [5] 安装Backgrounder,由于ipad所为的多任务是“假的”,需要一个能让MobileTerminal在后台也能“真正”运行的东西,就是这玩意了。
           万事具备,把你的ipad接上电脑,用iphone folder找到它,然后……开始了开始了!
         (1) 先找到ipad上的:/private/var/preferences/systemconfiguration 目录,把里面的preferences.plist找到,并将这个重要的文件复制到电脑上备份好,然后复制一个用文本编辑器进行修改。  
         (2) 用文本编辑器打开preferences.plist,找到以下原始的内容: com.apple.CommCenter (ip1) UserDefinedName com.apple.CommCenter (ip1) com.apple.CommCenterkey>   好了,注意红色部分,在之后和UserDefinedName 之前插入以下代码:Proxies ProxyAutoConfigEnablekey> 1 ProxyAutoConfigURLString</key> file:///你的pac文件位置string>   这是修改后的样子: com.apple.CommCenter (ip1) Proxies ProxyAutoConfigEnablekey> 1 ProxyAutoConfigURLString</key> file:///你的pac文件位置string> UserDefinedName com.apple.CommCenter (ip1) com.apple.CommCenterkey>  注意千万不要搞错位置,写错地方的话ipad重启以后这段代码会消失。这里要说明的是:file:///你的pac文件位置string> 如果你不太明白,请照这行写: file:///private/var/mobile/Documents/gfwlist.pacstring> 
          (3) 把修改好的preferences.plist复制回ipad里面覆盖原有的文件。
          (4) 把下载的gfwlist.pac放入ipad的:private/var/mobile/Documents目录下面。
         好了,如果你确实没有做错任何一步写错任何一行,那么电脑上的工作就结束。
         注意:每次修改preferences.plist内容和pac文件位置后,要重启ipad才能生效。
         Ipad上的工作开始了:
         (1)用backgrounder设置MobileTerminal能在“真”后台运行,关于这玩意还是很折腾的,我只用截图简单讲一下,运行 backgrounder以后,按overrides,然后add把MobileTerminal加进去。点右边的箭头进入设置,按图上画的红圈设置好。 注意:更改设置退出backgrounder后都会自动重启ipad以便生效。
         (2)设置好了backgrounder重启过后,先运行它,然后运行MobileTerminal,然后回到dos时代开始复习命令行,注意大小写: ssh –p 443 –D 1080 用户名@服务器地址 解释一下: -p 433 就是服务器用的端口,我这里是443。 -D 1080 就是本地的代理端口,要和pac文件里面对应,我的pac文件里面就是1080,所以照搬即可,想要自己改的同学请自行研究pac文件。 用户名@服务器地址,这不用解释了吧,用户名和服务器的域名或者ip。SSH服务器自己买一个吧,免费的不靠谱呢。 命令行打完后输入密码,输入的时候是看不到的,看着软键盘别打错就ok。然后可以看到如图所示的,已经登陆上去了。 按home回到ipad主界面,这个时候backgrounder和MobileTerminal全都在后台运行,不放心的话可以切回去检查下,特别是看看MobileTerminal还动不动(随便用个ls命令什么的),如果还会动,说明后台运行已经成功了。
         还等什么!打开你的icabMobile!为啥不用自带的safari呢,据我试验这个玩意太弱了,哪怕你上面做的全都对,它就是不行,估计是不能 用sock代理!你看……扔了它吧。打开我虚构的那个网站twitter.com或者另外一个虚构的网站youtube.com看看,当然也可以尝试一 些客户端比如twitter的官方客户端。 恭喜你,welcome to the world without wall! 后记:使用完之后,先切换到MobileTerminal,打logout命令退出,然后再关闭MobileTerminal。
         后记2:经过@aleclu的提醒,其实在3g下完全可以不用backgrounder,运行完MobileTerminal,哪怕这两个全部退出,一样可以持续的SSH翻墙。直到切换到wifi或者让ipad休眠,经试验的确是这样。

      没有评论:

      发表评论