Mac 终端设置代理,设置一键开启和取消
原文:https://ichochy.com/posts/20231125.html
终端配置代理
这里以macOS
为例,使用的是zsh
,对应的用户配置文件就是~/.zshrc
。
导入环境变量
将下面信息写入到~/.zshrc
文件中
分别导入 http_proxy、https_proxy、sockes_proxy
三个环竟变量
export http_proxy="http://127.0.0.1/8888"
export https_proxy="http://127.0.0.1/8888"
export socks_proxy="socks://127.0.0.1/8885"
注:根据自己的代理地址配置
加载配置文件
在终端中运行 source ~/.zshrc
,加载配置文件,让其配置生效
引起注意,说三遍……
运行 `source` 加载配置文件
运行 `source` 加载配置文件
运行 `source` 加载配置文件
……
查看环境变量
在终端中运行 env
,查看导入的环境变量是否生效
TERM_PROGRAM=Apple_Terminal
SHELL=/bin/zsh
USER=iChochy
HOME=/Users/iChochy
http_proxy=http://127.0.0.1/8888
https_proxy=http://127.0.0.1/8888
socks_proxy=socks://127.0.0.1/8885
……
可以看到 http_proxy、https_proxy、sockes_proxy
已经生效了。
测试
通过 curl
来作测,查看网络访问的情况
curl -vI https://ichochy.com
* Uses proxy env variable HTTP_PROXY == 'http://127.0.0.1:8888'
* Trying 127.0.0.1:8888...
* Connected to 127.0.0.1 (127.0.0.1) port 8888 (#0)
> HEAD http://ichochy.com/ HTTP/1.1
> Host: ichochy.com
> User-Agent: curl/8.1.2
> Accept: */*
> Proxy-Connection: Keep-Alive
……
可以看到 Trying 127.0.0.1:8888...
通过代理访问网络
注:curl 参数 v
显示请求详情,I
只显示请求头信息
通过命令添加、删除代理
在 ~/.zshrc
中设置别名命令
# 通过 alias 定义别名命令
alias add_proxy='export ALL_PROXY=http://127.0.0.1:8888'
alias un_proxy='unset ALL_PROXY'
运行 source ~/.zshrc
加载配置文件
执行 add_proxy
命令添加代理
执行 un_proxy
命令删除代理
引起注意,说三遍……
运行 `source` 加载配置文件
运行 `source` 加载配置文件
运行 `source` 加载配置文件
……
注:ALL_PROXY
所有网络代理
通过 ip
来查看当前的外网 IP
在 ~/.zshrc
中通过 alias
定义命令 ip
# 通过 alias 定义命令 `ip`
alias ip="curl ipinfo.io"
运行 source ~/.zshrc
加载配置文件
执行 ip
命令查询外网 IP
# ip
{
"ip": "8.8.8.8",
"city": "sh",
"region": "sh",
"country": "CN",
"loc": "88,55",
"org": "CHINANET",
"timezone": "Asia/Shanghai",
"readme": "https://ipinfo.io/missingauth"
}%