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_proxy 和 https_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"
}                                                                                                   

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

相关推荐
fthux1 天前
待办清单写满了,别忘了给休息留个位置:试试 Tick Rest
开源·github·mac·提醒·open source·消息提醒·tick rest·tick rest for mac·消息提醒app
csdn_aspnet2 天前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
xbzb12 天前
IP、掩码、网关、DNS 到底谁管什么?网络基础与七种设备一次讲清
网络·网关·mac·ip·dns·掩码
sbjdhjd18 天前
从 VLAN 到 MSTP 的交换网络入门
网络·计算机网络·mac·ip·stp·vlan·交换机
Web3&Basketball20 天前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
Keith Guo23 天前
Understanding the Layers of Wireless Chips: RF, Baseband, and MAC in ESP32-S31
mac·rf·baseband
CocoaKier1 个月前
如何安装旧版的MacOS系统?
macos·ios·mac
Hello_Pyhx1 个月前
WinDirStat 2.9.3:从目录扫描到可复查的占用报表
windows·mac·垃圾清理
OliverQiu1 个月前
开源一个 macOS 小工具:集中管理 ChatGPT 的网络启动配置
macos·chatgpt·swiftui·mac·proxy·codex·dmg
bug和崩溃我都要1 个月前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