マイリスト検索 > NicoCache_nl > プロキシ設定ファイルの例

プロキシ設定ファイル

プロキシ設定ファイル

通常、ブラウザのプロキシは全URLに対して一律にしか設定することができませんが、プロキシ設定ファイルを用いることで、URLやサーバに応じてプロキシを使ったり使わなかったりできます。

プロキシ設定ファイルの設定

まずは、ブラウザにプロキシ設定ファイルを設定する方法です(←なんか変な言い方だ・・・)。以下、

C:\proxy.pac

がプロキシ設定ファイルだとします。大規模なLAN内でプロキシ使用が必須となっている環境など、既にプロキシ設定がしてあったり、「設定を自動的に検出する」に初めからチェックが入ってたりする環境では、変更することはオススメしません。どうしても、って場合の対処法は最後に書いておきます。

Internet Explorerの場合 (IE6)

メニューの [ツール] → [インターネットオプション] から、[接続] タブの [LANの設定] ボタンを押します。
開いたダイアログの、「自動構成スクリプトを使用する」にチェック。アドレスに

file://C:/proxy.pac

と入れて [OK] を押せば完了。

Firefoxの場合

メニューの [ツール] → [オプション] から、[一般] タブの [接続設定] ボタンを押します。
開いたダイアログの、「自動プロキシ設定スクリプトURL」にチェック。下のテキストボックスに

file://C:/proxy.pac

と入れて [OK] を押せば完了。

proxy.pacの設定例

求める設定に応じて、幾つか設定例を紹介します。初めて設定する人は、proxy.pacを新規作成してメモ帳などで開いてから設定しましょう。

以下、NicoCache_nlのポート番号が 8080、オミトロン(使っている場合)のポート番号を 2525 と仮定して説明します。

ニコニコへのアクセスを全てNicoCache_nl経由にする

あらゆるニコニコへのアクセスを経由させます。メッセージサーバへの接続に失敗する場合が多いようなのでオススメできません。 オミトロンを使っている場合も、ニコニコ経由だけ処理している場合はこの設定でOKです。

function FindProxyForURL(url, host) {
    if ((shExpMatch(host, "*nicovideo.jp*") ||
            shExpMatch(host, "*smilevideo.jp*")) &&
        url.substring(0, 5) == "http:") {
        return "PROXY localhost:8080";
    }

    return "DIRECT";
}

メッセージサーバは経由させない

メッセージサーバは直接接続させます。たぶんNicoCache_nlではこれがオススメ。上と下の違いは、オミトロンを使わないか、使うか。

// オミトロンなし
function FindProxyForURL(url, host) {
    if (shExpMatch(host, "msg*.nicovideo.jp*"))
        return "DIRECT";
    if ((shExpMatch(host, "*nicovideo.jp*") ||
            shExpMatch(host, "*smilevideo.jp*")) &&
        url.substring(0, 5) == "http:") {
        return "PROXY localhost:8080";
    }
    return "DIRECT";
}
// オミトロンあり
function FindProxyForURL(url, host) {
    if (shExpMatch(host, "msg*.nicovideo.jp*"))
        return "PROXY localhost:2525";
    if ((shExpMatch(host, "*nicovideo.jp*") ||
            shExpMatch(host, "*smilevideo.jp*")) &&
        url.substring(0, 5) == "http:") {
        return "PROXY localhost:8080";
    }
    return "DIRECT";
}

動画のみの経由版

動画のみ、NicoCache_nlを経由させる(参考:公式の人)。NicoCache_nlでこのプロキシ設定を利用した場合は、動画のキャッシュ機能のみしか利用できません

// オミトロンなし
function FindProxyForURL(url, host) {
    var SM_FLV_PATTERN = new RegExp("^http://[^/]+(?:smilevideo|nicovideo)\\.jp/smile\\?[msv]=([^.]+)\\.\\d+(low)?$");

    if (SM_FLV_PATTERN.test(url)) {
        return "PROXY localhost:8080";
    }

    return "DIRECT";
}
// オミトロンあり
function FindProxyForURL(url, host) {
    var SM_FLV_PATTERN = new RegExp("^http://[^/]+(?:smilevideo|nicovideo)\\.jp/smile\\?[msv]=([^.]+)\\.\\d+(low)?$");

    if (SM_FLV_PATTERN.test(url)) {
        return "PROXY localhost:8080";
    }
    if ((shExpMatch(host, "*nicovideo.jp*") ||
            shExpMatch(host, "*smilevideo.jp*")) &&
        url.substring(0, 5) == "http:") {
        return "PROXY localhost:2525";
    }
    return "DIRECT";
}

オミトロンの簡易サーバ機能を使っている場合

この場合は、それ用の追加設定が必要です。下の2行をreturn "DIRECT";の前の行あたりに追加。

if (host == "local.ptron")
    return "PROXY localhost:2525";

「設定を自動的に検出する」がOnでないとインターネットに接続できない環境の場合

このときは、NicoCacheのセカンドプロキシ、あるいはオミトロンのセカンドプロキシに、インターネットに出るためのプロキシサーバを設定する必要があります。

ひとまず、デフォルトのプロキシ設定ファイルを入手します。URLで指定している場合はダウンロードして保存しましょう。自動設定になっている場合は、なんとか頑張ってアドレスを見つけてダウンロードしましょう。

デフォルトのプロキシ設定ファイルが見つかれば、それをエディタで開いて編集します。function FindProxyForURLで始まる行を探し、その次の行( { のあと)へ、上の設定例の return "DIRECT"; の上の行までをコピペします。例えば、

// ダウンロードした設定ファイル
function FindProxyForURL(url, host) {
    var SM_FLV_PATTERN = new RegExp("^http://[^/]+(?:smilevideo|nicovideo)\\.jp/smile\\?[msv]=([^.]+)\\.\\d+(low)?$");
    if (SM_FLV_PATTERN.test(url)) {
        return "PROXY localhost:8080";
    }

    // これ以降は初めから有る設定
    ...
    ...
}

のようになります。あとは、プロキシ設定ファイルの設定をみて、自分のプロキシ設定ファイルのパスを指定しましょう。この方法だと、ネットワーク環境が変わるたびに、最初の設定を更新してあげる必要があります。

最後に、NicoCacheやオミトロンに設定するセカンドプロキシの設定を探します。通常は、一番最後に書かれている return 文の中身のプロキシでOKです(環境により変わるので何とも言えないけど)。そのプロキシのアドレスとポート名をNicoCache_nlの設定ファイルに書けば動くはずです。