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
diff options
context:
space:
mode:
Diffstat (limited to 'sub/subJsonService.go')
-rw-r--r--sub/subJsonService.go66
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 {