diff --git a/infra/conf/v5cfg/init.go b/infra/conf/v5cfg/init.go index 2b528c5c4..db2d5cacf 100644 --- a/infra/conf/v5cfg/init.go +++ b/infra/conf/v5cfg/init.go @@ -7,6 +7,7 @@ import ( "github.com/v2fly/v2ray-core/v5/common" "github.com/v2fly/v2ray-core/v5/common/buf" "github.com/v2fly/v2ray-core/v5/common/cmdarg" + "github.com/v2fly/v2ray-core/v5/infra/conf/json" ) const jsonV5 = "jsonv5" @@ -14,7 +15,7 @@ const jsonV5 = "jsonv5" func init() { common.Must(core.RegisterConfigLoader(&core.ConfigFormat{ Name: []string{jsonV5}, - Extension: []string{".v5.json"}, + Extension: []string{".v5.json", ".v5.jsonc"}, Loader: func(input interface{}) (*core.Config, error) { switch v := input.(type) { case string: @@ -22,13 +23,17 @@ func init() { if err != nil { return nil, err } - data, err := buf.ReadAllToBytes(r) + data, err := buf.ReadAllToBytes(&json.Reader{ + Reader: r, + }) if err != nil { return nil, err } return loadJSONConfig(data) case io.Reader: - data, err := buf.ReadAllToBytes(v) + data, err := buf.ReadAllToBytes(&json.Reader{ + Reader: v, + }) if err != nil { return nil, err }