Merge in DNS/adguard-home from home-imp-code to master
Squashed commit of the following:
commit 459297e189c55393bf0340dd51ec9608d3475e55
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 10 11:42:34 2023 +0300
home: imp code
commit ab38e1e80fed7b24fe57d4afdc57b70608f65d73
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 10 11:01:23 2023 +0300
all: lint script
commit 7df68b128bf32172ef2e3bf7116f4f72a97baa2b
Merge: bcb482714 db52f7a3a
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 10 10:59:40 2023 +0300
Merge remote-tracking branch 'origin/master' into home-imp-code
commit bcb482714780da882e69c261be08511ea4f36f3b
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:48:27 2023 +0300
all: lint script
commit 1c017f27715202ec1f40881f069a96f11f9822e8
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:45:25 2023 +0300
all: lint script
commit ee3d427a7d6ee7e377e67c5eb99eebc7fb1e6acc
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:44:53 2023 +0300
home: imp code
commit bc50430469123415216e60e178bd8e30fc229300
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 13:12:10 2023 +0300
home: imp code
commit fc07e416aeab2612e68cf0e3f933aaed95931115
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 11:42:32 2023 +0300
aghos: service precheck
commit a68480fd9c4cd6f3c89210bee6917c53074f7a82
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Thu May 4 11:07:05 2023 +0300
home: imp code
commit 61b743a340ac1564c48212452c7a9acd1808d352
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 17:17:21 2023 +0300
all: lint script
commit c6fe620510c4af5b65456e90cb3424831334e004
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 17:16:37 2023 +0300
home: imp code
commit 4b2fb47ea9c932054ccc72b1fd1d11793c93e39c
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 16:55:44 2023 +0300
home: imp code
commit 63df3e2ab58482920a074cfd5f4188e49a0f8448
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 16:25:38 2023 +0300
home: imp code
commit c7f1502f976482c2891e0c64426218b549585e83
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 15:54:30 2023 +0300
home: imp code
commit c64cdaf1c82495bb70d9cdcaf7be9eeee9a7c773
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:35:04 2023 +0300
home: imp code
commit a50436e040b3a064ef51d5f936b879fe8de72d41
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:24:02 2023 +0300
home: imp code
commit 2b66464f472df732ea27cbbe5ac5c673a13bc14b
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:11:53 2023 +0300
home: imp code
commit 713ce2963c210887faa0a06e41e01e4ebbf96894
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date: Wed May 3 14:10:54 2023 +0300
home: imp code
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. -
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 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