I have some wireguard tunnel set up to make a computer reachable from another via another server, no matter where I am. These two computers also share files via syncthing.
I’ve seen in the past that the wireguard interface was used by syncthing when it was up. But it has higher latency and lower bandwidth than a (real) direct connection, so ideally syncthing would still try to establish one outside of wireguard.
I know that syncthing makes a distinction between a relayed and non-relayed connection, and gets rid of the relayed one if possible. Does it make further distinctions, e.g. looking at the number of hops / latency / bandwidth? Or is it stuck with the first (seemingly) direct connection it finds? Is it possible to ensure that connections are used in this order, depending on availability: