一月份买的 MBP 最近才开始重度使用,开箱之后第一时间就装了 mac 上的 ShadowsocksX ,配合 Chrome 的 Proxy SwitchyOmega 插件使用一直安然无恙。但是发现在 Android Studio 的设置中将代理设置为 SSX 的地址和端口之后还是无法连接到谷歌。

下面的 AS 指代 Android Studio,SSX 指代 ShadowsocksX.

可是 Chrome 用的同样的配置却能上谷歌,这让我郁闷了好久。在 PC 上我也是同样设置 AS 的 HTTP Proxy 的,咋到了 mac 就不行了呢。。。

AS 中设置地址和端口后可以点击下方的 Check connection 来检查设置是否生效

最近都开始切换到 mac 进行开发了,所以不得不去解决这个问题。于是今天找到了问题的原因:ShadowsocksX 的 socks5 好像与 AS 并不兼容。网上看了几篇文章解决办法都是安装 privoxy 将 SSX 转发至 HTTP 端口然后供 AS 使用。

本来我也是这么做的,虽然行得通但是感觉特别不友好,甚至需要通过命令行启动 privoxy 。想着能不能在 SSX 这玩意身上解决这问题,SSX 相比 PC 端的 Shadowsocks , 功能真是太简陋了。

于是想着找找看看有没有 SSX 的更新,发现没有,但是却意外发现了 ShadowsocksX-NG 。这玩意简直就是及时雨,完美解决了我的困扰。SSX-NG 自带 privoxy 提供 HTTP 代理,这一点就足够我将 SSX 换成 SSX-NG 了。而且更神奇的是使用 SSX-NG ,AS 的代理设置选择 SOCKS 也可以用了。

果断卸载掉了之前装的 privoxy 和 SSX ,SSX-NG 的默认 HTTP 代理地址和端口也是 127.0.0.1:1080 ,完美解决问题。

ShadowsocksX-NG Features

参考:

  1. https://www.v2ex.com/t/176144
  2. https://tommy.net.cn/2015/02/05/use-http-proxy-through-socks5-by-using-privoxy/
  3. http://www.jianshu.com/p/60c1c35805b3
  4. https://github.com/shadowsocks/ShadowsocksX-NG