From dc70f480ae34a3f24a2276ede196bcaa9e4da4b2 Mon Sep 17 00:00:00 2001 From: Meo597 <197331664+Meo597@users.noreply.github.com> Date: Mon, 6 Jul 2026 07:18:16 +0800 Subject: [PATCH] reject freedom + sockopt.addressPortStrategy --- infra/conf/xray.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/infra/conf/xray.go b/infra/conf/xray.go index ee870bf19..80a36ffcd 100644 --- a/infra/conf/xray.go +++ b/infra/conf/xray.go @@ -300,6 +300,13 @@ func (c *OutboundDetourConfig) Build() (*core.OutboundHandlerConfig, error) { return nil, errors.New("failed to build outbound handler for protocol ", c.Protocol).Base(err) } + if _, ok := ts.(*freedom.Config); ok && + senderSettings.StreamSettings != nil && + senderSettings.StreamSettings.SocketSettings != nil && + senderSettings.StreamSettings.SocketSettings.AddressPortStrategy != internet.AddressPortStrategy_None { + return nil, errors.New(`freedom outbound does not support "sockopt.addressPortStrategy"`) + } + if fc, ok := ts.(*freedom.Config); ok && fc.DomainStrategy != internet.DomainStrategy_AS_IS { errors.PrintDeprecatedFeatureWarning("freedom.domainStrategy", "sockopt.domainStrategy or targetStrategy") if senderSettings.StreamSettings == nil {