Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/service/xray.go')
-rw-r--r--web/service/xray.go29
1 files changed, 17 insertions, 12 deletions
diff --git a/web/service/xray.go b/web/service/xray.go
index 1d046a44..7233cec5 100644
--- a/web/service/xray.go
+++ b/web/service/xray.go
@@ -135,19 +135,24 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) {
inbound.Settings = string(modifiedSettings)
}
- // Unmarshal stream JSON
- var stream map[string]interface{}
- json.Unmarshal([]byte(inbound.StreamSettings), &stream)
-
- // Remove the "settings" field under "tlsSettings" and "realitySettings"
- tlsSettings, ok1 := stream["tlsSettings"].(map[string]interface{})
- realitySettings, ok2 := stream["realitySettings"].(map[string]interface{})
- if ok1 || ok2 {
- if ok1 {
- delete(tlsSettings, "settings")
- } else if ok2 {
- delete(realitySettings, "settings")
+ if len(inbound.StreamSettings) > 0 {
+ // Unmarshal stream JSON
+ var stream map[string]interface{}
+ json.Unmarshal([]byte(inbound.StreamSettings), &stream)
+
+ // Remove the "settings" field under "tlsSettings" and "realitySettings"
+ tlsSettings, ok1 := stream["tlsSettings"].(map[string]interface{})
+ realitySettings, ok2 := stream["realitySettings"].(map[string]interface{})
+ if ok1 || ok2 {
+ if ok1 {
+ delete(tlsSettings, "settings")
+ } else if ok2 {
+ delete(realitySettings, "settings")
+ }
}
+
+ delete(stream, "externalProxy")
+
newStream, err := json.MarshalIndent(stream, "", " ")
if err != nil {
return nil, err