diff --git a/logic/peers.go b/logic/peers.go index 3bc9590e..044d5d8c 100644 --- a/logic/peers.go +++ b/logic/peers.go @@ -97,6 +97,8 @@ func GetProxyUpdateForHost(ctx context.Context, host *models.Host) (models.Proxy Proxy: peerHost.ProxyEnabled, PublicListenPort: int32(GetPeerListenPort(peerHost)), ProxyListenPort: GetProxyListenPort(peerHost), + ShouldUseTurn: peerHost.ShouldUseTurn, + TurnRelayAddr: peerHost.TurnRelayAddr, } } diff --git a/models/host.go b/models/host.go index 4b2231b6..f2146c4c 100644 --- a/models/host.go +++ b/models/host.go @@ -54,6 +54,8 @@ type Host struct { Interfaces []Iface `json:"interfaces" yaml:"interfaces"` DefaultInterface string `json:"defaultinterface" yaml:"defaultinterface"` EndpointIP net.IP `json:"endpointip" yaml:"endpointip"` + ShouldUseTurn bool `json:"should_use_turn" yaml:"should_use_turn"` + TurnRelayAddr net.PacketConn `json:"turn_relay_addr" yaml:"turn_relay_addr"` ProxyEnabled bool `json:"proxy_enabled" yaml:"proxy_enabled"` ProxyEnabledSet bool `json:"proxy_enabled_updated" yaml:"proxy_enabled_updated"` IsDocker bool `json:"isdocker" yaml:"isdocker"` diff --git a/models/proxy.go b/models/proxy.go index 8d83a3aa..8a441279 100644 --- a/models/proxy.go +++ b/models/proxy.go @@ -35,14 +35,16 @@ type RelayedConf struct { // PeerConf - struct for peer config in the network type PeerConf struct { - Proxy bool `json:"proxy"` - PublicListenPort int32 `json:"public_listen_port"` - ProxyListenPort int `json:"proxy_listen_port"` - IsExtClient bool `json:"is_ext_client"` - Address net.IP `json:"address"` - ExtInternalIp net.IP `json:"ext_internal_ip"` - IsRelayed bool `json:"is_relayed"` - RelayedTo *net.UDPAddr `json:"relayed_to"` + Proxy bool `json:"proxy"` + PublicListenPort int32 `json:"public_listen_port"` + ProxyListenPort int `json:"proxy_listen_port"` + IsExtClient bool `json:"is_ext_client"` + Address net.IP `json:"address"` + ExtInternalIp net.IP `json:"ext_internal_ip"` + IsRelayed bool `json:"is_relayed"` + RelayedTo *net.UDPAddr `json:"relayed_to"` + ShouldUseTurn bool `json:"should_use_turn"` + TurnRelayAddr net.PacketConn `json:"turn_relay_addr"` } // ProxyManagerPayload - struct for proxy manager payload