Skip to content

Commit

Permalink
prepare sing-box 1.9.3
Browse files Browse the repository at this point in the history
  • Loading branch information
arm64v8a committed Jul 2, 2024
1 parent 1b022eb commit 4fd1147
Show file tree
Hide file tree
Showing 9 changed files with 127 additions and 205 deletions.
74 changes: 0 additions & 74 deletions .github/workflows/ci.yml

This file was deleted.

23 changes: 16 additions & 7 deletions buildScript/lib/core/get_source.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,25 @@ pushd ..
######

####
if [ ! -d "sing-box-extra" ]; then
git clone --no-checkout https://github.com/MatsuriDayo/sing-box-extra.git

if [ ! -d "sing-box" ]; then
git clone --no-checkout https://github.com/MatsuriDayo/sing-box.git
fi
pushd sing-box-extra
git checkout "$COMMIT_SING_BOX_EXTRA"
pushd sing-box
git checkout "$COMMIT_SING_BOX"

popd

####

ENV_SING_BOX_EXTRA=1
source $SRC_ROOT/buildScript/lib/core/get_source_env.sh
NO_ENV=1 ./libs/get_source.sh
if [ ! -d "libneko" ]; then
git clone --no-checkout https://github.com/MatsuriDayo/libneko.git
fi
pushd libneko
git checkout "$COMMIT_LIBNEKO"

popd

####

popd
10 changes: 2 additions & 8 deletions buildScript/lib/core/get_source_env.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,2 @@
if [ ! -z $ENV_NB4A ]; then
export COMMIT_SING_BOX_EXTRA="73bce610791a373dad29cb80b8ffc05fe87e21ec"
fi

