diff --git a/go.mod b/go.mod index 40a68a8..17e6d79 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( github.com/go-gost/core v0.4.1 github.com/go-gost/x v0.10.11-0.20260605152603-e45d9a8cc81a github.com/judwhite/go-svc v1.2.1 + github.com/moby/moby/client v0.4.0 github.com/stretchr/testify v1.11.1 github.com/testcontainers/testcontainers-go v0.42.0 ) @@ -83,7 +84,6 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/go-archive v0.2.0 // indirect github.com/moby/moby/api v1.54.1 // indirect - github.com/moby/moby/client v0.4.0 // indirect github.com/moby/patternmatcher v0.6.1 // indirect github.com/moby/sys/sequential v0.6.0 // indirect github.com/moby/sys/user v0.4.0 // indirect diff --git a/go.sum b/go.sum index ff10a5d..6fb98a6 100644 --- a/go.sum +++ b/go.sum @@ -95,8 +95,6 @@ github.com/go-gost/relay v0.6.0 h1:o8r0B3eTw8Rwwent+5x5Cw1g4AyNUl4hNqiyDJXkFvA= github.com/go-gost/relay v0.6.0/go.mod h1:Dku0f5sfjOClrZFiDmQUrYYJ4uof7rnkCUBfsl0PSAI= github.com/go-gost/tls-dissector v0.2.0 h1:9tE6WOzzpurATTBWn60DU4R8gibpGNY8/qVcc1SicVg= github.com/go-gost/tls-dissector v0.2.0/go.mod h1:/9QfdewqmHdaE362Hv5nDaSWLx3pCmtD870d6GaquXs= -github.com/go-gost/x v0.10.10 h1:6PCaXNqNaYsJ1smkK8mTr7UwmXqkQLc0AtL//a5G3xw= -github.com/go-gost/x v0.10.10/go.mod h1:rlFAe9jHSKCEmbps70sZxiU+Wdv3zB6+Li/AqjCUQSM= github.com/go-gost/x v0.10.11-0.20260605152603-e45d9a8cc81a h1:lYfS2JDdlvLbXkd1ynQ8m7TpoWCxnN58M8eUTXScYyc= github.com/go-gost/x v0.10.11-0.20260605152603-e45d9a8cc81a/go.mod h1:BcReQfYxrWetKeZK4Zz25qycpWgSbY4H3k+rD9udJPg= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -254,8 +252,6 @@ github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= -github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SAw= -github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= github.com/quic-go/quic-go v0.59.1 h1:0Gmua0HW1Tv7ANR7hUYwRyD0MG5OJfgvYSZasGZzBic= github.com/quic-go/quic-go v0.59.1/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= github.com/quic-go/webtransport-go v0.10.0 h1:LqXXPOXuETY5Xe8ITdGisBzTYmUOy5eSj+9n4hLTjHI= diff --git a/tests/e2e/main_test.go b/tests/e2e/main_test.go index 5d82d3a..e335fb4 100644 --- a/tests/e2e/main_test.go +++ b/tests/e2e/main_test.go @@ -13,12 +13,6 @@ import ( var SharedNetworkName string -var GostBinPath string - -func init() { - flag.StringVar(&GostBinPath, "gost-bin", "", "Path to a pre-built gost binary (skips compilation)") -} - func TestMain(m *testing.M) { flag.Parse() ctx := context.Background() diff --git a/tests/e2e/utils.go b/tests/e2e/utils.go index 6465736..320865a 100644 --- a/tests/e2e/utils.go +++ b/tests/e2e/utils.go @@ -2,15 +2,23 @@ package e2e import ( "context" + "flag" "io" "os" "testing" "text/template" + "github.com/moby/moby/client" "github.com/testcontainers/testcontainers-go" "github.com/testcontainers/testcontainers-go/wait" ) +var GostBinPath string + +func init() { + flag.StringVar(&GostBinPath, "gost-bin", "", "Path to a pre-built gost binary (skips compilation)") +} + type ConfigData struct { ServerAddr string } @@ -70,6 +78,9 @@ func echoContainerRequest(_ context.Context, networkName string) testcontainers. Repo: "gost-e2e", Tag: "latest", KeepImage: true, + BuildOptionsModifier: func(opts *client.ImageBuildOptions) { + opts.NetworkMode = "host" + }, }, Networks: []string{networkName}, NetworkAliases: map[string][]string{ @@ -100,6 +111,9 @@ func udpEchoContainerRequest(_ context.Context, networkName string) testcontaine Repo: "gost-e2e", Tag: "latest", KeepImage: true, + BuildOptionsModifier: func(opts *client.ImageBuildOptions) { + opts.NetworkMode = "host" + }, }, Networks: []string{networkName}, NetworkAliases: map[string][]string{ @@ -134,6 +148,9 @@ func runGostContainer(ctx context.Context, networkName, yamlPath string, aliases Repo: "gost-e2e", Tag: "latest", KeepImage: true, + BuildOptionsModifier: func(opts *client.ImageBuildOptions) { + opts.NetworkMode = "host" + }, }, ExposedPorts: exposedPorts, // interal check for udp ports will be failed