Firefoxとbbs2chreaderに、p2proxyを導入した際のメモ

 そんなわけで。2ちゃんねるにおいて、ybbがまた書き込み規制されてしまっている。解除を待っていられないので、p2proxyを導入することにした。その際の各所設定についてメモしておく。

このエントリの概要

 目標は、Firefoxbbs2chreaderで、規制中も書き込みができるようにすること。そのために、簡単でローコストなp2を用いることにした。p2を経由した書き込みを支援するツールとして、p2proxyを選んだ。また、プロキシの設定で、Nicocache_nlとコンフリクトしないように注意した。

2009-12-26追記

b2rスレにこのエントリが貼ってあったけど、説明が分かりづらいってことなので一応捕捉しておくか。
このエントリでは、元々NicoCache_nl用に書いたProxy.pacにp2proxy関連の記述を加えている。検索サイトでp2proxyとb2rの連携方法を探して来た人のニーズとは微妙にずれてるから、そういう人はエントリ末尾に追記した、p2proxy用のProxy.pacの内容をコピペするとよい。
ついでに以前書いた部分にもコメントアウトを入れておいたから、まず分かるだろう。

p2の導入

 まず、p2のアカウントを作成する。これは以前行っておいたので問題なかった。
 次に、p2で書き込みを1年間有効化するためのモリタポ1000ポイント(100円相当)が必要になる。通常では20000ポイントからしか買えないので、モリタポオークションを利用して、少額で必要分だけ購入した。

p2proxyの導入

 p2の導入が済んだら、Firefoxbbs2chreaderで書き込みができるように設定する。ここで登場するのが、p2proxyというソフトウェアだ。ダウンロードして設定を行った。
 p2proxy導入にあたっての注意点は、常時起動しているNicocache_nlが使用するポート番号とp2proxyのそれがぶつからないようにすることだ。Nicocache_nlがポート8080を使用しているので、p2proxyは8090を使うことに決めた。

Proxy.pacの設定

 そして、Nicocache_nlのために作ってCドライブ直下に置いていたProxy.pac(自動プロキシ設定ファイル)に記述を加えて、p2proxyとNicocache_nlが共存できるようにした。以下がその設定内容だ。

function FindProxyForURL(url, host) {
	/*
        "localhost"は"127.0.0.1"と書いてもよい
        "8080"の部分はNicocache_nlで設定したポートの番号を書く
        */
    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";
    }

	/*
        "localhost"は"127.0.0.1"と書いてもよい
        "8090"の部分はp2proxyで設定したポートの番号を書く
        */
    if (shExpMatch(url, "http://*.2ch.net/test/bbs.cgi*")  ||
	shExpMatch(url, "http://*.bbspink.com/test/bbs.cgi*")){
        return "PROXY localhost:8090";
    }

return "DIRECT";
}

Firefoxの設定

 上記のProxy.pacをFirefoxに読み込ませれば、無事にNicocache_nlとp2proxyが併用できる。ツール→オプション→詳細→ネットワーク→接続設定→自動プロキシ設定スクリプト URLに、Proxy.pacのフルパスを入力して再読み込みすれば完了。

bbs2chreaderの設定

 bbs2chreader自体の設定は特に必要ない。プロキシの設定をブラウザ依存にしておくだけで良い。

2009-12-07追記:現在使っているProxy.pac

NicoCache_nlの設定変更などで.pacの中身を多少いじった。自分が現行使っているp2proxy(とNicoCache_nl)用Proxy.pacは以下の通り。

function FindProxyForURL(url, host) {
	/*
        "127.0.0.1"は"localhost"と書いてもよい
        "8080"の部分はNicocache_nlで設定したポートの番号を書く
        "9123"の部分はp2proxyで設定したポートの番号を書く
        */
	var NicoCache_nl = "PROXY 127.0.0.1:8080";
	var p2proxy = "PROXY 127.0.0.1:9123";

	//NicoCache_nlを通さない
	if (shExpMatch(host, "ch.nicovideo.jp") ||
		shExpMatch(host, "dic.nicovideo.jp") ||
		shExpMatch(host, "help.nicovideo.jp") ||
		shExpMatch(host, "ichiba.nicovideo.jp") ||
		shExpMatch(host, "uad.nicovideo.jp")) {
		return "DIRECT";
	} 
	//NicoCache_nlを通す
    if ((shExpMatch(host, "*nicovideo.jp*") ||
    		shExpMatch(host, "msg*.nicovideo.jp*")||
            shExpMatch(host, "*smilevideo.jp*")) &&
        url.substring(0, 5) == "http:") {
        return NicoCache_nl;
    }
	//p2proxyを通す
    if (shExpMatch(url, "http://*.2ch.net/test/bbs.cgi*")  ||
	shExpMatch(url, "http://*.bbspink.com/test/bbs.cgi*")){
        return p2proxy;
    }

return "DIRECT";
}

もちろん、p2proxyを使わない時は、NicoCache_nl関連だけを記述したProxy.pacを使っている。

2009-12-26追記:p2proxy用のProxy.pac

以下、NicoCache_nl関連の部分を削ってp2proxy関連のみを記述したProxy.pacの内容。p2proxyだけ使う場合はこれをコピペして終了。

function FindProxyForURL(url, host) {
	/*
        "127.0.0.1"は"localhost"と書いてもよい
        "9123"の部分はp2proxyで設定したポートの番号を書く
        */
	var p2proxy = "PROXY 127.0.0.1:9123";

	//p2proxyを通す
    if (shExpMatch(url, "http://*.2ch.net/test/bbs.cgi*")  ||
	shExpMatch(url, "http://*.bbspink.com/test/bbs.cgi*")){
        return p2proxy;
    }

return "DIRECT";
}