Config: Remove legacy inbound/outbound/detours (#3769)

https://github.com/XTLS/Xray-core/pull/3769#issuecomment-2334915139
This commit is contained in:
mmmray 2024-09-07 01:43:58 +02:00 committed by GitHub
parent 3971532798
commit 6838a0ae55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 0 additions and 150 deletions

View File

@ -389,22 +389,6 @@ type Config struct {
// and should not be used. // and should not be used.
Port uint16 `json:"port"` 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 // Deprecated: Global transport config is no longer used
// left for returning error // left for returning error
Transport map[string]json.RawMessage `json:"transport"` Transport map[string]json.RawMessage `json:"transport"`
@ -490,21 +474,6 @@ func (c *Config) Override(o *Config, fn string) {
c.BurstObservatory = o.BurstObservatory 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 // update the Inbound in slice if the only one in override config has same tag
if len(o.InboundConfigs) > 0 { if len(o.InboundConfigs) > 0 {
for i := range o.InboundConfigs { for i := range o.InboundConfigs {
@ -647,14 +616,6 @@ func (c *Config) Build() (*core.Config, error) {
var inbounds []InboundDetourConfig 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 { if len(c.InboundConfigs) > 0 {
inbounds = append(inbounds, c.InboundConfigs...) inbounds = append(inbounds, c.InboundConfigs...)
} }
@ -681,14 +642,6 @@ func (c *Config) Build() (*core.Config, error) {
var outbounds []OutboundDetourConfig 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 { if len(c.OutboundConfigs) > 0 {
outbounds = append(outbounds, c.OutboundConfigs...) outbounds = append(outbounds, c.OutboundConfigs...)
} }

View File

@ -17,9 +17,6 @@ import (
"github.com/xtls/xray-core/common/serial" "github.com/xtls/xray-core/common/serial"
core "github.com/xtls/xray-core/core" core "github.com/xtls/xray-core/core"
. "github.com/xtls/xray-core/infra/conf" . "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"
"github.com/xtls/xray-core/proxy/vmess/inbound" "github.com/xtls/xray-core/proxy/vmess/inbound"
"github.com/xtls/xray-core/transport/internet" "github.com/xtls/xray-core/transport/internet"
@ -42,40 +39,11 @@ func TestXrayConfig(t *testing.T) {
runMultiTestCase(t, []TestCase{ runMultiTestCase(t, []TestCase{
{ {
Input: `{ Input: `{
"outbound": {
"protocol": "freedom",
"settings": {}
},
"log": { "log": {
"access": "/var/log/xray/access.log", "access": "/var/log/xray/access.log",
"loglevel": "error", "loglevel": "error",
"error": "/var/log/xray/error.log" "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": [{ "inbounds": [{
"streamSettings": { "streamSettings": {
"network": "ws", "network": "ws",
@ -105,15 +73,6 @@ func TestXrayConfig(t *testing.T) {
] ]
} }
}], }],
"outboundDetour": [
{
"tag": "blocked",
"protocol": "blackhole"
},
{
"protocol": "dns"
}
],
"routing": { "routing": {
"strategy": "rules", "strategy": "rules",
"settings": { "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{ 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{ ReceiverSettings: serial.ToTypedMessage(&proxyman.ReceiverConfig{
PortList: &net.PortList{Range: []*net.PortRange{{ PortList: &net.PortList{Range: []*net.PortRange{{