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 | // 下载源码 |
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 | [ProxyList] |
使用
在你需要进行代理的页面前面加上proxychains4
即可
1 | $ proxhchains4 curl www.google.com |
Proxifier
Mac用户可能会觉得关闭SIP会造成一些安全隐患,这个时候可以使用Mac下的一个工具:Proxifier
Proxifier可以设定Mac上不同的应用走不同的代理,我们把我们平常需要的一些终端应用设置走指定的代理就行了
添加代理
打开Proxifier,打开Proxies->Add
,输入地址和端口号添加对应的sock5代理
设置代理规则
在Rules
模块中,我们可以设置指定应用、目标主机、目标端口走我们刚才添加的代理
需要注意的是,给我们提供的代理的Shadowsocks要设置成直接连接不能加入代理中,否则会造成整个代理链成了一条环,最后上不了网。
设置以后就可能在终端中享受代理服务了~