One often misunderstood aspect is the mechanism of file synchronisation is not simply a file copy. This is the Bittorrent protocol and can sync multiple files at once and/or uploads/downloads different sections of the file to different hosts simultaneously (who themselves also upload/download of course). Another incredibly useful thing that is often overlooked is the .SyncIgnore file (especially when dealing with Windows shares) which is placed in the root of the shared folder and applies to all subfolders as well and can be used to define which files should be ignored by the synchronization process, say thumbs.db or desktop.ini on Windows, for example (which are not sync'ed by default).
The default .SyncIgnore file is :
.DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes Icon? ehthumbs.db desktop.ini Thumbs.dbThis is a big time saver for sync'ing large directory structures.
The net effect is a fantastically efficient mechanism, especially across the LAN.
The main usage is SO simple... on one host, add a folder and generate the public key for that folder, then on the other hosts add a folder and specify the main hosts public key. That's it. There are other options like the ability to set up the folder in read-only mode (or a key that only lasts 24 hours for example).
Another thing to watch out for if you're not getting the LAN performance you expect is to turn off the encryption of LAN traffic, by creating a btsync.conf (on linux) with JSON content of the form :
{ "device_name": "My Sync Device", "listening_port" : 0, "storage_path" : "/home/user/.sync", "check_for_updates" : true, "use_upnp" : true, "download_limit" : 0, "upload_limit" : 0, "webui" : { "listen" : "0.0.0.0:8888", "login" : "admin", "password" : "password" }, "lan_encrypt_data" : false }and then running btsync with the --config option, i.e.
$ ./btsync --config btsync.confOn Windows you can set this parameter within the UI via Preferences -> Advanced and toggling lan_encrypt_data to false. On my system this made at least a 10x increase in LAN performance. See http://labs.bittorrent.com/experiments/sync/get-started.html#config-file for further details.
Sometimes, as well, I did have trouble sync'ing windows and linux clients. I'm not 100% sure why this would be, but one thing that significantly helped (and is probably a really good security idea anyway) is specifying pre-determined hosts, i.e. state that only 192.168.0.5:58639 (or whatever) can sync the folder.