Mac 配置终端代理

与浏览器不同,Mac 的终端默认并没有开启代理模式,也就是说即使我们电脑使用了代理,在终端中也是没有效果的,所以我们需要单独对终端配置代理。

查看 ip 相关信息

首先也要先说明一下如何快速查看当前的 ip 信息,需要用到 curl 命令:

sh 复制代码
curl ipinfo.io

{
  "city": "Nanjing",
  "region": "Jiangsu",
  "country": "CN",
  "loc": "32.0617,118.7778",
  "org": "AS4134 CHINANET-BACKBONE",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}                                                                                                  

可以看到即使系统使用了代理,在终端中是无效的。

终端代理配置

要给终端配置代理,需要修改相应 Shell 的配置文件,对于 ZSH,要修改 ~/.zshrc。具体来说,要配置的其实主要是 http_proxyhttps_proxy 这两个环境变量,它们告诉系统或应用程序使用指定的代理服务器。比如:

sh 复制代码
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080

这样,系统或应用程序在发起 HTTP 或 HTTPS 请求时,会先将请求发送给 http://proxy.example.com:8080,由代理服务器转发请求到目标服务器,然后将响应返回给发起请求的系统或应用程序。由于我使用的工具默认端口号是 7897,所以代理服务器 URL 应该是 socks5://127.0.0.1:7897

为了便捷,可以再使用 alias 来简化操作,在 ~/.zshrc 末尾加上如下内容:

sh 复制代码
alias proxy="export http_proxy=socks5://127.0.0.1:7890;export https_proxy=socks5://127.0.0.1:7890;"
alias unproxy="unset http_proxy;unset https_proxy;"

然后使用 source ~/.zshrc 来更新配置文件,这样在使用 proxy 命令就会设置代理,使用 unproxy 就会解除代理。

下面进行测试:

sh 复制代码
curl ipinfo.io

{
  "city": "Nanjing",
  "region": "Jiangsu",
  "country": "CN",
  "loc": "32.0617,118.7778",
  "org": "AS4134 CHINANET-BACKBONE",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}

proxy

curl ipinfo.io

{
  "hostname": "172-233-144-7.ip.linodeusercontent.com",
  "city": "Los Angeles",
  "region": "California",
  "country": "US",
  "loc": "34.0522,-118.2437",
  "org": "AS63949 Akamai Connected Cloud",
  "postal": "90009",
  "timezone": "America/Los_Angeles",
  "readme": "https://ipinfo.io/missingauth"
}

unproxy

curl ipinfo.io

{
  "city": "Nanjing",
  "region": "Jiangsu",
  "country": "CN",
  "loc": "32.0617,118.7778",
  "org": "AS4134 CHINANET-BACKBONE",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}                                                                                                   

可见成功实现了代理的功能。

相关推荐
AUV11073 天前
CleanClip for Mac 剪切板 粘贴工具 历史记录 安装(保姆级教程,新手小白轻松上手)
macos·mac·剪贴板·clipboard·剪贴板增强·复制历史·最强应用
星空爱忆5 天前
在 Mac 上安装双系统会影响性能吗,安装双系统会清除数据吗?
mac·parallels
星空爱忆6 天前
在 Mac 上安装虚拟机怎么样,安装虚拟机与直接安装 Windows 系统有区别吗?
windows·mac·parallels
晓风残月Yuperman6 天前
mac 电脑 git credential osxkeychain问题之二
git·mac
EthanXone1967 天前
【学习笔记】SSL密码套件之哈希
密码学·哈希算法·ssl·mac·密码套件·poly1305·aead
slunlun9 天前
Mac工程动态库配置和加载探究
macos·mac·dylib·dyld
Mac分享吧10 天前
Luminar Neo for Mac智能图像处理软件【操作简单,轻松上手】
图像处理·经验分享·笔记·macos·mac·软件需求·图片
AUV110710 天前
CleanClip for mac(苹果电脑剪切板管理器)
macos·mac·效率工具·剪贴板·剪贴板记录·clipboard·剪贴板历史
晓风残月Yuperman10 天前
mac 电脑 git credential osxkeychain问题
git·mac
老豆811 天前
[ios]准备好app后使用xcode发布ios操作
ios·mac·xcode