2013年7月9日火曜日

proxy.pac on Mac


このエントリーをはてなブックマークに追加

ローカルにpacファイル配信用サーバー立てる


#!/usr/bin/env python

import SimpleHTTPServer
import SocketServer

PORT = 8080

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
Handler.extensions_map['.pac'] = 'application/javascript'

httpd = SocketServer.TCPServer(("",PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()
を保存して、同ディレクトリにproxy.pacファイルを置いておく。


// ホスト名がhoge.comのときだけproxyする
function FindProxyForURL(url,host) {
  if (dnsDomainIs(host, "hoge.com")) {
    alert( 'proxy!: ' + url);
    return "PROXY 127.0.0.1:5000";
  }
  else {
    alert( 'direct: '  + url);
    return "DIRECT";
  }
}
で、サーバー起動.
url はhttp://localhost:8080/proxy.pac と仮定。

Firefoxに設定

メニューから、環境設定->詳細->ネットワーク->接続設定
自動プロキシ設定スクリプトURLを設定。
f:id:toku_bass:20130708163231p:image:w360
で終了。
pacファイルを更新したときにFirefox側も更新する方法は
自動プロキシ設定スクリプトURL横の再読み込みボタンを押す以外は今のところわからない
(面倒)

Firefoxでデバッグ


pacにalertを仕込んでおくと、エラーコンソールで確認できる。
メニューからツール->web開発->エラーコンソール

chromeに設定


chromeはosのほうの設定を読みにいくので、chromeの詳細設定で
ネットワーク項目のプロキシ設定の変更ボタンを押すと、osのネットワーク設定が開く。
(ここでボタンが押せない場合、chromeのproxy関係の拡張機能を無効にする)
自動プロキシ構成を有効にして、pacのurlを記入する。
f:id:toku_bass:20130708163232p:image:w360
pac更新後の反映は
chrome://net-internals/proxyservice#proxy
から可能。

chromeでデバッグ


よくわからない


0 件のコメント:

コメントを投稿