if [ ! -z $ENV_SING_BOX_EXTRA ]; then
source libs/get_source_env.sh
# export COMMIT_SING_BOX="91495e813068294aae506fdd769437c41dd8d3a3"
fi
export COMMIT_SING_BOX="cf36758f11b7c144e1211801753cc91f06ff2906"
export COMMIT_LIBNEKO="1c47a3af71990a7b2192e03292b4d246c308ef0b"
23 changes: 12 additions & 11 deletions libcore/box.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,15 @@ import (
"runtime"
"runtime/debug"
"strings"
"time"

"github.com/matsuridayo/sing-box-extra/boxbox"
_ "github.com/matsuridayo/sing-box-extra/distro/all"

"github.com/matsuridayo/libneko/neko_log"
"github.com/matsuridayo/libneko/protect_server"
"github.com/matsuridayo/libneko/speedtest"
"github.com/matsuridayo/sing-box-extra/boxapi"
"github.com/sagernet/sing-box/boxapi"

box "github.com/sagernet/sing-box"
"github.com/sagernet/sing-box/common/conntrack"
"github.com/sagernet/sing-box/constant"
"github.com/sagernet/sing-box/option"
"github.com/sagernet/sing-box/outbound"
"github.com/sagernet/sing/service/pause"
Expand All @@ -29,7 +28,7 @@ var mainInstance *BoxInstance

func VersionBox() string {
version := []string{
"sing-box-extra: " + boxbox.Version,
"sing-box: " + constant.Version,
runtime.Version() + "@" + runtime.GOOS + "/" + runtime.GOARCH,
}

Expand Down Expand Up @@ -59,7 +58,7 @@ func ResetAllConnections(system bool) {
}

type BoxInstance struct {
*boxbox.Box
*box.Box
cancel context.CancelFunc
state int

Expand All @@ -85,7 +84,7 @@ func NewSingBoxInstance(config string) (b *BoxInstance, err error) {
sleepManager := pause.ManagerFromContext(ctx)
//sleepManager := pause.NewDefaultManager(ctx)
ctx = pause.ContextWithManager(ctx, sleepManager)
instance, err := boxbox.New(boxbox.Options{
instance, err := box.New(box.Options{
Options: options,
Context: ctx,
PlatformInterface: boxPlatformInterfaceInstance,
Expand All @@ -101,6 +100,8 @@ func NewSingBoxInstance(config string) (b *BoxInstance, err error) {
pauseManager: sleepManager,
}

b.SetLogWritter(neko_log.LogWriter)

// fuck your sing-box platformFormatter
pf := instance.GetLogPlatformFormatter()
pf.DisableColors = true
Expand Down Expand Up @@ -142,7 +143,7 @@ func (b *BoxInstance) Close() (err error) {
}

// close box
b.CloseWithTimeout(b.cancel, time.Second*2, log.Println)
b.Close()

return nil
}
Expand Down Expand Up @@ -191,9 +192,9 @@ func UrlTest(i *BoxInstance, link string, timeout int32) (latency int32, err err
defer device.DeferPanicToError("box.UrlTest", func(err_ error) { err = err_ })
if i == nil {
// test current
return speedtest.UrlTest(boxapi.CreateProxyHttpClient(mainInstance.Box), link, timeout)
return speedtest.UrlTest(boxapi.CreateProxyHttpClient(mainInstance.Box), link, timeout, speedtest.UrlTestStandard_RTT)
}
return speedtest.UrlTest(boxapi.CreateProxyHttpClient(i.Box), link, timeout)
return speedtest.UrlTest(boxapi.CreateProxyHttpClient(i.Box), link, timeout, speedtest.UrlTestStandard_RTT)
}

var protectCloser io.Closer
Expand Down
6 changes: 2 additions & 4 deletions libcore/dns_box.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@ import (
dns "github.com/sagernet/sing-dns"
"github.com/sagernet/sing/common"
E "github.com/sagernet/sing/common/exceptions"
"github.com/sagernet/sing/common/logger"
M "github.com/sagernet/sing/common/metadata"
N "github.com/sagernet/sing/common/network"
"github.com/sagernet/sing/common/task"

mDNS "github.com/miekg/dns"
Expand All @@ -27,9 +25,9 @@ type LocalDNSTransport interface {

func RegisterLocalDNSTransport(transport LocalDNSTransport) {
if transport == nil {
dns.RegisterTransport([]string{"local"}, dns.CreateLocalTransport)
dns.RegisterTransport([]string{"local"}, dns.CreateTransport)
} else {
dns.RegisterTransport([]string{"local"}, func(name string, ctx context.Context, logger logger.ContextLogger, dialer N.Dialer, link string) (dns.Transport, error) {
dns.RegisterTransport([]string{"local"}, func(options dns.TransportOptions) (dns.Transport, error) {
return &platformLocalDNSTransport{
iif: transport,
}, nil
Expand Down
60 changes: 28 additions & 32 deletions libcore/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@ go 1.20

require (
github.com/matsuridayo/libneko v1.0.0 // replaced
github.com/matsuridayo/sing-box-extra v1.0.0 // replaced
github.com/miekg/dns v1.1.57
github.com/sagernet/sing v0.3.0
github.com/miekg/dns v1.1.59
github.com/sagernet/sing v0.4.1
github.com/sagernet/sing-box v1.0.0 // replaced
github.com/sagernet/sing-dns v0.1.12
github.com/sagernet/sing-tun v0.2.0-rc.1
github.com/sagernet/sing-dns v0.2.1-0.20240624030536-ca4a5f7afb65
github.com/sagernet/sing-tun v0.3.2
github.com/ulikunitz/xz v0.5.11
golang.org/x/mobile v0.0.0-20231108233038-35478a0c49da
)
Expand All @@ -23,18 +22,16 @@ require (
github.com/caddyserver/certmagic v0.20.0 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
github.com/cretz/bine v0.2.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/gaukas/godicttls v0.0.4 // indirect
github.com/go-chi/chi/v5 v5.0.11 // indirect
github.com/go-chi/chi/v5 v5.0.12 // indirect
github.com/go-chi/cors v1.2.1 // indirect
github.com/go-chi/render v1.0.3 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/gofrs/uuid/v5 v5.0.0 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/gofrs/uuid/v5 v5.2.0 // indirect
github.com/google/btree v1.1.2 // indirect
github.com/google/pprof v0.0.0-20231101202521-4ca4178f5c7a // indirect
github.com/hashicorp/yamux v0.1.1 // indirect
Expand All @@ -44,62 +41,61 @@ require (
github.com/klauspost/compress v1.17.4 // indirect
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
github.com/libdns/alidns v1.0.3 // indirect
github.com/libdns/cloudflare v0.1.0 // indirect
github.com/libdns/libdns v0.2.1 // indirect
github.com/libdns/cloudflare v0.1.1 // indirect
github.com/libdns/libdns v0.2.2 // indirect
github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
github.com/mholt/acmez v1.2.0 // indirect
github.com/onsi/ginkgo/v2 v2.9.7 // indirect
github.com/ooni/go-libtor v1.1.8 // indirect
github.com/pierrec/lz4/v4 v4.1.14 // indirect
github.com/quic-go/qpack v0.4.0 // indirect
github.com/quic-go/qtls-go1-20 v0.4.1 // indirect
github.com/sagernet/bbolt v0.0.0-20231014093535-ea5cb2fe9f0a // indirect
github.com/sagernet/cloudflare-tls v0.0.0-20231208171750-a4483c1b7cd1 // indirect
github.com/sagernet/gvisor v0.0.0-20231209105102-8d27a30e436e // indirect
github.com/sagernet/netlink v0.0.0-20220905062125-8043b4a9aa97 // indirect
github.com/sagernet/quic-go v0.40.1-beta.2 // indirect
github.com/sagernet/gvisor v0.0.0-20240428053021-e691de28565f // indirect
github.com/sagernet/netlink v0.0.0-20240523065131-45e60152f9ba // indirect
github.com/sagernet/quic-go v0.45.1-beta.2 // indirect
github.com/sagernet/reality v0.0.0-20230406110435-ee17307e7691 // indirect
github.com/sagernet/sing-mux v0.1.8-rc.1 // indirect
github.com/sagernet/sing-quic v1.0.0 // indirect
github.com/sagernet/sing-mux v0.2.0 // indirect
github.com/sagernet/sing-quic v0.2.0-beta.12 // indirect
github.com/sagernet/sing-shadowsocks v0.2.6 // indirect
github.com/sagernet/sing-shadowsocks2 v0.1.6-rc.1 // indirect
github.com/sagernet/sing-shadowsocks2 v0.2.0 // indirect
github.com/sagernet/sing-shadowtls v0.1.4 // indirect
github.com/sagernet/sing-vmess v0.1.8 // indirect
github.com/sagernet/smux v0.0.0-20231208180855-7041f6ea79e7 // indirect
github.com/sagernet/tfo-go v0.0.0-20231209031829-7b5343ac1dc6 // indirect
github.com/sagernet/utls v1.5.4 // indirect
github.com/sagernet/wireguard-go v0.0.0-20231215174105-89dec3b2f3e8 // indirect
github.com/sagernet/ws v0.0.0-20231204124109-acfe8907c854 // indirect
github.com/scjalliance/comshim v0.0.0-20230315213746-5e51f40bd3b9 // indirect
github.com/spf13/cobra v1.8.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/u-root/uio v0.0.0-20230220225925-ffce2a382923 // indirect
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74 // indirect
github.com/zeebo/blake3 v0.2.3 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.26.0 // indirect
go.uber.org/zap v1.27.0 // indirect
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
golang.org/x/crypto v0.17.0 // indirect
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc // indirect
golang.org/x/mod v0.14.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/crypto v0.23.0 // indirect
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect
golang.org/x/mod v0.18.0 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/text v0.16.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.16.0 // indirect
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230429144221-925a1e7659e6 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 // indirect
google.golang.org/grpc v1.60.1 // indirect
google.golang.org/protobuf v1.32.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect
google.golang.org/grpc v1.63.2 // indirect
google.golang.org/protobuf v1.33.0 // indirect
lukechampine.com/blake3 v1.2.1 // indirect
)

replace github.com/matsuridayo/libneko => ../../libneko

replace github.com/matsuridayo/sing-box-extra => ../../sing-box-extra

replace github.com/sagernet/sing-box => ../../sing-box

replace github.com/sagernet/sing-quic => ../../sing-quic
// replace github.com/sagernet/sing-quic => ../../sing-quic

// replace github.com/sagernet/sing => ../../sing

Expand Down
Loading

0 comments on commit 4fd1147

Please sign in to comment.