diff options
Diffstat (limited to 'sub/subJsonService.go')
| -rw-r--r-- | sub/subJsonService.go | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/sub/subJsonService.go b/sub/subJsonService.go index 8786541e..008e1658 100644 --- a/sub/subJsonService.go +++ b/sub/subJsonService.go @@ -18,7 +18,7 @@ import ( var defaultJson string type SubJsonService struct { - configJson map[string]interface{} + configJson map[string]any defaultOutbounds []json_util.RawMessage fragment string noises string @@ -29,10 +29,10 @@ type SubJsonService struct { } func NewSubJsonService(fragment string, noises string, mux string, rules string, subService *SubService) *SubJsonService { - var configJson map[string]interface{} + var configJson map[string]any var defaultOutbounds []json_util.RawMessage json.Unmarshal([]byte(defaultJson), &configJson) - if outboundSlices, ok := configJson["outbounds"].([]interface{}); ok { + if outboundSlices, ok := configJson["outbounds"].([]any); ok { for _, defaultOutbound := range outboundSlices { jsonBytes, _ := json.Marshal(defaultOutbound) defaultOutbounds = append(defaultOutbounds, jsonBytes) @@ -40,9 +40,9 @@ func NewSubJsonService(fragment string, noises string, mux string, rules string, } if rules != "" { - var newRules []interface{} - routing, _ := configJson["routing"].(map[string]interface{}) - defaultRules, _ := routing["rules"].([]interface{}) + var newRules []any + routing, _ := configJson["routing"].(map[string]any) + defaultRules, _ := routing["rules"].([]any) json.Unmarshal([]byte(rules), &newRules) defaultRules = append(newRules, defaultRules...) routing["rules"] = defaultRules @@ -148,10 +148,10 @@ func (s *SubJsonService) getConfig(inbound *model.Inbound, client model.Client, var newJsonArray []json_util.RawMessage stream := s.streamData(inbound.StreamSettings) - externalProxies, ok := stream["externalProxy"].([]interface{}) + externalProxies, ok := stream["externalProxy"].([]any) if !ok || len(externalProxies) == 0 { - externalProxies = []interface{}{ - map[string]interface{}{ + externalProxies = []any{ + map[string]any{ "forceTls": "same", "dest": host, "port": float64(inbound.Port), @@ -163,7 +163,7 @@ func (s *SubJsonService) getConfig(inbound *model.Inbound, client model.Client, delete(stream, "externalProxy") for _, ep := range externalProxies { - extPrxy := ep.(map[string]interface{}) + extPrxy := ep.(map[string]any) inbound.Listen = extPrxy["dest"].(string) inbound.Port = int(extPrxy["port"].(float64)) newStream := stream @@ -171,7 +171,7 @@ func (s *SubJsonService) getConfig(inbound *model.Inbound, client model.Client, case "tls": if newStream["security"] != "tls" { newStream["security"] = "tls" - newStream["tslSettings"] = map[string]interface{}{} + newStream["tslSettings"] = map[string]any{} } case "none": if newStream["security"] != "none" { @@ -191,7 +191,7 @@ func (s *SubJsonService) getConfig(inbound *model.Inbound, client model.Client, } newOutbounds = append(newOutbounds, s.defaultOutbounds...) - newConfigJson := make(map[string]interface{}) + newConfigJson := make(map[string]any) for key, value := range s.configJson { newConfigJson[key] = value } @@ -205,14 +205,14 @@ func (s *SubJsonService) getConfig(inbound *model.Inbound, client model.Client, return newJsonArray } -func (s *SubJsonService) streamData(stream string) map[string]interface{} { - var streamSettings map[string]interface{} +func (s *SubJsonService) streamData(stream string) map[string]any { + var streamSettings map[string]any json.Unmarshal([]byte(stream), &streamSettings) security, _ := streamSettings["security"].(string) if security == "tls" { - streamSettings["tlsSettings"] = s.tlsData(streamSettings["tlsSettings"].(map[string]interface{})) + streamSettings["tlsSettings"] = s.tlsData(streamSettings["tlsSettings"].(map[string]any)) } else if security == "reality" { - streamSettings["realitySettings"] = s.realityData(streamSettings["realitySettings"].(map[string]interface{})) + streamSettings["realitySettings"] = s.realityData(streamSettings["realitySettings"].(map[string]any)) } delete(streamSettings, "sockopt") @@ -233,17 +233,17 @@ func (s *SubJsonService) streamData(stream string) map[string]interface{} { return streamSettings } -func (s *SubJsonService) removeAcceptProxy(setting interface{}) map[string]interface{} { - netSettings, ok := setting.(map[string]interface{}) +func (s *SubJsonService) removeAcceptProxy(setting any) map[string]any { + netSettings, ok := setting.(map[string]any) if ok { delete(netSettings, "acceptProxyProtocol") } return netSettings } -func (s *SubJsonService) tlsData(tData map[string]interface{}) map[string]interface{} { - tlsData := make(map[string]interface{}, 1) - tlsClientSettings, _ := tData["settings"].(map[string]interface{}) +func (s *SubJsonService) tlsData(tData map[string]any) map[string]any { + tlsData := make(map[string]any, 1) + tlsClientSettings, _ := tData["settings"].(map[string]any) tlsData["serverName"] = tData["serverName"] tlsData["alpn"] = tData["alpn"] @@ -256,9 +256,9 @@ func (s *SubJsonService) tlsData(tData map[string]interface{}) map[string]interf return tlsData } -func (s *SubJsonService) realityData(rData map[string]interface{}) map[string]interface{} { - rltyData := make(map[string]interface{}, 1) - rltyClientSettings, _ := rData["settings"].(map[string]interface{}) +func (s *SubJsonService) realityData(rData map[string]any) map[string]any { + rltyData := make(map[string]any, 1) + rltyClientSettings, _ := rData["settings"].(map[string]any) rltyData["show"] = false rltyData["publicKey"] = rltyClientSettings["publicKey"] @@ -266,13 +266,13 @@ func (s *SubJsonService) realityData(rData map[string]interface{}) map[string]in // Set random data rltyData["spiderX"] = "/" + random.Seq(15) - shortIds, ok := rData["shortIds"].([]interface{}) + shortIds, ok := rData["shortIds"].([]any) if ok && len(shortIds) > 0 { rltyData["shortId"] = shortIds[random.Num(len(shortIds))].(string) } else { rltyData["shortId"] = "" } - serverNames, ok := rData["serverNames"].([]interface{}) + serverNames, ok := rData["serverNames"].([]any) if ok && len(serverNames) > 0 { rltyData["serverName"] = serverNames[random.Num(len(serverNames))].(string) } else { @@ -329,7 +329,7 @@ func (s *SubJsonService) genServer(inbound *model.Inbound, streamSettings json_u } if inbound.Protocol == model.Shadowsocks { - var inboundSettings map[string]interface{} + var inboundSettings map[string]any json.Unmarshal([]byte(inbound.Settings), &inboundSettings) method, _ := inboundSettings["method"].(string) serverData[0].Method = method @@ -357,12 +357,12 @@ func (s *SubJsonService) genServer(inbound *model.Inbound, streamSettings json_u } type Outbound struct { - Protocol string `json:"protocol"` - Tag string `json:"tag"` - StreamSettings json_util.RawMessage `json:"streamSettings"` - Mux json_util.RawMessage `json:"mux,omitempty"` - ProxySettings map[string]interface{} `json:"proxySettings,omitempty"` - Settings OutboundSettings `json:"settings,omitempty"` + Protocol string `json:"protocol"` + Tag string `json:"tag"` + StreamSettings json_util.RawMessage `json:"streamSettings"` + Mux json_util.RawMessage `json:"mux,omitempty"` + ProxySettings map[string]any `json:"proxySettings,omitempty"` + Settings OutboundSettings `json:"settings,omitempty"` } type OutboundSettings struct { |
