Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from AdguardTeam:master #118

Merged
merged 50 commits into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
b69890b
Pull request: AG-32410-dnsproxy
Mizzick Jun 4, 2024
4392255
Pull request 2230: home: incr timeout
ainar-g Jun 4, 2024
e04775c
Pull request 2232: upd-go
ainar-g Jun 5, 2024
1085d59
Pull request 2234: all: upd chlog
ainar-g Jun 6, 2024
1afe226
Pull request #2231: ADG-8368 Frontend rewritten in TypeScript, added …
bniwredyc Jun 10, 2024
bed86d5
Pull request 2236: fix-chlog
ainar-g Jun 10, 2024
8432593
Pull request: AG-33410-aghos-err
Mizzick Jun 14, 2024
1c82be2
Pull request 2237: 7053 journald Log
EugeneOne1 Jun 17, 2024
66877c9
Pull request 2239: 7076 Empty FSWatcher
EugeneOne1 Jun 17, 2024
28a6c24
Pull request: AG-33515-upd-deps
Mizzick Jun 18, 2024
08d863d
Pull request 2235: 7069-fix-blocked-services
schzhn Jun 18, 2024
6472140
Pull request 2241: 7075 Doc load-balancing
EugeneOne1 Jun 20, 2024
65b7d23
Pull request 2242: 7079-log-enabled
schzhn Jun 20, 2024
a1a31cd
Pull request 2221: AG-27492-client-persistent-runtime-storage
schzhn Jun 26, 2024
3993f4c
Pull request 2243: AG-33443-upd-vetted-script
ainar-g Jun 27, 2024
9d1c45f
Pull request 2244: AG-27492-client-storage-usage
schzhn Jul 1, 2024
fcdebfa
Pull request: ADG-8737 fixed missing version in the footer, unnecessa…
IldarKamalov Jul 2, 2024
0e5e8e4
Pull request 2247: Upd Go
EugeneOne1 Jul 3, 2024
beeb8f0
Pull request 2245: 4923 gopacket DHCP vol.8
EugeneOne1 Jul 3, 2024
93e4005
Pull request 2249: Fix bamboo-specs
EugeneOne1 Jul 3, 2024
9a29aa9
Pull request #2251: ADG-8776 clear query log filter fix
bniwredyc Jul 4, 2024
9a6dd0d
Pull request 2253: upg-chlog
ainar-g Jul 5, 2024
e269260
Pull request 2254: 4923 gopacket DHCP vol.9
EugeneOne1 Jul 9, 2024
130560b
Pull request 2255: 4923 Fix tests
EugeneOne1 Jul 10, 2024
c0a33ce
Pull request: upd-dnsproxy
Mizzick Jul 10, 2024
42c7cd6
Pull request 2256: 4923 Better interfaces
EugeneOne1 Jul 10, 2024
f29a1cf
Pull request 2257: 7113 Fix changelog
EugeneOne1 Jul 15, 2024
5c2ecfa
Pull request 2259: Upd proxy
EugeneOne1 Jul 19, 2024
bf1101b
Pull request #2258: ADG-8813 query log client column style fix
bniwredyc Jul 22, 2024
d860764
fix: enforce Bing safe search from Edge sidebar
javabean Jul 27, 2024
af0f43c
chore: update Google DNS list
javabean Jul 27, 2024
2af8595
docs: changelog
Mizzick Jul 30, 2024
c48cc98
docs: changelog
Mizzick Jul 30, 2024
0e459a7
Pull request: 7154-imp-bing-safesearch
Mizzick Jul 30, 2024
9ea4838
Merge remote-tracking branch 'origin/master' into 7155-imp-google-saf…
Mizzick Jul 30, 2024
bc6d20f
Pull request: 7155-imp-google-safesearch
Mizzick Jul 31, 2024
b6ed769
Pull request: 5009-ecosia-safesearch
Mizzick Aug 2, 2024
edfa8c1
Pull request 2263: AGDNS-2280 Upd dnsproxy, golibs
EugeneOne1 Aug 5, 2024
1a6ec30
Pull request: AGDNS-2342-upd-golibs
Mizzick Aug 7, 2024
cdf970f
Pull request: 5704-riscv
Mizzick Aug 8, 2024
184f476
Pull request 2269: ADG-8932 Upd all
EugeneOne1 Aug 20, 2024
30c0bbe
Pull request 2265: AG-27492-client-runtime-storage
schzhn Aug 21, 2024
738958d
Pull request 2270: AGDNS-2374-slog-ipset
schzhn Aug 26, 2024
0b8bf13
Pull request 2271: AGDNS-2374-slog-arpdb
schzhn Aug 27, 2024
aab6769
Pull request 2272: AGDNS-2374-slog-rdns-whois
schzhn Aug 29, 2024
76344f9
Pull request 2274: AGDNS-2374-slog-scripts
schzhn Sep 2, 2024
b443cf3
Pull request 2275: AGDNS-2374-slog-stats
schzhn Sep 9, 2024
6fe4b94
Pull request 2276: Update Go & tools
EugeneOne1 Sep 10, 2024
cbae07e
Pull request 2278: AG-29637 Checkout publisher
EugeneOne1 Sep 10, 2024
a74c32f
Pull request 2277: AG-29637 Sign Windows
EugeneOne1 Sep 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'name': 'build'

