From 6838a0ae55515f79080c19e2ee1752cc88fa365c Mon Sep 17 00:00:00 2001 From: mmmray <142015632+mmmray@users.noreply.github.com> Date: Sat, 7 Sep 2024 01:43:58 +0200 Subject: [PATCH] Config: Remove legacy `inbound/outbound/detours` (#3769) https://github.com/XTLS/Xray-core/pull/3769#issuecomment-2334915139 --- infra/conf/xray.go | 47 ------------------ infra/conf/xray_test.go | 103 ---------------------------------------- 2 files changed, 150 deletions(-) diff --git a/infra/conf/xray.go b/infra/conf/xray.go index e0f838c8..cce7c3bf 100644 --- a/infra/conf/xray.go +++ b/infra/conf/xray.go @@ -389,22 +389,6 @@ type Config struct { // and should not be used. Port uint16 `json:"port"` - // Deprecated: InboundConfig exists for historical compatibility - // and should not be used. - InboundConfig *InboundDetourConfig `json:"inbound"` - - // Deprecated: OutboundConfig exists for historical compatibility - // and should not be used. - OutboundConfig *OutboundDetourConfig `json:"outbound"` - - // Deprecated: InboundDetours exists for historical compatibility - // and should not be used. - InboundDetours []InboundDetourConfig `json:"inboundDetour"` - - // Deprecated: OutboundDetours exists for historical compatibility - // and should not be used. - OutboundDetours []OutboundDetourConfig `json:"outboundDetour"` - // Deprecated: Global transport config is no longer used // left for returning error Transport map[string]json.RawMessage `json:"transport"` @@ -490,21 +474,6 @@ func (c *Config) Override(o *Config, fn string) { c.BurstObservatory = o.BurstObservatory } - // deprecated attrs... keep them for now - if o.InboundConfig != nil { - c.InboundConfig = o.InboundConfig - } - if o.OutboundConfig != nil { - c.OutboundConfig = o.OutboundConfig - } - if o.InboundDetours != nil { - c.InboundDetours = o.InboundDetours - } - if o.OutboundDetours != nil { - c.OutboundDetours = o.OutboundDetours - } - // deprecated attrs - // update the Inbound in slice if the only one in override config has same tag if len(o.InboundConfigs) > 0 { for i := range o.InboundConfigs { @@ -647,14 +616,6 @@ func (c *Config) Build() (*core.Config, error) { var inbounds []InboundDetourConfig - if c.InboundConfig != nil { - inbounds = append(inbounds, *c.InboundConfig) - } - - if len(c.InboundDetours) > 0 { - inbounds = append(inbounds, c.InboundDetours...) - } - if len(c.InboundConfigs) > 0 { inbounds = append(inbounds, c.InboundConfigs...) } @@ -681,14 +642,6 @@ func (c *Config) Build() (*core.Config, error) { var outbounds []OutboundDetourConfig - if c.OutboundConfig != nil { - outbounds = append(outbounds, *c.OutboundConfig) - } - - if len(c.OutboundDetours) > 0 { - outbounds = append(outbounds, c.OutboundDetours...) - } - if len(c.OutboundConfigs) > 0 { outbounds = append(outbounds, c.OutboundConfigs...) } diff --git a/infra/conf/xray_test.go b/infra/conf/xray_test.go index 0e0b28f4..7d3e2c4c 100644 --- a/infra/conf/xray_test.go +++ b/infra/conf/xray_test.go @@ -17,9 +17,6 @@ import ( "github.com/xtls/xray-core/common/serial" core "github.com/xtls/xray-core/core" . "github.com/xtls/xray-core/infra/conf" - "github.com/xtls/xray-core/proxy/blackhole" - dns_proxy "github.com/xtls/xray-core/proxy/dns" - "github.com/xtls/xray-core/proxy/freedom" "github.com/xtls/xray-core/proxy/vmess" "github.com/xtls/xray-core/proxy/vmess/inbound" "github.com/xtls/xray-core/transport/internet" @@ -42,40 +39,11 @@ func TestXrayConfig(t *testing.T) { runMultiTestCase(t, []TestCase{ { Input: `{ - "outbound": { - "protocol": "freedom", - "settings": {} - }, "log": { "access": "/var/log/xray/access.log", "loglevel": "error", "error": "/var/log/xray/error.log" }, - "inbound": { - "streamSettings": { - "network": "ws", - "wsSettings": { - "headers": { - "host": "example.domain" - }, - "path": "" - }, - "tlsSettings": { - "alpn": "h2" - }, - "security": "tls" - }, - "protocol": "vmess", - "port": 443, - "settings": { - "clients": [ - { - "security": "aes-128-gcm", - "id": "0cdf8a45-303d-4fed-9780-29aa7f54175e" - } - ] - } - }, "inbounds": [{ "streamSettings": { "network": "ws", @@ -105,15 +73,6 @@ func TestXrayConfig(t *testing.T) { ] } }], - "outboundDetour": [ - { - "tag": "blocked", - "protocol": "blackhole" - }, - { - "protocol": "dns" - } - ], "routing": { "strategy": "rules", "settings": { @@ -163,69 +122,7 @@ func TestXrayConfig(t *testing.T) { }, }), }, - Outbound: []*core.OutboundHandlerConfig{ - { - SenderSettings: serial.ToTypedMessage(&proxyman.SenderConfig{ - }), - ProxySettings: serial.ToTypedMessage(&freedom.Config{ - DomainStrategy: freedom.Config_AS_IS, - UserLevel: 0, - }), - }, - { - Tag: "blocked", - SenderSettings: serial.ToTypedMessage(&proxyman.SenderConfig{ - }), - ProxySettings: serial.ToTypedMessage(&blackhole.Config{}), - }, - { - SenderSettings: serial.ToTypedMessage(&proxyman.SenderConfig{ - }), - ProxySettings: serial.ToTypedMessage(&dns_proxy.Config{ - Server: &net.Endpoint{}, - Non_IPQuery: "drop", - }), - }, - }, Inbound: []*core.InboundHandlerConfig{ - { - ReceiverSettings: serial.ToTypedMessage(&proxyman.ReceiverConfig{ - PortList: &net.PortList{Range: []*net.PortRange{net.SinglePortRange(443)}}, - StreamSettings: &internet.StreamConfig{ - ProtocolName: "websocket", - TransportSettings: []*internet.TransportConfig{ - { - ProtocolName: "websocket", - Settings: serial.ToTypedMessage(&websocket.Config{ - Host: "example.domain", - Header: map[string]string{ - "host": "example.domain", - }, - }), - }, - }, - SecurityType: "xray.transport.internet.tls.Config", - SecuritySettings: []*serial.TypedMessage{ - serial.ToTypedMessage(&tls.Config{ - NextProtocol: []string{"h2"}, - }), - }, - }, - }), - ProxySettings: serial.ToTypedMessage(&inbound.Config{ - User: []*protocol.User{ - { - Level: 0, - Account: serial.ToTypedMessage(&vmess.Account{ - Id: "0cdf8a45-303d-4fed-9780-29aa7f54175e", - SecuritySettings: &protocol.SecurityConfig{ - Type: protocol.SecurityType_AES128_GCM, - }, - }), - }, - }, - }), - }, { ReceiverSettings: serial.ToTypedMessage(&proxyman.ReceiverConfig{ PortList: &net.PortList{Range: []*net.PortRange{{