diff --git a/app/proxyman/inbound/worker.go b/app/proxyman/inbound/worker.go index b91c9ec6..5bf12d88 100644 --- a/app/proxyman/inbound/worker.go +++ b/app/proxyman/inbound/worker.go @@ -273,8 +273,7 @@ type udpWorker struct { checker *task.Periodic activeConn map[connID]*udpConn - ctx context.Context - cone bool + ctx context.Context } func (w *udpWorker) getConnection(id connID) (*udpConn, bool) { @@ -316,9 +315,6 @@ func (w *udpWorker) callback(b *buf.Buffer, source net.Destination, originalDest src: source, } if originalDest.IsValid() { - if !w.cone { - id.dest = originalDest - } b.UDP = &originalDest } conn, existing := w.getConnection(id) @@ -418,8 +414,6 @@ func (w *udpWorker) Start() error { return err } - w.cone = w.ctx.Value("cone").(bool) - w.checker = &task.Periodic{ Interval: time.Minute, Execute: w.clean, diff --git a/common/platform/platform.go b/common/platform/platform.go index b60b8bd2..49e9d019 100644 --- a/common/platform/platform.go +++ b/common/platform/platform.go @@ -16,7 +16,6 @@ const ( UseReadV = "xray.buf.readv" UseFreedomSplice = "xray.buf.splice" UseVmessPadding = "xray.vmess.padding" - UseCone = "xray.cone.disabled" UseStrictJSON = "xray.json.strict" BufferSize = "xray.ray.buffer.size" diff --git a/common/xudp/xudp.go b/common/xudp/xudp.go index afaa602d..46242a81 100644 --- a/common/xudp/xudp.go +++ b/common/xudp/xudp.go @@ -49,9 +49,6 @@ func init() { } func GetGlobalID(ctx context.Context) (globalID [8]byte) { - if cone := ctx.Value("cone"); cone == nil || !cone.(bool) { // cone is nil only in some unit tests - return - } if inbound := session.InboundFromContext(ctx); inbound != nil && inbound.Source.Network == net.Network_UDP && (inbound.Name == "dokodemo-door" || inbound.Name == "socks" || inbound.Name == "shadowsocks" || inbound.Name == "tun") { h := blake3.New(8, BaseKey) diff --git a/core/xray.go b/core/xray.go index 58135c96..b60348d4 100644 --- a/core/xray.go +++ b/core/xray.go @@ -7,7 +7,6 @@ import ( "github.com/xtls/xray-core/common" "github.com/xtls/xray-core/common/errors" - "github.com/xtls/xray-core/common/platform" "github.com/xtls/xray-core/common/serial" "github.com/xtls/xray-core/features" "github.com/xtls/xray-core/features/dns" @@ -187,9 +186,6 @@ func NewWithContext(ctx context.Context, config *Config) (*Instance, error) { } func initInstanceWithConfig(config *Config, server *Instance) (bool, error) { - server.ctx = context.WithValue(server.ctx, "cone", - platform.NewEnvFlag(platform.UseCone).GetValue(func() string { return "" }) != "true") - for _, appSettings := range config.App { settings, err := appSettings.GetInstance() if err != nil { diff --git a/proxy/shadowsocks/server.go b/proxy/shadowsocks/server.go index 360ea38c..dbd6b28a 100644 --- a/proxy/shadowsocks/server.go +++ b/proxy/shadowsocks/server.go @@ -25,7 +25,6 @@ type Server struct { config *ServerConfig validator *Validator policyManager policy.Manager - cone bool } // NewServer create a new Shadowsocks server. @@ -47,7 +46,6 @@ func NewServer(ctx context.Context, config *ServerConfig) (*Server, error) { config: config, validator: validator, policyManager: v.GetFeature(policy.ManagerType()).(policy.Manager), - cone: ctx.Value("cone").(bool), } return s, nil @@ -185,7 +183,7 @@ func (s *Server) handleUDPPayload(ctx context.Context, conn stat.Connection, dis data.UDP = &destination - if !s.cone || dest == nil { + if dest == nil { dest = &destination } diff --git a/proxy/socks/server.go b/proxy/socks/server.go index 478410f3..f729631f 100644 --- a/proxy/socks/server.go +++ b/proxy/socks/server.go @@ -28,7 +28,6 @@ import ( type Server struct { config *ServerConfig policyManager policy.Manager - cone bool udpFilter *UDPFilter httpServer *http.Server } @@ -39,7 +38,6 @@ func NewServer(ctx context.Context, config *ServerConfig) (*Server, error) { s := &Server{ config: config, policyManager: v.GetFeature(policy.ManagerType()).(policy.Manager), - cone: ctx.Value("cone").(bool), } httpConfig := &http.ServerConfig{ UserLevel: config.UserLevel, @@ -263,7 +261,7 @@ func (s *Server) handleUDPPayload(ctx context.Context, conn stat.Connection, dis payload.UDP = &destination - if !s.cone || dest == nil { + if dest == nil { dest = &destination } diff --git a/proxy/trojan/server.go b/proxy/trojan/server.go index d66219c4..b38017e2 100644 --- a/proxy/trojan/server.go +++ b/proxy/trojan/server.go @@ -38,7 +38,6 @@ type Server struct { policyManager policy.Manager validator *Validator fallbacks map[string]map[string]map[string]*Fallback // or nil - cone bool } // NewServer creates a new trojan inbound handler. @@ -59,7 +58,6 @@ func NewServer(ctx context.Context, config *ServerConfig) (*Server, error) { server := &Server{ policyManager: v.GetFeature(policy.ManagerType()).(policy.Manager), validator: validator, - cone: ctx.Value("cone").(bool), } if config.Fallbacks != nil { @@ -302,7 +300,7 @@ func (s *Server) handleUDPPayload(ctx context.Context, sessionPolicy policy.Sess } errors.LogInfo(ctx, "tunnelling request to ", destination) - if !s.cone || dest == nil { + if dest == nil { dest = &destination } diff --git a/proxy/vless/outbound/outbound.go b/proxy/vless/outbound/outbound.go index ac087c63..69ce2423 100644 --- a/proxy/vless/outbound/outbound.go +++ b/proxy/vless/outbound/outbound.go @@ -52,7 +52,6 @@ func init() { type Handler struct { server *protocol.ServerSpec policyManager policy.Manager - cone bool encryption *encryption.ClientInstance reverse *Reverse @@ -80,7 +79,6 @@ func New(ctx context.Context, config *Config) (*Handler, error) { handler := &Handler{ server: server, policyManager: v.GetFeature(policy.ManagerType()).(policy.Manager), - cone: ctx.Value("cone").(bool), } a := handler.server.User.Account.(*vless.MemoryAccount) @@ -312,7 +310,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte clientReader := link.Reader // .(*pipe.Reader) clientWriter := link.Writer // .(*pipe.Writer) trafficState := proxy.NewTrafficState(account.ID.Bytes()) - if request.Command == protocol.RequestCommandUDP && (requestAddons.Flow == vless.XRV || (h.cone && request.Port != 53 && request.Port != 443)) { + if request.Command == protocol.RequestCommandUDP && (requestAddons.Flow == vless.XRV || (request.Port != 53 && request.Port != 443)) { request.Command = protocol.RequestCommandMux request.Address = net.DomainAddress("v1.mux.cool") request.Port = net.Port(666) diff --git a/proxy/vmess/outbound/outbound.go b/proxy/vmess/outbound/outbound.go index 4850e728..e04e93c1 100644 --- a/proxy/vmess/outbound/outbound.go +++ b/proxy/vmess/outbound/outbound.go @@ -31,7 +31,6 @@ import ( type Handler struct { server *protocol.ServerSpec policyManager policy.Manager - cone bool } // New creates a new VMess outbound handler. @@ -48,7 +47,6 @@ func New(ctx context.Context, config *Config) (*Handler, error) { handler := &Handler{ server: server, policyManager: v.GetFeature(policy.ManagerType()).(policy.Manager), - cone: ctx.Value("cone").(bool), } return handler, nil @@ -148,7 +146,7 @@ func (h *Handler) Process(ctx context.Context, link *transport.Link, dialer inte } }, sessionPolicy.Timeouts.ConnectionIdle) - if request.Command == protocol.RequestCommandUDP && h.cone && request.Port != 53 && request.Port != 443 { + if request.Command == protocol.RequestCommandUDP && request.Port != 53 && request.Port != 443 { request.Command = protocol.RequestCommandMux request.Address = net.DomainAddress("v1.mux.cool") request.Port = net.Port(666)