2012-07-21
プロキシ経由でインターネット接続するようなコマンドを便利に叩く
たとえば、cpanm とか叩くときに、手で HTTP_PROXY とかの環境変数指定してもいいんだけど、 ウチのプロキシはパスワードも要求されるので、環境変数消し忘れるとパスワードが残っちゃう のが嫌だなぁとか思ったり。(ある程度見えちゃうのは仕組み上どうにもならんので、なるべく残らない ようにしたいな、と思った)
で、こういう問題ってみんなある程度持ってそうだし、もっといい既存ツールありそうなんだけど、 うまい検索ワードが思いつかなかったのでとりあえず自分で書いた。
#!/bin/sh
trap "stty echo; exit 1" 2
user=''
pass=''
stty -echo
echo -n "username: "
read user
echo
echo -n "password: "
read pass
echo
stty echo
# プロキシのアドレスは本物と変えてます
export http_proxy="http://$user:$pass@10.12.34.56:8888/"
export https_proxy="http://$user:$pass@10.12.34.56:8888/"
# コマンドを実行
$*
exit 0
たとえばこのスクリプトを proxy_cmd.sh という名前でパスの通ったところに置いて、
$ proxy_cmd.sh cpanm Plack
とかすると、いい感じにユーザ名とかパスワード聞いて、http_proxy とかの環境変数セットして cpanm 叩いてくれます。