GFW 对于程序员来说是一个不可忽视的障碍,翻越长城是程序员必备技能之一。
代理服务
目前,翻墙的主要方式基本都是通过代理服务器来中转请求。所以,一条优质的线路保证着访问墙外世界的速度和稳定性。通常情况下,北方联通网络连接香港、日本和新加坡的线路都优化得很不错,ping 值能达到 100ms 的水平,美国线路 ping 值一般能达到 300ms 以内还算可以。但是香港和新加坡的线路一般带宽都比较小,不像美国的线路带宽那么充足。还有,日本和新加坡的线路可能存在不同机房丢包率差异巨大的情况。所以,这里存在一个选择的问题,访问网站推荐使用亚洲线路,下载文件推荐使用美国线路。
另外,目前提供的代理服务基本都是通过付费购买的方式获得,购买之前要了解下代理服务的基本情况,比如 ping 值、丢包率、带宽、稳定性、是否超卖等。
我建议手头不要仅有一个代理服务,一定要有备用的服务,不然在遇到情况时无法切换就比较麻烦。
推荐服务:
DNS 服务器列表:
如果觉得直接配置 DNS 还不够,可以看看通过 dnsmasq 配置自定义 DNS,这里不再展开。
OS X
除了代理服务之外,还有一个问题就是如何选择代理软件。这里,介绍一些 OS X 和 iOS 常用的代理软件。
GoAgentX 可能是 OS X 里最好用的代理软件,支持很多种代理方式,包括 SSH,shadowsocks,SSLedge 等,支持 PAC 代理控制。可惜作者被请喝茶,GitHub 项目被删除。但是,好在不影响使用,仍手动升级代理模块,参考 「GoAgentX 的后续维护及使用」。
shadowsocksX 如果只是使用 shadowsocks 代理方式,那推荐使用此软件,同样支持 PAC 代理控制。
SSHMole 如果是古早的 SSH 代理方式,那推荐使用此软件。
Proxy SwitchyOmega 这个是 Chrome 插件,能够支持 HTTP 和 SOCKS 代理方式和 PAC 控制。
SSLedge,SSLspeedy 这些也是 Chrome 插件,是我最常用的方式,只是需要购买对应服务,支持灵活切换不同的代理服务器。
proxychains-ng 支持在 Terminal 里对待执行的命令行设置代理,对于使用 npm、gem 安装个啥不能的情况比较有用。
COW 定位于智能代理,支持多种代理方式、智能检测等特性,挺不错的。