From 878b353fa6bf78229d9a7438a4ffff94cfc4cadf Mon Sep 17 00:00:00 2001 From: Hiddify Date: Sat, 10 Feb 2024 16:32:28 +0100 Subject: [PATCH] fix: bug and redundant chacks --- config/parser.go | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/config/parser.go b/config/parser.go index 3bee77d..d8424b9 100644 --- a/config/parser.go +++ b/config/parser.go @@ -27,7 +27,7 @@ func ParseConfig(path string, debug bool) ([]byte, error) { if err != nil { return nil, err } - var jsonObj map[string]interface{} + var jsonObj map[string]interface{} = make(map[string]interface{}) fmt.Printf("Convert using json\n") var tmpJsonResult any @@ -35,30 +35,20 @@ func ParseConfig(path string, debug bool) ([]byte, error) { if err := jsonDecoder.Decode(&tmpJsonResult); err == nil { if tmpJsonObj, ok := tmpJsonResult.(map[string]interface{}); ok { if tmpJsonObj["outbounds"] == nil { - jsonObj = map[string]interface{}{"outbounds": []interface{}{jsonObj}} + jsonObj["outbounds"] = []interface{}{jsonObj} } else { jsonObj["outbounds"] = tmpJsonObj["outbounds"] } } else if jsonArray, ok := tmpJsonResult.([]map[string]interface{}); ok { - jsonObj = map[string]interface{}{"outbounds": jsonArray} + jsonObj["outbounds"] = jsonArray } else { return nil, fmt.Errorf("[SingboxParser] Incorrect Json Format") } - if outbounds, ok := jsonObj["outbounds"].([]map[string]interface{}); ok { - for _, base := range outbounds { - if base["type"] == nil { - return nil, fmt.Errorf("[SingboxParser] No Type found!") - } - } - } else { - return nil, fmt.Errorf("[SingboxParser] Incorrect Outbounds Format") - } newContent, _ := json.MarshalIndent(jsonObj, "", " ") - - return patchConfig([]byte(newContent), "SingboxParser") + return patchConfig(newContent, "SingboxParser") } - fmt.Printf("Convert using v2ray\n") + v2rayStr, err := ray2sing.Ray2Singbox(string(content)) if err == nil { return patchConfig([]byte(v2rayStr), "V2rayParser")