diff --git a/config/config.go b/config/config.go index a988b52..98f1212 100644 --- a/config/config.go +++ b/config/config.go @@ -622,6 +622,7 @@ func BuildConfig(opt ConfigOptions, input option.Options) (*option.Options, erro Type: C.TypeDirect, DirectOptions: option.DirectOutboundOptions{ DialerOptions: option.DialerOptions{ + TCPFastOpen: false, TLSFragment: &option.TLSFragmentOptions{ Enabled: true, Size: opt.TLSTricks.FragmentSize, diff --git a/config/outbound.go b/config/outbound.go index c6166e9..04b42f6 100644 --- a/config/outbound.go +++ b/config/outbound.go @@ -47,7 +47,19 @@ func patchOutboundTLSTricks(base option.Outbound, configOpt ConfigOptions, obj o tls = base.VMessOptions.OutboundTLSOptionsContainer.TLS transport = base.VMessOptions.Transport } + if base.Type == C.TypeXray { + if configOpt.TLSTricks.EnableFragment { + if obj["xray_fragment"] == nil || obj["xray_fragment"].(map[string]any)["packets"] == "" { + obj["xray_fragment"] = map[string]any{ + "packets": "tlshello", + "length": configOpt.TLSTricks.FragmentSize, + "interval": configOpt.TLSTricks.FragmentSleep, + } + } + } + + } if base.Type == C.TypeDirect { return patchOutboundFragment(base, configOpt, obj) } @@ -90,6 +102,7 @@ func patchOutboundTLSTricks(base option.Outbound, configOpt ConfigOptions, obj o func patchOutboundFragment(base option.Outbound, configOpt ConfigOptions, obj outboundMap) outboundMap { if configOpt.TLSTricks.EnableFragment { + obj["tcp_fast_open"] = false obj["tls_fragment"] = option.TLSFragmentOptions{ Enabled: configOpt.TLSTricks.EnableFragment, Size: configOpt.TLSTricks.FragmentSize, diff --git a/go.mod b/go.mod index 133e872..770e353 100644 --- a/go.mod +++ b/go.mod @@ -24,6 +24,7 @@ require ( require ( berty.tech/go-libtor v1.0.385 // indirect github.com/ajg/form v1.5.1 // indirect + github.com/akavel/rsrc v0.10.2 // indirect github.com/andybalholm/brotli v1.1.0 // indirect github.com/caddyserver/certmagic v0.20.0 // indirect github.com/cloudflare/circl v1.3.9 // indirect @@ -118,7 +119,7 @@ require ( lukechampine.com/blake3 v1.3.0 // indirect ) -replace github.com/sagernet/sing-box => github.com/hiddify/hiddify-sing-box v1.8.9-0.20240730113116-288c87c38412 +replace github.com/sagernet/sing-box => github.com/hiddify/hiddify-sing-box v1.8.9-0.20240730122343-cc4e2cf4fb24 replace github.com/xtls/xray-core => github.com/hiddify/xray-core v0.0.0-20240729110224-c3df022f042a diff --git a/go.sum b/go.sum index 81cdbc8..10cdba7 100644 --- a/go.sum +++ b/go.sum @@ -14,6 +14,8 @@ github.com/OmarTariq612/goech v0.0.0-20240405204721-8e2e1dafd3a0 h1:Wo41lDOevRJS github.com/OmarTariq612/goech v0.0.0-20240405204721-8e2e1dafd3a0/go.mod h1:FVGavL/QEBQDcBpr3fAojoK17xX5k9bicBphrOpP7uM= github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= @@ -100,8 +102,8 @@ github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:Fecb github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= -github.com/hiddify/hiddify-sing-box v1.8.9-0.20240730113116-288c87c38412 h1:T8WKw0zuGM+UfhSwsl4ymxPFW5EUShUwH7IcZY60SJU= -github.com/hiddify/hiddify-sing-box v1.8.9-0.20240730113116-288c87c38412/go.mod h1:pofRpPI4a3k/I79KeTVTTD5BeXmnx86TnJM2qQ8+yWg= +github.com/hiddify/hiddify-sing-box v1.8.9-0.20240730122343-cc4e2cf4fb24 h1:Aj6uvJaLWJT1UokMkB3g/juhZ60luFyxQYCdtRQFf78= +github.com/hiddify/hiddify-sing-box v1.8.9-0.20240730122343-cc4e2cf4fb24/go.mod h1:2wBDpGJbCEPXFy8jHkFbD2TAwxxUjKoMLXF2HTzhHfU= github.com/hiddify/ray2sing v0.0.0-20240730095124-9b9d265d61dd h1:m7KGZx/o3HfGKtrGNajaA/Lj/Ri4Wy+R+hWQj5HaZQ8= github.com/hiddify/ray2sing v0.0.0-20240730095124-9b9d265d61dd/go.mod h1:Qp3mFdKsJZ5TwBYLREgWp8n2O6dgmNt3aAoX+xpvnsM= github.com/hiddify/warp-plus v0.0.0-20240717223357-4f3122e0d11d h1:vRGKh9ou+/vQGfVYa8MczhbIVjHxlP52OWwrDWO77RA=