'env':
'GO_VERSION': '1.22.3'
'GO_VERSION': '1.23.1'
'NODE_VERSION': '16'

'on':
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'name': 'lint'

'env':
'GO_VERSION': '1.22.3'
'GO_VERSION': '1.23.1'

'on':
'push':
Expand Down
123 changes: 117 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,137 @@ The format is based on
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

<!--
TODO(a.garipov): Use the common markdown formatting tools.
-->



## [Unreleased]

<!--
## [v0.108.0] - TBA

## [v0.107.51] - 2024-06-22 (APPROX.)
## [v0.107.53] - 2024-07-24 (APPROX.)

See also the [v0.107.51 GitHub milestone][ms-v0.107.51].
See also the [v0.107.53 GitHub milestone][ms-v0.107.53].

[ms-v0.107.51]: https://github.com/AdguardTeam/AdGuardHome/milestone/86?closed=1
[ms-v0.107.53]: https://github.com/AdguardTeam/AdGuardHome/milestone/88?closed=1

NOTE: Add new changes BELOW THIS COMMENT.
-->

### Security

- Go version has been updated to prevent the possibility of exploiting the Go
vulnerabilities fixed in [1.23.1][go-1.23.1].

### Added

- Support for 64-bit RISC-V architecture ([#5704]).
- Ecosia search engine is now supported in safe search ([#5009]).

### Changed

- Upstream server URL domain names requirements has been relaxed and now follow
the same rules as their domain specifications.

### Fixed

- Update Google safe search domains list ([#7155]).
- Enforce Bing safe search from Edge sidebar ([#7154]).
- Text overflow on the query log page ([#7119]).

[#5009]: https://github.com/AdguardTeam/AdGuardHome/issues/5009
[#7119]: https://github.com/AdguardTeam/AdGuardHome/issues/7119
[#7154]: https://github.com/AdguardTeam/AdGuardHome/pull/7154
[#7155]: https://github.com/AdguardTeam/AdGuardHome/pull/7155

[go-1.23.1]: https://groups.google.com/g/golang-announce/c/K-cEzDeCtpc

<!--
NOTE: Add new changes ABOVE THIS COMMENT.
-->



## [v0.107.52] - 2024-07-04

See also the [v0.107.52 GitHub milestone][ms-v0.107.52].

### Security

- Go version has been updated to prevent the possibility of exploiting the Go
vulnerabilities fixed in [Go 1.22.5][go-1.22.5].

### Added

- The ability to disable logging using the new `log.enabled` configuration
property ([#7079]).

### Changed

- Frontend rewritten in TypeScript.
- The `systemd`-based service now uses `journal` for logging by default. It
also doesn't create the `/var/log/` directory anymore ([#7053]).

**NOTE:** With an installed service for changes to take effect, you need to
reinstall the service using `-r` flag of the [install script][install-script]
or via the CLI (with root privileges):

```sh
./AdGuardHome -s uninstall
./AdGuardHome -s install
```

Don't forget to backup your configuration file and other important data before
reinstalling the service.

### Deprecated

- Node 18 support, Node 20 will be required in future releases.

### Fixed

- Panic caused by missing user-specific blocked services object in configuration
file ([#7069]).
- Tracking `/etc/hosts` file changes causing panics within particular
filesystems on start ([#7076]).

[#7053]: https://github.com/AdguardTeam/AdGuardHome/issues/7053
[#7069]: https://github.com/AdguardTeam/AdGuardHome/issues/7069
[#7076]: https://github.com/AdguardTeam/AdGuardHome/issues/7076
[#7079]: https://github.com/AdguardTeam/AdGuardHome/issues/7079

[go-1.22.5]: https://groups.google.com/g/golang-announce/c/gyb7aM1C9H4
[install-script]: https://github.com/AdguardTeam/AdGuardHome/?tab=readme-ov-file#automated-install-linux-and-mac

[ms-v0.107.52]: https://github.com/AdguardTeam/AdGuardHome/milestone/87?closed=1



## [v0.107.51] - 2024-06-06

See also the [v0.107.51 GitHub milestone][ms-v0.107.51].

### Security

- Go version has been updated to prevent the possibility of exploiting the Go
vulnerabilities fixed in [Go 1.22.4][go-1.22.4].

### Changed

- The HTTP server's write timeout has been increased from 1 minute to 5 minutes
to match the one used by AdGuard Home's HTTP client to fetch filtering-list
data ([#7041]).

[#7041]: https://github.com/AdguardTeam/AdGuardHome/issues/7041

[go-1.22.4]: https://groups.google.com/g/golang-announce/c/XbxouI9gY7k/
[ms-v0.107.51]: https://github.com/AdguardTeam/AdGuardHome/milestone/86?closed=1



## [v0.107.50] - 2024-05-23

See also the [v0.107.50 GitHub milestone][ms-v0.107.50].
Expand Down Expand Up @@ -2986,11 +3095,13 @@ See also the [v0.104.2 GitHub milestone][ms-v0.104.2].


<!--
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.51...HEAD
[v0.107.51]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.50...v0.107.51
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.53...HEAD
[v0.107.53]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.52...v0.107.53
-->

[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.50...HEAD
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.52...HEAD
[v0.107.52]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.51...v0.107.52
[v0.107.51]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.50...v0.107.51
[v0.107.50]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.49...v0.107.50
[v0.107.49]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.48...v0.107.49
[v0.107.48]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.47...v0.107.48
Expand Down
48 changes: 31 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# Makefile. Bump this number every time a significant change is made to
# this Makefile.
#
# AdGuard-Project-Version: 4
# AdGuard-Project-Version: 6

# Don't name these macros "GO" etc., because GNU Make apparently makes
# them exported environment variables with the literal value of
Expand All @@ -23,11 +23,13 @@ VERBOSE.MACRO = $${VERBOSE:-0}
CHANNEL = development
CLIENT_DIR = client
COMMIT = $$( git rev-parse --short HEAD )
DEPLOY_SCRIPT_PATH = not/a/real/path
DIST_DIR = dist
GOAMD64 = v1
GOPROXY = https://goproxy.cn|https://proxy.golang.org|direct
GOPROXY = https://proxy.golang.org|direct
GOSUMDB = sum.golang.google.cn
GOTOOLCHAIN = go1.22.3
GOTOOLCHAIN = go1.23.1
GOTELEMETRY = off
GPG_KEY = devteam@adguard.com
GPG_KEY_PASSPHRASE = not-a-real-password
NPM = npm
Expand All @@ -36,6 +38,7 @@ NPM_INSTALL_FLAGS = $(NPM_FLAGS) --quiet --no-progress --ignore-engines\
--ignore-optional --ignore-platform --ignore-scripts
RACE = 0
SIGN = 1
SIGNER_API_KEY = not-a-real-key
VERSION = v0.0.0
YARN = yarn

Expand All @@ -59,20 +62,28 @@ BUILD_RELEASE_DEPS_1 = go-deps
ENV = env\
CHANNEL='$(CHANNEL)'\
COMMIT='$(COMMIT)'\
DEPLOY_SCRIPT_PATH='$(DEPLOY_SCRIPT_PATH)' \
DIST_DIR='$(DIST_DIR)'\
GO="$(GO.MACRO)"\
GOAMD64="$(GOAMD64)"\
GOAMD64='$(GOAMD64)'\
GOPROXY='$(GOPROXY)'\
GOSUMDB='$(GOSUMDB)'\
GOTELEMETRY='$(GOTELEMETRY)'\
GOTOOLCHAIN='$(GOTOOLCHAIN)'\
GPG_KEY='$(GPG_KEY)'\
GPG_KEY_PASSPHRASE='$(GPG_KEY_PASSPHRASE)'\
PATH="$${PWD}/bin:$$( "$(GO.MACRO)" env GOPATH )/bin:$${PATH}"\
RACE='$(RACE)'\
SIGN='$(SIGN)'\
SIGNER_API_KEY='$(SIGNER_API_KEY)' \
NEXTAPI='$(NEXTAPI)'\
VERBOSE="$(VERBOSE.MACRO)"\
VERSION='$(VERSION)'\
VERSION="$(VERSION)"\

# Keep the line above blank.

ENV_MISC = env\
VERBOSE="$(VERBOSE.MACRO)"\

# Keep the line above blank.

Expand Down Expand Up @@ -101,31 +112,34 @@ js-deps: ; $(NPM) $(NPM_INSTALL_FLAGS) ci
js-lint: ; $(NPM) $(NPM_FLAGS) run lint
js-test: ; $(NPM) $(NPM_FLAGS) run test

go-bench: ; $(ENV) "$(SHELL)" ./scripts/make/go-bench.sh
go-build: ; $(ENV) "$(SHELL)" ./scripts/make/go-build.sh
go-deps: ; $(ENV) "$(SHELL)" ./scripts/make/go-deps.sh
go-fuzz: ; $(ENV) "$(SHELL)" ./scripts/make/go-fuzz.sh
go-lint: ; $(ENV) "$(SHELL)" ./scripts/make/go-lint.sh
go-tools: ; $(ENV) "$(SHELL)" ./scripts/make/go-tools.sh

go-bench: ; $(ENV) "$(SHELL)" ./scripts/make/go-bench.sh
go-build: ; $(ENV) "$(SHELL)" ./scripts/make/go-build.sh
go-deps: ; $(ENV) "$(SHELL)" ./scripts/make/go-deps.sh
go-env: ; $(ENV) "$(GO.MACRO)" env
go-fuzz: ; $(ENV) "$(SHELL)" ./scripts/make/go-fuzz.sh
go-lint: ; $(ENV) "$(SHELL)" ./scripts/make/go-lint.sh
# TODO(a.garipov): Think about making RACE='1' the default for all
# targets.
go-test: ; $(ENV) RACE='1' "$(SHELL)" ./scripts/make/go-test.sh

go-upd-tools: ; $(ENV) "$(SHELL)" ./scripts/make/go-upd-tools.sh
go-test: ; $(ENV) RACE='1' "$(SHELL)" ./scripts/make/go-test.sh
go-tools: ; $(ENV) "$(SHELL)" ./scripts/make/go-tools.sh
go-upd-tools: ; $(ENV) "$(SHELL)" ./scripts/make/go-upd-tools.sh

go-check: go-tools go-lint go-test

# A quick check to make sure that all supported operating systems can be
# typechecked and built successfully.
# A quick check to make sure that all operating systems relevant to the
# development of the project can be typechecked and built successfully.
go-os-check:
env GOOS='darwin' "$(GO.MACRO)" vet ./internal/...
env GOOS='freebsd' "$(GO.MACRO)" vet ./internal/...
env GOOS='openbsd' "$(GO.MACRO)" vet ./internal/...
env GOOS='linux' "$(GO.MACRO)" vet ./internal/...
env GOOS='windows' "$(GO.MACRO)" vet ./internal/...


openapi-lint: ; cd ./openapi/ && $(YARN) test
openapi-show: ; cd ./openapi/ && $(YARN) start

txt-lint: ; $(ENV) "$(SHELL)" ./scripts/make/txt-lint.sh

md-lint: ; $(ENV_MISC) "$(SHELL)" ./scripts/make/md-lint.sh
sh-lint: ; $(ENV_MISC) "$(SHELL)" ./scripts/make/sh-lint.sh
13 changes: 2 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,9 @@ Run `make init` to prepare the development environment.

You will need this to build AdGuard Home:

- [Go](https://golang.org/dl/) v1.22 or later;
- [Node.js](https://nodejs.org/en/download/) v16 or later;
- [Go](https://golang.org/dl/) v1.23 or later;
- [Node.js](https://nodejs.org/en/download/) v18.18 or later;
- [npm](https://www.npmjs.com/) v8 or later;
- [yarn](https://yarnpkg.com/) v1.22.5 or later.

### <a href="#building" id="building" name="building">Building</a>

Expand All @@ -220,14 +219,6 @@ cd AdGuardHome
make
```

#### <a href="#building-node" id="building-node" name="building-node">Building with Node.js 17 and later</a>

In order to build AdGuard Home with Node.js 17 and later, specify `--openssl-legacy-provider` option.

```sh
export NODE_OPTIONS=--openssl-legacy-provider
```

> [!WARNING]
> The non-standard `-j` flag is currently not supported, so building with `make -j 4` or setting your `MAKEFLAGS` to include, for example, `-j 4` is likely to break the build. If you do have your `MAKEFLAGS` set to that, and you don't want to change it, you can override it by running `make -j 1`.

Expand Down
22 changes: 16 additions & 6 deletions bamboo-specs/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
# Make sure to sync any changes with the branch overrides below.
'variables':
'channel': 'edge'
'dockerFrontend': 'adguard/home-js-builder:1.1'
'dockerGo': 'adguard/go-builder:1.22.3--1'
'dockerFrontend': 'adguard/home-js-builder:2.0'
'dockerGo': 'adguard/go-builder:1.23.1--1'

'stages':
- 'Build frontend':
Expand Down Expand Up @@ -91,6 +91,11 @@
'tasks':
- 'checkout':
'force-clean-build': true
- 'checkout':
'repository': 'bamboo-deploy-publisher'
# The paths are always relative to the working directory.
'path': 'bamboo-deploy-publisher'
'force-clean-build': true
- 'script':
'interpreter': 'SHELL'
'scripts':
Expand All @@ -99,6 +104,9 @@

set -e -f -u -x

# Explicitly checkout the revision that we need.
git checkout "${bamboo.repository.revision.number}"

# Run the build with the specified channel.
echo "${bamboo.gpgSecretKeyPart1}${bamboo.gpgSecretKeyPart2}"\
| awk '{ gsub(/\\n/, "\n"); print; }'\
Expand All @@ -107,6 +115,8 @@
make\
CHANNEL=${bamboo.channel}\
GPG_KEY_PASSPHRASE=${bamboo.gpgPassword}\
DEPLOY_SCRIPT_PATH="./bamboo-deploy-publisher/deploy.sh"\
SIGNER_API_KEY="${bamboo.adguardHomeWinSignerSecretApiKey}"\
FRONTEND_PREBUILT=1\
PARALLELISM=1\
VERBOSE=2\
Expand Down Expand Up @@ -265,8 +275,8 @@
# need to build a few of these.
'variables':
'channel': 'beta'
'dockerFrontend': 'adguard/home-js-builder:1.1'
'dockerGo': 'adguard/go-builder:1.22.3--1'
'dockerFrontend': 'adguard/home-js-builder:2.0'
'dockerGo': 'adguard/go-builder:1.23.1--1'
# release-vX.Y.Z branches are the branches from which the actual final
# release is built.
- '^release-v[0-9]+\.[0-9]+\.[0-9]+':
Expand All @@ -281,5 +291,5 @@
# are the ones that actually get released.
'variables':
'channel': 'release'
'dockerFrontend': 'adguard/home-js-builder:1.1'
'dockerGo': 'adguard/go-builder:1.22.3--1'
'dockerFrontend': 'adguard/home-js-builder:2.0'
'dockerGo': 'adguard/go-builder:1.23.1--1'
Loading
Loading