旧・無印吉澤

昔はてなダイアリーに書いていた記事のアーカイブです

P2Pリダイレクタ

最近たまにアクセスログRefererRingoChゲートウェイのことがあって、なんとかあちら側の世界にリンクを貼り返してやりたいなぁと思っていたのですが、WebからP2Pネットワーク上のコンテンツにリンクを貼る方法については既にいろいろ検討されているようです。

RingoChの「Wikiの運用スタイルを追求するWiki(&local;/2ad45355-a354-518f-12e4-1a3a356abda7/wiki.p2p?name=2004%2f05%2f14)」に小ネタを投下したときに教えてもらったのですが、P2P匿名掲示板のCrescentの作者は「P2Pリダイレクタ」という方法を提唱しているらしいです。以下はそのWikiのコメントからの引用。

Crescent作者氏が提唱した「P2Pリダイレクタ」というのがあって、http://ringoch.p2p/2ad45355-a354-518f-12e4-1a3a356abda7/*1と記述します。http://shingetsu.p2p/とかhttp://winny2.p2p/とかもできます。実装しやすい反面、意味的にはどうかと思いますけど。「次の雑談〜新月支部〜」

つまり、P2Pリダイレクタとはローカルホストのポート80番(HTTPのポート)上で動作する特殊なHTTPサーバ、ですね。例えばRingoChの場合なら、hostsファイルにあらかじめ

ringoch.p2p 127.0.0.1

のように記入しておけば、各々のユーザがドメインringoch.p2pのサイト(=RingoCh上のコンテンツ)にアクセスするたびに、その要求がローカルホスト上のP2Pリダイレクタに渡されます。P2Pリダイレクタは、ローカルホスト上でRingoChゲートウェイが動作していればそこにアクセスし、動作していなければ外部の公開ゲートウェイを1つ選択してアクセスして、そこから取得したコンテンツをブラウザに返すわけです。

以上のようなことで、P2Pネットワーク上のコンテンツにhttp://ringoch.p2p/2ad45355-a354-518f-12e4-1a3a356abda7/のような恒久的なリンクを貼ることができる、と。確かに、かなり実装しやすい方法だと思います。OSやブラウザの違いにも影響されませんし。

問題としては、「.p2p」なんてTLDを勝手に使っていいものなのか?*2とか、P2Pゲートウェイをインストールするほどではないけど、P2Pネットワークへのリンクには辿り着く可能性があるライトユーザのPC上で常時このようなサーバを動作させるのはどうなの?とか、そのあたりでしょうか。でも、こういう「Webの世界」と「P2Pソフトウェアが作る世界」のシームレスな接続が身近になりつつあるというのは面白いですね。

*1:ローカルホスト上のRingoChゲートウェイにアクセスしている場合は、こう記述するとhttp://127.0.0.1:6894/2ad45355-a354-518f-12e4-1a3a356abda7/のように変換されます。ただし、Alpha2のクライアント自身がP2Pリダイレクタとして動作しているわけではないようです。

*2:僕はringo://2ad45355-a354-518f-12e4-1a3a356abda7/のように独自スキームを定義して対処することになるのかな……と思っていたのですが、それにしたってIANAに申請するのはかなり面倒そうです。