diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4749cb06..42f2fab1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,7 +1,7 @@
'name': 'build'
'env':
- 'GO_VERSION': '1.24.3'
+ 'GO_VERSION': '1.24.4'
'NODE_VERSION': '20'
'on':
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index f94f2950..7cf17e1e 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -1,7 +1,7 @@
'name': 'lint'
'env':
- 'GO_VERSION': '1.24.3'
+ 'GO_VERSION': '1.24.4'
'on':
'push':
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b87ea61c..1a8f508b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,12 +18,18 @@ See also the [v0.107.63 GitHub milestone][ms-v0.107.63].
NOTE: Add new changes BELOW THIS COMMENT.
-->
+### Security
+
+- Go version has been updated to prevent the possibility of exploiting the Go vulnerabilities fixed in [1.24.4][go-1.24.4].
+
### Fixed
- The hostnames of DHCP clients with multiple labels not being recognized.
- Status reported by the systemd service implementation in cases of auto-restart after a failed start.
+[go-1.24.4]: https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A
+
diff --git a/Makefile b/Makefile
index d2108064..0d6552b1 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ DIST_DIR = dist
GOAMD64 = v1
GOPROXY = https://proxy.golang.org|direct
GOTELEMETRY = off
-GOTOOLCHAIN = go1.24.3
+GOTOOLCHAIN = go1.24.4
GPG_KEY = devteam@adguard.com
GPG_KEY_PASSPHRASE = not-a-real-password
NPM = npm
diff --git a/bamboo-specs/release.yaml b/bamboo-specs/release.yaml
index daf17755..4319a820 100644
--- a/bamboo-specs/release.yaml
+++ b/bamboo-specs/release.yaml
@@ -8,7 +8,7 @@
'variables':
'channel': 'edge'
'dockerFrontend': 'adguard/home-js-builder:3.1'
- 'dockerGo': 'adguard/go-builder:1.24.3--1'
+ 'dockerGo': 'adguard/go-builder:1.24.4--1'
'stages':
- 'Build frontend':
@@ -279,7 +279,7 @@
'variables':
'channel': 'beta'
'dockerFrontend': 'adguard/home-js-builder:3.1'
- 'dockerGo': 'adguard/go-builder:1.24.3--1'
+ 'dockerGo': 'adguard/go-builder:1.24.4--1'
# release-vX.Y.Z branches are the branches from which the actual final
# release is built.
- '^release-v[0-9]+\.[0-9]+\.[0-9]+':
@@ -295,4 +295,4 @@
'variables':
'channel': 'release'
'dockerFrontend': 'adguard/home-js-builder:3.1'
- 'dockerGo': 'adguard/go-builder:1.24.3--1'
+ 'dockerGo': 'adguard/go-builder:1.24.4--1'
diff --git a/bamboo-specs/test.yaml b/bamboo-specs/test.yaml
index a702e4ea..737677a5 100644
--- a/bamboo-specs/test.yaml
+++ b/bamboo-specs/test.yaml
@@ -6,7 +6,7 @@
'name': 'AdGuard Home - Build and run tests'
'variables':
'dockerFrontend': 'adguard/home-js-builder:3.1'
- 'dockerGo': 'adguard/go-builder:1.24.3--1'
+ 'dockerGo': 'adguard/go-builder:1.24.4--1'
'channel': 'development'
'stages':
@@ -234,5 +234,5 @@
# may need to build a few of these.
'variables':
'dockerFrontend': 'adguard/home-js-builder:3.1'
- 'dockerGo': 'adguard/go-builder:1.24.3--1'
+ 'dockerGo': 'adguard/go-builder:1.24.4--1'
'channel': 'candidate'
diff --git a/client/src/__locales/tr.json b/client/src/__locales/tr.json
index a44a2a52..f7db7231 100644
--- a/client/src/__locales/tr.json
+++ b/client/src/__locales/tr.json
@@ -6,7 +6,7 @@
"upstream_parallel": "Tüm üst sunucuları eş zamanlı sorgulayarak çözümlemeyi hızlandırmak için paralel sorgular kullanın.",
"parallel_requests": "Paralel istekler",
"load_balancing": "Yük dengeleme",
- "load_balancing_desc": "Aynı anda bir üst kaynak sunucusunu sorgulayın. AdGuard Home, en düşük başarısız arama sayısına ve en düşük ortalama arama süresine sahip sunucuları seçmek için ağırlıklı rastgele bir algoritma kullanır.",
+ "load_balancing_desc": "Üst kaynak sunucuları aynı anda sorgulanır.
AdGuard Home, en düşük başarısız sorgu sayısına ve en düşük ortalama sorgu süresine sahip sunucuları seçmek için ağırlıklı rastgele algoritma kullanır.",
"bootstrap_dns": "DNS Önyükleme sunucuları",
"bootstrap_dns_desc": "Üst kaynak olarak belirttiğiniz DoH/DoT çözümleyicilerin IP adreslerini çözümlemek için kullanılan DNS sunucularının IP adresleri. Yorumlara izin verilmez.",
"fallback_dns_title": "Yedek DNS sunucuları",
diff --git a/go.mod b/go.mod
index 0cbec61b..190f3259 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module github.com/AdguardTeam/AdGuardHome
-go 1.24.3
+go 1.24.4
require (
github.com/AdguardTeam/dnsproxy v0.75.6
@@ -32,9 +32,9 @@ require (
github.com/stretchr/testify v1.10.0
github.com/ti-mo/netfilter v0.5.3
go.etcd.io/bbolt v1.4.0
- golang.org/x/crypto v0.38.0
+ golang.org/x/crypto v0.39.0
golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b
- golang.org/x/net v0.40.0
+ golang.org/x/net v0.41.0
golang.org/x/sys v0.33.0
gopkg.in/natefinch/lumberjack.v2 v2.2.1
gopkg.in/yaml.v3 v3.0.1
@@ -90,15 +90,15 @@ require (
go.opentelemetry.io/otel/trace v1.36.0 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/mock v0.5.2 // indirect
- golang.org/x/exp/typeparams v0.0.0-20250531010427-b6e5de432a8b // indirect
+ golang.org/x/exp/typeparams v0.0.0-20250606033433-dcc06ee1d476 // indirect
golang.org/x/mod v0.25.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.15.0 // indirect
- golang.org/x/telemetry v0.0.0-20250605140807-cd7dbf5ade20 // indirect
+ golang.org/x/telemetry v0.0.0-20250609191608-4884ade64e8b // indirect
golang.org/x/term v0.32.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/time v0.12.0 // indirect
- golang.org/x/tools v0.33.0 // indirect
+ golang.org/x/tools v0.34.0 // indirect
golang.org/x/vuln v1.1.4 // indirect
gonum.org/v1/gonum v0.16.0 // indirect
google.golang.org/api v0.236.0 // indirect
diff --git a/go.sum b/go.sum
index 4562c874..7b9586f1 100644
--- a/go.sum
+++ b/go.sum
@@ -203,12 +203,12 @@ go.uber.org/mock v0.5.2 h1:LbtPTcP8A5k9WPXj54PPPbjcI4Y6lhyOZXn+VS7wNko=
go.uber.org/mock v0.5.2/go.mod h1:wLlUxC2vVTPTaE3UD51E0BGOAElKrILxhVSDYQLld5o=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
-golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
+golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
+golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b h1:QoALfVG9rhQ/M7vYDScfPdWjGL9dlsVVM5VGh7aKoAA=
golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
-golang.org/x/exp/typeparams v0.0.0-20250531010427-b6e5de432a8b h1:BYXmVbbiQZNvDQnJIC37pAGLxabO8CGWgWEZrCtjXbk=
-golang.org/x/exp/typeparams v0.0.0-20250531010427-b6e5de432a8b/go.mod h1:LKZHyeOpPuZcMgxeHjJp4p5yvxrCX1xDvH10zYHhjjQ=
+golang.org/x/exp/typeparams v0.0.0-20250606033433-dcc06ee1d476 h1:tceuojoK22x7b3gj32PCOPkkFeVtewHm1imqrGyFp1I=
+golang.org/x/exp/typeparams v0.0.0-20250606033433-dcc06ee1d476/go.mod h1:LKZHyeOpPuZcMgxeHjJp4p5yvxrCX1xDvH10zYHhjjQ=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -221,8 +221,8 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
-golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
+golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
+golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -242,8 +242,8 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/telemetry v0.0.0-20250605140807-cd7dbf5ade20 h1:76h5FVhq9x1b/mxY9tfFIY66XtbIeUx1af9FJOQ/R10=
-golang.org/x/telemetry v0.0.0-20250605140807-cd7dbf5ade20/go.mod h1:mUcjA5g0luJpMYCLjhH91f4t4RAUNp+zq9ZmUoqPD7M=
+golang.org/x/telemetry v0.0.0-20250609191608-4884ade64e8b h1:Y/IUTO67KgVkBoAByyCNRMMLAXUzEiblXXJqxR3OF8Q=
+golang.org/x/telemetry v0.0.0-20250609191608-4884ade64e8b/go.mod h1:mUcjA5g0luJpMYCLjhH91f4t4RAUNp+zq9ZmUoqPD7M=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
@@ -257,8 +257,8 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
-golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
+golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
+golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
golang.org/x/vuln v1.1.4 h1:Ju8QsuyhX3Hk8ma3CesTbO8vfJD9EvUBgHvkxHBzj0I=
golang.org/x/vuln v1.1.4/go.mod h1:F+45wmU18ym/ca5PLTPLsSzr2KppzswxPP603ldA67s=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/internal/filtering/servicelist.go b/internal/filtering/servicelist.go
index dbe75bbb..21162f3f 100644
--- a/internal/filtering/servicelist.go
+++ b/internal/filtering/servicelist.go
@@ -2413,6 +2413,18 @@ var blockedServices = []blockedService{{
"||spotifyforbrands.com^",
"||spotifyjobs.com^",
},
+}, {
+ ID: "spotify_video",
+ Name: "Spotify Video",
+ IconSVG: []byte(""),
+ Rules: []string{
+ "||eip-ntt.video-ak.cdn.spotify.com.akahost.net^",
+ "||video-ak.cdn.spotify.com^",
+ "||video-akpcw-cdn-spotify-com.akamaized.net^",
+ "||video-akpcw.spotifycdn.com.edgesuite.net^",
+ "||video-akpcw.spotifycdn.com^",
+ "||video-fa.scdn.co^",
+ },
}, {
ID: "steam",
Name: "Steam",
@@ -2753,7 +2765,9 @@ var blockedServices = []blockedService{{
Rules: []string{
"||xhscdn.com^",
"||xhscdn.net^",
+ "||xiaohongshu.com.my^",
"||xiaohongshu.com^",
+ "||xiaohongshu.net^",
},
}, {
ID: "youtube",
diff --git a/openapi/README.md b/openapi/README.md
index 1ad1974e..b6af6719 100644
--- a/openapi/README.md
+++ b/openapi/README.md
@@ -8,7 +8,7 @@ The easiest way would be to use [Swagger Editor](http://editor.swagger.io/) and
## Changelog
-[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being made.
+See [`CHANGELOG.md`](CHANGELOG.md) where we keep track of all non-compatible changes that are being made.
## Authentication