From b6d2a77f8bcb6a1f45a97f07332a35cfb2dcef0a Mon Sep 17 00:00:00 2001 From: ZGaetano Date: Sun, 10 May 2026 21:14:50 -0400 Subject: [PATCH] config: register CORE_WEBRTC_ICE_SERVERS and copy slice in Clone for issue #23 --- config/config.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/config.go b/config/config.go index d026b4e..a102a72 100644 --- a/config/config.go +++ b/config/config.go @@ -133,6 +133,7 @@ func (d *Config) Clone() *Config { data.SRT.Log.Topics = copy.Slice(d.SRT.Log.Topics) data.WebRTC.NAT1To1IPs = copy.Slice(d.WebRTC.NAT1To1IPs) + data.WebRTC.ICEServers = copy.Slice(d.WebRTC.ICEServers) data.Router.BlockedPrefixes = copy.Slice(d.Router.BlockedPrefixes) data.Router.Routes = copy.StringMap(d.Router.Routes) @@ -235,6 +236,7 @@ func (d *Config) init() { d.vars.Register(value.NewString(&d.WebRTC.PublicIP, ""), "webrtc.public_ip", "CORE_WEBRTC_PUBLIC_IP", nil, "ICE NAT1To1 host candidate IP (LAN or public)", false, false) d.vars.Register(value.NewStringList(&d.WebRTC.NAT1To1IPs, []string{}, " "), "webrtc.nat_1_to_1_ips", "CORE_WEBRTC_NAT_1_TO_1_IPS", nil, "Advanced: multiple NAT1To1 IPs", false, false) d.vars.Register(value.NewInt(&d.WebRTC.UDPMuxPort, 0), "webrtc.udp_mux_port", "CORE_WEBRTC_UDP_MUX_PORT", nil, "Single UDP port for all ICE traffic (0 = ephemeral)", false, false) + d.vars.Register(value.NewStringList(&d.WebRTC.ICEServers, []string{}, ","), "webrtc.ice_servers", "CORE_WEBRTC_ICE_SERVERS", nil, "Comma-separated STUN/TURN URIs overriding built-in defaults (e.g. stun:stun.example.com:3478)", false, false) // FFmpeg d.vars.Register(value.NewExec(&d.FFmpeg.Binary, "ffmpeg", d.fs), "ffmpeg.binary", "CORE_FFMPEG_BINARY", nil, "Path to ffmpeg binary", true, false)