DUICUO

iWant: ファイルを共有するための分散型のピアツーピア コマンドライン ツール。

[[261468]]

少し前に、インターネット経由で簡単かつ迅速にファイル共有できる無料ウェブサービス「transfer.sh」と、シンプルなオープンソースのセルフホスト型ファイル共有ソリューション「PSiTransfer」について解説しました。今回は、「iWant」という別のファイル共有ユーティリティについてご紹介します。これは、コマンドラインベースの無料オープンソースの分散型ピアツーピアファイル共有アプリケーションです。

他のファイル共有アプリケーションとどう違うのか、と疑問に思われるかもしれません。iWant の優れた機能をいくつかご紹介します。

  • これはコマンドラインアプリケーションです。つまり、GUIユーティリティをロードするためにメモリを消費する必要はありません。必要なのはターミナルだけです。
  • 分散型です。つまり、データは中央の拠点に保存されません。そのため、中央の拠点に障害が発生しても、データは失われません。
  • iWantではダウンロードを中断することができ、後からいつでも再開できます。最初からダウンロードを始める必要はありません。中断したところから再開されます。
  • 共有ディレクトリ内のファイルに加えられた変更 (削除、追加、修正など) は、すぐにネットワークに反映されます。
  • iWant はシードのように複数のノードからファイルをダウンロードします。いずれかのノードがグループから離脱したり、応答しなくなったりした場合は、別のノードからダウンロードを続行します。
  • クロスプラットフォームなので、GNU/Linux、MS Windows、Mac OS X で使用できます。

iWantをインストールする

iWantはpipパッケージマネージャーを使って簡単にインストールできます。Linuxディストリビューションにpipがインストールされていることを確認してください。インストールされていない場合は、以下のガイドを参照してください。

Pipを使ってPythonパッケージを管理する方法

pip をインストールした後、次の依存関係があることを確認してください。

  • libffi-dev
  • libssl-dev

たとえば、Ubuntu では、次のコマンドを使用してこれらの依存関係をインストールできます。

  1. $ sudo apt-get install libffi - dev libssl - dev

すべての依存関係をインストールした後、次のコマンドを使用して iWant をインストールします。

  1. $ sudo pip install iwant

システムに iWant が導入されたので、これを使用してネットワーク経由でファイルを転送する方法を見てみましょう。

使用法

まず、次のコマンドを使用して iWant サーバーを起動します。

(LCTT翻訳者注:ソフトウェアの名前はiWantですが、コマンド名はiwantoであり、ソフトウェアは少なくとも1年間更新されていません。)

  1. $ iwanto start

iWant を初めて起動すると、共有とダウンロードを行うフォルダの場所を尋ねられますので、両方のフォルダの場所を入力する必要があります。次に、使用するネットワークアダプタを選択してください。

出力例:

  1. Shared / Download folder details looks empty ..
  2. Note : Shared and Download folder cannot be the same
  3. SHARED FOLDER ( absolute path ): /home/ sk / myshare
  4. DOWNLOAD FOLDER ( absolute path ): /home/ sk / mydownloads
  5. Network interface available
  6. 1. lo => 127.0 . 0.1
  7. 2. enp0s3 => 192.168 . 43.2
  8. Enter index of the interface : 2
  9. now scanning / home / sk / myshare
  10. [ Adding ] / home / sk / myshare 0.0
  11. Updating Leader 56f6d5e8 - 654e-11e7 - 93c8 - 08002712f8c1
  12. [ Adding ] / home / sk / myshare 0.0
  13. connecting to 192.168 . 43.2 : 1235 for hashdump

上記のような出力が表示されたら、すぐに iWant を使い始めることができます。

同様に、ネットワーク上のすべてのシステムで iWant サービスを開始し、有効な共有フォルダーとダウンロード フォルダーの場所を指定し、適切なネットワーク インターフェイス カードを選択します。

iWantサービスはCTRL+Cを押して終了するまで、現在のターミナルウィンドウで実行を継続します。iWantを使用するには、新しいタブまたは新しいターミナルウィンドウを開く必要があります。

iWant は非常に使いやすく、以下に示すようにコマンドも非常に少ないです。

  • iwanto start – iWant サービスを開始します。
  • iwanto search <name> – ファイルを検索します。
  • iwanto download <hash> – ファイルをダウンロードします。
  • iwanto share <path> – 共有フォルダーの場所を変更します。
  • iwanto download to <destination> – ダウンロード フォルダーの場所を変更します。
  • iwanto view config – 共有フォルダーとダウンロードフォルダーを表示します。
  • iwanto –version iWant のバージョンを表示します。
  • iwanto -h – ヘルプ情報を表示します。

いくつか例を挙げてみましょう。

ファイルを探す

ファイルを見つけるには、次のコマンドを実行します。

  1. $ iwanto search < filename >

正確な名前を指定する必要はありませんのでご了承ください。

例:

  1. $ iwanto search command

上記のコマンドは、文字列「command」を含むすべてのファイルを検索します。

私の Ubuntu システムの出力:

  1. Filename Size Checksum
  2. ------------------------------------------- ------- --------------------------------
  3. / home / sk / myshare / THE LINUX COMMAND LINE . pdf 3.85757 efded6cc6f34a3d107c67c2300459911

ファイルをダウンロード

ネットワーク上の任意のシステムからファイルをダウンロードできます。ファイルをダウンロードするには、以下に示すように、ファイルのハッシュ(チェックサム)を指定するだけです。共有ハッシュ値を取得するには、 iwanto searchコマンドを使用できます。

  1. $ iwanto download efded6cc6f34a3d107c67c2300459911

ファイルはダウンロード場所 (この場合は/home/sk/mydownloads/に保存されます。

  1. Filename : /home/ sk / mydownloads / THE LINUX COMMAND LINE . pdf
  2. Size : 3.857569 MB

構成を表示

共有フォルダーやダウンロード フォルダーの場所などの構成設定を表示するには、次のコマンドを実行します。

  1. $ iwanto view config

出力例:

  1. Shared folder : /home/ sk / myshare
  2. Download folder : /home/ sk / mydownloads

共有フォルダとダウンロードフォルダの場所を変更する

共有フォルダとダウンロードフォルダを変更できます。

  1. $ iwanto share / home / sk / ostechnix

共有場所が/home/sk/ostechnixに変更されました。

同様に、次のコマンドを使用してダウンロード場所を変更できます。

  1. $ iwanto download to / home / sk / Downloads

変更内容を表示するには、次のコマンドを実行します。

  1. $ iwanto view config

iWantを停止

iWant の使用をやめる場合は、 CTRL+Cを押して終了できます。

動作しない場合は、ファイアウォールまたはルーターがマルチキャストをサポートしていないことが原因である可能性があります。すべてのログは~/.iwant/.iwant.logファイルで確認できます。詳細については、*** が提供しているプロジェクトの GitHub ページをご覧ください。

以上です。このツールがお役に立てれば幸いです。次回はまた興味深いガイドをご紹介します。