使用代理
如果我们想要某个命令使用代理,则需要根据不同的命令设置不同的参数,例如 curl 是通过 -x 选项设置.
如果每一个命令都通过选项执行,比较麻烦,其实还可以通过修改环境变量 http_proxy 的值来设置代理的方式,比如执行命令 export http_proxy="http://${PROXY_HOST}:${PROXY_HTTP_PORT}"
表示所有的 HTTP 请求都走这个代理。
脚本
由于每次切换代理都需要频繁的添加这个 export
命令,还是比较耗费时间的,此时就可以借助脚本帮助我们快速设置,编写脚本如下:
#!/bin/bash
# 命令行中快速启用、管理代理的脚本
# Create by liyu at 2024.01.13
# 代理的服务器地址和端口
PROXY_HOST="127.0.0.1"
PROXY_HTTP_PORT=1087
PROXY_SOCKET_PORT=1080
# 启用代理
enableProxy() {
export http_proxy="http://${PROXY_HOST}:${PROXY_HTTP_PORT}"
export https_proxy="http://${PROXY_HOST}:${PROXY_HTTP_PORT}"
export socks5_proxy="socks5://${PROXY_HOST}:${PROXY_SOCKET_PORT}"
export all_proxy="socks5://${PROXY_HOST}:${PROXY_SOCKET_PORT}"
echo "Enable Proxy to ${http_proxy}, ${socks5_proxy}"
}
# 关闭代理
disableProxy() {
unset http_proxy
unset https_proxy
unset socks5_proxy
unset all_proxy
echo "Disable Proxy"
}
# 通过启用别名的方式快速使用
alias proxyon="enableProxy"
alias proxyoff="disableProxy"
保存到本地文件夹中, 通过 source 的方式引入到 '.zshrc' 或 '.bashrc' 里, 这样只需要通过命令 proxyon
proxyoff
快速启用、禁用代理了.
文件引用示意图如下:
测试
当脚本准备好,并引用到当前运行中时,可以通过命令 curl ifconfig.me
获取一下当前的 IP 地址,开启代理后再获取一次,比较两次 IP 是否一致。
验证使用图如下: