diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-04-11 22:00:24 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-04-11 22:00:24 +0300 |
| commit | c38d75f3d901e7a3f550ab05aef711f95421cae6 (patch) | |
| tree | 90f43bbb1b512d6d00d62719f2dc52da7b71e94c /web/service | |
| parent | 4e7ad9e6de7520a3ed510fadb9644a47237aeb53 (diff) | |
reality for trojan
Diffstat (limited to 'web/service')
| -rw-r--r-- | web/service/sub.go | 24 |
1 files changed, 24 insertions, 0 deletions
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{}) |
