# 在终端(Terminal)中快捷使用代理的方法
# 背景
每次在终端中 打开/关闭 代理都要经历以下几个步骤
- 在代理软件(如 Clash)中复制终端代理命令
- 粘贴到 终端 中,然后执行
- 执行需要访问外网的命令(如安装依赖、下载外网镜像)
- 关闭当前终端,让代理配置失效
假设你的代理工具启用的端口是2233
,那么从代理工具复制的终端代理命令应该是
export https_proxy=http://127.0.0.1:2233 http_proxy=http://127.0.0.1:2233 all_proxy=socks5://127.0.0.1:2233
以下两个方法可以帮助你在终端中快捷使用代理。
# 高频命令配置别名
# gitp push; 走代理 push 代码到 github
alias gitp='git -c "http.proxy=socks://127.0.0.1:2233"'
# brewp install xxx; Mac 走代理加速安装
alias brewp='http_proxy=socks5://127.0.0.1:2233 https_proxy=socks5://127.0.0.1:2233 brew'
# 命令行快捷开启/关闭代理
创建一个 prx 函数,使用方法
# 开启
prx on
# 关闭
prx off
粘贴以下 prx 函数的实现代码到你的 ~/.zshrc
或 ~/.bashrc
中,重新打开终端即可
# 代理开关函数
function prx() {
# 你的代理配置
local PROXY_HTTP="http://127.0.0.1:2233"
local PROXY_SOCKS="socks5://127.0.0.1:2233"
case "$1" in
on)
export https_proxy=$PROXY_HTTP
export http_proxy=$PROXY_HTTP
export all_proxy=$PROXY_SOCKS
echo "代理已开启: $PROXY_HTTP (HTTP), $PROXY_SOCKS (SOCKS5)"
;;
off)
unset https_proxy
unset http_proxy
unset all_proxy
echo "代理已关闭"
;;
*)
echo "用法: prx {on|off}"
;;
esac
}