diff --git a/internal/dhcpd/README.md b/internal/dhcpd/README.md index 8bb51147..18c7d1d7 100644 --- a/internal/dhcpd/README.md +++ b/internal/dhcpd/README.md @@ -1,61 +1,50 @@ - # Testing DHCP Server +# Testing DHCP Server Contents: - * [Test setup with Virtual Box](#vbox) - * [Quick test with DHCPTest](#dhcptest) -## Test setup with Virtual Box +- [Test setup with Virtual Box](#vbox) +- [Quick test with DHCPTest](#dhcptest) - ### Prerequisites +## Test setup with Virtual Box + +### Prerequisites To set up a test environment for DHCP server you will need: - * Linux AG Home host machine (Virtual). - * Virtual Box. - * Virtual machine (guest OS doesn't matter). +- Linux AG Home host machine (Virtual) +- Virtual Box +- Virtual machine (guest OS doesn't matter) - ### Configure Virtual Box +### Configure Virtual Box - 1. Install Virtual Box and run the following command to create a Host-Only - network: +1. Install Virtual Box and run the following command to create a Host-Only network: - ```sh - $ VBoxManage hostonlyif create - ``` + ```sh + VBoxManage hostonlyif create + ``` - You can check its status by `ip a` command. + You can check its status by `ip a` command. - You can also set up Host-Only network using Virtual Box menu: + You can also set up Host-Only network using Virtual Box menu in *File → Host Network Manager.* - ``` - File -> Host Network Manager... - ``` +2. Create your virtual machine and set up its network in *VM Settings → Network → Host-only Adapter.* - 2. Create your virtual machine and set up its network: +3. Start your VM, install an OS. Configure your network interface to use DHCP and the OS should ask for a IP address from our DHCP server. - ``` - VM Settings -> Network -> Host-only Adapter - ``` +4. To see the current IP addresses on client OS you can use `ip a` command on Linux or `ipconfig` on Windows. - 3. Start your VM, install an OS. Configure your network interface to use - DHCP and the OS should ask for a IP address from our DHCP server. +5. To force the client OS to request an IP from DHCP server again, you can use `dhclient` on Linux or `ipconfig /release` on Windows. - 4. To see the current IP addresses on client OS you can use `ip a` command on - Linux or `ipconfig` on Windows. +### Configure server - 5. To force the client OS to request an IP from DHCP server again, you can - use `dhclient` on Linux or `ipconfig /release` on Windows. +1. Edit server configuration file `AdGuardHome.yaml`, for example: - ### Configure server - - 1. Edit server configuration file `AdGuardHome.yaml`, for example: - - ```yaml - dhcp: - enabled: true - interface_name: vboxnet0 - local_domain_name: lan - dhcpv4: + ```yaml + dhcp: + enabled: true + interface_name: vboxnet0 + local_domain_name: lan + dhcpv4: gateway_ip: 192.168.56.1 subnet_mask: 255.255.255.0 range_start: 192.168.56.2 @@ -63,34 +52,33 @@ To set up a test environment for DHCP server you will need: lease_duration: 86400 icmp_timeout_msec: 1000 options: [] - dhcpv6: + dhcpv6: range_start: 2001::1 lease_duration: 86400 ra_slaac_only: false ra_allow_slaac: false - ``` + ``` - 2. Start the server +2. Start the server: - ```sh - ./AdGuardHome -v - ``` + ```sh + ./AdGuardHome -v + ``` - There should be a message in log which shows that DHCP server is ready: + There should be a message in log which shows that DHCP server is ready: - ``` - [info] DHCP: listening on 0.0.0.0:67 - ``` + ```none + [info] dhcpv4: listening + ``` -## Quick test with DHCPTest utility +## Quick test with DHCPTest utility - ### Prerequisites +### Prerequisites - * [DHCP test utility][dhcptest-gh]. +- [DHCP test utility][dhcptest-gh]. - ### Quick test +### Quick test -The DHCP server could be tested for DISCOVER-OFFER packets with in -interactive mode. +The DHCP server could be tested for DISCOVER-OFFER packets with in interactive mode. [dhcptest-gh]: https://github.com/CyberShadow/dhcptest diff --git a/internal/filtering/README.md b/internal/filtering/README.md deleted file mode 100644 index cd3926f0..00000000 --- a/internal/filtering/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# AdGuard Home's DNS filtering go library - -Example use: -```bash -[ -z "$GOPATH" ] && export GOPATH=$HOME/go -go get -d github.com/AdguardTeam/AdGuardHome/filtering -``` - -Create file filter.go -```filter.go -package main - -import ( - "github.com/AdguardTeam/AdGuardHome/filtering" - "log" -) - -func main() { - filter := filtering.New() - filter.AddRule("||dou*ck.net^") - host := "www.doubleclick.net" - res, err := filter.CheckHost(host) - if err != nil { - // temporary failure - log.Fatalf("Failed to check host %q: %s", host, err) - } - if res.IsFiltered { - log.Printf("Host %s is filtered, reason - %q, matched rule: %q", host, res.Reason, res.Rule) - } else { - log.Printf("Host %s is not filtered, reason - %q", host, res.Reason) - } -} -``` - -And then run it: -```bash -go run filter.go -``` - -You will get: -``` -2000/01/01 00:00:00 Host www.doubleclick.net is filtered, reason - 'FilteredBlackList', matched rule: '||dou*ck.net^' -``` - -You can also enable checking against AdGuard's SafeBrowsing: - -```go -package main - -import ( - "github.com/AdguardTeam/AdGuardHome/filtering" - "log" -) - -func main() { - filter := filtering.New() - filter.EnableSafeBrowsing() - host := "wmconvirus.narod.ru" // hostname for testing safebrowsing - res, err := filter.CheckHost(host) - if err != nil { - // temporary failure - log.Fatalf("Failed to check host %q: %s", host, err) - } - if res.IsFiltered { - log.Printf("Host %s is filtered, reason - %q, matched rule: %q", host, res.Reason, res.Rule) - } else { - log.Printf("Host %s is not filtered, reason - %q", host, res.Reason) - } -} -``` diff --git a/internal/next/changelog.md b/internal/next/changelog.md index 224184bc..e9c3c10d 100644 --- a/internal/next/changelog.md +++ b/internal/next/changelog.md @@ -1,15 +1,17 @@ # AdGuard Home v0.108.0 Changelog DRAFT -This changelog should be merged into the main one once the next API matures -enough. +This changelog should be merged into the main one once the next API matures enough. ## [v0.108.0] - TODO ### Added - The ability to change the port of the pprof debug API. + - The ability to log to stderr using `--logFile=stderr`. + - The new `--web-addr` flag to set the Web UI address in a `host:port` form. + - `SIGHUP` now reloads all configuration from the configuration file ([#5676]). ### Changed @@ -20,20 +22,21 @@ enough. #### Other changes -- `-h` is now an alias for `--help` instead of the removed `--host`, see below. - Use `--web-addr=host:port` to set an address on which to serve the Web UI. +- `-h` is now an alias for `--help` instead of the removed `--host`, see below. Use `--web-addr=host:port` to set an address on which to serve the Web UI. ### Fixed - `--check-config` breaking the configuration file ([#4067]). + - Inconsistent application of `--work-dir/-w` ([#2598], [#2902]). + - The order of `-v/--verbose` and `--version` being significant ([#2893]). ### Removed - The deprecated `--no-mem-optimization` and `--no-etc-hosts` flags. -- `--host` and `-p/--port` flags. Use `--web-addr=host:port` to set an address - on which to serve the Web UI. `-h` is now an alias for `--help`, see above. + +- `--host` and `-p/--port` flags. Use `--web-addr=host:port` to set an address on which to serve the Web UI. `-h` is now an alias for `--help`, see above. [#2598]: https://github.com/AdguardTeam/AdGuardHome/issues/2598 [#2893]: https://github.com/AdguardTeam/AdGuardHome/issues/2893 diff --git a/openapi/README.md b/openapi/README.md index 387bfb0e..c6e05700 100644 --- a/openapi/README.md +++ b/openapi/README.md @@ -1,35 +1,27 @@ # AdGuard Home OpenAPI -We are using -[OpenAPI specification](https://swagger.io/docs/specification/about/) -to generate AdGuard Home API specification. +We are using [OpenAPI specification](https://swagger.io/docs/specification/about/) to generate AdGuard Home API specification. -## How To Edit The API Spec +## How to edit the API spec -The easiest way would be to use -[Swagger Editor](http://editor.swagger.io/) -and just copy/paste the YAML file there. +The easiest way would be to use [Swagger Editor](http://editor.swagger.io/) and just copy/paste the YAML file there. -## How To Read The API Doc +## How to read the API doc 1. `yarn install` 2. `yarn start` -3. Open `http://localhost:4000/` +3. open `http://localhost:4000/` ## Changelog -[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being -made. +[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being made. ## Authentication -If AdGuard Home's web user is password-protected, a web client must use -authentication mechanism when sending requests to server. Basic access -authentication is the most simple method - a client must pass `Authorization` -HTTP header along with all requests: +If AdGuard Home’s web user is password-protected, a web client must use authentication mechanism when sending requests to server. Basic access authentication is the most simple method: a client must pass `Authorization` HTTP header along with all requests: ```http Authorization: Basic BASE64_DATA ``` -Where BASE64_DATA is base64-encoded data for `username:password` string. +Where `BASE64_DATA` is base64-encoded data for `username:password` string. diff --git a/scripts/README.md b/scripts/README.md index 4835fcb2..e6e70d28 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -1,96 +1,72 @@ - # AdGuard Home Scripts +# AdGuard Home scripts -## `hooks/`: Git Hooks +## `hooks/`: Git hooks - ### Usage +### Usage Run `make init` from the project root. +## `querylog/`: Query Log Helpers +### Usage -## `querylog/`: Query Log Helpers +- `npm install`: install dependencies. Run this first. - ### Usage +- `npm run anonymize `: read the query log from the `` and write anonymized version to ``. - * `npm install`: install dependencies. Run this first. - * `npm run anonymize `: read the query log from the `` - and write anonymized version to ``. +## `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. - -## `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 +### `build-docker.sh`: Build a multi-architecture Docker image Required environment: - * `CHANNEL`: release channel, see above. +- `CHANNEL`: release channel, see above. - * `DIST_DIR`: the directory where a release has previously been built. +- `DIST_DIR`: the directory where a release has previously been built. - * `REVISION`: current Git revision. +- `REVISION`: current Git revision. - * `VERSION`: release version. +- `VERSION`: release version. Optional environment: - * `DOCKER_IMAGE_NAME`: the name of the resulting Docker container. By default - it's `adguardhome-dev`. +- `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`. +- `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. +- `SUDO`: allow users to use `sudo` or `doas` with `docker`. By default none is used. - - - ### `build-release.sh`: Build a release for all platforms +### `build-release.sh`: Build a release for all platforms Required environment: - * `CHANNEL`: release channel, see above. +- `CHANNEL`: release channel, see above. - * `GPG_KEY` and `GPG_KEY_PASSPHRASE`: data for `gpg`. Only required if `SIGN` - is `1`. +- `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: +- `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. - * `DIST_DIR`: the directory to build a release into. The default value is - `dist`. +- `DIST_DIR`: the directory to build a release into. The default value is `dist`. - * `GO`: set an alternative name for the Go compiler. +- `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`. +- `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`. +- `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`. +- `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`. -We're using Go's [forward compatibility mechanism][go-toolchain] for updating -the Go version. This means that if your `go` version is 1.21+ but is different -from the one required by AdGuard Home, the `go` tool will automatically download -the required version. +We're using Go's [forward compatibility mechanism][go-toolchain] for updating the Go version. This means that if your `go` version is 1.21+ but is different from the one required by AdGuard Home, the `go` tool will automatically download the required version. If you want to use the version installed on your builder, run: @@ -103,220 +79,164 @@ and call `make` with `GOTOOLCHAIN=local`. [go-toolchain]: https://go.dev/blog/toolchain - - - ### `go-bench.sh`: Run backend benchmarks +### `go-bench.sh`: Run backend benchmarks Optional environment: - * `GO`: set an alternative name for the Go compiler. +- `GO`: set an alternative name for the Go compiler. - * `TIMEOUT_FLAGS`: set timeout flags for tests. The default value is - `--timeout=30s`. +- `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 and environment. - The default value is `0`, don't be verbose. +- `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-build.sh`: Build the backend +### `go-build.sh`: Build the backend Optional environment: - * `GOAMD64`: architectural level for [AMD64][amd64]. The default value is - `v1`. +- `GOAMD64`: architectural level for [AMD64][amd64]. The default value is `v1`. - * `GOARM`: ARM processor options for the Go compiler. +- `GOARM`: ARM processor options for the Go compiler. - * `GOMIPS`: ARM processor options for the Go compiler. +- `GOMIPS`: ARM processor options for the Go compiler. - * `GO`: set an alternative name for the Go compiler. +- `GO`: set an alternative name for the Go compiler. - * `OUT`: output binary name. +- `OUT`: output binary name. - * `PARALLELISM`: set the maximum number of concurrently run build commands - (that is, compiler, linker, etc.). +- `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. +- `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. +- `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`. +- `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. +- `CHANNEL`: release channel, see above. [amd64]: https://github.com/golang/go/wiki/MinimumRequirements#amd64 [repr]: https://reproducible-builds.org/docs/source-date-epoch/ - - - ### `go-deps.sh`: Install backend dependencies +### `go-deps.sh`: Install backend dependencies Optional environment: - * `GO`: set an alternative name for the Go compiler. +- `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. +- `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-fuzz.sh`: Run backend fuzz tests +### `go-fuzz.sh`: Run backend fuzz tests Optional environment: - * `GO`: set an alternative name for the Go compiler. +- `GO`: set an alternative name for the Go compiler. - * `FUZZTIME_FLAGS`: set fuss flags for tests. The default value is - `--fuzztime=20s`. +- `FUZZTIME_FLAGS`: set fuss flags for tests. The default value is `--fuzztime=20s`. - * `TIMEOUT_FLAGS`: set timeout flags for tests. The default value is - `--timeout=30s`. +- `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 and environment. - The default value is `0`, don't be verbose. +- `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 +### `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`. +- `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. +- `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. +- `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 +### `go-test.sh`: Run backend tests Optional environment: - * `GO`: set an alternative name for the Go compiler. +- `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. +- `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`. +- `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. +- `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 - - ### `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`). +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. +- `GO`: set an alternative name for the Go compiler. - - - ### `version.sh`: Generate And Print The Current Version +### `version.sh`: Generate And Print The Current Version Required environment: - * `CHANNEL`: release channel, see above. +- `CHANNEL`: release channel, see above. +## `snap/`: Snapcraft scripts - -## `snap/`: Snapcraft scripts - - ### `build.sh` +### `build.sh` Builds the Snapcraft packages from the binaries created by `download.sh`. - ### `download.sh` +### `download.sh` Downloads the binaries to pack them into Snapcraft packages. Required environment: - * `CHANNEL`: release channel, see above. +- `CHANNEL`: release channel, see above. - ### `upload.sh` +### `upload.sh` Uploads the Snapcraft packages created by `build.sh`. Required environment: - * `SNAPCRAFT_CHANNEL`: Snapcraft release channel: `edge`, `beta`, or - `candidate`. +- `SNAPCRAFT_CHANNEL`: Snapcraft release channel: `edge`, `beta`, or `candidate`. - * `SNAPCRAFT_STORE_CREDENTIALS`: Credentials for Snapcraft store. +- `SNAPCRAFT_STORE_CREDENTIALS`: Credentials for Snapcraft store. Optional environment: - * `SNAPCRAFT_CMD`: Overrides the Snapcraft command. Default: `snapcraft`. +- `SNAPCRAFT_CMD`: Overrides the Snapcraft command. Default: `snapcraft`. +## `translations/`: Twosky Integration Script +### Usage -## `translations/`: Twosky Integration Script +- `go run ./scripts/translations help`: print usage. - ### Usage +- `go run ./scripts/translations download [-n ]`: download and save all translations. `n` is optional flag where count is a number of concurrent downloads. - * `go run ./scripts/translations help`: print usage. +- `go run ./scripts/translations upload`: upload the base `en` locale. - * `go run ./scripts/translations download [-n ]`: download and save - all translations. `n` is optional flag where count is a number of - concurrent downloads. +- `go run ./scripts/translations summary`: show the current locales summary. - * `go run ./scripts/translations upload`: upload the base `en` locale. +- `go run ./scripts/translations unused`: show the list of unused strings. - * `go run ./scripts/translations summary`: show the current locales summary. +- `go run ./scripts/translations auto-add`: add locales with additions to the git and restore locales with deletions. - * `go run ./scripts/translations unused`: show the list of unused strings. - - * `go run ./scripts/translations 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. +After the download you'll find the output locales in the `client/src/__locales/` directory. Optional environment: - * `DOWNLOAD_LANGUAGES`: set a list of specific languages to `download`. For - example `ar be bg`. If it set to `blocker` then script will download only - those languages, which need to be fully translated (`de en es fr it ja ko - pt-br pt-pt ru zh-cn zh-tw`). +- `DOWNLOAD_LANGUAGES`: set a list of specific languages to `download`. For example `ar be bg`. If it set to `blocker` then script will download only those languages, which need to be fully translated (`de en es fr it ja ko pt-br pt-pt ru zh-cn zh-tw`). - * `UPLOAD_LANGUAGE`: set an alternative language for `upload`. +- `UPLOAD_LANGUAGE`: set an alternative language for `upload`. - * `TWOSKY_URI`: set an alternative URL for `download` or `upload`. +- `TWOSKY_URI`: set an alternative URL for `download` or `upload`. - * `TWOSKY_PROJECT_ID`: set an alternative project ID 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]. -## `companiesdb/`: Whotracks.me Database Converter - -A simple script that downloads and updates the companies DB in the `client` -code from [the repo][companiesrepo]. - - ### Usage +### Usage ```sh sh ./scripts/companiesdb/download.sh @@ -324,19 +244,15 @@ sh ./scripts/companiesdb/download.sh [companiesrepo]: https://github.com/AdguardTeam/companiesdb +## `blocked-services/`: Blocked-services updater - -## `blocked-services/`: Blocked Services Updater - -A simple script that downloads and updates the blocked services index from -AdGuard's [Hostlists Registry][reg]. +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`. +- `URL`: the URL of the index file. By default it's `https://adguardteam.github.io/HostlistsRegistry/assets/services.json`. - ### Usage +### Usage ```sh go run ./scripts/blocked-services/main.go @@ -344,19 +260,15 @@ go run ./scripts/blocked-services/main.go [reg]: https://github.com/AdguardTeam/HostlistsRegistry +## `vetted-filters/`: Vetted-filters updater - -## `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]. +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`. +- `URL`: the URL of the index file. By default it's `https://adguardteam.github.io/HostlistsRegistry/assets/filters.json`. - ### Usage +### Usage ```sh go run ./scripts/vetted-filters/main.go diff --git a/scripts/make/md-lint.sh b/scripts/make/md-lint.sh index e80d595a..a59e9c16 100644 --- a/scripts/make/md-lint.sh +++ b/scripts/make/md-lint.sh @@ -8,14 +8,21 @@ verbose="${VERBOSE:-0}" readonly verbose -set -e -f -u +# Don't use -f, because we use globs in this script. +set -e -u if [ "$verbose" -gt '0' ]; then set -x fi -# TODO(e.burkov): Lint allmarkdown documents within this project. +# TODO(e.burkov): Add README.md and possibly AGHTechDoc.md. markdownlint \ ./CHANGELOG.md \ - ./openapi/CHANGELOG.md \ + ./CONTRIBUTING.md \ + ./HACKING.md \ + ./SECURITY.md \ + ./internal/next/changelog.md \ + ./internal/dhcpd/*.md \ + ./openapi/*.md \ + ./scripts/*.md \ ;