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"
}                                                                                                   

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

相关推荐
梁辰兴3 天前
计算机网络基础:以太网的 MAC 层
网络·计算机网络·macos·计算机·mac·以太网·梁辰兴
老臣软件3 天前
macOS 下载太慢?问题可能不在网速
经验分享·macos·mac·实用软件·网络下载管理器
不拱地的猪9 天前
Matplotlib 的字体参数设置方法(MAC OSX)
python·mac·matplotlib·字体设置·文中显示中文
老臣软件10 天前
研究 TikTok 爆款的人,一定要懂这类下载工具
mac
Wcowin15 天前
OneClip 开发经验分享:从零到一的 macOS 剪切板应用开发
mac·swift·粘贴板
Wcowin17 天前
【自荐】OneClip—— 一款简单专业的 macOS 剪贴板管理工具
mac·swift·粘贴板
亚林瓜子21 天前
git中移除.DS_Store文件夹和相关文件
git·mac·ignore·.ds_store
喵霓21 天前
mac—安装wget过程
mac
程序员霸哥哥24 天前
XYplorer(多标签文件管理器) v27.20.0700 / 28.00.1200 多语便携版
windows·macos·软件工程·mac·应用软件·xyplorer
雪花凌落的盛夏25 天前
电脑安装黑苹果教程,MacOS教程(未验证版)
macos·电脑·mac