RShareとは何ですか?
RShareは若くて大望がもたれるソフトウェアプロジェクトであり、急速なコミュニティと活発なサポートが行われています。MUTEやANtsのような他の匿名によるP2P型ファイル共有プログラムと比べても同じくらいRShareはつながりを持ったもとで活発な開発が進められています。
アクティブなコミュニティはRShareを最高の努力を尽くして支援しており、Lars Regensburger(RShareの考案者)ができる限り速く便利な道具となるようにコミュニティから提案を試行しています。
RShareは
eMuleのような直接接続を常套手段とするネットワークでなく安全かつ匿名であり快適な別の方式をユーザーに提供します。
しかしもし
eDonekyのような匿名性が欠けてはいるが他の数多くの機能(利便性)を重視したいという場合は、RShareといえどもまだまだ開発途上です。
RShareは今まで匿名かつ安全なファイル共有を唯一重視してきたからです。
従来型のP2Pネットワークによるファイル共有は決して匿名ではありません。アップロードやダウンロードといった行為をしている間に固有なIPアドレスが見えてしまうので参加者同士が分かってしまいます。
人々がダウンロードをしたり、とあるファイルを共有に供している旧来型P2Pファイル共有ネットワークの弱点を、会社や組織や当局は突いてきます。RShareはこのような調査/捜査からユーザを守り、ユーザがインターネットを使う際の自由をいささかなりとも取り戻します。
RShareのいいところは何?
eDonkeyのようなものはいつも匿名性の無いファイル共有をしています。互いにネットワークの参加者はネットワーク全体でIPアドレスがまる見えになってしまうので簡単に突き止められる恐れがあります。そのうえ、何をしているのか(アップロードやダウンロードなど何もかも)がわかってしまい、記録されてしまいます。はっきりとした事実が言えるのはファイル共有者を追跡するためにオープンソースであるP2Pクライアントソフトを改悪して
IFPI(国際レコード・ビデオ製作者連盟)、
MPAA(米国映画協会)や
RIAA(全米レコード協会)といったような組織が使っているということです。
たとえば世界中の会社、組織、権限を持った公共事業団体らがネットワークの弱いところを突いてIPアドレスから著作権で保護されているものを共有しているユーザーたちの所在位置を特定することに使います。RShareではRShareネットワークに参加している互いのユーザー達のプライバシーは守られてインターネットを通したネットワークの監視に対する複数の対策を提供しています。
RShareはインターネット上の
P2Pを利用したファイル共有プログラムです。
eDonkeyなどの他のプログラムとずばり違う点はユーザー同士でのファイルのダウンロードとアップロードが
完全に匿名で行われるということです。
RShareの匿名性の仕組み
eDonkey2000等のようなサーバベースでのファイル共有システムとは異なり、RShareネットワークには中央サーバもしくは専用サーバは存在しません。そのためIPアドレスをファイルに結びつけるのは、ほぼ不可能です。
従来のサーバ不要なファイル共有システムは参加しているクライアント間の直接接続を維持していました(FastTrack/Kazaa, Kademlia, Gnutella or BitTorrent)。それに対してRShareクライアントは決して直接接続を使用しません。ネットワークのトラフィックは、むしろいくつかのRShareノード/クライアントを経由する経路を辿ります。
RShareネットワークの中を行き来するIPアドレスは隠蔽されます。IPアドレスの代わりにIPアドレスと結びつけ不能なRShare IDと呼ばれるものが使用されます。その上、RShareノード間を流れるすべてのデータは暗号化されます。というわけで、ISPですら貴方が何らかのファイル共有をしているかどうかのチェックのためのデータの解析は出来ません。
RShareの"Who's Who"
全てのRShareファイル共有ソフトウエア(RShare Client)使用者は、完全に独立し他のインターネットから遮蔽されたRShareネットワークの参加者です。他の参加者と接続を成り立たすにはWebcacheが必要とされます。
Webcacheは、他のネットワーク参加者のIPアドレスとポート番号を、彼らがRShareネットワークの接続を断つまで保持しておくことを目的としています。この(IPアドレスとポートの)データは、長期間ログに保存されることはありません。新たな参加者がRShareネットワークに加わったなら、その参加者はRShareネットワークへの接続を成り立たすのための情報をWebcacheから受け取ります。
Webcacheは、ユーザによってネットワークで共有されているファイルについての情報の保持もしなければ、これといった活動記録も採りません。Webcacheは非匿名ネットワークでの普通のサーバと同じ役割は持っていません。
Webcacheへの接続はユーザがネットワークに参加するとき、もしくはネットワークから離脱するときのみに必要とされる一時的なものです。
RShareネットワークに接続したそれぞれのRShareクライアントは、自動的にネットワークのノードとしての役割を担い、ネットワーク/データトラフィックの一部を届ける経路となります。このことによってファイル保持者とそれを受け取る側との間接接続が可能となっています。ファイル検索をかけたりダウンロード/アップロードをしたりのアクティブな状態になったノード(node)をピア(peer)と呼びます。
ノードやピアのような全てのRShare参加者の間には、暗号化された接続(connection)が保持されています。各クライアントは少数の他のノードやピアとの直接接続を持ちます。
RShareネットワークはどうやって参加してネットワークを作り上げていくの?
上で述べたように、RShareはネットワークへの接続を成すためにWebcache達を必要とします。あなたのRShareクライアントは、いくつかのWebcache達(1)へのhttp接続を行い、自分のIPアドレスとRShare用に使用するポート番号をWebcacheに送信し、返信として他の参加者のIPアドレスとポートのリストを得ます。
その後、クライアントはWebcache達との接続を断ち、入手したIPアドレスを使って他のいくつかの参加者との暗号化された接続を生成します(A, B and C) (2)。
RShareネットワークではどうやってファイルを検索しているの?
検索リクエストは、まずすぐ隣のノード達に投げられます(1)。隣のノード達は自身の持つ検索結果をネットワークに渡すだけではなく、その一方で(隣から頼まれた)検索リクエストをさらに隣のノード達にも渡します。これによりネットワーク上での探索域は次々と拡がっていきます。(2)
匿名性とセキュリティのために全ての検索結果は、ファイルを保有しているクライアントのRShare IDを伴って、RShareネットワーク内のいくつかのノードを経由して届きます。この仕組みによって検索リクエストを発したクライアントは、間違っても直接接続している故にIPアドレスを知り得るすぐ隣のノードからの検索結果受けるのではなく、RShare IDでの結果だけを得ることが保証されます。
RShareネットワークではどうやってファイルをダウンロードしているの?
あるクライアントがダウンロードのリクエストを発したら、そのリクエストはRShareネットワークの複数のノードを介して、ファイルを保有しているノードに届けられます(1)。保有ノードは整列したファイルの断片を、リクエストを中継してきた隣ノードに渡します。受け取ったノードは、リクエストを転送してきた方面の更に隣のノードに受け渡し……というように繰り返されます。
理想的な状況でなら、ダウンロードのデータの流れはリクエストが辿ったのと同じ道筋で返るでしょう(2)。関係していたノードの一つがもはや稼動していなかった場合、受け取り側ノードのRShare IDが標されたファイル断片は、別ルートで届きます(3)。
WebCachesを構築するには
あなたが自身のWebcacheを作りたいときのために、ちょっとしたマニュアルを置いておきましょう。
第一に - あなたは何故自分用のWebcacheを構築せんと欲するのか? 例えば自分専用のRShareネットワークで実験なんかをしたりするんでしょうね。
自分専用のWebcacheを構築するには、StealthNetの"syncronize webcache"を無効にし、webcache.xml にあなたのWebcacheのURLを加え、他のWebcacheのURLを消してしまいます。
1)PHPとMySQLがインストールされているサーバを確保する必要があります
2)MySQLに新しいデータベースを作成します。データベース名は任意で構いません。
3)(2で作成した)データベースに、以下のようなテーブルを作成します。
Table:nodes
Fieldname |
Datatype |
Length |
Null |
Primary Key |
ipaddress |
varchar |
15 |
No |
Yes |
port |
int |
11 |
No |
No |
lastupdate |
datetime |
- |
No |
No |
Teble:sent
Fieldname |
Datatype |
Length |
Null |
Primary Key |
receiveripaddress |
varchar |
15 |
No |
No |
sentipaddress |
varchar |
15 |
No |
No |
lastupdate |
datetime |
- |
No |
No |
データベース名、ユーザ名、パスワードを覚えて(控えて)置いてください。後で必要になります。
4)あなたのWebサイトにフォルダもしくはサブドメインを作成します。サーバにはPHPがインストールされていなければならないことをお忘れなく。Webcacheのファイル達をダウンロードします。今のところ(
http://board.planetpeer.de/index.php/topic,3811.msg22443.html#msg22443)のフォーラムのスレッドに添付されています。
入手したファイルをお好みのテキストエディタで以下のように修正します。
File:rwpmws.php
Line 24
"mysql_connect('localhost', '<username>', '<password>');"
普通はホスト名は'localhost'以外にする必要はないでしょう。他サーバ上にデータベースが存在している場合は(そうなってるかどうかはサーバサービスプロバイダ次第です)、ここにURLを加える必要があるでしょう。<username>と<password>を実際のユーザ名とパスワードに書き換えます。
Line 25 - "mysql_select_db('<database-name>');"
<database-name>をあなたが設置したデータベース名に置き換えます。
File: rwpmws.wsdl
<webcache-URL>を、あなたのwebserverのURLに書き換えます。
<webcache-URL>は、このファイル中に8個所あり、その全てを書き換えます。(Lines: 68, 77, 86, 98, 107, 116, 127, 130)
(訳註:私が入手したrwpmws_2007-10-16.zipに入っていたrwpmws.wsdlでは、"webcache-URL"ではなく、"WEBCACHE_URL"(ハイフンではなくアンダーバー)でした)
5)nusoap.php, rwpmws.php and rwpmws.wsdlを、あなたのWebサーバにuploadし、ディレクトリのパーミッションを755(drwxr-xr-x)します。
webブラウザでWebcacheのURL(http://<WebcacheUrl>/rwpmws.php)をブラウズしたら、(AddPeer, RemovePeer....)等のリンクが見られるはずです。(訳註:実際やってみたところブラウザには何も表示されません。しかしStealthNetを繋いでみるとWebcacheとしてはちゃんと機能するようです)
6)syncronize webcaches"をdisableに、preferenceディレクトリ下のwebcache.xmlを、あなたのWebcacheだけが存在するように書き換えたStealthNetを起動してみます。
あなたのネットワークに参加しようという全てのSNクライアントは同じように設定しなけばなりません。
出来上がり!!!
最終更新:2010年02月25日 17:45