From 4e7ad9e6de7520a3ed510fadb9644a47237aeb53 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Tue, 11 Apr 2023 19:23:40 +0330 Subject: bug fix --- web/service/sub.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'web/service/sub.go') diff --git a/web/service/sub.go b/web/service/sub.go index d1891e14..8d96866c 100644 --- a/web/service/sub.go +++ b/web/service/sub.go @@ -300,7 +300,7 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string { if security == "xtls" { params["security"] = "xtls" - xtlsSetting, _ := stream["xtlsSettings"].(map[string]interface{}) + xtlsSetting, _ := stream["XTLSSettings"].(map[string]interface{}) alpns, _ := xtlsSetting["alpn"].([]interface{}) var alpn []string for _, a := range alpns { @@ -310,15 +310,15 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string { params["alpn"] = strings.Join(alpn, ",") } - xtlsSettings, _ := searchKey(xtlsSetting, "settings") + XTLSSettings, _ := searchKey(xtlsSetting, "settings") if xtlsSetting != nil { - if sniValue, ok := searchKey(xtlsSettings, "serverName"); ok { + if sniValue, ok := searchKey(XTLSSettings, "serverName"); ok { params["sni"], _ = sniValue.(string) } - if fpValue, ok := searchKey(xtlsSettings, "fingerprint"); ok { + if fpValue, ok := searchKey(XTLSSettings, "fingerprint"); ok { params["fp"], _ = fpValue.(string) } - if insecure, ok := searchKey(xtlsSettings, "allowInsecure"); ok { + if insecure, ok := searchKey(XTLSSettings, "allowInsecure"); ok { if insecure.(bool) { params["allowInsecure"] = "1" } @@ -444,7 +444,7 @@ func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string if security == "xtls" { params["security"] = "xtls" - xtlsSetting, _ := stream["xtlsSettings"].(map[string]interface{}) + xtlsSetting, _ := stream["XTLSSettings"].(map[string]interface{}) alpns, _ := xtlsSetting["alpn"].([]interface{}) var alpn []string for _, a := range alpns { @@ -454,15 +454,15 @@ func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string params["alpn"] = strings.Join(alpn, ",") } - xtlsSettings, _ := searchKey(xtlsSetting, "settings") + XTLSSettings, _ := searchKey(xtlsSetting, "settings") if xtlsSetting != nil { - if sniValue, ok := searchKey(xtlsSettings, "serverName"); ok { + if sniValue, ok := searchKey(XTLSSettings, "serverName"); ok { params["sni"], _ = sniValue.(string) } - if fpValue, ok := searchKey(xtlsSettings, "fingerprint"); ok { + if fpValue, ok := searchKey(XTLSSettings, "fingerprint"); ok { params["fp"], _ = fpValue.(string) } - if insecure, ok := searchKey(xtlsSettings, "allowInsecure"); ok { + if insecure, ok := searchKey(XTLSSettings, "allowInsecure"); ok { if insecure.(bool) { params["allowInsecure"] = "1" } -- cgit v1.2.3 From c38d75f3d901e7a3f550ab05aef711f95421cae6 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Tue, 11 Apr 2023 22:30:24 +0330 Subject: reality for trojan --- web/service/sub.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'web/service/sub.go') diff --git a/web/service/sub.go b/web/service/sub.go index 8d96866c..f0a5a160 100644 --- a/web/service/sub.go +++ b/web/service/sub.go @@ -442,6 +442,30 @@ func (s *SubService) genTrojanLink(inbound *model.Inbound, email string) string } } + if security == "reality" { + params["security"] = "reality" + realitySetting, _ := stream["realitySettings"].(map[string]interface{}) + realitySettings, _ := searchKey(realitySetting, "settings") + if realitySetting != nil { + if sniValue, ok := searchKey(realitySettings, "serverName"); ok { + params["sni"], _ = sniValue.(string) + } + if pbkValue, ok := searchKey(realitySettings, "publicKey"); ok { + params["pbk"], _ = pbkValue.(string) + } + if sidValue, ok := searchKey(realitySettings, "shortIds"); ok { + params["sid"], _ = sidValue.(string) + } + if fpValue, ok := searchKey(realitySettings, "fingerprint"); ok { + params["fp"], _ = fpValue.(string) + } + } + serverName, _ := realitySetting["serverName"].(string) + if serverName != "" { + address = serverName + } + } + if security == "xtls" { params["security"] = "xtls" xtlsSetting, _ := stream["XTLSSettings"].(map[string]interface{}) -- cgit v1.2.3