diff --git a/cmd/internal/build_libbox/main.go b/cmd/internal/build_libbox/main.go index 50f1edb5..acf57ad9 100644 --- a/cmd/internal/build_libbox/main.go +++ b/cmd/internal/build_libbox/main.go @@ -5,6 +5,7 @@ import ( "os" "os/exec" "path/filepath" + "strings" _ "github.com/sagernet/gomobile/event/key" "github.com/sagernet/sing-box/cmd/internal/build_shared" @@ -38,18 +39,23 @@ func main() { var ( sharedFlags []string debugFlags []string + sharedTags []string + debugTags []string ) func init() { sharedFlags = append(sharedFlags, "-trimpath") sharedFlags = append(sharedFlags, "-ldflags") - currentTag, err := build_shared.ReadTag() if err != nil { currentTag = "unknown" } sharedFlags = append(sharedFlags, "-X github.com/sagernet/sing-box/constant.Version="+currentTag+" -s -w -buildid=") debugFlags = append(debugFlags, "-X github.com/sagernet/sing-box/constant.Version="+currentTag) + + sharedTags = append(sharedTags, "with_gvisor", "with_quic", "with_wireguard", "with_utls", "with_clash_api") + sharedTags = append(sharedTags, "test_sing_shadowsocks2") + debugTags = append(debugTags, "debug") } func buildAndroid() { @@ -70,9 +76,9 @@ func buildAndroid() { args = append(args, "-tags") if !debugEnabled { - args = append(args, "with_gvisor,with_quic,with_wireguard,with_utls,with_clash_api") + args = append(args, strings.Join(sharedTags, ",")) } else { - args = append(args, "with_gvisor,with_quic,with_wireguard,with_utls,with_clash_api,debug") + args = append(args, strings.Join(append(sharedTags, debugTags...), ",")) } args = append(args, "./experimental/libbox") @@ -109,11 +115,12 @@ func buildiOS() { args = append(args, debugFlags...) } + tags := append(sharedTags, "with_low_memory", "with_conntrack") args = append(args, "-tags") if !debugEnabled { - args = append(args, "with_gvisor,with_quic,with_utls,with_clash_api,with_low_memory,with_conntrack") + args = append(args, strings.Join(tags, ",")) } else { - args = append(args, "with_gvisor,with_quic,with_utls,with_clash_api,with_low_memory,with_conntrack,debug") + args = append(args, strings.Join(append(tags, debugTags...), ",")) } args = append(args, "./experimental/libbox") diff --git a/go.mod b/go.mod index cf0b1a63..86058434 100644 --- a/go.mod +++ b/go.mod @@ -28,6 +28,7 @@ require ( github.com/sagernet/sing-dns v0.1.5-0.20230426113254-25d948c44223 github.com/sagernet/sing-mux v0.0.0-20230517134606-1ebe6bb26646 github.com/sagernet/sing-shadowsocks v0.2.2-0.20230417102954-f77257340507 + github.com/sagernet/sing-shadowsocks2 v0.0.0-20230501032827-681c9c4ee0e9 github.com/sagernet/sing-shadowtls v0.1.2-0.20230417103049-4f682e05f19b github.com/sagernet/sing-tun v0.1.5-0.20230422121432-209ec123ca7b github.com/sagernet/sing-vmess v0.1.5-0.20230417103030-8c3070ae3fb3 diff --git a/go.sum b/go.sum index 8506d45e..ba3c0bb6 100644 --- a/go.sum +++ b/go.sum @@ -119,6 +119,8 @@ github.com/sagernet/sing-mux v0.0.0-20230517134606-1ebe6bb26646 h1:X3ADfMqeGns1Q github.com/sagernet/sing-mux v0.0.0-20230517134606-1ebe6bb26646/go.mod h1:pF+RnLvCAOhECrvauy6LYOpBakJ/vuaF1Wm4lPsWryI= github.com/sagernet/sing-shadowsocks v0.2.2-0.20230417102954-f77257340507 h1:bAHZCdWqJkb8LEW98+YsMVDXGRMUVjka8IC+St6ot88= github.com/sagernet/sing-shadowsocks v0.2.2-0.20230417102954-f77257340507/go.mod h1:UJjvQGw0lyYaDGIDvUraL16fwaAEH1WFw1Y6sUcMPog= +github.com/sagernet/sing-shadowsocks2 v0.0.0-20230501032827-681c9c4ee0e9 h1:0Dc1t9ao9EyvRil6l/950PLwND1qO1rgnxwbcctE8KE= +github.com/sagernet/sing-shadowsocks2 v0.0.0-20230501032827-681c9c4ee0e9/go.mod h1:Dpib342FFR68SZ3CSRYxk/zWbanAqRBrCxoLuda5I0A= github.com/sagernet/sing-shadowtls v0.1.2-0.20230417103049-4f682e05f19b h1:ouW/6IDCrxkBe19YSbdCd7buHix7b+UZ6BM4Zz74XF4= github.com/sagernet/sing-shadowtls v0.1.2-0.20230417103049-4f682e05f19b/go.mod h1:oG8bPerYI6cZ74KquY3DvA7ynECyrILPBnce6wtBqeI= github.com/sagernet/sing-tun v0.1.5-0.20230422121432-209ec123ca7b h1:9NsciSJGwzdkXwVvT2c2g+RvkTVkANeBLr2l+soJ7LM= diff --git a/outbound/shadowsocks.go b/outbound/shadowsocks.go index 1e2e2e63..d7168b75 100644 --- a/outbound/shadowsocks.go +++ b/outbound/shadowsocks.go @@ -11,8 +11,7 @@ import ( "github.com/sagernet/sing-box/log" "github.com/sagernet/sing-box/option" "github.com/sagernet/sing-box/transport/sip003" - "github.com/sagernet/sing-shadowsocks" - "github.com/sagernet/sing-shadowsocks/shadowimpl" + "github.com/sagernet/sing-shadowsocks2" "github.com/sagernet/sing/common" "github.com/sagernet/sing/common/bufio" E "github.com/sagernet/sing/common/exceptions" @@ -34,7 +33,9 @@ type Shadowsocks struct { } func NewShadowsocks(ctx context.Context, router adapter.Router, logger log.ContextLogger, tag string, options option.ShadowsocksOutboundOptions) (*Shadowsocks, error) { - method, err := shadowimpl.FetchMethod(options.Method, options.Password, router.TimeFunc()) + method, err := shadowsocks.CreateMethod(ctx, options.Method, shadowsocks.MethodOptions{ + Password: options.Password, + }) if err != nil { return nil, err }