How Syncthing communicates with my server when I'm in a public network?

I have installed Syncthing on my NAS at home. Then I have two other Syncthing instances installed, one my laptop and the other on my phone. Both connected to the Syncthing on the NAS and not to each other.

I’m in library right now working on my laptop connected to their public network, making changes to some files which are located in a folder shared through Syncthing. When I open the same file on my phone, I see the latest changes there as well. This is great. I mean this is the whole idea of Syncthing but my cell phone is not even connected to the same network as my laptop (my cell phone is on carrier data). Not that it made any changes but still.

Can someone please help me understand how the Syncthing on my laptop and also the one on my cellphone can communicate with my NAS when I have not opened any ports on my router? I mean the Syncthing instances don’t even know the public IP of my home’s router. But still somehow they manage to keep my data in sync.

TBH, I’ve become a little concerned about the security when I saw this strange behaviour (super power)!

See…

1 Like

See previous post and: In a Nutshell, Syncthing uses the Global Discovery and Relay servers to do the job.

All your files remain encrypted through the whole process.

You can of course set up your own private tunnel, or create your own personal Relay/Discovery servers on your NAS. I routinely access my home based syncthing servers via private tunnel. My phone can ping my server from anywhere.