Mac OSX 使用proxychains-ng
让命令行装包飞起来🚀🚀🚀
尝试过更换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/