Mac OSX 使用proxychains-ng

qinglin xiao
5 min readMay 19, 2019

--

让命令行装包飞起来🚀🚀🚀

尝试过更换pipenv、homebrew的源,但…

源码安装Proxychains-ng

"""
不推荐:brew install proxychains-ng # 超慢
"""

$ git clone https://github.com/rofl0r/proxychains-ng

编译安装

$ cd proxychains-ng
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ make install
$ sudo make install-config # 安装proxychains.conf配置文件

注:mac上 make install 会报错

因为:

Mac下用Homebrew安装的默认为/usr/local/etc/proxychains.conf

解决方法:

cd configure 
vi config.mak
将:
bindir = /usr/bin
libdir = /usr/lib
修改为:
bindir=/usr/local/bin
libdir=/usr/local/lib

MAC下安装

关闭 SIP

macOS 10.11 后下由于开启了 SIP(System Integrity Protection) 会导致命令行下 proxychains-ng 代理的模式失效,如果使用 proxychains-ng 这种简单的方法,就需要先关闭 SIP。

具体的关闭方法如下(我使用了部分关闭SIP,可work):

  • 部分关闭 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. 则说明关闭成功。

配置proxychains-ng

cd /usr/local/etc
vi proxychains.conf

将以下一项的注释取消:

quiet_mode # 49行

在[ProxyList]下添加socks5代理 (115行)

# 代理端口一定要和shadowsocks中的保持一致
# 如果有不明白的可以查看93~110
[ProxyList]
socks5 127.0.0.1 1080
# http 127.0.0.1 1235 (me)
# add proxy here ...
# meanwile
# defaults set to "tor"
# socks4 127.0.0.1 9050

注:默认的socks4 127.0.0.1 9095是tor代理,而socks5 127.0.0.1 1080是shadowsocks的代理。

Proxychains-ng使用

proxychains-ng 语法

proxychains4 操作 参数

Proxychains-ng 测试

$ proxychains4 curl cip.cc  
[proxychains] config file found: /usr/local/etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.dylib
IP : 210.140.221.90
地址 : 日本 福岛县 白河市
运营商 : idcf.jp

数据二 : 日本 | IDC Frontier东日本软银(SoftBank)数据中心

数据三 : 日本

Prochains-ng 优化

每次都要输入proxychains4, 太长,取个别名

打开.zshrc、.bashrc

vi ~/.zshrc

加入此行

alias pc='proxychains4' # 注 "="不要有空格

测试:

pc curl cip.ccpc brew update

错误参考链接:

https://github.com/rofl0r/proxychains-ng/issues/139

https://github.com/haad/proxychains/issues/71

https://github.com/rofl0r/proxychains-ng/issues/78

https://unix.stackexchange.com/questions/244272/proxy-timeout-error

https://github.com/mrdulin/blog/issues/18

https://wwyqianqian.github.io/2017/08/21/proxychains-privoxy/

--

--