瀏覽代碼

del x-ui settings in final tls/reality #1300

Alireza Ahmadi 1 年之前
父節點
當前提交
bcc897640e
共有 1 個文件被更改,包括 21 次插入0 次删除
  1. 21 0
      web/service/xray.go

+ 21 - 0
web/service/xray.go

@@ -134,6 +134,27 @@ 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")
+			}
+			newStream, err := json.MarshalIndent(stream, "", "  ")
+			if err != nil {
+				return nil, err
+			}
+			inbound.StreamSettings = string(newStream)
+		}
+
 		inboundConfig := inbound.GenXrayInboundConfig()
 		xrayConfig.InboundConfigs = append(xrayConfig.InboundConfigs, *inboundConfig)
 	}