Safariでプロキシ自動設定ファイル(.pac)が使えない


Mac OS X Lion以降のSafariでは、ローカルに設置したプロキシ自動設定ファイル(.pac)が有効にならない。OSのサンドボックス機能によって、読み込めるファイル/ディレクトリが厳しく制限されているためである。

サンドボックスの設定ファイルは、OSやSafariのバージョンによって変わる場合もあるが、たいていは次の場所にある。

/System/Library/PrivateFrameworks/Webkit2.framework/WebProcess.app/Contents/Resources/com.apple.WebProcess.sb

中身はLisp(!)で、以下のように読み込めるファイル/ディレクトリが指定されている。

com.apple.WebProcess.sb
;; Read-only preferences and data
(allow file-read*
       ;; Basic system paths
       (subpath "/Library/Dictionaries")
       (subpath "/Library/Fonts")
       (subpath "/Library/Frameworks")
       (subpath "/Library/Managed Preferences")
       (subpath "/private/var/db/mds")
       (subpath "/private/var/db/DetachedSignatures")
       (regex #"^/private/etc/(hosts|group|passwd)$")
       ;;; 略
       )

ここで列挙されているディレクトリの中に.pacを置けば、正常に機能するようになる。この内容もOSやSafariのバージョンによって変わるようなので注意。

私は/Library/Frameworksの中におくことにした。

以上の情報は、Apple Support Communitiesより得た。