Friday, December 19, 2008

Freestanding Server

People have asked a few times if there is a freestanding server or some other program to which the Eye-Fi card can upload. No, not really.

Here's how the Eye-Fi card and service work, at least in the way that I have them set up. This differs for the Eye-Fi "Home" card, or if you don't have the "upload to Internet" (or whatever it is really called) enabled.
  1. You take a picture, and dump it on your card
  2. Your card notices the picture gets on the network and looks for your PC. If it can't find your PC, it uploads directly to (an Eye-Fi managed server on the internet)
  3. If it can find your PC running the Eye-Fi Manager, it uploads to your PC and lets the PC upload to Eye-Fi. The PC keeps a copy if you asked it to.
  4. The Eye-Fi server looks at your preferences and uploads pictures to Picasa, Flickr or whatever you want.
"Gallery" which I think is a collection of CGI script to manager photo uploads is an option as a destination to which Eye-Fi can upload. So, you can have Eye-Fi upload to a server that you run, but your pictures pass through their servers on the way. I haven't bothered doing this. When I first went and looked at Gallery, it had some big scary security holes in it that scared me away.

There were a few people working on a server to replace the Eye-Fi Manager. I have not heard about that effort in a while. There are some security mechisms built into the card to keep it from uploading to unauthorized software which make this hard to do. I don't think this is Eye-Fi being nasty or hating Linux or anything. It's a genuine security feature to keep the "bad guys" from tricking your card into sending all its pictures to the evil hackers. I would love to write a open replacement for this part of the Eye-Fi Manager, but I'm not sure how feasible that would be and still ensure that the "bad guys" don't do the same. I'd be more than willing to give it a shot if I had some idea how the card authentication worked.

What I do personally is that I trust Eye-Fi with my pictures. I let them go to Eye-Fi, then get uploaded to Picasa. I paid the $20/year or whatever it was to get 10GB of extra storage at Google. Then, I use the official Picasa API and some perl to download the pictures from Picasa back to my web server where I stick them in my own photo album. The downside to this is that I have to trust Google and Eye-Fi with my pictures along the way. The upside is that when I take a picture, it automatically gets backed up in three different places.


Wesha the Leopard said...

> What I do personally is that I trust Eye-Fi with my pictures.

So you never make pictures of your GF naked, or any copyrighted materials RIAA/MPAA might be after? (pick whichever is the scariest prospect for you).

Dave Hansen said...

Using Eye-Fi, or Picasa, or Flickr, or *ANYTHING* that you don't control exposes you to risk. I mitigate that risk by not doing illegal or seeming illegal things and taking pictures of them nor things I don't want my lovely grandmother to see.

But, the benefits outweigh the risk for me. I just don't care if Eye-Fi (or Google) shares the pictures that I just took of my dog playing in the snow!

AC said...

Could you post the perl scripts you use to download from Picasa?

Wesha the Leopard said...

I mitigate that risk a) by NOT using Picasa, Flickr or whatever and b) firewalling the shit out of my network. So if EyeFi wants to send something out without my prior knowledge, I'll let it be my guest and try :) And that's why I want a freestanding server: it will only be allowed to communicate with it, period. This way or the other, these are MY photos, and I don't want ANYBODY to decide for me whether to make them public or not, even if they're just flowers and butterflies. Call me control freak, but I'd say I simply have a proper capitalistic spirit. :-b

Jeff Tchang said...

Hey Dave. I'm in the process of writing a freestanding server. Check your mail :)

Jeff Tchang said...

For those that are interested, I coded a standalone server. It is here:

Wesha the Leopard said...

Wow, amazing! Thank you Jeff!!!