mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2025-03-07 11:15:42 +03:00
Merge in DNS/adguard-home from AG-20200-translation-script to master Squashed commit of the following: commit 3113b77c0312219f8134324caa232a53c42a3988 Merge: bbd784abf736d85e
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Mar 21 17:41:08 2023 +0300 Merge branch 'master' into AG-20200-translation-script commit bbd784ab817955f3342d140644a3199d558c22b8 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Mar 21 13:23:48 2023 +0300 scripts: imp code commit 7d379ab1fc2ae9858f8e7e3754de9be3d23153b6 Merge: 4f6278ad1daabb97
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Mar 21 12:01:16 2023 +0300 Merge branch 'master' into AG-20200-translation-script commit 4f6278adb28287205a4fc89239e7ba776a15ff7a Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Fri Mar 17 14:27:32 2023 +0300 scripts: imp error handling commit 64e307a591cfeac1986d477a55bcc714636663bc Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Mar 16 15:41:39 2023 +0300 scripts: imp code commit fe06df88f2bb3fc0de83f83deea26652485a22d4 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Mar 16 15:23:20 2023 +0300 scripts: add docs commit 15d65a075373586fc31a595d7c831b80752d7cf2 Merge: ddd3cacd9f7a582d
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Mar 16 13:04:16 2023 +0300 Merge branch 'master' into AG-20200-translation-script commit ddd3cacd507ca861c4d9d5f7600bdcc2c3068315 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Thu Mar 16 13:03:11 2023 +0300 scripts: imp code commit 4e8ebdc199f0c0ff4e7c7b8ae71483cca6c4d428 Merge: 73fedefac6706445
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Wed Mar 15 12:25:36 2023 +0300 Merge branch 'master' into AG-20200-translation-script commit 73fedefa4ceaf2273648afe5816f1903d96ba213 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Wed Mar 15 12:25:04 2023 +0300 scripts: fix chlog commit 780b0a257b6b2e684cfe8a49e4c4d22bcd4056ec Merge: ef70d192595484e0
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Mar 14 14:58:24 2023 +0300 Merge branch 'master' into AG-20200-translation-script commit ef70d192555a9ef2acd6dd1caeb4f05a10a1de63 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Mar 14 14:57:36 2023 +0300 scripts: upd readme commit e28655826c8c5ce6ddf3cc904201681286a6be87 Merge: cae3b769a2053526
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Mar 13 14:28:47 2023 +0300 Merge branch 'master' into AG-20200-translation-script commit cae3b769dfa6906653b32104169ae4a08a2c3723 Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Mon Mar 13 14:27:29 2023 +0300 scripts: rm translations js commit 77e2e3480b52a70b8ef9be8f1edf581cca2a1a3a Merge: 99e2382ac11a52d6
Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Mar 7 16:04:06 2023 +0300 Merge branch 'master' into AG-20200-translation-script commit 99e2382a161dee0bff30ae488d8b42565330d82e Author: Stanislav Chzhen <s.chzhen@adguard.com> Date: Tue Mar 7 16:03:19 2023 +0300 scripts: add translations go
255 lines
7.5 KiB
Markdown
255 lines
7.5 KiB
Markdown
# 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's `adguardhome-dev`.
|
|
* `DOCKER_OUTPUT`: the `--output` parameters. By default they are
|
|
`type=image,name=${DOCKER_IMAGE_NAME},push=false`.
|
|
* `SUDO`: allow users to use `sudo` or `doas` with `docker`. By default none
|
|
is used.
|
|
|
|
|
|
|
|
### `build-release.sh`: Build A Release For All Platforms
|
|
|
|
Required environment:
|
|
* `CHANNEL`: release channel, see above.
|
|
* `GPG_KEY` and `GPG_KEY_PASSPHRASE`: data for `gpg`. Only required if `SIGN`
|
|
is `1`.
|
|
|
|
Optional environment:
|
|
* `ARCH` and `OS`: 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:
|
|
```sh
|
|
make ARCH='amd64 arm64' OS='darwin linux' … build-release
|
|
```
|
|
The default value is `''`, which means build everything.
|
|
* `BUILD_SNAP`: `0` to not build Snapcraft packages, `1` to build. The
|
|
default value is `1`.
|
|
* `DIST_DIR`: the directory to build a release into. The default value is
|
|
`dist`.
|
|
* `GO`: set an alternative name for the Go compiler.
|
|
* `SIGN`: `0` to not sign the resulting packages, `1` to sign. The default
|
|
value is `1`.
|
|
* `VERBOSE`: `1` to be verbose, `2` to also print environment. This script
|
|
calls `go-build.sh` with the verbosity level one level lower, so to get
|
|
verbosity level `2` in `go-build.sh`, set this to `3` when calling
|
|
`build-release.sh`.
|
|
* `VERSION`: release version. Will be set by `version.sh` if it is unset or
|
|
if it has the default `Makefile` value of `v0.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][repr] 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 is `0`, don't be verbose.
|
|
* `VERSION`: release version. Will be set by `version.sh` if it is unset or
|
|
if it has the default `Makefile` value of `v0.0.0`.
|
|
|
|
Required environment:
|
|
* `CHANNEL`: release channel, see above.
|
|
|
|
[repr]: https://reproducible-builds.org/docs/source-date-epoch/
|
|
|
|
|
|
|
|
### `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 is `0`, 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 to `0`, don't exit the script after the first
|
|
encountered error. The default value is `1`.
|
|
* `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 is `0`, don't be verbose.
|
|
|
|
|
|
|
|
### `go-test.sh`: Run Backend Tests
|
|
|
|
Optional environment:
|
|
* `GO`: set an alternative name for the Go compiler.
|
|
* `RACE`: set to `0` to not use the Go race detector. The default value is
|
|
`1`, 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 is `0`, 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 base `en` locale.
|
|
|
|
* `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 for `upload`.
|
|
|
|
* `TWOSKY_URI`: set an alternative URL for `download` or `upload`.
|
|
|
|
* `TWOSKY_PROJECT_ID`: set an alternative project ID for `download` or
|
|
`upload`.
|
|
|
|
|
|
|
|
## `companiesdb/`: Whotracks.me Database Converter
|
|
|
|
A simple script that downloads and updates the companies DB in the `client`
|
|
code from [the repo][companiesrepo].
|
|
|
|
### Usage
|
|
|
|
```sh
|
|
sh ./scripts/companiesdb/download.sh
|
|
```
|
|
|
|
[companiesrepo]: https://github.com/AdguardTeam/companiesdb
|
|
|
|
|
|
|
|
## `blocked-services/`: Blocked Services Updater
|
|
|
|
A simple script that downloads and updates the blocked services index from
|
|
AdGuard's [Hostlists Registry][reg].
|
|
|
|
Optional environment:
|
|
|
|
* `URL`: the URL of the index file. By default it's
|
|
`https://adguardteam.github.io/HostlistsRegistry/assets/services.json`.
|
|
|
|
### Usage
|
|
|
|
```sh
|
|
go run ./scripts/blocked-services/main.go
|
|
```
|
|
|
|
[reg]: https://github.com/AdguardTeam/HostlistsRegistry
|
|
|
|
|
|
|
|
## `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][reg].
|
|
|
|
Optional environment:
|
|
|
|
* `URL`: the URL of the index file. By default it's
|
|
`https://adguardteam.github.io/HostlistsRegistry/assets/filters.json`.
|
|
|
|
### Usage
|
|
|
|
```sh
|
|
go run ./scripts/vetted-filters/main.go
|
|
```
|