作者:watchzerg   来源:http://www.watchzerg.com/2011/03/315

惯例,开篇先吐槽:

当PUFF在2009年出来的时候,暴快的速度让人感觉很惊艳,但免费且优质的午餐不可能永远维持下去。去年(2010年)世界杯的时候,趁着PUFF半价的那几个小时,购买了一年的翻墙服务,用着还挺省心。

后来,关于PUFF的谣言四起,因为PUFF本身崛起的太快,身份又不明朗,难免被人怀疑是否为钓鱼。我的态度是,在用PUFF翻墙的时候,最核心 的gmail和facebook登录页面都是https的,也就是说有第二层的SSL加密,PUFF就算是钓鱼的,我损失的也只是其它数据而不是核心用户 名和密码,无所谓了。

但是有一点不得不防,就是PUFF的客户端。就像我不担心webQQ而担心客户端QQ一样,能独立在操作系统端运行的我不了解的程序实在太危险,我 根本无法了解它在做些什么(神马?刚才谁提到360了?拖出去……),其实不少软件是可以监控了,算了,给我个找借口的机会吧。于是,在我从 twitter上的 @puff1984 那里得知可以用任意开源的SSH软件连接PUFF服务的时候,我马上开始试用putty等软件。用了这么久,也遇到了不少的问题,连蒙带猜的大体解决了, 写出来与大家分享。

PS:我对PUFF的担心完全是基于理性的防范心理,而在使用期间, @puff1984 一直很耐心的回答大家的问题,IP被封的几个小时内也很快的得到了解决,所以对PUFF的感觉还是非常好的。不过我在考虑PUFF到期后换一贵一点的更专 业点的,老外运营者的,更正规一些的SSH服务,这是无奈的选择,最近月光博客测试到的GFW针对谷歌https的每15分钟就来一次的SSL阻断(貌似 是想人为劣化谷歌在中国的服务质量从而逼迫人们弃用谷歌产品)已经严重影响到了我的google reader和gmail的使用:

22222.png

如图,在发生错误的时候,只要翻墙访问gmail,图中的连接问题就马上消失了。

吐槽完毕,正文开始。


一,基本配置:

目前我在用的SSH客户端是twitter上那段时间很火的Bitvise Tunnelier,
官方下载地址:http://www.bitvise.com/tunnelier
官方推荐的绿色版下载地址:http://tp.vbap.com.au/download
它不仅适用于PUFF,还适用于其它的SSH服务。说白了SSH只是个规范,遵循这个规范的服务和软件就能连接。

基本的配置设置网上有无数教程,不过我还是截了几张图简单的说一下吧(安装和启动过程略):

首先是登录界面:

login.JPG

在Host里填上你的SSH的服务器地址(IP或者域名),在Port里填上服务端口(一般 是22或443),Username里填上用户名,Initial method里选择password(就是指定用密码作为初始化的方式),然后在Password里填入密码,最后再把”Store encrypted password in profile”选上,省得每次输密码。

接下来是选项配置:

options.JPG

不多说了,按图里的选吧,基本上就是如果第一次成功的连接中断,则自动重连。连接好后不自动打开终端控制台(因为我们并不是要连接上操作对方的linux,而只是翻个墙嘛)

然后是服务配置:

services.JPG

监听127.0.0.1,就是监听自己的电脑,端口自己填,我沿用了PUFF的1984.

最后是SSH选项(可忽略):

ssh.JPG

据说选上这种压缩方式可以节省一定的带宽,who knows,做个心理安慰也好嘛。

然后,储存这次的配置到硬盘:

left.JPG

选择左边的Save Profile,选个地方保存就是了。

好了,以上就是基本的配置,点击连接就大功告成了,连接成功后,会提示你储存交换后的key,选yes。

4444444444444.PNG

在Tunnelier出现如上图最后一行的提示信息后,说明连接成功,然后就在浏览器里面设置代理就行了,IE和Chrome是一种方式,firefox是独立的一种方式。我推荐Chrome+插件的方式,后面再说。


二,http代理与socks代理:

做好上面所说的设置后,我们开始打开浏览器冲浪,可是此时,哎?很奇怪的现象,只能访问 https的加密网站,不能访问http的普通网站。再看看tunnelier的记录,在访问http网站时报告”(unrecognized proxy protocol) connection from 127.0.0.1:51022 failed: Unsupported client protocol; the client may be expecting a regular HTTP proxy.”:

555555555555.PNG

使用puff的时候直接就可以上啊,这里为什么会出错呢?按错误提示看,是代理协议不可识别,不支持客户端的代理协议,客户端可能要求普通 的http协议来连接。–出现这种错误的原因,是tunnelier应该被作为socks代理而不是http代理来使用,而我们一般的设置中,如果在 http代理中填入了http的代理地址和端口,浏览器就会优先使用http代理,这与tunnelier冲突,所以才协议识别失败,所以,在IE中这样 设置的话肯定不能用的:

666666666666.PNG

于是我们去google这个问题,发现遇到这个问题的时候好多人都是建议用Privoxy或者Polipo软件做中转,把tunnelier默认提供的socks代理转换成http代理。其实大可不必,大家可以看看bitvise官方的一个技术支持的回答,地址在这里:https://fogbugz.bitvise.com/default.asp?Tunnelier.2.8457.1
注意这句:”What you need to do is change that applications to use SOCKS instead.
所以,我们只需要去掉浏览器设置中的”对所有协议使用相同的代理服务器设置”选项,然后只在Socks代理服务器中填写即可。下面的例子是在Chrome浏览器的switchy proxy插件中的设置:

