Updates #3972.
Squashed commit of the following:
commit 9dc0efe2453cb6c738d97d39b02c86eccb18a42c
Merge: 239550f8 8a935d4f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date: Thu Oct 27 14:42:38 2022 +0300
Merge branch 'master' into 3972-hostlists-services
commit 239550f84228e7c7a6f4ae6b1cadcc47e01f54d5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date: Thu Oct 27 14:41:42 2022 +0300
filtering: upd service list
commit b8bf3a6a4b1333059b886be95a1419612aebac39
Author: Ildar Kamalov <ik@adguard.com>
Date: Thu Oct 27 13:41:09 2022 +0300
client: remove todo
commit caa504b482befb804db2a1ca0b6d4834aa4da49a
Author: Ildar Kamalov <ik@adguard.com>
Date: Thu Oct 27 12:54:45 2022 +0300
fix build
commit 511797c305d9eef84a20553dab795414e00da51a
Author: Ildar Kamalov <ik@adguard.com>
Date: Thu Oct 27 12:40:33 2022 +0300
client: add titles with service names to the clients table
commit 79ed3157a85b489a0b13381cff867a8c73ba60e9
Author: Ildar Kamalov <ik@adguard.com>
Date: Thu Oct 27 12:36:59 2022 +0300
client: fix empty icons
commit ab69b95784de87665d5a1a3683f28e3b3df1c210
Author: Ildar Kamalov <ik@adguard.com>
Date: Thu Oct 27 11:55:48 2022 +0300
client: use all blocked services
commit 9a4a87665c8463224d8e93f1e162988107f6c7ca
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date: Tue Oct 25 19:25:20 2022 +0300
all: fix json response
commit 86eb4493ce305cd5991176bd4cd8f7f5afdea330
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date: Tue Oct 25 19:09:44 2022 +0300
all: use hostslists registry for blocked svcs
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
npm install: install dependencies. Run this first.npm run locales:download: download and save all translations.npm run locales:upload: upload the baseenlocale.npm run locales:summary: show the current locales summary.npm run locales: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 forlocales:uploadto upload.
companiesdb/: Whotracks.me Database Converter
A simple script that downloads and updates the companies DB in the client
code from the repo.
Usage
( cd scripts/companiesdb && sh ./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