Merge in DNS/adguard-home from 3290-docker-healthcheck to master Updates #3290. Squashed commit of the following: commit 3ac8f26c1c22855d973910fd13c096776aa8dfa6 Merge: bc17565f0df32601Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Mon Mar 27 01:09:03 2023 +0500 Merge branch 'master' into 3290-docker-healthcheck commit bc17565fcb5acba68129734450fb08b4fe341771 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Sun Mar 26 18:04:08 2023 +0500 all: fix script commit e150fee8025dacdc5aa1d12916d1f42e89216156 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Sun Mar 26 17:18:12 2023 +0500 all: imp naming commit 26b6448d10af39f8363eadd962af228a9d4ae51d Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Sun Mar 26 03:13:47 2023 +0500 all: support https web commit b5c09ce8b2ac52d6e47a00f76125bee229f616a0 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Sat Mar 25 20:03:45 2023 +0500 all: imp scripts fmt, naming commit 8c3798c46974e48cc0c379c2ecc46a6d8d54164b Merge: e33b0c5cfb7b8bbaAuthor: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Sat Mar 25 00:25:38 2023 +0500 Merge branch 'master' into 3290-docker-healthcheck commit e33b0c5cbfe5a28b29734c9ceee046b0f82a0efe Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Fri Mar 24 16:47:26 2023 +0500 all: fix docs commit 57bfd898b9c468b2b72eba06294ed5e5e0226c20 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Fri Mar 24 16:44:40 2023 +0500 dnsforward: add special-use domain handling commit f04ae13f441a25d0b4dc1359b328552f7507fc23 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Fri Mar 24 16:05:10 2023 +0500 all: imp code commit 32f150f88390320d2da85b54e27f6c751eccb851 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Fri Mar 24 04:19:10 2023 +0500 all: mv Dockerfile, log changes commit a094a44ccfa26988f0e71f19288e08b26e255e2b Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Fri Mar 24 04:04:27 2023 +0500 all: finish scripts, imp names commit 4db0d0e7cb7ed69030994bc1b579534dd2c3395d Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Thu Mar 23 18:33:47 2023 +0500 docker: add script and awk program
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--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:The default value ismake ARCH='amd64 arm64' OS='darwin linux' … build-release'', which means build everything.BUILD_SNAP:0to not build Snapcraft packages,1to 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: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.
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.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-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/: 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.nis optional flag where count is a number of concurrent downloads. -
go run main.go upload: upload the baseenlocale. -
go run main.go summary: show the current locales summary. -
go run main.go unused: show the list of unused strings.
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 fordownloadorupload. -
TWOSKY_PROJECT_ID: set an alternative project ID fordownloadorupload.
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