SyncThing (by SyncTrayzor) refusing to connect directly nor specific public relay.

Hi guys, I’ve been using SyncThing for a few weeks now (via SyncTrayzor) and it’s my first experience venturing into this. The most I’ve used in the past is dropbox folder sharing, so I am still very vague on many things.

One thing I would like to say is a big thank you to the developers and maintainers who have made this possible. I searched high and low for something like this and SyncThing made it possible. Bravo!

That being said, I am in a bit of a problem. So after using it to connect 2 PC on different networks for so long, I only just noticed that I am always connecting via public relay. I did not realize this problem until now because the speed has been mostly decent since I would probably only update a few hundreds mbs at a time. Only today I discovered my speed is peaking at 12 kbps. When i start googling about it i discovered that i might’ve been connected via relay, and true enough I am. The max speed is 250 kbps for download, not that it’s ever reached.

I tried digging out more and people can have direct connections, but every time i disable relay, I cannot. One device say 0 NAT found. The other one 2 NAT found. I checked the enabling uphp on one of the router, and they are enabled with 2 port forwarding by syncThing. I would like to achieve this if possible since this is the ideal connection, but I am unclear about the NAT, and from what I’ve read it seems that as long as 1 of them port forward and enable uphp, it will work. Not my case.

So I thought I would control where I connect the relay to, preferably the one with unlimited bandwidth. I tried following the instructions with relay://<host id:xxx</?id= but I encountered the error where the relay ID does not match, both syncThing expect a certain device ID, but got another one (identical for both comp).

Basically, I’m stuck at the mercy of randomly assigned relay and today the speed has dropped really low for me to notice. I googled this for a while trying to find a solution but I am not finding any. Can I request help here? Please tell me if I am breaking any rules. Let me know if there’s anything I can provide.

You should setup port forwarding to avoid relays all together, there are plentyof guides on how to do that on the internet, the only request is that the external port (available on the internet) matches the internal port (syncthing is listening on, which is 22000 by default).

Ok, do I have to do that for both PC’s internet?

No, one should be enough.

Is this correct? This is the internal IP that I have for this PC. I tried turning off relay, still not working. Do I have to have static IP? I think it’s dynamic public IP for both PC-A and PC-B. Another extra info that I am not sure if it’s needed. There are two routers for PC-B. I am connected to one of them via Ethernet.

I don’t know what status means, perhaps it’s disabled. The router you are setting up port forwarding should be connected to the internet, not another router.

Hm, I have suspicion it might be connected to another router. I’ll ask further. Is there a solution to it if that’s the case? And thanks a lot for replying thus far.

Well, you can double port forward if you have access to the other router. Otherwise, try the same procedure from the other end where you have a single router.

The port forwarding looks okay. To check whether this is the “router to the outside world”, you should check if your router displays it’s public IP somewhere (a public IP is an IP adress which does NOT start with 192.168.0.X). Look through the interface where you took the screenshot.

This public IP should be equal to the IP address you see on websites like www.whatismyip.com. If the IPs are equal - this the outside router. If not - there’s at least one NAT router in between.

Another typical problem: Check your firewalls. You should make sure that the side with the port forwarding allows incoming TCP connections on port 22000 (even better would be if both sides allow incoming). If in doubt, try disabling firewalls completly for testing. Note that Windows has it’s inbuild firewall which can be restrictive sometimes.

In syncthing itself, you usually do not need to change anything except disabling relays - leave addresses on dynamic and check you’re listening on the default port 22000 (e.g you haven’t messed with the listen addresses).

Thanks guys for helping. I went overseas over the weekend and intending to jump into it again when I am back and it is working now, inexplicably, when I didn’t change anything. It took something like 10 minutes for connection to be made after start up but finally it’s not via relay. I see speed in mbps now! Thanks again!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.