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