ff9b24ad69
Merge in DNS/adguard-home from chlog-and-proj-skel to master Squashed commit of the following: commit 8e7c3e2eb50c559bdcd5862e72c16511dd8272da Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Tue Feb 21 16:52:10 2023 +0300 all: upd proj skel |
||
---|---|---|
.. | ||
blocked-services | ||
companiesdb | ||
hooks | ||
make | ||
querylog | ||
snap | ||
translations | ||
vetted-filters | ||
install.sh | ||
README.md |
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
npm install
: install dependencies. Run this first.npm run locales:download
: download and save all translations.npm run locales:upload
: upload the baseen
locale.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:
-
SLEEP_TIME
: set the sleep time between downloads forlocales:download
, in milliseconds. The default is 250 ms. -
UPLOAD_LANGUAGE
: set an alternative language forlocales:upload
to upload.
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