From 0cd4bb1314e989e83c856507585d7e2e8ff2d5e6 Mon Sep 17 00:00:00 2001 From: CN-JS-HuiBai Date: Sat, 18 Apr 2026 02:05:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8DVLESS?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/service/node.go | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/internal/service/node.go b/internal/service/node.go index 72fbb9d..0258188 100644 --- a/internal/service/node.go +++ b/internal/service/node.go @@ -357,11 +357,14 @@ func BuildNodeConfig(node *model.Server) NodeServerConfig { func BuildNodeConfigPayload(node *model.Server) map[string]any { settings := parseObject(node.ProtocolSettings) baseConfig := map[string]any{ - "protocol": node.Type, - "listen_ip": "0.0.0.0", - "server_port": node.ServerPort, - "network": getMapAny(settings, "network"), - "networkSettings": getMapAny(settings, "network_settings"), + "protocol": node.Type, + "node_type": node.Type, + "nodeType": node.Type, + "listen_ip": "0.0.0.0", + "server_port": node.ServerPort, + "network": getMapAny(settings, "network"), + "networkSettings": getMapAny(settings, "network_settings"), + "network_settings": getMapAny(settings, "network_settings"), } response := cloneNodePayload(baseConfig) @@ -381,6 +384,7 @@ func BuildNodeConfigPayload(node *model.Server) map[string]any { } case "vmess": response["tls"] = getMapInt(settings, "tls") + response["tlsSettings"] = getMapAny(settings, "tls_settings") response["multiplex"] = getMapAny(settings, "multiplex") case "trojan": response["host"] = node.Host @@ -389,12 +393,14 @@ func BuildNodeConfigPayload(node *model.Server) map[string]any { response["tls"] = getMapInt(settings, "tls") if getMapInt(settings, "tls") == 2 { response["tls_settings"] = getMapAny(settings, "reality_settings") + response["tlsSettings"] = getMapAny(settings, "reality_settings") } else { response["tls_settings"] = nil + response["tlsSettings"] = nil } case "vless": response["tls"] = getMapInt(settings, "tls") - response["flow"] = getMapAny(settings, "flow") + response["flow"] = getMapString(settings, "flow") response["multiplex"] = getMapAny(settings, "multiplex") response["decryption"] = nil if encryption, ok := settings["encryption"].(map[string]any); ok { @@ -406,8 +412,10 @@ func BuildNodeConfigPayload(node *model.Server) map[string]any { } if getMapInt(settings, "tls") == 2 { response["tls_settings"] = getMapAny(settings, "reality_settings") + response["tlsSettings"] = getMapAny(settings, "reality_settings") } else { response["tls_settings"] = getMapAny(settings, "tls_settings") + response["tlsSettings"] = getMapAny(settings, "tls_settings") } case "hysteria": tls, _ := settings["tls"].(map[string]any) @@ -448,9 +456,11 @@ func BuildNodeConfigPayload(node *model.Server) map[string]any { case "naive": response["tls"] = getMapInt(settings, "tls") response["tls_settings"] = getMapAny(settings, "tls_settings") + response["tlsSettings"] = getMapAny(settings, "tls_settings") case "http": response["tls"] = getMapInt(settings, "tls") response["tls_settings"] = getMapAny(settings, "tls_settings") + response["tlsSettings"] = getMapAny(settings, "tls_settings") case "mieru": transport := getMapString(settings, "transport") if strings.TrimSpace(transport) == "" {