之前我在 Windows 上实践通过 proxychains 软件借助本地 socks5 代理使用 win 下的 Google Earth Pro,今天我来实践一下 macOS 上的做法。

前文,win 上的操作指南: https://hellodk.cn/post/1155

我的 mac 还是 19 年买的 intel 芯片,苹果首款 16 寸 mbp。

我的mac压缩后.jpg

当前系统版本是 macOS Ventura 13.5.2

我通过 brew 安装 proxychains-ng,因为换了 ustc (中科大)的源,所以直接使用 brew 安装更方便。

brew install proxychains-ng

安装完成后,检查帮助文档

$ proxychains4 --help

Usage:  proxychains4 -q -f config_file program_name [arguments]
    -q makes proxychains quiet - this overrides the config setting
    -f allows one to manually specify a configfile to use
    for example : proxychains telnet somehost.com
More help in README file

检查默认配置文件是否存在

ls -alh /usr/local/etc/proxychains.conf

如果文件存在则使用 nano 或者 vim 编辑该配置文件,比如 vim /usr/local/etc/proxychains.conf

我在 [ProxyList] 下新增了 socks5 代理,代理主机是局域网中的 10.10.10.115,socks5 端口 7891

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4     127.0.0.1 9050
socks5 10.10.10.115 7891

然后怎么让谷歌地球使用上这个代理呢?

mac 上打开一个应用终端命令是 open,比如 open /Applications/xxx.app

所以构建启动命令 proxychains4 open /Applications/Google\ Earth\ Pro.app

但是命令运行后谷歌地球并不能正常使用。原来是 macOS 的 SIP 机制导致 proxychains-ng 无法读取系统库文件,导致代理不能正常运作。

完全关闭 SIP

重启Mac,按住Option键进入启动盘选择模式,再按⌘ + R进入Recovery模式。 实用工具(Utilities)-> 终端(Terminal)。 输入命令 csrutil disable(这将禁用 SIP)。 直接 reboot 进入系统后,终端里输入 csrutil status,结果中如果有 System Integrity Protection status:disabled. 则说明关闭成功。

参考: https://medium.com/@xiaoqinglin2018/mac-osx-%E4%BD%BF%E7%94%A8proxychains-ng-91ba61472fdf

接着再在终端中执行 proxychains4 open /Applications/Google\ Earth\ Pro.app 即可畅游谷歌地球。其他需要代理的命令或者程序均同理。

proxychains-ng 使用示例.jpg