refactor: simplify browser dialer static state and remove sockopt browserDialer parsing

Agent-Logs-Url: https://github.com/XTLS/Xray-core/sessions/4875f50c-9a90-4d34-afbe-2e629296faa0

Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-04-26 18:38:07 +00:00
committed by GitHub
parent 1cc7349529
commit 266ae17654
4 changed files with 62 additions and 54 deletions
-8
View File
@@ -1075,15 +1075,10 @@ type SocketConfig struct {
AddressPortStrategy string `json:"addressPortStrategy"`
HappyEyeballsSettings *HappyEyeballsConfig `json:"happyEyeballs"`
TrustedXForwardedFor []string `json:"trustedXForwardedFor"`
BrowserDialer string `json:"browserDialer"`
}
// Build implements Buildable.
func (c *SocketConfig) Build() (*internet.SocketConfig, error) {
if c.BrowserDialer != "" {
return nil, errors.PrintRemovedFeatureError("sockopt.browserDialer", "root browserDialers + sockopt.dialerProxy")
}
tfo := int32(0) // don't invoke setsockopt() for TFO
if c.TFO != nil {
switch v := c.TFO.(type) {
@@ -1976,9 +1971,6 @@ func (c *StreamConfig) Build() (*internet.StreamConfig, error) {
}
config.ProtocolName = protocol
}
if c.SocketSettings != nil && c.SocketSettings.BrowserDialer != "" {
return nil, errors.PrintRemovedFeatureError("sockopt.browserDialer", "root browserDialers + sockopt.dialerProxy")
}
if c.SocketSettings != nil && c.SocketSettings.DialerProxy != "" {
if _, ok := browser_dialer.GetAddressByTag(c.SocketSettings.DialerProxy); ok {
if config.ProtocolName != "websocket" && config.ProtocolName != "splithttp" {