wsl设置全局代理
自动设置代理
自动化脚本
#!/bin/sh
#hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')
hostip=192.168.50.2
wslip=$(hostname -I | awk '{print $1}')
port=30003
PROXY_HTTP="http://${hostip}:${port}"
set_proxy(){
export http_proxy="${PROXY_HTTP}"
export HTTP_PROXY="${PROXY_HTTP}"
export https_proxy="${PROXY_HTTP}"
export HTTPS_proxy="${PROXY_HTTP}"
}
unset_proxy(){
unset http_proxy
unset HTTP_PROXY
unset https_proxy
unset HTTPS_PROXY
}
test_setting(){
echo "Host ip:" ${hostip}
echo "WSL ip:" ${wslip}
echo "Current proxy:" $https_proxy
}
if [ "$1" = "set" ]
then
set_proxy
elif [ "$1" = "unset" ]
then
unset_proxy
elif [ "$1" = "test" ]
then
test_setting
else
echo "Unsupported arguments."
fi
启动脚本
. ./proxy.sh set
运行的时候不要忘记之前的 .,或者使用 source ./proxy.sh set,只有这样才能够修改环境变量
直接运行例如 ./proxy.sh set 或者 sh proxy.sh set,这样会是运行在一个子 shell 中,对当前 shell 没有效果
可以对脚本设置别名
alias proxy="source /path/to/proxy.sh"
. /path/to/proxy.sh set