From f233f1c6b6a7f8b64106172be2818d722cf2018b Mon Sep 17 00:00:00 2001 From: Alireza Ahmadi Date: Sun, 9 Feb 2025 02:16:26 +0100 Subject: [PATCH] fix utl, flow and insecure in links #463 #445 --- util/genLink.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/util/genLink.go b/util/genLink.go index 72200d0..668b801 100644 --- a/util/genLink.go +++ b/util/genLink.go @@ -159,7 +159,7 @@ func naiveLink( params["alpn"] = strings.Join(alpnList, ",") } if insecure, ok := tls["insecure"].(bool); ok && insecure { - params["allowInsecure"] = "1" + params["insecure"] = "1" } } if tfo, ok := inbound["tcp_fast_open"].(bool); ok && tfo { @@ -206,7 +206,7 @@ func hysteriaLink( params["alpn"] = strings.Join(alpnList, ",") } if insecure, ok := tls["insecure"].(bool); ok && insecure { - params["allowInsecure"] = "1" + params["insecure"] = "1" } } if obfs, ok := inbound["obfs"].(string); ok { @@ -255,7 +255,7 @@ func hysteria2Link( params["alpn"] = strings.Join(alpnList, ",") } if insecure, ok := tls["insecure"].(bool); ok && insecure { - params["allowInsecure"] = "1" + params["insecure"] = "1" } } if obfs, ok := inbound["obfs"].(map[string]interface{}); ok { @@ -304,10 +304,10 @@ func tuicLink( params["alpn"] = strings.Join(alpnList, ",") } if insecure, ok := tls["insecure"].(bool); ok && insecure { - params["allowInsecure"] = "1" + params["insecure"] = "1" } if disableSni, ok := tls["disable_sni"].(bool); ok && disableSni { - params["disableSni"] = "1" + params["disable_sni"] = "1" } } if congestionControl, ok := inbound["congestion_control"].(string); ok { @@ -351,6 +351,9 @@ func vlessLink( params["flow"] = flow } } + if utls, ok := tls["utls"].(map[string]interface{}); ok { + params["fingerprint"], _ = utls["fingerprint"].(string) + } if sni, ok := tls["server_name"].(string); ok { params["sni"] = sni } @@ -396,6 +399,9 @@ func trojanLink( params["allowInsecure"] = "1" } } + if utls, ok := tls["utls"].(map[string]interface{}); ok { + params["fingerprint"], _ = utls["fingerprint"].(string) + } if sni, ok := tls["server_name"].(string); ok { params["sni"] = sni } @@ -459,6 +465,9 @@ func vmessLink( if sni, ok := tls["server_name"].(string); ok { obj["sni"] = sni } + if utls, ok := tls["utls"].(map[string]interface{}); ok { + obj["fp"], _ = utls["fingerprint"].(string) + } } else { obj["tls"] = "none" }