gtk-gnutella

gtk-gnutella
開発者ラファエル・マンフレディ、リチャード・エッカート
初回リリース2000年4月16日
安定版リリース
1.2.3 [ 1 ] [ 2 ] ウィキデータで編集する / 2024年3月3日
プレビューリリースGit [±]
リポジトリ
言語C ( GTK+ )
オペレーティングシステムクロスプラットフォーム
利用可能de el es fr hu it ja nb nl uk +
タイプピアツーピアファイル共有
ライセンスGNU一般公衆利用許諾書
ウェブサイトhttps://gtk-gnutella.sourceforge.io/

gtk-gnutellaは、 gnutellaネットワーク上で動作するピアツーピアのファイル共有アプリケーションです。gtk-gnutellaは、グラフィカルユーザーインターフェースGTK+ツールキットを使用しています。GNU一般公衆利用許諾書に基づいてリリースされているgtk-gnutellaは、 フリーソフトウェアです

歴史

当初、gtk-gnutellaはオリジナルのNullsoft Gnutellaクライアントに似せて書かれました。オリジナルの作者であるYann Grosselは2001年初頭にクライアントの開発を中止しました。しばらくしてRaphael Manfrediがメインソフトウェアアーキテクトに就任し、それ以来クライアントは活発に開発され続けています。2002年7月以降にリリースされたバージョンは、オリジナルのNullsoftクライアントとは似ていません。[ 3 ]

機能

gtk-gnutellaはC言語でプログラムされており、効率性と移植性を重視しています。ミニマルなものではなく、gnutellaネットワークの最新機能のほとんどをそのまま取り入れています。そのため、主要なgnutellaクライアントよりも必要なリソース(CPURAMなど)が少なくて済みます。GTK +をまったく 必要としないヘッドレスgnutellaクライアントとしても使用できます

gtk-gnutella には、スパムやその他の無関係な結果を削減できるフィルタリングエンジンが搭載されています。gtk-gnutella は、最新の gnutella クライアントの幅広い機能をサポートしています。gtk-gnutella は、IPv6TLSを使用した暗号化に対応した最初の gnutella クライアントです。マグネットリンクの処理とエクスポートが可能です。強力な国際化機能を備えており、英語、ドイツ語、ギリシャ語、フランス語、ハンガリー語、スペイン語、日本語、ノルウェー語、オランダ語、中国語をサポートしています。また、gtk-gnutella は、スパムやその他の敵対的なピアアクティビティ を防止する機能も備えています。

いくつかのソフトウェア ディストリビューションはコンパイル済みのパッケージを提供していますが、多くのディストリビューションが古い安定リリースをバージョンフリーズしているため、それらは通常古くなっています。ピアおよび敵対的な IP アドレス リストが急速に変更されるため、 gnutella ネットワークは入手可能な最新バージョンを実行することで恩恵を受け、最新の SVN スナップショットを構築することが最善のオプションです。多くの Linux ディストリビューション用のコンパイル済みパッケージもオンラインで入手できます。セキュリティが心配な人は独自にコンパイルすることもできます。 gtk-gnutella のソースは、ビルドおよび構成システムとしてAutoconfではなくdist を使用します。ほとんどのユーザーは、後者によって生成された configure スクリプトのみに精通しています。初心者にとってのもう 1 つの危険は、 gtk-gnutella が完全なネットワーク接続を行えるようにNATデバイスを構成することです。 gtk-gnutella は、他の gnutella クライアントと同様に、ファイアウォールルーターの背後でも使用できますが、着信TCP接続またはUDPパケットを受信できない場合は機能がいくらか制限されます。初心者のためにこの問題を軽減するために、 gtk-gnutalla はUPnPおよびNAT-PMPクライアント プロトコルを実装しています。

gtk-gnutellaは、より大きなファイル(動画、プログラム、ディスクイメージ)をダウンロードするための機能をサポートしています。バージョン0.96.4はTigerツリーハッシュの提供をサポートし、バージョン0.96.5以降はアップロードとダウンロードでTigerツリーハッシュをサポートします。Tigerツリーハッシュとその他のgtk-gnutellaの機能により、ファイル転送はBitTorrentと同じくらい効率的になります。具体的には、gtk-gnutellaは部分的なファイル共有、[ 4 ] 、リモートキューイング[ 5 ] 、 4GiBを超えるファイルをサポートしています。[ 6 ]バージョン0.96.4より前は、オーバーラップチェックが不良データを防ぐ唯一のメカニズムでした。オーバーラップチェックは、 Tigerツリーハッシュのように悪意のある破損を防ぎません。

バージョン0.96.6ではKademlia DHTの予備サポートが導入され、バージョン0.96.7で完了しました。[ 7 ] DHTは、既知のファイルの代替ソースを検索したり、プッシュプロキシを検索したりする際に、 SHA-1による検索を置き換えます。バージョン0.96.7では、DHTがデフォルトで有効になっています。DHTはLimeWireによって最初に開発され、 [ 8 ] Mojito DHTと名付けられました。

バージョン0.96.9では、 UPnPNAT-PMPの完全なネイティブサポートが導入されました。これにより、ファイアウォールで手動でポート転送を行う必要がなくなり、対応ルーターの背後での使用が大幅に容易になりました。このバージョンでは、コードはMicrosoft Windowsにも移植されましたが、Windows版は広範囲にわたるテストが不足しているため、まだベータ版とみなされています。

バージョン0.96.9では、統計特性に基づいたアルゴリズムを使用した、シビル攻撃に対する重要なDHT保護も導入されました。[ 9 ]

バージョン0.97はメジャーリリースであり、HTTPパイプライン、"What's New?"クエリ、MIMEタイプクエリフィルタリング、GUESSサポート(Gnutella UDP Extension for Scalable Searches)、部分ファイルクエリといったクライアント側サポートが導入されました。多くのGnutellaベンダーが既にサーバー側GUESSをサポートしていましたが、gtk-gnutellaはクライアント側もサポートし、プロトコルの元々の仕様を拡張することで、真に実用的なものにしました。

バージョン0.98.2では、主にUbuntu 11.10オペレーティングシステムにおけるmallocメモリ割り当てとマルチスレッドの問題を修正するマイナーパッチが採用されています。この2011年のgtk-gnutellaバージョンは、デニス・リッチー(1941–2011)の追悼にも捧げられています。

バージョン0.98.4ではRUDP(信頼性の高いUDP)が追加され、部分的なファイル転送が改善されました。[ 10 ]

バージョン1.1はG2サポートを追加したメジャーリリースです。gtk-gnutellaはリーフモードでG2ネットワークに接続できるようになりました。これにより、G2ノードからの検索が可能になり、ローカルクエリもG2ネットワークに伝播されます。G2ホストとのファイル交換は完全に相互運用可能であり、制限なく許可されます。

人気

gtk-gnutellaは、GnutellaNetクロールで最も人気のあるクライアントの1つではありません。gtk-gnutella開発者の提案は、多くのgnutellaクライアントに組み込まれています

2011年、gtk-gnutellaベンダー拡張機能は、LimewireとBearshareに次いで、GDF(Gnutella開発者フォーラム)で3番目に多く利用されています。[ 11 ] [ 12 ]

Salonは2002年にgtk-gnutellaを最も人気のある5つのgnutellaアプリケーションの1つとして挙げました。[ 13 ] 同じリストにある XoloXToadnodeは現在は積極的に開発されていません。

注記

参考文献