BTsync, or Bittorrent Sync, and a Linux gui here, is an internet file synchronization app, i.e. a self-hosted Dropbox replacement. Since this weekend I’ve been using it as such which great success. Two computers with the same share key will sync a folder between them, using discovery technology similar to that in Bittorrent to find all your other machines on the internet. Multiple shared folders a default functionality, just generate another key and share with whomever you wish. The speed is very good on the LAN too, and at work I seem to get speeds similar to Dropbox. On one of my workplaces BTsync ssems to be blocked, but with version 1.3 (out since yesterday) connections have a fallback to TCP (from UDP), so perhaps this solves that problem. I’ll be monitoring it’s performance for a while, but I think this will finally allow me (and you!) to replace hosted sync apps (Dropbox, Box, Google Drive, etc) with a self-hosted solution, where you have to trust nobody. Well, BTsync is closed source… I have not seen any indication there is actually is some phoning home going on, but any open sourcing of the code would only reinforce its use case.
Because there is no always-online server, for two devices to sync they must be switched on at the same time. Therefore I’m now using an old laptop in attic as a server, and it works fine. I do however have access to a server at work, and BTsync runs wonderfully there too (static binaries ftw). I don’t want to trust that server though, and it seems there is already some undocumented functionality for that. On the BTsync forums one can read that since november there is support for untrusted nodes: nodes that never decrypt your data, but still contain a copy of it and allow you to sync with as if it’s a normal node. Perfect for me, but I still have to try it out (generating the correct key is a tiny bit of hassle. While waiting for a gui implementation, the clearest instuction I could find is here.