Config: Rename network/address/port in Tunnel inbound and DNS outbound (#6084)

https://github.com/XTLS/Xray-core/pull/6083#issuecomment-4387702965
https://github.com/XTLS/Xray-core/pull/6084#issuecomment-4395333530
This commit is contained in:
Meow
2026-05-07 19:15:11 +08:00
committed by RPRX
parent c42deab55c
commit 1dbafe629a
28 changed files with 347 additions and 326 deletions
+18 -6
View File
@@ -8,27 +8,39 @@ import (
)
type DokodemoConfig struct {
AllowedNetwork *NetworkList `json:"allowedNetwork"`
RewriteAddress *Address `json:"rewriteAddress"`
RewritePort uint16 `json:"rewritePort"`
Network *NetworkList `json:"network"`
Address *Address `json:"address"`
Port uint16 `json:"port"`
PortMap map[string]string `json:"portMap"`
Network *NetworkList `json:"network"`
FollowRedirect bool `json:"followRedirect"`
UserLevel uint32 `json:"userLevel"`
}
func (v *DokodemoConfig) Build() (proto.Message, error) {
config := new(dokodemo.Config)
if v.Address != nil {
config.Address = v.Address.Build()
if v.Network != nil {
v.AllowedNetwork = v.Network
}
config.Port = uint32(v.Port)
if v.Address != nil {
v.RewriteAddress = v.Address
}
if v.Port != 0 {
v.RewritePort = v.Port
}
config := new(dokodemo.Config)
config.AllowedNetworks = v.AllowedNetwork.Build()
if v.RewriteAddress != nil {
config.RewriteAddress = v.RewriteAddress.Build()
}
config.RewritePort = uint32(v.RewritePort)
config.PortMap = v.PortMap
for _, v := range config.PortMap {
if _, _, err := net.SplitHostPort(v); err != nil {
return nil, errors.New("invalid portMap: ", v).Base(err)
}
}
config.Networks = v.Network.Build()
config.FollowRedirect = v.FollowRedirect
config.UserLevel = v.UserLevel
return config, nil