diff options
Diffstat (limited to 'sub')
| -rw-r--r-- | sub/subJsonService.go | 6 | ||||
| -rw-r--r-- | sub/subService.go | 11 |
2 files changed, 7 insertions, 10 deletions
diff --git a/sub/subJsonService.go b/sub/subJsonService.go index 86a7a405..8222491a 100644 --- a/sub/subJsonService.go +++ b/sub/subJsonService.go @@ -4,6 +4,7 @@ import ( _ "embed" "encoding/json" "fmt" + "maps" "strings" "github.com/mhsanaei/3x-ui/v2/database/model" @@ -197,9 +198,8 @@ func (s *SubJsonService) getConfig(inbound *model.Inbound, client model.Client, newOutbounds = append(newOutbounds, s.defaultOutbounds...) newConfigJson := make(map[string]any) - for key, value := range s.configJson { - newConfigJson[key] = value - } + maps.Copy(newConfigJson, s.configJson) + newConfigJson["outbounds"] = newOutbounds newConfigJson["remarks"] = s.SubService.genRemark(inbound, client.Email, extPrxy["remark"].(string)) diff --git a/sub/subService.go b/sub/subService.go index ade871df..e046ebb4 100644 --- a/sub/subService.go +++ b/sub/subService.go @@ -484,8 +484,8 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string { externalProxies, _ := stream["externalProxy"].([]any) if len(externalProxies) > 0 { - links := "" - for index, externalProxy := range externalProxies { + links := make([]string, 0, len(externalProxies)) + for _, externalProxy := range externalProxies { ep, _ := externalProxy.(map[string]any) newSecurity, _ := ep["forceTls"].(string) dest, _ := ep["dest"].(string) @@ -511,12 +511,9 @@ func (s *SubService) genVlessLink(inbound *model.Inbound, email string) string { url.Fragment = s.genRemark(inbound, email, ep["remark"].(string)) - if index > 0 { - links += "\n" - } - links += url.String() + links = append(links, url.String()) } - return links + return strings.Join(links, "\n") } link := fmt.Sprintf("vless://%s@%s:%d", uuid, address, port) |
