ブラウザーを沈めないトラッカーに結合する

vseisk-p2p ピアツーピアネットワークは、現代のインターネットの強力な力となっています。 p2pネットワークのクライアントプログラムは、コンピューターを巨大なネットワーク「生物」に統合し、エンドユーザーはこれらのネットワークを作成、維持、および制御します。 今日、ほとんどすべてのコンピューターでブラウザーが開いています。 ブラウザをp2pネットワークに組み合わせることにより、常に手元にあり、多くの差し迫った問題を解決するのに役立つ分散システムが得られます。



最近、ブラウザを擬似検索エンジンVseiskに統合するFirefox拡張機能について話しました。 現在、このネットワークは追加機能を習得しています:BitTorrentのトレントとトラッカーの公開/検索。 詳細な説明に進む前に、問題の説明を簡単に説明します。



BitTorrent p2pネットワークの最も重要なノードはトレントサイトです。 それらを介して、ユーザーは配布を見つけ、それらを介して現在の配布の調整が実行されます。 ただし、トレントサイトは最も重要なだけでなく、BitTorrentの最も弱い点でもあります。 脆弱性は主に、対応するサーバーをブロック、ブロック、選択などできるという事実にあります。



ディスパッチ機能がp2pネットワークの原則に従って分散されている場合、調整サービスは技術的および管理上の脅威の影響を受けなくなります。 トレントサイト(トレント検索および配信マネージャー)の通常の機能を実装するp2pサービスを作成することにしました。クライアントプログラムとやり取りすると、サービスは通常のトラッカーのようになります。



この記事では、まず、識別されたアセンブリにすべてが技術的にどのように機能するかを簡単に説明し、次に、写真でサービスの使用方法をより詳細に示します。





仕組み



技術セクション、スキップできます

従来のトレントトラッカーの場合、ディストリビューションは次のように編成されます。トレントファイルを作成すると、1つ以上のトラッカーURLが追加されます。 たとえば、http://mytracker.com/announceというアドレスにします。 次に、ユーザーはトレントファイルを受信し、クライアントプログラムでそれを開きます。クライアントプログラムは、指定されたアドレス「http://mytracker.com/announce」にアクセスして配布への参加を通知し、トラッカーから他の参加者のリストを受信します。



クラシックバージョンとは異なり、私のソリューションでは、クライアントプログラムは集中トラッカーではなく、Vseiskネットワークのローカルホストにアクセスします。 これを行うには、トレントファイルを作成するときに、URL http:// localhost:7583 / annsが追加されます。 BitTorrentクライアントの場合、すべては古典的な場合のように見えます。標準プロトコルに従って対話が行われるURLがあり、トラッカーへのアピールがローカルポート7583に送信されます。このポートはVseisk拡張をリッスンします。



その後、次のことが起こります。

1)BitTorrentクライアントはポート7583にリクエストを送信しました

2)Vseiskノードがリクエストを受信し、p2pネットワークで特定の配信を担当するノード(ノードのグループ)を見つけた

3)Vseiskノードは、担当ノードに配信参加者のリストを要求しました

4)VseiskノードがBitTorrentクライアントに配信参加者のリストを返しました



その結果、クライアントプログラムは特定のサイトからではなく、p2pネットワークから必要な情報を受け取りました。 これは、あらゆるクライアントプログラムで動作する分散型のp2p-trackerです。



vseisk-schema








すぐに、多くの分散トラッカーがあることを明確にする必要があります。 実際、何らかのクライアントBitTorrentプログラムのコンテキストで略語DHTに出くわした場合、または「トラックレス配布」について話している場合、分散トラッカーについても話します。 ただし、既存のトラッカーは各クライアントプログラムの個別の内部モジュールであるため、一般的な場合、 特定のプログラムに対してのみ機能し、クライアントプログラムに対しては機能しません。 私が提案した解決策は、クライアントプログラムに依存しないため、グローバルにクライアント間の分布を調整できます。



次に重要な点:他の分散ソリューションはディスパッチャ機能のみを実装し、名前による検索はありません。 ほとんどのお客様では、検索機能は外部の検索サイトへの連絡に限定されます。 提案されたソリューションでは、トレント検索はVseiskの同じp2pネットワークで実行されますが、トレントファイルの公開は、ユーザーが選択したフォルダにファイルをコピーすることになります。



したがって、構築されたシステムは実際には標準のトレントサイト(検索+トラッカー)のように機能しますが、そのようなサイトのいくつかの欠点はありません。たとえば、分散p2pシステムを閉じる/ブロックする/オフにすることはできません。 公開された資料に制限はありませんが、犯罪資料の配布を制限するための措置が講じられます。 このような自己組織化システムでは、ユーザー自身がすべての厄介なものの広がりを制限できる必要があります。



急流がVseiskに到達する方法



オプション1:自分でトレントファイルを作成する

ユーザーが「冬の日の活気」という短編映画を作成し、対応するファイルを全員と共有することにしたとします。 これを行うには、BitTorentクライアントを使用してトレントファイルを作成します。 写真は、uTorrentおよびVuzeクライアントでこれを行う方法を示しています。 コメントに注意してください-このトレントファイルが対応するフレーズによってVseiskで見つかるように、このフィールドに入力する必要があります。 このフィールドには、不必要な情報なしで、作品の正確なタイトルを含めることが重要です。 語順は重要ではありません。 2番目の重要なポイントは、トラッカーのアドレスです。 ご覧のとおり、このアドレスはlocalhostを指し、Vseisk拡張機能の対応するオプション(「設定」ページ)を変更した場合、ポート番号は異なる場合があります。



