问题

SS不能像VPN一样全局代理,还好有ProxyChains。不过在MAC升级到OS X El Capitan v10.11时,ProxyChains就失效了,死活连不上。

解决方案

最后Google了一大圈,原来也(之所以说也,是因为之前其它工具也因此出现过问题)是OS X El Capitan v10.11 之后,Apple 推出了一个叫 System Integrity Protection 的新功能:

A new security policy that applies to every running process, including privileged code and code that runs out of the sandbox. The policy extends additional protections to components on disk and at run-time, only allowing system binaries to be modified by the system installer and software updates. Code injection and runtime attachments to system binaries are no longer permitted.

如果开启了 SIP,会导致 ProxyChains 失效。解决方法是进入 Recovery 模式,在终端执行 csrutil disable,禁止 SIP(风险请自行判断)。

至于有人说ProxyChains为何不支持GoAgent,这是因为GoAgent是http/https代理,并且似乎访问每个页面都要重新连接并断开连接,导致proxychains报: connected, HTTP request sent, awaiting response… Read error (Connection reset by peer) in headers.之类错误,ProxyChains用socks4/5代理则完全没有问题。