WIP
This commit is contained in:
@@ -37,7 +37,11 @@ func (a *App) onAddPeer(p HubPeer) {
|
||||
a.peersByIP[peer.VPNIP] = peer
|
||||
|
||||
if !peer.IsPublic {
|
||||
a.devAddPeer(peer)
|
||||
if a.relay != nil {
|
||||
a.devAddRelayed(peer, a.relay.VPNIP)
|
||||
} else {
|
||||
a.devAddPeer(peer)
|
||||
}
|
||||
if a.forwarder != nil && endpoint.IsValid() {
|
||||
a.forwarder.SetEndpoint(peer.VPNIP.As4()[3], endpoint)
|
||||
}
|
||||
@@ -86,11 +90,21 @@ func (a *App) switchActiveRelay() {
|
||||
}
|
||||
if best == nil {
|
||||
log.Printf("no relay available")
|
||||
return
|
||||
} else {
|
||||
a.devSetRelay(best, best.PreferredEndpoint())
|
||||
a.relay = best
|
||||
}
|
||||
|
||||
a.devSetRelay(best, best.PreferredEndpoint())
|
||||
a.relay = best
|
||||
for _, p := range a.peersByKey {
|
||||
if p.State != StateRelayed {
|
||||
continue
|
||||
}
|
||||
if best != nil {
|
||||
a.devAddRelayed(p, best.VPNIP)
|
||||
} else {
|
||||
a.devAddPeer(p)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func preferredEndpoint(v4, v6 netip.AddrPort) netip.AddrPort {
|
||||
|
||||
Reference in New Issue
Block a user