7777777777777.PNG

上图是在我们使用PUFF官方软件时候的设置,因为PUFF软件默认提供的就是http代理

888888888888888888.PNG

上图是在我们使用tunnelier时候的设置,强制浏览器使用socks代理

这下再试试,是不是所有的网站都可以通过代理浏览了?日志也正常了:

9999999999999.PNG

这样,我们以后可以随时通过switchy proxy插件来一键调节所使用的代理了:

10101010.png

哦,对了,还有一点,如果你在使用switchy proxy的同时又使用windows live messenger 2011,而同时你所在的局域网又必须先设置代理才能访问,那请参照我前面的一片文章:《windows live messenger 2011 的代理连接问题》 http://www.watchzerg.com/2011/03/291


三,设置为开机自动启动:

如果你跟我一样是重度翻墙症患者,希望开机自动连接SSH服务器(但仍可以通过浏览器随时调整是否翻墙访问页面,且不会影响网游等其余端口的程序):

那就给Tunnelier建个快捷方式,右键,属性,目标那一行后边加上这个参数”-loginOnStartup“,如图

33333333.PNG

然后把这个快捷方式扔到开始-程序-启动里去。(貌似写个bat批处理也行,不过没有听说能做成系统服务的)


四,让其它应用程序使用代理:

某些情况下,除了浏览器之外,其它的程序也需要使用代理访问:比如当你需要到官方下载点下载 一个MyEclipse或者Python的时候,你会悲剧的发现这些编程站点也被墙掉了。所以你就需要在迅雷或者快车里设置下载代理,我用的是Orbit Downloader,设置项也很简单:

aaaaaaa.PNG

如图,默认情况下是使用与浏览器相同的设置,就是说你前面设置过浏览器的代理,这里就默认用 浏览器的方式。不过 有些时候我们可能希望下载和浏览互不干扰,各走各的,那就可以在这里把”Internet Explorer default proxy”钩掉,然后自己手动设置代理。根据名字选,一目了然,”Direct Connection”是直连,不使用代理;”SOCKS5″是使用tunnelier时候要选的Socks代理;”HTTP”是使用PUFF时候该选的 (http有两种请求方式,我一般选第二个:Connect)。

QQ的设置与此类似,我电脑里没有那种可怕的软件,就不截图演示了。

值得一提的是有些软件只能固定的使用http或者socks代理中的一种,比如我正在写这篇 博客的发布程序:Zoundry Raven,就只支持HTTP的代理,这个时候,我们就只能选择用PUFF或者用Tunnelier+Privoxy的方式来做http代理服务了:

Capture.PNG

那么如果单独使用Tunnelier,然后用Zoundry Raven发布博客,会怎么样呢?–当然是发布失败了!”我试过了,是真的!”


五,代理的代理:

如果你跟我一样的悲催,你还会遇到一种情况:前面提到的SSH翻墙,你必须把浏览器代理设置为自己电脑上的127.0.0.1的一个端口才行,而你所在的公司局域网,又必须要求你先设置一个网关的代理才能正常的到达公网,那该怎么办呢?

这种情况下,PUFF就没办法了,只能由tunnelier出场。当然,我们得告诉tunelier,你要为浏览器做代理,但首先你必须使用一个局域网代理网关才能连接到公网啊!

童鞋们,首先请把网页向上滚,找到”一,基本配置”那一节的第一张图,对,就是登录界面的设置那里。在左侧Server的设置项里,Host和Port的下边,有一个Proxy Settings的选项,点击,会看到下图的窗口:

proxy.JPG

首先把”Use proxy”打上勾,然后在”Proxy type”里选择你们公司局域网的代理形式,是HTTP代理还是SOCKS代理(什么?不知道,那就试一下呗,总共三个选项,一个个试即可),最后填入局 域网代理网关的IP和端口。其余设置与基本设置里的一样。恩,这下,虽然一个数据包被包装来包装去,套了好几层的包,但好歹可以翻墙上网了嘛,值得的。


好了,能想到的现就这么多,截了好多的图,墙内的朋友们恐怕得翻墙才能看到图了。

watchzerg
Mar 16, 2011

—————————————————————————————————————————

需要翻墙利器赛风? 请阅读和关注中国数字时代

推特用户请点击这里免翻墙上推特

请点击这里下载翻墙软件

更多翻墙方法请发电邮(最好用Gmail)到:fanqiang70ma@gmail.com

请阅读和关注中国数字时代翻墙技术博客GFW BLOG(免翻墙)

请使用Google Reader订阅中国数字时代中文版http://chinadigitaltimes.net/chinese/feed),阅读最有价值的中文信息;以及GFW BLOG(功夫网与翻墙)http://feeds2.feedburner.com/chinagfwblog,获取最新翻墙工具和翻墙技巧信息。

要翻墙? 用赛风.
推特用户请点击这里免翻墙上推特
点击这里下载翻墙软件
更多翻墙方法请发电邮(最好用Gmail)到:gongminshehui1@gmail.com
翻墙技术博客GFW BLOG(免翻墙)
阅读中国数字时代(免翻墙)

要翻墙?(发邮件到Gmail):caonimazhanhexieATgmail.com