Replacing Dropbox with: Amazon S3 + SSL + GPG/TrueCrypt + Mounting on OSX ?? [closed]

So, right now we're using Dropbox to share various data files around between approximately 10 Mac OS X systems.

However, we already have an S3 account and everyone on the lowest Dropbox plan of $10/month seems too expensive. We'd like to avoid any kind of local storage (share a disk on a desktop or something) since we're a geographically distributed team).

So, I am contemplating something that would allow us to replace Dropbox with our own home-grown solution. We are all fairly technical people and/or smart enough to follow some steps, so if it's not as "user friendly" as Dropbox we're all comfortable with that.

There are plenty of docs out there that have bits and pieces of what I want but some of the tools don't seem to fit the requirements:

  1. Transport security via SSL to the bucket
  2. Encryption of bucket contents
  3. Bi-directional syncing

Most of the scripts I can find on the internet use duplicity which appears to fail #1. It doesn't look like duplicity supports SSL to S3 — the docs don't state but the protocol looks like plain old HTTP.

Many scripts use GPG to encrypt files. This seems like it could work, however I have to make sure that each OS X client is able to use the same key to encrypt and decrypt files (key management is left to me to manage). FTP and other client-based apps don't seem to support this at all.

Finally, most of the scripts use one-way replication, e.g. using Amazon S3 as a simple backup store. As we'd be using Amazon S3 as the "repository" they fail this one.

Whew. So, I'd love a single tool that does this but after an exhaustive search I don't think one exists. In my mind, the magical tool would be some combination of TrueCrypt and rsync.

I'd be happy just knowing which tools out there can fulfill my 3 requirements, after that I can stitch together the rest. Any thoughts?


Solution 1:

Will Fuse Over Amazon do the trick?

Solution 2:

Well, I don't have a magic wand, but you could use rsync as the sync engine.