Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorAlireza Ahmadi <alireza7@gmail.com>2023-04-12 11:44:07 +0300
committerAlireza Ahmadi <alireza7@gmail.com>2023-04-12 11:44:07 +0300
commitc4162e3eb4573a71ca2988bc351b352af16c4def (patch)
tree47a3d1a06fed22ed32372e3ae70d901883077a9f /web
parent591fb0abe397437743aa1d54c5af48949a376722 (diff)
[sub] fix reality link
Diffstat (limited to 'web')
-rw-r--r--web/service/sub.go37
1 files changed, 17 insertions, 20 deletions
diff --git a/web/service/sub.go b/web/service/sub.go
index f0a5a160..06c597e8 100644
--- a/web/service/sub.go
+++ b/web/service/sub.go
@@ -271,17 +271,18 @@ func (s *SubService) genVlessLink(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)
+ realitySettings, _ := stream["realitySettings"].(map[string]interface{})
+ if realitySettings != nil {
+ if sniValue, ok := searchKey(realitySettings, "serverNames"); ok {
+ sNames, _ := sniValue.([]interface{})
+ params["sni"], _ = sNames[0].(string)
}
if pbkValue, ok := searchKey(realitySettings, "publicKey"); ok {
params["pbk"], _ = pbkValue.(string)
}
if sidValue, ok := searchKey(realitySettings, "shortIds"); ok {
- params["sid"], _ = sidValue.(string)
+ shortIds, _ := sidValue.([]interface{})
+ params["sid"], _ = shortIds[0].(string)
}
if fpValue, ok := searchKey(realitySettings, "fingerprint"); ok {
params["fp"], _ = fpValue.(string)
@@ -291,11 +292,6 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string {
if streamNetwork == "tcp" && len(clients[clientIndex].Flow) > 0 {
params["flow"] = clients[clientIndex].Flow
}
-
- serverName, _ := realitySetting["serverName"].(string)
- if serverName != "" {
- address = serverName
- }
}
if security == "xtls" {
@@ -444,25 +440,26 @@ 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)
+ realitySettings, _ := stream["realitySettings"].(map[string]interface{})
+ if realitySettings != nil {
+ if sniValue, ok := searchKey(realitySettings, "serverNames"); ok {
+ sNames, _ := sniValue.([]interface{})
+ params["sni"], _ = sNames[0].(string)
}
if pbkValue, ok := searchKey(realitySettings, "publicKey"); ok {
params["pbk"], _ = pbkValue.(string)
}
if sidValue, ok := searchKey(realitySettings, "shortIds"); ok {
- params["sid"], _ = sidValue.(string)
+ shortIds, _ := sidValue.([]interface{})
+ params["sid"], _ = shortIds[0].(string)
}
if fpValue, ok := searchKey(realitySettings, "fingerprint"); ok {
params["fp"], _ = fpValue.(string)
}
}
- serverName, _ := realitySetting["serverName"].(string)
- if serverName != "" {
- address = serverName
+
+ if streamNetwork == "tcp" && len(clients[clientIndex].Flow) > 0 {
+ params["flow"] = clients[clientIndex].Flow
}
}