;;;;; title: Syncthing: Syncing... tags: software, file-synchronization date: 2014-07-05 22:06 format: md ;;;;; [SyncThing](http://syncthing.net/) is a very interesting distributed file sharing option. It is a lot like (what I understand of) Dropbox and the file sharing capabilities of ownCloud, as well as SparkleShare, SeaFile and others. The biggest difference compared to all of these, though, is that SyncThing is distributed, or peer-to-peer, there is no central server used in the file sharing. Setting it up is a breeze. Install it, run it and you're almost done. Once you have it installed on at least two computers (or know someone else who has installed it), you have to let them know eachother. You do this by exchanging their node ids. SyncThing know two things: Nodes and Repositories. Nodes are the different machines you want to share with and repositories are the different directories you want to share with certain nodes. Exchanging node ids requires an actual exchange. If you're managing both machines yourself it shouldn't be too hard to manage, if you're sharing with someone else you need another channel of communication to get this data across. Once you've exchanged node ids and your firewall is setup properly (it needs to let through a special TCP port for global discovery) your machines will connect. If you're both on a local network it should happen quickly, if you're across a large gap of land it should still happen fairly quickly. After both your machines are connected, or even before, you should setup some repositories and share them with the node you just connected with, otherwise nothing will happen. Again there's some communication involved here, because both sides will have to share a repository with the same name. If either side doesn't share a repository with the other side, it won't sync. After you've communicated which names to use, though, all should go smoothly. It check once every 60 seconds whether or not anything's changed and if it has it'll try and sync with the other machine(s). One downside to this program, at least on Linux, compared to ownCloud, at least using the ownCloud Client, is that there is no notification of newly arrived files. So again you'd have to send the person owning the node you're sharing with a message telling them that something new should be waiting for them. A very nice thing on the other hand, is that everything is encrypted. And because there's no central server involved, only the people you choose to share with (and possibly they choose to share with) will have the files. There is no single server that can get hacked into where all your files can be found. It's also open source, which of course makes it possible for you, or anyone else, to look at, improve, audit or do anything with the code you want to or need to to ensure to yourself that it's not doing anything it shouldn't be doing. I haven't been able to test it thoroughly in the real world. I'm currently just sharing between my desktop PC and my laptop, and I'm sharing with a good friend of mine. So I'm looking forward to seeing more of it.