プロキシの自動設定(各種shell)
2018/1/6執筆
ネットワークで切り替えてもターミナル内のシェルにはその設定は引き継がれない。http_proxy, https_proxy を毎回設定するのは面倒なので、ターミナルを立ち上げたら自動的に設定して欲しい。うちの学校であれば、IP アドレスが 172.24.0.0/16 の範囲に入るはずなので、それをチェックすればよい。学校以外の環境でこの IP アドレスを使っていないようであれば、自動判別できる。
zsh, bash の場合
code:.zshrc or .bashrc
IPADDR=ifconfig | grep 'inet ' | grep '172.24' | awk '{print $2}' | sed 's/\.[1-9][0-9]*\.[1-9][0-9]*$//'
else
unset http_proxy
unset https_proxy
fi
fish の場合
code:.config/fish/config.fish
set IPADDR (/sbin/ifconfig | grep 'inet ' | grep '172.24' | awk '{print $2}' | sed 's/\.1-90-9*\.1-90-9*$//' ) if test "X$IPADDR" = "X172.24" ;
else
set -gx http_proxy
set -gx https_proxy
end