Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: "1.23.7"
go-version: "1.24.4"
- run: go build ./...
2 changes: 1 addition & 1 deletion UPSTREAM
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v3.26.0
v3.27.0
42 changes: 21 additions & 21 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
module github.com/ooni/probe-engine

go 1.23.0
go 1.24.1

toolchain go1.23.7
toolchain go1.24.4

require (
filippo.io/age v1.2.1
github.com/Psiphon-Labs/psiphon-tunnel-core v1.0.11-0.20250604135210-85a7bd92a4ba
github.com/Psiphon-Labs/psiphon-tunnel-core v1.0.11-0.20250721134743-defb3bae9d3d
github.com/apex/log v1.9.0
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
github.com/cloudflare/circl v1.5.0
github.com/cloudflare/circl v1.6.1
github.com/cretz/bine v0.2.0
github.com/dop251/goja v0.0.0-20231027120936-b396bb4c349d
github.com/dop251/goja_nodejs v0.0.0-20240418154818-2aae10d4cbcf
Expand All @@ -20,11 +20,11 @@ require (
github.com/gorilla/websocket v1.5.3
github.com/hexops/gotextdiff v1.0.3
github.com/mattn/go-sqlite3 v1.14.24
github.com/miekg/dns v1.1.62
github.com/miekg/dns v1.1.68
github.com/montanaflynn/stats v0.7.1
github.com/ooni/minivpn v0.0.7
github.com/ooni/netem v0.0.0-20240208095707-608dcbcd82b8
github.com/ooni/probe-assets v0.27.0
github.com/ooni/netem v0.0.0-20250905215919-3882eda4fb66
github.com/ooni/probe-assets v0.28.0
github.com/oschwald/maxminddb-golang v1.13.1
github.com/pborman/getopt/v2 v2.1.0
github.com/pion/stun v0.6.1
Expand All @@ -41,9 +41,9 @@ require (
gitlab.com/yawning/utls.git v0.0.12-1
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib v1.6.0
gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2 v2.10.1
golang.org/x/crypto v0.36.0
golang.org/x/net v0.37.0
golang.org/x/sys v0.31.0
golang.org/x/crypto v0.41.0
golang.org/x/net v0.43.0
golang.org/x/sys v0.35.0
)

require (
Expand All @@ -57,7 +57,7 @@ require (
github.com/Psiphon-Labs/goptlib v0.0.0-20200406165125-c0e32a7a3464 // indirect
github.com/Psiphon-Labs/psiphon-tls v0.0.0-20250318183125-2a2fae2db378 // indirect
github.com/Psiphon-Labs/quic-go v0.0.0-20250527153145-79fe45fb83b1 // indirect
github.com/Psiphon-Labs/utls v1.1.1-0.20241107183331-b18909f8ccaa // indirect
github.com/Psiphon-Labs/utls v0.0.0-20250623193530-396869e9cd87 // indirect
github.com/alexbrainman/sspi v0.0.0-20231016080023-1a75b4708caa // indirect
github.com/andybalholm/brotli v1.1.1 // indirect
github.com/armon/go-proxyproto v0.0.0-20180202201750-5b7edb60ff5f // indirect
Expand Down Expand Up @@ -99,9 +99,9 @@ require (
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/mock v1.6.0 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/btree v1.1.2 // indirect
github.com/golang/mock v1.7.0-rc.1 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c // indirect
github.com/google/pprof v0.0.0-20230926050212-f7f687d19a98 // indirect
github.com/grafov/m3u8 v0.0.0-20171211212457-6ab8f28ed427 // indirect
Expand Down Expand Up @@ -181,16 +181,16 @@ require (
go4.org/mem v0.0.0-20220726221520-4f986261bf13 // indirect
go4.org/netipx v0.0.0-20230824141953-6213f710f925 // indirect
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/sync v0.12.0 // indirect
golang.org/x/term v0.30.0 // indirect
golang.org/x/text v0.23.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.31.0 // indirect
golang.org/x/mod v0.27.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/term v0.34.0 // indirect
golang.org/x/text v0.28.0 // indirect
golang.org/x/time v0.12.0 // indirect
golang.org/x/tools v0.36.0 // indirect
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 // indirect
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
gvisor.dev/gvisor v0.0.0-20230928000133-4fe30062272c // indirect
gvisor.dev/gvisor v0.0.0-20250317184159-a24f13b091dc // indirect
tailscale.com v1.58.2 // indirect
)
103 changes: 49 additions & 54 deletions go.sum

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions pkg/cmd/buildtool/android.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,11 @@ func androidBuildGomobile(deps buildtoolmodel.Dependencies) {
goPath := filepath.Join(deps.GOPATH(), "bin")
envp.Append("PATH", cdepsPrependToPath(goPath))

// We need to support 16KB page size as per android guidelines
//
// See https://android-developers.googleblog.com/2025/05/prepare-play-apps-for-devices-with-16kb-page-size.html
envp.Append("CGO_LDFLAGS", "-Wl,-z,max-page-size=16384")

config := &gomobileConfig{
deps: deps,
envp: envp,
Expand Down
34 changes: 18 additions & 16 deletions pkg/cmd/buildtool/android_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ func TestAndroidBuildGomobile(t *testing.T) {
"ANDROID_HOME=Android/sdk",
"ANDROID_NDK_HOME=Android/sdk/ndk/25.1.7654321",
"PATH=/go/gopath/bin:" + os.Getenv("PATH"),
"CGO_LDFLAGS=-Wl,-z,max-page-size=16384",
},
Argv: []string{
"gomobile", "bind", "-target", "android",
Expand Down Expand Up @@ -87,6 +88,7 @@ func TestAndroidBuildGomobile(t *testing.T) {
"ANDROID_HOME=Android/sdk",
"ANDROID_NDK_HOME=Android/sdk/ndk/25.1.7654321",
"PATH=/go/gopath/bin:" + os.Getenv("PATH"),
"CGO_LDFLAGS=-Wl,-z,max-page-size=16384",
},
Argv: []string{
"gomobile", "bind", "-target", "android",
Expand Down Expand Up @@ -702,12 +704,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) {
expect: []buildtooltest.ExecExpectations{{
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.0.tar.gz",
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "openssl-3.5.0.tar.gz",
"tar", "-xf", "openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -757,12 +759,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.0.tar.gz",
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "openssl-3.5.0.tar.gz",
"tar", "-xf", "openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -812,12 +814,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.0.tar.gz",
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "openssl-3.5.0.tar.gz",
"tar", "-xf", "openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -867,12 +869,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.0.tar.gz",
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "openssl-3.5.0.tar.gz",
"tar", "-xf", "openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -1738,12 +1740,12 @@ func TestAndroidBuildCdepsTor(t *testing.T) {
expect: []buildtooltest.ExecExpectations{{
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.16.tar.gz",
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "tor-0.4.8.16.tar.gz",
"tar", "-xf", "tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -1827,12 +1829,12 @@ func TestAndroidBuildCdepsTor(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.16.tar.gz",
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "tor-0.4.8.16.tar.gz",
"tar", "-xf", "tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -1916,12 +1918,12 @@ func TestAndroidBuildCdepsTor(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.16.tar.gz",
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "tor-0.4.8.16.tar.gz",
"tar", "-xf", "tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -2005,12 +2007,12 @@ func TestAndroidBuildCdepsTor(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.16.tar.gz",
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "tor-0.4.8.16.tar.gz",
"tar", "-xf", "tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Expand Down
10 changes: 5 additions & 5 deletions pkg/cmd/buildtool/cdepsopenssl.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ func cdepsOpenSSLBuildMain(globalEnv *cBuildEnv, deps buildtoolmodel.Dependencie
defer restore()

// See https://github.com/Homebrew/homebrew-core/blob/master/Formula/o/openssl@3.rb
cdepsMustFetch("https://www.openssl.org/source/openssl-3.5.0.tar.gz")
cdepsMustFetch("https://www.openssl.org/source/openssl-3.5.2.tar.gz")
deps.VerifySHA256( // must be mockable
"344d0a79f1a9b08029b0744e2cc401a43f9c90acd1044d09a530b4885a8e9fc0",
"openssl-3.5.0.tar.gz",
"c53a47e5e441c930c3928cf7bf6fb00e5d129b630e0aa873b08258656e7345ec",
"openssl-3.5.2.tar.gz",
)
must.Run(log.Log, "tar", "-xf", "openssl-3.5.0.tar.gz")
_ = deps.MustChdir("openssl-3.5.0") // must be mockable
must.Run(log.Log, "tar", "-xf", "openssl-3.5.2.tar.gz")
_ = deps.MustChdir("openssl-3.5.2") // must be mockable

mydir := filepath.Join(topdir, "CDEPS", "openssl")
for _, patch := range cdepsMustListPatches(mydir) {
Expand Down
10 changes: 5 additions & 5 deletions pkg/cmd/buildtool/cdepstor.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ func cdepsTorBuildMain(globalEnv *cBuildEnv, deps buildtoolmodel.Dependencies) {
defer restore()

// See https://github.com/Homebrew/homebrew-core/blob/master/Formula/t/tor.rb
cdepsMustFetch("https://www.torproject.org/dist/tor-0.4.8.16.tar.gz")
cdepsMustFetch("https://www.torproject.org/dist/tor-0.4.8.17.tar.gz")
deps.VerifySHA256( // must be mockable
"6540dd377a120fb8e7d27530aa3b7ff72a0fa5b4f670fe1d64c987c1cfd390cb",
"tor-0.4.8.16.tar.gz",
"79b4725e1d4b887b9e68fd09b0d2243777d5ce3cd471e538583bcf6f9d8cdb56",
"tor-0.4.8.17.tar.gz",
)
must.Run(log.Log, "tar", "-xf", "tor-0.4.8.16.tar.gz")
_ = deps.MustChdir("tor-0.4.8.16") // must be mockable
must.Run(log.Log, "tar", "-xf", "tor-0.4.8.17.tar.gz")
_ = deps.MustChdir("tor-0.4.8.17") // must be mockable

mydir := filepath.Join(topdir, "CDEPS", "tor")
for _, patch := range cdepsMustListPatches(mydir) {
Expand Down
24 changes: 12 additions & 12 deletions pkg/cmd/buildtool/ios_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -349,12 +349,12 @@ func TestIOSBuildCdepsOpenSSL(t *testing.T) {
expect: []buildtooltest.ExecExpectations{{
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.0.tar.gz",
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "openssl-3.5.0.tar.gz",
"tar", "-xf", "openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -399,12 +399,12 @@ func TestIOSBuildCdepsOpenSSL(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.0.tar.gz",
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "openssl-3.5.0.tar.gz",
"tar", "-xf", "openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -449,12 +449,12 @@ func TestIOSBuildCdepsOpenSSL(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.0.tar.gz",
"curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "openssl-3.5.0.tar.gz",
"tar", "-xf", "openssl-3.5.2.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -1142,12 +1142,12 @@ func TestIOSBuildCdepsTor(t *testing.T) {
expect: []buildtooltest.ExecExpectations{{
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.16.tar.gz",
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "tor-0.4.8.16.tar.gz",
"tar", "-xf", "tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -1232,12 +1232,12 @@ func TestIOSBuildCdepsTor(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.16.tar.gz",
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "tor-0.4.8.16.tar.gz",
"tar", "-xf", "tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Expand Down Expand Up @@ -1322,12 +1322,12 @@ func TestIOSBuildCdepsTor(t *testing.T) {
}, {
Env: []string{},
Argv: []string{
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.16.tar.gz",
"curl", "-fsSLO", "https://www.torproject.org/dist/tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Argv: []string{
"tar", "-xf", "tor-0.4.8.16.tar.gz",
"tar", "-xf", "tor-0.4.8.17.tar.gz",
},
}, {
Env: []string{},
Expand Down
Loading