- 安装shadowsocks
- 安装proxychains
- 10.11版本后新增的SIP
安装shadowsocks
由于pip上的shadowsocks停止更新了,所以需要通过以下命令使用最新版本shadowsocks
>>> sudo pip3 install https://github.com/shadowsocks/shadowsocks/archive/master.zip
>>> sslocal --version
Shadowsocks 3.0.0
在/etc下创建shadowsocks.json文件
{
"server":"xxxx",
"server_port":xxxx,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"xxxx",
"timeout":300,
"method":"rc4-md5",
"fast_open": false
}
启动
sslocal -c /etc/shadowsocks.json -d start
安装proxychains
>>> git clone https://github.com/rofl0r/proxychains-ng.git
>>> cd proxychains-ng
>>> ./configure
>>> make && make install
>>> cp ./src/proxychains.conf /etc/proxychains.conf
>>> cd .. && rm -rf proxychains-ng
编辑/etc/proxychains.conf 在文件最后加上:
socks5 127.0.0.1 1080
测试:
>>> proxychains4 curl twitter.com
[proxychains] config file found: /usr/local/etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.dylib
如果仅返回上面两条信息,则说明curl并没有使用proxychains
究其原因,是因为自10.11版系统后,加入了SIP,使得系统中一部分位置受到保护,这其中就包括/usr/bin,这个目录下的文件无法使用proxychains
10.11版本后新增的SIP
要解决上面的问题,方法有两个:
- 关闭SIP
- 使用/usr/local/bin目录下的可执行文件
我采用的是第二种方法,通过brew安装的命令一般位于/usr/local/bin目录下,以curl命令为例,系统自带的curl命令位于:
>>> which curl
/usr/bin/curl
通过brew安装curl后:
>>> brew install curl
>>> which curl
/usr/local/bin/curl
>>> proxychains4 curl twitter.com
[proxychains] config file found: /usr/local/etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.dylib
[proxychains] DLL init: proxychains-ng 4.13-git-10-g1198857
[proxychains] Strict chain ... 127.0.0.1:1080 ... twitter.com:80 ... OK
git命令也可通过此方法使用proxychains,但brew命令不知何原因无法使用proxychains,如果找到解决方案将会更新本文章。