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 #112

Merged
merged 60 commits into from
May 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
fede297
Pull request 2138: AG-27492-client-persistent-storage
schzhn Feb 15, 2024
bd99e3e
Pull request 2150: AG-28455 rc versions
EugeneOne1 Feb 16, 2024
6fd0a62
Pull request 2152: 4923 gopacket DHCP vol.7
EugeneOne1 Feb 20, 2024
4605e7c
Pull request 2153: 6610-hostsfile-enabled
schzhn Feb 21, 2024
9276afd
Pull request 2156: 6717-conf-path-logs
ainar-g Feb 21, 2024
560758b
Fix blank settings page when access clients first
hoang-rio Feb 26, 2024
31c3d7d
Pull request 2155: AG-27492-client-persistent-index
schzhn Feb 27, 2024
499dcaa
Pull request 2154: 6723 caching bootstrap
EugeneOne1 Feb 28, 2024
da2cf75
Merge branch 'AdguardTeam:master' into fix/blank-settings-when-access…
hoang-rio Feb 28, 2024
7f24fc7
Pull request: 6770 Fix blank settings page when access clients first
Mizzick Mar 1, 2024
5565b9e
Pull request 2161: Upd Go
EugeneOne1 Mar 6, 2024
98bcadd
Pull request 2160: AG-30904-fix-ip-in-logs
schzhn Mar 6, 2024
5df1d32
Pull request 2162: upd-all
ainar-g Mar 6, 2024
5388ad5
Pull request 2165: upd-chlog
ainar-g Mar 7, 2024
36f9fec
Pull request: fix served from cache label
IldarKamalov Mar 11, 2024
28a6b9f
Pull request 2159: Upd proxy
EugeneOne1 Mar 11, 2024
6409011
Pull request 2164: 6712-hourly-graphs
schzhn Mar 12, 2024
14c6be3
Pull request 2169: fix-rc
ainar-g Mar 12, 2024
3608a2d
Pull request 2171: AG-28455 remove checkout
EugeneOne1 Mar 13, 2024
bcd1430
Pull request 2173: upd-all
ainar-g Mar 13, 2024
4e3b53f
Pull request 2174: 6820 Warn local ptrs
EugeneOne1 Mar 14, 2024
ee01441
Pull request 2175: split-snap-docker
ainar-g Mar 14, 2024
c64a36c
Pull request 2176: AG-20945-rule-list-engine
ainar-g Mar 15, 2024
0542339
Pull request 2178: upd-chlog
ainar-g Mar 20, 2024
54f77c0
Pull request 2179: upd-docker
ainar-g Mar 20, 2024
3b12ff2
Pull request 2166: 5829-trusted-ip
schzhn Mar 20, 2024
2e5595d
Pull request 2180: fix-docker-build
ainar-g Mar 20, 2024
70c88f2
Pull request 2181: imp-docs
ainar-g Mar 21, 2024
2611534
Pull request 2182: AG-20945-rule-list-id
ainar-g Mar 21, 2024
9305c45
Pull request 2184: 6851 upstream mode reset
EugeneOne1 Mar 29, 2024
7d9f33b
Pull request: 6717-fix-conf-symlink
Mizzick Apr 1, 2024
d951692
Pull request 2188: imp-readme
ainar-g Apr 1, 2024
d4fff41
Pull request 2190: 6758-embed-tzdata
schzhn Apr 2, 2024
5cc05e2
Pull request 2187: upd-golibs
ainar-g Apr 3, 2024
0e1e568
Pull request 2194: upd-all
ainar-g Apr 3, 2024
ee619b2
Pull request 2195: upd-go-code
ainar-g Apr 4, 2024
fd25dca
Pull request 2183: AG-27492-client-runtime-index
schzhn Apr 4, 2024
82247d7
Pull request 2197: upd-chlog
ainar-g Apr 5, 2024
6f36ebc
Pull request 2189: 5345-ipset-file-comments
schzhn Apr 5, 2024
9f319d5
chore: fix function names in comment
looklose Apr 10, 2024
ff7c715
Pull request 2193: AGDNS-1982 Upd proxy
EugeneOne1 Apr 11, 2024
36986a8
Pull request 2206: upd-golibs
ainar-g Apr 15, 2024
df7f19e
Pull request 2199: 5812-query-log-client-id
schzhn Apr 15, 2024
201ac73
Pull request 2205: AGDNS-1982 Fix RDNS HTTP
EugeneOne1 Apr 15, 2024
6f7d5cc
Pull request 2202: Fix access error
EugeneOne1 Apr 16, 2024
48c6242
Pull request 2201: 6192-access-ipv6-zone
schzhn Apr 16, 2024
762ef4a
Pull request: AG-31778-fix-safesearch-https
Mizzick Apr 22, 2024
f85d048
Pull request 2207: 6882 Extend private rDNS
EugeneOne1 Apr 22, 2024
60f48e2
Pull request: 6717-freebsd-daemon
Mizzick Apr 23, 2024
0cff3db
Pull request: AG-31863-dnsforward-tests
Mizzick Apr 24, 2024
856cc40
Pull request 2209: 6422-upd-quic-go
ainar-g Apr 24, 2024
c1ee2c7
Pull request 2200: 6312-client-ipv6-zone
schzhn Apr 24, 2024
b9d5e5b
Pull request 2211: fix-i18n
ainar-g Apr 24, 2024
6dabfb4
Pull request 2212: 6744 Upd proxy
EugeneOne1 Apr 26, 2024
10f11b9
Merge branch 'master' into 6902-doc-fix
ainar-g Apr 26, 2024
b18fe84
dnsforward, home: imp more
ainar-g Apr 26, 2024
2383ab5
Pull request 2213: 6902-doc-fix
ainar-g Apr 26, 2024
c05bce7
Pull request 2210: AG-32341-client-duplicate-uids
schzhn Apr 26, 2024
17c4eeb
Pull request 2214: 6744 Fix TLD subdomain
EugeneOne1 May 2, 2024
1a62ce4
Pull request 2217: Upd Go
EugeneOne1 May 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'name': 'build'

