Synthing Presentation at KWLUG

Sorry if this is a duplicate post - I think I inadvertently deleted my prior post as I cannot find it any more.

Hello

I have been using Syncthing for the past 2 years and will be presenting my ‘set-up’ to the local Linux User Group.

I plan to showcase how to effectively use this helpful community and related documentation created by it’s members.

Please let me know how best to ensure I give due credit to all those involved in creating this great product.

Thank you Sandeep

6 Likes

I can’t speak for the team, but in my opinion by taking the time to present Syncthing you are already doing anyone involved in Syncthing a favor. In general it would be nice to also give short info about the nature of the project (maintained on volunteer basis, community involvement (OSS)) to hopefully convey the notion, that as a user you aren’t just a consumer, you can already view yourself as a contributor (and approach problems/support with that mentality). However in a “Linux User Group” that’s probably already well known :slight_smile:

Again: Thanks for doing this and don’t hesitate to ask questions if you have any.

4 Likes

Thanks - I do plan on giving an overview of the project and the security practices followed to ensure data is secure during transmission - I’ll gather all this information from the website / forums. I’ll post my draft outline by Wednesday - so that others can help ‘clean up’ my comments.

Sorry - that took longer than I thought. Here’s what I’ve got - it’s a 45 minute presentation so I’ve tried to keep it fairly high level. Would really appreciate help with anything that I’ve misstated. I’ve tried to link to the relevant documentation on the Syncthing Site / User Forum. I will be presenting this on Monday evening. KWLUG - Syncthing - Keeping your files safe.odp (202.9 KB)

A couple of factual errors in your presentation that stand out:

  • 128 KiB is the minimal size for blocks, for large files blocks are substantially larger (relevant documentation page here).
  • You mention that relays are used for discovery, and explicitly state that the actual data transfer happens exclusively directly between devices. In reality, if relays are enabled they can be used for file transfers also, in cases where NATs are so intricate that the devices have no way to connect directly. It’s important to mention that such relayed file transfers a) are extremely slow, b) are only used as a last measure, c) still keep your data secure, as relays have no way to decrypt the actual data being transferred, and d) can be avoided completely if you disable relay usage in your setup.

I would also mention Android when listing supported platforms. And to be honest, I would discourage the use of Debian-provided packages, although it’s well worth mentioning Debian does provide them. Syncthing is actively being developed, with noticeable enhancements and optimizations being released on a regular basis, and as much as I love Debian (I do use it myself) it is notoriously slow to adopt new versions (not limited to Syncthing, of course).

Another thing worth keeping in mind as you give such a talk is known issues and limitations of the software. While Syncthing is awesome, stable and does its job notoriously well, it does have its issues (Android filesystem struggles and the dreaded case-only rename kerfuffle immediately come to mind). I’m not saying these need to be on your slides, but keep them in mind and don’t hesitate to mention, for example, in questions-answers part of your talk. It’s good to be honest and open about such things, and may encourage someone to come work on them with us — well, at least that’s what I think.

All in all, you did a great job, and I wish you a good talk on Monday. Thank you for what you’re doing! Outreach is good and every effort is highly appreciated.

4 Likes

Thanks Evgeny. Really appreciate your feedback. Here are my update thoughts:

  1. 128KiB minimal size depending on file size - I’ll add that to my slide
  2. Relays - I do state that on slide 7 however will clarify on slide 6 where it is misleading - thanks for pointing that out.
  3. Android - I’ve added that to the list on slide 3
  4. Debian Stable - I had included the fact that if users wanted they could add the Syncthing Repository thereby keeping current (v 1.3 today vs 1.1 on Deb Stable repo) - slide 4
  5. Known Issues - I’ll include reference to that and tie it in with the ‘Active Development’ concept. I’m personally not familiar with the issues you have mentioned so may not be able to speak to them - mine is a fairly simple set-up.
  6. I have added as pointed out in another ‘User Story’ that Syncthing was preferred by Steve Gibson (I do follow him)

Here’s the latest version KWLUG - Syncthing - Keeping your files safe.odp (203.3 KB)

Thanks again. The KWLUG group is very supportive and normally come up with really interesting questions / suggestions. The talks are recorded (podcast) and I’ll provide a link here once it is published.

Sandeep

1 Like

So here’s the link to the Podcast. The first 45 Minutes (approximately) are my spiel on Syncthing. If anyone manages to sit through it - do let me know if I’ve misstated anything. I can go back to the group with updates next month. Thx again. https://kwlug.org/node/1179

1 Like

I gave it a listen and I have to congratulate you: you really did a great job with your talk, and it must have been a success, or I don’t know a thing about LUG talks.

I can only think of one thing that you’ve let slip through the cracks: when talking about how the relay servers work and how they can help facilitate data transfer if all else fails, you do say that in any case it’s only the changed chunks of a file that are being sent through a relay server, so that should not be seen as a big deal privacy-wise, but what you forgot to mention (or I didn’t pay close enough attention when you did) was the fact that even those chunks that do go through relay servers are encrypted in the way that the relay server (or its admin) have no way of seeing what’s in them. So while a relay server admin can indeed have access to your device ID and public IP address, even they have no way of seeing even the tiniest portion of actual data you are syncing.

One thing I feel is worth explaining, for you seemed to struggle on this topic, is the way Syncthing goes about file ownership (user and group). As you correctly mentioned in your talk, those are not preserved, and the way it works (this is where you seemed to have difficulties) is Syncthing creates every file it needs to create owned by the user the Syncthing app itself is run under. So when you sync files from your main workstation to your laptop, those files get created on the laptop with your user as owner, because that’s the user that runs the app. If I add a file to a folder on my workstation (and the file is owned by me, naturally), and then the file is synced to my wife’s laptop, on her laptop it is owned by her, because her user account on that laptop is the account Syncthing app runs under. If you were to run Syncthing as root on one of your machines (just a thought experiment, not recommended, don’t do this at home), the the files created by Syncthing on that machine would be owned by root.

And finally, I can’t resist commenting on your Syncthing geography. :wink: Yes, the Syncthing Foundation that runs the project is a Swedish entity operating under Swedish laws, but that’s basically because the initial Syncthing author, our tireless and fearless leader Jacob the @calmh is Swedish. Other than that, the project is international to the highest extent. For instance, of the three Maintainers that currently keep the project running, Simon @imsodin is to the best of my knowledge German (or at least lives in Germany), Audrius @AudriusButkevicius doesn’t advertise his whereabouts but has a distinctly Lithuanian nickname, and Jacob is, as already stated, Swedish, so saying “the core team is Swedish” is somewhat of a misstatement (one could argue Jacob is the team behind Syncthing, and I know some would support that point of view :wink: , but…)

All in all: really, nice job, and I think I’m speaking for all the community when I say your time and effort you put into this are valuable and highly appreciated.

3 Likes

Much appreciated Evgeny. The attendees did appreciate the talk :slight_smile:

Thanks for your feedback - here are my 2 cents:

  1. I did mention at the start that all file transmissions were encrypted so I think (hope) I have that covered.
  2. Thanks for explaining the ownership - that really helps me. My guess is the others in the session caught on as that was one of the comments I received after the talk - I’m less technical…
  3. Thanks for the Geography lesson too. I hope I did justice by saying at the end, that there’s a global group of contributors :slight_smile:

Hat’s off to your patience for sitting through the 45 minutes. This is the least I could do to support this initiative.

Regards Sandeep

Though it’s silly, I still feel the need to correct that: I am Swiss :wink: (which for many Americans makes me indistinguishable from Swedish :stuck_out_tongue: )

7 Likes