It is a new semester of school. I’ve been experimenting with different ways to synchronize my school files. This solution needs to be cross platform (OSX, Win & Debian/Ubuntu), it should also not require root so I can grab my files from any workstation. I started years ago with Dropbox. Then moved to Bittorrent Sync when I got an alpha invite to it because I loved how they provide servers to break through firewalls but the sync system is still decentralized, instead of centralized server my data was replicated on many computers when I got home.
A problem with Bittorrent Sync is I lost the ability to go back in time and recover deleted or overwritten files. Also I had been hoping Bittorrent Sync would be open sourced but it never was which caused me to look for a more open source solution. Last semester I used a private Github repository (Github gives students free private repositories) by way of Sparkleshare to sync files. This worked very well but it got me wondering why I was using a “private” repository when I really should we encrypting my data and just using the server as dumb file storage.
This semester I aimed to find a solution that combined all these requirements: cross platform, doesn’t require superuser, open source & pre-internet encryption. My school provides us with 50 gigabytes on Box.com, that would be my preferred way to store data. Box.com has a Mac, Windows and Web client as well as access via FTPS and WebDAV. I decided to use the WebDAV interface to access it via Linux. This has a 50 meg individual file size limit so that might run into in future.
For pre-internet encryption I settled on alpha (beware!) software called Syncany. This software provides the layer of encryption to translate unencrypted files on your computer to encrypted files on the server and keeps them both in sync. It has different modules, on Windows I used the “local” plugin and Box.com sync software to locally decrypt the Box.com sync folder. On linux I use the WebDAV plugin so it can directly connect to Box.com instead of having an encrypted copy locally.