'env':
'GO_VERSION': '1.21.7'
'GO_VERSION': '1.22.3'
'NODE_VERSION': '16'

'on':
Expand Down Expand Up @@ -53,9 +53,9 @@
'path': '${{ steps.npm-cache.outputs.dir }}'
'key': "${{ runner.os }}-node-${{ hashFiles('client/package-lock.json') }}"
'restore-keys': '${{ runner.os }}-node-'
- 'name': 'Run make ci'
- 'name': 'Run tests'
'shell': 'bash'
'run': 'make VERBOSE=1 ci'
'run': 'make VERBOSE=1 deps test go-bench go-fuzz'
- 'name': 'Upload coverage'
'uses': 'codecov/codecov-action@v1'
'if': "success() && matrix.os == 'ubuntu-latest'"
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.21.7'
'GO_VERSION': '1.22.3'

'on':
'push':
Expand Down
189 changes: 175 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,180 @@ and this project adheres to
<!--
## [v0.108.0] - TBA

## [v0.107.45] - 2024-03-05 (APPROX.)
## [v0.107.49] - 2024-04-24 (APPROX.)

See also the [v0.107.45 GitHub milestone][ms-v0.107.45].
See also the [v0.107.49 GitHub milestone][ms-v0.107.49].

[ms-v0.107.45]: https://github.com/AdguardTeam/AdGuardHome/milestone/80?closed=1
[ms-v0.107.49]: https://github.com/AdguardTeam/AdGuardHome/milestone/84?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 Go 1.21.6 and Go 1.21.7.
vulnerabilities fixed in [Go 1.22.3][go-1.22.3].

### Added

