I'm using Dropbox to sync files. There's a big disadvantage that files are stored somewhere unencrypted. I'd like to encrypt and decrypt them on the client, but have no clue how to do it.

Tried Truecrypt, but it seems to be complicated to sync the Truecrypt volume file because of its size. Even a small change in the Truecrypt filesystem can cause big changes in the encrypted volume file.

Is there probably a good open source alternative to Dropbox that can be run on an own server?

migrated from stackoverflow.com Oct 7 '11 at 12:43

This question came from our site for professional and enthusiast programmers.

  • 1
    Use Wuala. Got it's own Java client, so it's multi-platform (even available for phones). It uses 128-bit AES encryption, but they will change this soon to 256-bit AES. (They are just rolling out the changes.) – Shiki Oct 7 '11 at 12:48
  • Thanks for the tip! I am now testing Wuala and it works very well! Was just wondering if there is a way to make sure that the encryption provides 100% reliable security with this software? It does not seem to be 100% open source... – andrei Oct 8 '11 at 6:53
  • Well, back then we had a "Trading feature". Where you could store other people's file, in pieces. Like I get piece{1,2,3}, from people A, and piece{4,5,6} from people B. The pieces were 128-BIT AES encrypted. So it's 99% sure that they don't lie about it. Also, they don't have an insecure web login. If you look around, you may find a lot of information about disassembly, etc. People already checked it I think, many times. – Shiki Oct 8 '11 at 9:05
  • (There are tools to check network traffic (the packages), check what an application does, disassembly, etc. Security sites tend to check software like Wuala in order to write some nice article about how they don't care about security. Didn't see such an article ever since about Wuala.) – Shiki Oct 8 '11 at 9:06
  • 1
    I have a Truecrypt container in my Dropbox and I am quite happy with it. I have the feeling that it syncs very quickly when I only made a small change inside. As I understand the encryption the changes are in the container are quite local when you make a small change, somewhat block-based. @Shiki: Wuala did not work as smooth for me as Dropbox does. – towi Oct 26 '11 at 7:52

SparkleShare looks interesting as a self-hosted Dropbox equivalent, though I haven't tried it. You can use encfs to encrypt the files on a Linux server, and it uses Git as its data store.

For transparent encryption of files within Dropbox, BoxCryptor looks quite good on Windows (you didn't mention a platform). It uses the same format and algorithm as encfs, which is available on MacOS X and Linux - here's an example of the Ubuntu setup for use with BoxCryptor. The only downside is that you then can't use the website to view files, nor can you use iPhone/Android clients (though Android might be possible if you set up encfs).

If you really need cross-platform encryption within Dropbox or similar, you could use either:

  • ZIP files with the Winzip AES encryption format (not the PKWare SES format), which is supported by zip and 7-zip on Linux, and almost all ZIP programs generally. Also has many iPhone clients such as iZip.com (not iZip).
  • 7-Zip .7z files - less widely supported but encrypt the filenames in the archive, unlike ZIP files, and iUnarchive on iPhone supports this.

Although TrueCrypt is mentioned a lot for encryption within Dropbox, I don't recommend it if you are using more than one computer (and if you aren't, why use Dropbox?)- you must be careful to unmount the TrueCrypt volume, so that the same volume contents is not mounted on two systems simultaneously, causing corruption. This turns Dropbox into much less of an "unconscious sharing" tool.

I found SpiderOak was quite unreliable when I tried it extensively in 2009 - syncing large number of files from two home PCs never completed, restores didn't work, and it was generally very hard to work out what was going on through its GUI (many undefined terms). Support was not able to solve the problems I reported. Perhaps it's better now, but I would try Wuala first if you want a commercial service.



  • Have a look at SpiderOak - it allows for encrypted at client end
  • Try pgp/gpg or one of the alternatives - encrypt files, not the entire volume

This looks like it might fit the bill nicely: https://github.com/meltingice/RubyDrop

  • Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – soandos Jul 17 '12 at 2:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.