Squashed commit of the following:
commit 0c931c596316aa3322a8123877650a53b2ba31c3
Author: Elizaveta <e.egorova@adguard.com>
Date: Wed Nov 19 14:14:04 2025 +0300
spaces
commit 90b8bed07e392c32f2a4c963329563250ca06100
Author: Elizaveta <e.egorova@adguard.com>
Date: Wed Nov 19 13:55:56 2025 +0300
update changelog
commit 1a0dea21ccdc82603da4f42bd5396b8cbb29160a
Merge: c70212ec7 ff0ef4f39
Author: Elizaveta <e.egorova@adguard.com>
Date: Wed Nov 19 13:54:39 2025 +0300
Merge branch 'master' into AGDNS-3312
commit c70212ec761714528216f5f5dafe1f6683c480b5
Author: Elizaveta <e.egorova@adguard.com>
Date: Tue Nov 18 17:21:26 2025 +0300
remove redundant line
commit b08a8d0341fd7a042f63f960c784a11dce915a18
Author: Elizaveta <e.egorova@adguard.com>
Date: Tue Nov 18 14:02:32 2025 +0300
lint
commit c78f40bc6986a64b6a8606790b2307076f5b12c8
Author: Elizaveta <e.egorova@adguard.com>
Date: Tue Nov 18 14:02:07 2025 +0300
update translations
commit dd53e8b47361fa1b138151dc504fe5ee138391c4
Author: Elizaveta <e.egorova@adguard.com>
Date: Tue Nov 18 13:55:27 2025 +0300
remove accordion
commit af2bd3bdfd71d93fcf83d7fa836d85c319293d6d
Author: Elizaveta <e.egorova@adguard.com>
Date: Fri Nov 14 16:09:22 2025 +0300
linter
commit 19eb2bfdc12f9c2a4c4f525027811719a72da214
Author: Elizaveta <e.egorova@adguard.com>
Date: Fri Nov 14 16:07:48 2025 +0300
fix
commit fc9a32299e778270354ce3fadd046437cda63a0d
Author: Elizaveta <e.egorova@adguard.com>
Date: Fri Nov 14 14:29:29 2025 +0300
fix translations
commit 9c4dbc5fdebe00f4aa545172ffd733b71028a243
Author: Elizaveta <e.egorova@adguard.com>
Date: Thu Nov 13 19:22:51 2025 +0300
linter
commit 90107c52fa8391294201ecf5cfb437716e7d1eca
Author: Elizaveta <e.egorova@adguard.com>
Date: Thu Nov 13 18:07:26 2025 +0300
fix styles
commit 4dd170e91a14dcab5f7b168cdf6f410847ad1dda
Author: Elizaveta <e.egorova@adguard.com>
Date: Thu Nov 13 18:01:52 2025 +0300
update translations
commit 1a865f0856c53da00a418ee1e9dfa936210bc1cf
Author: Eugene Burkov <e.burkov@adguard.com>
Date: Wed Nov 12 16:06:19 2025 +0300
Pull request 2523: AGDNS-3398-imp-translations-script
Squashed commit of the following:
commit 3753e6d308c9dbe23d1c7c41cf57457b364cb253
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Wed Nov 12 15:43:55 2025 +0300
translations: imp code, docs
commit 5389ec67eddbe33a99c3c893cb5b63c131d34e84
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Wed Nov 12 14:14:08 2025 +0300
all: fix lint, imp code
commit c2e1b8edee9077d5f1991ba82ec50cb79fb0785a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Mon Nov 10 18:03:23 2025 +0300
all: imp translations script
commit c930dcff368107a39d352faa3eebf7c6a0b41b54
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date: Mon Nov 10 17:52:44 2025 +0300
scripts: revert master
commit c28e13b4e124977c9f799bdd0bc3951894d599ce
Author: Elizaveta <e.egorova@adguard.com>
Date: Wed Nov 5 16:43:13 2025 +0300
move project key const
commit ee977f59930af911b3724fca2a40abd9bb4a8b3c
Author: Elizaveta <e.egorova@adguard.com>
Date: Wed Nov 5 16:25:34 2025 +0300
update download script
commit 244c1011b052256db71c6bcebb42354843635b80
Author: Elizaveta <e.egorova@adguard.com>
Date: Sat Nov 1 15:59:04 2025 +0300
restore master toggle
commit 40418ea8cfc396a69a49689554528964e8820363
Author: Elizaveta <e.egorova@adguard.com>
Date: Sat Nov 1 14:59:57 2025 +0300
update saveToFile func
commit e4f3c677d4c915cc1f1bcca39b062302d8d02493
Author: Elizaveta <e.egorova@adguard.com>
Date: Sat Nov 1 14:52:14 2025 +0300
go linter
commit 5359590953740a05fc5ba5b17c2f81cf89df601a
Author: Elizaveta <e.egorova@adguard.com>
Date: Sat Nov 1 14:44:39 2025 +0300
remove en group tr from __locales
commit a91215dfada17ad7b3496e7e25a4c06dced4f287
Author: Elizaveta <e.egorova@adguard.com>
Date: Sat Nov 1 14:43:39 2025 +0300
add translations
commit c65f80048d1a334484da30e5f41ee37698660b44
Author: Elizaveta <e.egorova@adguard.com>
Date: Sat Nov 1 12:15:07 2025 +0300
fix ui
commit 893433bd8f5a7cd3187c22cc841fe0e686184d1e
Author: Elizaveta <e.egorova@adguard.com>
Date: Fri Oct 31 17:22:44 2025 +0300
fix comment
commit 26148996c99123d44664cce0ac310822e7346536
Author: Elizaveta <e.egorova@adguard.com>
Date: Fri Oct 31 16:49:46 2025 +0300
styles
commit 27859582523eac70ea8569cb9aea5011053587d1
Author: Elizaveta <e.egorova@adguard.com>
Date: Fri Oct 31 16:48:46 2025 +0300
linter
... and 6 more commits
AdGuard Home scripts
hooks/: Git hooks
Usage
Run make init from the project root.
make/: Makefile scripts
The release channels are: development (the default), edge, beta, and release. If verbosity levels aren’t documented here, there are only two: 0, don’t print anything, and 1, be verbose.
build-docker.sh: Build a multi-architecture Docker image
Required environment:
-
CHANNEL: release channel, see above. -
DIST_DIR: the directory where a release has previously been built. -
REVISION: current Git revision. -
VERSION: release version.
Optional environment:
-
DOCKER_IMAGE_NAME: the name of the resulting Docker container. By default it’sadguardhome-dev. -
DOCKER_OUTPUT: the--outputparameters. By default they aretype=image,name=${DOCKER_IMAGE_NAME},push=false. -
SUDO: allow users to usesudoordoaswithdocker. By default none is used.
build-release.sh: Build a release for all platforms
Required environment:
-
CHANNEL: release channel, see above. -
GPG_KEYandGPG_KEY_PASSPHRASE: data forgpg. Only required ifSIGNis1.
Optional environment:
-
ARCHandOS: space-separated list of architectures and operating systems for which to build a release. For example, to build only for 64-bit ARM and AMD on Linux and Darwin:make ARCH='amd64 arm64' OS='darwin linux' … build-releaseThe default value is
'', which means build everything. -
DIST_DIR: the directory to build a release into. The default value isdist. -
GO: set an alternative name for the Go compiler. -
SIGN:0to not sign the resulting packages,1to sign. The default value is1. -
VERBOSE:1to be verbose,2to also print environment. This script callsgo-build.shwith the verbosity level one level lower, so to get verbosity level2ingo-build.sh, set this to3when callingbuild-release.sh. -
VERSION: release version. Will be set byversion.shif it is unset or if it has the defaultMakefilevalue ofv0.0.0.
We’re using Go’s forward compatibility mechanism for updating the Go version. This means that if your go version is 1.21+ but is different from the one required by AdGuard Home, the go tool will automatically download the required version.
If you want to use the version installed on your builder, run:
go get go@$YOUR_VERSION
go mod tidy
and call make with GOTOOLCHAIN=local.
go-bench.sh: Run backend benchmarks
Optional environment:
-
GO: set an alternative name for the Go compiler. -
TIMEOUT_FLAGS: set timeout flags for tests. The default value is--timeout=30s. -
VERBOSE: verbosity level.1shows every command that is run and every Go package that is processed.2also shows subcommands and environment. The default value is0, don’t be verbose.
go-build.sh: Build the backend
Optional environment:
-
GOAMD64: architectural level for AMD64. The default value isv1. -
GOARM: ARM processor options for the Go compiler. -
GOMIPS: ARM processor options for the Go compiler. -
GO: set an alternative name for the Go compiler. -
OUT: output binary name. -
PARALLELISM: set the maximum number of concurrently run build commands (that is, compiler, linker, etc.). -
SOURCE_DATE_EPOCH: the standardized environment variable for the Unix epoch time of the latest commit in the repository. If set, overrides the default obtained from Git. Useful for reproducible builds. -
VERBOSE: verbosity level.1shows every command that is run and every Go package that is processed.2also shows subcommands and environment. The default value is0, don’t be verbose. -
VERSION: release version. Will be set byversion.shif it is unset or if it has the defaultMakefilevalue ofv0.0.0.
Required environment:
CHANNEL: release channel, see above.
go-deps.sh: Install backend dependencies
Optional environment:
-
GO: set an alternative name for the Go compiler. -
VERBOSE: verbosity level.1shows every command that is run and every Go package that is processed.2also shows subcommands and environment. The default value is0, don’t be verbose.
go-fuzz.sh: Run backend fuzz tests
Optional environment:
-
GO: set an alternative name for the Go compiler. -
FUZZTIME_FLAGS: set fuss flags for tests. The default value is--fuzztime=20s. -
TIMEOUT_FLAGS: set timeout flags for tests. The default value is--timeout=30s. -
VERBOSE: verbosity level.1shows every command that is run and every Go package that is processed.2also shows subcommands and environment. The default value is0, don’t be verbose.
go-lint.sh: Run backend static analyzers
Don’t forget to run make go-tools once first!
Optional environment:
-
EXIT_ON_ERROR: if set to0, don’t exit the script after the first encountered error. The default value is1. -
GO: set an alternative name for the Go compiler. -
VERBOSE: verbosity level.1shows every command that is run.2also shows subcommands. The default value is0, don’t be verbose.
go-test.sh: Run backend tests
Optional environment:
-
GO: set an alternative name for the Go compiler. -
RACE: set to0to not use the Go race detector. The default value is1, use the race detector. -
TIMEOUT_FLAGS: set timeout flags for tests. The default value is--timeout=30s. -
VERBOSE: verbosity level.1shows every command that is run and every Go package that is processed.2also shows subcommands. The default value is0, don’t be verbose.
go-tools.sh: Install backend tooling
Installs the Go static analysis and other tools into ${PWD}/bin. Either add ${PWD}/bin to your $PATH before all other entries, or use the commands directly, or use the commands through make (for example, make go-lint).
Optional environment:
GO: set an alternative name for the Go compiler.
version.sh: Generate And Print The Current Version
Required environment:
CHANNEL: release channel, see above.
snap/: Snapcraft scripts
build.sh
Builds the Snapcraft packages from the binaries created by download.sh.
Optional environment:
SNAPCRAFT_CMD: Overrides the Snapcraft command. Default:snapcraft.
download.sh
Downloads the binaries to pack them into Snapcraft packages.
Required environment:
CHANNEL: release channel, see above.
upload.sh
Uploads the Snapcraft packages created by build.sh.
Required environment:
-
SNAPCRAFT_CHANNEL: Snapcraft release channel:edge,beta, orcandidate. -
SNAPCRAFT_STORE_CREDENTIALS: Credentials for Snapcraft store.
Optional environment:
SNAPCRAFT_CMD: Overrides the Snapcraft command. Default:snapcraft.
translations/: Twosky Integration Script
Usage
-
go run ./scripts/translations help: print usage. -
go run ./scripts/translations download [-n <count>]: download and save all translations.nis optional flag where count is a number of concurrent downloads. Note, that it downloads locales for all configurations in the.twosky.jsonfile. -
go run ./scripts/translations upload: upload the baseenlocale. -
go run ./scripts/translations summary: show the current locales summary. -
go run ./scripts/translations unused: show the list of unused strings. -
go run ./scripts/translations auto-add: add locales with additions to the git and restore locales with deletions.
After the download you’ll find the output locales in the client/src/__locales/ directory.
Optional environment:
-
DOWNLOAD_LANGUAGES: set a list of specific languages todownload. For examplear be bg. If it set toblockerthen script will download only those languages, which need to be fully translated (de en es fr it ja ko pt-br pt-pt ru zh-cn zh-tw). -
UPLOAD_LANGUAGE: set an alternative language forupload. -
TWOSKY_URI: set an alternative URL fordownloadorupload. -
TWOSKY_PROJECT_ID: set an alternative project ID fordownloadorupload.Deprectated: This environment variable should not be used since the script began supporting multiple configurations.
companiesdb/: Whotracks.me database converter
A simple script that downloads and updates the companies DB in the client code from the repo.
Usage
sh ./scripts/companiesdb/download.sh
blocked-services/: Blocked-services updater
A simple script that downloads and updates the blocked services index from AdGuard’s Hostlists Registry.
Optional environment:
URL: the URL of the index file. By default it’shttps://adguardteam.github.io/HostlistsRegistry/assets/services.json.
Usage
go run ./scripts/blocked-services/main.go
vetted-filters/: Vetted-filters updater
Similar to the one above, a script that downloads and updates the vetted filtering list data from AdGuard’s Hostlists Registry.
Optional environment:
URL: the URL of the index file. By default it’shttps://adguardteam.github.io/HostlistsRegistry/assets/filters.json.
Usage
go run ./scripts/vetted-filters/main.go