vseisk-create-torrent








そのため、分散トラッカーのトレントファイルが作成され、Vseiskネットワークにファイルを公開できるようになりました。 これを行うには、ユーザーは単にトレントファイルを特別なフォルダーに配置します(「Folder with torrents」フィールドの「設定」ページで公開用のフォルダーを設定できます)。 さらに、Vseisk拡張機能自体がトレントデータを分析して公開します。 このステップで、他のユーザーはすでにトレントファイルを見つけて受信できます。ここで、BitTorrentクライアントを使用して配布を開始する必要があります。 これを行うには、クライアントプログラムでトレントファイルを開き、同時にムービーのソースファイルの場所を指定します。



オプション2:既存のトレントファイルを変更する

トレントファイルが既にあるが、別のトラッカーと連携するために作成された状況を考えてみましょう。 トレントファイルを上記のフォルダーにコピーし、「トレント」ページを開きます。



vseisk-torrent-list








トレントの一般的なリストでは、感嘆符でマークされたファイルがすぐに表示されますが、AllISCはそれを受け入れません。 行の先頭にある三角形のアイコンの上にマウスを置くと、このファイルの問題の説明が表示されます。 ファイルを編集するには、名前をクリックして編集フォームを開きます。



vseisk-torrent-edit








「タイトル」フィールドに入力して、ファイルを保存します。 現在は、クライアントプログラムで開くだけです。

注:「プライベート配布」とマークされたトレントファイルは編集できませんが、「ファイル名」フィールドに新しいファイルの名前を追加してコピーを作成できます



オプション3:公開なしの配布

ユーザーがファイルを友人/知人にのみ配布し、検索ネットワークでファイル情報を公開したくない場合、公開用のフォルダに急流ファイルを置かないだけで十分です。 それ以外の場合、トレントファイルが登録されていなくても、配布は通常どおり機能します。 もちろん、このバージョンでは、ユーザー自身がtorrentファイルを受信者に転送する必要があります。



トレントファイルを検索して受信する



検索を開始するには、検索の種類「トレント」を選択してリクエストを作成します。



vseisk-torrent-search








利用可能なトレントのリストを取得します。



vseisk-torrent-found








ファイルを選択して受信を開始します。 これで、拡張機能は他のユーザーからトレントファイルをダウンロードしようとします。



vseisk-torrent-get








トレントファイルが受信され、再び「トレント」ページに移動すると、ファイルはトレントの一般リストに表示されます。 ここから、それをクリックしてクライアントプログラムで開き、ディストリビューションに接続できます。



vseisk-torrent-open








設定、制限



現在、分散トラッカーを使用するには、Vseisk拡張ポートへの外部アクセスを開く必要があります。 この要件は、組織的なものほど技術的なものではありません。 ユーザーが何かを手に入れたいと思ったら、見返りに何かを与える必要があります。 ポートが開いている場合、ネットワーク内の他のノードは、互いに直接連絡して情報を保存し、検索することができます。 この場合、ネットワークの負荷は本当に均一になります。 一部のノードのみが開いている場合、負荷は明らかに多くなります。



この考慮事項に加えて、技術的な理由があります。 残念ながら、Firefox はまだ UDPソケットをサポートしていないため、単純なNATパステクノロジーは適用できません。 また、より高度なTCPの技術は、Firefoxで利用可能な高レベルのネットワーク機能のレベルでは利用できません。



もちろん、多くのユーザーにとってこの制限は恐ろしいものであり、私自身はこのソリューションが本当に好きだとは言えません。 したがって、私は他の方法を探し続けます。 しかし、今のところ-そう。



[設定]ページで拡張用のネットワークポートを設定できます。 このトピック( )について多くのことが書かれているため、外部アクセス用にマシンのポートを開く方法については詳しく説明しません。このサイトの読者はおそらくこれを行う方法を知っているでしょう。

説明:インターネット上で検索のみを使用する場合、ポートを開く必要はありません。この制限はトラッカー機能にのみ適用されます。



変更、追加



建設的な批判と興味深いアイデアに関する最初の記事の議論の参加者に感謝したい。 すぐにブックマークを作成せずにVseiskにリンクを追加できるようにしました(これはrednaxiからのオファーでした )。現在、ブックマーク編集ページに対応するチェックマークがあります。 彼は、開かれているページの自動分析、および(フロア?)Vseiskネットワークへの興味深いページの自動追加に注目したページ訪問の統計の変更を行い始めました。



おわりに



最初の段階で、Vseiskネットワークはインターネット上のページへのリンクを保存し、関連するキーワードでこれらのリンクを検索できました。 これで、ネットワークは追加機能を習得しました:トレントの公開/検索とBitTorrentネットワークトラッカー。 実際、この場合のVseiskネットワークは、別のp2pネットワークであるBitTorrentのディスパッチサービスとして機能します。



バージョン0.8ベータがリリースされました。 こちらからダウンロードできます。 このプロジェクトに興味があれば、拡張機能を使用してコメント、考慮事項、見つかったエラーを共有しようとする読者に感謝します。



All Articles