Everything seems to use the cloud today and whilst I was initially happy worth that, things such as PRISM and the Snowden releases have left me feeling a bit more lost at sea perhaps. I love the cloud, it makes accessing my own files etc a lot easier, but I also want to be in more control of my data. I also don't want to end up paying for drive space if I can help it and I seem to be increasing my file usages fairly considerably. Mind, I don't need to sync my entire picture collection between devices but it would be nice should it be required to do so.
When Dropbox was first announced, I used it for everything. All my documents were uploaded to the server and all my photos etc. I thought it was a great idea - keep my MacBook and iMac in sync and let me access my files anywhere. However, I don't control that date really, Dropbox/Amazon did. This included documents such as scans of bills and other items that could be potentially be used to steal my identity. Mind, most of the arguments are that no one wants to steal my identity to follow me or whatever, but I'm making it slightly easier if they do (and get access to Dropbox).
There are a number of products that would allow me to continue using Dropbox but encrypt my own data - for example Boxcryptor. This encrypts data locally and then uploads it to Dropbox. This works nicely, as I've played with it in the past. However, it really needs a subscription to get the most from it (as the free version works on two devices only). It also doesn't have a Windows phone application, so I cant access my files on there.
A while back, I considered Bittorrent Sync as a syncing option. Well, I started using this and that's what I've ended up with.
Currently, I have a Raspberry Pi that acts as always on server (though this is to be changed to my actual server when I get it back). This has a 32GB USB card and acts as the main node which is always on, regardless. It doesn't really perform any other functions on my local network so it performs pretty well. Write performance doesn't seem to be to bad - I only get about 2MB/s transfer speeds locally with Bittorrent Sync but once the initial sync is done, I don't need to change large files to often and this hasn't yet proved to be an issue.
This has apps for all the main three phone OS's (i.e. it includes one for Windows phone!) and since my review, has had a few updates. You can now create an encrypted copy of your data on a machine outside of your control (a webserver in a datacentre for example) and this encrypted copy will sync with your local copies bit remain encrypted on this remote version so that the files cannot be read. This alone to me makes it a Dropbox killer as this means that the data centre cannot read your files if they wanted to (though, I'm not sure how good the encryption actually is) - the downside to this is that the documentation suggests that small systems (such as a Raspberry Pi and other ARM based devices) might not be able to cope with the extra CPU requirements this incurs. It doesn't say whether this is for the machine that the data is stored on, or as a whole in the network but I assume the locally kept encrypted version only (though I've not tried it).
Overall, this allows me to sync my files (including my photo collection, which includes RAW files) between my machines. It works pretty well, however, I have noticed occasionally it'll keep syncing and it seems to be syncing Mac meta data - except I'm syncing from a Mac to a Linux machine currently. However, it doesn't seem to stop the basic function. At the minute, I can't use the Pi as the main server, as the main server will also be running Crashplan, but it's not built for ARM. Likewise, as Bittorrent Sync means I don't have to change the location of any of my folders to sync, I'll be setting it up so that Bittorrent Sync on the main server points to my academic papers in my Onedrive folder - this is because Onedrive syncs whilst I'm at work and also because I have no problem storing publicly accessible journal papers in the cloud, as that's where I got them from! Linking Onedrive and BTSync means that any changes at home will sync to work, and any changes at work will sync to home - with no intervention (currently I require a manual sync with Syncback Pro).
Dropbox offers remote access to files as well as the syncing, via the web interface. This has proved to be very handy at times, where I've been somewhere other than home and needed to access a file in a hurry. Obviously, if I don't use Dropbox, I wont be able to do this. Using my PC, I would have to keep this on. However, as I'll be using the Pi as an always on node, this sorts this problem out. With some port forwarding, I can access the files stored on the Pi via SFTP (SSH) which allows me to access files as and when required.
However, there are times I want to edit files and then upload again - this can be done using an SFTP client like Filezilla, but I use Expandrive as this pretty much edits the file in place on the server and saves me having to upload and download data. This lets me view the files in place for items such as images and PDF's which I'd need occasionally (PDF's such as scans of documents and the like).
Having SSH open for access also allows me to control the Pi from Putty if needed but also allows me to access the server using Syncback. Syncback lets me backup or sync files between the server and my work machine (where Bittorrent Sync is blocked) but where I'll still require some form of syncing (1Password files for example).
One of the downsides to using my own server for storing my notes files, is that they obviously don't sync by Dropbox and it seems that most of the iOS text editors only use Dropbox to sync. However, I realised I had a solution already on my iPad. I had been using Editorial but like mentioned previously, it only uses Dropbox. However, I forgot that I have the fantastic Textastic on my iPad for when I was editing LaTeX files on the go. This has support for SFTP servers so I can happily connect to my Pi and edit my documents on the go (especially with the 3G iPad).
What can't move?
Unfortunately, there's a couple of issues with syncing everything in my Dropbox folder. These are usually apps that I use on the iPad and iPod that use Dropbox to sync between themselves. The two that I've not been able to drop are Day One and YNAB. I tried these and almost regretted it - I thought I could have a single server with Dropbox installed and then sync between the others using Bittorrent Sync. However, I ended up losing half of the data in my Day One install, which I was thankfully able to get back from Crashplan (due to syncing between two devices using Bittorrent Sync and not Dropbox) and when I thought the same might happen to YNAB, I thought it's not worth it. It does mean that PC's will need to have Dropbox and Bittorrent Sync installed, but that's a small price to pay for not losing data!
Likewise, whilst my iPad and iPod use Dropbox to sync with my 1Password database, this isn't to bad for syncing to a computer via BTSync - items are changed less often and then it seems to deal with changes fairly well (each password is it's own file it seems so it's able to sync well if one password is missing etc) - however, that will remain in Dropbox as well, namely as the iOS apps require the data to be in Dropbox, and I'll manually download that to my work machine via SFTP (and Syncback) as that will give me a chance to review the changes before they're made.
So in general, whilst I'm still using Dropbox, I've reduced my dependency on it by using Bittorrent - admittedly, there's still some pretty personal information stored in Dropbox (my passwords, my financial information and my journal entries!), however, I've taken out all of the data that might be of more interest to hackers etc, such as scans of various letters and other items. Storing these solely on my own servers means that I have some form of control over the information that gets to the cloud.
In fairness, this doesn't deal with information kept on my by others, but that's a whole different kettle of fish…