记录proxychains4在m1使用homebrew安装无法正常使用问题
用Homebrew安装的proxychians是无法在m1上正常使用的。所以需要使用github仓库的版本到本地进行编译。
1 |
|
0x00 SIP问题
由于macos在12.3更新之后,会开启一个sip功能,叫系统完整性保护。这个功能在开启的情况下是无法正常使用proxychains的。如果你并没有进行过任何操作,且你的Macos系统在12.3以上,那么大概率是开启状态。
如果是m系列mbp,那么可以在电脑关机之后,长按开机键直到可以选择进入恢复模式。在恢复模式启动终端。
如果是i系列mbp,那么是电脑关机之后,按下开机键的同时按下command+r进入恢复模式。
输入如下命令进行关闭
1 |
|
使用csrutil status查看sip是否处于关闭状态
后续开启也是一样的进入恢复模式,然后键入以下命令
1 |
|
0x01 libproxychains4.dylib不兼容
解决了sip问题,就可以顺利地在第一次执行proxychains4命令之后遇到***terminating because inserted dylib ‘/usr/local/lib/libproxychains4.dylib’ could not be loaded: tried: ‘/usr/local/lib/libproxychains4.dylib’ (mach-o file, but is an incompatible architecture (have ‘arm64e’, need ‘’))***这行报错了。
如下
网上有个方案是使用arm64e编译出libproxychains4.dylib之后,再使用arm64编译安装再替换那个组件。但是在我这里并没有起作用。最后我参考了[issue #451][https://github.com/rofl0r/proxychains-ng/issues/451]的解决方案,即编译出x86_64以及arm64e两个版本直接进行安装。顺利解决。在我的印象里,我只有这行命令的操作起了作用,其余操作均没有任何作用。
git clone到本地之后,使用命令进行编译即可
值得补充的一点是,我看到网上相关叙述说存在proxychains4的一些版本中的config.mask中第七行以及第八行的bin/lib两个目录的指向会指向到一个苹果保护目录,在苹果的保护目录中,/usr/local/这个目录并非保护目录,所以可以放心写入
所以需要这两个字段指向的目录为如下(或者也可以指到其他非保护目录,都可以应该)
1 |
|
编译命令
1 |
|
于是可以顺利正常使用。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!