macOS - 给Terminal终端命令行配置网络代理的方法

macOS - 给Terminal终端命令行配置网络代理的方法,第1张

与浏览器不同,mac 的终端默认并没有开启代理模式,也就是说即使我们电脑安装了xxxxx代理客户端,在终端中也是无法ke学上网的。下面通过样例演示如何对终端配置网络代理。

首先我们打开我们使用的代理客户端设置页面,查看其开放的 HTTP 端口,比如这里使用的端口是 1088

(1)bash 是 macOS Mojave 及更低版本中的默认 Shell 终端。要对其进行配置,首先执行如下命令修改用户全局配置文件:

(2)而从 macOS Catalina 版开始,Mac 将使用 zsh 作为默认的 Shell 终端。要对其进行配置,首先执行如下命令修改用户全局配置文件:

(1)首先我们使用 curl 命令查看终端目前的 IP,从结果来看确实使用的是国内的 IP 地址:

(2)接着执行如下命令开启代理模式:

(3)再次使用 curl 命令查看可以发现变成了国外的 IP(代理服务器的 IP):

(4)如果需要关闭代理模式,则执行如下命令即可:

(1)执行如下命令可设置代理:

(2)执行如下命令则取消代理:

(1)执行如下命令可设置代理:

(2)执行如下命令则取消代理:

本帖原文出自: www.hangge.com

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

在恢复模式下,终端里输入 csrutil enable --without debug 来部分关闭 SIP,完整教程点击 这里查看 。

恢复模式重启进入系统后,终端里输入 csrutil status ,结果中如果有 Debugging Restrictions: disabled 则说明关闭成功。

安装好 Homebrew 后,终端中输入 brew install proxychains-ng

将 /usr/local/etc/proxychains.conf 中的配置替换为

然后在需要走代理的命令前加上 proxychains4 即可,如

大部分命令行程序支持使用 HTTP_PROXY/HTTPS_PROXY 的模式来设置代理,而且此模式不受 SIP 影响。具体每一个命令行程序支持那种模式的代理,需要查看他们的文档。

使用示例:

Git 比较特殊,使用环境变量的方法并没有用,只有 proxychains 有效,如果不想使用 proxychains,可以对照本教程进行配置。

对于 HTTP/HTTPS 协议,比如 git clone https://github.com/github/hub.git ,使用下面的命令为 github.com 域名配置代理。

对于 SSH 协议,比如 git clone git@github.com:github/hub.git ,需要在文件 ~/.ssh/config 中添加

相应的配置完成后,git clone 就会使用代理了

我们默认的 Surge 规则已经做好了支持,只需要在 Surge 菜单中勾选「Enhanced Mode」即可。

在命令行执行 *** 作时,即使开了代理工具,但是仍然会有超时报错

这是因为,命令行中网络请求默认是不会走代理,需要做如下设置:

在命令行中执行上面的命令,设置的是临时的环境变量,如果关闭命令行后就是失效。

设置完成之后可以使用下面的命令查看设置是否生效。

如果返回的信息是代理服务器的信息,则说明设置成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/10919833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存