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
    定位于智能代理,支持多种代理方式、智能检测等特性,挺不错的。

iOS

  • Surge
    之前,iOS 平台上的相关应用较少,很多都是 VPN 相关服务商提供的 VPN 接入应用,一般只能通过配置 VPN 的方式翻墙。直到前一阵子 Surge 横空出世,一举解决了 iOS 平台上多种代理方式接入和 PAC 代理控制的问题。可惜,过于璀璨就像流星陨落,前一阵子已在 App Store 下架。只能说买到就是赚到,错过了这村就不知道下一家店在哪里了。

  • VPN On
    如果使用 VPN 代理方式,这个应用可以很方便地在 Today Extension 里切换代理,非常推荐购买。

  • APNp
    就是智能代理,通过 PAC 文件来配置代理条件,一般随服务商提供。