推荐两个终端代理工具:ProxyChains 和 Proxifier

Shadowsocks代理是sock5代理,但是我们的终端中的很多应用都是不走sock5代理的,这个时候就需要一些工具来让这些数据通过sock5进行传输,这里推荐两个Linux和Mac中常用的工具:ProxyChains 和 Proxifier

ProxyChains

ProxyChains的功能就是Hook 了 sockets 相关的操作,让普通程序的 sockets 数据走 SOCKS/HTTP 代理。其在实现部分主要是重写了部分socket函数。

其能够在同一条代理链中整合不同类型的代理:

1
your_host <-->socks5 <--> http <--> socks4 <--> target_host

安装

源码编译安装

1
2
3
4
5
6
7
// 下载源码
$ git clone https://github.com/rofl0r/proxychains-ng
// 编译
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ make install
$ make install-config (安装proxychains.conf配置文件)

Mac 安装

因为macOS 10.11 后开启了 SIP(System Integrity Protection) 会导致命令行下 proxychains-ng 代理的模式失效。所以要安装ProxyChains首先需要关闭SIP功能

  • 部分关闭SIP

重启Mac,按住Option键进入启动盘选择模式,再按⌘ + R进入Recovery模式。
实用工具(Utilities)-> 终端(Terminal)。
输入命令csrutil enable --without debug运行。
重启进入系统后,终端里输入 csrutil status,结果中如果有 Debugging Restrictions: disabled 则说明关闭成功。

  • 全部关闭SIP

重启Mac,按住Option键进入启动盘选择模式,再按⌘ + R进入Recovery模式。
实用工具(Utilities)-> 终端(Terminal)。
输入命令csrutil disable运行。
重启进入系统后,终端里输入 csrutil status,结果中如果有 System Integrity Protection status:disabled. 则说明关闭成功。

关闭以后通过brew进行安装就行了

1
$ brew install proxychains-ng

配置

proxychains-ng默认配置文件名为proxychains.conf

  • 通过源代码编译安装的默认为/etc/proxychains.conf。
  • Mac下用Homebrew安装的默认为/usr/local/etc/proxychains.conf

配置只需要将代理加入[ProxyList]中:

1
2
[ProxyList]
socks5 127.0.0.1 1086

使用

在你需要进行代理的页面前面加上proxychains4即可

1
$ proxhchains4 curl www.google.com

Proxifier

Mac用户可能会觉得关闭SIP会造成一些安全隐患,这个时候可以使用Mac下的一个工具:Proxifier

Proxifier可以设定Mac上不同的应用走不同的代理,我们把我们平常需要的一些终端应用设置走指定的代理就行了

添加代理

打开Proxifier,打开Proxies->Add,输入地址和端口号添加对应的sock5代理

设置代理规则

Rules模块中,我们可以设置指定应用、目标主机、目标端口走我们刚才添加的代理

需要注意的是,我们给我们提供的代理的Shadowsocks要设置成直接连接不能加入代理中,否则会造成整个代理链成了一条环,最后上不了网。

设置以后就可能在终端中享受代理服务了~