diff --git a/go.mod b/go.mod index ae933b0..6166941 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,9 @@ module github.com/hiddify/libcore -go 1.21.0 +go 1.21.1 require ( - github.com/er888kh/go-subconverter v0.0.0-00010101000000-000000000000 + github.com/hiddify/ray2sing v0.0.0-20230909195431-42b108c5b52d github.com/sagernet/gomobile v0.0.0-20230728014906-3de089147f59 github.com/sagernet/sing v0.2.10-0.20230908032232-b0849c43a600 github.com/sagernet/sing-box v1.4.1 @@ -32,7 +32,6 @@ require ( github.com/golang/protobuf v1.5.3 // indirect github.com/google/btree v1.1.2 // indirect github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect - github.com/google/uuid v1.3.1 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/insomniacslk/dhcp v0.0.0-20230816195147-b3ca2534940d // indirect github.com/josharian/native v1.1.0 // indirect @@ -90,4 +89,3 @@ require ( replace github.com/sagernet/sing-box => github.com/hiddify/hiddify-sing-box v1.5.0-beta.6.0.20230909114124-dd5572ae3cd8 -replace github.com/er888kh/go-subconverter => github.com/hiddify/go-subconverter v0.0.0-20230909135016-c8b06954ff50 diff --git a/go.sum b/go.sum index b43f5af..8257128 100644 --- a/go.sum +++ b/go.sum @@ -51,14 +51,12 @@ github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= -github.com/hiddify/go-subconverter v0.0.0-20230909135016-c8b06954ff50 h1:ifd/vP04+WFSi5tRl+SH89+dFJnW6QFABg5Xzof5z4Y= -github.com/hiddify/go-subconverter v0.0.0-20230909135016-c8b06954ff50/go.mod h1:YWhhWtzWc5blZCe40kAYQHlw1H4ra6kTmpcJDM04WQk= github.com/hiddify/hiddify-sing-box v1.5.0-beta.6.0.20230909114124-dd5572ae3cd8 h1:7EBpMuQ70lPzlGfbkw1z923Gyjz797i9JBCtFxg1tt4= github.com/hiddify/hiddify-sing-box v1.5.0-beta.6.0.20230909114124-dd5572ae3cd8/go.mod h1:x8h2FofmD+PLXqM3eScy+/ActJCByOHuygW5G20P1jU= +github.com/hiddify/ray2sing v0.0.0-20230909195431-42b108c5b52d h1:tLzET1LNWkYR8JcZv78P6bW+G9HAbiUciREUEpya3zs= +github.com/hiddify/ray2sing v0.0.0-20230909195431-42b108c5b52d/go.mod h1:5SO2o9/aKbMuqjrByt/ztCCZwbHMZLdgR4jNI4zg6Jg= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/insomniacslk/dhcp v0.0.0-20230816195147-b3ca2534940d h1:Ka64cclWedOkGzm9M2/XYuwJUdmWRUozmsxW0PyKA3A= github.com/insomniacslk/dhcp v0.0.0-20230816195147-b3ca2534940d/go.mod h1:7474bZ1YNCvarT6WFKie4kEET6J0KYRDC4XJqqXzQW4= diff --git a/shared/parser.go b/shared/parser.go index 329ea00..5ed691e 100644 --- a/shared/parser.go +++ b/shared/parser.go @@ -5,7 +5,7 @@ import ( "fmt" "os" - "github.com/er888kh/go-subconverter/converter" + "github.com/hiddify/ray2sing/ray2sing" "github.com/sagernet/sing-box/experimental/libbox" "github.com/xmdhs/clash2singbox/convert" "github.com/xmdhs/clash2singbox/model/clash" @@ -20,15 +20,15 @@ func ParseConfig(path string) error { if err != nil { return err } - clash_conf, err := parseV2rayFormat(content) - if err == nil { - content = clash_conf - } - - config, err := parseClash(content) + config, err := parseV2rayFormat(content) if err != nil { config = content } + config, err = parseClash(content) + if err != nil { + config = content + } + err = libbox.CheckConfig(string(config)) if err != nil { return err @@ -40,13 +40,12 @@ func ParseConfig(path string) error { return nil } func parseV2rayFormat(content []byte) ([]byte, error) { - clash_conf, err := converter.GenerateProxies(string(content), "meta") + singconf, err := ray2sing.Ray2Singbox(string(content)) if err != nil { fmt.Printf("error: %v\n", err) return nil, err } - fmt.Printf("v2ray to clash: %v\n", clash_conf) - return []byte(clash_conf), nil + return []byte(singconf), nil } func parseClash(content []byte) ([]byte, error) { clashConfig := clash.Clash{}