关于MAC下用SSH翻墙的小结(转)

近来换工作了,先前在原公司上班,用的是美国的网络,可以轻松地翻越GFW,现在没有这个福利了。查一些资料到 www.google.com,slideshare.net, 4shared.com这些以前很经常逛的网站现在突然间不能用了还真不习惯。懒得去折腾了,在网上搜了一篇别人写的Mac下面怎么用SSH翻墙的文章,转载到这里,花10分钟配置了下方法二,确实可以用的,很不错。

以下内容转自:

http://www.k-nows.net/2012/03/28/mac-safari-ssh-cross-gfw/
回国这几天都是在用Mac+Safari上学校的ssh翻墙,简单,粗暴,高效。

方法一,终端加网络配置

这个真的是又简单又粗暴。。。分两步:
首先,打开你的终端,输入:

ssh -D port user@hostname

其中port是你的端口号,挑一个你自己的机器上能用的,这个命令就是将访问forward到了你指定的端口上。
然后,打开“系统偏好设置”->“网络”->”高级”->”代理”->点选”SOCKS 代理”->旁边的”SOCKS 代理服务器”里填127.0.0.1,端口填你刚才写的那个,点个好点个应用,搞定。

注意,

终端的ssh连接不能关闭。
注意你的ssh的服务器的访问限制,尤其是像我这样的用学校的ssh服务器的,如果去访问了一些不该访问的,就该有学校的警告mail来了
这个方法简单粗暴但是也太粗糙,所有的访问都会通过ssh服务器来进行,所以即使我看个sina新闻也要绕到遥远的nagoya去,而且pipe还可能崩坏。
推荐人群:如果只是为了时不时地上个推上个fb的话,只要你的ssh也允许,可以尝试。

方法二,iSSH加.pac文件

这个方法相对稳定,但是我所在的这个网络环境实在是太坑爹了><。。。
首先,你需要下载一个app叫iSSH,如果你找不到,我会在稍后放出下载。-->__-->点击下载iSSH.zip
app很好设置,输入服务器地址,然后用户名密码都是你在ssh服务器上的,接着下面会有一个2选一的东东,选择SOCKS Proxy(-D),端口选择7070(稍后解释)。 其次,你需要准备一个.pac文件,如果你会写就请忽略这段,如果你不会,那就看下面一段代码:

function FindProxyForURL( url, host )
{
 if ( shExpMatch(url, "*ip38*")
     || shExpMatch(url, "*1-apple.com.tw*")
     
     
     || shExpMatch(url, "*facebook.com*")
     || shExpMatch(url, "*facebook cdn*")
     
              || shExpMatch(url, "*twitter.com*")
     || shExpMatch(url, "*twitter.com/amoiist*")
     || shExpMatch(url, "*twitter.com/BeiJing1989*")
     || shExpMatch(url, "*twitter.com/billzhong*")
     || shExpMatch(url, "*twitter.com/nowhere1975*")
     || shExpMatch(url, "*twitter.com/shizhao*")
     || shExpMatch(url, "*twitter.com/VOTChinese*")
     || shExpMatch(url, "*twitter.com/wenyunchao*")
     || shExpMatch(url, "*twitter.com/wumao*")
     || shExpMatch(url, "*twitter.com/zengjinyan*")
     || shExpMatch(url, "*twitter.com/zuola*")
     || shExpMatch(url, "*https://twitter.com/*")
     || shExpMatch(url, "*https://www.twitter.com/*")
     || shExpMatch(url, "http://apiwiki.twitter.com/*")
     || shExpMatch(url, "http://dev.twitter.com/*")
     || shExpMatch(url, "http://status.twitter.com/*")
     
     || shExpMatch(url, "*youtube.com*")
     || shExpMatch(url, "*hk.youtube.com*")
     || shExpMatch(url, "*tw.youtube.com*")
     || shExpMatch(url, "*youtube.com/get_video*")
     || shExpMatch(url, "*Youtube CDN*")
     
     )
    return "SOCKS 127.0.0.1:7070";
 else 
    return "DIRECT";
}

这段就是.pac文件的内容,基本上,添加了这些就可以上推上fb看U2B了。 -->__-->点击下载gfwlist.pac
接着,打开“系统偏好设置”->“网络”->”高级”->”代理”->点选“自动代理配置”->“选取文件”->找你刚刚搞到的那个.pac文件,然后点个好点个应用。 最后,回到iSSH那个app上,可以点Connect了,然后打开Safari去爽去吧。

注意,

上面的iSSH的SOCKS Proxy -D的端口和. pac的文件末尾所写的那个端口必须一致,而之所以选择7070,是因为我最开始拿到这个文件的时候它写的就是7070==
这个方法相对上一个方法更稳定,因为它只有在访问那些需要翻墙的url的时候才会通过ssh服务器,所以限制更少,pipe也不容易崩坏,
推荐人群:如果你的ssh服务器对国内的网址很不友好的话,用这个会好点。
以上,
2012-3-28
于爵仕官邸某7楼床上

Comments !