I’m posting this to support before feature request because perhaps there is an undocumented way to find this information. I am trying to determine what relay server I am connected to. In the WebGUI on Windows 0.12.7, I see my device, and in the device information it shows Relays 1/1. How can I see which relays I am connected to?
It also lists Discovery 3/8. Does this mean there’s a list of 8 discovery servers my device is aware of, and that it is connected to 3 of them? How can I determine which discovery servers I am connected to?
Is is partly for curiosity, but mostly because I don’t understand why I would be using any relay server. The WebGUI states Relays 1/1, which leads me to believe one is being used, but I don’t think I should need to use one. I would think that the best throughput is achieved by not using a relay. I have 22000 exposed through my firewall. So, does syncthing connect to a relay server even when one isn’t needed?
If client A does not need a relay (22000 exposed) and client B does need a relay, will a connection only be established if both clients are connected to a relay?
Furthermore, if I were to create my own relay server, I would want to know how to point clients at it, and how to monitor that it was working or was being used. Right now, not sure how to track that down. I know the trend for user interface design is to be minimalist, but it’s nice to know where you can go to find a log or monitor the technical details of how connections are being brokered. I want to make sure I have a solid understanding of how the thing works, and it’s hard to validate without seeing the details.
Can you be more specific about where this would be seen? The hover does seem to show some information about discovery servers, but I’m having trouble keeping that information visible long enough to read it.
Yes. Relays are designed to establish connections without port openings, so both clients need to connect to the relay server so the relay server can forward the data.
This should not be true - even if only one of the clients is directly accessible this means that a direct connection is possible and should be used. A directly visible client should not use a relay when the actual data is sent - probably only when establishing a connection and then it should ask the other client to connect to itself in order to do the data transfer directly.