Eye-Fi用のアップローダブリッジ - Doumeki (百目鬼) - を作りました

Eye-Fi用のアップローダブリッジを作りました。名前は Doumeki (百目鬼) といいます。

Doumeki を使うと、Eye-Fi からアップロードされた写真を複数のフォトストレージにアップロードすることができます。

図にするとこんな感じです。


動機

いまのところ、 Eye-Fi 単体でできることはこうなんですが:

  • リモートのフォトストレージへのアップロード (ただし一か所だけ)
  • Eye-Fi Managerが動いているパソコンへのアップロード
  • Wi-FiのAd-Hoc接続した相手のパソコンへのアップロード (今のところ日本未発売のProのみ)

自分の場合、

  • 複数のフォトストレージに同時にアップロードしたい
    • でも、フォトストレージは一か所しか選べない
  • LAN 内のファイルサーバにアップロードしたい
    • でも、ファイルサーバは Linux なので、Eye-Fi Manager 経由のアップロードができない

ということがやりたかったので Doumeki を作りました。

実装

Eye-Fi サーバとのやりとり

Eye-Fi Manager で選べるフォトストレージはFlickr、30days Album、livedoor PICSなどいろいろあるのですが、プリセットのものだけでオレオレフォトストレージは選択できません。しかし、実はプリセットのもののいくつかは自由にエンドポイント URL を指定できるので、これを使えば Eye-Fi からオレオレフォトストレージに画像を転送することができます。

Doumeki は Gallery Remote 2 (GR2) というのを Eye-Fi との転送プロトコルに使っています。

Doumeki では、GR2 のプロトコルのうち、Eye-Fi とのやりとりに最低限必要なものだけを実装しています。

アップロードするストレージ

いまのところ、Doumeki がアップロードするストレージは

の 2 つだけですが、新しいフォトストレージを追加するのは比較的簡単にできます。

ケルトンファイル(Doumeki::Store::Skeleton)を同梱しているので、適切な名前でコピーして、Doumeki が提供している hok ポイント (login、add_item、new_album) を実装すれば OK です。

hook は全部実装する必要はありません。たとえば、Doumeki::Store::Local は認証などは必要ないので、画像ファイルの保存をする add_item だけを実装しています。

おいおい対応フォトストレージは増やしていきたいなぁとは思っていますが、もちろんパッチは大歓迎です!

ありがとうございました!

最後にありがとうございましたのコーナーです。