特集
» 2008年08月31日 00時00分 UPDATE

Leverage OSS:Droopyが可能にする巨大ファイルの簡易送信

メールでは送れないような巨大なファイルを安全に送受信したい場合、簡単なセットアップ手順でWebサーバを立ち上げ、クライアント側には指定のディレクトリにファイルを個別アップロードする操作を行ってもらうdroopyは非常に便利だ。

[Federico Kereki,Open Tech Press]
SourceForge.JP Magazine

 誰かがあなたを受取人として巨大なファイルを送信したいという状況を考えてみよう。すぐに思いつくのはメールに添付することだが、多くのメールサーバではファイルサイズに制限が課されている。あるいはインスタントメッセージやIRC(Internet Relay Chat)のセッション中に転送することも考えられるが、この方式ではいったんチャットサーバに送られてから再度手元のマシンに再送信される訳であり、実質2回のファイル転送が行われる分だけ低速化することになる。巨大なファイルを送るだけならRapidShareやMegaUploadなど専用のファイル転送サービスを利用すれば問題ないはずだが、これらのサービスの場合、秘匿性の高い情報を交換する場合は安全性についての懸念が残される。いっそのこと手元のマシンにFTPサーバを構築するという選択肢もあるが、こうしたサーバの場合は外部に向けて常時オープンにしておかなくてはならない。幸いなことに、こうした問題を一気に解決してくれる簡単なソリューションが存在する。それがdroopyというツールだ。

 droopyはこの4月にPythonライセンスの適用下でリリースされたばかりのオープンソース型ツールで、簡単なセットアップ手順でWebサーバを立ち上げ、クライアント側には指定のディレクトリにファイルを個別アップロードする操作を行ってもらうというシステムになっている。アップロードは2つのPC間で直接実行されるため、必要なファイルを受信し終わったらdroopyを停止させておけば、それ以上のアップロードは受け付けなくなる。送信側のユーザーが行う操作は、指定されたURLのWebページにアクセスして、必要な数のファイルをアップロードすることだけである。ファイル送信に特化したシステムとして、これ以上に簡単な方式はないだろう。

インストールと操作の手順

 droopyはPythonスクリプトの1つなので、インストール手順に難しい点はない(当然Python本体が利用可能なことが前提となるが、最近のディストリビューションであればPythonは標準で装備済みか簡単にインストール可能になっている)。まずはdroopyのスクリプトをダウンロードして/usr/binなどの位置に置いておくが、ここでの操作にはroot権限が必要となる。次にdroopyを直接起動できるようにするため、droopyファイルに実行可能権限を与えておく(chmod +x droopy)。またファイアウォールの設定でポート8000を開くようにしておかないと、外部からの接続はできないままとなる。

 droopyの操作法もごく簡単なものだが、配布元のWebサイトに掲載されている説明は最新版のものではないので、その点には注意が必要だ。実行用の構文を確認するには「droopy -h」あるいはdroopy --helpとコマンド入力をすればよく、この操作により次の説明が表示されるようになっている。


usage: ./droopy [-m message] [-p picture] [-d directory] port
example: ./droopy -m "Hi, this is Bob. You can send me a file." -p avatar.png
droopy_thumb.png
Droopy

 ここに表示されているように指定可能なパラメータは3つしか存在しない。このうち-m(あるいは--message)パラメータは、アップロード用ページにアクセスしたユーザーに提示するメッセージの指定に使用する。ここではHTMLコマンドも使用できるが、単なるファイルアップロードの説明にそれほど凝った文字装飾は必要ないだろう。同じく-p(あるいは--picture)パラメータはページ上に表示させる画像ファイルの指定であり、-d(あるいは--directory)パラメータはダウンロード用ディレクトリの指定に使用する。droopyのWebサイトにある説明では、転送されてくるファイルのダウンロード先は常にdroopyの格納ディレクトリとされると書かれているが、実は最後のパラメータ指定によって任意に変更できる。

Droopy Droopy

 使用するIPアドレスとドメインが固定されているユーザーの場合、必要な準備は以上で終了である。後はファイルの送信元となる相手に「http://ドメインのアドレス:8000 にアクセスして指示どおりにアップロードの操作をしてください」と連絡すればいい。そうではなく、自分がどのようなIPアドレスを使用しているか分からないというユーザーの場合は、手元のブラウザでhttp://127.0.0.1:8000にアクセスすると「Discover the address of this page」(このページのアドレスを確認する)というページが表示されるはずだ。後はこれをクリックして表示されるアドレスを、ファイルの送信元となる相手に通知すればいい(そのほかにもifconfigなどのツールを使用する手もあるが、その種の知識に疎いユーザーにとってはこれが最も簡単なソリューションのはずである)。なおダウンロードサイトの指定は、DynDNSを使用する方法なども存在する。

 以上すべての準備が整うと、残された操作は相手先からファイルの送信処理をしてもらうことだけであり、1つ目のファイルの送信が完了すると2つ目以降のファイルを送信するためのリンクが表示されるはずである。なお同じ名前のファイルを繰り返し送信した場合は、上書きを避けるために2回目以降のファイル名中に番号が追加されるようになっており、例えばfoo.barというファイルを3回送信すると、foo.bar、foo-1.bar、foo-2.barというファイルが手元に届くことになる。必要なファイルがすべてダウンロードし終わったら、Ctrl-Cのキー操作によってdroopyを停止させておけばいい。

 droopyというツールは単一機能に限定した作りとなっている分だけインストールも操作も簡単であり、大型ファイルの交換という問題に悩まされているユーザーは、1つの簡易ソリューションとして手元のマシンに用意しておいて損はしないだろう。

woof

 ファイルを受信するのではなく手元のファイルを相手先に送信したいという場合はwoofというツールの使用を検討すればいいだろう。これはdroopyと同様のスクリプトだが、相手先にはダウンロード用のページを提示することになる。


Federico Kerekiはウルグアイ出身のシステムエンジニアで、20年以上に渡るシステム開発、コンサルティング、大学講師の経験を有している。


原文へのリンク

Copyright © 2010 OSDN Corporation, All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -

注目のテーマ