fix bug for reality dest

This commit is contained in:
yuzuki999 2023-05-22 11:20:09 +08:00
parent ebe176b7b3
commit 62d2805906
4 changed files with 21 additions and 12 deletions

View File

@ -1 +1,8 @@
package conf
import "testing"
func TestConf_LoadFromPath(t *testing.T) {
c := New()
t.Log(c.LoadFromPath("../example/config.yml.example"))
}

View File

@ -1,7 +1,5 @@
package conf
import "github.com/goccy/go-json"
type NodeConfig struct {
ApiConfig *ApiConfig `yaml:"ApiConfig"`
ControllerConfig *ControllerConfig `yaml:"ControllerConfig"`
@ -95,12 +93,12 @@ type CertConfig struct {
}
type RealityConfig struct {
Dest json.RawMessage `yaml:"Dest"`
Xver uint64 `yaml:"Xver"`
ServerNames []string `yaml:"ServerNames"`
PrivateKey string `yaml:"PrivateKey"`
MinClientVer string `yaml:"MinClientVer"`
MaxClientVer string `yaml:"MaxClientVer"`
MaxTimeDiff uint64 `yaml:"MaxTimeDiff"`
ShortIds []string `yaml:"ShortIds"`
Dest interface{} `yaml:"Dest"`
Xver uint64 `yaml:"Xver"`
ServerNames []string `yaml:"ServerNames"`
PrivateKey string `yaml:"PrivateKey"`
MinClientVer string `yaml:"MinClientVer"`
MaxClientVer string `yaml:"MaxClientVer"`
MaxTimeDiff uint64 `yaml:"MaxTimeDiff"`
ShortIds []string `yaml:"ShortIds"`
}

View File

@ -31,7 +31,7 @@ Nodes:
EnableReality: false # Enable reality
RealityConfig: # This config like RealityObject for xray-core, please check https://xtls.github.io/config/transport.html#realityobject
Dest: 80 # Same fallback dest
Xver: "example.com:443" # Same fallback xver
Xver: 0 # Same fallback xver
ServerNames:
- "example.com"
- "www.example.com"

View File

@ -86,8 +86,12 @@ func BuildInbound(config *conf.ControllerConfig, nodeInfo *panel.NodeInfo, tag s
} else if config.EnableReality {
// Reality
inbound.StreamSetting.Security = "reality"
d, err := json.Marshal(config.RealityConfig.Dest)
if err != nil {
return nil, fmt.Errorf("marshal reality dest error: %s", err)
}
inbound.StreamSetting.REALITYSettings = &coreConf.REALITYConfig{
Dest: config.RealityConfig.Dest,
Dest: d,
Xver: config.RealityConfig.Xver,
ServerNames: config.RealityConfig.ServerNames,
PrivateKey: config.RealityConfig.PrivateKey,