背景需求:
大家在linux/mac os上经常需要在终端走代理,今天就推荐一个解决方式,proxychains。
安装proxychains-ng(mac上的名称):
-
brew安装:
brew install proxychains-ng # 很慢
-
手动编译安装:
git clone https://github.com/rofl0r/proxychains-ng
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
vim config.mak
将:
bindir = /usr/bin
libdir = /usr/lib
修改为:
bindir=/usr/local/bin
libdir=/usr/local/lib
保存退出
make && make install
sudo make install-config # 安装proxychains.conf配置文件
配置文件在:/etc/proxychains.conf,Mac下用Homebrew安装的默认应该在:/usr/local/etc/proxychains.conf
关闭SIP:
macOS 10.11 后下由于开启了 SIP(System Integrity Protection) 会导致命令行下 proxychains-ng 代理的模式失效,如果使用 proxychains-ng 这种简单的方法,就需要先关闭 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. 则说明关闭成功。
终端所在的位置:
进Recovery模式的方式⌘ + R可能会失败,博主mac os 10.15死活进不去,最后用一下命令成功进入:
sudo nvram "recovery-boot-mode=unused"
sudo shutdown -r now
而且博主部分关闭依旧无法使用,选择了完全关闭。
配置proxychains:
vim /etc/proxychains.conf
在ProxyList加入代理地址即可,博主用的clashx
[ProxyList]
socks5 127.0.0.1 7890
# http 127.0.0.1 1235 (me)
# add proxy here ...
# meanwile
# defaults set to "tor"
# socks4 127.0.0.1 9050
用proxychains进行访问,注意这个软件的可执行程序的名称叫proxychains4,还有就是不要在编译安装的目录下也建立一个conf文件,否则会先使用当前路径下的配置文件。
结果如下:
更多操作请阅读README文件,在下载的目录下,也可直接在网上搜索用法,终端代理的旅程到此结束啦,去探索吧!!!