そんなわけで。2ちゃんねるにおいて、ybbがまた書き込み規制されてしまっている。解除を待っていられないので、p2proxyを導入することにした。その際の各所設定についてメモしておく。
このエントリの概要
目標は、Firefoxとbbs2chreaderで、規制中も書き込みができるようにすること。そのために、簡単でローコストな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の導入が済んだら、Firefoxとbbs2chreaderで書き込みができるように設定する。ここで登場するのが、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"; }