文章目录
  1. 1. 使用 Homebrew 安装 proxychains-ng
  2. 2. 创建配置文件
  3. 3. 使用

使用shadowsocks一般只能代理web服务,如果想让命令行工具也被代理的话可以使用proxychains-ng。

使用 Homebrew 安装 proxychains-ng

1
brew install proxychains-ng

创建配置文件

1
2
3
mkdir ~/.proxychains
cd ~/.proxychains
nano proxychains.conf

proxychains.conf 的内容为:

1
2
3
4
5
6
7
8
9
10
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
localnet 127.0.0.0/255.0.0.0
quiet_mode
[ProxyList]
socks5 127.0.0.1 1080

注意,这里的端口号根据你自己的决定,比如我用的shadowsocks,本地端口是1080,那这里就是1080。如果所在的网络很复杂,可能需要在配置文件中启用

dynamic_chain - 按照列表中出现的代理服务器的先后顺序组成一条链,如果有代理服务器失效,则自动将其排除,但至少要有一个是有效的。然后在 [ProxyList] 下添加多个代理

默认是:strict_chain - 按照后面列表中出现的代理服务器的先后顺序组成一条链,要求所有的代理服务器都是有效的

使用

直接在想翻墙的命令前加proxychains4 进行转发

1
2
proxychains4 wget https://www.twitter.com/
proxychains4 git push origin master

或者直接通过bash使用

1
2
3
proxychains4 bash
wget https://www.twitter.com/
git push origin master

注意:Mac系统升级到El Capitan后由于System Integrity Protection(SIP)系统完整性保护会导致proxychains无法正常运行。

  • 系统目录 /usr/bin 下的命令无法正常工作
  • 用户目录 /usr/local/bin 下的命令可以正常工作
  • 使用 which wget 可以查看命令所在的目录。