2008年11月12日水曜日

Proxyサーバーの変更をJavaScriptで自動化する

接続するホスト毎にProxyサーバーを変更したいケースがあります。

例えば、
localhostはProxyサーバーを通さないけど、他は通す。
とか、
特定のホストはProxyサーバーを通す。
とか、
平日はProxyサーバー通すけど土日は通さない。
とかとか。

実は今まで毎回Macのシステム環境設定から手動で切り替えていたのですが、さすがにめんどくささに耐えられなくなり検索したところ、なんとJavaScriptで動的に切り替えることが可能だったようです。

参考 : JavaScript または JScript を使った自動プロキシ ファイルの例

一言でいうと、JavaScriptで書いた設定ファイルをpacという拡張子で保存し、ブラウザやシステム環境設定から読み込む。というだけ。

早速やってみました。
まずは、proxy.pacというファイルを用意。


function FindProxyForURL(url, host) {
if (isPlainHostName(host))
return "DIRECT";
else if (shExpMatch(host, "blog.cohtan.org"))
return "DIRECT";
else
return "PROXY localhost-dolipo:3128"
}


この例では、localhostとblog.cohtan.org以外のアクセスはdolipoというローカルのキャッシュサーバーをProxyサーバーとして経由する設定にしました。

このファイルを、proxy.pacというファイル名で保存し、システム環境設定のネットワーク設定から指定します。


こんな感じです。

たったこれだけで動的にProxyサーバーを変更することが可能になりました。
まさかこういうやり方があるとは、知りませんでした。

0 件のコメント:

久しぶりにブログを書く

最初ログインできなくて焦った。 いや、ログインはできたのだが、ログイン後に自分のブログの管理画面に遷移できず、新しいブログを作成する画面になってしまったからビビッてしまった。 どうやら、Google+(現在はサービス終了)に紐づいたプロフィールを設定しているとこのような状況に陥る...