- Support for comments in the ipset file ([#5345]).

### Changed

- Private rDNS resolution now also affects `SOA` and `NS` requests ([#6882]).
- Rewrite rules mechanics was changed due to improve resolving in safe search.

### Deprecated

- Currently, AdGuard Home skips persistent clients that have duplicate fields
when reading them from the configuration file. This behaviour is deprecated
and will cause errors on startup in a future release.

### Fixed

- Acceptance of duplicate UIDs for persistent clients at startup. See also the
section on client settings on the [Wiki page][wiki-config].
- Domain specifications for top-level domains not considered for requests to
unqualified domains ([#6744]).
- Support for link-local subnets, i.e. `fe80::/16`, as client identifiers
([#6312]).
- Issues with QUIC and HTTP/3 upstreams on older Linux kernel versions
([#6422]).
- YouTube restricted mode is not enforced by HTTPS queries on Firefox.
- Support for link-local subnets, i.e. `fe80::/16`, in the access settings
([#6192]).
- The ability to apply an invalid configuration for private RDNS, which led to
server inoperability.
- Ignoring query log for clients with ClientID set ([#5812]).
- Subdomains of `in-addr.arpa` and `ip6.arpa` containing zero-length prefix
incorrectly considered invalid when specified for private RDNS upstream
servers ([#6854]).
- Unspecified IP addresses aren't checked when using "Fastest IP address" mode
([#6875]).

[#5345]: https://github.com/AdguardTeam/AdGuardHome/issues/5345
[#5812]: https://github.com/AdguardTeam/AdGuardHome/issues/5812
[#6192]: https://github.com/AdguardTeam/AdGuardHome/issues/6192
[#6312]: https://github.com/AdguardTeam/AdGuardHome/issues/6312
[#6422]: https://github.com/AdguardTeam/AdGuardHome/issues/6422
[#6744]: https://github.com/AdguardTeam/AdGuardHome/issues/6744
[#6854]: https://github.com/AdguardTeam/AdGuardHome/issues/6854
[#6875]: https://github.com/AdguardTeam/AdGuardHome/issues/6875
[#6882]: https://github.com/AdguardTeam/AdGuardHome/issues/6882

[go-1.22.3]: https://groups.google.com/g/golang-announce/c/wkkO4P9stm0

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



## [v0.107.48] - 2024-04-05

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

### Fixed

- Access settings not being applied to encrypted protocols ([#6890]).

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

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



## [v0.107.47] - 2024-04-04

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

### Security

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

### Changed

- Time Zone Database is now embedded in the binary ([#6758]).
- Failed authentication attempts show the originating IP address in the logs, if
the request came from a trusted proxy ([#5829]).

### Deprecated

- Go 1.22 support. Future versions will require at least Go 1.23 to build.
- Currently, AdGuard Home uses a best-effort algorithm to fix invalid IDs of
filtering-rule lists on startup. This feature is deprecated, and invalid IDs
will cause errors on startup in a future version.
- Node.JS 16. Future versions will require at least Node.JS 18 to build.

### Fixed

- Resetting DNS upstream mode when applying unrelated settings ([#6851]).
- Symbolic links to the configuration file begin replaced by a copy of the real
file upon startup on FreeBSD ([#6717]).

### Removed

- Go 1.21 support.

[#5829]: https://github.com/AdguardTeam/AdGuardHome/issues/5829
[#6717]: https://github.com/AdguardTeam/AdGuardHome/issues/6717
[#6758]: https://github.com/AdguardTeam/AdGuardHome/issues/6758
[#6851]: https://github.com/AdguardTeam/AdGuardHome/issues/6851

[go-1.22.2]: https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M/
[ms-v0.107.47]: https://github.com/AdguardTeam/AdGuardHome/milestone/82?closed=1



## [v0.107.46] - 2024-03-20

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

### Added

- Ability to disable the use of system hosts file information for query
resolution ([#6610]).
- Ability to define custom directories for storage of query log files and
statistics ([#5992]).

### Changed

- Private rDNS resolution (`dns.use_private_ptr_resolvers` in YAML
configuration) now requires a valid "Private reverse DNS servers", when
enabled ([#6820]).

**NOTE:** Disabling private rDNS resolution behaves effectively the same as if
no private reverse DNS servers provided by user and by the OS.

### Fixed

- Statistics for 7 days displayed by day on the dashboard graph ([#6712]).
- Missing "served from cache" label on long DNS server strings ([#6740]).
- Incorrect tracking of the system hosts file's changes ([#6711]).

[#5992]: https://github.com/AdguardTeam/AdGuardHome/issues/5992
[#6610]: https://github.com/AdguardTeam/AdGuardHome/issues/6610
[#6711]: https://github.com/AdguardTeam/AdGuardHome/issues/6711
[#6712]: https://github.com/AdguardTeam/AdGuardHome/issues/6712
[#6740]: https://github.com/AdguardTeam/AdGuardHome/issues/6740
[#6820]: https://github.com/AdguardTeam/AdGuardHome/issues/6820

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



## [v0.107.45] - 2024-03-06

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

### Security

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

### Added

- Context menu item in the Query Log to add a Client to the Persistent client
list ([#6679]).

Expand Down Expand Up @@ -59,21 +215,22 @@ NOTE: Add new changes BELOW THIS COMMENT.

### Fixed

- Incorrect tracking of the system hosts file's changes ([#6711]).
- Missing IP addresses in logs when querying for domain names from the ignore
lists.
- Blank page after resetting access clients ([#6634]).
- Wrong algorithm for caching bootstrapped upstream addresses ([#6723]).

### Removed

- Go 1.20 support, as it has reached end of life.

[#5992]: https://github.com/AdguardTeam/AdGuardHome/issues/5992
[#6634]: https://github.com/AdguardTeam/AdGuardHome/issues/6634
[#6679]: https://github.com/AdguardTeam/AdGuardHome/issues/6679
[#6711]: https://github.com/AdguardTeam/AdGuardHome/issues/6711
[#6723]: https://github.com/AdguardTeam/AdGuardHome/issues/6723

[go-1.21.8]: https://groups.google.com/g/golang-announce/c/5pwGVUPoMbg
[go-toolchain]: https://go.dev/blog/toolchain

<!--
NOTE: Add new changes ABOVE THIS COMMENT.
-->
[ms-v0.107.45]: https://github.com/AdguardTeam/AdGuardHome/milestone/80?closed=1



Expand Down Expand Up @@ -2807,11 +2964,15 @@ See also the [v0.104.2 GitHub milestone][ms-v0.104.2].


<!--
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.45...HEAD
[v0.107.45]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.44...v0.107.45
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.49...HEAD
[v0.107.49]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.48...v0.107.49
-->

[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.44...HEAD
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.48...HEAD
[v0.107.48]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.47...v0.107.48
[v0.107.47]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.46...v0.107.47
[v0.107.46]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.45...v0.107.46
[v0.107.45]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.44...v0.107.45
[v0.107.44]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.43...v0.107.44
[v0.107.43]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.42...v0.107.43
[v0.107.42]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.41...v0.107.42
Expand Down
80 changes: 24 additions & 56 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,89 +1,57 @@
# Contributing to AdGuard Home
# Contributing to AdGuard Home

If you want to contribute to AdGuard Home by filing or commenting on an issue or
opening a pull request, please follow the instructions below.
If you want to contribute to AdGuard Home by filing or commenting on an issue or opening a pull request, please follow the instructions below.

## General recommendations

Please don’t:

## General recommendations
- post comments like “+1” or “this”. Use the :+1: reaction on the issue instead, as this allows us to actually see the level of support for issues.

Please don't:
- file issues about localization errors or send localization updates as PRs. We’re using [CrowdIn] to manage our translations and we generally update them before each Beta and Release build. You can learn more about translating AdGuard products [in our Knowledge Base][kb-trans].

* post comments like “+1” or “this”. Use the :+1: reaction on the issue
instead, as this allows us to actually see the level of support for issues.
- file issues about a particular filtering-rule list misbehaving. These are tracked through the [separate form for filtering issues][form].

* file issues about localization errors or send localization updates as PRs.
We're using [CrowdIn] to manage our translations and we generally update
them before each Beta and Release build. You can learn more about
translating AdGuard products [in our Knowledge Base][kb-trans].

* file issues about a particular filtering-rule list misbehaving. These are
tracked through the [separate form for filtering issues][form].

* send updates to filtering-rule lists, such as the ones for the Blocked
Services feature or the list of approved filtering-rule lists. We update
them once before each Beta and Release build.
- send or request updates to filtering-rule lists, such as the ones for the Blocked Services feature or the list of approved filtering-rule lists. We update them from the [separate repository][hostlist] once before each Beta and Release build.

Please do:

* follow the template instructions and provide data for reproducing issues.
- follow the template instructions and provide data for reproducing issues.

* write the title of your issue or pull request in English. Any language is
fine in the body, but it is important to keep the title in English to make
it easier for people and bots to look up duplicated issues.
- write the title of your issue or pull request in English. Any language is fine in the body, but it is important to keep the title in English to make it easier for people and bots to look up duplicated issues.

[CrowdIn]: https://crowdin.com/project/adguard-applications/en#/adguard-home
[form]: https://link.adtidy.org/forward.html?action=report&app=home&from=github
[hostlist]: https://github.com/AdguardTeam/HostlistsRegistry
[kb-trans]: https://kb.adguard.com/en/general/adguard-translations

## Issues

### Search first

## Issues

### Search first

Please make sure that the issue is not a duplicate or a question. If it's a
duplicate, please react to the original issue with a thumbs up. If it's a
question, please look through our [Wiki] and, if you haven't found the answer,
post it to the GitHub [Discussions] page.
Please make sure that the issue is not a duplicate or a question. If it’s a duplicate, please react to the original issue with a thumbs up. If it’s a question, please look through our [Wiki] and, if you haven’t found the answer, post it to the GitHub [Discussions] page.

[Discussions]: https://github.com/AdguardTeam/AdGuardHome/discussions/categories/q-a
[Wiki]: https://github.com/AdguardTeam/AdGuardHome/wiki

### Follow the issue template

Developers need to be able to reproduce the faulty behavior in order to fix an issue, so please make sure that you follow the instructions in the issue template carefully.

### Follow the issue template

Developers need to be able to reproduce the faulty behavior in order to fix an
issue, so please make sure that you follow the instructions in the issue
template carefully.

## Pull requests

### Discuss your changes first

## Pull requests
Please discuss your changes by opening an issue. The maintainers should evaluate your proposal, and it’s generally better if that’s done before any code is written.

### Discuss your changes first
### Review your changes for style

Please discuss your changes by opening an issue. The maintainers should
evaluate your proposal, and it's generally better if that's done before any code
is written.



### Review your changes for style

We have a set of [code guidelines][hacking] that we expect the code to follow.
Please make sure you follow it.
We have a set of [code guidelines][hacking] that we expect the code to follow. Please make sure you follow it.

[hacking]: https://github.com/AdguardTeam/CodeGuidelines/blob/master/Go/Go.md

### Test your changes

Make sure that it passes linters and tests by running the corresponding Make targets. For backend changes, it’s `make go-check`. For frontend, run `make js-lint`.

### Test your changes

Make sure that it passes linters and tests by running the corresponding Make
targets. For backend changes, it's `make go-check`. For frontend, run
`make js-lint`.

Additionally, a manual test is often required. While we're constantly working
on improving our test suites, they're still not as good as we'd like them to be.
Additionally, a manual test is often required. While we’re constantly working on improving our test suites, they’re still not as good as we’d like them to be.
Loading