Merge in DNS/adguard-home from dhcpd-imp-code to master Squashed commit of the following: commit 413403c169bd3f6b5f2ed63b783d078dbb15e054 Merge: eed183850 0fec990bc Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Fri May 26 12:46:25 2023 +0300 Merge remote-tracking branch 'origin/master' into dhcpd-imp-code commit eed1838502add1e16e5d3ada03778f21913fd5e5 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Fri May 26 12:16:46 2023 +0300 dhcpd: imp docs commit fa4fe036f7b1f2b49201bf0b5b904f99989082f0 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Thu May 25 11:32:34 2023 +0300 all: lint script commit a4022b3d4bbfa709e5096397bbe64ea406c8a366 Merge: e08ff3a26 cbc7985e7 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Thu May 25 11:29:57 2023 +0300 Merge remote-tracking branch 'origin/master' into dhcpd-imp-code # Conflicts: # scripts/make/go-lint.sh commit e08ff3a26414e201d6e75608363db941fa2f5b39 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Wed May 24 15:43:11 2023 +0300 dhcpd: imp code commit 970b538f8ea94d3732d77bfb648e402a1d28ab06 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Wed May 24 15:40:36 2023 +0300 dhcpd: imp code commit 0e5916ddd7514af983e8557080d55d6aeb6fbbc0 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Wed May 24 15:37:17 2023 +0300 dhcpd: imp code commit e06a6c6031b232e76ae2be3e3b8fe1a2ffa715e0 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 16:40:09 2023 +0300 dhcpd: imp code commit eed4ff10ff1b29c71d70fb7978706efde89afee1 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 15:45:06 2023 +0300 all: lint script commit 87f84ace5f6f34dbc28befa8257d1d2492c5e0a4 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 15:44:23 2023 +0300 dhcpd: imp code commit a54c9929d51de1f1e6807d650fd08dd80ddbf147 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 14:29:42 2023 +0300 dhcpd: imp code commit 1bbea342f7f55587724aa9a29d9657e5ce75f5d8 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 14:12:09 2023 +0300 dhcpd: imp code commit 48fb4eff73683e799ddb3076afdcf7b067ca24b6 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 13:57:59 2023 +0300 dhcpd: imp code commit f6cd7fcb8d4c1c815a20875d777ea1eca2c8ea89 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 13:17:54 2023 +0300 dhcpd: imp code commit 2b91dc25bbaa16dba6d9389a4e2224cf91eb4554 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Tue May 23 12:57:46 2023 +0300 dhcpd: imp code commit 34f5dd58764080f6202fc9a1abd751a15dbf7090 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon May 22 15:31:39 2023 +0300 dhcpd: imp code commit 12ef0d225064a1b78adf7b2cfca21a8dba92ca8e Merge: 6b62a7665 24b41100c Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon May 22 13:03:41 2023 +0300 Merge remote-tracking branch 'origin/master' into dhcpd-imp-code commit 6b62a7665720b85398d65a1926518a63e6bb6403 Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon May 22 12:55:43 2023 +0300 dhcpd: imp code commit 18c5cdf0480fac7711282027a64d58704c75af5f Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon May 22 12:48:30 2023 +0300 dhcpd: imp code commit e7c1f4324cba3fe86cf56df6b971791a5a8790de Author: Dimitry Kolyshev <dkolyshev@adguard.com> Date: Mon May 22 12:37:15 2023 +0300 dhcpd: imp code ... and 1 more commit
AdGuard Home Scripts
hooks/
: Git Hooks
Usage
Run make init
from the project root.
querylog/
: Query Log Helpers
Usage
npm install
: install dependencies. Run this first.npm run anonymize <source> <dst>
: read the query log from the<source>
and write anonymized version to<dst>
.
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.COMMIT
: current Git revision.DIST_DIR
: the directory where a release has previously been built.VERSION
: release version.
Optional environment:
DOCKER_IMAGE_NAME
: the name of the resulting Docker container. By default it'sadguardhome-dev
.DOCKER_OUTPUT
: the--output
parameters. By default they aretype=image,name=${DOCKER_IMAGE_NAME},push=false
.SUDO
: allow users to usesudo
ordoas
withdocker
. By default none is used.
build-release.sh
: Build A Release For All Platforms
Required environment:
CHANNEL
: release channel, see above.GPG_KEY
andGPG_KEY_PASSPHRASE
: data forgpg
. Only required ifSIGN
is1
.
Optional environment:
ARCH
andOS
: 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:
The default value ismake ARCH='amd64 arm64' OS='darwin linux' … build-release
''
, which means build everything.BUILD_SNAP
:0
to not build Snapcraft packages,1
to build. The default value is1
.DIST_DIR
: the directory to build a release into. The default value isdist
.GO
: set an alternative name for the Go compiler.SIGN
:0
to not sign the resulting packages,1
to sign. The default value is1
.VERBOSE
:1
to be verbose,2
to also print environment. This script callsgo-build.sh
with the verbosity level one level lower, so to get verbosity level2
ingo-build.sh
, set this to3
when callingbuild-release.sh
.VERSION
: release version. Will be set byversion.sh
if it is unset or if it has the defaultMakefile
value ofv0.0.0
.
clean.sh
: Cleanup
Optional environment:
GO
: set an alternative name for the Go compiler.
Required environment:
DIST_DIR
: the directory where a release has previously been built.
go-build.sh
: Build The Backend
Optional environment:
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.1
shows every command that is run and every Go package that is processed.2
also shows subcommands and environment. The default value is0
, don't be verbose.VERSION
: release version. Will be set byversion.sh
if it is unset or if it has the defaultMakefile
value 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.1
shows every command that is run and every Go package that is processed.2
also 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.1
shows every command that is run.2
also 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 to0
to 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.1
shows every command that is run and every Go package that is processed.2
also 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/
: Snap GUI Files
App icons (see https://github.com/AdguardTeam/AdGuardHome/pull/1836), Snap manifest file templates, and helper scripts.
translations/
: Twosky Integration Script
Usage
-
go run main.go help
: print usage. -
go run main.go download [-n <count>]
: download and save all translations.n
is optional flag where count is a number of concurrent downloads. -
go run main.go upload
: upload the baseen
locale. -
go run main.go summary
: show the current locales summary. -
go run main.go unused
: show the list of unused strings. -
go run main.go 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:
-
UPLOAD_LANGUAGE
: set an alternative language forupload
. -
TWOSKY_URI
: set an alternative URL fordownload
orupload
. -
TWOSKY_PROJECT_ID
: set an alternative project ID fordownload
orupload
.
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