Sharefestはnode.js/JavaScript製のオープンソース・ソフトウェア(Apache License 2.0)です。

ネットワークを介してファイルを送ろうと思ったらよく使われるのがファイルアップローダー系のサービスです。今回はサーバ上にファイルを保存することなく複数人への同時配信を可能にする、Sharefestを紹介します。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-11 9.52.30_thumb.1370952927.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-11 9.52.30.1370952927.png)
トップページです。まず共有したいファイルをドロップします。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-11 9.52.43_thumb.1370952934.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-11 9.52.43.1370952934.png)
そうするとURLが生成されます。この時点ではファイルはオンラインで送られていませんので、すぐにURLが表示されます。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-11 9.55.44_thumb.1370952941.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-11 9.55.44.1370952941.png)
別なブラウザからアクセスすると、すぐにダウンロードが開始されます。これはWebRTCを使ってリアルタイムに送受信が行われます。

SharefestはWebRTCを使って指定したファイルをP2Pで送信します。その際の共通のセッションとしてサーバを使っています。WebRTCなので、お互いSharefestにアクセスした状態でないと送受信が開始されませんのでご注意ください。

MOONGIFTはこう見る

WebRTCは動画などの配信に向いたプロトコルですが、その使い方としてSharefestは面白いです。WebSocketの場合は同期したやり取りの場合に良いですが、ファイルの送受信であれば多少は遅延が発生しても問題はないので向いているかも知れません。

まだまだサポートしているブラウザが少ないWebRTCですが、それだけに今はまだまだ遊べる要素がたくさんあります。動画チャットなどにこだわらずアイディアを出してみるとあっと驚く使い方が見つかるかも知れませんね。

Sharefest

Peer5/ShareFest · GitHub