Some noob questions about syncthing

Hi guys, I’m interested in build a small cloud for share folders with my friends and keep sync the data between us, like a dropbox but much more simple, in long time I wish contribute and build something more complicate adapted to our needs…

basically I need a couple of features

  1. sync between pers and server
  2. versioning

I’ve watched a youtube video about syncthing and looks pretty nice but I’m not sure if I like the p2p feature, I wish centralize the data in a server, when an user change some data my server update the folder, creating a version

I’ve found several go projects which can works for me as starting point, camlistore seems good, even use rsync and build something over this was my first option…

so my questions are

  1. would be syncthing a good fit for me or maybe it adds a complexity and unnecessary layer for my needs (which could make me more difficult change and adapt the code later)
  2. syncthing offers incremental updates?..when a user changes a file, the others doesnt need download the whole new one but only the changes
  3. can I use it as a centralized system, similar to dropbox?
  4. syncthing is builded over other open tecnologies? rsync or similar algorithms (protocols) , I’d be interested in known a bit more about the gears and how they works inside syncthing

thank you so much

It sounds like what you want would be covered by running Syncthing on a server (with versioning enabled) and have your two computers talk to that server. That makes it centralized-ish. Yes, the updates are incremental. Syncthing uses a custom protocol, which is documented on the docs site, where there is also some more info about some of the internal stuff.