Preface: I realize the following is asking for tinfoil-hat type security, but I'm really curious for answers to my questions -- not suggestions to enable two-factor logons on gmail, etc. and call it a day. Please humor me.

The basic issue is this: I use multiple computers, and really like the convenience of proprietary cross computer sharing services (gmail for email, chrome sync for passwords and bookmarks, dropbox for files, etc.). However, my recent experience with Syncthing (an open-source file synchronization program) has been very positive, and it has made me wonder if I can somehow sync email, passwords, etc. that are stored only on my own computers rather than in "the cloud".

Is there a good way to avoid "the cloud" and still have everything sync smoothly while allowing for easy-to-use applications?

For example, I use KDE and could share my kwallet file, kmail email folder, etc. using syncthing.

However I'm concerned that this could lead to synchronization conflicts. E.g. having several computers all running an email client simultaneously could step on each others toes. The client on one computer downloads an email which is synced around the same time that the client on another computer downloads the same email. This could create some type of conflict. Or maybe the client on one computer saves the email in a file with a different filename than the email client on the other computer, meaning that all my emails are duplicated.

I'm sure there are other issues.

Do you have any thoughts on how to get around these issues? I realize that I'm asking for a lot, but someone had to ask.

  • My experience is that this kind of replication is managed at the application level, for instance messaging clients keeps a local and remote database, same for note taking application. – Emmanuel Jul 30 '15 at 15:38
  • 1
    Syncthing and pass work great, and if you use IMAP for mail, conflicts won't be an issue... – jasonwryan Jul 30 '15 at 23:31

"The Cloud" (=someone else's computer) services usually work by offering you a common server. Replacing the cloud usually easiest that way: replace their servers with your server.

Email is the most obvious case: use a central imap server, through TLS, possibly on an encrypted partition (tinfoil-proof); clients can use it in parallel without problems. (Technically you could possibly even share maildir++ email folders with syncthing but I strongly advise you against doing it, as it was designed with working locking in mind which isn't provided.)

Same is applicable to many services: account sync are often standards based (like webdav), and replacing the central server is often possible (in open source code anyway).

Syncthing is excellent for replicating data with low possibility of conflict, like passwords safe database or bookmarks, where you are usually at one place at a given time; synchronisation is usually gets done within a minute of the change, pretty fast for normal cases.

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.