add ray2singbox
This commit is contained in:
6
go.mod
6
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
|
||||
|
||||
6
go.sum
6
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=
|
||||
|
||||
@@ -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{}
|
||||
|
||||
Reference in New Issue
Block a user