SSH 自动翻墙之 OS X 版
WHY 自动翻墙?
不做名词解释,您要是不能理解“翻墙”的含义,您可能不需要看下去。
所谓的自动翻墙,其实就是开机自启动 SSH session,并用手段让该 SSH session 能够自动重连,常驻内存,想用就用要用的方便。
Windows 下做到这点很简单,用我很久之前提到的 MyEntunnel 简单设置一下就可以了。
但使用者平均智商比 PC 用户低的,傻瓜都能上手的 OS X 下,就要相对复杂一点。有这么一个软件, Secrect Socks。 而且为了显示我们 MAC 用户智商并不低,我决定把这个问题弄的复杂一些,用 OS X 的标准启动程序 launchd 来完成自动翻墙的第一步:自动启动并保持在内存里。
步骤
首先我们需要一个软件叫 autossh,它的作用是启动一个 ssh 进程并且监控该进程,再有需要的时候重启以便保持 ssh 的连接。
autossh 可以通过 MacPorts 安装,也可以自行编译。除了要多指定一个监控端口外,它的使用方法跟 SSH 是一样的。我的 autossh 命令行:
autossh -M20000 -f -q -N -D 7777 username@domain.tld
这里你需要设置 SSH 自动登录,如果不知道如何设置请参考这篇文章。
到这里,我们的自动化只能算完成了一半,下面还要用 launchd 来启动 autossh, 这样每次系统启动时不必手动打入 autossh 命令。
vi ~/Library/LaunchAgents/any.file.name
any.file.name 的内容见此 txt 文件:any.file.name.txt
重启,搞定。一个 SOCKS v5 服务器就建立了,任何时候,在你本机上用 localhost:7777 就可以翻墙了。
怎样像 Time Machine 一样备份

感觉自己有点像标题党。不过无论怎样,在弄坏了两块硬盘之后,必须要有一个重视备份的态度了。
在 OS X 上,最简单方便的备份工具应该是 Time Machine 了。但问题还是有的,我事实上是个 control freak,这点导致我觉得坐等 Time Machine 备份,我自己连手都插不上有点别扭。再加上总是要插上外置硬盘,还是很麻烦的。以上原因,我觉得还是另辟它径吧。
提起备份,很多人会去找漂亮的备份程序,其实不必。rsync 就是一个足够强大的备份工具,在功能上它甚至强大到可以完全取代 Time Machine。下面是我的备份脚本,*nix 系统都通用。Windows 系统的话,可以通过 Cygwin 来达到同样的效果。
#!/bin/sh date=`date "+%Y-%m-%d-%H%M%S"` rsync -avzP --delete --size-only --exclude .DS_Store --exclude .Trash --exclude .svn --exclude Library/Caches --exclude .bzr --exclude Library/Logs --exclude Library/Application\ Support/SyncServices/ --link-dest=/Volumes/DATA/backup/current /Users/michael /Volumes/DATA/backup/back-$date rm /Volumes/DATA/backup/current ln -s /Volumes/DATA/backup/back-$date /Volumes/DATA/backup/current
上面的脚本中,/Volumes/DATA 是一个外接的硬盘。Basically 这个脚本就是把本地硬盘上的东西备份到外接硬盘上。
这个脚本的关键就是 *nix 系统下的 hard link,所谓 hard link,就是一个指向存储介质的指针。可以有 N 个指针指向同一块硬盘上的内容,除非删除所有的指针,否则内容还是会被保留。rsync 中的 –link-dest 参数就是如此作用,如果有与目前备份内容一致的,不需要拷贝,只需要建立 hard link 就可以了。这样整个备份可以省时间省存储空间。每次的备份文件都是按备份时间保留的,由于是 hard link,虽然经常备份,但实际上占用的存储空间并不大。我的感觉,只需要有一块比要备份硬盘大1.5倍的硬盘,就可以随心所欲的备份了。
我觉得 iTunes 很牛逼
因为,它在你插入什么颜色的 iPod 的时候,会显示出什么颜色的图片。
银色的 iPod Nano 插入时的显示:
黑色的 iPod Nano 插入时的显示:
这个小细节,我觉得 iTunes 挺牛逼的。
今天是新年第一天,希望大家都能达成今年的愿望,新年快乐!
这 Mac 的质量,也不咋地
上次说到我的 Macbook 硬盘挂掉,事件还没过去多久,老硬盘尸骨未寒,同一台 Macbook 又出了点问题。
同样的,我不知道什么时候,掌托部分就裂了一口子。裂开的部分一溜像掉皮一样和掌托就分开了。我当时很气愤,特想把开裂的部分直接扯下来。后来还是没有那么冲动,买了一管 AA 胶小心的给粘上了,基本上还是可以看出裂纹的。
如图:
俺对这台 Mac 向来爱护,小心保护,想不到还是出了差子。裂的莫名其妙,难道要想坚固,非得去买台铝壳的新款 Macbook?
穿墙另一法
我老是在 blog 上絮絮叨叨地写穿墙法,不知道会不会跟 zuola 抢生意呢?不管怎么样,有兴趣的同学除了可以参考一下我介绍的办法,还可以到 blogger 年会现场去听听 zuola 现场教学。
不管怎么,我们先总结一下目前穿墙的办法。
大家用的最多的,应该还是古老的 http 代理服务器法。因为简单,所以专业,哦,是所以普及。不过这种方法因为对远程代理服务器无法依赖,所以显的比较脆弱,代理服务器有个三长两短的,大家就都没得玩。而不幸的是,这种三长两短发生的频率是相当的高,谁用谁知道。
然后后来出现的,比较有效的,是利用加密通道与远程服务器建立连接。这种方法是目前我觉得最为靠谱的方法──对我来说。但这种方法要求你有一台没被 gfw 的主机,而这台主机必须安装了 ssh server 并允许 tunneling. 说起来复杂,但其实一般的国外主机都具备这个条件。但问题是,有国外主机的人占的份额太少了。这个方法不具备推广性。
另一个方法,也是 zuola 力荐的 Tor+Firefox 大法,因为我其实没有用过该方法,但如果我没有理解错的话,这是通过 p2p 的分布式方法来达到穿墙的。因为是分布式,不会依赖某台特定的服务器,我感觉应该还是非常靠谱的。
还有一个方法,也是前一段时间很多人在用的方法,VPN 法。其实用 VPN 穿墙,原理跟加密通道是一回事,都是先建立和远程服务器的一条加密通道,再通过远程服务器访问墙外的世界。只不过 VPN 在实现上,对于普通用户来说简单了很多。而相应的服务器端的设置就麻烦了不少。
这次介绍的方法,就是基于 VPN 的。有这么一个网站:AlwaysVPN,它提供一个免费的 VPN 服务器给你,再提供一个免费的软件(该软件全平台适用),把所有的设置把包裹起来让你一运行即可用。

目前使用起来速度还是不错的,该软件的营利方法就是在你浏览的网页上方插入一个 728×90 pixels 的 banner,现在还没见着,希望不会影响阅读网页。
有兴趣的朋友,按这里下载。全平台 (Windows/OS X/Linux)支持的哦。


