ShadowsocksX
Mac 中有个软件叫ShadowsocksX十分好用,但是有个问题比较坑爹就是命令行下无法使用,即使开了全局模式也不行
该文章在10.12.2的系统里已经失效,请参考MacOS 10.12 终端命令行下使用Shadowsocks
使用proxychains-ng无效
在以往多很多教程里都推荐使用proxychains-ng在命令行里做代理,从而达到科学上网的效果,但是在Mac 10.11之后Apple 推出了一个叫 System Integrity Protection 的功能,会导致代理失效
好多解决方式是进入Recovery模式下关掉这个安全措施
- 如果是使用 brew install proxychains-ng 安装的话,由于没有写入权限,必须暂时关闭 SIP,安装成功之后再打开 SIP
- 进入 Recovery 模式,在终端执行 csrutil disable,禁止 SIP
- 安装完成后再次进入 Recovery 执行 csrutil enable
但是这个方法总感觉有点坑爹
正确的姿势使用Proxifier
Mac中还有可以根据App设置代理的软件叫Proxifier,去网上下个可用版本然后进行如下配置
添加本地端口1080的代理,因为ShadowsocksX启动的Shadowsocks服务在此端口
对需要走Shadowsocks的Application让其使用上一步1080端口的代理,然后让ShadowsocksX本身走Direct直接链接
然后在DNS里配置强制远程解析DNS (这点很重要!!一定要改)
为什么要让ShadowsocksX本身Direct
如上图所示我们锁死了 Google Photos Backup 和 Terminal 这两个应用走1080端口是没问题,如果不对App加以限制的时候,就回造成任何流量都走1080端口,会造成死锁
1 |
|
软件本身在出现这种情况的时候也会提示你进行添加