Compare commits

..

387 Commits

Author SHA1 Message Date
Ainar Garipov
0c7d56dca3 Merge branch 'master' into 4927-refactor-tls 2022-11-22 17:10:40 +03:00
Ainar Garipov
08282dc4d9 Pull request: 4927-imp-ui
Updates #4927.

Squashed commit of the following:

commit 510143325805133e379ebc207cdc6bff59c94ade
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Nov 22 15:00:13 2022 +0300

    home: imp err

commit fd65a9914494b6dccdee7c0f0aa08bce80ce0945
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Nov 21 18:53:39 2022 +0300

    client: imp validation ui
2022-11-22 17:07:49 +03:00
Ainar Garipov
f36efa26a4 home: refactor more 2022-11-21 19:45:18 +03:00
Ainar Garipov
a8850059db home: refactor tls 2022-11-21 19:05:49 +03:00
Dimitry Kolyshev
93882d6860 Pull request: 4223 home: cmd update
Merge in DNS/adguard-home from 4223-cmd-update to master

Squashed commit of the following:

commit ffda71246f37eaba0cb190840f1370ba65099d7c
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Nov 15 16:32:10 2022 +0200

    home: cmd update

commit 9c4e1c33da78952a2b1477ac380a0cf042a8990f
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Nov 15 13:51:33 2022 +0200

    home: cmd update

commit 6a564dc30771b3675e8861ca3befaaee15d83026
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Nov 14 11:05:06 2022 +0200

    all: docs

commit a546bdbdb6f3f78c40908bc1864f2a1ae1c9071f
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Nov 14 10:55:16 2022 +0200

    home: cmd update

commit cbbb594980d3d163fe0489494b0ddca5f679d6e6
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Nov 14 10:16:09 2022 +0200

    home: imp code

commit 677f8a7ca0f47da0ac636e5bab9db24506cf5041
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Sun Nov 13 14:12:48 2022 +0200

    home: cmd update
2022-11-15 17:44:50 +03:00
Ainar Garipov
167b112511 Pull request: 5035-more-clients-netip-addr
Updates #5035.

Squashed commit of the following:

commit 1934ea14299921760e9fcf6dd9053bd3155cb40e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Nov 9 14:19:54 2022 +0300

    all: move more client code to netip.Addr
2022-11-09 14:37:07 +03:00
Ainar Garipov
98af0e000e Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit efe2d95b870e413af4f91be5de7c7b97970e1dd5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Nov 8 18:08:03 2022 +0300

    all: upd chlog
2022-11-08 18:15:01 +03:00
Ainar Garipov
2bfdcbbc10 Pull request: upd-before-release
Merge in DNS/adguard-home from upd-before-release to master

Squashed commit of the following:

commit 71f36273a55f63d389188fd7df2950a6207549a9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Nov 8 14:35:18 2022 +0300

    all: upd deps, tools, filters
2022-11-08 16:24:44 +03:00
Ainar Garipov
8fdbcc005c Pull request: imp-pprof
Merge in DNS/adguard-home from imp-pprof to master

Squashed commit of the following:

commit cd6c2ec15342ef55957ab65e1599733c2ee57b7b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Nov 7 19:45:12 2022 +0300

    home: imp pprof handling, field alignment
2022-11-08 11:36:42 +03:00
Ainar Garipov
464fbf0b54 Pull request: 5089-windows-hosts-crash
Updates #5089.

Squashed commit of the following:

commit dd3ce763326ad3207de111bb911e0a2665bcebba
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Nov 7 16:21:43 2022 +0300

    aghnet: fix comparison

commit 0d736fb7fc5cb2e77fd533cd95fdf3fbc6dc86d1
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Nov 7 14:13:05 2022 +0300

    aghnet: fix crash
2022-11-07 16:51:07 +03:00
Ainar Garipov
a7d02fa935 Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit d148e3db4f432cfb447eeda2f56f1df2fb512a50
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Nov 2 18:33:21 2022 +0300

    all: upd chlog
2022-11-02 18:39:46 +03:00
Ainar Garipov
af8f64ac00 Pull request: upd-i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 1460df0f7c07f49f056068a6b01ab6e01566a087
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Nov 2 14:43:23 2022 +0300

    client: upd i18n
2022-11-02 14:53:45 +03:00
Eugene Burkov
c139287787 Pull request: 4927-ddr-ip-san
Merge in DNS/adguard-home from 4927-ddr-ip-san to master

Updates #4927.

Squashed commit of the following:

commit 92e7498a7a9101648c4cfdf719adf4eb135fc903
Merge: f4770abf fa0fd90d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Nov 2 14:29:08 2022 +0300

    Merge branch 'master' into 4927-ddr-ip-san

commit f4770abf98ea2c0db2f0c2ddb9509a29a06c9509
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Nov 2 13:50:40 2022 +0300

    dnsforward: imp logs

commit 8d71371365070e221e104ae20acc8312e840eff9
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Nov 1 20:57:43 2022 +0300

    all: imp code, docs

commit 9793820f2c581e0ffcb28a59677be5c8df0c43f3
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Nov 1 19:37:39 2022 +0300

    all: remember the cert props
2022-11-02 14:37:41 +03:00
Ainar Garipov
fa0fd90ddd Pull request: upd-go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 9548937ef70f195bbd9b6d19093bb88e9d5f0330
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Nov 2 14:09:46 2022 +0300

    all: upd go, tools
2022-11-02 14:22:10 +03:00
Eugene Burkov
c5565a9e4e Pull request: 4898-redirect-https
Merge in DNS/adguard-home from 4898-redirect-https to master

Updates #4898.
Updates #4927.

Squashed commit of the following:

commit bc41b6cae7ede0f1235e3956ab49204af1c9f38d
Merge: 815e2991 ac7634da
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Nov 1 13:02:23 2022 +0300

    Merge branch 'master' into 4898-redirect-https

commit 815e299137224fc3c7fd46924d7b936515b95d67
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Nov 1 12:58:28 2022 +0300

    home: imp ip addr detection

commit 9d4ecd9ab0e13ef6c19c3b923363bff43394ea4c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Oct 31 17:23:41 2022 +0300

    home: imp cyclo

commit 86c47b68fe6e3916cec97eee5d34e3e6c18e4892
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Oct 31 15:06:05 2022 +0300

    all: imp text

commit bcc25697b551668d1dab53a874e716fcadd83f09
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Oct 31 11:47:57 2022 +0300

    home: fix test

commit bb51a74cb82eeaa977821fa7314810c7b8be55cb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Sun Oct 30 23:23:40 2022 +0300

    home: imp code

commit 38522330691baf8475a59ed4f40b1d45363df1e3
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Oct 28 17:00:50 2022 +0300

    home: imp code

commit 7284f7288feb7491560f0f5d2754044c7a9f603a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Oct 27 19:42:57 2022 +0300

    all: log changes

commit 540efcb013e15294b98efe581323f75ceefc8f5a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Oct 27 19:24:21 2022 +0300

    home: imp tls
2022-11-01 13:09:52 +03:00
Ainar Garipov
ac7634da37 Pull request: imp-ups-tests
Merge in DNS/adguard-home from imp-ups-tests to master

Squashed commit of the following:

commit 60c22e8dfb81c3613b00994ccf01ba96137946f9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 28 19:26:34 2022 +0300

    all: imp names, fix aaaa

commit c3bd8a9fa95a86f5af86ea2956565337ee620c99
Merge: 23f82237 746e9df7
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 28 19:16:56 2022 +0300

    Merge branch 'master' into imp-ups-tests

commit 23f82237a81b0ef22cf418afdc2ec95dc50639a3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 28 18:14:27 2022 +0300

    all: imp upstream tests
2022-10-28 19:35:59 +03:00
Ainar Garipov
746e9df727 Pull request: rm-jsonutil
Merge in DNS/adguard-home from rm-jsonutil to master

Squashed commit of the following:

commit dec746d321adbeb41bfd0c44e71d198809c4731e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 28 18:41:39 2022 +0300

    querylog: rm jsonutil
2022-10-28 19:15:27 +03:00
Ainar Garipov
3dd7393b3f Pull request: upd-pkgs-tools
Merge in DNS/adguard-home from upd-pkgs-tools to master

Squashed commit of the following:

commit 114c1ee94ff20339709e3ed66941d46692ab062c
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 28 17:17:03 2022 +0300

    all: upd go pkgs, tools
2022-10-28 17:42:45 +03:00
Ainar Garipov
9c9d6b48e3 Pull request: imp-tests
Merge in DNS/adguard-home from imp-tests to master

Squashed commit of the following:

commit ea5b4e7a93359ae4800f75e77d02944a4f5d2df8
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 27 15:12:45 2022 +0300

    all: imp tests, use testutil
2022-10-27 16:11:36 +03:00
Ainar Garipov
9951d861d1 Pull request: 3972-hostlists-services
Updates #3972.

Squashed commit of the following:

commit 9dc0efe2453cb6c738d97d39b02c86eccb18a42c
Merge: 239550f8 8a935d4f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 27 14:42:38 2022 +0300

    Merge branch 'master' into 3972-hostlists-services

commit 239550f84228e7c7a6f4ae6b1cadcc47e01f54d5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 27 14:41:42 2022 +0300

    filtering: upd service list

commit b8bf3a6a4b1333059b886be95a1419612aebac39
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Oct 27 13:41:09 2022 +0300

    client: remove todo

commit caa504b482befb804db2a1ca0b6d4834aa4da49a
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Oct 27 12:54:45 2022 +0300

    fix build

commit 511797c305d9eef84a20553dab795414e00da51a
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Oct 27 12:40:33 2022 +0300

    client: add titles with service names to the clients table

commit 79ed3157a85b489a0b13381cff867a8c73ba60e9
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Oct 27 12:36:59 2022 +0300

    client: fix empty icons

commit ab69b95784de87665d5a1a3683f28e3b3df1c210
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Oct 27 11:55:48 2022 +0300

    client: use all blocked services

commit 9a4a87665c8463224d8e93f1e162988107f6c7ca
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 25 19:25:20 2022 +0300

    all: fix json response

commit 86eb4493ce305cd5991176bd4cd8f7f5afdea330
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 25 19:09:44 2022 +0300

    all: use hostslists registry for blocked svcs
2022-10-27 15:46:25 +03:00
Ainar Garipov
8a935d4ffb Pull request: 5035-dhcp-hosts-netip-addr
Updates #5035.

Squashed commit of the following:

commit 3a272842f738da322abb2bc5306aed94da79304b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 26 20:34:49 2022 +0300

    dnsforward: imp docs, tests

commit b442ca9b57d730be3af14c68759c706f1742e4c4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 26 19:51:21 2022 +0300

    dnsforward: imp code, tests

commit 8fca6de93edb8cfdb0ff5a940d08f8700e12a423
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 26 16:38:27 2022 +0300

    dnsforward: mv dhcp hosts to netip.Addr
2022-10-26 21:12:51 +03:00
Ainar Garipov
bf10f157ab Pull request: http3-tls-fix
Merge in DNS/adguard-home from http3-tls-fix to master

Squashed commit of the following:

commit 4b4ac9f91d6a36654674c5e7037d2bf35a6b211a
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 26 15:35:07 2022 +0300

    dnsforward: add crutch for quic-go bug
2022-10-26 15:54:04 +03:00
Eugene Burkov
15f5876e33 Pull request: upd-proxy
Merge in DNS/adguard-home from upd-proxy to master

Squashed commit of the following:

commit ba7c3595d7a0747b18f16e418473cb633b09200c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 25 18:15:15 2022 +0300

    all: upd dnsproxy
2022-10-25 18:34:55 +03:00
Ainar Garipov
04c8e3b288 Pull request: 5035-netip-arp-hosts
Updates #5035.

Squashed commit of the following:

commit d1c4493ee4e28d05670c20532ebae1aa809d18da
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 25 14:26:52 2022 +0300

    aghnet: imp hosts rec equal

commit 0a7f40a64a819245fba20d3b481b0fc34e0c60e6
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 24 18:10:09 2022 +0300

    aghnet: move arp and hosts to netip.Addr
2022-10-25 15:08:12 +03:00
Ainar Garipov
cebbb69a4c Pull request: 5035-netip-maps-clients
Updates #5035.

Squashed commit of the following:

commit c2d38fe75b8aa2f00b19892724984ed3bb843db5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 24 16:50:14 2022 +0300

    home: move clients to netip.Addr
2022-10-24 17:49:52 +03:00
Ainar Garipov
a272b61ed6 Pull request: 5035-netip-maps-access
Updates #5035.

Squashed commit of the following:

commit 0c9f80761419dc50d89e0e82f68cdb462569417d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 24 16:11:03 2022 +0300

    dnsforward: fix access check

commit df981acb4816cfba11bf6bbe4ef7796a6e365ea9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 24 15:27:45 2022 +0300

    dnsforward: mv access to netip.Addr
2022-10-24 16:29:44 +03:00
Ainar Garipov
b86250737e Pull request: 5035-slices-clone
Updates #5035.

Squashed commit of the following:

commit 9a5be90a347d4da08649927731b20fd5ecb90be2
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 21 20:11:54 2022 +0300

    all: use slices.Clone, netip.AddrPort
2022-10-21 20:42:00 +03:00
Eugene Burkov
a149d816d9 Pull request: 4916 Editing filter
Merge in DNS/adguard-home from 4916-fix-filter-edit to master

Closes #4916.

Squashed commit of the following:

commit c31be58abf73ed6047edc04ee606bceeb698f1bb
Merge: c9f3e337 67d89660
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Oct 21 19:58:16 2022 +0300

    Merge branch 'master' into 4916-fix-filter-edit

commit c9f3e337be8f005cc667d1cfd505f8cbca97cf20
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Oct 21 14:49:53 2022 +0300

    filtering: imp docs

commit ef8228fd51772fb4c1876864a1d8e41caec45a70
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Oct 21 12:40:00 2022 +0300

    filtering: imp code

commit 57fdbfca882537e50685b514f89bd9cf8a4cf5da
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Oct 20 11:54:39 2022 +0300

    filtering: imp docs

commit 670ac9aa009f4d6b021c37992182492f943a5005
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Oct 19 21:03:26 2022 +0300

    home: unexport close of clients container

commit f5b29166ede4c89966740bee8d09b443fde9e475
Merge: 2e57624e 2de42284
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Oct 19 21:02:33 2022 +0300

    Merge branch 'master' into 4916-fix-filter-edit

commit 2e57624e00ff702ef469ec0aa129eae9b627e41f
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Oct 19 21:01:19 2022 +0300

    filtering: imp code, tests

commit be56df7cef9b0548de3ac6bb9ced7705d7f31783
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 18 15:31:30 2022 +0300

    filtering: fix url edit
2022-10-21 20:14:43 +03:00
Ainar Garipov
67d89660ca Pull request: upd-twosky
Merge in DNS/adguard-home from upd-twosky to master

Squashed commit of the following:

commit aba02252dc754aa25a7ea117c0310f990d45eeed
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 21 19:13:24 2022 +0300

    all: upd twosky
2022-10-21 19:21:21 +03:00
Ainar Garipov
2a85d7dd7e Pull request: 3972-hostlists-registry
Updates #3972.

Squashed commit of the following:

commit 8341c13c39f38048796bc42c5f5337e1c8d3bcd4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 21 13:06:55 2022 +0300

    all: imp docs

commit b7f961c879abf288c347e5bf55182e7dfa8e84e4
Merge: 607077ca 68d13fcc
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 20 18:23:57 2022 +0300

    Merge branch 'master' into 3972-hostlists-registry

commit 607077ca8141f732d4678955c62cc2345958766b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 20 18:07:09 2022 +0300

    all: use hostlists registry
2022-10-21 14:05:10 +03:00
Eugene Burkov
68d13fcc2b Pull request: 5052 Close errors
Merge in DNS/adguard-home from 5052-nonfatal-close to master

Updates #5052.

Squashed commit of the following:

commit 8411de465a29517640556e7d2390059482e01e8a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Oct 20 16:54:52 2022 +0300

    dnsforward: imp code

commit d6dff964397d6d878267f24b844bc6040edec316
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Oct 20 16:48:55 2022 +0300

    dnsforward: revert tmp stuff

commit 519aaf21cd1929141ea1902388d40599dced55ea
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Oct 20 16:28:32 2022 +0300

    dnsforward: fix ups closing errors
2022-10-20 18:22:37 +03:00
Eugene Burkov
2de42284a5 Pull request: 5044 Close upstreams
Merge in DNS/adguard-home from 5044-close-upstreams to master

Closes #5044.

Squashed commit of the following:

commit e121380ecb32bd2664d47f0968c68509156404c1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Oct 19 15:54:17 2022 +0300

    all: upd proxy again

commit ce7fa539a7430a1a197fd45e7988697010c684db
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Oct 19 14:30:46 2022 +0300

    home: imp docs, names

commit 851c5b8128149941cc469e6192ec9b4b1f92b0b5
Merge: b9ee5d63 d2a09e49
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Oct 19 14:21:44 2022 +0300

    Merge branch 'master' into 5044-close-upstreams

commit b9ee5d6348e696ff0b44dabee601469c545c8bd9
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Oct 19 14:20:15 2022 +0300

    all: close upstreams more

commit eaca476319dc64e7986e26e67110005938cf1278
Merge: f924bc7a 8dba4ecd
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 18 18:33:53 2022 +0300

    Merge branch 'master' into 5044-close-upstreams

commit f924bc7a836001f8bb7463de2b5ddaf1be1a53c1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 18 18:23:54 2022 +0300

    all: imp code, docs

commit 011fde16aa912fc78e3d6f60375cee73a0d88709
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 18 17:26:40 2022 +0300

    all: upd dnsproxy
2022-10-19 16:13:05 +03:00
Ainar Garipov
d2a09e49ff Pull request: upd-i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 9c7c24b877dde94c0bcd6d680f28eda5a38d38a2
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 19 13:02:18 2022 +0300

    client: imp sr-cs

commit 7daa7db4552daf234ad451d1634981713405f4fe
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 19 12:40:37 2022 +0300

    client: upd i18n
2022-10-19 13:18:34 +03:00
Ainar Garipov
e0080ffa3a Pull request: upd-companiesdb
Merge in DNS/adguard-home from upd-companiesdb to master

Squashed commit of the following:

commit c38ccd89a46193b24393c00b4a83ed439f6d7469
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 19 12:00:58 2022 +0300

    client: upd trackers
2022-10-19 12:13:22 +03:00
Ainar Garipov
8dba4ecd01 Pull request: cve-id
Merge in DNS/adguard-home from cve-id to master

Squashed commit of the following:

commit 5a5418db1992e49402a44a3c1cf9cffc132c8074
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 18 17:28:49 2022 +0300

    all: upd cve id
2022-10-18 17:45:04 +03:00
Ainar Garipov
aaaa56fce3 Pull request: 4990-custom-ciphers
Updates #4925.
Updates #4990.

* commit 'ab79168b13a5680557147de098c740bca974392e':
  all: fix chlog
  home: refactor override
  updated changelog
  fixed formatting
  changed based on review
  changes done as per review comments
  added ciphers for h3
  Pull request: imp-scripts
  Pull request: imp-stalebot
  spelling corrected UserPreferredCipherSuites
  added support for User prefered Ciphers
  Revert "adding TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA to safe cipher suite"
  adding TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA to safe cipher suite
2022-10-14 20:44:29 +03:00
Ainar Garipov
ab79168b13 all: fix chlog 2022-10-14 20:19:25 +03:00
Ainar Garipov
5ae826d8a9 home: refactor override 2022-10-14 20:14:07 +03:00
Ainar Garipov
a736f67205 Merge branch 'master' into 4990-custom-ciphers 2022-10-14 19:41:43 +03:00
Ainar Garipov
fee81b31ec Pull request: 4925-refactor-tls-vol-2
Updates #4925.

Squashed commit of the following:

commit 4b221936ea6c2a244c404e95fa2a033571e07168
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 14 19:03:42 2022 +0300

    all: refactor tls
2022-10-14 19:37:14 +03:00
Ainar Garipov
a1acfbbae4 Pull request: 4925-refactor-tls-vol-1
Merge in DNS/adguard-home from 4925-refactor-tls-vol-1 to master

Squashed commit of the following:

commit ad87b2e93183b28f2e38666cc4267fa8dfd1cca0
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 14 18:49:22 2022 +0300

    all: refactor tls, vol. 1

    Co-Authored-By: Rahul Somasundaram <Rahul.Somasundaram@checkpt.com>
2022-10-14 19:03:03 +03:00
Eugene Burkov
4582b1c919 Pull request: Migrate to netip.Addr vol.1
Merge in DNS/adguard-home from 2926-lla-v6 to master

Updates #2926.
Updates #5035.

Squashed commit of the following:

commit 2e770d4b6d4e1ec3f7762f2f2466662983bf146c
Merge: 25c1afc5 893358ea
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Oct 14 15:14:56 2022 +0300

    Merge branch 'master' into 2926-lla-v6

commit 25c1afc5f0a5027fafac9dee77618886aefee29c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Oct 13 18:24:20 2022 +0300

    all: imp code, docs

commit 59549c4f74ee17b10eae542d1f1828d4e59894c9
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 11 18:49:09 2022 +0300

    dhcpd: use netip initially

commit 1af623096b0517d07752385540f2f750f7f5b3bb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 30 18:03:52 2022 +0300

    all: imp docs, code

commit e9faeb71dbc0e887b25a7f3d5b33a401805f2ae7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 29 14:56:37 2022 +0300

    all: use netip for web

commit 38305e555a6884c3bd1b0839330b942ce0e59093
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Sep 28 19:13:58 2022 +0300

    add basic lla
2022-10-14 15:29:44 +03:00
Ainar Garipov
893358ea71 Pull request: 5023-readme-debug
Closes #5023.

Squashed commit of the following:

commit d6e8412935fe977dc326b0a53dd4cfa53b15f627
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 13 17:56:59 2022 +0300

    all: fix align

commit 28b1ac3c93a373e7516db5823c9119c0a944708f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 13 17:43:18 2022 +0300

    all: fix more links

commit 29d7ad4b7973061686c4266738eae7dbf4102e5b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 13 17:41:46 2022 +0300

    all: imp readme, fix links

commit f75438d6d4d58ff483d261b158308402d15a3276
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Oct 13 16:50:02 2022 +0300

    all: imp readme
2022-10-13 18:27:20 +03:00
Eugene Burkov
f109fb17a4 Pull request: 5010 revert default cache size
Merge in DNS/adguard-home from 5010-default-settings to master

Updates #5010.

Squashed commit of the following:

commit 19edb2c7ff47d35462d83703c766561d1c334daa
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 11 19:45:49 2022 +0300

    all: imp log of changes

commit a0ad92f0245830a64ed4e285b6017d04173fe2c7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 11 19:34:37 2022 +0300

    home: revert default value
2022-10-11 19:49:35 +03:00
Eugene Burkov
5604e33574 Pull request: 4942 cache poisoning
Merge in DNS/adguard-home from 4942-cache-poisoning to master

Updates #4942.

Squashed commit of the following:

commit aec2ccd21cfdc89ebf1a4f27e2f8278b3fb2f0bc
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 11 15:41:18 2022 +0300

    all: imp wording

commit dba35a161f5625f5adbb0ecad9b9146fb827528b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Oct 11 15:13:35 2022 +0300

    all: upd proxy
2022-10-11 15:58:02 +03:00
Ainar Garipov
67da002391 Pull request: 4993-alt-svc
Updates #4986.
Updates #4993.

* commit 'd42d1a7ea48850a97f6ab74c181e4348885a4068':
  all: imp chlog; dry; fix races
  updated changelog
  changes done based on review
  referred https port from config
  added h3 header
2022-10-10 18:42:53 +03:00
Ainar Garipov
d42d1a7ea4 all: imp chlog; dry; fix races 2022-10-10 18:34:53 +03:00
Ainar Garipov
e4a42bf233 Merge branch 'master' into 4993-alt-svc 2022-10-10 17:59:12 +03:00
Ildar Kamalov
0eba31ca03 Pull request: 4815 fix table view of the query log modal
Updates #4815

Squashed commit of the following:

commit a547c546a2b3cdbfb6988c910d8a970e0189ae5a
Merge: 3c1e745d f5602d9c
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Oct 10 17:40:38 2022 +0300

    Merge branch 'master' into 4815-tablet-view-fix

commit 3c1e745dc2e34a62be8264ad003b5e6c155bb241
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Oct 10 16:50:10 2022 +0300

    fix mobile view

commit a1d0b36473982854eecf1d96cf5a7033059e7720
Author: Ildar Kamalov <ik@adguard.com>
Date:   Sun Oct 9 17:57:14 2022 +0300

    client: fix styles

commit f34f928e1dbeef5ed37a0de3515be8d12f2241f6
Author: Ildar Kamalov <ik@adguard.com>
Date:   Sun Oct 9 16:59:23 2022 +0300

    client: fix table view of query log modal
2022-10-10 17:49:19 +03:00
Ainar Garipov
f5602d9c46 Pull request: hup-reload
Merge in DNS/adguard-home from hup-reload to master

Squashed commit of the following:

commit 5cd4ab85bdc7544a4eded2a61f5a5571175daa44
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 19:58:17 2022 +0300

    next: imp signal hdlr

commit 8fd18e749fec46982d26fc408e661bd802586c37
Merge: a8780455 f1dd3334
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 19:46:48 2022 +0300

    Merge branch 'master' into hup-reload

commit a87804550e15d7fe3d9ded2e5a736c395f96febd
Merge: 349dbe54 960a7a75
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 15:49:23 2022 +0300

    Merge branch 'master' into hup-reload

commit 349dbe54fe27eeaf56776c73c3cc5649018d4c60
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 15:43:52 2022 +0300

    next: imp docs, names

commit 7287a86d283489127453009267911003cea5227e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 13:39:44 2022 +0300

    WIP all: impl dynamic reconfiguration
2022-10-10 14:05:24 +03:00
Ainar Garipov
f1dd33346a Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 8885f3f2291947d76203873dce0ccfd5c270fa7f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 16:56:38 2022 +0300

    all: upd chlog
2022-10-07 17:05:01 +03:00
Ainar Garipov
960a7a75ed Pull request: upd-go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 3dffc8b5d8951216c1e695472199fc9e9d85e1c7
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 14:30:23 2022 +0300

    all: fix chlog

commit cca70bd6cd27d04cd7cebe14a4e4bef112ce2bcb
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Oct 7 14:07:39 2022 +0300

    all: upd go
2022-10-07 15:48:51 +03:00
Rahul Somasundaram
a126f514ff updated changelog 2022-10-06 21:48:22 +05:30
Rahul Somasundaram
c0c9d8adb0 fixed formatting 2022-10-06 21:44:43 +05:30
Rahul Somasundaram
7cac010573 changed based on review
1. exit AG is user defined cipher is invalid
2. updated changelog
3. golang naming tweaks
2022-10-06 21:37:15 +05:30
Rahul Somasundaram
51f426736c updated changelog 2022-10-06 20:53:23 +05:30
Rahul Somasundaram
0c0340d63e changes done based on review
1. set only `h3` header
2. set default max-age
3. support https redirect as well
2022-10-06 20:44:55 +05:30
Ainar Garipov
330ac30324 Pull request: 3418-clientid-doh
Closes #3418.

Squashed commit of the following:

commit 8a1180f8ef03d30ea3ae6a3e3121ddcac513f45b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 5 17:26:22 2022 +0300

    all: imp docs, tests

commit 9629c69b39540db119044f2f79c1c4ed39de911f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 5 15:34:33 2022 +0300

    dnsforward: accept clientids from doh client srvname
2022-10-05 18:11:09 +03:00
Ainar Garipov
2e0f6e5468 Pull request: refactor-opts
Updates #2893.

Squashed commit of the following:

commit c7027abd1088e27569367f3450e9225ff605b43d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 5 16:54:23 2022 +0300

    home: imp docs

commit 86a5b0aca916a7db608eba8263ecdc6ca79c8043
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 5 16:50:44 2022 +0300

    home: refactor opts more

commit 74c5989d1edf8d007dec847f4aaa0d7a0d24dc38
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Oct 5 15:17:26 2022 +0300

    home: refactor option parsing
2022-10-05 17:07:08 +03:00
Rahul Somasundaram
b7e815483e referred https port from config 2022-10-05 18:27:01 +05:30
Rahul Somasundaram
15b19ff726 changes done as per review comments 2022-10-05 00:12:53 +05:30
Ainar Garipov
f557339ca0 Pull request: imp-cache-label
Merge in DNS/adguard-home from imp-cache-label to master

Squashed commit of the following:

commit 10f62aa078b5306525578e22476835ee2e7bac66
Merge: 08c2de0e fe8be370
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 4 16:30:43 2022 +0300

    Merge branch 'master' into imp-cache-label

commit 08c2de0edbb1138b47d1a02d6630aa99b7ddcec9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 4 16:19:36 2022 +0300

    client: imp label

commit e66fbbe3cc6f929ff26fe3d7b8e14acc95f5c0ff
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 4 16:17:15 2022 +0300

    client: imp upstream example

commit d073f71cc5df4ba5f7de7ed08ad1215f7a198539
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 4 15:44:58 2022 +0300

    client: imp upstreams

commit b78d06db645a9f496bed699f4d4bf8c7396148f3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 4 14:59:30 2022 +0300

    client: imp cache size label
2022-10-04 16:36:38 +03:00
Ainar Garipov
fe8be3701f Pull request: websvc-config-manager
Merge in DNS/adguard-home from websvc-config-manager to master

Squashed commit of the following:

commit 2143b47c6528030dfe059172888fddf9061e42da
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Oct 4 14:50:47 2022 +0300

    next: add config manager
2022-10-04 16:02:55 +03:00
Ainar Garipov
c26ab190e7 Pull request: imp-json-resp
Merge in DNS/adguard-home from imp-json-resp to master

Squashed commit of the following:

commit 44532b6fa551815e5ea876e7320ce0a73c32b6fb
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Sep 30 15:59:58 2022 +0300

    all: imp json resp
2022-10-04 14:35:10 +03:00
Rahul Somasundaram
6a62f704e2 added h3 header 2022-10-04 11:01:21 +05:30
Rahul Somasundaram
24eb3476db added ciphers for h3 2022-10-04 09:51:55 +05:30
Rahul Somasundaram
8a924cb4ed fixed conflict 2022-10-04 08:38:51 +05:30
Ainar Garipov
6e7964c9e7 Pull request: imp-scripts
Merge in DNS/adguard-home from imp-scripts to master

Squashed commit of the following:

commit ab63a8a2dd1b64287e00a2a6f747fd48b530709e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 21 19:15:06 2022 +0300

    all: imp scripts; upd tools; doc
2022-10-04 08:27:26 +05:30
Ainar Garipov
9d59be4269 Pull request: imp-stalebot
Merge in DNS/adguard-home from imp-stalebot to master

Squashed commit of the following:

commit d1fb5c6da25eeb168c53abfc7af714827a5242cd
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 21 14:31:50 2022 +0300

    all: imp stalebot
2022-10-04 08:27:26 +05:30
Ainar Garipov
bf792b83f6 Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 368025b27cb74fc5b6acbfd9382adeebc4ca6cbd
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 19:23:32 2022 +0300

    all: upd chlog
2022-10-03 19:32:55 +03:00
Ainar Garipov
0cce420261 Pull request: 3955-doh3
Updates #3955.

Squashed commit of the following:

commit acfd5ccc29ff03dfae1e51e52649acdf05042d9f
Merge: caeac6e5 61bd217e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 18:00:37 2022 +0300

    Merge branch 'master' into 3955-doh3

commit caeac6e5401bcaa95bba8d2b84a943b6c9a5898a
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 17:54:16 2022 +0300

    all: fix server closing; imp docs

commit 87396141ff49d48ae54b4184559070e7885bccc7
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Oct 3 17:33:39 2022 +0300

    all: add doh3 support
2022-10-03 18:08:05 +03:00
Eugene Burkov
61bd217eb3 Pull request: 4983 fix custom svcs
Merge in DNS/adguard-home from 4983-fix-custom-svcs to master

Updates #4945.
Updates #4982.

* commit '739e0098ec127045197ea697bae78acb2bd2c729':
  all: imp code, wording
  home: fix empty svcs
  bugfix: Fixed bug which was causing clients to continue following global service blocks even when user opted to not do that
2022-10-03 17:57:13 +03:00
Eugene Burkov
739e0098ec all: imp code, wording 2022-10-03 17:48:11 +03:00
Eugene Burkov
27032ef79e home: fix empty svcs 2022-10-03 17:30:03 +03:00
Ishan Jain
5e626306d1 bugfix: Fixed bug which was causing clients to continue following global service blocks even when user opted to not do that 2022-10-03 00:02:35 +05:30
Eugene Burkov
2ffea605cf Pull request: home: fix client blocked svcs
Merge in DNS/adguard-home from fix-blocked-svcs to master

Squashed commit of the following:

commit 7e4ccbeb8866501c8f488efa76f7ce32369416ec
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 30 16:48:27 2022 +0300

    all: imp log of changes

commit 171836fb8033ac1b7fc3ed3f4bd18669795fe1dd
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 30 16:22:07 2022 +0300

    all: log changes

commit f5cde0a75a84b8efe59154ad019846ea06ec7c08
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 30 16:04:14 2022 +0300

    home: fix client blocked svcs
2022-09-30 16:57:33 +03:00
Ainar Garipov
4d404b887f Pull request: 4970-error-415
Updates #4970.

Squashed commit of the following:

commit 10365d9c8474e9d9735f581fb32b2892b2153cc4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Sep 30 14:23:06 2022 +0300

    all: imp docs, names

commit cff1103a0618a6430dc91e7e018febbf313c12ba
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Sep 30 14:02:38 2022 +0300

    home: imp content-type check
2022-09-30 14:41:25 +03:00
Ainar Garipov
7b48863041 Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit b53de96bc5d1bc0ff81ceb6c716614fd094913e7
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Sep 29 19:46:36 2022 +0300

    all: upd chlog
2022-09-29 19:51:33 +03:00
Ainar Garipov
756b14a61d Pull request: HOFTIX-csrf
Merge in DNS/adguard-home from HOFTIX-csrf to master

Squashed commit of the following:

commit 75ab27bf6c52b80ab4e7347d7c254fa659eac244
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Sep 29 18:45:54 2022 +0300

    all: imp cookie security; rm plain-text apis
2022-09-29 19:04:26 +03:00
Eugene Burkov
b71a5d86de Pull request: 4945 fix user rules
Merge in DNS/adguard-home from 4945-fix-user-rules to master

Updates #4945.
Updates #4871.

Squashed commit of the following:

commit 415a262e5af0821b658ed2a1b365d471f1452a6a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 29 18:05:48 2022 +0300

    home: fix user rules
2022-09-29 18:30:35 +03:00
Ainar Garipov
d45fa5801e Pull request: upd-i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit c8ad18e03d1d6206c3220751c5c720a5eef3e3a9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Sep 29 17:12:22 2022 +0300

    client: upd i18n
2022-09-29 17:17:27 +03:00
Eugene Burkov
47c9c946a3 Pull request: 4871 imp filtering
Merge in DNS/adguard-home from 4871-imp-filtering to master

Closes #4871.

Squashed commit of the following:

commit 618e7c558447703c114332708c94ef1b34362cf9
Merge: 41ff8ab7 11e4f091
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 22 19:27:08 2022 +0300

    Merge branch 'master' into 4871-imp-filtering

commit 41ff8ab755a87170e7334dedcae00f01dcca238a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 22 19:26:11 2022 +0300

    filtering: imp code, log

commit e4ae1d1788406ffd7ef0fcc6df896a22b0c2db37
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 22 14:11:07 2022 +0300

    filtering: move handlers into single func

commit f7a340b4c10980f512ae935a156f02b0133a1627
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Sep 21 19:21:09 2022 +0300

    all: imp code

commit e064bf4d3de0283e4bda2aaf5b9822bb8a08f4a6
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 20 20:12:16 2022 +0300

    all: imp name

commit e7eda3905762f0821e1be1ac3cf77e0ecbedeff4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 20 17:51:23 2022 +0300

    all: finally get rid of filtering

commit 188550d873e625cc2951583bb3a2eaad036745f5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 20 17:36:03 2022 +0300

    filtering: merge refresh

commit e54ed9c7952b17e66b790c835269b28fbc26f9ca
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 20 17:16:23 2022 +0300

    filtering: merge filters

commit 32da31b754a319487d5f9d5e81e607d349b90180
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 20 14:48:13 2022 +0300

    filtering: imp docs

commit 43b0cafa7a27bb9b620c2ba50ccdddcf32cfcecc
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 20 14:38:04 2022 +0300

    all: imp code

commit 253a2ea6c92815d364546e34d631e406dd604644
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Sep 19 20:43:15 2022 +0300

    filtering: rm important flag

commit 1b87f08f946389d410f13412c7e486290d5e752d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Sep 19 17:05:40 2022 +0300

    all: move filtering to the package

commit daa13499f1dd4fe475c4b75769e34f1eb0915bdf
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Sep 19 15:13:55 2022 +0300

    all: finish merging

commit d6db75eb2e1f23528e9200ea51507eb793eefa3c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 16 18:18:14 2022 +0300

    all: continue merging

commit 45b4c484deb7198a469aa18d719bb9dbe81e5d22
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Sep 14 15:44:22 2022 +0300

    all: merge filtering types
2022-09-23 13:23:35 +03:00
Rahul Somasundaram
690deb1c05 spelling corrected UserPreferredCipherSuites 2022-09-22 08:44:43 +05:30
Rahul Somasundaram
59d18c6598 added support for User prefered Ciphers 2022-09-22 08:28:46 +05:30
Rahul Somasundaram
91bbb744dc Revert "adding TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA to safe cipher suite"
This reverts commit fe0c53ec43.
2022-09-22 07:53:39 +05:30
Ainar Garipov
11e4f09165 Pull request: imp-scripts
Merge in DNS/adguard-home from imp-scripts to master

Squashed commit of the following:

commit ab63a8a2dd1b64287e00a2a6f747fd48b530709e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 21 19:15:06 2022 +0300

    all: imp scripts; upd tools; doc
2022-09-21 19:21:13 +03:00
Ainar Garipov
c45c02de29 Pull request: imp-stalebot
Merge in DNS/adguard-home from imp-stalebot to master

Squashed commit of the following:

commit d1fb5c6da25eeb168c53abfc7af714827a5242cd
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 21 14:31:50 2022 +0300

    all: imp stalebot
2022-09-21 15:02:35 +03:00
Rahul Somasundaram
fe0c53ec43 adding TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA to safe cipher suite 2022-09-20 21:16:52 +05:30
Ainar Garipov
4fc045de11 Pull request: 4927-ddr-template
Updates #4927.

Squashed commit of the following:

commit 8cf080d5355261ced7e8b10de607cbf37e1d663d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Sep 20 15:18:48 2022 +0300

    dnsforward: fix doh template
2022-09-20 15:26:10 +03:00
Ildar Kamalov
cc2388e0c8 Pull request: 4815 fix query log modal on tablet
Updates #4815

Squashed commit of the following:

commit 148c39ac40963a593885b86a0c851b4010b68ab0
Merge: 3447611d ab6da05b
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Sep 20 13:21:06 2022 +0300

    Merge branch 'master' into 4815-tablet-view

commit 3447611dc0b1c7d2cc1f8235d1c469dd92736166
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Sep 16 17:01:05 2022 +0300

    client: fix query log modal on tablet
2022-09-20 13:48:57 +03:00
Ildar Kamalov
ab6da05b51 Pull request: 4926 fix tabs scroll on mobile
Updates #4926

Squashed commit of the following:

commit 23a352d214
Merge: 44c64893 8e89cc12
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Sep 19 19:35:48 2022 +0300

    Merge branch 'master' into 4926-scroll

commit 44c64893bb
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Sep 19 19:34:54 2022 +0300

    fix

commit 3f8f8c7253
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Sep 19 19:30:59 2022 +0300

    client: fix tabs scroll on mobile
2022-09-19 20:22:26 +03:00
Ildar Kamalov
8e89cc129c Pull request: 4913 IP anonymizer notification
Updates #4913

Squashed commit of the following:

commit baa63c647bdecf10a2c5e91568231864c423c4c3
Merge: 70de6540 9ffe0787
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Sep 19 18:53:24 2022 +0300

    Merge branch 'master' into 4913-anonymizer-notification

commit 70de65405fa34ba764408ce1331f90ec0ef7aec2
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Sep 19 18:03:52 2022 +0300

    client: fix text

commit e6d8db0086903fe61b0aa511807e97dd12bd571c
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Sep 16 20:37:42 2022 +0300

    client: IP anonymizer notification
2022-09-19 19:34:14 +03:00
Ainar Garipov
9ffe078703 Pull request: 4931-http-2-unencrypted
Closes #4930.
Updates #4931.

* commit '27b0251b5b8c1097d53b20a67569bb9bb6ff8bff':
  home: imp docs
  all: doc changes
  add support for plain h2c
2022-09-19 17:26:01 +03:00
Ainar Garipov
27b0251b5b home: imp docs 2022-09-19 17:17:12 +03:00
Ainar Garipov
ed209daf8a all: doc changes 2022-09-19 17:06:29 +03:00
Dmitry Rubtsov
95771c7aba add support for plain h2c 2022-09-19 17:06:32 +06:00
Ildar Kamalov
42bd0615c2 Pull request: 4896 remove button outline on modal close
Updates #4896

Squashed commit of the following:

commit 87de3176a8e50146b0a1028695d8181265b6b9b9
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Sep 16 16:32:09 2022 +0300

    client: remove outline on modal close
2022-09-16 19:40:42 +03:00
Ildar Kamalov
3a88ef3be2 Pull request: 4854 return to detailed view on screen resize
Updates #4854

Squashed commit of the following:

commit b580b5e26d83db3291dee5714d9580a1e07253b5
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Sep 16 15:33:04 2022 +0300

    client: return to detailed view on screen resize
2022-09-16 16:19:09 +03:00
Ildar Kamalov
572fed9f35 Pull request: 4679 fix wrong time format after midnight
Updates #4679

Squashed commit of the following:

commit 1864f33120fc35e6d88fb5d448e1391f97c267ef
Merge: b48add05 663f0643
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Sep 16 12:43:58 2022 +0300

    Merge branch 'master' into 4679-time-format

commit b48add059ff330f1a709b6fd723cbf92ce89c60e
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Sep 16 12:39:52 2022 +0300

    client: fix wrong time format after midnight
2022-09-16 12:59:30 +03:00
Ildar Kamalov
663f0643f2 Pull request: 4899 show filter update time
Updates #4899

Squashed commit of the following:

commit 32ea8f3854619be4a3bb125d5c3ef02ba8ef5439
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Sep 15 19:22:22 2022 +0300

    client: show hidden filter update time
2022-09-16 12:43:27 +03:00
Ainar Garipov
fc62796e2d Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 26638a064952ab99f8935eb6f09766f9ea7d8137
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 14 17:57:11 2022 +0300

    all: upd chlog
2022-09-14 18:01:42 +03:00
Ainar Garipov
b9e39c8cca Pull request: upd-i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 306e7ee489105b76e1a159af9bdb2d5fb75bfa30
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 14 16:16:16 2022 +0300

    client: upd i18n
2022-09-14 16:26:03 +03:00
Eugene Burkov
fffa656758 Pull request: 4722 dhcp http panic
Merge in DNS/adguard-home from 4722-dhcp-http-panic to master

Updates #4722.

Squashed commit of the following:

commit 8a8db48c3bd4f6bb7fabe65b5b7b162f0986fc76
Merge: 39b344f9 b74b92fc
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 20:11:23 2022 +0300

    Merge branch 'master' into 4722-dhcp-http-panic

commit 39b344f97180af17ab22041e5655a27bcc99c29e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 18:33:56 2022 +0300

    dhcpd: imp code, fmt

commit a36d70d2c25791b2e657e21d6f4681b33497f0cd
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 17:38:17 2022 +0300

    dhcpd: imp names, docs

commit 600d63da7af62de5cb52fc7670ef28c9f4fe95a7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 17:36:17 2022 +0300

    dhcpd: rename files, imp tags

commit 44f5507649db8536a07c4c21c8ad6e4a60ba3f43
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 16:40:26 2022 +0300

    dhcpd: add mock

commit cfc3cfb714705067d3aa71a7cb5df4245e091cfd
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 16:15:27 2022 +0300

    all: use ptr instead of value

commit ec526c2cf22df3470641296cfc402113c23c3f9b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 14:57:10 2022 +0300

    all: log changes

commit 0eca09f4c72bbdc73a2334c839d7781847ba3962
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 14:50:32 2022 +0300

    dhcpd: let v4 be unconfigured

commit 59636e9ff48aea989d7bdfd216b37899b57137d2
Merge: 9238ca0a bc1503af
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 14:50:17 2022 +0300

    Merge branch 'master' into 4722-dhcp-http-panic

commit 9238ca0a1e190ddc344f01959f474932809f086a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Sep 7 18:28:56 2022 +0300

    dhcpd: imp conf

commit 5f801c9be96c2fa735a50373495d8c6ca2914f32
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 6 16:31:13 2022 +0300

    dhcpd: hide behind iface

commit a95c2741a7e3e5bfe8775bf937a3709217b76da0
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 31 16:24:02 2022 +0300

    dhcpd: separate os files
2022-09-13 23:45:35 +03:00
Eugene Burkov
b74b92fc27 Pull request: Improve build tags
Merge in DNS/adguard-home from imp-build-tags to master

Squashed commit of the following:

commit c15793e04c08097835692568a598b8a8d15f57f4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 19:25:20 2022 +0300

    home: imp build tags

commit 2b9b68e9fe6942422951f50d90c70143a3509401
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 19:23:56 2022 +0300

    version: imp build tags

commit c0ade3d6ae8885c596fc31312360b25fe992d1e4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 19:20:48 2022 +0300

    dhcpd: imp build tags

commit 0ca2a73b7c3b721400a0cc6383cc9e60f4961f22
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 19:17:22 2022 +0300

    aghos: imp build tags

commit 733a685b24b56153b96d59cb97c174ad322ff841
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 13 19:13:11 2022 +0300

    aghnet: imp build tags
2022-09-13 20:06:23 +03:00
Ainar Garipov
bc1503af57 Pull request: 4912-notify-fix
Updates #4912.

* commit 'b79c08316f37ddfec94c73ee9c02405059fcd52f':
  all: temp disable govulncheck
  all: use precise go version in github workflows
  all: fmt workflow specs
  disable notify in forked repository
2022-09-13 14:49:45 +03:00
Ainar Garipov
b79c08316f all: temp disable govulncheck 2022-09-13 14:39:10 +03:00
Ainar Garipov
08799e9d0a all: use precise go version in github workflows 2022-09-13 14:00:46 +03:00
Ainar Garipov
bedfb47a9f all: fmt workflow specs 2022-09-13 13:49:58 +03:00
hellodword
53e2c1f7cd disable notify in forked repository 2022-09-12 22:36:23 +08:00
Ainar Garipov
88812f05f5 Pull request: 4686-ipset-file
Updates #4686.

* commit '10a8f7964482fd07502ac041ef92b4ea8adb3c3a':
  all: imp chlog
  all: imp docs
  feat: add dns.ipset_file setting
2022-09-12 16:51:26 +03:00
Ainar Garipov
10a8f79644 all: imp chlog 2022-09-12 16:45:19 +03:00
Ainar Garipov
ccc4f1a2da all: imp docs 2022-09-12 16:11:32 +03:00
Ainar Garipov
451fd7c445 Merge branch 'master' into 4686-ipset-file 2022-09-12 16:03:11 +03:00
Eugene Burkov
782de99a0a Pull request: 4904 return dhcp msg size
Merge in DNS/adguard-home from 4904-rm-padding to master

Updates #4904.
Updates #4903.

Squashed commit of the following:

commit 85337402ad64395704028534f17ac1887cff64e8
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 9 19:38:09 2022 +0300

    dhcpd: return dhcp msg size
2022-09-09 19:44:27 +03:00
hellodword
d4afd60b08 feat: add dns.ipset_file setting 2022-09-09 19:53:01 +08:00
Ainar Garipov
c8ace868d4 Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 669ddd97fd3fa63fd80319c64bcd9de6e2bbcfd9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 7 18:39:51 2022 +0300

    all: upd chlog
2022-09-07 18:46:23 +03:00
Ainar Garipov
2b4158e5c9 Pull request: upd-i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit e32d907806f29d78d91a9962f7d0a7ba1f17f5a5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 7 15:01:22 2022 +0300

    client: imp be locale

commit 4701b98b4115b66cf5decda4e43d4e4d459b95ad
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Sep 7 14:57:27 2022 +0300

    client: upd i18n
2022-09-07 16:20:11 +03:00
Eugene Burkov
53209bc42c Pull request: 4337 increase msg size
Merge in DNS/adguard-home from 4337-dhcp-msg-len to master

Updates #4337.

Squashed commit of the following:

commit 55e53c1fadd4ccb2a8b94117afff82e9a5d2734b
Merge: f37070ea da1ae338
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Sep 7 14:14:21 2022 +0300

    Merge branch 'master' into 4337-dhcp-msg-len

commit f37070ea0f3a7ff8efcbbafd36001f78d9b082b5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Sep 7 13:15:25 2022 +0300

    dhcpd: imp ether pkt building

commit fa43a0bcc24d4ca5e9193899dbba8495f3de5df9
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Sep 6 18:55:07 2022 +0300

    dhcpd: incr msg size
2022-09-07 14:34:30 +03:00
Ainar Garipov
da1ae33805 Pull request: upd-go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 1282e3d956baed869b0cc64dcf6dd0261adf1ca2
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Sep 6 20:06:17 2022 +0300

    all: upd go; add govulncheck
2022-09-07 14:01:03 +03:00
Ainar Garipov
ab02c829ea Pull request: imp-dnsforward-cyclo
Merge in DNS/adguard-home from imp-dnsforward-cyclo to master

Squashed commit of the following:

commit ab05ebbcc62c5f66f838a9df6ce8e51721606bb6
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Sep 6 18:43:18 2022 +0300

    dnsforward: imp cyclo
2022-09-06 19:03:47 +03:00
Ainar Garipov
3c0d2a9253 Pull request: 4890-panic-internal-proxy
Updates #4890.

Squashed commit of the following:

commit 20c8f3348125672403c3968b8e08b15eba69347d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Sep 6 16:55:11 2022 +0300

    dnsforward: imp names

commit 2c21644623c321df46a5c386ec00ca532b7603b6
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Sep 6 16:36:46 2022 +0300

    dnsforward: imp validations; refactor more

commit 221e8c5ebbd0b64e5c554cddb683d116212e5901
Merge: e5f5b76e 58512c3a
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Sep 6 14:57:31 2022 +0300

    Merge branch 'master' into 4890-panic-internal-proxy

commit e5f5b76e3e2b43656af9939a52a9e46e5d9b5a40
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Sep 6 14:51:48 2022 +0300

    dnsforward: fix panic; refactor
2022-09-06 17:09:54 +03:00
Ainar Garipov
58512c3af9 Pull request: 4891-more-svcs
Updates #4891.

* commit '78389e518e51f852a6329b4f5be4f68ad6f3ab3a':
  Add some domains
2022-09-06 14:48:45 +03:00
Ainar Garipov
78389e518e Merge branch 'master' into 4891-more-svcs 2022-09-06 14:03:49 +03:00
Eugene Burkov
9c9169ac12 Pull request: 4705 fix opts
Merge in DNS/adguard-home from 4705-fix-opts to master

Updates #4705.

Squashed commit of the following:

commit d3924c443260af3d32d73bd784efff2bf8dd612e
Merge: e46198c6 e545f3bd
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Sep 5 16:57:38 2022 +0300

    Merge branch 'master' into 4705-fix-opts

commit e46198c6d8da4dcadabecfd9c1b33cc472efe612
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Sep 5 16:52:20 2022 +0300

    dhcpd: immp docs

commit 1c1caeaa1b2eb642fa83aa5a88ec041af9963591
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Sat Sep 3 17:31:35 2022 +0300

    dhcpd: fix logic, imp docs

commit bc74e21b9eb79fe22170b0e02cddcbd4bf78d860
Merge: 280ad10f 1fb04376
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 2 18:58:52 2022 +0300

    Merge branch 'master' into 4705-fix-opts

commit 280ad10f63f954f89b42cdf206a8240f8d4de503
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Sep 2 00:53:38 2022 +0300

    dhcpd: imp docs, tests

commit 600fa44f35683ba4b340843be13786e9383ead89
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 1 20:24:52 2022 +0300

    dhcpd: add new opts

commit caf0cc6b370a04e6e002428b49f8d54cba105d5a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 1 18:13:02 2022 +0300

    dhcpd: log changes

commit 3d2c61d9b8fd19c8d1e4f43ac9aac3cb94cdd4d3
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Sep 1 18:09:34 2022 +0300

    dhcpd: imp opts
2022-09-05 17:01:33 +03:00
Eugene Burkov
e545f3bdb7 Pull request: stats: add races test
Merge in DNS/adguard-home from 4358-stats-races-test to master

Squashed commit of the following:

commit ac0a9c63a4577264b3f0c9ef1345a6410cb381a9
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Sep 5 16:15:31 2022 +0300

    stats: immp test, docs

commit 7c7017215c3634d240996fb3317d82e41a5e9005
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 17 15:33:16 2022 +0300

    stats: add races test
2022-09-05 16:53:00 +03:00
MkQtS
c000d9f232 Add some domains
Added "b23.tv, bilicdn1.com, bilicdn2.com" for bilibili, "douyinpic.com, douyinstatic.com, douyinvod.com" for tiktok.
Removed one redundant "||ixigua.com^" which appeared twice, also sorted tiktok.
2022-09-04 21:40:16 +08:00
Ainar Garipov
1fb043768e Pull request: 4865-dhcp-rewrites
Updates #4865.

Squashed commit of the following:

commit b26575b72299126f2ce7535104800cc6750698f3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Sep 2 16:47:25 2022 +0300

    dnsforward: imp code, docs, logs

commit c60942c1432175866ac1d182709de33429534de0
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Sep 2 16:24:44 2022 +0300

    dnsforward: process unknown queries in dhcp domain
2022-09-02 16:56:59 +03:00
Ainar Garipov
3660b4810e Pull request: 4865-refactor-dns-handlers
Updates #4865.

Squashed commit of the following:

commit b874088ee72dfd0cae5f4102fac87e1f26245ddf
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Sep 2 14:01:52 2022 +0300

    dnsforward: imp code, docs

commit a1b95fda58b777a54e7dcd57f0c419200f8fdc15
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Sep 1 19:37:45 2022 +0300

    all: refactor dns handler; opt
2022-09-02 14:52:19 +03:00
Ainar Garipov
a9127c4a45 Pull request: upd-fmt
Merge in DNS/adguard-home from upd-fmt to master

Squashed commit of the following:

commit 73d9a71feccd8256841ae5a01e4a6aae0bcb2f65
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 31 18:37:39 2022 +0300

    all: upd fmt
2022-08-31 18:57:02 +03:00
Dimitry Kolyshev
c098960b39 Pull request: 4219-updater-1
Merge in DNS/adguard-home from 4219-updater-1 to master

Squashed commit of the following:

commit 5721a0032150c9a0b8bd940542860c262adfe646
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Wed Aug 31 14:50:56 2022 +0300

    updater: imp code

commit a18ccb2174af3d68c85e40aed5167c01523b0e67
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Wed Aug 31 13:49:23 2022 +0300

    updater: exe name

commit deb5c7bee63a3b5eb7aa722268857ebcfc7f053d
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Wed Aug 31 10:05:00 2022 +0300

    updater: exe name
2022-08-31 14:54:46 +03:00
Eugene Burkov
5cc2a2cd0c Pull request: 4863 fix dhcp request
Merge in DNS/adguard-home from 4863-fix-dhcp-request to master

Closes #4863.

Squashed commit of the following:

commit f8872015e315eab3b2ce0249e552d12cbcf72f63
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 20:34:35 2022 +0300

    dhcpd: imp code

commit b63c5d98c2055c3a3b76ff47737551840409f324
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 20:19:22 2022 +0300

    dhcpd: fix deadlock

commit 5c03b54a86ab05efde9716faef60b84ecab01d19
Merge: f076cf8f 8733f55c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 19:12:27 2022 +0300

    Merge branch 'master' into 4863-fix-dhcp-request

commit f076cf8fc13944613b7127aac86ca78f68009f93
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 19:08:04 2022 +0300

    dhcpd: imp code, names

commit a09540b6db6b86b80b8eb84c08187bfd9f960190
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 17:28:39 2022 +0300

    dhcpd: imp code, docs

commit 38b12235509aaf55fa130f820213410b6b3022bb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 16:42:32 2022 +0300

    dhcpd: imp docs more

commit ff07c2f90f097754beb736fd5bd5cafc337ac65c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 16:41:42 2022 +0300

    dhcpd: fix docs

commit fafbc2ec2317f2320d8e1db167a1ae6c1c7c3790
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 16:35:42 2022 +0300

    dhcpd: imp code

commit 9fe30190a7f125fd640b58e17661a4c33c078eba
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 15:00:56 2022 +0300

    all: imp chlog

commit 1067fe95df5cb2252d1b9b70d2f3f8463997aea1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 14:54:03 2022 +0300

    dhcpd: log changes

commit 20de395c2bdcfb8e0554bb1c45385c15d617be65
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 30 14:49:58 2022 +0300

    dhcpd: impl rfc 2131 for req
2022-08-30 20:39:34 +03:00
Ainar Garipov
8733f55c2c Pull request: 4876-disney-svc
Updates #4876.

* commit 'a3750ffff1845d5d9e96bd9a81bb571d6c536502':
  filtering: sort
  Add more Disney service
2022-08-30 19:05:55 +03:00
Ainar Garipov
a3750ffff1 filtering: sort 2022-08-30 19:01:49 +03:00
Ainar Garipov
9e0d3eb6e7 Merge branch 'master' into 4876-disney-svc 2022-08-30 19:01:06 +03:00
Ainar Garipov
e0a57d2912 Pull request: 4877-cloudflare-svc
Updates #4877.

* commit '53e77cb2c0a2ca6e6be39f103ad455ee942981ea':
  filtering: sort
  Update Cloudflare Service
2022-08-30 18:58:41 +03:00
Ainar Garipov
53e77cb2c0 filtering: sort 2022-08-30 18:53:24 +03:00
Eduardo Addad de Oliveira
8ecfef16eb Update Cloudflare Service
Add cloudflareaccess.com for Cloudflare Service
- Use for Cloudflare Zero Trust
2022-08-30 11:42:16 -03:00
Eduardo Addad de Oliveira
d51110acb5 Add more Disney service
Add DisneyNow, Star+ and Disney+ Hotstar
2022-08-30 11:35:36 -03:00
Ainar Garipov
2348b8fafa Pull request: 4411-readme-lib
Updates #4411.

Squashed commit of the following:

commit 4c0d13d8dbc7e869c8990107edcdca8f8952db7c
Merge: 86a8c2c3 7f0b16d0
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 29 17:07:16 2022 +0300

    Merge branch 'master' into 4411-readme-lib

commit 86a8c2c37a
Author: Andrea Canale <vivanco11.ac@gmail.com>
Date:   Sat Mar 19 22:28:53 2022 +0100

    add Node.js library
2022-08-29 17:33:46 +03:00
Ainar Garipov
7f0b16d074 Pull request: 4403-upd-chlog
Updates #4403.

Squashed commit of the following:

commit b4d6cb80d0c2cbd71ee2f64e0d0c98011b0951c3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 29 16:39:13 2022 +0300

    all: imp chlog

commit f9ab82737a779411813ad5b7bea4e43ec94fbe03
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 29 16:32:19 2022 +0300

    all: upd chlog
2022-08-29 16:51:47 +03:00
Ainar Garipov
a0c8aee3f7 Pull request: 4403-internal-proxy
Updates #4403.

* commit 'd519929988575439c2238924ae5b1d96091445f7':
  dnsforward: imp code, fmt
  Also honor the user-defined UpstreamMode for the internal DNS proxy
2022-08-29 16:23:03 +03:00
Ainar Garipov
d519929988 dnsforward: imp code, fmt 2022-08-29 15:54:41 +03:00
Ainar Garipov
cb83f8b531 Merge branch 'master' into 4403-internal-proxy 2022-08-29 15:27:44 +03:00
Eugene Burkov
45bcc2c09a Pull request: 4337 Add del option
Merge in DNS/adguard-home from 4337-dhcp-cli-id to master

Updates #4337.

Squashed commit of the following:

commit c393bf7c5964b64f6b4528db0418e54416dd246c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 26 14:18:48 2022 +0300

    dhcpd: ip docs

commit bfeef3e881ed04eab6285c1ac62005c7cb57c11f
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 26 13:54:33 2022 +0300

    all: finish chlog fmt

commit e5fbb7385450825ca81fc7622feb7beb390a8bad
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 26 13:49:10 2022 +0300

    dhcpd: imp naming

commit cb49eeb536afd8dc1dd2ea9169dd024c7d4a3a25
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 26 12:23:54 2022 +0300

    dhcpd: imp docs

commit c4ea72a5e7572d40a885125c4f61ef6694e38170
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 25 20:15:15 2022 +0300

    dhcpd: imp code, docs

commit 36d0e309e7ef0abdcdd94673e87f4d0af67b9cb3
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 25 19:45:24 2022 +0300

    dhcpd: add del opt
2022-08-26 14:30:31 +03:00
Ainar Garipov
2410639123 Pull request: 4298-cloudflare-svc
Updates #4298.

* commit 'd1525cf09daa15d2adc5053f211ab9c150188440':
  Update blocked.go
2022-08-25 19:31:05 +03:00
Ainar Garipov
d1525cf09d Merge branch 'master' into 4298-cloudflare-svc 2022-08-25 19:25:39 +03:00
Ainar Garipov
35c1d84b42 Pull request: 4535-list-services
Updates #4535.

* commit '986124948a21b5dfebb0bd6a9f948911b0a4b938':
  all: imp client, add api chlog
  filtering: imp code
  Add '/blocked_services/services' API
2022-08-25 19:17:46 +03:00
Ainar Garipov
986124948a all: imp client, add api chlog 2022-08-25 18:58:49 +03:00
Ainar Garipov
fa76ad2a3c filtering: imp code 2022-08-25 18:44:19 +03:00
Ainar Garipov
57c0b1203e Merge branch 'master' into 4535-list-services 2022-08-25 18:24:07 +03:00
Ainar Garipov
be1bc76cfa Pull request: 4860-readme-logo
Closes #4366.
Updates #4860.

* commit '6913ebb29f0041bda9cf99e2883f5ed4eaff10db':
  all: fmt readme
  Fix https://github.com/AdguardTeam/AdGuardHome/issues/4366 Color scheme based logo
2022-08-24 17:13:17 +03:00
Ainar Garipov
6913ebb29f all: fmt readme 2022-08-24 17:02:32 +03:00
scripthunter7
e35eeacd74 Fix https://github.com/AdguardTeam/AdGuardHome/issues/4366 Color scheme based logo 2022-08-24 13:43:34 +02:00
Eugene Burkov
bdcf345155 Pull request: 4745 Fix DHCP hostnames
Merge in DNS/adguard-home from 4745-fix-dhcp-hostnames to master

Closes #4745.

Squashed commit of the following:

commit fe03c8eda6c8ee35a10eb5f5a8e4d4d0c7373246
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 23 18:16:16 2022 +0300

    dhcpd: imp code, naming

commit 7a7129268917d99ba16781b7f2e9bfb7ae84ff3e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 23 18:10:12 2022 +0300

    dhcpd: add tests

commit bb14a4a62df1eed6492d30f622c3e22da9a6f4be
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 23 14:58:29 2022 +0300

    dhcpd: imp code, docs

commit 2ada39f994cb9dbb2208d47a588eb72056bb5306
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 23 14:44:35 2022 +0300

    all: log changes

commit cbd3ed254865921be09376097dac9f5926b2349a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 23 14:40:54 2022 +0300

    dhcpd: imp option 81

commit 64dabb52560f5edc08f17aadaa43172a5d74463d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 23 14:10:15 2022 +0300

    dhcpd: fix empty hostname in static lease

commit 0df5d10d0d94863b9bbab28129bcc3436fb71222
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 23 13:34:31 2022 +0300

    dhcpd: report dupl hostnames of static lease
2022-08-23 18:22:49 +03:00
Ainar Garipov
307654f648 Pull request: 4625-imp-skype-blocking
Updates #4625.

Squashed commit of the following:

commit 2d49d9f9a339aeceeb64b5dcd03656e5a273d4c4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 22 20:52:46 2022 +0300

    filtering: add skype rules
2022-08-23 14:19:57 +03:00
Eugene Burkov
970b6cf698 Pull request: 4850 stats: imp logging
Merge in DNS/adguard-home from 4850-imp-stats-logging to master

Updates #4850.

Squashed commit of the following:

commit 3c1ee8dd794fab2b604a0e710a513f75273ed417
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 22 14:17:56 2022 +0300

    all: imp chlog

commit 0c7adc72740114eb7ae0105199ccbdbfabf8f9fe
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 22 14:12:01 2022 +0300

    stats: fix err check

commit d14a5cabecba75e9f0d401e61994d0efd2b324ff
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 22 14:09:15 2022 +0300

    stats: imp logging again

commit 34fc6663484924466171f46dc320382cf02f360b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 22 12:49:43 2022 +0300

    stats: imp code, logging

commit 09aa857a5e449e62c8c870b7eb5c5ce744d78ae7
Merge: 09a732af eccfbf6a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 19 19:43:45 2022 +0300

    Merge branch 'master' into 4850-imp-stats-logging

commit 09a732afdc9b6dad4439be83aab7df72c5d68dac
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 19 19:38:51 2022 +0300

    stats: imp logging
2022-08-22 14:21:41 +03:00
Ainar Garipov
eccfbf6a6d Pull request #1574: Added some domains
Updates #4849.

* commit '1a1a48482a9ea943a34b8bafea34f8281325ef4e':
  Added some domains
2022-08-19 18:36:58 +03:00
Yağızhan
1a1a48482a Added some domains 2022-08-19 18:18:17 +03:00
Ainar Garipov
1afd73ad0b Pull request #1572: 4640-imp-upstream-doc
Updates #4640.

Squashed commit of the following:

commit 764b024e7a5a5f6ea2b18b5e13fdc4fa38c49af2
Merge: 7bace870 6856a803
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Aug 19 17:17:44 2022 +0300

    Merge branch 'master' into 4640-imp-upstream-doc

commit 7bace870102633a2b8323c5f448ed38b65f4b482
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Aug 18 19:49:07 2022 +0300

    all: imp upstream examples
2022-08-19 17:36:51 +03:00
Ainar Garipov
6856a80380 Pull request #1573: all: upd chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit d6d55a9a35a8810c6b334d19ba9747fb2b3e7f82
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Aug 19 16:44:18 2022 +0300

    all: upd chlog
2022-08-19 16:57:56 +03:00
Ainar Garipov
cf3a8991ea Pull request: 4557-asuswrt-readme
Updates #4557.

* commit 'e3624ec5880361b8afccd0ddac9dc31fd7ce4a07':
  all: fix abbreviation
  Update README.md
2022-08-18 18:46:00 +03:00
Ainar Garipov
e3624ec588 Merge branch 'master' into 4557-asuswrt-readme 2022-08-18 18:39:59 +03:00
Ainar Garipov
64df882c5e all: fix abbreviation 2022-08-18 18:39:53 +03:00
Ainar Garipov
06e4658da9 Pull request: upd-dnsproxy
Merge in DNS/adguard-home from upd-dnsproxy to master

Squashed commit of the following:

commit 3c5b683e96191b9cf0abf35229c3c665370d782e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Aug 18 18:04:13 2022 +0300

    all: upd dnsproxy
2022-08-18 18:22:37 +03:00
Ainar Garipov
4a7b4d03a1 Pull request: 4846-migration-fix
Updates #4846.

Squashed commit of the following:

commit 22e2e89e5390c7b1486fb69064c55da40fc5c7e7
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Aug 18 16:25:07 2022 +0300

    home: fix yaml object type
2022-08-18 16:34:08 +03:00
Ainar Garipov
257d167002 Pull request: 4795-bilibili
Updates #4795.

* commit 'e6ebb8efef4430c48b06469ba566349bba3d9856':
  filtering: fmt
  filtering: add Bilibili and Weibo domains
  filtering: add Bilibili service
2022-08-18 14:56:13 +03:00
Ainar Garipov
e6ebb8efef filtering: fmt 2022-08-18 14:51:28 +03:00
Ainar Garipov
7e80980ae4 Merge branch 'master' into 4795-bilibili 2022-08-18 14:42:44 +03:00
Ainar Garipov
50476cda31 Pull request: 4446-readme-fix
Updates #4446.

* commit 'ea5d165a703dd37ef40254f3f775e049b6cebf93':
  all: imp readme
  Enable code block syntax hightlight in README.md
2022-08-18 13:38:10 +03:00
Ainar Garipov
ea5d165a70 all: imp readme 2022-08-17 21:43:31 +03:00
Ainar Garipov
2830f396c6 Merge branch 'master' into 4446-readme-fix 2022-08-17 21:42:36 +03:00
Ainar Garipov
620ad13490 Pull request: 4387-fix-openapi-schema
Updates #4387.

* commit 'f54a2dc1da5dfd578f156cf1e0f53f32516eb844':
  home: imp filtering handling
  correct openapi schema
2022-08-17 21:38:51 +03:00
Ainar Garipov
f54a2dc1da home: imp filtering handling 2022-08-17 20:40:47 +03:00
Ainar Garipov
63f6844318 Merge branch 'master' into 4387-fix-openapi-schema 2022-08-17 20:21:32 +03:00
Ainar Garipov
12edc05ab0 Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 075a81165f143d4d5886e14d14247ea57abee866
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 17 18:56:38 2022 +0300

    all: upd chlog
2022-08-17 19:02:30 +03:00
Ainar Garipov
71b8e75138 Pull request: upd-i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 218bf20b6bec0c7699d8ae3c0c2500af63569689
Merge: 4aaab375 0bcc6699
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 17 15:29:10 2022 +0300

    Merge branch 'master' into upd-i18n

commit 4aaab3757bd7b5e5a689aed07ccf9648f05f6fcc
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 17 15:23:23 2022 +0300

    client: upd i18n
2022-08-17 15:33:41 +03:00
Ainar Garipov
0bcc6699e1 Pull request: 4844-snap-core22
Closes #4843.
Updates #4844.

* commit '385a873b0f006f26832e73744845fdbc2864aad0':
  all: chlog
  Update Snap to Ubuntu Core 22 #4843
2022-08-17 15:13:28 +03:00
Ainar Garipov
385a873b0f all: chlog 2022-08-17 15:02:31 +03:00
Ainar Garipov
0daa6a107b Merge branch 'master' into 4844-snap-core22 2022-08-17 14:53:34 +03:00
Eugene Burkov
72098d2255 Pull request: 4358 stats races
Merge in DNS/adguard-home from 4358-stats-races to master

Updates #4358

Squashed commit of the following:

commit 162d17b04d95adad21fb9b3c5a6fb64df2e037ec
Merge: 17732cfa d4c3a43b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 17 14:04:20 2022 +0300

    Merge branch 'master' into 4358-stats-races

commit 17732cfa0f3b2589bf2c252697eee1d6b358a66c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 17 13:53:42 2022 +0300

    stats: imp docs, locking

commit 4ee090869af0fa2b777c12027c3b77d5acd6e4de
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 16 20:26:19 2022 +0300

    stats: revert const

commit a7681a1b882cef04511fcd5d569f5abe2f955239
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 16 20:23:00 2022 +0300

    stats: imp concurrency

commit a6c6c1a0572e4201cd24644fd3f86f51fc27f633
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 16 19:51:30 2022 +0300

    stats: imp code, tests, docs

commit 954196b49f5ad91d91f445ff656e63c318e4124c
Merge: 281e00da 6e63757f
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 16 13:07:32 2022 +0300

    Merge branch 'master' into 4358-stats-races

commit 281e00daf781d045269584ce0158eed1d77918df
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 12 16:22:18 2022 +0300

    stats: imp closing

commit ed036d9aa7e25498869edfb866b6e923538970eb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 12 16:11:12 2022 +0300

    stats: imp tests more

commit f848a12487ecd2afc8416e800510090cc1be7330
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Aug 12 13:54:19 2022 +0300

    stats: imp tests, code

commit 60e11f042d51ec68850143129e61c701c5e4f3a4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 11 16:36:07 2022 +0300

    stats: fix test

commit 6d97f1db093b5ce0d37984ff96a9ef6f4e02dba1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 11 14:53:21 2022 +0300

    stats: imp code, docs

commit 20c70c2847b0de6c7f9271a8d9a831175ed0c499
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 10 20:53:36 2022 +0300

    stats: imp shared memory safety

commit 8b3945670a190bab070171e6b4976edab1e3e2a2
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 10 17:22:55 2022 +0300

    stats: imp code
2022-08-17 14:09:13 +03:00
Justin
572d2794e2 Update Snap to Ubuntu Core 22 #4843 2022-08-17 02:29:41 +10:00
Ainar Garipov
d4c3a43bcb Pull request #1558: add-dnssvc
Merge in DNS/adguard-home from add-dnssvc to master

Squashed commit of the following:

commit 55f4f114bab65a03c0d65383e89020a7356cff32
Merge: 95dc28d9 6e63757f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 15 20:53:07 2022 +0300

    Merge branch 'master' into add-dnssvc

commit 95dc28d9d77d06e8ac98c1e6772557bffbf1705b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 15 20:52:50 2022 +0300

    all: imp tests, docs

commit 0d9d02950d84afd160b4b1c118da856cee6f12e5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Aug 11 19:27:59 2022 +0300

    all: imp docs

commit 8990e038a81da4430468da12fcebedf79fe14df6
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Aug 11 19:05:29 2022 +0300

    all: imp tests more

commit 92730d93a2a1ac77888c2655508e43efaf0e9fde
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Aug 11 18:37:48 2022 +0300

    all: imp tests more

commit 8cd45ba30da7ac310e9dc666fb2af438e577b02d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Aug 11 18:11:15 2022 +0300

    all: add v1 dnssvc stub; refactor tests
2022-08-16 13:21:25 +03:00
Ainar Garipov
6e63757fc7 Pull request: upd-specs
Merge in DNS/adguard-home from upd-specs to master

Squashed commit of the following:

commit d7ac1dc1ef305098ff741d557c13db8a60ffe1f9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 15 19:16:51 2022 +0300

    bamboo-specs: allow larger keys
2022-08-15 19:20:33 +03:00
Eugene Burkov
721397cee3 Pull request: Fix frontend CI build
Merge in DNS/adguard-home from fix-bamboo-specs to master

Squashed commit of the following:

commit e59b75ab9528bbe8fbf5e15054d848abffbae312
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 15 18:52:10 2022 +0300

    all: fix ci frontend build
2022-08-15 18:57:34 +03:00
Eugene Burkov
fd1c841810 Pull request: Separate front- and back- end builds
Merge in DNS/adguard-home from imp-bamboo-specs to master

Squashed commit of the following:

commit 3415b650e48aefef3ad16030be3d797de4015403
Merge: e37c0a2b f58265ec
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 15 18:42:42 2022 +0300

    Merge branch 'master' into imp-bamboo-specs

commit e37c0a2bb52fab98e133332e8f54d500d0f96b06
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 15 18:30:33 2022 +0300

    scripts: replace find with loop

commit 826a02f6a11000cce4b3205229d6bbb050c8dd73
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 15 18:00:41 2022 +0300

    all: ...again

commit 54aebf5d4aeba35e3dc320436236759f4d1ccdad
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 15 17:59:24 2022 +0300

    all: fix spec yaml

commit 87b92b30504f2427c40303265354afba4855e0bb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 15 17:48:19 2022 +0300

    all: separate front- and back-end builds
2022-08-15 18:46:19 +03:00
Ainar Garipov
f58265ec98 Pull request: 4836-revert-dhcp-upd
Updates #4836.

Squashed commit of the following:

commit 6fe1721d44be1c23e524d477e28b5f7cc5dd2dc6
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 15 17:48:41 2022 +0300

    dhcpd: reverd mod upd
2022-08-15 18:31:32 +03:00
Ainar Garipov
14fd995ae9 Pull request: add-ar-i18n
Merge in DNS/adguard-home from add-ar-i18n to master

Squashed commit of the following:

commit 6ef7c70bceb6f6ebabd81011154022a75fc91bd3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 10 20:55:39 2022 +0300

    client: add ar locale
2022-08-10 21:03:13 +03:00
Ainar Garipov
50565bed3b Pull request: upd-websvc
Merge in DNS/adguard-home from upd-websvc to master

Squashed commit of the following:

commit 30d6a2dc5083efd91479bcbe20f03c37baddbf94
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Aug 9 18:55:42 2022 +0300

    all: upd openapi, websvc
2022-08-10 13:39:28 +03:00
Ainar Garipov
70f85fca21 Pull request: upd-yaml
Merge in DNS/adguard-home from upd-yaml to master

Squashed commit of the following:

commit f0c3a1896e7eba73b1c8a02533637cdabc89909b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 8 15:28:02 2022 +0300

    home: restore indent lvl

commit b52c124d2e786e8575c58e75efa7d2cd2b70b67f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Aug 8 15:06:41 2022 +0300

    all: upd tools, yaml mod
2022-08-08 15:50:54 +03:00
Eugene Burkov
4293cf5945 Pull request: 4358 fix stats
Merge in DNS/adguard-home from 4358-fix-stats to master

Updates #4358.
Updates #4342.

Squashed commit of the following:

commit 5683cb304688ea639e5ba7f219a7bf12370211a4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 4 18:20:54 2022 +0300

    stats: rm races test

commit 63dd67650ed64eaf9685b955a4fdf3c0067a7f8c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 4 17:13:36 2022 +0300

    stats: try to imp test

commit 59a0f249fc00566872db62e362c87bc0c201b333
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 4 16:38:57 2022 +0300

    stats: fix nil ptr deref

commit 7fc3ff18a34a1d0e0fec3ca83a33f499ac752572
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Apr 7 16:02:51 2022 +0300

    stats: fix races finally, imp tests

commit c63f5f4e7929819fe79b3a1e392f6b91cd630846
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 4 00:56:49 2022 +0300

    aghhttp: add register func

commit 61adc7f0e95279c1b7f4a0c0af5ab387ee461411
Merge: edbdb2d4 9b3adac1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Aug 4 00:36:01 2022 +0300

    Merge branch 'master' into 4358-fix-stats

commit edbdb2d4c6a06dcbf8107a28c4c3a61ba394e907
Merge: a91e4d7a a481ff4c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 3 21:00:42 2022 +0300

    Merge branch 'master' into 4358-fix-stats

commit a91e4d7af13591eeef45cb7980d1ebc1650a5cb7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 3 18:46:19 2022 +0300

    stats: imp code, docs

commit c5f3814c5c1a734ca8ff6726cc9ffc1177a055cf
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 3 18:16:13 2022 +0300

    all: log changes

commit 5e6caafc771dddc4c6be07c34658de359106fbe5
Merge: 091ba756 eb8e8166
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 3 18:09:10 2022 +0300

    Merge branch 'master' into 4358-fix-stats

commit 091ba75618d3689b9c04f05431283417c8cc52f9
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Aug 3 18:07:39 2022 +0300

    stats: imp docs, code

commit f2b2de77ce5f0448d6df9232a614a3710f1e2e8a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Aug 2 17:09:30 2022 +0300

    all: refactor stats & add mutexes

commit b3f11c455ceaa3738ec20eefc46f866ff36ed046
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Apr 27 15:30:09 2022 +0300

    WIP
2022-08-04 19:05:28 +03:00
NeP
4c6377c5cb filtering: add Bilibili and Weibo domains 2022-08-04 19:45:10 +08:00
Ainar Garipov
9b3adac145 Pull request: 4801-hassio-link
Updates #4801.

* commit '73f935f3f370ad7e1dfb2495fe71d1dc5e415672':
  Update Hass.io AdGuard Home integration link
2022-08-03 21:09:17 +03:00
Ainar Garipov
73f935f3f3 Merge branch 'master' into 4801-hassio-link 2022-08-03 21:02:09 +03:00
Ainar Garipov
a481ff4c51 Pull request: 4800-upd-link
Updates #4800.

* commit 'bbccd616148f63240afee6ccf643179ff322c6f4':
  Update RFC 9250 link
2022-08-03 20:58:44 +03:00
Ainar Garipov
bbccd61614 Merge branch 'master' into 4800-upd-link 2022-08-03 20:54:03 +03:00
Ainar Garipov
8a3d5f046c Pull request: 4670-invalid-arg-cap-check
Updates #4670.

Squashed commit of the following:

commit 9c32739eb92ef57c78a4dc3ec3c0f280aebf7182
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 3 20:04:54 2022 +0300

    aghnet: imp port check for older linuxes
2022-08-03 20:36:20 +03:00
Ainar Garipov
eb8e8166c8 Pull request: udp-chlog
Merge in DNS/adguard-home from udp-chlog to master

Squashed commit of the following:

commit 1c8dbff75c8377c352f6fedd18699f151a087f2b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 3 17:19:18 2022 +0300

    all: upd chlog
2022-08-03 17:32:27 +03:00
Ainar Garipov
3420becce3 Pull request: upd-i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 366600a32ecbb163ab43b43145898bbadcfbc2e9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 3 15:09:16 2022 +0300

    client: fix si-lk

commit 2a55ee3846251e53529f4ef6562e5f4939381eae
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 3 15:03:45 2022 +0300

    client: upd i18n
2022-08-03 15:32:49 +03:00
Ainar Garipov
9ed8699c75 Pull request: upd-go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 8edfb5cc3466c1e4ee2eacae5157bd93c135a284
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 3 14:25:45 2022 +0300

    all: imp docs; fmt

commit 080b8a85c02afbdaa079c0da47cb7b6311d50fbe
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Aug 2 20:51:20 2022 +0300

    all: upd go, imp generic code
2022-08-03 14:36:18 +03:00
Justin
b59b82474a Update Hass.io AdGuard Home integration link 2022-08-03 06:21:40 +10:00
Justin
cce0e593c5 Update RFC 9250 link 2022-08-03 05:47:06 +10:00
Ainar Garipov
da32079516 Pull request: upd-links-etc
Merge in DNS/adguard-home from upd-links-etc to master

Squashed commit of the following:

commit 49856df394f1a2123a27afdb35047d3b1a49860f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Aug 2 20:43:10 2022 +0300

    all: revert cdn link revert

commit 59bbe4bbd300f48674c1a6224a91f9a567d6c79c
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Aug 2 20:40:50 2022 +0300

    all: revert static link revert

commit fe2acc4a0d6d5ee31cb8dbb0d0e0984c3cd723db
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Aug 2 18:24:02 2022 +0300

    all: revert links up in README; imp tools
2022-08-02 20:48:14 +03:00
Ildar Kamalov
ccf268baf4 Pull request: 4776 add word break for query log domains
Updates #4776

Squashed commit of the following:

commit 6f1778fbd11da529ae934ee33c8f1ad227cdfa66
Merge: 753bd44c 053bb72a
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Aug 2 11:52:07 2022 +0300

    Merge branch 'master' into 4776-domains

commit 753bd44cbb592903ed996713a79e4dbf073d780b
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Aug 1 16:58:07 2022 +0300

    client: add word break for query log domains
2022-08-02 11:58:30 +03:00
Ildar Kamalov
053bb72a00 Pull request: 4775 fix query log issue on tablet devices
Updates #4775

Squashed commit of the following:

commit 9ad85d2306b68227e11c7b1dd792e3fe6389939d
Merge: 95aa29d6 41f081d8
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Aug 2 11:44:04 2022 +0300

    Merge branch 'master' into 4775-popup

commit 95aa29d68bdf5e9c4e7aa59f42d04328b1872115
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Aug 1 16:21:23 2022 +0300

    client: fix query log issue on tablet devices
2022-08-02 11:51:49 +03:00
Eugene Burkov
41f081d8da Pull request: 4517 warning wording
Merge in DNS/adguard-home from 4517-warning-label to master

Updates #4517.

Squashed commit of the following:

commit 4987f63937253da2954cf20c7b99a3b8a0adf112
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Aug 1 13:59:28 2022 +0300

    client: imp wording
2022-08-01 14:15:50 +03:00
NeP
e0f2c3d170 filtering: add Bilibili service 2022-07-30 12:22:24 +08:00
Eugene Burkov
f32da12a86 Pull request: 4517 domain specific test
Merge in DNS/adguard-home from 4517-domain-specific-test to master

Updates #4517.

Squashed commit of the following:

commit 03a803f831749a060923ec966592696f99591786
Merge: 8ea24170 f5959a0d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jul 29 19:17:28 2022 +0300

    Merge branch 'master' into 4517-domain-specific-test

commit 8ea2417036547996bb2d39b75b0ff31de4fe9b21
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jul 29 18:44:26 2022 +0300

    all: log changes, imp docs

commit aa74c8be64f2796a2dfa7166f0155fff5bb395b6
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jul 29 18:07:12 2022 +0300

    dnsforward: imp logging

commit 02dccca4e7d766bbfbe0826933e8be70fcd93f58
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jul 29 17:24:08 2022 +0300

    all: imp code, docs

commit 3b21067d07b208baf574a34fb06ec808b37c4ee3
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jul 29 13:34:55 2022 +0300

    client: add warning toast

commit ea2272dc77f87e34dc6aff0af99c7a51a04e3770
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jul 28 20:11:55 2022 +0300

    dnsforward: imp err msg, docs

commit fd9ee82afef9d93961c30ebafcc7a11d984247b5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jul 28 19:24:58 2022 +0300

    dnsforward: test doain specific upstreams

commit 9a83ebfa7a73bf4e03eaf1ff4a33f79771159fc7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jul 28 18:22:49 2022 +0300

    dnsforward: merge some logic
2022-07-29 19:27:15 +03:00
Ainar Garipov
f5959a0dc6 Pull request: upd-chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 9637884cebcd1fc2c0d395deba05529e891e3711
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jul 28 20:29:12 2022 +0300

    all: upd chlog
2022-07-28 20:36:21 +03:00
Ainar Garipov
0a5888f27a Pull request: upd-domains-and-links
Merge in DNS/adguard-home from upd-domains-and-links to master

Squashed commit of the following:

commit 5e5ff2fec358104995877da689da24749ac470ce
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jul 28 19:53:19 2022 +0300

    all: upd urls

    Update domains and URLs to make them more resistant to state blocking.
2022-07-28 20:18:07 +03:00
Ainar Garipov
07d48af10c Pull request: 4755-youtube-domain
Updates #4755.

Squashed commit of the following:

commit cb0ab8b26f6f277ef76ee3492c99870cbfc24666
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jul 28 17:21:02 2022 +0300

    filtering: add another youtube domain
2022-07-28 17:28:24 +03:00
Ainar Garipov
e58a415d10 Pull request: imp-issue-tmpl
Merge in DNS/adguard-home from imp-issue-tmpl to master

Squashed commit of the following:

commit 3941dd135911d850f3ec9b01f55bc45269a7b91c
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jul 28 15:24:26 2022 +0300

    all: fix links in issue tmpls

commit 438375a4666f951fc24ab47e4b0de5a61714973b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jul 28 15:23:00 2022 +0300

    all: imp issue tmpls
2022-07-28 15:29:03 +03:00
Ainar Garipov
ae43ca0605 Pull request: issue-templates
Merge in DNS/adguard-home from issue-templates to master

Squashed commit of the following:

commit 989253530047a463804e81c8fda82ac268f39adc
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Jul 27 16:56:35 2022 +0300

    all: fix issue tmpl schema

commit e69df09ab4b4f713d124dc6eeb1ed34e0f4aaa70
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Jul 27 16:41:14 2022 +0300

    all: rename tmpl files

commit 542306da1ea1bdc09ca328856367c64139a8ec60
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Jul 27 16:37:02 2022 +0300

    all: imp github issue templates
2022-07-27 17:02:20 +03:00
Ainar Garipov
9acb1f364b Pull request: 4782-server-name-label
Updates #4782.

Squashed commit of the following:

commit d350b3853bf722c0f2a8d1fc4a1c28dc384c5ca0
Author: Natalia Sokolova <n.sokolova@adguard.com>
Date:   Tue Jul 26 18:39:38 2022 +0300

    client: imp wording

commit d0785311bfe38fb10477bf8971a46d6c61aecfda
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jul 26 17:16:41 2022 +0300

    client: imp tls server name label
2022-07-26 19:00:43 +03:00
Ainar Garipov
84cd528103 Pull request: all: upd chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 43ecba8a5892102fbf635b54d50dbefa9fc9d174
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Jul 13 16:29:24 2022 +0300

    all: upd chlog
2022-07-13 16:39:03 +03:00
Ainar Garipov
56519548f1 Pull request: all: upd go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 132358d69178050ca2eacf8a988b4e4cb0e0ef57
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Jul 13 13:29:07 2022 +0300

    all: upd go
2022-07-13 14:43:21 +03:00
Ainar Garipov
bdcd17a41a Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit ea24a933626a0cea715d8d04953a55a48df9de15
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jul 12 17:36:53 2022 +0300

    client: fix si-lk

commit 924b9d8a2b9b6a933799c739ab623c244b02a9a6
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jul 12 17:29:16 2022 +0300

    client: upd i18n
2022-07-12 17:48:54 +03:00
Ainar Garipov
1eafb4e7cf Pull request: home: fix exe path finding
Closes #4735.

Squashed commit of the following:

commit 8228e5f82c9d8056d5567a7f1b13b1365346c4d4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jul 11 17:41:19 2022 +0300

    home: fix exe path finding
2022-07-11 18:18:17 +03:00
Ainar Garipov
bf024fb985 Pull request: aghalg: impl json.Marshaler for NullBool
Updates #4735.

Squashed commit of the following:

commit 93a0b1dc6b668f7d9fd89d06b8f0f24dcd345356
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jul 11 17:02:36 2022 +0300

    aghalg: impl json.Marshaler for NullBool
2022-07-11 17:40:00 +03:00
Eugene Burkov
a832987f7c Pull request: 4698 Gateway IP in DHCP Lease
Closes #4698.

Squashed commit of the following:

commit 6be0caee58926f8cea1e10650fbde0c8d97d0dac
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Jul 8 13:41:50 2022 +0300

    update translation

commit e0370656d05e8463d73ea73568cae81187c6b2e3
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Jul 8 13:40:54 2022 +0300

    client: validate static lease ip

commit 7f4d00f9f3a54dc93ce5d5c45e9c21745f6e39d1
Merge: 2ee79626 77e5e27d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jul 8 13:20:15 2022 +0300

    Merge branch 'master' into 4698-lease-with-gateway

commit 2ee79626a1b0c7b113dbd22ba4ef6e85ea9913ec
Merge: 471b96b8 3505ce87
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jul 7 19:34:33 2022 +0300

    Merge branch 'master' into 4698-lease-with-gateway

commit 471b96b81da8920c1e71b7110050154f912677d2
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jul 7 16:07:23 2022 +0300

    dhcpd: imp docs

commit 67dd6c76f7d2df4712a57281e0f40f2ee1a1efa2
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jul 7 15:48:47 2022 +0300

    dhcpd: restrict gateway ip for lease
2022-07-08 15:17:47 +03:00
Dimitry Kolyshev
77e5e27d75 Pull request: all: updater exe name
Merge in DNS/adguard-home from 4219-updater to master

Squashed commit of the following:

commit f569a5f232330b83c234838a5bff8ae5277f152f
Merge: a90b4fa7 3505ce87
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 22:14:50 2022 +0530

    Merge remote-tracking branch 'origin/master' into 4219-updater

    # Conflicts:
    #	CHANGELOG.md

commit a90b4fa7782c5ec4531d8e305c0d448e84898239
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 21:56:17 2022 +0530

    home: imp code

commit da0f96b976e430fffc531072ef3e2384bc8b1f09
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 21:48:40 2022 +0530

    updater: exe name

commit 246dc9ca3b133cbc93ea59edd272674b87ff8de3
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 19:18:02 2022 +0530

    all: imp docs

commit 042382d170c4d68ff67fe5544a75371337529623
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 18:02:25 2022 +0530

    all: updater exe name

commit a180c4673ead66788969865784348634af1a739e
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 17:47:46 2022 +0530

    docs: updater exe name

commit 1a98a6eadbd96add0a488fb8f89fb7d8b0ffb3d0
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 17:40:44 2022 +0530

    all: updater exe name

commit 1b13f5d85550dc71b08fd8e5b4258f8414a38759
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Jul 7 17:14:57 2022 +0530

    all: updater exe name
2022-07-07 19:49:47 +03:00
Ainar Garipov
3505ce8739 Pull request: all: use canonical names for hosts file runtime clients
Updates #4683.

Squashed commit of the following:

commit daa8fdaee574d4ac2171f6b13c5ce3f3fedd9801
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jul 7 19:13:29 2022 +0300

    all: use canonical names for hosts file runtime clients
2022-07-07 19:33:32 +03:00
Eugene Burkov
14d8f58592 Pull request: 4699 dhcp ptr
Merge in DNS/adguard-home from 4699-dhcp-ptr to master

Closes #4699.

Squashed commit of the following:

commit 0a8e2b3e22b7fad28a53db65031cc39d8755ecf4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jun 28 18:40:53 2022 +0300

    dnsforward: imp naming again

commit 0b0884a8305f18f7f69560b86be8837933e220e9
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jun 28 18:26:58 2022 +0300

    dnsforward: imp naming

commit e193f53d9a1dd76d41396c06e2ec5a1e7d176557
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jun 28 17:26:00 2022 +0300

    all: imp chlog

commit 8ac9f84f086d9cb0b0f9da72bfc51f9b70a3dab7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jun 28 17:18:48 2022 +0300

    all: log changes

commit 7cdc175d02b6eacfcb6ba62a5424d11e2561a879
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jun 28 17:03:52 2022 +0300

    dnsforward: add tld to dhcp leased hostnames
2022-06-28 19:09:26 +03:00
Ainar Garipov
006cd98869 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 0d2956422f6b417b0a58da176315818a92e8c466
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jun 27 15:42:07 2022 +0300

    client: upd i18n
2022-06-27 15:50:50 +03:00
Eugene Burkov
ce1b2bc4f1 Pull request: 4463 Improve DDR priority
Merge in DNS/adguard-home from 4463-ddr-prior to master

Updates #4463.

Squashed commit of the following:

commit 30b470abe6ea6a58b50a49715c77342018be9491
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Jun 20 17:33:56 2022 +0300

    dnsforward: imp docs

commit 1ba099c2cc318e00b390c4e1b8770aee970d5c20
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Jun 20 17:12:46 2022 +0300

    dnsforward: imp ddr priority
2022-06-20 17:48:56 +03:00
Eugene Burkov
8f4acce44a Pull request: 4677 openwrt service
Merge in DNS/adguard-home from 4677-openwrt-service to master

Updates #4677.

Squashed commit of the following:

commit 6aed4036d3338a601a7ec5ef1ca74a407ae4c0e2
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Jun 20 14:49:33 2022 +0300

    home: imp docs

commit 54e32fa47ed11e50c6405ced90a400e4e69f021d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Jun 20 14:30:08 2022 +0300

    home: fix wrt svc
2022-06-20 15:24:11 +03:00
Ainar Garipov
b04d1ed6c8 Pull request: 4326 improve dockerfile
Updates #4326.

* commit 'f987c2559825923b22e910d01c2d42fb06231acc':
  scripts: imp docs; upd alpine
  Simplify Dockerfile Alpine Linux apk usage
2022-06-14 20:12:31 +03:00
Ainar Garipov
f987c25598 scripts: imp docs; upd alpine 2022-06-14 20:02:12 +03:00
Ainar Garipov
b9b93f1286 Merge branch 'master' into 4326-improve-dockerfile 2022-06-14 19:34:56 +03:00
Ainar Garipov
a7a5e50620 Pull request: client: upd i18n
Updates #4665.

Squashed commit of the following:

commit 848dee4caf1f52b7b71dcef8c488ba939003e56f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jun 14 18:59:56 2022 +0300

    client: upd i18n
2022-06-14 19:09:49 +03:00
Ildar Kamalov
0edf71a4af Pull request: 4659 fix url value in filter table actions
Updates #4659

Squashed commit of the following:

commit e1bcda9566bd9f1cca965f4308c337a9adf2ce04
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Jun 14 17:40:09 2022 +0300

    client: fix url value in filter table actions
2022-06-14 18:55:08 +03:00
Eugene Burkov
5956b97e7f Pull request: more sysv
Merge in DNS/adguard-home from 4480-sysv-again to master

Updates #4480.

Squashed commit of the following:

commit 263fa05ab19de95b18fb07f6c89e4b9a1b24657b
Merge: 360a6468 d3f39b0a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jun 14 13:36:15 2022 +0300

    Merge branch 'master' into 4480-sysv-again

commit 360a646833ca9e0e01cb6d085e70b898a30dc2d0
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jun 9 18:15:41 2022 +0300

    home: rename linux file

commit c3032533b7e00136c25d15a4ad771bb8a9c13e31
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jun 9 18:06:25 2022 +0300

    home: imp code

commit 2381c4a6ab4f6dca88123ff7b0a92f2cf9a420a8
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jun 9 17:48:22 2022 +0300

    home: wrap sysv service
2022-06-14 14:01:51 +03:00
Ildar Kamalov
d3f39b0aa1 Pull request: 4637 fix blocked services icons and actions highlight
Updates #4637

Squashed commit of the following:

commit d69887586d15582406fab642e576a46f8984107b
Merge: 65453371 e738508d
Author: Ildar Kamalov <ik@adguard.com>
Date:   Fri Jun 10 12:07:29 2022 +0300

    Merge branch 'master' into 4637-table

commit 65453371fc7309e772a12fb9f522247e1392a64a
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Jun 9 18:43:44 2022 +0300

    client: fix blocked services icons and actions highlight
2022-06-10 12:41:20 +03:00
Ainar Garipov
e738508d7a Pull request: all: imp updater
Merge in DNS/adguard-home from imp-updater to master

Squashed commit of the following:

commit 6ed487359e56a35b36f13dcbf2efbf2a7a2d8734
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jun 9 16:29:35 2022 +0300

    all: imp logs, err handling

commit e930044cb619a43e5a44c230dadbe2228e9a93f5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jun 9 15:53:35 2022 +0300

    all: imp updater
2022-06-09 17:47:05 +03:00
Ildar Kamalov
302faca32f Pull request: 4642 update dns addresses on encryption update
Updates #4642

Squashed commit of the following:

commit 75729120d3532dc2bd12b6c9e724a691043a1870
Merge: 5b681867 1c1ca1c6
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Jun 9 11:58:13 2022 +0300

    Merge branch 'master' into 4642-dns-privacy

commit 5b68186705c3a9287a44e33c8cf7ab79060f35a4
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Jun 7 18:39:02 2022 +0300

    fix

commit 46a9346154d33206e829a97021f3ef47ac2a5611
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Jun 7 18:18:18 2022 +0300

    client: update dns addresses on encryption update
2022-06-09 12:07:29 +03:00
Ildar Kamalov
1c1ca1c6e3 Pull request: 4641 fix button clickable area
Updates #4641

Squashed commit of the following:

commit f9f018388a198d7712e5caabba94035e42e393c4
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Jun 7 16:21:37 2022 +0300

    client: fix button clickable area
2022-06-09 11:57:58 +03:00
Ainar Garipov
a497dc09ca Pull request: all: upd chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 1ca912f4be4a452abc0c8c95a8d6022d547b3394
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jun 6 18:35:12 2022 +0300

    all: upd chlog
2022-06-06 18:43:35 +03:00
Ainar Garipov
3ce04f48ca Pull request: all: fix quic reply id
Merge in DNS/adguard-home from upd-dnsproxy-quic-fix to master

Squashed commit of the following:

commit a6ffa24769259c73e397e02d087dc155ed58a3e2
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jun 6 15:06:00 2022 +0300

    all: fix quic reply id
2022-06-06 15:34:08 +03:00
Ainar Garipov
368a98fb29 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 3feadfe31609ef52726b582ad6ba18bfa435a081
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Jun 3 16:34:36 2022 +0300

    client: upd i18n
2022-06-03 16:39:36 +03:00
Ainar Garipov
cbe32c5a73 Pull request: all: replace uuid pkg; upd deps
Merge in DNS/adguard-home from 4622-upd-deps to master

Squashed commit of the following:

commit 36f407d8ab103da0f7eacdf91c153c23a5b7c3f2
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Jun 3 15:22:47 2022 +0300

    home: imp mobileconfig uuid gen

commit dddd162461a4830f7c0636338430cd6e77199214
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Jun 3 13:54:29 2022 +0300

    all: replace uuid pkg; upd deps
2022-06-03 15:53:21 +03:00
Ainar Garipov
f46c9f74d5 Pull request: all: upd go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit b0bec8926508fb7ee3f26c2303d9628e21f0b62f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jun 2 15:47:51 2022 +0300

    all: upd go
2022-06-02 15:57:06 +03:00
Dimitry Kolyshev
4b884ace62 Pull request: all: fix doh ddr
Merge in DNS/adguard-home from fix-ddr-doh to master

Squashed commit of the following:

commit 53d3147b22044061d78b3bf4badca60505ac245a
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue May 31 15:02:17 2022 +0200

    all: fix doh ddr
2022-05-31 17:28:50 +03:00
Eugene Burkov
7ce7e90865 Pull request: dnsforward: fix ddr target
Updates #4463.

Squashed commit of the following:

commit 047155b585a1c762d709874f44abb2d8c5a9dbca
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon May 30 15:34:38 2022 +0300

    dnsforward: imp code

commit b0508ffec13ccf5fc5d3d2e37c9e1bd83c3c039e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon May 30 15:27:02 2022 +0300

    dnsforward: fix ddr target
2022-05-30 16:04:28 +03:00
Dimitry Kolyshev
756c932e37 Pull request: dnsforward: add doq alpn
Merge in DNS/adguard-home from 4592-doq-alpn to master

Squashed commit of the following:

commit 5985445dbf5158ae1e5b0235b404dd188c856e60
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu May 26 16:42:06 2022 +0200

    dnsforward: add doq alpn

commit 9dcd6fee615a1a5ac1f80641ac16c18371b67096
Merge: 2564c870 c3d5fcc6
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu May 26 15:24:07 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4592-doq-alpn

commit 2564c870e704ff453d0ad2fb22fa295ef725dd13
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu May 26 15:20:16 2022 +0200

    dnsforward: add doq alpn
2022-05-26 17:53:11 +03:00
Dimitry Kolyshev
c3d5fcc669 Pull request: locales: DoQ status
Merge in DNS/adguard-home from 4592-doq-status to master

Squashed commit of the following:

commit 96bc041b736a45711419160aebb79296f13ff84d
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu May 26 14:21:10 2022 +0200

    all: locales
2022-05-26 16:21:59 +03:00
Ainar Garipov
65a33a1215 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 7ddd8cb01f8136ad4690a439ee3b810043af749e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu May 26 14:10:31 2022 +0300

    client: upd i18n
2022-05-26 14:20:36 +03:00
Ildar Kamalov
1a49d2f0c9 Pull request: client: reset filtered logs on url params clear
Merge in DNS/adguard-home from fix-querylog-link to master

Squashed commit of the following:

commit fc4043258eb1e427a76ee44d2a4a525a6d659ab9
Merge: 25b91504 549b20bd
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu May 26 12:42:02 2022 +0300

    Merge branch 'master' into fix-querylog-link

commit 25b91504e8949bd381e6774148e4a7ecbb81610e
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu May 26 12:21:57 2022 +0300

    fix

commit f567b9b1e4eeb6499c79b05e4d837e905850a6b9
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu May 26 12:20:48 2022 +0300

    client: reset filtered logs on url params clear
2022-05-26 12:49:13 +03:00
Ainar Garipov
549b20bdea Pull request: querylog: fix oldest calc
Updates #4591.

Squashed commit of the following:

commit 70b70c78c85311363535536c7ea12336b21accf8
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed May 25 17:35:54 2022 +0300

    querylog: fix oldest calc
2022-05-25 18:00:50 +03:00
Dimitry Kolyshev
75f01d51f7 Pull request: all: filters json
Merge in DNS/adguard-home from 4581-filters-json to master

Squashed commit of the following:

commit da0b86983432ac1791645da328df5848daac5ea6
Merge: 62fa4fc6 a82ec09a
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Wed May 25 12:58:25 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4581-filters-json

commit 62fa4fc6ff150ebb8dbd8888a58819fb644d43ad
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Wed May 25 11:55:52 2022 +0200

    all: filters json

commit 96486ffbb41947b5e748f6e35eb96ee73867eba1
Merge: 9956f0af c0ac82be
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue May 24 15:57:52 2022 +0200

    Merge branch 'master' into 4581-filters-json

commit 9956f0aff1b7029f336d22013a62f2871a964322
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue May 24 15:53:43 2022 +0200

    all: filters json
2022-05-25 14:31:32 +03:00
Ainar Garipov
a82ec09afd Pull request: all: upd dnsproxy, supp rfc 9250
Updates #4592.

Squashed commit of the following:

commit 1a80875d6aa7811d7d1d978f6fa8d558dec1ca87
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue May 24 19:28:27 2022 +0300

    all: upd dnsproxy, supp rfc 9250
2022-05-24 19:47:09 +03:00
Eugene Burkov
c0ac82be6a Pull request: 4480 fix sysv service script
Merge in DNS/adguard-home from 4480-sysv-boot to master

Updates #4480.

Squashed commit of the following:

commit c9645b1f3bd22a249c666e4485818bab6769f32d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue May 24 14:25:09 2022 +0300

    home: imp sysv script

commit cc323364ba6cce0284cbc6be9133a50a51b71f56
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon May 23 21:13:06 2022 +0300

    home: fix sysv service script
2022-05-24 14:43:54 +03:00
Dimitry Kolyshev
24d7dc8e8a Pull request: all: upd dnsproxy
Merge in DNS/adguard-home from 4503-upstream-conf to master

Squashed commit of the following:

commit c6cb1babd4cbf9aacafe902e3d54ce17e8d2cc81
Merge: 75d85ed1 79d85a24
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon May 23 13:06:00 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4503-upstream-conf

commit 75d85ed1f4d8d5060800b2f8a4cde662db02ae30
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Fri May 20 13:14:16 2022 +0200

    all: upd dnsproxy

commit 781768d639388a60fc90631f819cfc5dd90b9eba
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon May 16 16:27:25 2022 +0200

    all: docs

commit 0dafb5b3fe11b1952d9a04294bcaaa8091b9c2a7
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon May 16 16:17:35 2022 +0200

    all: docs

commit 0d5463e4157132b0e6be78fd97eaf5a5cb8d1edc
Merge: e2c86909 f289f4b1
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon May 16 16:01:40 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4503-upstream-conf

    # Conflicts:
    #	go.mod
    #	go.sum

commit e2c869091b1386065076f44dbf9498a31c9d5451
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon May 16 15:29:17 2022 +0200

    all: upd dnsrpoxy
2022-05-23 16:04:14 +03:00
Eugene Burkov
79d85a24e9 Pull request: all: log changes
Updates #4273.

Squashed commit of the following:

commit ebae1a4d0944fa348b7dcb7e73e59d083c7a5e97
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed May 18 14:48:16 2022 +0300

    all: log changes
2022-05-18 15:00:36 +03:00
Ainar Garipov
f289f4b1b6 Pull request: websvc: add system info
Merge in DNS/adguard-home from websvc-system-info to master

Squashed commit of the following:

commit 333aaa0602da254e25e0262a10080bf44a3718a7
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu May 12 16:32:32 2022 +0300

    websvc: fmt

commit d8a35bf71dcc59fdd595494e5b220e3d24516728
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu May 12 16:10:11 2022 +0300

    websvc: refactor, imp tests

commit dfeb24f3f35513bf51323d3ab6f717f582a1defc
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed May 11 20:52:02 2022 +0300

    websvc: add system info
2022-05-12 17:41:39 +03:00
jumpsmm7
b7eedb3feb Update README.md
* Add Asuswrt-Merlin-AdGuardHome-Installer (a.k.a. the installer that made adguardhome available to Asuswrt-Merlin Asus Routers)
2022-05-06 21:34:06 -04:00
Eugene Burkov
58515fce43 Pull request: 4542 clientid case
Merge in DNS/adguard-home from 4542-clientid-case to master

Updates #4542.

Squashed commit of the following:

commit 2a3111ebcef09460b407cd1c870cad2391cd5650
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed May 4 20:44:18 2022 +0300

    all: fix changelog link

commit 3732def83e2a36eeff2d682149dc4dcef4e92a7d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed May 4 20:43:37 2022 +0300

    all: log changes

commit 9fe1001cf586669ae238c9c4818070cf94e23ce8
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed May 4 19:37:33 2022 +0300

    dnsforward: lowercase clientid
2022-05-04 21:01:41 +03:00
Ainar Garipov
21905d9869 Pull request: home: imp openbsd init script
Closes #4533.

Squashed commit of the following:

commit 48ca9e100619e714eab565273daeb4ee9adb5b74
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Apr 28 20:25:15 2022 +0300

    home: imp openbsd init script
2022-04-29 14:39:02 +03:00
RoboMagus
56f78edb97 Merge branch 'AdguardTeam:master' into blocked_services_API 2022-04-28 21:53:16 +02:00
Ainar Garipov
a580149ad6 Pull request: all: upd dnsproxy, tools
Merge in DNS/adguard-home from upd-dnsproxy to master

Squashed commit of the following:

commit ea2a88dfd6e3820f0b3319d6aa09313de467e423
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Apr 27 14:24:49 2022 +0300

    all: upd dnsproxy, tools
2022-04-27 14:32:29 +03:00
Ainar Garipov
6dc9e73ce4 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 0e0a3290a02780b147aacff529c4ba3bd3ace68f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Apr 27 14:13:24 2022 +0300

    client: upd i18n
2022-04-27 14:18:50 +03:00
Ainar Garipov
5d52e68d26 Pull request: home: imp client finding logging
Updates #4526.

Squashed commit of the following:

commit 970476ea238cbab797912e1c50eca35e3f74a52f
Merge: 3e2dde81 c4ff80fd
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Apr 27 14:01:17 2022 +0300

    Merge branch 'master' into 4526-add-client-logs

commit 3e2dde81d7325b75c257f333e2c4e417f4ae203d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Apr 27 13:59:19 2022 +0300

    home: imp logs

commit 094bfe34770b4bdc504b5ae97dd2d3842b2f73cf
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Apr 26 21:11:18 2022 +0300

    home: imp client finding logging
2022-04-27 14:06:10 +03:00
Dimitry Kolyshev
c4ff80fd3a Pull request: dnsforward: ddr support
Merge in DNS/adguard-home from 4463-ddr-support-1 to master

Squashed commit of the following:

commit 74d8337a9d78e00a0b01301bbf92054fc58aff0d
Merge: 7882c56e ed449c61
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Wed Apr 27 10:32:48 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4463-ddr-support-1

commit 7882c56eced204b99a0189c839f5b5ef56fcbfd8
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 13:29:16 2022 +0200

    all: docs

commit 59593cf47f8db2131fb8a4a44ec3721de8f73567
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 13:06:49 2022 +0200

    all: docs

commit 13bfe00d91b190a2538eeee642ce40abe031ecf2
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 12:58:48 2022 +0200

    all: docs

commit a663b53d211483a717a480e24e120a201dc3d9da
Merge: 53122f6a 235316e0
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 12:33:07 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4463-ddr-support-1

commit 53122f6aac8e9ede69de833e367e006f4c5c75c0
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 12:30:56 2022 +0200

    dnsforward: ddr support

commit 87083ded02c120e1fb3e54b885a1992efd8f780d
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 11:51:06 2022 +0200

    dnsforward: ddr support

commit 3dc711e0a9ba1a024e7d24527b2a690aa36413ce
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 11:39:59 2022 +0200

    dnsforward: imp code

commit f63f6a9d65a96960ae2c06aeca2b32aef70d8f63
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 11:34:23 2022 +0200

    dnsforward: ddr support

commit e64ffcdac8f9428e4c93a6dc99cc3f1bb090af35
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 11:22:20 2022 +0200

    dnsforward: ddr support

commit 297460946bb1765137c7c3fe3e298cd574635287
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 26 11:08:59 2022 +0200

    dnsforward: imp code

commit 61b4e2e0e06e212c31b7a9d1b09fab392ae6dbc4
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Apr 25 14:39:34 2022 +0200

    dnsforward: ddr support

commit 7c2787e12eb67a02b41cbb4fe36a12671259f9c9
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Apr 25 11:41:42 2022 +0200

    all: docs

commit 29c2c872843f6d006e6a98144a52e23a4cbe7be9
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Apr 25 11:26:07 2022 +0200

    dnsforward: ddr support

commit 2d4ba0c4ce4fbbf3d99da8dd92349da2ec9cff13
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Apr 25 11:03:34 2022 +0200

    dnsforward: ddr support

commit 0efb5b5cd55bcba3dfae35e80209277f0643a87e
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Sun Apr 24 13:07:25 2022 +0200

    dnsforward: imp code

commit 884381ef04029d5d743834555cb6601d891c2d25
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Sun Apr 24 12:56:41 2022 +0200

    dnsforward: imp code

commit 41231f24e83a9690d36546e83fd61ddd709050ed
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Fri Apr 22 16:05:47 2022 +0200

    dnsforward: ddr support

commit 9d9da3f479efa5d5609f9b1e6b0d1a93fc253b9f
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Fri Apr 22 13:46:29 2022 +0200

    all: ddr support

commit b225363df143d599e9acbf1a6b0bf6d00044dd47
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Fri Apr 22 13:38:27 2022 +0200

    dnsforward: imp code

... and 10 more commits
2022-04-27 11:39:48 +03:00
Ainar Garipov
ed449c6186 Pull request: all: add stub binary for new api
Merge in DNS/adguard-home from new-api to master

Squashed commit of the following:

commit 83f4418c253b9abc5131d9e2acc2a4a96e4122c4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Apr 26 19:09:34 2022 +0300

    all: fix build

commit 1fbb53fdf779bde79fab72f9c8eb929e08bb044c
Merge: 73a55197 1c89394a
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Apr 26 18:37:27 2022 +0300

    Merge branch 'master' into new-api

commit 73a5519723f662979bdeb5192bc15835e7f03512
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Apr 26 18:36:50 2022 +0300

    v1: imp names, docs

commit d3fbc2f2082612b8ba438c8216c6c74421cc2df5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Apr 22 17:55:42 2022 +0300

    cmd: imp docs

commit c2a73aa364a848e8066d1132d4b53bbc3e22db2d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Apr 22 16:19:14 2022 +0300

    all: add stub binary for new api
2022-04-26 20:50:09 +03:00
Eugene Burkov
1c89394aef Pull request: 4525 fix panic
Merge in DNS/adguard-home from 3020-fix-panic to master

Closes #4525.

Squashed commit of the following:

commit f8d9e25eccb485269aa2f0275d4e08da767f9d05
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 26 15:09:11 2022 +0300

    home: imp code

commit 8fe02c8f057c05b9e8ce1de056a92e7cd69ae4c6
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 26 14:44:33 2022 +0300

    home: fix panic
2022-04-26 15:21:45 +03:00
Eugene Burkov
235316e050 Pull request: 3020 runtime clients sources control
Merge in DNS/adguard-home from 3020-client-sources to master

Closes #3020.

Squashed commit of the following:

commit f8e6b6d63373f99b52f7b8c32f4242c453daf1a4
Merge: 41fb071d 0a1ff65b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Apr 25 19:19:15 2022 +0300

    Merge branch 'master' into 3020-client-sources

commit 41fb071deb2a87e0a69d09c8f418a016b4dd7e93
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Apr 25 13:38:28 2022 +0300

    home: fix nil, imp docs

commit aaa7765914a8a4645eba357cd088a9470611ffdc
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Apr 25 12:25:47 2022 +0300

    home: imp code

commit 3f71b999564c604583b46313d29f5b70cf51ee14
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Apr 22 19:12:27 2022 +0300

    home: runtime clients sources control
2022-04-26 13:04:16 +03:00
Ildar Kamalov
0a1ff65b4a Pull request: client: fix constant loading for blocked requests
Updates #4420

Squashed commit of the following:

commit 461a59e1541626020bf0bcfaf34ba7d2f4509dc7
Merge: 5c5e7b5d 2a1ad532
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Apr 25 18:46:02 2022 +0300

    Merge branch 'master' into 4420-loading-log

commit 5c5e7b5d1a69d30e40e71f49f46dea89fa8c40a2
Author: Ildar Kamalov <ik@adguard.com>
Date:   Sun Apr 24 22:18:22 2022 +0300

    client: fix constant loading for blocked requests
2022-04-25 19:10:52 +03:00
Ainar Garipov
2a1ad532f4 Pull request: home: rm unnecessary locking in update; refactor
Merge in DNS/adguard-home from 4499-rm-unnecessary-locking to master

Squashed commit of the following:

commit 6d70472506dd0fd69225454c73d9f7f6a208b76b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Apr 25 17:26:54 2022 +0300

    home: rm unnecessary locking in update; refactor
2022-04-25 18:41:39 +03:00
Eugene Burkov
9d144ecb0a Pull request: client: imp rdns desc
Squashed commit of the following:

commit 5631f5f7155d7e5ad58dc5088cc3c93cb40a94a4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Apr 25 17:03:13 2022 +0300

    client: imp rdns desc
2022-04-25 17:09:49 +03:00
Ainar Garipov
9b7fe74086 Pull request: all: do not mark help-wanted issues as stale
Merge in DNS/adguard-home from help-wanted-stale to master

Squashed commit of the following:

commit 1c5ffcdd0153dd7d9d9bcc1e35dee4a0b3113f59
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Apr 22 20:04:01 2022 +0300

    all: do not mark help-wanted issues as stale
2022-04-25 13:59:34 +03:00
RoboMagus
0f2a9f262e Add '/blocked_services/services' API 2022-04-25 09:41:31 +02:00
Dimitry Kolyshev
82af43039c Pull request: whotracksme tracker links
Merge in DNS/adguard-home from 4416-ui-tracker-href to master

Squashed commit of the following:

commit 979ea82a3b4d2c2a895b81aacd613fb7e5bec586
Merge: 4fe6328b 12ee287d
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 19 15:03:13 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4416-ui-tracker-href

commit 4fe6328b276e697a2aa351c6543d2efe6d2dc2e1
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 19 14:08:10 2022 +0200

    whotracksme tracker links
2022-04-19 16:07:57 +03:00
Eugene Burkov
12ee287d0b Pull request: 3157 excessive ptrs
Merge in DNS/adguard-home from 3157-excessive-ptrs to master

Updates #3157.

Squashed commit of the following:

commit 6803988240dca2f147bb80a5b3f78d7749d2fa14
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 19 14:50:01 2022 +0300

    aghnet: and again

commit 1a7f4d1dbc8fd4d3ae620349917526a75fa71b47
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 19 14:49:20 2022 +0300

    aghnet: docs again

commit d88da1fc7135f3cd03aff10b02d9957c8ffdfd30
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 19 14:47:36 2022 +0300

    aghnet: imp docs

commit c45dbc7800e882c6c4110aab640c32b03046f89a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 19 14:41:19 2022 +0300

    aghnet: keep alphabetical order

commit b61781785d096ef43f60fb4f1905a4ed3cdf7c68
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 19 13:50:56 2022 +0300

    aghnet: imp code quality

commit 578dbd71ed2f2089c69343d7d4bf8bbc29150ace
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Apr 12 17:02:38 2022 +0300

    aghnet: imp arp container
2022-04-19 15:01:49 +03:00
Ainar Garipov
57171f0a61 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 181c13667eb79e5f0c8ec6502e8bd79f7403bf8d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Apr 13 20:24:32 2022 +0300

    client: upd i18n
2022-04-13 20:30:36 +03:00
Ainar Garipov
21a1187ed2 Pull request: all: upd go, tools
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 26cd13146df705ead5e1c39c27e73252c71fa64d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Apr 13 17:46:24 2022 +0300

    all: upd go, tools
2022-04-13 18:16:33 +03:00
Dimitry Kolyshev
2c2c0d445b Pull request #1473: svcb dohpath support
Merge in DNS/adguard-home from 4463-ddr-support to master

Squashed commit of the following:

commit 99a149e9024354ad0341739c3c9b08cefbd74468
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Apr 12 14:13:17 2022 +0200

    imp docs

commit 26150be8df8b35e47c108f6e3319c57b39fb8e38
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Apr 11 20:36:18 2022 +0200

    imp code docs

commit 5a4607f71abba83a9ac8753abd74c9fb97e4a545
Merge: 00f0abf5 9f0fdc5e
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Apr 11 16:14:49 2022 +0200

    Merge remote-tracking branch 'origin/master' into 4463-ddr-support

    # Conflicts:
    #	internal/dnsforward/svcbmsg.go

commit 00f0abf5eea07aeeebc2a856a958215021a51ab7
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Mon Apr 11 16:06:42 2022 +0200

    svcb dohpath support

commit ace81ce1ea2fb96c4434c6c1fded4a79427cf17e
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Thu Apr 7 14:31:32 2022 +0200

    svcb dohpath support

commit a1b5df4fb2e87dab265d6ca55928610a6acc1c00
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Wed Apr 6 16:53:17 2022 +0200

    svcb dohpath support
2022-04-12 15:45:18 +03:00
Dimitry Kolyshev
9f0fdc5e78 Pull request: upd bamboo-specs snapcraft
Merge in DNS/adguard-home from upd-bamboo-spec to master

Squashed commit of the following:

commit c26c70f97cbce98afd5c7d4241188d6949869c2a
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Fri Apr 8 13:51:23 2022 +0200

    upd bamboo-specs snapcraft

commit afe40c03b70d2b2dff9c7c25044d7924bdd3c765
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Fri Apr 8 13:10:38 2022 +0200

    upd bamboo-specs snapcraft
2022-04-08 16:43:49 +03:00
Ainar Garipov
96594a3433 Pull request: dnsforward: upd svcp param ech name
Merge in DNS/adguard-home from upd-ech-dnsrewrite to master

Squashed commit of the following:

commit b5d9e8643fcb0d7fe7bc44c6d8fc8a9d3f2c9595
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Apr 7 18:01:18 2022 +0300

    all: imp chlog

commit 447c5ea6bc2031d4af46578bdb8d724bff001ca0
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Apr 7 15:40:18 2022 +0300

    dnsforward: upd svcp param ech name
2022-04-07 18:08:39 +03:00
Eugene Burkov
4c5b38a447 Pull request: 4437 imp help output
Merge in DNS/adguard-home from imp-help to master

Updates #4437.

Squashed commit of the following:

commit 941338b93e19021c5b211e9e644387e4326533ce
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Apr 7 13:59:55 2022 +0300

    home: imp help output
2022-04-07 14:07:27 +03:00
Eugene Burkov
0e608fda13 Pull request: 4437 depr memory opt
Merge in DNS/adguard-home from 4437-rm-mem-opt to master

Updates #4437.
Updates #2044.

Squashed commit of the following:

commit d1e5520213f6b68570d18a8d831d4923112901ba
Merge: 73a6b494 8bb95469
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Apr 6 19:37:09 2022 +0300

    Merge branch 'master' into 4437-rm-mem-opt

commit 73a6b4948cb32f1cb79a54b244018b29382fad76
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Apr 6 18:33:23 2022 +0300

    all: imp log of changes

commit a62efcdcd44de300726c906c7f6198c0a02d4ccf
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Apr 6 18:27:42 2022 +0300

    home: depr memory opt
2022-04-06 19:56:39 +03:00
Eugene Burkov
8bb95469d9 Pull request: 4465 fix ifaces resp
Merge in DNS/adguard-home from 4465-bad-ifaces-resp to master

Closes #4465.

Squashed commit of the following:

commit cc44252b2f12ba4b15df315253417aba2a3f98a6
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Apr 6 19:21:40 2022 +0300

    aghnet: fix get_addresses
2022-04-06 19:36:13 +03:00
Ildar Kamalov
e9e0b7c4f9 Pull request: 700 validate only enabled encryption form
Merge in DNS/adguard-home from 700-validate to master

Updates #700.

Squashed commit of the following:

commit 9cd9ff2d23352e00c7782cf68195809111c832e5
Author: Ildar Kamalov <ik@adguard.com>
Date:   Wed Apr 6 18:50:11 2022 +0300

    client: validate only enabled encryption form
2022-04-06 19:27:24 +03:00
Eugene Burkov
c70f941bf8 Pull request: 2846 cover aghnet vol.4
Merge in DNS/adguard-home from 2846-cover-aghnet-vol.4 to master

Updates #2846.

Squashed commit of the following:

commit 576ef857628a403ce1478c10a4aad23985c09613
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Mar 31 19:38:57 2022 +0300

    aghnet: imp code

commit 5b4b17ff52867aaab2c9d30a0fc7fc2fe31ff4d5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Mar 31 14:58:34 2022 +0300

    aghnet: imp coverage
2022-03-31 19:56:50 +03:00
Ildar Kamalov
a79b61aac3 Pull request: fix down flag
Squashed commit of the following:

commit ea446e844a21e7e7e0271d4d133c581014facda1
Merge: bb8cabfa 5e71f5df
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Mar 31 10:49:20 2022 +0300

    Merge branch 'master' into client-down-flag

commit bb8cabfae8e2e3eaa09f48ffe7d2fb3b308d31fb
Author: Ildar Kamalov <ik@adguard.com>
Date:   Wed Mar 30 19:27:30 2022 +0300

    client: fix down flag
2022-03-31 11:54:47 +03:00
Eugene Burkov
5e71f5df6a Pull request: 2846 cover aghnet vol.3
Merge in DNS/adguard-home from 2846-cover-aghnet-vol.3 to master

Updates #2846.

Squashed commit of the following:

commit cb22987c43c17bbc8d098e65639cc84e2284bc7b
Merge: cf995e9d f31ffcc5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 30 15:01:10 2022 +0300

    Merge branch 'master' into 2846-cover-aghnet-vol.3

commit cf995e9dce635f16e10406a61e2ab12f06407f1f
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 28 18:29:50 2022 +0300

    aghnet: imp tests

commit bc225fe8800633b29216840bc7d5b82d7c2d2bfb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 28 18:03:06 2022 +0300

    aghnet: imp tests

commit a82eb6045495b94a2e81ced9a3ef5bfe65788e56
Merge: f8081249 0d562a7b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 28 17:39:13 2022 +0300

    Merge branch 'master' into 2846-cover-aghnet-vol.3

commit f80812490c49f69655d409c6f015b069affa2f19
Merge: edccaa79 3603b1fc
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 28 17:29:20 2022 +0300

    Merge branch 'master' into 2846-cover-aghnet-vol.3

commit edccaa79fca061ffeea1985c293eed123b16a09c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 28 13:53:40 2022 +0300

    aghnet: imp tests

commit 7c5028c92f0a6680516bda67c73e794182c9b825
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Mar 25 18:01:28 2022 +0300

    aghnet: imp code & docs

commit 7897c6b13e9be340ae8a71947a8a0bab82c682eb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Mar 25 17:11:46 2022 +0300

    aghnet: imp coverage

commit 1eef110af3bf721a0275c695bf27c31815abff04
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 21:10:29 2022 +0300

    all: return byte slice
2022-03-30 15:11:57 +03:00
Peter Dave Hello
047970e5ee Enable code block syntax hightlight in README.md
It'll make it just a little bit easier to read it
2022-03-30 18:02:50 +08:00
Eugene Burkov
f31ffcc5d1 Pull request: aghnet: fix catching timeout errors
Merge in DNS/adguard-home from fix-is-timeout to master

Squashed commit of the following:

commit b0fefd01f27a835a34e44beb2eb2c34027960a51
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 29 15:57:06 2022 +0300

    aghnet: fix catching timeout errors
2022-03-29 16:21:22 +03:00
Eugene Burkov
0d562a7b1f Pull request: add go sumdb env
Merge in DNS/adguard-home from cn-sumdb to master

Squashed commit of the following:

commit 439973292f473efa72fb6a733a32be45e634274e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 28 16:51:28 2022 +0300

    Makefile: add go sumdb env
2022-03-28 17:05:19 +03:00
Ainar Garipov
3603b1fcab Pull request: home: fix types
Updates #4424.

Squashed commit of the following:

commit 784b4940d46ce74edbfbbde6e5b24f95dcb4bc70
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Mar 24 17:07:41 2022 +0300

    home: fix types
2022-03-24 17:12:41 +03:00
Eugene Burkov
82505566f8 Pull request: 2846 cover aghnet vol.2
Merge in DNS/adguard-home from 2846-cover-aghnet-vol.2 to master

Updates #2846.
Closes #4408.

Squashed commit of the following:

commit 8d62b29d5b5be875cb71e518e479e321d853eb1a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 20:42:04 2022 +0300

    home: recover panic

commit 1d98109e910830bec712c7aecbbbcb8f659d823d
Merge: ac11d751 9ce2a0fb
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 20:32:05 2022 +0300

    Merge branch 'master' into 2846-cover-aghnet-vol.2

commit ac11d751fb7951e3dd0940bf425a893223c32789
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 20:29:41 2022 +0300

    aghnet: use iotest

commit 7c923df7bafd5d4b91c4b4a01e75ab161944f949
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 20:17:19 2022 +0300

    aghnet: cover more

commit 3bfd4d587e4b887b5527d60c0eb6027da15c7e37
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 14:13:59 2022 +0300

    aghnet: cover arpdb more

commit cd5cf7bbdecceeab6d3abee10a5572e1e907cc67
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 13:05:35 2022 +0300

    all: rm arpdb initial refresh

commit 0fb8d9e44a4d130ca4e8fc2ea5d595ec08555302
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 22 21:13:16 2022 +0300

    aghnet: cover arpdb
2022-03-23 20:47:45 +03:00
Ainar Garipov
9ce2a0fb34 Pull request: all: upd chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 02b33e764d540868df19cd7359f114f98c9a66ca
Merge: 999a5f27 5cba78a8
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 23 16:09:39 2022 +0300

    Merge branch 'master' into upd-chlog

commit 999a5f2718f5577e13ec59619652cc60ff7a7416
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 23 16:04:35 2022 +0300

    all: fix chlog

commit 2fe68c5665ea63c3b3f73b8a6ace88de45f2aec1
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 23 15:59:36 2022 +0300

    all: imp chlog

commit d5af9db6365430cc7e96d7681231db24e57aa6a5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 23 15:39:27 2022 +0300

    all: upd chlog
2022-03-23 16:13:28 +03:00
Eugene Burkov
5cba78a8d5 Pull request: 4276 upd quic port
Merge in DNS/adguard-home from 4276-doq-port to master

Closes #4276.

Squashed commit of the following:

commit cbdde622b54d0d5d11d1b4809f95a41ace990a1b
Merge: d32c13e9 2c33ab6a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 15:47:43 2022 +0300

    Merge branch 'master' into 4276-doq-port

commit d32c13e98f0fed2c863160e4e2de02ae3038e3df
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 21 21:55:09 2022 +0300

    all: fix link

commit 0afd702f5192d727927df2f8d95b9317811a1be0
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 21 21:47:38 2022 +0300

    all: imp docs, log changes

commit 9a77fc3daf78d32c577f1bc49aa1f8bc352d44e3
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Mar 21 21:41:30 2022 +0300

    home: upd quic port
2022-03-23 16:00:32 +03:00
Ainar Garipov
2c33ab6a92 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit 0de5987fbc8da3d609a2d0f5ab34c07959ceb818
Merge: cea47b73 beb674ec
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 23 14:19:57 2022 +0300

    Merge branch 'master' into upd-i18n

commit cea47b733dc32a3c63c2598dc8f20367b5a9753f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 23 14:17:48 2022 +0300

    client: upd i18n
2022-03-23 14:36:17 +03:00
Eugene Burkov
beb674ecbc Pull request: filtering: fix qq regex legacy
Merge in DNS/adguard-home from qq-rule to master

Updates #3717.

Squashed commit of the following:

commit 1e2d50077067e5f95da645091686349ce9c8a6bc
Merge: 7290a1c4 b16b1d1d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 23 14:14:10 2022 +0300

    Merge branch 'master' into qq-rule

commit 7290a1c456a7f47e91cc9485f5e112b92cb595ba
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Mar 18 20:36:17 2022 +0300

    filtering: fix qq regex legacy
2022-03-23 14:19:45 +03:00
Eugene Burkov
b16b1d1d24 Pull request: home: fix adding client
Merge in DNS/adguard-home from fix-arp-names to master

Updates #3597.

Squashed commit of the following:

commit b4737a342ab4c3685512bd1271a2dc9fa25256d0
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 22 16:55:52 2022 +0300

    home: fix adding client
2022-03-22 18:28:43 +03:00
Eugene Burkov
f8e45c13f3 Pull request: 3142 swap arp and rdns priority
Merge in DNS/adguard-home from 3142-fix-clients to master

Updates #3142.
Updates #3597.

Squashed commit of the following:

commit 4dcabedbfb1a4e4a0aaba588f708e4625442fce8
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 22 15:13:15 2022 +0300

    all: imp log of changes

commit 481088d05eecac1109daf378e0b4d5f6b2cf099b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 22 14:36:44 2022 +0300

    all: swap arp and rdns priority
2022-03-22 15:21:03 +03:00
Ildar Kamalov
b9790f663a Pull request: 4409 fix icons height
Updates #4409

Squashed commit of the following:

commit 132073ccf00ba6eb6ddacfc82c8d2e01f3d4b011
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Mar 21 15:22:33 2022 +0300

    client: remove height

commit 29970f33e7af26e406c442510d626fc0cfdae0ce
Merge: 96b3abcf 77858586
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Mar 21 15:10:49 2022 +0300

    Merge branch 'master' into 4409-icon

commit 96b3abcfa4561da466cc53331b8f751d55f59351
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Mar 21 10:22:55 2022 +0300

    client: fix icons height
2022-03-21 18:57:31 +03:00
Eugene Burkov
778585865e Pull request: 3142 custom private subnets
Merge in DNS/adguard-home from 3142-custom-subnets to master

Updates #3142.

Squashed commit of the following:

commit 11469ade75b9dc32ee6d93e3aa35cf79dbaa28b2
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Mar 17 19:56:02 2022 +0300

    all: upd golibs, use subnet set
2022-03-18 13:37:27 +03:00
Carlos Ibáñez
cd8206ad9b Also honor the user-defined UpstreamMode for the internal DNS proxy 2022-03-16 19:09:36 +01:00
Eugene Burkov
573cbafe3f Pull request: 3597 arpdb
Merge in DNS/adguard-home from 3597-wrt-netlink to master

Updates #3597.

Squashed commit of the following:

commit 1709582cd204bb80c84775feabae8723ed3340f6
Merge: 0507b6ed e7b3c996
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 15 20:25:18 2022 +0300

    Merge branch 'master' into 3597-wrt-netlink

commit 0507b6ede1162554ca8ac7399d827264aca64f98
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 15 20:21:29 2022 +0300

    all: imp code

commit 71f9758d854b3e2cf90cbd3655ae4818cfbcf528
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 9 18:03:48 2022 +0500

    aghnet: imp naming

commit c949e765104f130aa3e5ba465bdebc3286bebe44
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 9 17:26:30 2022 +0500

    all: imp code, docs

commit cf605ddb401b6e7b0a7a4bb1b175a4dc588d253a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 8 15:33:52 2022 +0500

    all: imp code, docs

commit 2960c6549a7e4944cc0072ca47a0cd4e82ec850e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Sun Mar 6 21:34:58 2022 +0500

    all: imp code & docs, fix tests

commit 29c049f3aee91a826c3416961686396d562a7066
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 2 20:45:34 2022 +0300

    all: add arpdb
2022-03-15 20:57:46 +03:00
bakito
c346216424 correct openapi schema 2022-03-12 12:56:54 +01:00
Eugene Burkov
e7b3c9969b Pull request: decr optimistic ttl
Merge in DNS/adguard-home from 2145-optimistic-ttl to master

Updates #2145.

Squashed commit of the following:

commit 81e5aba650980403d70d6756aebe73af228fe11a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 9 18:34:50 2022 +0500

    all: upd proxy
2022-03-09 16:59:31 +03:00
Ainar Garipov
dc0d081b47 Pull request: Fix unsupported regex for QQ blocked rules
Updates #3717.

* commit 'ded9842cd7fbbae0c3a55cd1f468ade22cab0d97':
  Fix unsupported regex for QQ blocked rules
2022-03-07 19:15:12 +03:00
Ainar Garipov
ded9842cd7 Merge branch 'master' into 3717-fix-qq-blocked 2022-03-07 19:11:03 +03:00
Ainar Garipov
89d9b03dfe Pull request: all: upd go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 3b6c960afe073223dd73eaf650561509f0d13019
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Mar 4 15:45:15 2022 +0300

    all: upd go
2022-03-04 15:50:35 +03:00
Ainar Garipov
f1d05a49f0 Pull request: client: fix en i18n
Merge in DNS/adguard-home from fix-en-i18n to master

Squashed commit of the following:

commit 406e6ece25c6581937a7c7bed34950d7bb2a856e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Mar 3 19:07:02 2022 +0300

    client: imp unsafe port msg

commit bd117695be387617facbe57479f0e3d6e81bf151
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Mar 3 18:51:48 2022 +0300

    client: fix more

commit cd9ed04d019b26960541569c38bf40ee252da94b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Mar 3 18:30:27 2022 +0300

    client: fix en i18n
2022-03-03 20:45:14 +03:00
Eugene Burkov
9a764b9b82 Pull request: 3978 Query Log ECS
Merge in DNS/adguard-home from 3978-ecs-ip to master

Updates #3978.

Squashed commit of the following:

commit 915b94afa4b6d90169f73d4fa171bc81bcc267a7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Mar 3 17:46:40 2022 +0300

    all: rm dot

commit 2dd2ed081b199de7e5d8269dae5d08d53b5eea6d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Mar 3 17:42:45 2022 +0300

    client: imp txt

commit 8d5a23df739f0b650f9f3870141fd83e8fa0c1e0
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Mar 3 14:36:04 2022 +0300

    client: imp text

commit 69c856749a20144822ef3f1f67c5f3e3c24f5374
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Mar 3 14:24:56 2022 +0300

    client: imp description

commit cd0150128ad29d1874492735a5d621c0803ad0bd
Merge: 28181fbc e0b557ed
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Mar 2 21:02:16 2022 +0300

    Merge branch 'master' into 3978-ecs-ip

commit 28181fbc79eb22e7fd13cbd1d5a3c040af9fa2a4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Mar 2 20:45:50 2022 +0300

    client: show ecs

commit cdc5e7f8c4155b798426d815eed0da547ef6efb7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 17 20:15:56 2022 +0300

    openapi: fix milestone

commit 404d6d822fa1ba4ed4cd41d92d4c1b805342fe55
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 17 20:08:21 2022 +0300

    all: fix deps, docs

commit 8fb80526f1e251d3b7b193c53a4a6dee0e22c145
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 17 19:39:34 2022 +0300

    all: add querylog ecs backend
2022-03-03 17:52:11 +03:00
Eugene Burkov
e0b557eda2 Pull request: 4166 udp upstream
Merge in DNS/adguard-home from 4166-udp-upstream to master

Closes #4166.

Squashed commit of the following:

commit b8b6d1c7ac1e11e83c0c68e46e7f66fdc6043839
Merge: e5f01273 ea6e033d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 1 20:36:40 2022 +0300

    Merge branch 'master' into 4166-udp-upstream

commit e5f0127384d84c4395da5b79a1fd4a47acbe122c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 1 19:41:33 2022 +0300

    client: upd upstream examples

commit bd974f22231f11f4c57e19d6d13bc45dbfdf2fdf
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Mar 1 18:36:10 2022 +0300

    all: upd proxy

commit badf1325090ecd1dc86e42e7406dfb6653e07bf1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Feb 4 14:36:50 2022 +0300

    WIP
2022-03-02 14:21:33 +03:00
Ainar Garipov
ea6e033dae Pull request: all: upd chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 5933ed86b41646c61a595c94068890a1675a3ad1
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Mar 1 20:31:47 2022 +0300

    all: upd chlog
2022-03-01 20:35:44 +03:00
Ainar Garipov
3afe7c3daf Pull request: client: upd i18n
Merge in DNS/adguard-home from 2643-upd-i18n to master

Squashed commit of the following:

commit 1f36b960877ee2c30319e26132db892fb8a2ef71
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Mar 1 15:05:24 2022 +0300

    client: upd i18n
2022-03-01 15:10:48 +03:00
Ainar Garipov
afbc7a72e3 Pull request: client: fix link in client form
Updates #4244.

Squashed commit of the following:

commit 20d558e9e6935555a13e1aebc7d364e6f1910e9e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Feb 28 19:01:32 2022 +0300

    client: fix link in client form
2022-02-28 19:13:15 +03:00
Eugene Burkov
ff1e108bfe Pull request: 4213 add bsd syslog
Merge in DNS/adguard-home from 4213-bsd-syslog to master

Updates #4046.
Closes #4213.

Squashed commit of the following:

commit 1e57c75c4184e83b09cfd27456340ca9447791be
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 28 16:20:32 2022 +0300

    home: imp error msg

commit 63059d031153ff9b6dc9aecd9522d2ad4f8448da
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 28 15:36:37 2022 +0300

    all: imp log of changes

commit 682c3c9e8986b6bdf2d0c665c9cad4a71fd2cc83
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 28 15:29:29 2022 +0300

    home: imp code

commit 86c311a71d07823c18521890bea7c898c117466b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 28 15:03:02 2022 +0300

    home: add bsd syslog
2022-02-28 16:26:45 +03:00
Peter Dave Hello
b29f320fd4 Simplify Dockerfile Alpine Linux apk usage
Remove additional `--update` and manual clean up for apk in Dockerfile
2022-02-23 22:42:28 +08:00
Ainar Garipov
773b80a969 Pull request: client: upd i18n
Updates #2643.

Squashed commit of the following:

commit 048c245ab682f0799c2f7a7f0435a1898a482392
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Feb 21 16:58:10 2022 +0300

    client: upd i18n
2022-02-21 17:06:12 +03:00
fernvenue
975995a9c7 Update blocked.go
Add some items to the filter list for Cloudflare services.

- argotunnel.com [src](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/configuration/ports-and-ips)
- cloudflare-ipfs.com [src](https://developers.cloudflare.com/distributed-web/ipfs-gateway)
- cloudflare-quic.com [src](https://cloudflare-quic.com/)
- cloudflareapps.com [src](https://www.cloudflare.com/apps/)
- cloudflarewarp.com [src](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/partners/hexnode)
- pages.dev [src](https://pages.cloudflare.com/)
- trycloudflare.com [src](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-terms#quick-tunnels)
- videodelivery.net [src](https://developers.cloudflare.com/stream/viewing-videos/using-the-stream-player)
- workers.dev [src](https://workers.cloudflare.com/)
2022-02-17 06:54:38 +08:00
Eugene Burkov
f131067278 Pull request: 3381 check private domains
Merge in DNS/adguard-home from 3381-validate-privateness to master

Closes #3381.

Squashed commit of the following:

commit 21cb12d10b07bb0bf0578db74ca9ac7b3ac5ae14
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 14 16:29:59 2022 +0300

    all: imp code, docs

commit 39793551438cbea71e6ec78d0e05bee2d8dba3e5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 14 15:08:36 2022 +0300

    all: imp code, docs

commit 6b71848fd0980582b1bfe24a34f48608795e9b7d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 14 14:22:00 2022 +0300

    all: check private domains
2022-02-14 16:56:14 +03:00
Ainar Garipov
b43aa86cae Pull request: client: use strict search by client
Updates #4271.

Squashed commit of the following:

commit 10a113126306fce51b4dd10a696b8c7d3213a445
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Feb 11 18:37:18 2022 +0300

    client: more strict search

commit 7aa24129195c0eba442bfe43564469fdb2a5b138
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Feb 11 18:22:18 2022 +0300

    client: use strict search by client
2022-02-11 18:56:08 +03:00
Ainar Garipov
6824eec308 Pull request: scripts: imp mips compat
Updates #4269.

Squashed commit of the following:

commit f633e875f4f0ab767a0537d9bfe95734823f8a51
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Feb 11 17:33:53 2022 +0300

    scripts: imp mips compat
2022-02-11 17:41:36 +03:00
Ainar Garipov
18079ca1bb Pull request: all: upd go
Merge in DNS/adguard-home from upd-go to master

Squashed commit of the following:

commit 5540d0afd7579a2f2d543afaa96008d12ce1bf3e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Feb 11 16:15:35 2022 +0300

    all: upd go
2022-02-11 16:30:09 +03:00
Ainar Garipov
a1f29c31b9 Pull request: client: imp validation texts
Merge in DNS/adguard-home from imp-i18n to master

Squashed commit of the following:

commit c58c00383824a88ea8e22a845e422ba2ff7d225e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Feb 10 20:21:00 2022 +0300

    client: imp validation texts
2022-02-10 20:42:39 +03:00
Eugene Burkov
0ef8344178 Pull request: 3503 password policy
Merge in DNS/adguard-home from 3503-password-policy to master

Closes #3503.

Squashed commit of the following:

commit 1f03cd9ef6e76a691ae383d6ba4b7f851eabddb8
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 10 18:24:59 2022 +0300

    client: imp msg

commit e164ae2544284cf9a1d3333c50b68e361f78ce2a
Merge: b7efd764 f53f48cc
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 10 16:52:01 2022 +0300

    Merge branch 'master' into 3503-password-policy

commit b7efd7640ec0fa3deac5290f8306ce5142428718
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Feb 10 16:17:59 2022 +0300

    client: remove empty line

commit f19aba6cb579d2c4681675c881000c8f16257ab9
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Feb 10 16:09:14 2022 +0300

    client: validate password length

commit a6943c94483306ecfc0d1431d576d42053823b61
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Feb 4 18:57:02 2022 +0300

    all: fix docs again

commit 9346bb6c393af0799a79b228285acdd8f8799b83
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Feb 4 18:54:15 2022 +0300

    openapi: fix docs

commit a8016443237c130f69108970ddfc77ef71126be6
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Feb 4 18:25:55 2022 +0300

    all: validate passwd runes count
2022-02-10 18:30:41 +03:00
Ainar Garipov
f53f48cc33 Pull request: all: use "ClientID" consistently
Closes #4242.
Updates #4244.

Squashed commit of the following:

commit 3a2296a7a70006cf6777e54ce1e2fc3559aec5be
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Feb 9 21:23:43 2022 +0300

    client: imp more

commit 3aacc8696ac694ff459fd33ba7beeeabd2569a55
Merge: b28a120f 2a5b5f19
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Feb 9 21:21:59 2022 +0300

    Merge branch 'master' into 4244-imp-i18n

commit b28a120fe9aa68507b173717059b7b259097d6a4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Feb 9 14:49:49 2022 +0300

    client: imp texts more

commit c1fa6ca336f2d5bdcc67836f348be4843a0a8f79
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 8 21:12:15 2022 +0300

    all: use "ClientID" consistently
2022-02-10 15:42:59 +03:00
Ainar Garipov
2a5b5f1927 Pull request: scripts: imp snap building
Closes #4239.

Squashed commit of the following:

commit 942c03bd88b81d813a12136a135ca6dc003fedf3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Feb 9 20:38:36 2022 +0300

    scripts: imp snap building
2022-02-09 21:21:34 +03:00
Ainar Garipov
b290eddc70 Pull request: scripts: imp install, sup wget
Closes #3637.

Squashed commit of the following:

commit 453094d9a016b0d5a7b7f584b2b492244703064d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Feb 9 19:44:51 2022 +0300

    scripts: fix wget

commit d16f8d9ad4ac62ce0bc88bab7ceb24a4089e93c3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Feb 9 19:17:22 2022 +0300

    scripts: imp install, sup wget
2022-02-09 19:51:26 +03:00
Ainar Garipov
6d0a43aad6 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit e2f9e9f52a424b7c13beebfc2f8fea3814d3b2f4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 8 13:48:17 2022 +0300

    client: upd i18n
2022-02-08 13:53:58 +03:00
Eugene Burkov
1bc2186c2d Pull request: upd changelog
Merge in DNS/adguard-home from changelog-right-now to master

Squashed commit of the following:

commit b391a1f8ac666de67ad6d00c9cbf6e90614f16c7
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 7 20:18:25 2022 +0300

    fix changelog

commit 39878b75c9ecc91668be759d4cc033961c91c2c5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 7 20:15:43 2022 +0300

    all: log changes
2022-02-07 20:23:07 +03:00
Eugene Burkov
6584c300b8 Pull request: 4254 fix optimistic
Merge in DNS/adguard-home from 4254-fix-optimistic to master

Updates #4254.

Squashed commit of the following:

commit 652e2c2ab9405b9a6ed5d153b6b508e3b87ce66e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Feb 7 18:55:34 2022 +0300

    all: upd proxy
2022-02-07 19:01:51 +03:00
Ainar Garipov
dc480ae70f Pull request #1432: all: add gh milestone links to chlog
Merge in DNS/adguard-home from chlog-ms-links to master

Squashed commit of the following:

commit 97156f1452a7713e5e8d66a9b5eeac25fb97ab04
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Feb 4 17:56:58 2022 +0300

    all: add gh milestone links to chlog
2022-02-04 18:18:28 +03:00
Eugene Burkov
e783564084 Pull request: 4238 response filtering
Merge in DNS/adguard-home from 4238-response-filtering to master

Closes #4238.

Squashed commit of the following:

commit 2113f83c617a396a39f910bb8df939364fedf391
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 3 21:04:25 2022 +0300

    dnsforward: restore a bit

commit f78607ed97892557c6bd6f3c3332f0bae01c1987
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 3 20:52:45 2022 +0300

    all: imp code, docs

commit 646074ce141e8ac12a972f46d071389a2ce124e4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 3 20:37:05 2022 +0300

    all: log changes

commit 94556d810549370fc455bcf14537fa1d2783eed1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Feb 3 20:30:57 2022 +0300

    all: imp test upstream, cover resp filtering

commit 63e7721822a049734a390c7d7ea6d8416a43c8b5
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Feb 1 21:58:08 2022 +0300

    all: filter response by rrtype
2022-02-03 21:19:32 +03:00
Ainar Garipov
0ee34534c6 Pull request: all: switch to SOURCE_DATE_EPOCH for source date
Closes #4221.

Squashed commit of the following:

commit c84a5699280cf4c0b1c2ed034a44f05ffc74d30d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 1 21:13:30 2022 +0300

    all: switch to SOURCE_DATE_EPOCH for source date
2022-02-01 21:44:01 +03:00
Ainar Garipov
9146df5493 Pull request: scripts: add link to platforms page
Closes #4209.

Squashed commit of the following:

commit 12d99e7454ff01e00f29e51d002147a04a77a2b3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 1 19:55:31 2022 +0300

    scripts: imp docs

commit 12c4dabea2bac04601202a05d0c820ff2e32c93e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 1 19:49:16 2022 +0300

    scripts: add link to platforms page
2022-02-01 20:00:32 +03:00
Ainar Garipov
76fa60498e Pull request: all: imp ann url
Updates #4209.

Squashed commit of the following:

commit 0c31a59c5bf6bcc27a4779adf226d9a1ac9eece1
Merge: 803f32db 8455940b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 1 19:33:55 2022 +0300

    Merge branch 'master' into 4209-ann-url

commit 803f32dbc7276077a4374ed0f5e0a1fa36f91c9b
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Feb 1 14:46:47 2022 +0300

    client: add manual update link to update topline

commit ca375b52fa53503a3987b9723eb9a1d74878e890
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jan 31 20:49:42 2022 +0300

    all: imp ann url
2022-02-01 19:42:07 +03:00
Ainar Garipov
8455940b59 Pull request: all: upd quic-go
Merge in DNS/adguard-home from upd-quic-go to master

Squashed commit of the following:

commit c7f0ab02a54ac435b6e0040dd221d819cf3ecdd4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 1 14:33:26 2022 +0300

    all: upd quic-go
2022-02-01 14:39:05 +03:00
Ildar Kamalov
2d46aa7121 Pull request: 4212 fix query log search results
Closes #4212.

Squashed commit of the following:

commit cd854e5bf71953c753c690c28b5571f2c8b1ea0f
Merge: 8532ca80 bf9b35b9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jan 31 20:10:17 2022 +0300

    Merge branch 'master' into 4212-logs

commit 8532ca80d135e4c306ac4d0c999475d77ba51a02
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Jan 31 19:22:52 2022 +0300

    fix lint

commit 1a85074180d95d7a7aad854c75a7a811aee719e9
Author: Ildar Kamalov <ik@adguard.com>
Date:   Mon Jan 31 19:14:54 2022 +0300

    client: fix query log search results
2022-01-31 20:14:09 +03:00
Ainar Garipov
bf9b35b9c6 Pull request: client: upd manual upd link
Closes #4208.

Squashed commit of the following:

commit 4ae27b5f7cd6b0f4ec0c9041d92c4d1ac00dd622
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jan 31 18:34:18 2022 +0300

    client: upd manual upd link
2022-01-31 18:40:21 +03:00
Eugene Burkov
f9aa5ae86a Pull request: 4216 simpl hosts
Merge in DNS/adguard-home from 4216-hosts-explode to master

Updates #4216.

Squashed commit of the following:

commit a6ed131923496d9bbd1d80c652d4584951528c4a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jan 27 19:11:23 2022 +0300

    aghnet: imp docs

commit 25cca065c3c6dc227288cdd0803dc3ff8f9c3ca4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jan 27 18:53:16 2022 +0300

    aghnet: simpl hosts container
2022-01-27 20:18:52 +03:00
Ainar Garipov
642d68c482 Pull request: scripts: do not require sudo where not needed
Merge in DNS/adguard-home from fix-install to master

Squashed commit of the following:

commit 54c3b18c946c88def396f82a941b0b35eb6ef60d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Jan 26 19:08:48 2022 +0300

    scripts: do not require sudo where not needed
2022-01-26 19:19:16 +03:00
Ainar Garipov
5ff7cdbac8 Pull request: all: fix chlog, imp
Merge in DNS/adguard-home from fix-chlog to master

Squashed commit of the following:

commit e69da2f574923b95ac3d0fa9057fffe2a716b5be
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Jan 26 14:41:04 2022 +0300

    all: fix chlog, imp
2022-01-26 14:47:50 +03:00
Ainar Garipov
504c54ab0e Pull request: all: imp tls cipher selection
Closes #2993.

Squashed commit of the following:

commit 6c521e56de024bf92ab7489ed2289da6bce1f3dc
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jan 25 21:39:48 2022 +0300

    all: imp tls cipher selection
2022-01-26 14:39:34 +03:00
Ainar Garipov
90c17c79de Pull request: home: mv local domain name to dhcp setts
Closes #3367.

Squashed commit of the following:

commit e2cabcac2d91af24b9e5f4ac8f78daf5e8d339b9
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jan 25 19:35:31 2022 +0300

    home: imp test, skip dhcp test on windows

commit e58053f11e081630ad4e8d1e77a7a74226029db0
Merge: ff2fe87d 0b72bcc5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jan 25 19:10:25 2022 +0300

    Merge branch 'master' into 3367-dhcp-local-domain-name

commit ff2fe87d8cab12e60d045be636e366e392d6d96f
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Dec 30 20:55:34 2021 +0300

    home: mv local domain name to dhcp setts
2022-01-25 19:47:02 +03:00
Eugene Burkov
0b72bcc5a1 Pull request: 1730 bogus cidr
Merge in DNS/adguard-home from 1730-bogus-cidr to master

Closes #1730.

Squashed commit of the following:

commit 0be54259ca4edb8752e9f7e5ea5104a2b51ed440
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jan 25 18:50:01 2022 +0300

    all: imp log of changes

commit 59fb7a8c469216823ff54621ec40a4d084836132
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jan 25 18:46:34 2022 +0300

    all: log changes

commit 9206b13dd715fdf1180d1d572d1b80024b9e6592
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jan 25 18:41:26 2022 +0300

    all: upd dnsproxy
2022-01-25 18:54:37 +03:00
Ainar Garipov
dc14f89c9f Pull request: 4162 fix theme color
Updates #4162.

* commit '2263adbbe0c14cb914451d131d94ab6fd236852c':
  Update login.html
  Update install.html
  Update index.html
2022-01-25 18:25:47 +03:00
Ainar Garipov
2263adbbe0 Merge branch 'master' into 4162-fix-theme-color 2022-01-25 18:20:37 +03:00
Ainar Garipov
e29261516f Pull request: all: upd chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit ad258a27abfce7b1060d9937b446f6e794f8c172
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jan 25 18:15:59 2022 +0300

    all: upd chlog
2022-01-25 18:20:26 +03:00
Ainar Garipov
f12eaf29a2 Pull request: client: upd i18n
Updates #2643.

Squashed commit of the following:

commit bd6bc0aeaa1bd928ae39642691b913befbc0f396
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jan 25 14:04:10 2022 +0300

    client: upd i18n
2022-01-25 14:08:41 +03:00
Ainar Garipov
3e2ab87293 Pull request: all: upd dnsproxy
Merge in DNS/adguard-home from imp-logs to master

Squashed commit of the following:

commit bff4c3757b61db63320af72e1af56649f6f70a50
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jan 24 17:25:34 2022 +0300

    all: upd dnsproxy
2022-01-24 17:39:39 +03:00
Eugene Burkov
41e8db4221 Pull request: client: upd i18n
Merge in DNS/adguard-home from upd-i18n to master

Squashed commit of the following:

commit e3dfb6cd66813d45591f74c9cdddab8b61143db3
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Jan 24 14:52:19 2022 +0300

    client: upd i18n
2022-01-24 15:02:47 +03:00
Eugene Burkov
3f5605c42e Pull request: 2846 cover aghnet vol.1
Merge in DNS/adguard-home from 2846-cover-aghnet-vol.1 to master

Updates #2846.

Squashed commit of the following:

commit 368e75b0bacb290f9929b8a5a682b06f2d75df6a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jan 21 19:11:59 2022 +0300

    aghnet: imp tests

commit 8bb3e2a1680fd30294f7c82693891ffb19474c6a
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jan 21 18:27:06 2022 +0300

    aghnet: rm unused test

commit 28d8e64880f845810d0af629e5d1f06b9bde5b28
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Fri Jan 21 18:18:22 2022 +0300

    aghnet: cover with tests
2022-01-21 19:21:38 +03:00
Ildar Kamalov
f7ff02f3b1 Pull request: 3971 fix client id error message
Updates #3971

Squashed commit of the following:

commit f6b855a16daaec7bfca1e1653b4b9c4180c2d80e
Merge: 0cb31dbb 5ec4a4da
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Jan 20 18:19:20 2022 +0300

    Merge branch 'master' into 3971-client-id

commit 0cb31dbbea785fb5ba11a8efe2b6653aece7cd97
Author: Natalia Sokolova <n.sokolova@adguard.com>
Date:   Thu Jan 20 11:41:06 2022 +0300

    client/src/__locales/en.json edited online with Bitbucket

commit 7999f260d83adcb2fc8d5d5e40cb1934e0333873
Author: Ildar Kamalov <ik@adguard.com>
Date:   Wed Jan 19 15:58:18 2022 +0300

    client: fix client id error message
2022-01-20 18:24:21 +03:00
Eugene Burkov
5ec4a4dab8 Pull request: 4142 stats panic
Merge in DNS/adguard-home from 4142-stats-panic to master

Updates #4142.

Squashed commit of the following:

commit bf168f50ac86bdfdab73bf7285705f09f87b6c72
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jan 20 17:13:41 2022 +0300

    stats: imp more

commit bb638211da7d0c51959ded2dacb72faea00befb4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jan 20 17:09:31 2022 +0300

    stats: imp code quality

commit 27ac52f15e4e0f4112ce7a6b47b03f963463393e
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jan 20 17:00:09 2022 +0300

    stats: recover panic on init

commit 1ffcebbb9062438170b010e1c7bad3c6cef4cfc1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jan 20 14:19:01 2022 +0300

    all: fix some typos
2022-01-20 17:19:09 +03:00
Ainar Garipov
13871977f9 Pull request: all: upd dnsproxy
Updates #4128.

Squashed commit of the following:

commit c177750f3f4d3ae29133154eca4dfe4051de1310
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Jan 20 17:01:02 2022 +0300

    all: upd dnsproxy
2022-01-20 17:05:59 +03:00
Ildar Kamalov
2fdda8a22c Pull request: 4143 sort client ids
Merge in DNS/adguard-home from 4143-clients-sort to master

Updates #4143.

Squashed commit of the following:

commit a4b547eb46a54bdfdc7d342fab5f8ecfa54f5d06
Merge: d369c11c d82b2902
Author: Ildar Kamalov <ik@adguard.com>
Date:   Thu Jan 20 11:58:42 2022 +0300

    Merge branch 'master' into 4143-clients-sort

commit d369c11c69665510043f63e0283e1ca1b2974289
Author: Ildar Kamalov <ik@adguard.com>
Date:   Wed Jan 19 16:53:39 2022 +0300

    client: fix sort ip method

commit d767a1199c37ad9df7f3bc2d362d840b0226d836
Author: Ildar Kamalov <ik@adguard.com>
Date:   Wed Jan 19 16:23:23 2022 +0300

    client: sort client ids
2022-01-20 12:23:59 +03:00
Eugene Burkov
d82b290251 Pull request: 4095 fix duplicating port
Merge in DNS/adguard-home from 4095-port-3000 to master

Updates #4095.

Squashed commit of the following:

commit 968cc806264898523d29c4ec20b3ce6a69abb09c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 19 20:26:33 2022 +0300

    home: fix typo

commit 03c6798db6a4ca726a7b5a683e475a8a74f79fe1
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 19 20:20:34 2022 +0300

    all: more naming imps

commit d3d417fcb24a1859f53a743b3533faa81b6bef19
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 19 20:10:14 2022 +0300

    aghalgo: rename into aghalg

commit 6e106006d07a747ff4ddf1271532106c3a3e2b20
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 19 20:05:43 2022 +0300

    all: imp names, docs

commit 12c8d9fde0d0cc5b953da30b042171ba7c53da5d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 19 19:57:21 2022 +0300

    all: fix log of changes

commit 49c7a705b9b1ad8f2ef68fa807f9b6b8c447b421
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 19 19:51:00 2022 +0300

    home: fix duplicating port 3000
2022-01-19 20:45:50 +03:00
Ainar Garipov
eb15304ff4 scripts: imp sh lint 2022-01-19 15:06:23 +03:00
Eugene Burkov
1a3bf5ebda Pull request: 4133 empty rewrite
Merge in DNS/adguard-home from 4133-empty-rewrite to master

Closes #4133.

Squashed commit of the following:

commit 4d2313c211c3955922d340c006b323c65e5e5ba4
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jan 18 21:36:21 2022 +0300

    all: log changes

commit 5b8e392a2225c215fc117223d3f6553f8bdf21cd
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jan 18 21:32:57 2022 +0300

    all: upd urlfilter
2022-01-19 14:19:12 +03:00
Agneev Mukherjee
15956f4511 Update login.html 2022-01-18 18:38:57 +05:30
Agneev Mukherjee
09d0ce4578 Update install.html 2022-01-18 18:38:37 +05:30
Agneev Mukherjee
9735a35123 Update index.html 2022-01-18 18:38:22 +05:30
Ainar Garipov
813a06d09a Pull request: home: show version in install api
Closes #4026.

Squashed commit of the following:

commit bcd1315a10e819daee3aee323427d90a27860b4a
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jan 18 14:57:49 2022 +0300

    openapi: fix example

commit b56e27c5ac1fc7c3f595057d77607479d72ec50a
Author: Ildar Kamalov <ik@adguard.com>
Date:   Tue Jan 18 14:55:51 2022 +0300

    client: show version on install page

commit 95dfbfaa1235deef7b55e51457d11c677f6ef6b5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jan 18 14:29:08 2022 +0300

    home: show version in install api
2022-01-18 15:05:34 +03:00
Eugene Burkov
061136508e Pull request: 4120 service domain validation
Merge in DNS/adguard-home from 4120-fix-services to master

Closes #4120.

Squashed commit of the following:

commit ca2e5faf64f567cc6647a300181712236158e69d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jan 18 14:14:54 2022 +0300

    dnsforward: imp docs

commit 9ed5f536e691dcdee5b7c94e161c738d31ff8588
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Tue Jan 18 13:50:33 2022 +0300

    dnsforward: fix reverse domain validation
2022-01-18 14:20:25 +03:00
Ainar Garipov
008f58c863 Pull request: all: upd dnsproxy
Updates #4065.

Squashed commit of the following:

commit d65d2e3a783910b9cb95c5bcfbcf1af11da666d5
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Jan 17 18:47:17 2022 +0300

    all: upd dnsproxy
2022-01-17 18:54:00 +03:00
Eugene Burkov
0e4ffd339f Pull request: 4074 fix upstream test
Merge in DNS/adguard-home from 4074-upstream-test to master

Updates #4074.

Squashed commit of the following:

commit 0de155b1e175a892b259791ff6d6e6f351bcfcf2
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 12 19:20:01 2022 +0500

    dnsforward: fix upstream test
2022-01-13 15:05:44 +03:00
Eugene Burkov
1458600c37 Pull request: 4079 fix hosts container aliases
Merge in DNS/adguard-home from 4079-hosts-again to master

Updates #4079.

Squashed commit of the following:

commit 6aa8cbf32e8e47ba46bf5fba7681a10b68b4bc01
Merge: 19dba371 34c95f99
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 12 14:05:30 2022 +0500

    Merge branch 'master' into 4079-hosts-again

commit 19dba371cc30ab8b75b0116833f4ecf0ef0f182f
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 12 14:05:20 2022 +0500

    aghnet: imp docs

commit 9f341eb8ee4ba8468240bc3eeeb4951a3f7f5e6d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Jan 10 18:44:17 2022 +0500

    aghnet: fix races

commit fd66191c7637c8584711e5bb8186494327ce0f87
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Jan 6 17:21:14 2022 +0500

    aghnet: fix hosts container aliases
2022-01-12 12:14:59 +03:00
Eugene Burkov
34c95f99f8 Pull request: 4046 darwin service message
Merge in DNS/adguard-home from 4046-log-dir to master

Closes #4046.

Squashed commit of the following:

commit 05140550b14f477f52487c575f56428ce9e6fa10
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Wed Jan 5 17:54:11 2022 +0500

    all: add macOS service msg
2022-01-11 21:33:14 +03:00
Ainar Garipov
e9c59b098e Pull request: all: upd chlog
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 737525aa065bff7b1ec99876447bbc2f961a4c4d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 29 23:23:52 2021 +0300

    all: upd chlog
2021-12-30 13:36:04 +03:00
Ainar Garipov
a0bb5ce8a4 Pull request: all: upd dnsproxy
Updates #4042.

Squashed commit of the following:

commit 7531b974a6142fafee825ce9ca2ea202619b95af
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 29 22:01:54 2021 +0300

    all: upd dnsproxy
2021-12-29 22:09:46 +03:00
Ainar Garipov
01947bedb4 Pull request: all: upd chlog, bamboo
Merge in DNS/adguard-home from upd-chlog to master

Squashed commit of the following:

commit 2607bd4f6734735c6b100e657a121726783f7ec4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 29 20:26:16 2021 +0300

    all: fmt chlog

commit fc379e379515a2bc5b2cd8e8324a95c49b908773
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 29 20:24:16 2021 +0300

    all: upd chlog, bamboo
2021-12-29 20:31:22 +03:00
Ainar Garipov
a6ca824064 Pull request: client: upd i18n
Updates #2643.

Squashed commit of the following:

commit bc3de579e00762bc2c4b62fb1f7ba73837c10bff
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 29 15:37:29 2021 +0300

    client: upd si-lk i18n again

commit 2cd5436b6e8c1918855aff58dd0958fe47b47e90
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 29 15:08:21 2021 +0300

    client: upd i18n
2021-12-29 15:44:48 +03:00
Ainar Garipov
380cff07f2 Pull request: all: opt log levels more
Updates #3929.

Squashed commit of the following:

commit 0d4aadeff1c4de1440795faf83eb072c46392ff3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Dec 28 16:34:44 2021 +0300

    all: opt log levels more
2021-12-28 17:25:43 +03:00
Ainar Garipov
d2ce06e1ca Pull request: all: imp uniq validation err msgs
Updates #3975.

Squashed commit of the following:

commit f8578c2afb1bb5786e7b855a1715e0757bc08510
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Dec 28 16:39:13 2021 +0300

    aghalgo: imp docs

commit d9fc625f7c4ede2cf4b0683ad5efd0ddf9b966b1
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Dec 28 16:21:24 2021 +0300

    all: imp uniq validation err msgs
2021-12-28 17:00:52 +03:00
Ainar Garipov
2ed1f939b5 Pull request: aghnet: fix ipset init errors
Updates #4027.

Squashed commit of the following:

commit 9ac0cc27ca94e630cc321c90b60b271499af4d9b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 27 20:26:22 2021 +0300

    aghnet: fix ipset init errors
2021-12-27 20:54:00 +03:00
Ainar Garipov
dea8a585f8 Pull request: filtering: fix rw to subdomain
Updates #4016.

Squashed commit of the following:

commit 83bb15c5a5098103cd17e76b49f456fb4fa73408
Merge: 81905503 313555b1
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 27 19:36:44 2021 +0300

    Merge branch 'master' into 4016-rw-subdomain

commit 81905503c977c004d7ddca1d4e7537bf76443a6e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 27 19:35:51 2021 +0300

    filtering: fix self reqs

commit b706f481f00232d28dade0bd747a7496753c7deb
Merge: 29cf83de 661f4ece
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 27 19:13:08 2021 +0300

    Merge branch 'master' into 4016-rw-subdomain

commit 29cf83de8e3ff60ea1c471c2a161055b1377392d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 27 19:07:08 2021 +0300

    all: fix docs

commit 9213fd8ec2b81e65b1198ab241400065f14684b1
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Dec 27 18:44:06 2021 +0300

    filtering: fix rw to subdomain
2021-12-27 19:40:39 +03:00
Eugene Burkov
313555b10c Pull request: 3868 log freebsd reload fix
Merge in DNS/adguard-home from 3868-changelog to master

Squashed commit of the following:

commit 92ccf7422c4c1342c160e4806cbf9fb17c22749b
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Dec 27 19:22:47 2021 +0300

    all: log more changes
2021-12-27 19:29:42 +03:00
Eugene Burkov
661f4ece48 Pull request: 3868 imp service uninstall
Merge in DNS/adguard-home from 3868-imp-uninstall to master

Closes #3868.
Updates #3457.

Squashed commit of the following:

commit 6f50713407980c27e5b14bef4dc8839e134ec5c8
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Dec 27 19:06:13 2021 +0300

    all: imp openwrt

commit 59f058f8ec7f5ac8cb795bf837c396601652a6ff
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Dec 27 17:26:32 2021 +0300

    all: imp code && docs

commit bab95366b0ffa40d96de5bb8116ec14606e310ed
Merge: 92ebc210 52f36f20
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Dec 27 17:06:25 2021 +0300

    Merge branch 'master' into 3868-imp-uninstall

commit 92ebc210f04d5e02c3eef726017a0d5687f4bc4c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Mon Dec 27 13:18:58 2021 +0300

    home: imp freebsd script & log changes

commit 583ffc256e9f87cf19da2eca8bbefc9e00ea86cc
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Dec 16 14:08:46 2021 +0300

    all: imp service uninstall
2021-12-27 19:12:40 +03:00
Ainar Garipov
52f36f201e Pull request: filtering: restore rewrite behavior with other question types
Updates #4008.

Squashed commit of the following:

commit babbc29331cfc2603c0c3b0987f5ba926690ec3e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Dec 24 18:46:20 2021 +0300

    filtering: restore rewrite behavior with other question types
2021-12-24 20:14:36 +03:00
Ainar Garipov
46cd974e2a Pull request: all: opt log levels
Updates #3929.

Squashed commit of the following:

commit bfb2361d81a0667c36193484ca125d08e5638b21
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Dec 24 17:23:39 2021 +0300

    all: opt log levels
2021-12-24 17:29:57 +03:00
Eugene Burkov
201ef10de6 Pull request: 3987 Fix nil pointer dereference
Merge in DNS/adguard-home from 3987-fix-nil-deref to master

Updates #3987.
Updates #2846.

Squashed commit of the following:

commit d653e09ce88a8b10b2a17fea1563c419895c714c
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Dec 23 20:08:51 2021 +0300

    all: log changes

commit c47a4eeacf76fa7df2d01af166dee9d52528ac58
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Dec 23 19:22:39 2021 +0300

    aghnet: fix windows tests

commit 9c91f14ccfe967ada3c00ddb86d673238e52c12d
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Dec 23 19:09:49 2021 +0300

    aghnet: imp code readability, docs

commit d3df15d1892e4ebfe7f8ea7144e39a0c712fce52
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Dec 23 18:47:28 2021 +0300

    aghnet: fix nil pointer dereference
2021-12-23 20:16:08 +03:00
Eugene Burkov
d9df7c13be Pull request: 3998 Make hosts rules match exactly
Merge in DNS/adguard-home from 3998-fix-hosts-gen to master

Closes #3998

Squashed commit of the following:

commit b565d51afb6c292dd16accd45b7d37ed386714e8
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Dec 23 16:25:02 2021 +0300

    aghnet: make hosts rules match exactly
2021-12-23 16:35:10 +03:00
Ainar Garipov
64e751e579 Pull request: all: upd dnsproxy
Updates #3977.

Squashed commit of the following:

commit 3aaaacac102cdea04ae46b36d2dd3a3be7d50147
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Dec 23 16:15:11 2021 +0300

    all: upd dnsproxy
2021-12-23 16:25:44 +03:00
Ainar Garipov
e6e5958595 Pull request: 3945 log success
Updates #3945.

* commit 'ebe86ce00ebca3431a96a44c3616af3ac42250ab':
  home: imp auth
  Log successful login attempts in addition to failed ones
2021-12-23 13:58:28 +03:00
Eugene Burkov
ff3df0ec33 Pull request: Update miekg/dns
Merge in DNS/adguard-home from upd-dns-lib to master

Updates #2275.

Squashed commit of the following:

commit 54d0485157ac4f08830ad7d8ca9be49eef87d678
Author: Eugene Burkov <E.Burkov@AdGuard.COM>
Date:   Thu Dec 23 13:31:34 2021 +0300

    all: upd dns lib
2021-12-23 13:38:38 +03:00
Ainar Garipov
ebe86ce00e Merge branch 'master' into 3945-log-success 2021-12-22 21:29:31 +03:00
Ainar Garipov
d317e19291 home: imp auth 2021-12-22 21:27:36 +03:00
Ainar Garipov
39c4999d2d Pull request: client: imp en i18n
Merge in DNS/adguard-home from en-i18n-safe-browsing to master

Squashed commit of the following:

commit dd32a58c3761818a10386b4a1d9e6871da59c71e
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 22 17:31:35 2021 +0300

    client: imp en i18n
2021-12-22 18:14:28 +03:00
Ainar Garipov
7f55bd8461 Pull request: all: temp disable gh notifications
Merge in DNS/adguard-home from temp-disable-notify to master

Squashed commit of the following:

commit c7f1393668e4dfe8681c9ed1c6f2ef45aed9106b
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 22 17:07:37 2021 +0300

    all: temp disable gh notifications
2021-12-22 17:11:41 +03:00
Ainar Garipov
2968a65f14 Pull request: all: upd go, tools, deps
Updates #2275.
Updates #3057.

Squashed commit of the following:

commit da22ad203cec1ef2a5d0a218933ddc3ac03c2ad3
Merge: dbd7e202 779fbe79
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 22 16:26:46 2021 +0300

    Merge branch 'master' into 2275-upd-go

commit dbd7e20209ddc04198e89698b7e3c2750c4d9902
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 22 15:04:17 2021 +0300

    all: upd docker img

commit 269796e3a00f60120a6327d6501f2dde031435c4
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Dec 21 21:04:25 2021 +0300

    all: upd go, tools, deps
2021-12-22 16:34:51 +03:00
Ainar Garipov
779fbe79b8 Pull request: scripts: add network-control plug
Updates #3976.

Squashed commit of the following:

commit 49d8a3a2d333c7896530c8a44c5ef06c396b5ae0
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Dec 22 16:20:45 2021 +0300

    scripts: add network-control plug
2021-12-22 16:26:01 +03:00
Matt
da0d1cb754 Log successful login attempts in addition to failed ones 2021-12-15 23:05:51 +00:00
Zhong Lufan
ef80c07075 Fix unsupported regex for QQ blocked rules 2021-10-08 20:16:23 +08:00
574 changed files with 36522 additions and 15777 deletions

View File

@@ -7,9 +7,9 @@
'name': 'AdGuard filters issues'
'url': 'https://link.adtidy.org/forward.html?action=report&app=home&from=github'
- 'about': >
Please send requests for new blocked services and vetted filtering lists
to the Hostlists Registry repository
'name': 'Blocked services and vetted filtering rule lists: AdGuard Hostlists Registry'
Please send requests for addition to the vetted filtering lists to the
Hostlists Registry repository.
'name': 'AdGuard Hostlists Registry'
'url': 'https://github.com/AdguardTeam/HostlistsRegistry'
- 'about': >
Please use GitHub Discussions for questions

View File

@@ -1,7 +1,7 @@
'name': 'build'
'env':
'GO_VERSION': '1.19.8'
'GO_VERSION': '1.18.8'
'NODE_VERSION': '14'
'on':

View File

@@ -1,7 +1,7 @@
'name': 'lint'
'env':
'GO_VERSION': '1.19.8'
'GO_VERSION': '1.18.8'
'on':
'push':

2
.gitignore vendored
View File

@@ -12,6 +12,7 @@
/agh-backup/
/bin/
/build/*
/build2/*
/data/
/dist/
/filtering/tests/filtering.TestLotsOfRules*.pprof
@@ -25,3 +26,4 @@ leases.db
node_modules/
!/build/gitkeep
!/build2/gitkeep

View File

@@ -399,7 +399,6 @@ Response:
"protection_enabled":true,
"running":true,
"dhcp_available":true,
"protection_disabled_duration":0
"version":"undefined"
}

View File

@@ -12,520 +12,26 @@ and this project adheres to
## [Unreleased]
<!--
## [v0.108.0] - TBA
## [v0.107.29] - 2023-04-26 (APPROX.)
See also the [v0.107.29 GitHub milestone][ms-v0.107.29].
[ms-v0.107.29]: https://github.com/AdguardTeam/AdGuardHome/milestone/65?closed=1
NOTE: Add new changes BELOW THIS COMMENT.
## [v0.108.0] - TBA (APPROX.)
-->
<!--
NOTE: Add new changes ABOVE THIS COMMENT.
-->
## [v0.107.28] - 2023-04-12
See also the [v0.107.28 GitHub milestone][ms-v0.107.28].
### Added
- The ability to exclude client activity from the query log or statistics by
using the new properties `ignore_querylog` and `ignore_statistics` of the
items of the `clients.persistent` array ([#1717], [#4299]). The UI changes
are coming in the upcoming releases.
- Better profiling information when `debug_pprof` is set to `true`.
- IPv6 support in Safe Search for some services.
- The ability to make bootstrap DNS lookups prefer IPv6 addresses to IPv4 ones
using the new `dns.bootstrap_prefer_ipv6` configuration file property
([#4262]).
- Docker container's healthcheck ([#3290]).
- The new HTTP API `POST /control/protection`, that updates protection state
and adds an optional pause duration ([#1333]). The format of request body
is described in `openapi/openapi.yaml`. The duration of this pause could
also be set with the property `protection_disabled_until` in the `dns` object
of the YAML configuration file.
- The ability to create a static DHCP lease from a dynamic one more easily
([#3459]).
- Two new HTTP APIs, `PUT /control/stats/config/update` and `GET
control/stats/config`, which can be used to set and receive the query log
configuration. See `openapi/openapi.yaml` for the full description.
- Two new HTTP APIs, `PUT /control/querylog/config/update` and `GET
control/querylog/config`, which can be used to set and receive the statistics
configuration. See `openapi/openapi.yaml` for the full description.
- The ability to set custom IP for EDNS Client Subnet by using the DNS-server
configuration section on the DNS settings page in the UI ([#1472]).
- The ability to manage Safe Search for each service by using the new
`safe_search` property ([#1163]).
### Changed
- ARPA domain names containing a subnet within private networks now also
considered private, behaving closer to [RFC 6761][rfc6761] ([#5567]).
#### Configuration Changes
In this release, the schema version has changed from 17 to 20.
- Property `statistics.interval`, which in schema versions 19 and earlier used
to be an integer number of days, is now a string with a human-readable
duration:
```yaml
# BEFORE:
'statistics':
# …
'interval': 1
# AFTER:
'statistics':
# …
'interval': '24h'
```
To rollback this change, convert the property back into days and change the
`schema_version` back to `19`.
- The `dns.safesearch_enabled` property has been replaced with `safe_search`
object containing per-service settings.
- The `clients.persistent.safesearch_enabled` property has been replaced with
`safe_search` object containing per-service settings.
```yaml
# BEFORE:
'safesearch_enabled': true
# AFTER:
'safe_search':
'enabled': true
'bing': true
'duckduckgo': true
'google': true
'pixabay': true
'yandex': true
'youtube': true
```
To rollback this change, move the value of `dns.safe_search.enabled` into the
`dns.safesearch_enabled`, then remove `dns.safe_search` property. Do the same
client's specific `clients.persistent.safesearch` and then change the
`schema_version` back to `17`.
### Deprecated
- The `POST /control/safesearch/enable` HTTP API is deprecated. Use the new
`PUT /control/safesearch/settings` API.
- The `POST /control/safesearch/disable` HTTP API is deprecated. Use the new
`PUT /control/safesearch/settings` API
- The `safesearch_enabled` property is deprecated in the following HTTP APIs:
- `GET /control/clients`;
- `POST /control/clients/add`;
- `POST /control/clients/update`;
- `GET /control/clients/find?ip0=...&ip1=...&ip2=...`.
Check `openapi/openapi.yaml` for more details.
- The `GET /control/stats_info` HTTP API; use the new `GET
/control/stats/config` API instead.
**NOTE:** If interval is custom then it will be equal to `90` days for
compatibility reasons. See `openapi/openapi.yaml` and `openapi/CHANGELOG.md`.
- The `POST /control/stats_config` HTTP API; use the new `PUT
/control/stats/config/update` API instead.
- The `GET /control/querylog_info` HTTP API; use the new `GET
/control/querylog/config` API instead.
**NOTE:** If interval is custom then it will be equal to `90` days for
compatibility reasons. See `openapi/openapi.yaml` and `openapi/CHANGELOG.md`.
- The `POST /control/querylog_config` HTTP API; use the new `PUT
/control/querylog/config/update` API instead.
### Fixed
- Logging of the client's IP address after failed login attempts ([#5701]).
[#1163]: https://github.com/AdguardTeam/AdGuardHome/issues/1163
[#1333]: https://github.com/AdguardTeam/AdGuardHome/issues/1333
[#1163]: https://github.com/AdguardTeam/AdGuardHome/issues/1717
[#1472]: https://github.com/AdguardTeam/AdGuardHome/issues/1472
[#3290]: https://github.com/AdguardTeam/AdGuardHome/issues/3290
[#3459]: https://github.com/AdguardTeam/AdGuardHome/issues/3459
[#4262]: https://github.com/AdguardTeam/AdGuardHome/issues/4262
[#3290]: https://github.com/AdguardTeam/AdGuardHome/issues/4299
[#5567]: https://github.com/AdguardTeam/AdGuardHome/issues/5567
[#5701]: https://github.com/AdguardTeam/AdGuardHome/issues/5701
[ms-v0.107.28]: https://github.com/AdguardTeam/AdGuardHome/milestone/64?closed=1
[rfc6761]: https://www.rfc-editor.org/rfc/rfc6761
## [v0.107.27] - 2023-04-05
See also the [v0.107.27 GitHub milestone][ms-v0.107.27].
### Security
- Go version has been updated to prevent the possibility of exploiting the
CVE-2023-24534, CVE-2023-24536, CVE-2023-24537, and CVE-2023-24538 Go
vulnerabilities fixed in [Go 1.19.8][go-1.19.8].
### Fixed
- Query log not showing all filtered queries when the “Filtered” log filter is
selected ([#5639]).
- Panic in empty hostname in the filter's URL ([#5631]).
- Panic caused by empty top-level domain name label in `/etc/hosts` files
([#5584]).
[#5584]: https://github.com/AdguardTeam/AdGuardHome/issues/5584
[#5631]: https://github.com/AdguardTeam/AdGuardHome/issues/5631
[#5639]: https://github.com/AdguardTeam/AdGuardHome/issues/5639
[go-1.19.8]: https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8/m/OV40vnafAwAJ
[ms-v0.107.27]: https://github.com/AdguardTeam/AdGuardHome/milestone/63?closed=1
## [v0.107.26] - 2023-03-09
See also the [v0.107.26 GitHub milestone][ms-v0.107.26].
### Security
- Go version has been updated to prevent the possibility of exploiting the
CVE-2023-24532 Go vulnerability fixed in [Go 1.19.7][go-1.19.7].
### Added
- The ability to set custom IP for EDNS Client Subnet by using the new
`dns.edns_client_subnet.use_custom` and `dns.edns_client_subnet.custom_ip`
properties ([#1472]). The UI changes are coming in the upcoming releases.
- The ability to use `dnstype` rules in the disallowed domains list ([#5468]).
This allows dropping requests based on their question types.
### Changed
#### Configuration Changes
- Property `edns_client_subnet`, which in schema versions 16 and earlier used
to be a part of the `dns` object, is now part of the `dns.edns_client_subnet`
object:
```yaml
# BEFORE:
'dns':
# …
'edns_client_subnet': false
# AFTER:
'dns':
# …
'edns_client_subnet':
'enabled': false
'use_custom': false
'custom_ip': ''
```
To rollback this change, move the value of `dns.edns_client_subnet.enabled`
into the `dns.edns_client_subnet`, remove the properties
`dns.edns_client_subnet.enabled`, `dns.edns_client_subnet.use_custom`,
`dns.edns_client_subnet.custom_ip`, and change the `schema_version` back to
`16`.
### Fixed
- Obsolete value of the Interface MTU DHCP option is now omitted ([#5281]).
- Various dark theme bugs ([#5439], [#5441], [#5442], [#5515]).
- Automatic update on MIPS64 and little-endian 32-bit MIPS architectures
([#5270], [#5373]).
- Requirements to domain names in domain-specific upstream configurations have
been relaxed to meet those from [RFC 3696][rfc3696] ([#4884]).
- Failing service installation via script on FreeBSD ([#5431]).
[#1472]: https://github.com/AdguardTeam/AdGuardHome/issues/1472
[#4884]: https://github.com/AdguardTeam/AdGuardHome/issues/4884
[#5270]: https://github.com/AdguardTeam/AdGuardHome/issues/5270
[#5281]: https://github.com/AdguardTeam/AdGuardHome/issues/5281
[#5373]: https://github.com/AdguardTeam/AdGuardHome/issues/5373
[#5431]: https://github.com/AdguardTeam/AdGuardHome/issues/5431
[#5439]: https://github.com/AdguardTeam/AdGuardHome/issues/5439
[#5441]: https://github.com/AdguardTeam/AdGuardHome/issues/5441
[#5442]: https://github.com/AdguardTeam/AdGuardHome/issues/5442
[#5468]: https://github.com/AdguardTeam/AdGuardHome/issues/5468
[#5515]: https://github.com/AdguardTeam/AdGuardHome/issues/5515
[go-1.19.7]: https://groups.google.com/g/golang-announce/c/3-TpUx48iQY
[ms-v0.107.26]: https://github.com/AdguardTeam/AdGuardHome/milestone/62?closed=1
[rfc3696]: https://datatracker.ietf.org/doc/html/rfc3696
## [v0.107.25] - 2023-02-21
See also the [v0.107.25 GitHub milestone][ms-v0.107.25].
### Fixed
- Panic when using unencrypted DNS-over-HTTPS ([#5518]).
[#5518]: https://github.com/AdguardTeam/AdGuardHome/issues/5518
[ms-v0.107.25]: https://github.com/AdguardTeam/AdGuardHome/milestone/61?closed=1
## [v0.107.24] - 2023-02-15
See also the [v0.107.24 GitHub milestone][ms-v0.107.24].
### Security
- Go version has been updated, both because Go 1.18 has reached end of life an
to prevent the possibility of exploiting the Go vulnerabilities fixed in [Go
1.19.6][go-1.19.6].
### Added
- The ability to disable statistics by using the new `statistics.enabled`
property. Previously it was necessary to set the `statistics_interval` to 0,
losing the previous value ([#1717], [#4299]).
- The ability to exclude domain names from the query log or statistics by using
the new `querylog.ignored` or `statistics.ignored` properties ([#1717],
[#4299]). The UI changes are coming in the upcoming releases.
### Changed
#### Configuration Changes
In this release, the schema version has changed from 14 to 16.
- Property `statistics_interval`, which in schema versions 15 and earlier used
to be a part of the `dns` object, is now a part of the `statistics` object:
```yaml
# BEFORE:
'dns':
# …
'statistics_interval': 1
# AFTER:
'statistics':
# …
'interval': 1
```
To rollback this change, move the property back into the `dns` object and
change the `schema_version` back to `15`.
- The properties `dns.querylog_enabled`, `dns.querylog_file_enabled`,
`dns.querylog_interval`, and `dns.querylog_size_memory` have been moved to the
new `querylog` object.
```yaml
# BEFORE:
'dns':
'querylog_enabled': true
'querylog_file_enabled': true
'querylog_interval': '2160h'
'querylog_size_memory': 1000
# AFTER:
'querylog':
'enabled': true
'file_enabled': true
'interval': '2160h'
'size_memory': 1000
'ignored': []
```
To rollback this change, rename and move properties back into the `dns`
object, remove `querylog` object and `querylog.ignored` property, and change
the `schema_version` back to `14`.
### Deprecated
- Go 1.19 support. Future versions will require at least Go 1.20 to build.
### Fixed
- Setting the AD (Authenticated Data) flag on responses that have the DO (DNSSEC
OK) flag set but not the AD flag ([#5479]).
- Client names resolved via reverse DNS not being updated ([#4939]).
- The icon for League Of Legends on the Blocked services page ([#5433]).
### Removed
- Go 1.18 support, as it has reached end of life.
[#1717]: https://github.com/AdguardTeam/AdGuardHome/issues/1717
[#4299]: https://github.com/AdguardTeam/AdGuardHome/issues/4299
[#4939]: https://github.com/AdguardTeam/AdGuardHome/issues/4939
[#5433]: https://github.com/AdguardTeam/AdGuardHome/issues/5433
[#5479]: https://github.com/AdguardTeam/AdGuardHome/issues/5479
[go-1.19.6]: https://groups.google.com/g/golang-announce/c/V0aBFqaFs_E
[ms-v0.107.24]: https://github.com/AdguardTeam/AdGuardHome/milestone/60?closed=1
## [v0.107.23] - 2023-02-01
See also the [v0.107.23 GitHub milestone][ms-v0.107.23].
### Added
- DNS64 support ([#5117]). The function may be enabled with new `use_dns64`
property under `dns` object in the configuration along with `dns64_prefixes`,
the set of exclusion prefixes to filter AAAA responses. The Well-Known Prefix
(`64:ff9b::/96`) is used if no custom prefixes are specified.
### Fixed
- Filtering rules with `*` as the hostname not working properly ([#5245]).
- Various dark theme bugs ([#5375]).
### Removed
- The “beta frontend” and the corresponding APIs. They never quite worked
properly, and the future new version of AdGuard Home API will probably be
different.
Correspondingly, the configuration parameter `beta_bind_port` has been removed
as well.
[#5117]: https://github.com/AdguardTeam/AdGuardHome/issues/5117
[#5245]: https://github.com/AdguardTeam/AdGuardHome/issues/5245
[#5375]: https://github.com/AdguardTeam/AdGuardHome/issues/5375
[ms-v0.107.23]: https://github.com/AdguardTeam/AdGuardHome/milestone/59?closed=1
## [v0.107.22] - 2023-01-19
See also the [v0.107.22 GitHub milestone][ms-v0.107.22].
### Added
- Experimental Dark UI theme ([#613]).
- The new HTTP API `PUT /control/profile/update`, that updates current user
language and UI theme. The format of request body is described in
`openapi/openapi.yaml`.
### Changed
- The HTTP API `GET /control/profile` now returns enhanced object with
current user's name, language, and UI theme. The format of response body is
described in `openapi/openapi.yaml` and `openapi/CHANGELOG.md`.
### Fixed
- `AdGuardHome --update` freezing when another instance of AdGuard Home is
running ([#4223], [#5191]).
- The `--update` flag performing an update even when there is no version change.
- Failing HTTPS redirection on saving the encryption settings ([#4898]).
- Zeroing rules counter of erroneously edited filtering rule lists ([#5290]).
- Filters updating strategy, which could sometimes lead to use of broken or
incompletely downloaded lists ([#5258]).
[#613]: https://github.com/AdguardTeam/AdGuardHome/issues/613
[#5191]: https://github.com/AdguardTeam/AdGuardHome/issues/5191
[#5290]: https://github.com/AdguardTeam/AdGuardHome/issues/5290
[#5258]: https://github.com/AdguardTeam/AdGuardHome/issues/5258
[ms-v0.107.22]: https://github.com/AdguardTeam/AdGuardHome/milestone/58?closed=1
## [v0.107.21] - 2022-12-15
See also the [v0.107.21 GitHub milestone][ms-v0.107.21].
### Changed
- The URLs of the default filters for new installations are synchronized to
those introduced in v0.107.20 ([#5238]).
**NOTE:** Some users may need to re-add the lists from the vetted filter lists
to update the URLs to the new ones. Custom filters added by users themselves
do not require re-adding.
### Fixed
- Errors popping up during updates of settings, which could sometimes cause the
server to stop responding ([#5251]).
[#5238]: https://github.com/AdguardTeam/AdGuardHome/issues/5238
[#5251]: https://github.com/AdguardTeam/AdGuardHome/issues/5251
[ms-v0.107.21]: https://github.com/AdguardTeam/AdGuardHome/milestone/57?closed=1
## [v0.107.20] - 2022-12-07
See also the [v0.107.20 GitHub milestone][ms-v0.107.20].
### Security
- Go version has been updated to prevent the possibility of exploiting the
CVE-2022-41717 and CVE-2022-41720 Go vulnerabilities fixed in [Go
1.18.9][go-1.18.9].
### Added
- The ability to clear the DNS cache ([#5190]).
### Changed
- DHCP server initialization errors are now logged at debug level if the server
itself disabled ([#4944]).
### Fixed
- Wrong validation error messages on the DHCP configuration page ([#5208]).
- Slow upstream checks making the API unresponsive ([#5193]).
- The TLS initialization errors preventing AdGuard Home from starting ([#5189]).
Instead, AdGuard Home disables encryption and shows an error message on the
encryption settings page in the UI, which was the intended previous behavior.
- URLs of some vetted blocklists.
[#4944]: https://github.com/AdguardTeam/AdGuardHome/issues/4944
[#5189]: https://github.com/AdguardTeam/AdGuardHome/issues/5189
[#5190]: https://github.com/AdguardTeam/AdGuardHome/issues/5190
[#5193]: https://github.com/AdguardTeam/AdGuardHome/issues/5193
[#5208]: https://github.com/AdguardTeam/AdGuardHome/issues/5208
[go-1.18.9]: https://groups.google.com/g/golang-announce/c/L_3rmdT0BMU
[ms-v0.107.20]: https://github.com/AdguardTeam/AdGuardHome/milestone/56?closed=1
## [v0.107.19] - 2022-11-23
## [v0.107.19] - 2022-11-23 (APPROX.)
See also the [v0.107.19 GitHub milestone][ms-v0.107.19].
[ms-v0.107.19]: https://github.com/AdguardTeam/AdGuardHome/milestone/55?closed=1
-->
### Added
- The ability to block popular Mastodon instances
([AdguardTeam/HostlistsRegistry#100]).
- The new `--update` command-line option, which allows updating AdGuard Home
silently ([#4223]).
### Changed
- Minor UI changes.
[#4223]: https://github.com/AdguardTeam/AdGuardHome/issues/4223
[ms-v0.107.19]: https://github.com/AdguardTeam/AdGuardHome/milestone/55?closed=1
[AdguardTeam/HostlistsRegistry#100]: https://github.com/AdguardTeam/HostlistsRegistry/pull/100
## [v0.107.18] - 2022-11-08
@@ -1038,7 +544,7 @@ In this release, the schema version has changed from 12 to 14.
hosts: true
```
The value for `clients.runtime_sources.rdns` property is taken from
The value for `clients.runtime_sources.rdns` field is taken from
`dns.resolve_clients` property. To rollback this change, remove the
`runtime_sources` property, move the contents of `persistent` into the
`clients` itself, the value of `clients.runtime_sources.rdns` into the
@@ -1288,7 +794,7 @@ See also the [v0.107.0 GitHub milestone][ms-v0.107.0].
log entries concerning cached responses won't include that information.
- Finnish and Ukrainian localizations.
- Setting the timeout for IP address pinging in the "Fastest IP address" mode
through the new `fastest_timeout` property in the configuration file ([#1992]).
through the new `fastest_timeout` field in the configuration file ([#1992]).
- Static IP address detection on FreeBSD ([#3289]).
- Optimistic cache ([#2145]).
- New possible value of `6h` for `querylog_interval` property ([#2504]).
@@ -1374,6 +880,7 @@ In this release, the schema version has changed from 10 to 12.
To rollback this change, convert the property back into days and change the
`schema_version` back to `11`.
- Property `rlimit_nofile`, which in schema versions 10 and earlier used to be
on the top level, is now moved to the new `os` object:
@@ -1704,7 +1211,7 @@ See also the [v0.105.2 GitHub milestone][ms-v0.105.2].
- Inconsistent responses for messages with EDNS0 and AD when DNS caching is
enabled ([#2600]).
- Incomplete OpenWrt detection ([#2757]).
- DHCP lease's `expired` property incorrect time format ([#2692]).
- DHCP lease's `expired` field incorrect time format ([#2692]).
- Incomplete DNS upstreams validation ([#2674]).
- Wrong parsing of DHCP options of the `ip` type ([#2688]).
@@ -1741,8 +1248,8 @@ See also the [v0.105.1 GitHub milestone][ms-v0.105.1].
the machine has a static IP.
- Optical issue on custom rules ([#2641]).
- Occasional crashes during startup.
- The property `"range_start"` in the `GET /control/dhcp/status` HTTP API
response is now correctly named again ([#2678]).
- The field `"range_start"` in the `GET /control/dhcp/status` HTTP API response
is now correctly named again ([#2678]).
- DHCPv6 server's `ra_slaac_only` and `ra_allow_slaac` properties aren't reset
to `false` on update anymore ([#2653]).
- The `Vary` header is now added along with `Access-Control-Allow-Origin` to
@@ -1812,7 +1319,7 @@ See also the [v0.105.0 GitHub milestone][ms-v0.105.0].
- Go 1.14 support. v0.106.0 will require at least Go 1.15 to build.
- The `darwin/386` port. It will be removed in v0.106.0.
- The `"rule"` and `"filter_id"` property in `GET /filtering/check_host` and
- The `"rule"` and `"filter_id"` fields in `GET /filtering/check_host` and
`GET /querylog` responses. They will be removed in v0.106.0 ([#2102]).
### Fixed
@@ -1920,21 +1427,11 @@ See also the [v0.104.2 GitHub milestone][ms-v0.104.2].
<!--
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.29...HEAD
[v0.107.29]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.28...v0.107.29
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.19...HEAD
[v0.107.19]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.18...v0.107.19
-->
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.28...HEAD
[v0.107.28]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.27...v0.107.28
[v0.107.27]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.26...v0.107.27
[v0.107.26]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.25...v0.107.26
[v0.107.25]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.24...v0.107.25
[v0.107.24]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.23...v0.107.24
[v0.107.23]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.22...v0.107.23
[v0.107.22]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.21...v0.107.22
[v0.107.21]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.20...v0.107.21
[v0.107.20]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.19...v0.107.20
[v0.107.19]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.18...v0.107.19
[Unreleased]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.18...HEAD
[v0.107.18]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.17...v0.107.18
[v0.107.17]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.16...v0.107.17
[v0.107.16]: https://github.com/AdguardTeam/AdGuardHome/compare/v0.107.15...v0.107.16

View File

@@ -4,26 +4,18 @@
# See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html.
.POSIX:
# This comment is used to simplify checking local copies of the
# Makefile. Bump this number every time a significant change is made to
# this Makefile.
#
# AdGuard-Project-Version: 2
# Don't name these macros "GO" etc., because GNU Make apparently makes
# them exported environment variables with the literal value of
# "${GO:-go}" and so on, which is not what we need. Use a dot in the
# name to make sure that users don't have an environment variable with
# the same name.
#
# See https://unix.stackexchange.com/q/646255/105635.
GO.MACRO = $${GO:-go}
VERBOSE.MACRO = $${VERBOSE:-0}
CHANNEL = development
CLIENT_BETA_DIR = client2
CLIENT_DIR = client
COMMIT = $$( git rev-parse --short HEAD )
DIST_DIR = dist
# Don't name this macro "GO", because GNU Make apparenly makes it an
# exported environment variable with the literal value of "${GO:-go}",
# which is not what we need. Use a dot in the name to make sure that
# users don't have an environment variable with the same name.
#
# See https://unix.stackexchange.com/q/646255/105635.
GO.MACRO = $${GO:-go}
GOPROXY = https://goproxy.cn|https://proxy.golang.org|direct
GOSUMDB = sum.golang.google.cn
GPG_KEY = devteam@adguard.com
@@ -34,8 +26,15 @@ NPM_INSTALL_FLAGS = $(NPM_FLAGS) --quiet --no-progress --ignore-engines\
--ignore-optional --ignore-platform --ignore-scripts
RACE = 0
SIGN = 1
VERBOSE = 0
VERSION = v0.0.0
YARN = yarn
YARN_FLAGS = --cwd $(CLIENT_BETA_DIR)
YARN_INSTALL_FLAGS = $(YARN_FLAGS) --network-timeout 120000 --silent\
--ignore-engines --ignore-optional --ignore-platform\
--ignore-scripts
NEXTAPI = 0
# Macros for the build-release target. If FRONTEND_PREBUILT is 0, the
# default, the macro $(BUILD_RELEASE_DEPS_$(FRONTEND_PREBUILT)) expands
@@ -64,13 +63,14 @@ ENV = env\
PATH="$${PWD}/bin:$$( "$(GO.MACRO)" env GOPATH )/bin:$${PATH}"\
RACE='$(RACE)'\
SIGN='$(SIGN)'\
VERBOSE="$(VERBOSE.MACRO)"\
NEXTAPI='$(NEXTAPI)'\
VERBOSE='$(VERBOSE)'\
VERSION='$(VERSION)'\
# Keep the line above blank.
# Keep this target first, so that a naked make invocation triggers a
# full build.
# Keep this target first, so that a naked make invocation triggers
# a full build.
build: deps quick-build
quick-build: js-build go-build
@@ -93,13 +93,17 @@ init: ; git config core.hooksPath ./scripts/hooks
js-build:
$(NPM) $(NPM_FLAGS) run build-prod
$(YARN) $(YARN_FLAGS) build
js-deps:
$(NPM) $(NPM_INSTALL_FLAGS) ci
$(YARN) $(YARN_INSTALL_FLAGS) install
# TODO(a.garipov): Remove the legacy client tasks support once the new
# client is done and the old one is removed.
js-lint: ; $(NPM) $(NPM_FLAGS) run lint
js-test: ; $(NPM) $(NPM_FLAGS) run test
js-beta-lint: ; $(YARN) $(YARN_FLAGS) lint
js-beta-test: ; # TODO(v.abdulmyanov): Add tests for the new client.
go-build: ; $(ENV) "$(SHELL)" ./scripts/make/go-build.sh
go-deps: ; $(ENV) "$(SHELL)" ./scripts/make/go-deps.sh
@@ -124,4 +128,4 @@ go-os-check:
openapi-lint: ; cd ./openapi/ && $(YARN) test
openapi-show: ; cd ./openapi/ && $(YARN) start
txt-lint: ; $(ENV) "$(SHELL)" ./scripts/make/txt-lint.sh
txt-lint: ; $(ENV) "$(SHELL)" ./scripts/make/txt-lint.sh

View File

@@ -81,24 +81,12 @@ code.
### <a href="#automated-install-linux-and-mac" id="automated-install-linux-and-mac" name="automated-install-linux-and-mac">Automated install (Unix)</a>
To install with `curl` run the following command:
Run the following command in your terminal:
```sh
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
```
To install with `wget` run the following command:
```sh
wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
```
To install with `fetch` run the following command:
```sh
fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
```
The script also accepts some options:
* `-c <channel>` to use specified channel;
@@ -261,7 +249,7 @@ Run `make init` to prepare the development environment.
You will need this to build AdGuard Home:
* [Go](https://golang.org/dl/) v1.19 or later;
* [Go](https://golang.org/dl/) v1.18 or later;
* [Node.js](https://nodejs.org/en/download/) v10.16.2 or later;
* [npm](https://www.npmjs.com/) v6.14 or later;
* [yarn](https://yarnpkg.com/) v1.22.5 or later.

View File

@@ -7,7 +7,7 @@
# Make sure to sync any changes with the branch overrides below.
'variables':
'channel': 'edge'
'dockerGo': 'adguard/golang-ubuntu:6.3'
'dockerGo': 'adguard/golang-ubuntu:5.3'
'stages':
- 'Build frontend':
@@ -109,8 +109,7 @@
CHANNEL=${bamboo.channel}\
GPG_KEY_PASSPHRASE=${bamboo.gpgPassword}\
FRONTEND_PREBUILT=1\
PARALLELISM=1\
VERBOSE=2\
VERBOSE=1\
build-release
# TODO(a.garipov): Use more fine-grained artifact rules.
'artifacts':
@@ -136,12 +135,8 @@
set -e -f -u -x
COMMIT="${bamboo.repository.revision.number}"
export COMMIT
readonly COMMIT
# Explicitly checkout the revision that we need.
git checkout "$COMMIT"
git checkout "${bamboo.repository.revision.number}"
# Install Qemu, create builder.
docker version -f '{{ .Server.Experimental }}'
@@ -161,13 +156,12 @@
docker info
# Prepare and push the build.
env\
make\
CHANNEL="${bamboo.channel}"\
DIST_DIR='dist'\
DOCKER_IMAGE_NAME='adguard/adguardhome'\
DOCKER_OUTPUT="type=image,name=adguard/adguardhome,push=true"\
VERBOSE='1'\
sh ./scripts/make/build-docker.sh
build-docker
'environment':
DOCKER_CLI_EXPERIMENTAL=enabled
'final-tasks':
@@ -228,7 +222,6 @@
channel="${bamboo.channel}"
readonly channel
case "$channel"
in
('release')
@@ -275,10 +268,8 @@
set -e -f -u -x
channel="${bamboo.channel}"
readonly channel
if [ "$channel" != 'release' ] && [ "${channel}" != 'beta' ]
export CHANNEL="${bamboo.channel}"
if [ "$CHANNEL" != 'release' ] && [ "${CHANNEL}" != 'beta' ]
then
echo "don't publish to GitHub Releases for this channel"
@@ -331,7 +322,7 @@
# need to build a few of these.
'variables':
'channel': 'beta'
'dockerGo': 'adguard/golang-ubuntu:6.3'
'dockerGo': 'adguard/golang-ubuntu:5.3'
# release-vX.Y.Z branches are the branches from which the actual final release
# is built.
- '^release-v[0-9]+\.[0-9]+\.[0-9]+':
@@ -346,4 +337,4 @@
# are the ones that actually get released.
'variables':
'channel': 'release'
'dockerGo': 'adguard/golang-ubuntu:6.3'
'dockerGo': 'adguard/golang-ubuntu:5.3'

View File

@@ -5,7 +5,7 @@
'key': 'AHBRTSPECS'
'name': 'AdGuard Home - Build and run tests'
'variables':
'dockerGo': 'adguard/golang-ubuntu:6.3'
'dockerGo': 'adguard/golang-ubuntu:5.3'
'stages':
- 'Tests':

1
build2/gitkeep Normal file
View File

@@ -0,0 +1 @@
Keep this file non-hidden for Go's embedding to work.

2
client/dev.eslintrc vendored
View File

@@ -3,4 +3,4 @@
"rules": {
"no-debugger":"warn",
}
}
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 إعدادات",
"form_error_required": "الحقل مطلوب",
"form_error_ip4_format": "عنوان IPv4 غير صالح",
"form_error_ip4_range_start_format": "عناوين البداية لـIPv4 غير صالحة للنطاق",
"form_error_ip4_range_end_format": "عناوين IPv4 غير صالحة لنطاق النهاية",
"form_error_ip4_gateway_format": "عنوان IPv4 غير صالح للبوابة",
"form_error_ip6_format": "عنوان IPv6 غير صالح",
"form_error_ip_format": "عنوان IP غير صحيح",
@@ -49,6 +51,7 @@
"out_of_range_error": "يجب أن يكون خارج النطاق \"{{start}}\" - \"{{end}}\"",
"lower_range_start_error": "يجب أن يكون أقل من نطاق البداية",
"greater_range_start_error": "يجب أن يكون أكبر من نطاق البداية",
"greater_range_end_error": "يجب أن يكون أكبر من نطاق النهاية",
"subnet_error": "يجب أن تكون العناوين في شبكة فرعية واحدة",
"gateway_or_subnet_invalid": "قناع الشبكة الفرعية غير صالح",
"dhcp_form_gateway_input": "IP البوابة",
@@ -297,8 +300,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: الرد باستخدام رمز NXDOMAIN",
"blocking_mode_null_ip": "IP Null: الاستجابة بعنوان IP صفري (0.0.0.0 لـ A ؛ :: لـ AAAA)",
"blocking_mode_custom_ip": "استجابة IP مخصصة بعنوان IP تم تعيينه يدويًا",
"theme_light": "فاتح",
"theme_dark": "ليلي",
"upstream_dns_client_desc": "إذا احتفظت بهذا الحقل فارغًا ، فسيستخدم AdGuard Home الخوادم التي تم تكوينها في<0>DNS إعدادات</0>.",
"tracker_source": "مصدر المتعقب",
"source_label": "المصدر",
@@ -391,7 +392,6 @@
"encryption_issuer": "المصدر",
"encryption_hostnames": "اسم المستضيف",
"encryption_reset": "هل أنت متأكد أنك تريد إعادة تعيين إعدادات التشفير؟",
"encryption_warning": "تحذير",
"topline_expiring_certificate": "شهادة SSL الخاصة بك على وشك الانتهاء. قم بتحديث <0>إعدادات التشفير</0>.",
"topline_expired_certificate": "انتهت صلاحية شهادة SSL الخاصة بك. قم بتحديث <0>إعدادات التشفير</0>.",
"form_error_port_range": "أدخل رقم المنفذ في النطاق 80-65535",

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Налады DHCP IPv6",
"form_error_required": "Абавязковае поле",
"form_error_ip4_format": "Няслушны IPv4-адрас",
"form_error_ip4_range_start_format": "Няслушны IPv4-адрас пачатку дыяпазону",
"form_error_ip4_range_end_format": "Няслушны IPv4-адрас канца дыяпазону",
"form_error_ip4_gateway_format": "Няслушны IPv4-адрас шлюза",
"form_error_ip6_format": "Няслушны IPv6-адрас",
"form_error_ip_format": "Няслушны IP-адрас",
@@ -49,6 +51,7 @@
"out_of_range_error": "Павінна быць па-за дыяпазонам «{{start}}»-«{{end}}»",
"lower_range_start_error": "Павінна быць менш за пачатак дыяпазону",
"greater_range_start_error": "Павінна быць больш за пачатак дыяпазону",
"greater_range_end_error": "Павінна быць больш за канец дыяпазону",
"subnet_error": "Адрасы павінны быць усярэдзіне адной падсеткі",
"gateway_or_subnet_invalid": "Некарэктная маска падсеткі",
"dhcp_form_gateway_input": "IP-адрас шлюза",
@@ -261,7 +264,7 @@
"query_log_configuration": "Налада часопіса",
"query_log_disabled": "Часопіс запытаў выключаны, яго можна ўключыць у <0>наладах</0>",
"query_log_strict_search": "Ужывайце падвойныя двукоссі для строгага пошуку",
"query_log_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання запытаў? Пры памяншэнні інтэрвалу, некаторыя даныя могуць быць страчаны",
"query_log_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання запытаў? Пры скарачэнні інтэрвалу дадзеныя могуць быць згублены",
"anonymize_client_ip": "Ананімізацыя IP-адрасы кліента",
"anonymize_client_ip_desc": "Не захоўвайце поўныя IP-адрасы гэтых удзельнікаў у часопісах або статыстыцы",
"dns_config": "Налады DNS-сервера",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Адказвае з кодам NXDOMAIN\n",
"blocking_mode_null_ip": "Нулёвы IP: Адказвае з нулёвым IP-адрасам (0.0.0.0 для A; :: для AAAA)",
"blocking_mode_custom_ip": "Карыстацкі IP: Адказвае з ручна наладжаным IP-адрасам",
"theme_auto": "Аўто",
"theme_light": "Светлая",
"theme_dark": "Цёмная",
"upstream_dns_client_desc": "Калі пакінуць поле пустым, AdGuard Home будзе звяртацца да сервераў, паказаных у <0>наладах DNS</0>.",
"tracker_source": "Крыніца трэкінгу",
"source_label": "Крыніца",
@@ -356,7 +356,7 @@
"install_devices_android_list_5": "Зараз можна змяніць палі «DNS 1» і «DNS 2». Увядзіце ў іх адрасы AdGuard Home.",
"install_devices_ios_list_1": "Увайдзіце ў меню налад прылады.",
"install_devices_ios_list_2": "Абярыце пункт «Wi-Fi» (для мабільных сетак ручная наладка DNS немагчыма).",
"install_devices_ios_list_3": "Націсніце на назву актыўнай у дадзены момант сеткі.",
"install_devices_ios_list_3": "Націсніце на назву сетцы, да якой прылада падлучана ў дадзены момант.",
"install_devices_ios_list_4": "У поле «DNS» увядзіце ўвядзіце адрасы AdGuard Home.",
"get_started": "Паехалі",
"next": "Далей",
@@ -393,7 +393,6 @@
"encryption_issuer": "Выдавец",
"encryption_hostnames": "Імёны хастоў",
"encryption_reset": "Вы ўпэўнены, што хочаце скінуць налады шыфравання?",
"encryption_warning": "Папярэджанне",
"topline_expiring_certificate": "Ваш SSL-сертыфікат хутка мінае. Абновіце <0>Налады шыфравання</0>.",
"topline_expired_certificate": "Ваш SSL-сертыфікат мінуў. Абновіце <0>Налады шыфравання</0>.",
"form_error_port_range": "Увядзіце нумар порта з інтэрвалу 80-65535",
@@ -454,7 +453,6 @@
"updates_checked": "Даступная новая версія AdGuard Home",
"updates_version_equal": "Версія AdGuard Home актуальная",
"check_updates_now": "Праверыць абнаўленні",
"version_request_error": "Памылка пры праверцы наяўнасці абнаўленняў. Праверце ваша інтэрнэт-злучэнне.",
"dns_privacy": "Зашыфраваны DNS",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Ужывайце радок <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Ужывайце радок <1>{{address}}</1>.",
@@ -517,10 +515,10 @@
"filter_updated": "Спіс паспяхова абноўлены",
"statistics_configuration": "Канфігурацыя статыстыкі",
"statistics_retention": "Захаванне статыстыкі",
"statistics_retention_desc": "Калі вы паменшыце значэнне інтэрвалу, некаторыя даныя могуць быць страчаны",
"statistics_retention_desc": "Калі вы зменшыце значэнне інтэрвалу, некаторыя дадзеныя могуць быць згублены",
"statistics_clear": "Ачысціць статыстыку",
"statistics_clear_confirm": "Вы ўпэўнены, што хочаце ачысціць статыстыку?",
"statistics_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання статыстыкі? Пры памяншэнні інтэрвалу, некаторыя даныя могуць быць страчаны",
"statistics_retention_confirm": "Вы ўпэўнены, што хочаце змяніць тэрмін захоўвання статыстыкі? Пры скарачэнні інтэрвалу дадзеныя могуць быць згублены",
"statistics_cleared": "Статыстыка паспяхова вычышчана",
"statistics_enable": "Уключыць статыстыку",
"interval_hours": "{{count}} гадзіна",
@@ -598,7 +596,7 @@
"show_blocked_responses": "Заблакавана",
"show_whitelisted_responses": "Белы спіс",
"show_processed_responses": "Апрацавана",
"blocked_safebrowsing": "Заблакіравана згодна з базай даных Safe Browsing",
"blocked_safebrowsing": "Заблакавана згодна базе дадзеных Safe Browsing",
"blocked_adult_websites": "Заблакавана Бацькоўскім кантролем",
"blocked_threats": "Заблакавана пагроз",
"allowed": "Дазволены",
@@ -639,8 +637,5 @@
"safe_browsing": "Бяспечны інтэрнэт",
"served_from_cache": "{{value}} <i>(атрымана з кэша)</i>",
"form_error_password_length": "Пароль павінен быць не менш за {{value}} сімвалаў",
"anonymizer_notification": "<0>Заўвага:</0> Ананімізацыя IP уключана. Вы можаце адключыць яе ў <1>Агульных наладах</1>.",
"confirm_dns_cache_clear": "Вы ўпэўнены, што хочаце ачысціць кэш DNS?",
"cache_cleared": "Кэш DNS паспяхова ачышчаны",
"clear_cache": "Ачысціць кэш"
"anonymizer_notification": "<0>Заўвага:</0> Ананімізацыя IP уключана. Вы можаце адключыць яго ў <1>Агульных наладах</1> ."
}

View File

@@ -244,7 +244,6 @@
"encryption_issuer": "Изпълнител",
"encryption_hostnames": "Имена на хоста",
"encryption_reset": "Сигурни ли сте че искате да изтриете настройките за криптиране?",
"encryption_warning": "Внимание",
"topline_expiring_certificate": "Вашият SSL сертификат изтича. Обнови <0>Настройки за криптиране</0>.",
"topline_expired_certificate": "Вашият SSL сертификат е изтекъл. Обнови <0>Настройки за криптиране</0>.",
"form_error_port_range": "Въведете порт в диапазона 80-65535",

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Nastavení DHCP IPv6",
"form_error_required": "Povinné pole",
"form_error_ip4_format": "Neplatná adresa IPv4",
"form_error_ip4_range_start_format": "Neplatná adresa IPv4 na začátku rozsahu",
"form_error_ip4_range_end_format": "Neplatná adresa IPv4 na konci rozsahu",
"form_error_ip4_gateway_format": "Neplatná adresa IPv4 brány",
"form_error_ip6_format": "Neplatná adresa IPv6",
"form_error_ip_format": "Neplatná IP adresa",
@@ -49,6 +51,7 @@
"out_of_range_error": "Musí být mimo rozsah \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Musí být menší než začátek rozsahu",
"greater_range_start_error": "Musí být větší než začátek rozsahu",
"greater_range_end_error": "Musí být větší než konec rozsahu",
"subnet_error": "Adresy musí být v jedné podsíti",
"gateway_or_subnet_invalid": "Neplatná maska podsítě",
"dhcp_form_gateway_input": "IP brána",
@@ -165,9 +168,8 @@
"enabled_safe_browsing_toast": "Zapnuté bezpečné prohlížení",
"disabled_parental_toast": "Vypnutá Rodičovská kontrola",
"enabled_parental_toast": "Zapnutá Rodičovská kontrola",
"disabled_safe_search_toast": "Vypnuté bezpečné vyhledávání",
"enabled_save_search_toast": "Zapnuté bezpečné vyhledávání",
"updated_save_search_toast": "Nastavení Bezpečného vyhledávání aktualizováno",
"disabled_safe_search_toast": "Zapnuté bezpečné vyhledávání",
"enabled_save_search_toast": "Vypnuté bezpečné vyhledávání",
"enabled_table_header": "Zapnuto",
"name_table_header": "Název",
"list_url_table_header": "Seznam URL",
@@ -291,8 +293,6 @@
"rate_limit": "Rychlostní limit",
"edns_enable": "Povolit klientskou podsíť EDNS",
"edns_cs_desc": "Přidá možnost podsítě klienta EDNS (ECS) do odchozích požadavků a zaznamá hodnoty odeslané klienty do protokolu dotazů.",
"edns_use_custom_ip": "Použít vlastní IP pro EDNS",
"edns_use_custom_ip_desc": "Povolit použití vlastní IP pro EDNS",
"rate_limit_desc": "Počet požadavků za sekundu, které smí jeden klient provádět (0: neomezeno)",
"blocking_ipv4_desc": "IP adresa, která se má vrátit v případě blokovaného požadavku typu A",
"blocking_ipv6_desc": "IP adresa, která se má vrátit v případě blokovaného požadavku typu AAAA",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Odezva s kódem NXDOMAIN",
"blocking_mode_null_ip": "Nulová IP: Odezva s nulovou IP adresou (0.0.0.0 pro A; :: pro AAAA)",
"blocking_mode_custom_ip": "Vlastní IP. odezva s ručně nastavenou IP adresou",
"theme_auto": "Autom.",
"theme_light": "Světlý",
"theme_dark": "Tmavý",
"upstream_dns_client_desc": "Pokud toto pole ponecháte prázdné, AdGuard Home použije servery nakonfigurované v<0>DNS nastavení</0>.",
"tracker_source": "Zdroj slídiče",
"source_label": "Zdroj",
@@ -396,7 +393,6 @@
"encryption_issuer": "Vydavatel",
"encryption_hostnames": "Názvy hostitelů",
"encryption_reset": "Opravdu chcete obnovit nastavení šifrování?",
"encryption_warning": "Varování",
"topline_expiring_certificate": "Váš SSL certifikát brzy vyprší. Aktualizujte <0>Nastavení šifrování</0>.",
"topline_expired_certificate": "Váš SSL certifikát vypršel. Aktualizujte <0>Nastavení šifrování</0>.",
"form_error_port_range": "Zadejte číslo portu v rozmezí 80-65535",
@@ -457,7 +453,6 @@
"updates_checked": "Nová verze AdGuard Home je k dispozici\n",
"updates_version_equal": "AdGuard Home je aktuální",
"check_updates_now": "Zkontrolovat aktualizace nyní",
"version_request_error": "Kontrola aktualizace se nezdařila. Zkontrolujte prosím připojení k Internetu.",
"dns_privacy": "Soukromí DNS",
"setup_dns_privacy_1": "<0>DNS skrze TLS:</0> Použít <1>{{address}}</1> řetězec.",
"setup_dns_privacy_2": "<0>DNS skrze HTTPS:</0> Použít <1>{{address}}</1> řetězec.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Opravdu chcete změnit uchovávání statistik? Pokud snížíte hodnotu intervalu, některá data budou ztracena",
"statistics_cleared": "Statistiky úspěšně vyčištěny",
"statistics_enable": "Povolit statistiky",
"ignore_domains": "Ignorované domény (oddělené novým řádkem)",
"ignore_domains_title": "Ignorované domény",
"ignore_domains_desc_stats": "Dotazy pro tyto domény se do statistik nezapisují",
"ignore_domains_desc_query": "Dotazy pro tyto domény se do záznamu dotazů nezapisují",
"interval_hours": "Hodiny: {{count}}",
"interval_hours_plural": "Hodiny: {{count}}",
"filters_configuration": "Konfigurace filtrů",
@@ -646,27 +637,5 @@
"safe_browsing": "Bezpečné prohlížení",
"served_from_cache": "{{value}} <i>(převzato z mezipaměti)</i>",
"form_error_password_length": "Heslo musí být alespoň {{value}} znaků dlouhé",
"anonymizer_notification": "<0>Poznámka:</0> Anonymizace IP je zapnuta. Můžete ji vypnout v <1>Obecných nastaveních</1>.",
"confirm_dns_cache_clear": "Opravdu chcete vymazat mezipaměť DNS?",
"cache_cleared": "Mezipaměť DNS úspěšně vymazána",
"clear_cache": "Vymazat mezipaměť",
"make_static": "Nastavit jako statickou",
"theme_auto_desc": "Automatický (podle barevného motivu vašeho zařízení)",
"theme_dark_desc": "Tmavý motiv",
"theme_light_desc": "Světlý motiv",
"disable_for_seconds": "Na {{count}} sek.",
"disable_for_seconds_plural": "Na {{count}} sek.",
"disable_for_minutes": "Na {{count}} min.",
"disable_for_minutes_plural": "Na {{count}} min.",
"disable_for_hours": "Na {{count}} hod.",
"disable_for_hours_plural": "Na {{count}} hod.",
"disable_until_tomorrow": "Do zítřka",
"disable_notify_for_seconds": "Vypnout ochranu na {{count}} sek.",
"disable_notify_for_seconds_plural": "Vypnout ochranu na {{count}} sek.",
"disable_notify_for_minutes": "Vypnout ochranu na {{count}} min.",
"disable_notify_for_minutes_plural": "Vypnout ochranu na {{count}} min.",
"disable_notify_for_hours": "Vypnout ochranu na {{count}} hod.",
"disable_notify_for_hours_plural": "Vypnout ochranu na {{count}} hod.",
"disable_notify_until_tomorrow": "Vypnout ochranu do zítřka",
"enable_protection_timer": "Ochrana bude zapnuta za {{time}}"
"anonymizer_notification": "<0>Poznámka:</0> Anonymizace IP je zapnuta. Můžete ji vypnout v <1>Obecných nastaveních</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6-indstillinger",
"form_error_required": "Obligatorisk felt",
"form_error_ip4_format": "Ugyldig IPv4-adresse",
"form_error_ip4_range_start_format": "Ugyldig IPv4-startadresse for området",
"form_error_ip4_range_end_format": "Ugyldig IPv4-slutadresse for området",
"form_error_ip4_gateway_format": "Ugyldig IPv4 gateway-adresse",
"form_error_ip6_format": "Ugyldig IPv6-adresse",
"form_error_ip_format": "Ugyldig IP-adresse",
@@ -49,8 +51,9 @@
"out_of_range_error": "Skal være uden for området \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Skal være mindre end starten på området",
"greater_range_start_error": "Skal være større end starten på området",
"greater_range_end_error": "Skal være større end områdeslutning",
"subnet_error": "Adresser ska være i ét undernet",
"gateway_or_subnet_invalid": "Ugyldig undernetmaske",
"gateway_or_subnet_invalid": "Undernetmaske ugyldig",
"dhcp_form_gateway_input": "Gateway IP",
"dhcp_form_subnet_input": "Undernetmaske",
"dhcp_form_range_title": "Interval af IP-adresser",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Forældrekontrol aktiveret",
"disabled_safe_search_toast": "Sikker søgning deaktiveret",
"enabled_save_search_toast": "Sikker søgning aktiveret",
"updated_save_search_toast": "Sikker søgning opdateret",
"enabled_table_header": "Aktiveret",
"name_table_header": "Navn",
"list_url_table_header": "Liste-URL",
@@ -291,8 +293,6 @@
"rate_limit": "Hyppighedsgrænse",
"edns_enable": "Aktivér EDNS-klientundernet",
"edns_cs_desc": "Tilføj indstillingen EDNS Client Subnet (ECS) til upstream-forespørgsler og log de af klienterne sendte værdier i forespørgselsloggen.",
"edns_use_custom_ip": "Brug tilpasset IP til EDNS",
"edns_use_custom_ip_desc": "Tillad brug af tilpasset IP til EDNS",
"rate_limit_desc": "Antallet af forespørgsler pr. sekund tilladt pr. klient (værdien 0 = ubegrænset)",
"blocking_ipv4_desc": "Returneret IP-adresse for en blokeret A-forespørgsel",
"blocking_ipv6_desc": "Returneret IP-adresse for en blokeret AAAA-forespørgsel",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Svar med NXDOMAIN-kode",
"blocking_mode_null_ip": "Null IP: Svar med nul IP-adresse (0.0.0.0 for A; :: for AAAA)",
"blocking_mode_custom_ip": "Tilpasset IP: Svar med en manuelt indstillet IP-adresse",
"theme_auto": "Auto",
"theme_light": "Lyst",
"theme_dark": "Mørkt",
"upstream_dns_client_desc": "Holdes dette felt tomt, bruger AdGuard Home de i <0>DNS-indstillingerne</0> opsatte servere.",
"tracker_source": "Tracker-kilde",
"source_label": "Kilde",
@@ -396,7 +393,6 @@
"encryption_issuer": "Udsteder",
"encryption_hostnames": "Værtsnavne",
"encryption_reset": "Sikker på, at du vil nulstille krypteringsindstillingerne?",
"encryption_warning": "Advarsel",
"topline_expiring_certificate": "Dit SSL-certifikat er ved at udløbe. Opdatér <0>Krypteringsindstillinger</0>.",
"topline_expired_certificate": "Dit SSL-certifikat er udløbet. Opdatér <0>Krypteringsindstillinger</0>.",
"form_error_port_range": "Angiv portnummer i intervallet 80-65535",
@@ -457,7 +453,6 @@
"updates_checked": "En ny version af AdGuard Home er tilgængelig\n",
"updates_version_equal": "AdGuard Home er opdateret",
"check_updates_now": "Søg efter opdateringer nu",
"version_request_error": "Opdateringstjek mislykkedes. Tjek internetforbindelsen.",
"dns_privacy": "DNS-fortrolighed",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Brug <1>{{address}}</1> streng.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Brug <1>{{address}}</1> streng.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Sikker på, at du vil ændre på statistikbevaring? Mindskes intervalværdien, vil nogle data gå tabt",
"statistics_cleared": "Statistikkerne er ryddet",
"statistics_enable": "Aktivér statistikker",
"ignore_domains": "Ignorerede domæner (adskilt af ny linje)",
"ignore_domains_title": "Ignorerede domæner",
"ignore_domains_desc_stats": "Forespørgsler til disse domæner opføres ikke i statistikken",
"ignore_domains_desc_query": "Forespørgsler til disse domæner opføres ikke i forespørgselsloggen",
"interval_hours": "{{count}} time",
"interval_hours_plural": "{{count}} timer",
"filters_configuration": "Filteropsætninger",
@@ -646,27 +637,5 @@
"safe_browsing": "Sikker Browsing",
"served_from_cache": "{{value}} <i>(leveret fra cache)</i>",
"form_error_password_length": "Adgangskoden skal udgøre mindst {{value}} tegn.",
"anonymizer_notification": "<0>Bemærk:</0> IP-anonymisering er aktiveret. Det kan deaktiveres via <1>Generelle indstillinger</1>.",
"confirm_dns_cache_clear": "Sikker på, at DNS-cache skal ryddes?",
"cache_cleared": "DNS-cache hermed ryddet",
"clear_cache": "Ryd cache",
"make_static": "Gør statisk",
"theme_auto_desc": "Auto (baseret på enhedens farveskema)",
"theme_dark_desc": "Mørkt tema",
"theme_light_desc": "Lyst tema",
"disable_for_seconds": "I {{count}} sekund",
"disable_for_seconds_plural": "I {{count}} sekunder",
"disable_for_minutes": "I {{count}} minut",
"disable_for_minutes_plural": "I {{count}} minutter",
"disable_for_hours": "I {{count}} time",
"disable_for_hours_plural": "I {{count}} timer",
"disable_until_tomorrow": "Indtil i morgen",
"disable_notify_for_seconds": "Deaktivere beskyttelse i {{count}} sekund",
"disable_notify_for_seconds_plural": "Deaktivere beskyttelse i {{count}} sekunder",
"disable_notify_for_minutes": "Deaktivere beskyttelse i {{count}} minut",
"disable_notify_for_minutes_plural": "Deaktivere beskyttelse i {{count}} minutter",
"disable_notify_for_hours": "Deaktivere beskyttelse i {{count}} time",
"disable_notify_for_hours_plural": "Deaktivere beskyttelse i {{count}} timer",
"disable_notify_until_tomorrow": "Deaktiver beskyttelse indtil i morgen",
"enable_protection_timer": "Beskyttelse deaktiveres om {{time}}"
"anonymizer_notification": "<0>Bemærk:</0> IP-anonymisering er aktiveret. Det kan deaktiveres via <1>Generelle indstillinger</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP-IPv6-Einstellungen",
"form_error_required": "Pflichtfeld",
"form_error_ip4_format": "Ungültige IPv4-Adresse",
"form_error_ip4_range_start_format": "Ungültiger Bereichsbeginn der IPv4-Adresse",
"form_error_ip4_range_end_format": "Ungültiges Bereichsende der IPv4-Adresse",
"form_error_ip4_gateway_format": "Ungültige IPv4-Adresse des Gateways",
"form_error_ip6_format": "Ungültige IPv6-Adresse",
"form_error_ip_format": "Ungültige IP-Adresse",
@@ -49,6 +51,7 @@
"out_of_range_error": "Muss außerhalb des Bereichs „{{start}}“-„{{end}}“ liegen",
"lower_range_start_error": "Muss niedriger als der Bereichsbeginn sein",
"greater_range_start_error": "Muss größer als der Bereichsbeginn sein",
"greater_range_end_error": "Muss größer als das Bereichsende sein",
"subnet_error": "Die Adressen müssen innerhalb eines Subnetzes liegen",
"gateway_or_subnet_invalid": "Ungültige Subnetzmaske",
"dhcp_form_gateway_input": "Gateway-IP",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Kindersicherung aktiviert",
"disabled_safe_search_toast": "Sichere Suche deaktiviert",
"enabled_save_search_toast": "Sichere Suche aktiviert",
"updated_save_search_toast": "Einstellungen für die sichere Suche aktualisiert",
"enabled_table_header": "Aktiviert",
"name_table_header": "Name",
"list_url_table_header": "Adressliste",
@@ -291,8 +293,6 @@
"rate_limit": "Begrenzungswert",
"edns_enable": "EDNS Client Subnetz aktivieren",
"edns_cs_desc": "Die Option EDNS Client Subnetz (ECS) zu Upstream-Anfragen hinzufügen und die von Clients gesendeten Werte protokollieren.",
"edns_use_custom_ip": "Benutzerdefinierte IP für EDNS verwenden",
"edns_use_custom_ip_desc": "Benutzerdefinierte IP für EDNS zulassen",
"rate_limit_desc": "Die Anzahl der Anfragen pro Sekunde, die ein einzelner Client stellen darf. Das Setzen auf 0 bedeutet keine Begrenzung.",
"blocking_ipv4_desc": "IP-Adresse, die für eine gesperrte A-Anfrage zurückgegeben werden soll",
"blocking_ipv6_desc": "IP-Adresse, die für eine gesperrte AAAA-Anfrage zurückgegeben werden soll",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Mit NXDOMAIN-Code antworten",
"blocking_mode_null_ip": "Null-IP: Antworten mit Null-IP-Adresse (0.0.0.0.0 für A; :: für AAAA)",
"blocking_mode_custom_ip": "Benutzerdefinierte IP: Mit einer manuell eingestellten IP-Adresse antworten",
"theme_auto": "Auto",
"theme_light": "Hell",
"theme_dark": "Dunkel",
"upstream_dns_client_desc": "Wenn Sie dieses Feld leer lassen, verwendet AdGuard Home die Server, die in den <0>DNS-Einstellungen</0> konfiguriert sind.",
"tracker_source": "Tracker-Quelle",
"source_label": "Quelle",
@@ -396,7 +393,6 @@
"encryption_issuer": "Ausgestellt von",
"encryption_hostnames": "Hostnamen",
"encryption_reset": "Möchten Sie die Verschlüsselungseinstellungen wirklich zurücksetzen?",
"encryption_warning": "Warnhinweis",
"topline_expiring_certificate": "Ihr SSL-Zertifikat läuft demnächst ab. Aktualisieren Sie Ihre <0>Verschlüsselungseinstellungen</0>.",
"topline_expired_certificate": "Ihr SSL-Zertifikat ist abgelaufen. Aktualisieren Sie Ihre <0>Verschlüsselungseinstellungen</0>.",
"form_error_port_range": "Geben Sie die Portnummer zwischen 80 und 65535 ein",
@@ -457,7 +453,6 @@
"updates_checked": "Neue Version von AdGuard Home ist jetzt verfügbar",
"updates_version_equal": "AdGuard Home ist aktuell",
"check_updates_now": "Jetzt nach Aktualisierungen suchen",
"version_request_error": "Aktualisierungsprüfung fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung.",
"dns_privacy": "DNS-Datenschutz",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Zeichenkette <1>{{address}}</1> verwenden.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Zeichenkette <1>{{address}}</1> verwenden.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Möchten Sie wirklich die Aufbewahrung der Statistiken ändern? Wenn Sie den Zeitabstand verringern, gehen einige Daten verloren.",
"statistics_cleared": "Statistiken wurden erfolgreich gelöscht",
"statistics_enable": "Statistiken aktivieren",
"ignore_domains": "Ignorierte Domains (durch Zeilenumbruch getrennt)",
"ignore_domains_title": "Ignorierte Domains",
"ignore_domains_desc_stats": "Abfragen für diese Domains werden nicht in die Statistik aufgenommen",
"ignore_domains_desc_query": "Abfragen für diese Domains werden nicht in das Abfrageprotokoll aufgenommen",
"interval_hours": "{{count}} Stunde",
"interval_hours_plural": "{{count}} Stunden",
"filters_configuration": "Filterkonfiguration",
@@ -646,27 +637,5 @@
"safe_browsing": "Internetsicherheit",
"served_from_cache": "{{value}} <i>(aus dem Cache abgerufen)</i>",
"form_error_password_length": "Das Passwort muss mindestens {{value}} Zeichen enthalten",
"anonymizer_notification": "<0>Hinweis:</0> Die IP-Anonymisierung ist aktiviert. Sie können sie in den <1>Allgemeinen Einstellungen</1> deaktivieren.",
"confirm_dns_cache_clear": "Möchten Sie den DNS-Cache wirklich leeren?",
"cache_cleared": "DNS-Cache erfolgreich geleert",
"clear_cache": "Cache leeren",
"make_static": "Statisch machen",
"theme_auto_desc": "Automatisch (basierend auf dem Farbschema Ihres Geräts)",
"theme_dark_desc": "Dunkles Farbschema",
"theme_light_desc": "Helles Farbschema",
"disable_for_seconds": "Für {{count}} Sekunde",
"disable_for_seconds_plural": "Für {{count}} Sekunden",
"disable_for_minutes": "Für {{count}} Minute",
"disable_for_minutes_plural": "Für {{count}} Minuten",
"disable_for_hours": "Für {{count}} Stunde",
"disable_for_hours_plural": "Für {{count}} Stunden",
"disable_until_tomorrow": "Bis morgen",
"disable_notify_for_seconds": "Schutz für {{count}} Sekunde deaktivieren",
"disable_notify_for_seconds_plural": "Schutz für {{count}} Sekunden deaktivieren",
"disable_notify_for_minutes": "Schutz für {{count}} Minute deaktivieren",
"disable_notify_for_minutes_plural": "Schutz für {{count}} Minuten deaktivieren",
"disable_notify_for_hours": "Schutz für {{count}} Stunde deaktivieren",
"disable_notify_for_hours_plural": "Schutz für {{count}} Stunden deaktivieren",
"disable_notify_until_tomorrow": "Schutz bis morgen deaktivieren",
"enable_protection_timer": "Der Schutz wird in {{time}} wieder aktiviert"
"anonymizer_notification": "<0>Hinweis:</0> Die IP-Anonymisierung ist aktiviert. Sie können sie in den <1>Allgemeinen Einstellungen</1> deaktivieren."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 Settings",
"form_error_required": "Required field",
"form_error_ip4_format": "Invalid IPv4 address",
"form_error_ip4_range_start_format": "Invalid IPv4 address of the range start",
"form_error_ip4_range_end_format": "Invalid IPv4 address of the range end",
"form_error_ip4_gateway_format": "Invalid IPv4 address of the gateway",
"form_error_ip6_format": "Invalid IPv6 address",
"form_error_ip_format": "Invalid IP address",
@@ -49,8 +51,9 @@
"out_of_range_error": "Must be out of range \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Must be lower than range start",
"greater_range_start_error": "Must be greater than range start",
"greater_range_end_error": "Must be greater than range end",
"subnet_error": "Addresses must be in one subnet",
"gateway_or_subnet_invalid": "Invalid subnet mask",
"gateway_or_subnet_invalid": "Subnet mask invalid",
"dhcp_form_gateway_input": "Gateway IP",
"dhcp_form_subnet_input": "Subnet mask",
"dhcp_form_range_title": "Range of IP addresses",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Enabled Parental Control",
"disabled_safe_search_toast": "Disabled Safe Search",
"enabled_save_search_toast": "Enabled Safe Search",
"updated_save_search_toast": "Safe Search settings updated",
"enabled_table_header": "Enabled",
"name_table_header": "Name",
"list_url_table_header": "List URL",
@@ -291,8 +293,6 @@
"rate_limit": "Rate limit",
"edns_enable": "Enable EDNS client subnet",
"edns_cs_desc": "Add the EDNS Client Subnet option (ECS) to upstream requests and log the values sent by the clients in the query log.",
"edns_use_custom_ip": "Use custom IP for EDNS",
"edns_use_custom_ip_desc": "Allow to use custom IP for EDNS",
"rate_limit_desc": "The number of requests per second allowed per client. Setting it to 0 means no limit.",
"blocking_ipv4_desc": "IP address to be returned for a blocked A request",
"blocking_ipv6_desc": "IP address to be returned for a blocked AAAA request",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Respond with NXDOMAIN code",
"blocking_mode_null_ip": "Null IP: Respond with zero IP address (0.0.0.0 for A; :: for AAAA)",
"blocking_mode_custom_ip": "Custom IP: Respond with a manually set IP address",
"theme_auto": "Auto",
"theme_light": "Light",
"theme_dark": "Dark",
"upstream_dns_client_desc": "If you keep this field empty, AdGuard Home will use the servers configured in the <0>DNS settings</0>.",
"tracker_source": "Tracker source",
"source_label": "Source",
@@ -457,7 +454,6 @@
"updates_checked": "A new version of AdGuard Home is available",
"updates_version_equal": "AdGuard Home is up-to-date",
"check_updates_now": "Check for updates now",
"version_request_error": "Update check failed. Please check your Internet connection.",
"dns_privacy": "DNS Privacy",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Use <1>{{address}}</1> string.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Use <1>{{address}}</1> string.",
@@ -526,10 +522,6 @@
"statistics_retention_confirm": "Are you sure you want to change statistics retention? If you decrease the interval value, some data will be lost",
"statistics_cleared": "Statistics successfully cleared",
"statistics_enable": "Enable statistics",
"ignore_domains": "Ignored domains (separated by newline)",
"ignore_domains_title": "Ignored domains",
"ignore_domains_desc_stats": "Queries for these domains are not written to the statistics",
"ignore_domains_desc_query": "Queries for these domains are not written to the query log",
"interval_hours": "{{count}} hour",
"interval_hours_plural": "{{count}} hours",
"filters_configuration": "Filters configuration",
@@ -646,27 +638,5 @@
"safe_browsing": "Safe Browsing",
"served_from_cache": "{{value}} <i>(served from cache)</i>",
"form_error_password_length": "Password must be at least {{value}} characters long",
"anonymizer_notification": "<0>Note:</0> IP anonymization is enabled. You can disable it in <1>General settings</1>.",
"confirm_dns_cache_clear": "Are you sure you want to clear DNS cache?",
"cache_cleared": "DNS cache successfully cleared",
"clear_cache": "Clear cache",
"make_static": "Make static",
"theme_auto_desc": "Auto (based on the color scheme of your device)",
"theme_dark_desc": "Dark theme",
"theme_light_desc": "Light theme",
"disable_for_seconds": "For {{count}} second",
"disable_for_seconds_plural": "For {{count}} seconds",
"disable_for_minutes": "For {{count}} minute",
"disable_for_minutes_plural": "For {{count}} minutes",
"disable_for_hours": "For {{count}} hour",
"disable_for_hours_plural": "For {{count}} hours",
"disable_until_tomorrow": "Until tomorrow",
"disable_notify_for_seconds": "Disable protection for {{count}} second",
"disable_notify_for_seconds_plural": "Disable protection for {{count}} seconds",
"disable_notify_for_minutes": "Disable protection for {{count}} minute",
"disable_notify_for_minutes_plural": "Disable protection for {{count}} minutes",
"disable_notify_for_hours": "Disable protection for {{count}} hour",
"disable_notify_for_hours_plural": "Disable protection for {{count}} hours",
"disable_notify_until_tomorrow": "Disable protection until tomorrow",
"enable_protection_timer": "Protection will be enabled in {{time}}"
"anonymizer_notification": "<0>Note:</0> IP anonymization is enabled. You can disable it in <1>General settings</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Configuración DHCP IPv6",
"form_error_required": "Campo obligatorio",
"form_error_ip4_format": "Dirección IPv4 no válida",
"form_error_ip4_range_start_format": "Dirección IPv4 no válida del inicio de rango",
"form_error_ip4_range_end_format": "Dirección IPv4 no válida del final de rango",
"form_error_ip4_gateway_format": "Dirección IPv4 no válida de la puerta de enlace",
"form_error_ip6_format": "Dirección IPv6 no válida",
"form_error_ip_format": "Dirección IP no válida",
@@ -49,6 +51,7 @@
"out_of_range_error": "Debe estar fuera del rango \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Debe ser inferior que el inicio de rango",
"greater_range_start_error": "Debe ser mayor que el inicio de rango",
"greater_range_end_error": "Debe ser mayor que el final de rango",
"subnet_error": "Las direcciones deben estar en una subred",
"gateway_or_subnet_invalid": "Máscara de subred no válida",
"dhcp_form_gateway_input": "IP de puerta de enlace",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Control parental habilitado",
"disabled_safe_search_toast": "Búsqueda segura deshabilitada",
"enabled_save_search_toast": "Búsqueda segura habilitada",
"updated_save_search_toast": "Configuración de búsqueda segura actualizada",
"enabled_table_header": "Habilitado",
"name_table_header": "Nombre",
"list_url_table_header": "URL de la lista",
@@ -291,8 +293,6 @@
"rate_limit": "Límite de cantidad",
"edns_enable": "Habilitar subred de cliente EDNS",
"edns_cs_desc": "Añade la opción subred de cliente EDNS (ECS) a las peticiones del DNS de subida y registra los valores enviados por los clientes en el registro de consultas.",
"edns_use_custom_ip": "Usar IP personalizada para EDNS",
"edns_use_custom_ip_desc": "Permitir el uso de IP personalizadas para EDNS",
"rate_limit_desc": "Número de peticiones por segundo permitidas por cliente. Establecerlo en 0 significa que no hay límite.",
"blocking_ipv4_desc": "Dirección IP devolverá una petición A bloqueada",
"blocking_ipv6_desc": "Dirección IP devolverá una petición AAAA bloqueada",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Responde con el código NXDOMAIN",
"blocking_mode_null_ip": "IP nulo: Responde con dirección IP cero (0.0.0.0 para A; :: para AAAA)",
"blocking_mode_custom_ip": "IP personalizada: Responde con una dirección IP establecida manualmente",
"theme_auto": "Auto",
"theme_light": "Claro",
"theme_dark": "Oscuro",
"upstream_dns_client_desc": "Si se mantiene este campo vacío, AdGuard Home utilizará los servidores configurados en la <0>configuración del DNS</0>.",
"tracker_source": "Fuente del rastreador",
"source_label": "Fuente",
@@ -396,7 +393,6 @@
"encryption_issuer": "Emisor",
"encryption_hostnames": "Nombres de hosts",
"encryption_reset": "¿Estás seguro de que deseas restablecer la configuración de cifrado?",
"encryption_warning": "Advertencia",
"topline_expiring_certificate": "Tu certificado SSL está a punto de expirar. Actualiza la <0>configuración de cifrado</0>.",
"topline_expired_certificate": "Tu certificado SSL ha expirado. Actualiza la <0>configuración de cifrado</0>.",
"form_error_port_range": "Ingresa el número del puerto en el rango de 80 a 65535",
@@ -457,7 +453,6 @@
"updates_checked": "La nueva versión de AdGuard Home está disponible",
"updates_version_equal": "AdGuard Home está actualizado",
"check_updates_now": "Buscar actualizaciones ahora",
"version_request_error": "Error buscar la actualización. Comprueba tu conexión a Internet.",
"dns_privacy": "DNS cifrado",
"setup_dns_privacy_1": "<0>DNS mediante TLS:</0> Utiliza la cadena <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS mediante HTTPS:</0> Utiliza la cadena <1>{{address}}</1>.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "¿Estás seguro de que deseas cambiar la retención de estadísticas? Si disminuye el valor del intervalo, se perderán algunos datos",
"statistics_cleared": "Estadísticas borradas correctamente",
"statistics_enable": "Habilitar estadísticas",
"ignore_domains": "Dominios ignorados (separados por una nueva línea)",
"ignore_domains_title": "Dominios ignorados",
"ignore_domains_desc_stats": "Las consultas para estos dominios no aparecen en las estadísticas",
"ignore_domains_desc_query": "Las consultas para estos dominios no aparecen en el registro de consultas",
"interval_hours": "{{count}} hora",
"interval_hours_plural": "{{count}} horas",
"filters_configuration": "Configuración de filtros",
@@ -646,27 +637,5 @@
"safe_browsing": "Navegación segura",
"served_from_cache": "{{value}} <i>(servido desde la caché)</i>",
"form_error_password_length": "La contraseña debe tener al menos {{value}} caracteres",
"anonymizer_notification": "<0>Nota:</0> La anonimización de IP está habilitada. Puedes deshabilitarla en <1>Configuración general</1>.",
"confirm_dns_cache_clear": "¿Estás seguro de que deseas borrar la caché DNS?",
"cache_cleared": "Caché DNS borrado correctamente",
"clear_cache": "Borrar caché",
"make_static": "Hacer estático",
"theme_auto_desc": "Automático (basado en el esquema de colores de tu dispositivo)",
"theme_dark_desc": "Tema oscuro",
"theme_light_desc": "Tema claro",
"disable_for_seconds": "Por {{count}} segundo",
"disable_for_seconds_plural": "Por {{count}} segundos",
"disable_for_minutes": "Por {{count}} minuto",
"disable_for_minutes_plural": "Por {{count}} minutos",
"disable_for_hours": "Por {{count}} hora",
"disable_for_hours_plural": "Por {{count}} horas",
"disable_until_tomorrow": "Hasta mañana",
"disable_notify_for_seconds": "Desactivar la protección por {{count}} segundo",
"disable_notify_for_seconds_plural": "Desactivar la protección por {{count}} segundos",
"disable_notify_for_minutes": "Desactivar la protección por {{count}} minuto",
"disable_notify_for_minutes_plural": "Desactivar la protección por {{count}} minutos",
"disable_notify_for_hours": "Desactivar la protección por {{count}} hora",
"disable_notify_for_hours_plural": "Desactivar la protección por {{count}} horas",
"disable_notify_until_tomorrow": "Desactivar la protección hasta mañana",
"enable_protection_timer": "La protección se activará en {{time}}"
"anonymizer_notification": "<0>Nota:</0> La anonimización de IP está habilitada. Puedes deshabilitarla en <1>Configuración general</1>."
}

View File

@@ -32,6 +32,8 @@
"dhcp_config_saved": "پیکربندی سرور DHCP ذخیره شده است",
"form_error_required": "فیلد مورد نیاز",
"form_error_ip4_format": "فرمت نامعتبر IPv4",
"form_error_ip4_range_start_format": "قالب IPv4 شروع دامنه نامعتبر است",
"form_error_ip4_range_end_format": "قالب IPv4 پایان دامنه نامعتبر است",
"form_error_ip4_gateway_format": "قالب IPv4 درگاه نامعتبر است",
"form_error_ip6_format": "فرمت نامعتبر IPv6",
"form_error_ip_format": "فرمت IPv4 نامعتبر است",
@@ -42,6 +44,7 @@
"out_of_range_error": "باید خارج از دامنه باشد\"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "باید کمتر از شروع دامنه باشد",
"greater_range_start_error": "باید بیشتر از شروع دامنه باشد",
"greater_range_end_error": "باید بیشتر از پایان دامنه باشد",
"subnet_error": "آدرس ها باید در یک زیرشبکه باشند",
"gateway_or_subnet_invalid": "پوشش زیرشبکه نامعتبر است",
"dhcp_form_gateway_input": "آی پی دروازه",
@@ -358,7 +361,6 @@
"encryption_issuer": "صادر کننده",
"encryption_hostnames": "نام میزبان",
"encryption_reset": "آیا میخواهید تنظیمات رمزگُذاری به پیش فرض بازگردد؟",
"encryption_warning": "هشدار",
"topline_expiring_certificate": "گواهینامه اِس اِس اِل شما در صدد انقضاء است. <0>تنظیمات رمزگُذاری</0> را بروز رسانی کنید.",
"topline_expired_certificate": "گواهینامه اِس اِس اِل شما منقضی شده است. <0>تنظیمات رمزگُذاری</0> را بروز رسانی کنید.",
"form_error_port_range": "مقدار پورت را در محدوده 80-65535 وارد کنید",
@@ -419,7 +421,6 @@
"updates_checked": "نسخه جدیدی از AdGuard Home در دسترس است",
"updates_version_equal": "AdGuard Home بروز است",
"check_updates_now": "حالا بررسی برای بروز رسانی",
"version_request_error": "بررسی بروزرسانی موفق نشد.لطفا ارتباط اینترنتی خود را بررسی کنید",
"dns_privacy": "حریم خصوصی DNS",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> استفاده از<1>{{address}}</1> .",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> استفاده از <1>{{address}}</1> .",

View File

@@ -9,12 +9,12 @@
"bootstrap_dns": "Bootstrap DNS-palvelimet",
"bootstrap_dns_desc": "Bootstrap DNS-palvelimia käytetään ylävirroiksi määritettyjen DoH/DoT-resolvereiden IP-osoitteiden selvitykseen.",
"local_ptr_title": "Yksityiset käänteiset DNS-palvelimet",
"local_ptr_desc": "DNS-palvelimet, joita AdGuard Home käyttää paikallisille PTR-pyynnöille. Näitä palvelimia käytetään yksityistä IP-osoitetta käyttävien PTR-pyyntöjen osoitteiden, kuten \"192.168.12.34\", selvitykseen käänteisen DNS:n avulla. Jos ei käytössä, AdGuard Home käyttää käyttöjärjestelmän oletusarvoisia DNS-resolvereita, poislukien AdGuard Homen omat osoitteet.",
"local_ptr_desc": "DNS-palvelimet, joita AdGuard Home käyttää paikallisille PTR-kyselyille. Näitä palvelimia käytetään yksityistä IP-osoitetta käyttävien PTR-kyselyiden osoitteiden, kuten \"192.168.12.34\", selvitykseen käänteisen DNS:n avulla. Jos ei käytössä, AdGuard Home käyttää käyttöjärjestelmän oletusarvoisia DNS-resolvereita, poislukien AdGuard Homen omat osoitteet.",
"local_ptr_default_resolver": "Oletusarvoisesti AdGuard Home käyttää seuraavia käänteisiä DNS-resolvereita: {{ip}}.",
"local_ptr_no_default_resolver": "AdGuard Home ei voinut määrittää tälle järjestelmälle sopivaa yksityistä käänteistä DNS-resolveria.",
"local_ptr_placeholder": "Syötä yksi palvelimen osoite per rivi",
"resolve_clients_title": "Käytä päätelaitteiden IP-osoitteille käänteistä selvitystä",
"resolve_clients_desc": "Selvitä päätelaitteiden IP-osoitteiden isäntänimet käänteisesti lähettämällä PTR-pyynnöt sopiville resolvereille (yksityiset DNS-palvelimet paikallisille päätelaitteille, lähtevät palvelimet päätelaitteille, joilla on julkiset IP-osoitteet).",
"resolve_clients_desc": "Selvitä päätelaitteiden IP-osoitteiden isäntänimet käänteisesti lähettämällä PTR-kyselyt sopiville resolvereille (yksityiset DNS-palvelimet paikallisille päätelaitteille, lähtevät palvelimet päätelaitteille, joilla on julkiset IP-osoitteet).",
"use_private_ptr_resolvers_title": "Käytä yksityisiä käänteisiä DNS-resolvereita",
"use_private_ptr_resolvers_desc": "Suorita käänteiset DNS-selvitykset paikallisesti tarjotuille osoitteille käyttäen näitä ylävirran palvelimia. Jos ei käytössä, vastaa AdGuard Home kaikkiin sen tyyppisiin PTR-pyyntöihin NXDOMAIN-arvolla, pois lukien DHCP, /etc/hosts, yms. -tiedoista tunnistettut päätelaitteet.",
"check_dhcp_servers": "Etsi DHCP-palvelimia",
@@ -24,7 +24,7 @@
"unavailable_dhcp": "DHCP ei ole käytettävissä",
"unavailable_dhcp_desc": "AdGuard Home ei voi suorittaa DHCP-palvelinta käyttöjärjestelmässäsi",
"dhcp_title": "DHCP-palvelin (kokeellinen!)",
"dhcp_description": "Jollei reitittimesi tarjoa DHCP-asetuksia, voit käyttää AdGuard Homen omaa sisäänrakennettua DHCP-palvelinta.",
"dhcp_description": "Jos reitittimessäsi ei ole DHCP-asetuksia, voit käyttää AdGuard Homen omaa sisäänrakennettua DHCP-palvelinta.",
"dhcp_enable": "Ota DHCP-palvelin käyttöön",
"dhcp_disable": "Poista DHCP-palvelin käytöstä",
"dhcp_not_found": "On turvallista ottaa sisäänrakennettu DHCP-palvelin käyttöön, koska AdGuard Home ei havainnut verkossa muita aktiivisia DHCP-palvelimia. Suosittelemme, että varmistat tämän vielä itse, koska automaattinen tunnistus ei ole 100% varma.",
@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP:n IPv6-asetukset",
"form_error_required": "Pakollinen kenttä",
"form_error_ip4_format": "Virheellinen IPv4-osoite",
"form_error_ip4_range_start_format": "Virheellinen IPv4-osoitealueen aloitusosoite",
"form_error_ip4_range_end_format": "Virheellinen IPv4-osoitealueen päätösosoite",
"form_error_ip4_gateway_format": "Virheellinen yhdyskäytävän IPv4-osoite",
"form_error_ip6_format": "Virheellinen IPv6-osoite",
"form_error_ip_format": "Virheellinen IP-osoite",
@@ -49,6 +51,7 @@
"out_of_range_error": "Oltava alueen \"{{start}}\" - \"{{end}}\" ulkopuolella",
"lower_range_start_error": "Oltava alueen aloitusarvoa pienempi",
"greater_range_start_error": "Oltava alueen aloitusarvoa suurempi",
"greater_range_end_error": "Oltava alueen päätösarvoa pienempi",
"subnet_error": "Osoitteiden tulee olla yhdessä aliverkossa",
"gateway_or_subnet_invalid": "Virheellinen aliverkon peite",
"dhcp_form_gateway_input": "Yhdyskäytävän IP-osoite",
@@ -75,7 +78,7 @@
"dhcp_add_static_lease": "Lisää kiinteä laina",
"dhcp_reset_leases": "Tyhjennä kaikki lainat",
"dhcp_reset_leases_confirm": "Haluatko varmasti tyhjentää kaikki lainat?",
"dhcp_reset_leases_success": "DHCP-lainojen tyhjennys onnistui",
"dhcp_reset_leases_success": "DHCP-lainat tyhjennettiin",
"dhcp_reset": "Haluatko varmasti palauttaa DHCP-asetukset?",
"country": "Maa",
"city": "Kaupunki",
@@ -167,11 +170,10 @@
"enabled_parental_toast": "Lapsilukko otettiin käyttöön",
"disabled_safe_search_toast": "Turvallinen haku poistettiin käytöstä",
"enabled_save_search_toast": "Turvallinen haku otettiin käyttöön",
"updated_save_search_toast": "Turvallisen haun asetukset päivitettiin",
"enabled_table_header": "Käytössä",
"name_table_header": "Nimi",
"list_url_table_header": "Listan URL",
"rules_count_table_header": "Sääntöjen määrä",
"rules_count_table_header": "Sääntöjä",
"last_time_updated_table_header": "Viimeisin päivitys",
"actions_table_header": "Toiminnot",
"request_table_header": "Pyyntö",
@@ -254,8 +256,8 @@
"query_log_response_status": "Tila: {{value}}",
"query_log_filtered": "Suodattanut {{filter}}",
"query_log_confirm_clear": "Haluatko varmasti tyhjentää pyyntöhistorian?",
"query_log_cleared": "Pyyntöhistorian tyhjennys onnistui",
"query_log_updated": "Pyyntöhistorian päivitys onnistui",
"query_log_cleared": "Pyyntöhistoria tyhjennettiin",
"query_log_updated": "Pyyntöhistoria päivitettiin",
"query_log_clear": "Tyhjennä pyyntöhistoria",
"query_log_retention": "Pyyntöhistorian säilytys",
"query_log_enable": "Käytä historiaa",
@@ -273,7 +275,7 @@
"nxdomain": "NXDOMAIN",
"refused": "REFUSED",
"null_ip": "Tyhjä IP",
"custom_ip": "Mukautettu IP-osoite",
"custom_ip": "Oma IP-osoite",
"blocking_ipv4": "IPv4-esto",
"blocking_ipv6": "IPv6-esto",
"dnscrypt": "DNSCrypt",
@@ -291,8 +293,6 @@
"rate_limit": "Pyyntöjen ajoitus",
"edns_enable": "Käytä EDNS-päätelaitealivekkoa",
"edns_cs_desc": "Lähetä päätelaitteiden aliverkot DNS-palvelimille.",
"edns_use_custom_ip": "Käytä omaa IP-osoitetta EDNS:lle",
"edns_use_custom_ip_desc": "Salli oman IP-osoitteen käyttö EDNS-mekanismille.",
"rate_limit_desc": "Päätelaitteelle sallittu pyyntöjen enimmäismäärä sekunnissa. Arvo 0 tarkoittaa rajatonta.",
"blocking_ipv4_desc": "Estettyyn A-pyyntöön palautettava IP-osoite",
"blocking_ipv6_desc": "Estettyyn AAAA-pyyntöön palautettava IP-osoite",
@@ -300,10 +300,7 @@
"blocking_mode_refused": "REFUSED: Vastaa REFUSED-koodilla",
"blocking_mode_nxdomain": "NXDOMAIN: Vastaa NXDOMAIN-koodilla",
"blocking_mode_null_ip": "Tyhjä IP: Vastaa IP-nollaosoitteella (0.0.0.0 korvaa A; :: korvaa AAAA)",
"blocking_mode_custom_ip": "Mukautettu IP: Vastaa manuaalisesti määritetyllä IP-osoitteella",
"theme_auto": "Automaattinen",
"theme_light": "Vaalea",
"theme_dark": "Tumma",
"blocking_mode_custom_ip": "Oma IP: Vastaa itse määritetyllä IP-osoitteella",
"upstream_dns_client_desc": "Jos tämä on tyhjä, käyttää AdGuard Home <0>DNS-asetuksissa</0> määritettyjä palvelimia.",
"tracker_source": "Seurannan lähde",
"source_label": "Lähde",
@@ -370,7 +367,7 @@
"encryption_config_saved": "Salausasetukset tallennettiin",
"encryption_server": "Palvelimen nimi",
"encryption_server_enter": "Syötä verkkotunnuksesi",
"encryption_server_desc": "Jos määritetty, AdGuard Home tunnistaa ClientID-tunnisteet, vastaa DDR-pyyntöihin ja suorittaa yhteyden lisätarkistuksia. Jos ei määritetty, nämä ominaisuudet eivät ole käytössä. On vastattava yhtä varmenteen DNS-nimistä.",
"encryption_server_desc": "Jos määritetty, AdGuard Home tunnistaa ClientID-tunnisteet, vastaa DDR-kyselyihin ja suorittaa yhteyden lisätarkistuksia. Jos ei määritetty, nämä ominaisuudet eivät ole käytössä. On vastattava yhtä varmenteen DNS-nimistä.",
"encryption_redirect": "Automaattinen HTTPS-ohjaus",
"encryption_redirect_desc": "Jos käytössä, AdGuard Home ohjaa HTTP-osoitteet automaattisesti HTTPS-osoitteisiin.",
"encryption_https": "HTTPS-portti",
@@ -396,7 +393,6 @@
"encryption_issuer": "Toimittaja",
"encryption_hostnames": "Isäntänimet",
"encryption_reset": "Haluatko varmasti palauttaa salausasetukset?",
"encryption_warning": "Varoitus",
"topline_expiring_certificate": "SSL-varmenteesi on erääntymässä. Päivitä <0>Salausasetukset</0>.",
"topline_expired_certificate": "SSL-varmenteesi on erääntynyt. Päivitä <0>Salausasetukset</0>.",
"form_error_port_range": "Syötä portti väliltä 80-65535",
@@ -419,7 +415,7 @@
"clients_title": "Pysyvät päätelaitteet",
"clients_desc": "Määritä pysyvät AdGuard Homeen yhdistetyt päätelaitetiedot.",
"settings_global": "Yleinen",
"settings_custom": "Mukautettu",
"settings_custom": "Muut aiheet",
"table_client": "Asiakas",
"table_name": "Nimi",
"save_btn": "Tallenna",
@@ -457,7 +453,6 @@
"updates_checked": "Uusi versio AdGuard Home -ohjelmasta on saatavana\n",
"updates_version_equal": "AdGuard Home on ajan tasalla",
"check_updates_now": "Tarkista päivitykset nyt",
"version_request_error": "Päivitystarkistus epäonnistui. Tarkista Internet-yhteytesi.",
"dns_privacy": "DNS-tietosuoja",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Käytä merkkijonoa <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Käytä merkkijonoa <1>{{address}}</1>.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Haluatko varmasti muuttaa tilastojen säilytysaikaa? Jos aikaa lyhennetään, joitakin tietoja menetetään.",
"statistics_cleared": "Tilastot tyhjennettiin",
"statistics_enable": "Ota tilastointi käyttöön",
"ignore_domains": "Ohitettavat verkkotunnukset (erotettu rivinvaihdolla)",
"ignore_domains_title": "Ohitettavat verkkotunnukset",
"ignore_domains_desc_stats": "Näihin verkkotunnuksiin lähetettyjä pyyntöjä ei tallenneta tilastoihin.",
"ignore_domains_desc_query": "Näihin verkkotunnuksiin lähetettyjä pyyntöjä ei tallenneta pyyntöhistoriaan.",
"interval_hours": "{{count}} tunti",
"interval_hours_plural": "{{count}} tuntia",
"filters_configuration": "Suodatinten määritys",
@@ -551,8 +542,8 @@
"descr": "Kuvaus",
"whois": "WHOIS",
"filtering_rules_learn_more": "<0>Lue lisää</0> omien hosts-listojesi luonnista.",
"blocked_by_response": "Estetty vastauksen CNAME:n tai IP:n perusteella",
"blocked_by_cname_or_ip": "Estetty CNAME:n tai IP:n perusteella",
"blocked_by_response": "Vastauksen sisältämän CNAME:n tai IP:n estämä",
"blocked_by_cname_or_ip": "CNAME:n tai IP:n estämä",
"try_again": "Yritä uudelleen",
"domain_desc": "Syötä korvattava verkkotunnus tai jokerimerkki.",
"example_rewrite_domain": "korvaa vain tämän verkkotunnuksen vastaukset",
@@ -625,7 +616,7 @@
"cache_ttl_max_override_desc": "Määritä DNS-välimuistin kohteiden enimmäiselinaika (sekunteina).",
"ttl_cache_validation": "Välimuistin vähimmäiselinajan on oltava pienempi tai sama kuin enimmäiselinajan",
"cache_optimistic": "Optimistinen välimuisti",
"cache_optimistic_desc": "Pakota AdGuard Home vastaamaan välimuistista vaikka tiedot olisivat vanhentuneet. Pyri samalla myös päivittämään tiedot.",
"cache_optimistic_desc": "Pakota AdGuard Home vastaamaan välimuistista vaikka sen tiedot olisivat vanhentuneet. Pyri samalla myös päivittämään tiedot.",
"filter_category_general": "Yleiset",
"filter_category_security": "Turvallisuus",
"filter_category_regional": "Alueelliset",
@@ -646,27 +637,5 @@
"safe_browsing": "Turvallinen selaus",
"served_from_cache": "{{value}} <i>(jaettu välimuistista)</i>",
"form_error_password_length": "Salasanan on oltava ainakin {{value}} merkkiä",
"anonymizer_notification": "<0>Huomioi:</0> IP-osoitteen anonymisointi on käytössä. Voit poistaa sen käytöstä <1>Yleisistä asetuksista</1>.",
"confirm_dns_cache_clear": "Haluatko varmasti tyhjentää DNS-välimuistin?",
"cache_cleared": "DNS-välimuistin tyhjennys onnistui",
"clear_cache": "Tyhjennä välimuisti",
"make_static": "Tallenna kiinteäksi",
"theme_auto_desc": "Automaattinen (seuraa laitteen väriteemaa)",
"theme_dark_desc": "Tumma teema",
"theme_light_desc": "Vaalea teema",
"disable_for_seconds": "{{count}} sekunniksi",
"disable_for_seconds_plural": "{{count}} sekunniksi",
"disable_for_minutes": "{{count}} minuutiksi",
"disable_for_minutes_plural": "{{count}} minuutiksi",
"disable_for_hours": "{{count}} tunniksi",
"disable_for_hours_plural": "{{count}} tunniksi",
"disable_until_tomorrow": "Huomiseen asti",
"disable_notify_for_seconds": "Poista suojaus käytöstä {{count}} sekunniksi",
"disable_notify_for_seconds_plural": "Poista suojaus käytöstä {{count}} sekunniksi",
"disable_notify_for_minutes": "Poista suojaus käytöstä {{count}} minuutiksi",
"disable_notify_for_minutes_plural": "Poista suojaus käytöstä {{count}} minuutiksi",
"disable_notify_for_hours": "Poista suojaus käytöstä {{count}} tunniksi",
"disable_notify_for_hours_plural": "Poista suojaus käytöstä {{count}} tunniksi",
"disable_notify_until_tomorrow": "Poista suojaus käytöstä huomiseen asti",
"enable_protection_timer": "Suojaus otetaan käyttöön {{time}} kuluttua"
"anonymizer_notification": "<0>Huomioi:</0> IP-osoitteen anonymisointi on käytössä. Voit poistaa sen käytöstä <1>Yleisistä asetuksista</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Paramètres IPv6 du DHCP",
"form_error_required": "Champ requis",
"form_error_ip4_format": "Adresse IPv4 invalide",
"form_error_ip4_range_start_format": "Adresse de début de plage IPv4 incorrecte",
"form_error_ip4_range_end_format": "Adresse de fin de plage IPv4 incorrecte",
"form_error_ip4_gateway_format": "Adresse de passerelle IPv4 invalide",
"form_error_ip6_format": "Adresse IPv6 invalide",
"form_error_ip_format": "Adresse IP invalide",
@@ -49,8 +51,9 @@
"out_of_range_error": "Doit être hors plage « {{start}} » - « {{end}} »",
"lower_range_start_error": "Doit être inférieur au début de plage",
"greater_range_start_error": "Doit être supérieur au début de plage",
"greater_range_end_error": "Doit être supérieur à la fin de plage",
"subnet_error": "Les adresses doivent être dans le même sous-réseau",
"gateway_or_subnet_invalid": "Masque de sous-réseau invalide.",
"gateway_or_subnet_invalid": "Masque de sous-réseau invalide",
"dhcp_form_gateway_input": "IP de la passerelle",
"dhcp_form_subnet_input": "Masque de sous-réseau",
"dhcp_form_range_title": "Rangée des adresses IP",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Contrôle Parental activé",
"disabled_safe_search_toast": "Recherche Sécurisée désactivée",
"enabled_save_search_toast": "Recherche Sécurisée activée",
"updated_save_search_toast": "Les paramètres de Recherche sécurisée sont mis à jour",
"enabled_table_header": "Activé",
"name_table_header": "Nom",
"list_url_table_header": "URL de la liste",
@@ -223,7 +225,7 @@
"updated_upstream_dns_toast": "Serveurs en amont enregistrés",
"dns_test_ok_toast": "Les serveurs DNS spécifiés fonctionnent correctement",
"dns_test_not_ok_toast": "Impossible d'utiliser le serveur « {{key}} »: veuillez vérifier si le nom saisi est bien correct",
"dns_test_warning_toast": "L'amont « {{key}} » ne répond pas aux demandes de test et peut ne pas fonctionner correctement",
"dns_test_warning_toast": "L'amont «{{key}}» ne répond pas aux demandes de test et peut ne pas fonctionner correctement",
"unblock": "Débloquer",
"block": "Bloquer",
"disallow_this_client": "Interdire ce client",
@@ -291,8 +293,6 @@
"rate_limit": "Limite de taux",
"edns_enable": "Activer le sous-réseau du client EDNS",
"edns_cs_desc": "Ajouter l'option du sous-réseau Client EDNS (ECS) au requêtes en amont et enregistrer les valeurs envoyées par les clients dans le journal des requêtes.",
"edns_use_custom_ip": "Utiliser une IP personnalisée pour EDNS",
"edns_use_custom_ip_desc": "Autoriser l'utilisation d'une adresse IP personnalisée pour EDNS",
"rate_limit_desc": "Le nombre de requêtes par seconde quun seul client est autorisé à faire. Le réglage 0 fait illimité.",
"blocking_ipv4_desc": "Adresse IP à renvoyer pour une demande A bloquée",
"blocking_ipv6_desc": "Adresse IP à renvoyer pour une demande AAAA bloquée",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN : Répondre avec le code NXDOMAIN",
"blocking_mode_null_ip": "IP nulle : Répondre avec une adresse IP nulle (0.0.0.0 pour A ; :: pour AAAA)",
"blocking_mode_custom_ip": "IP personnalisée : Répondre avec une adresse IP définie manuellement",
"theme_auto": "Auto",
"theme_light": "Thème clair",
"theme_dark": "Thème sombre",
"upstream_dns_client_desc": "Si vous laissez ce champ vide, AdGuard Home utilisera les serveurs configurés dans les <0>paramètres DNS</0>.",
"tracker_source": "Source du traceur",
"source_label": "Source",
@@ -396,7 +393,6 @@
"encryption_issuer": "Émetteur",
"encryption_hostnames": "Noms d'hôte",
"encryption_reset": "Voulez-vous vraiment réinitialiser les paramètres de chiffrement ?",
"encryption_warning": "Attention",
"topline_expiring_certificate": "Votre certificat SSL est sur le point d'expirer. Mettez à jour vos <0>Paramètres de chiffrement</0>.",
"topline_expired_certificate": "Votre certificat SSL a expiré. Mettez à jour vos <0>Paramètres de chiffrement</0>.",
"form_error_port_range": "Saisissez une valeur de port entre 80 et 65535",
@@ -457,7 +453,6 @@
"updates_checked": "Une nouvelle version de AdGuard Home est disponible",
"updates_version_equal": "AdGuard Home est à jour",
"check_updates_now": "Vérifier les mises à jour",
"version_request_error": "Impossible de vérifier les mises à jour. Veuillez vérifier votre connexion internet.",
"dns_privacy": "Confidentialité DNS",
"setup_dns_privacy_1": "<0>DNS-over-TLS :</0> Utiliser le string <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS :</0> Utiliser le string <1>{{address}}</1>.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Êtes-vous sûr de vouloir modifier le maintien des statistiques ? Si vous diminuez la valeur de l'intervalle, certaines données seront perdues",
"statistics_cleared": "Statistiques effacées",
"statistics_enable": "Activer les statistiques",
"ignore_domains": "Domaines ignorés (séparés par une nouvelle ligne)",
"ignore_domains_title": "Domaines ignorés",
"ignore_domains_desc_stats": "Les requêtes pour ces domaines ne sont pas écrites dans les statistiques",
"ignore_domains_desc_query": "Les requêtes pour ces domaines ne sont pas écrites dans le journal des requêtes",
"interval_hours": "{{count}} heure",
"interval_hours_plural": "{{count}} heures",
"filters_configuration": "Configuration des filtres",
@@ -646,27 +637,5 @@
"safe_browsing": "Navigation sécurisée",
"served_from_cache": "{{value}} <i>(depuis le cache)</i>",
"form_error_password_length": "Le mot de passe doit comporter au moins {{value}} caractères",
"anonymizer_notification": "<0>Note :</0> L'anonymisation IP est activée. Vous pouvez la désactiver dans les <1>paramètres généraux</1>.",
"confirm_dns_cache_clear": "Voulez-vous vraiment vider le cache DNS ?",
"cache_cleared": "Le cache DNS a été vidé",
"clear_cache": "Vider le cache",
"make_static": "Rendre statique",
"theme_auto_desc": "Auto (en fonction de la palette de couleurs de votre appareil)",
"theme_dark_desc": "Thème sombre",
"theme_light_desc": "Thème clair",
"disable_for_seconds": "Pendant {{count}} seconde",
"disable_for_seconds_plural": "Pendant {{count}} secondes",
"disable_for_minutes": "Pendant {{count}} minute",
"disable_for_minutes_plural": "Pendant {{count}} minutes",
"disable_for_hours": "Pendant {{count}} heure",
"disable_for_hours_plural": "Pendant {{count}} heures",
"disable_until_tomorrow": "Jusqu'à demain",
"disable_notify_for_seconds": "Désactiver la protection pendant {{count}} seconde",
"disable_notify_for_seconds_plural": "Désactiver la protection pendant {{count}} secondes",
"disable_notify_for_minutes": "Désactiver la protection pendant {{count}} minute",
"disable_notify_for_minutes_plural": "Désactiver la protection pendant {{count}} minutes",
"disable_notify_for_hours": "Désactiver la protection pendant {{count}} heure",
"disable_notify_for_hours_plural": "Désactiver la protection pendant {{count}} heures",
"disable_notify_until_tomorrow": "Désactiver la protection jusqu'à demain",
"enable_protection_timer": "La protection sera activée dans {{time}}"
"anonymizer_notification": "<0>Note :</0> L'anonymisation IP est activée. Vous pouvez la désactiver dans les <1>paramètres généraux</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 postavke",
"form_error_required": "Obavezno polje",
"form_error_ip4_format": "Nevažeća IPv4 adresa",
"form_error_ip4_range_start_format": "Nepravilan početak ranga IPv4 adresa",
"form_error_ip4_range_end_format": "Nepravilan kraj ranga IPv4 adresa",
"form_error_ip4_gateway_format": "Nepravilna IPV4 adresa čvora",
"form_error_ip6_format": "Nevažeći IPv6 adresa",
"form_error_ip_format": "Nepravilna IP adresa",
@@ -49,8 +51,9 @@
"out_of_range_error": "Mora biti izvan ranga \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Mora biti niže od početnog ranga",
"greater_range_start_error": "Mora biti veće od krajnjeg ranga",
"greater_range_end_error": "Mora biti veće od krajnjeg ranga",
"subnet_error": "Adrese moraju biti iz iste podmreže",
"gateway_or_subnet_invalid": "Nevažeća podmrežna maska",
"gateway_or_subnet_invalid": "Maska podmreže je neprvilna",
"dhcp_form_gateway_input": "Gateway IP",
"dhcp_form_subnet_input": "Subnet maskiranje",
"dhcp_form_range_title": "Raspon IP adresa",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Omogućen roditeljski nadzor",
"disabled_safe_search_toast": "Onemogućeno sigurno pretraživanje",
"enabled_save_search_toast": "Omogućeno sigurno pretraživanje",
"updated_save_search_toast": "Ažurirane postavke sigurnog pretraživanja",
"enabled_table_header": "Omogućeno",
"name_table_header": "Naziv",
"list_url_table_header": "URL popisa",
@@ -291,8 +293,6 @@
"rate_limit": "Ograničenje",
"edns_enable": "Omogući podmrežu klijenta EDNS-a",
"edns_cs_desc": "Dodajte opciju EDNS klijentske podmreže (ECS) uzvodnim zahtjevima i zabilježite vrijednosti koje su klijenti poslali u dnevnik upita.",
"edns_use_custom_ip": "Koristi prilagođeni IP za EDNS",
"edns_use_custom_ip_desc": "Dopusti korištenje prilagođenog IP-a za EDNS",
"rate_limit_desc": "Broj zahtjeva u sekundi koji su dopušteni po jednom klijentu. Postavljanje na 0 znači neograničeno.",
"blocking_ipv4_desc": "Povratna IP adresa za blokirane A zahtjeve",
"blocking_ipv6_desc": "Povratna IP adresa za blokirane AAAA zahtjeve",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Odgovor s NXDOMAIN kôdom",
"blocking_mode_null_ip": "Nuliran IP: Odgovor s nuliranom IP adresom (0.0.0.0 za A; :: za AAAA)",
"blocking_mode_custom_ip": "Prilagođeni IP: Odgovor s ručno postavljenom IP adresom",
"theme_auto": "Auto",
"theme_light": "Svijetla",
"theme_dark": "Tamna",
"upstream_dns_client_desc": "Ako ovo polje ostane prazno, AdGuard Home će upotrijebiti poslužitelje postavljene u <0>DNS postavkama</0>.",
"tracker_source": "Izvor pratitelja",
"source_label": "Izvor",
@@ -396,7 +393,6 @@
"encryption_issuer": "Izdavač",
"encryption_hostnames": "Nazivi računala",
"encryption_reset": "Jeste li sigurni da želite poništiti postavke šifriranja?",
"encryption_warning": "Upozorenje",
"topline_expiring_certificate": "Vaš SSL certifikat uskoro ističe. Ažurirajte <0>Postavke šifriranja</0>.",
"topline_expired_certificate": "Vaš SSL certifikat je istekao. Ažurirajte <0>Postavke šifriranja</0>.",
"form_error_port_range": "Unesite broj porta od 80 do 65536",
@@ -457,7 +453,6 @@
"updates_checked": "Dostupna je nova verzija AdGuard Home-a",
"updates_version_equal": "AdGuard Home je ažuriran",
"check_updates_now": "Provjeri ažuriranja sada",
"version_request_error": "Ne uspješna provjera ažuriranja. Provjerite vašu Internetsku vezu.",
"dns_privacy": "DNS privatnost",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Koristite <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Koristite <1>{{address}}</1>.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Jeste li sigurni da želite promijeniti zadržavanje statistike? Ako smanjite vrijednost intervala, neki će podaci biti izgubljeni",
"statistics_cleared": "Statistika je uspješno uklonjenja",
"statistics_enable": "Omogući statistiku",
"ignore_domains": "Zanemarene domene (odvojene novim retkom)",
"ignore_domains_title": "Zanemarene domene",
"ignore_domains_desc_stats": "Upiti za ove domene ne upisuju se u statistiku",
"ignore_domains_desc_query": "Upiti za te domene nisu zapisani u zapisnik upita",
"interval_hours": "{{count}} sata/i",
"interval_hours_plural": "{{count}} sata/i",
"filters_configuration": "Postavke filtara",
@@ -646,27 +637,5 @@
"safe_browsing": "Sigurno surfanje",
"served_from_cache": "{{value}} <i>(dohvaćeno iz predmemorije)</i>",
"form_error_password_length": "Lozinka mora imati najmanje {{value}} znakova",
"anonymizer_notification": "<0>Napomena:</0>IP anonimizacija je omogućena. Možete ju onemogućiti u <1>općim postavkama</1>.",
"confirm_dns_cache_clear": "Jeste li sigurni da želite očistiti DNS predmemoriju?",
"cache_cleared": "DNS predmemorija je uspješno izbrisana",
"clear_cache": "Očisti predmemoriju",
"make_static": "Učini statičnim",
"theme_auto_desc": "Automatski (na temelju sheme boja vašeg uređaja)",
"theme_dark_desc": "Tamna tema",
"theme_light_desc": "Svijetla tema",
"disable_for_seconds": "Za {{count}} sekundi",
"disable_for_seconds_plural": "Za {{count}} sekundi",
"disable_for_minutes": "Za {{count}} minuta",
"disable_for_minutes_plural": "Za {{count}} minuta",
"disable_for_hours": "Za {{count}} sati",
"disable_for_hours_plural": "Za {{count}} sati",
"disable_until_tomorrow": "Do sutra",
"disable_notify_for_seconds": "Isključi zaštitu na {{count}} sekundi",
"disable_notify_for_seconds_plural": "Onemogući zaštitu na {{count}} sekundi",
"disable_notify_for_minutes": "Isključi zaštitu na {{count}} minuta",
"disable_notify_for_minutes_plural": "Isključi zaštitu na {{count}} minuta",
"disable_notify_for_hours": "Isključi zaštitu na {{count}} sati",
"disable_notify_for_hours_plural": "Isključi zaštitu na {{count}} sati",
"disable_notify_until_tomorrow": "Isključi zaštitu do sutra",
"enable_protection_timer": "Zaštita će biti omogućena u {{time}}"
"anonymizer_notification": "<0>Napomena:</0>IP anonimizacija je omogućena. Možete ju onemogućiti u <1>općim postavkama</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 Beállítások",
"form_error_required": "Kötelező mező",
"form_error_ip4_format": "Érvénytelen IPv4 cím",
"form_error_ip4_range_start_format": "Érvénytelen IPv4-cím a tartomány kezdetéhez",
"form_error_ip4_range_end_format": "Érvénytelen IPv4-cím a tartomány végén",
"form_error_ip4_gateway_format": "Az átjáróhoz (gateway) érvénytelen IPv4 cím lett megadva",
"form_error_ip6_format": "Érvénytelen IPv6 cím",
"form_error_ip_format": "Érvénytelen IP-cím",
@@ -49,6 +51,7 @@
"out_of_range_error": "A következő tartományon kívül legyen: \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Kisebb legyen, mint a tartomány kezdete",
"greater_range_start_error": "Nagyobbnak kell lennie, mint a tartomány kezdete",
"greater_range_end_error": "Nagyobb legyen, mint a tartomány vége",
"subnet_error": "A címeknek egy alhálózatban kell lenniük",
"gateway_or_subnet_invalid": "Az alhálózati maszk érvénytelen",
"dhcp_form_gateway_input": "Átjáró IP",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Az NXDOMAIN kóddal fog válaszolni",
"blocking_mode_null_ip": "Null IP: Nullákból álló IP-címmel válaszol (0.0.0.0 for A; :: for AAAA)",
"blocking_mode_custom_ip": "Egyedi IP: Válasz egy kézzel beállított IP címmel",
"theme_auto": "Auto",
"theme_light": "Világos",
"theme_dark": "Sötét",
"upstream_dns_client_desc": "Ha üresen hagyja ezt a mezőt, az AdGuard Home azokat a szervereket fogja használni, amik a <0>DNS beállításokban</0> vannak beállítva.",
"tracker_source": "Követő forrása",
"source_label": "Forrás",
@@ -393,7 +393,6 @@
"encryption_issuer": "Kibocsátó",
"encryption_hostnames": "Hosztnevek",
"encryption_reset": "Biztosan visszaállítja a titkosítási beállításokat?",
"encryption_warning": "Figyelmeztetés",
"topline_expiring_certificate": "Az SSL-tanúsítványa hamarosan lejár. Frissítse a <0>Titkosítási beállításokat</0>.",
"topline_expired_certificate": "Az SSL-tanúsítványa lejárt. Frissítse a <0>Titkosítási beállításokat</0>.",
"form_error_port_range": "Adjon meg egy portszámot a 80-65535 tartományon belül",
@@ -454,7 +453,6 @@
"updates_checked": "Elérhető az AdGuard Home új verziója",
"updates_version_equal": "Az AdGuard Home naprakész",
"check_updates_now": "Frissítések ellenőrzése most",
"version_request_error": "A frissítések ellenőrzése sikertelen. Ellenőrizze az internetkapcsolatot.",
"dns_privacy": "DNS Adatvédelem",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Használja a(z) <1>{{address}}</1> szöveget.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Használja a(z) <1>{{address}}</1> szöveget.",
@@ -639,8 +637,5 @@
"safe_browsing": "Biztonságos böngészés",
"served_from_cache": "{{value}} <i>(gyorsítótárból kiszolgálva)</i>",
"form_error_password_length": "A jelszó legalább {{value}} karakter hosszú kell, hogy legyen",
"anonymizer_notification": "<0>Megjegyzés:</0> Az IP anonimizálás engedélyezve van. Az <1>Általános beállításoknál letilthatja</1> .",
"confirm_dns_cache_clear": "Biztos benne, hogy törölni szeretné a DNS-gyorsítótárat?",
"cache_cleared": "A DNS gyorsítótár sikeresen törlődött",
"clear_cache": "Gyorsítótár törlése"
"anonymizer_notification": "<0>Megjegyzés:</0> Az IP anonimizálás engedélyezve van. Az <1>Általános beállításoknál letilthatja</1> ."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Pengaturan DHCP IPv6",
"form_error_required": "Kolom yang harus diisi",
"form_error_ip4_format": "Alamat IPv4 tidak valid",
"form_error_ip4_range_start_format": "Alamat IPv4 tidak valid dari rentang awal",
"form_error_ip4_range_end_format": "Alamat IPv4 tidak valid dari rentang akhir",
"form_error_ip4_gateway_format": "Alamat IPv4 gateway tidak valid",
"form_error_ip6_format": "Alamat IPv6 tidak valid",
"form_error_ip_format": "Alamat IP tidak valid",
@@ -49,6 +51,7 @@
"out_of_range_error": "Harus di luar rentang \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Harus lebih rendah dari rentang awal",
"greater_range_start_error": "Harus lebih besar dari rentang awal",
"greater_range_end_error": "Harus lebih besar dari rentang akhir",
"subnet_error": "Alamat harus dalam satu subnet",
"gateway_or_subnet_invalid": "Subnet mask tidak valid",
"dhcp_form_gateway_input": "IP gateway",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Respon pakai kode NXDOMAIN",
"blocking_mode_null_ip": "Null IP: Respon pakai alamat IP kosong (0.0.0.0 untuk A; :: untuk AAAA)",
"blocking_mode_custom_ip": "IP kustom: respon dengan alamat IP yang diset secara manual",
"theme_auto": "Auto",
"theme_light": "Terang",
"theme_dark": "Gelap",
"upstream_dns_client_desc": "Jika Anda biarkan bidang ini kosong, AdGuard Home akan memakai server yang dikonfigurasi di<0>Pengaturan DNS</0>.",
"tracker_source": "Sumber pelacak",
"source_label": "Sumber",
@@ -393,7 +393,6 @@
"encryption_issuer": "Penerbit",
"encryption_hostnames": "Nama host",
"encryption_reset": "Anda yakin ingin mengatur ulang pengaturan enkripsi?",
"encryption_warning": "Perhatian",
"topline_expiring_certificate": "Sertifikat SSL Anda hampir kedaluwarsa. Perbarui <0>Pengaturan enkripsi</0>.",
"topline_expired_certificate": "Sertifikat SSL Anda kedaluwarsa. Perbarui <0>Pengaturan enkripsi</0>.",
"form_error_port_range": "Masukkan nomor port di kisaran 80-65535",
@@ -638,8 +637,5 @@
"safe_browsing": "Penjelajahan Aman",
"served_from_cache": "{{value}} <i>(disajikan dari cache)</i>",
"form_error_password_length": "Kata sandi harus minimal {{value}} karakter",
"anonymizer_notification": "<0>Catatan:</0> Anonimisasi IP diaktifkan. Anda dapat menonaktifkannya di <1>Pengaturan umum</1> .",
"confirm_dns_cache_clear": "Apakah Anda yakin ingin menghapus cache DNS?",
"cache_cleared": "Cache DNS berhasil dibersihkan",
"clear_cache": "Hapus cache"
"anonymizer_notification": "<0>Catatan:</0> Anonimisasi IP diaktifkan. Anda dapat menonaktifkannya di <1>Pengaturan umum</1> ."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Impostazioni DHCP IPv6",
"form_error_required": "Campo richiesto",
"form_error_ip4_format": "Indirizzo IPv4 non valido",
"form_error_ip4_range_start_format": "Indirizzo IPV4 non valido dell'intervallo iniziale",
"form_error_ip4_range_end_format": "Indirizzo IPV4 non valido dell'intervallo finale",
"form_error_ip4_gateway_format": "Indirizzo gateway IPv4 non valido",
"form_error_ip6_format": "Indirizzo IPv6 non valido",
"form_error_ip_format": "Indirizzo IP non valido",
@@ -49,6 +51,7 @@
"out_of_range_error": "Deve essere fuori intervallo \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Deve essere inferiore dell'intervallo di inizio",
"greater_range_start_error": "Deve essere maggiore dell'intervallo di inizio",
"greater_range_end_error": "Deve essere maggiore dell'intervallo di fine",
"subnet_error": "Gli indirizzi devono trovarsi in una sottorete",
"gateway_or_subnet_invalid": "Maschera di sottorete non valida",
"dhcp_form_gateway_input": "IP Gateway",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Il Controllo Parentale è attivo",
"disabled_safe_search_toast": "La Ricerca Sicura è disattivata",
"enabled_save_search_toast": "La Ricerca Sicura è attiva",
"updated_save_search_toast": "Impostazioni di Safe Search aggiornate",
"enabled_table_header": "Attivo",
"name_table_header": "Nome",
"list_url_table_header": "Elenco URL",
@@ -291,8 +293,6 @@
"rate_limit": "Limite delle richieste",
"edns_enable": "Attiva client di sottorete EDNS",
"edns_cs_desc": "Aggiunge l'opzione EDNS Client Subnet (ECS) alle richieste upstream e registra i valori inviati dai client nel registro delle richieste.",
"edns_use_custom_ip": "Usa IP personalizzato per EDNS",
"edns_use_custom_ip_desc": "Consentire l'uso di un IP personalizzato per EDNS",
"rate_limit_desc": "Il numero di richieste al secondo consentite da un singolo client. Impostare questo valore a 0 rimuove le limitazioni.",
"blocking_ipv4_desc": "Indirizzo IP per una richiesta DNS IPv4 bloccata",
"blocking_ipv6_desc": "Indirizzo IP restituito per una richiesta DNS IPv6 bloccata",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Rispondi con il codice NXDOMAIN",
"blocking_mode_null_ip": "IP nullo: Rispondi con indirizzo IP zero (0.0.0.0 per A; :: per AAAA)",
"blocking_mode_custom_ip": "IP personalizzato: Rispondi con un indirizzo IP impostato manualmente",
"theme_auto": "Auto",
"theme_light": "Chiaro",
"theme_dark": "Scuro",
"upstream_dns_client_desc": "Se lasci questo spazio vuoto, AdGuard Home utilizzerà i server configurati nelle <0>impostazioni DNS</0>.",
"tracker_source": "Origine del tracciatore",
"source_label": "Fonte",
@@ -396,7 +393,6 @@
"encryption_issuer": "Emittente",
"encryption_hostnames": "Nomi host",
"encryption_reset": "Sei sicuro di voler ripristinare le impostazioni di crittografia?",
"encryption_warning": "Attenzione",
"topline_expiring_certificate": "Il tuo certificato SSL sta per scadere. Aggiorna le<0> Impostazioni di crittografia </ 0>.",
"topline_expired_certificate": "Il tuo certificato SSL è scaduto. Aggiorna le <0> Impostazioni di crittografia </ 0>.",
"form_error_port_range": "Immettere il valore della porta nell'intervallo 80-65535",
@@ -457,7 +453,6 @@
"updates_checked": "Nuova versione di AdGuard Home è disponibile",
"updates_version_equal": "AdGuard Home è aggiornato",
"check_updates_now": "Ricerca aggiornamenti ora",
"version_request_error": "Ricerca aggiornamenti non riuscita. Per favore controlla la tua connessione internet.",
"dns_privacy": "Privacy DNS",
"setup_dns_privacy_1": "<0>DNS su TLS:</0> Utilizza la stringa <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS su HTTPS:</0> Utilizza la stringa <1>{{address}}</1>.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Sei sicuro di voler modificare la conservazione delle statistiche? Se il valore di intervallo dovesse diminuire, alcuni dati andranno persi",
"statistics_cleared": "Statistiche azzerate correttamente",
"statistics_enable": "Attiva statistiche",
"ignore_domains": "Domini ignorati (separati da nuova riga)",
"ignore_domains_title": "Domini ignorati",
"ignore_domains_desc_stats": "Le richieste per questi domini non vengono scritte nelle statistiche",
"ignore_domains_desc_query": "Le richieste per questi domini non vengono scritte nel registro delle richieste",
"interval_hours": "{{count}} ora",
"interval_hours_plural": "{{count}} ore",
"filters_configuration": "Configurazione filtri",
@@ -646,27 +637,5 @@
"safe_browsing": "Navigazione Sicura",
"served_from_cache": "{{value}} <i>(fornito dalla cache)</i>",
"form_error_password_length": "La password deve contenere almeno {{value}} caratteri",
"anonymizer_notification": "<0>Attenzione:</0> L'anonimizzazione dell'IP è abilitata. Puoi disabilitarla in <1>Impostazioni generali</1>.",
"confirm_dns_cache_clear": "Sei sicuro di voler cancellare la cache DNS?",
"cache_cleared": "Cache DNS è stata cancellata correttamente",
"clear_cache": "Cancella cache",
"make_static": "Rendere statico",
"theme_auto_desc": "Auto (in base alla combinazione di colori del tuo dispositivo)",
"theme_dark_desc": "Tema scuro",
"theme_light_desc": "Tema chiaro",
"disable_for_seconds": "Per {{count}} secondo",
"disable_for_seconds_plural": "Per {{count}} secondi",
"disable_for_minutes": "Per {{count}} minuto",
"disable_for_minutes_plural": "Per {{count}} minuti",
"disable_for_hours": "Per {{count}} ora",
"disable_for_hours_plural": "Per {{count}} ore",
"disable_until_tomorrow": "Fino a domani",
"disable_notify_for_seconds": "Disattiva la protezione per {{count}} secondo",
"disable_notify_for_seconds_plural": "Disattiva la protezione per {{count}} secondi",
"disable_notify_for_minutes": "Disattiva protezione per {{count}} minuto",
"disable_notify_for_minutes_plural": "Disattiva la protezione per {{count}} minuti",
"disable_notify_for_hours": "Disattiva la protezione per {{count}} ora",
"disable_notify_for_hours_plural": "Disattiva la protezione per {{count}} ore",
"disable_notify_until_tomorrow": "Disattiva la protezione fino a domani",
"enable_protection_timer": "La protezione verrà attivata in {{time}}"
"anonymizer_notification": "<0>Attenzione:</0> L'anonimizzazione dell'IP è abilitata. Puoi disabilitarla in <1>Impostazioni generali</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 設定",
"form_error_required": "必須項目です",
"form_error_ip4_format": "IPv4アドレスが無効です",
"form_error_ip4_range_start_format": "範囲開始のIPv4アドレスが無効です",
"form_error_ip4_range_end_format": "範囲終了のIPv4アドレスが無効です",
"form_error_ip4_gateway_format": "ゲートウェイのIPv4アドレスが無効です",
"form_error_ip6_format": "IPv6アドレスが無効です",
"form_error_ip_format": "IPアドレスが無効です",
@@ -49,6 +51,7 @@
"out_of_range_error": "\"{{start}}\"〜\"{{end}}\" の範囲外である必要があります",
"lower_range_start_error": "範囲開始よりも低い値である必要があります",
"greater_range_start_error": "範囲開始値より大きい値でなければなりません",
"greater_range_end_error": "範囲終了値より大きい値でなければなりません",
"subnet_error": "両アドレスが同じサブネット内にある必要があります",
"gateway_or_subnet_invalid": "サブネットマスクが無効です",
"dhcp_form_gateway_input": "ゲートウェイIP",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "ペアレンタルコントロールが有効になりました",
"disabled_safe_search_toast": "セーフサーチが無効になりました",
"enabled_save_search_toast": "セーフサーチが有効になりました",
"updated_save_search_toast": "セーフ サーチの設定が更新されました。",
"enabled_table_header": "有効",
"name_table_header": "名称",
"list_url_table_header": "URLリスト",
@@ -291,8 +293,6 @@
"rate_limit": "頻度制限",
"edns_enable": "EDNSクライアントサブネットを有効にする",
"edns_cs_desc": "アップストリームリクエストにEDNSクライアントサブネットオプションECSを追加し、クライアントから送信された値をクエリログに記録します。",
"edns_use_custom_ip": "EDNSにカスタムIPを使用する",
"edns_use_custom_ip_desc": "EDNS に対してカスタム IP の使用を許可します。",
"rate_limit_desc": "一つのクライアントに対して許可される1秒あたりのリクエスト数「0」に設定すると、制限なしになります",
"blocking_ipv4_desc": "ブロックされたAリクエストに対して応答されるIPアドレス",
"blocking_ipv6_desc": "ブロックされたAAAAリクエストに対して応答されるIPアドレス",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAINNXDOMAINコードで応答します",
"blocking_mode_null_ip": "Null IPゼロのIPアドレスで応答しますAの場合は0.0.0.0; AAAAの場合は::",
"blocking_mode_custom_ip": "カスタムIP手動で設定されたIPアドレスで応答します",
"theme_auto": "自動",
"theme_light": "ライト",
"theme_dark": "ダーク",
"upstream_dns_client_desc": "このフィールドを未入力のままにすると、AdGuard Homeは<0>DNS設定</0>で構成されたサーバを使用します。",
"tracker_source": "追跡元",
"source_label": "ソース",
@@ -396,7 +393,6 @@
"encryption_issuer": "発行者",
"encryption_hostnames": "ホスト名",
"encryption_reset": "暗号化設定をリセットして良いですか?",
"encryption_warning": "警告",
"topline_expiring_certificate": "SSL証明書は期限切れになります。<0>暗号化設定</0>を更新します。",
"topline_expired_certificate": "SSL証明書は期限切れです。<0>暗号化設定</0>を更新します。",
"form_error_port_range": "80〜65535 の範囲内でポート番号を入力してください",
@@ -457,7 +453,6 @@
"updates_checked": "AdGuard Homeの新バージョンが利用可能です。",
"updates_version_equal": "AdGuard Homeは既に最新です",
"check_updates_now": "今すぐアップデートを確認する",
"version_request_error": "アップデート確認に失敗しました。インターネット接続を確認してください。",
"dns_privacy": "DNSプライバシー",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1>という文字列を使用してください。",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1>という文字列を使用してください。",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "統計の保持を変更してもよろしいですか? 期間を短くすると、一部のデータが失われます",
"statistics_cleared": "統計の消去に成功しました",
"statistics_enable": "統計を有効にする",
"ignore_domains": "無視するドメイン(それぞれ改行で区切ってください)",
"ignore_domains_title": "無視するドメイン",
"ignore_domains_desc_stats": "これらのドメインへのクエリは統計に書き込まれません。",
"ignore_domains_desc_query": "これらのドメインへのクエリはクエリログに書き込まれません。",
"interval_hours": "{{count}}時間",
"interval_hours_plural": "{{count}}時間",
"filters_configuration": "フィルタ設定",
@@ -646,27 +637,5 @@
"safe_browsing": "セーフブラウジング",
"served_from_cache": "{{value}} <i>(キャッシュから応答)</i>",
"form_error_password_length": "パスワードは{{value}}文字以上にしてください",
"anonymizer_notification": "【<0>注意</0>】IPの匿名化が有効になっています。 <1>一般設定</1>で無効にできます。",
"confirm_dns_cache_clear": "DNS キャッシュをクリアしてもよろしいですか?",
"cache_cleared": "DNSキャッシュのクリア完了です。",
"clear_cache": "キャッシュをクリアする",
"make_static": "静的staticにする",
"theme_auto_desc": "自動(デバイスの配色に合わせる)",
"theme_dark_desc": "ダークテーマ",
"theme_light_desc": "ライトテーマ",
"disable_for_seconds": "{{count}}秒間",
"disable_for_seconds_plural": "{{count}}秒間",
"disable_for_minutes": "{{count}}分間",
"disable_for_minutes_plural": "{{count}}分間",
"disable_for_hours": "{{count}}時間",
"disable_for_hours_plural": "{{count}}時間",
"disable_until_tomorrow": "明日まで",
"disable_notify_for_seconds": "保護を {{count}} 秒間無効にする",
"disable_notify_for_seconds_plural": "保護を {{count}} 秒間無効にする",
"disable_notify_for_minutes": "保護を {{count}} 分間無効にする",
"disable_notify_for_minutes_plural": "保護を {{count}} 分間無効にする",
"disable_notify_for_hours": "保護を {{count}} 時間無効にする",
"disable_notify_for_hours_plural": "保護を {{count}} 時間無効にする",
"disable_notify_until_tomorrow": "明日まで保護を無効にする",
"enable_protection_timer": "保護は後 {{time}} で有効になります"
"anonymizer_notification": "【<0>注意</0>】IPの匿名化が有効になっています。 <1>一般設定</1>で無効にできます。"
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 설정",
"form_error_required": "필수 영역",
"form_error_ip4_format": "잘못된 IPv4 형식",
"form_error_ip4_range_start_format": "잘못된 범위 시작 IPv4 형식",
"form_error_ip4_range_end_format": "잘못된 범위 종료 IPv4 형식",
"form_error_ip4_gateway_format": "잘못된 게이트웨이 IPv4 형식",
"form_error_ip6_format": "잘못된 IPv6 주소",
"form_error_ip_format": "잘못된 IP 주소",
@@ -49,6 +51,7 @@
"out_of_range_error": "'{{start}}'-'{{end}}' 범위 밖이어야 합니다",
"lower_range_start_error": "범위 시작보다 작은 값이어야 합니다",
"greater_range_start_error": "범위 시작보다 큰 값이어야 합니다",
"greater_range_end_error": "범위 종료보다 큰 값이어야 합니다",
"subnet_error": "주소는 하나의 서브넷에 있어야 합니다",
"gateway_or_subnet_invalid": "잘못된 서브넷 마스크",
"dhcp_form_gateway_input": "게이트웨이 IP",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "자녀 보호 활성화됨",
"disabled_safe_search_toast": "세이프서치 비활성화됨",
"enabled_save_search_toast": "세이프서치 활성화됨",
"updated_save_search_toast": "세이프서치 설정 업데이트됨",
"enabled_table_header": "활성화됨",
"name_table_header": "이름",
"list_url_table_header": "리스트 URL",
@@ -221,7 +223,7 @@
"example_upstream_tcp_hostname": "일반 DNS (TCP를 통한, 호스트명);",
"all_lists_up_to_date_toast": "모든 리스트가 이미 최신입니다",
"updated_upstream_dns_toast": "업스트림 서버가 성공적으로 저장되었습니다",
"dns_test_ok_toast": "지정된 DNS 서버가 올바르게 작동하고 있습니다.",
"dns_test_ok_toast": "특정 DNS 서버들은 정상적으로 동작 중입니다",
"dns_test_not_ok_toast": "서버 '{{key}}': 사용할 수 없습니다, 제대로 작성했는지 확인하세요",
"dns_test_warning_toast": "업스트림 '{{key}}'이(가) 테스트 요청에 응답하지 않으며 제대로 작동하지 않을 수 있습니다",
"unblock": "차단 해제",
@@ -291,8 +293,6 @@
"rate_limit": "한도 제한",
"edns_enable": "EDNS 클라이언트 서브넷 활성화",
"edns_cs_desc": "업스트림 요청에 EDNS 클라이언트 서브넷 옵션(ECS)을 추가하고 쿼리 로그에 클라이언트가 보낸 값을 기록합니다.",
"edns_use_custom_ip": "EDNS에 사용자 지정 IP 사용",
"edns_use_custom_ip_desc": "EDNS에 사용자 지정 IP 사용하도록 허용합니다.",
"rate_limit_desc": "단일 클라이언트에서 허용 가능한 초 당 요청 생성 숫자 (0: 무제한)",
"blocking_ipv4_desc": "차단된 A 요청에 대해서 반환할 IP 주소",
"blocking_ipv6_desc": "차단된 AAAA 요청에 대해서 반환할 IP 주소",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN 코드로 응답",
"blocking_mode_null_ip": "Null IP: 제로 IP 주소 (A는 0.0.0.0; AAAA는 ::) 로 응답합니다",
"blocking_mode_custom_ip": "커스텀 IP: 직접 설정한 IP 주소로 응답합니다",
"theme_auto": "자동",
"theme_light": "라이트 테마",
"theme_dark": "다크 테마",
"upstream_dns_client_desc": "이 값을 비워둔다면 AdGuard Home은 <0>DNS 설정</0>에 설정되어 있는 값을 사용합니다.",
"tracker_source": "추적기 소스",
"source_label": "소스",
@@ -396,7 +393,6 @@
"encryption_issuer": "발행자",
"encryption_hostnames": "호스트 이름",
"encryption_reset": "암호화 설정을 재설정하시겠습니까?",
"encryption_warning": "경고",
"topline_expiring_certificate": "SSL 인증서가 곧 만료됩니다. 업데이트<0> 암호화 설정</0>.",
"topline_expired_certificate": "SSL 인증서가 만료되었습니다. 업데이트<0> 암호화 설정</0>.",
"form_error_port_range": "80-65535 범위의 포트 번호를 입력하세요",
@@ -457,7 +453,6 @@
"updates_checked": "AdGuard Home의 새 버전을 사용할 수 있습니다",
"updates_version_equal": "AdGuard Home 최신 상태입니다.",
"check_updates_now": "지금 업데이트 확인",
"version_request_error": "업데이트 체크에 실패했습니다. 인터넷 연결 상태를 확인해주세요.",
"dns_privacy": "DNS 프라이버시",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1> 사용하세요.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1> 사용하세요.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "정말로 통계 저장 기간을 변경하시겠습니까? 저장 주기를 낮출 경우, 일부 데이터가 손실됩니다",
"statistics_cleared": "통계를 성공적으로 초기화했습니다.",
"statistics_enable": "통계 활성화",
"ignore_domains": "무시된 도메인(줄 바꿈으로 구분)",
"ignore_domains_title": "무시된 도메인",
"ignore_domains_desc_stats": "이러한 도메인에 대한 쿼리는 통계에 기록되지 않습니다.",
"ignore_domains_desc_query": "이러한 도메인에 대한 쿼리는 쿼리 로그에 기록되지 않습니다.",
"interval_hours": "{{count}} 시간",
"interval_hours_plural": "{{count}} 시간",
"filters_configuration": "필터 구성",
@@ -646,27 +637,5 @@
"safe_browsing": "세이프 브라우징",
"served_from_cache": "{{value}} <i>(캐시에서 제공)</i>",
"form_error_password_length": "비밀번호는 {{value}}자 이상이어야 합니다",
"anonymizer_notification": "<0>참고:</0> IP 익명화가 활성화되었습니다. <1>일반 설정</1>에서 비활성화할 수 있습니다.",
"confirm_dns_cache_clear": "정말로 DNS 캐시를 지우시겠습니까?",
"cache_cleared": "DNS 캐시를 성공적으로 지웠습니다",
"clear_cache": "캐시 지우기",
"make_static": "정적으로 만들기",
"theme_auto_desc": "자동(기기의 색 구성표에 따라 설정)",
"theme_dark_desc": "다크 테마",
"theme_light_desc": "라이트 테마",
"disable_for_seconds": "{{count}}초",
"disable_for_seconds_plural": "{{count}}초",
"disable_for_minutes": "{{count}}분",
"disable_for_minutes_plural": "{{count}}분간",
"disable_for_hours": "{{count}}시간",
"disable_for_hours_plural": "{{count}}시간",
"disable_until_tomorrow": "내일까지",
"disable_notify_for_seconds": "{{count}}초 동안 보호 기능 비활성화",
"disable_notify_for_seconds_plural": "{{count}}초 동안 보호 기능 비활성화",
"disable_notify_for_minutes": "{{count}}분 동안 보호 기능 비활성화",
"disable_notify_for_minutes_plural": "{{count}}분 동안 보호 기능 비활성화",
"disable_notify_for_hours": "{{count}}시간 동안 보호 기능 비활성화",
"disable_notify_for_hours_plural": "{{count}}시간 동안 보호 기능 비활성화",
"disable_notify_until_tomorrow": "내일까지 보호 기능 비활성화",
"enable_protection_timer": "{{time}}에 보호 기능이 활성화됩니다."
"anonymizer_notification": "<0>참고:</0> IP 익명화가 활성화되었습니다. <1>일반 설정</1>에서 비활성화할 수 있습니다."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 instellingen",
"form_error_required": "Vereist veld",
"form_error_ip4_format": "Ongeldig IPv4-adres",
"form_error_ip4_range_start_format": "Ongeldig IPv4-adres start bereik",
"form_error_ip4_range_end_format": "Ongeldig IPv4-adres einde bereik",
"form_error_ip4_gateway_format": "Ongeldig IPv4-adres van de gateway",
"form_error_ip6_format": "Ongeldig IPv6-adres",
"form_error_ip_format": "Ongeldig IP-adres",
@@ -49,8 +51,9 @@
"out_of_range_error": "Moet buiten bereik zijn \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Moet lager zijn dan begin reeks",
"greater_range_start_error": "Moet groter zijn dan begin reeks",
"greater_range_end_error": "Moet groter zijn dan einde reeks",
"subnet_error": "Adressen moeten in één subnet vallen",
"gateway_or_subnet_invalid": "Ongeldig subnetmasker",
"gateway_or_subnet_invalid": "Subnetmasker ongeldig",
"dhcp_form_gateway_input": "Gateway IP",
"dhcp_form_subnet_input": "Subnet mask",
"dhcp_form_range_title": "Bereik van IP adressen",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Ingeschakeld Ouderlijk toezicht",
"disabled_safe_search_toast": "Uitgeschakeld Veilig zoeken",
"enabled_save_search_toast": "Ingeschakeld Veilig zoeken",
"updated_save_search_toast": "Safe Search-instellingen bijgewerkt",
"enabled_table_header": "Ingeschakeld",
"name_table_header": "Naam",
"list_url_table_header": "URL lijst",
@@ -291,8 +293,6 @@
"rate_limit": "Ratio limiet",
"edns_enable": "EDNS client subnet inschakelen",
"edns_cs_desc": "De EDNS Client Subnet-optie (ECS) toevoegen aan upstream-verzoeken en de waarden die door de clients zijn verzonden registreren in het querylogboek.",
"edns_use_custom_ip": "Aangepast IP-adres gebruiken voor EDNS",
"edns_use_custom_ip_desc": "Toestaan om aangepast IP-adres voor EDNS te gebruiken",
"rate_limit_desc": "Het aantal verzoeken per seconde toegelaten per toestel. 0 betekent onbeperkt.",
"blocking_ipv4_desc": "IP-adres dat moet worden teruggegeven voor een geblokkeerd A-verzoek",
"blocking_ipv6_desc": "IP-adres dat moet worden teruggegeven voor een geblokkeerd A-verzoek",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Reageer met NXDOMAIN code",
"blocking_mode_null_ip": "Nul IP: Reageer met een nul IP address (0.0.0.0 voor A; :: voor AAAA)",
"blocking_mode_custom_ip": "Aangepast IP: Reageer met een handmatige ingesteld IP adres",
"theme_auto": "Automatisch",
"theme_light": "Licht",
"theme_dark": "Donker",
"upstream_dns_client_desc": "Indien je dit veld leeglaat zal AdGuard Home de servers welke zijn ingesteld in de <0>DNS instellingen</0> gebruiken.",
"tracker_source": "Bron volger",
"source_label": "Bron",
@@ -396,7 +393,6 @@
"encryption_issuer": "Uitgever",
"encryption_hostnames": "Hostnamen",
"encryption_reset": "Ben je zeker dat je de encryptie instellingen wil resetten?",
"encryption_warning": "Waarschuwing",
"topline_expiring_certificate": "Jouw SSL-certificaat vervalt binnenkort. Werk de <0>encryptie-instellingen</0> bij.",
"topline_expired_certificate": "Jouw SSL-certificaat is vervallen. Werk de <0>encryptie-instellingen</0> bij.",
"form_error_port_range": "Poortnummer invoeren tussen 80 en 65535",
@@ -457,7 +453,6 @@
"updates_checked": "Een nieuwe versie van AdGuard Home is beschikbaar\n",
"updates_version_equal": "AdGuard Home is actueel",
"check_updates_now": "Controleer op updates",
"version_request_error": "Updatecontrole mislukt. Controleer je internetverbinding.",
"dns_privacy": "DNS Privacy",
"setup_dns_privacy_1": "<0>DNS-via-TLS:</0> Gebruik <1>{{address}}</1> string.",
"setup_dns_privacy_2": "<0>DNS-via-HTTPS:</0> Gebruik <1>{{address}}</1> string.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Weet u zeker dat u de bewaartermijn van de statistieken wilt wijzigen? Als u de intervalwaarde verlaagt, gaan sommige gegevens verloren",
"statistics_cleared": "Statistieken succesvol gewist",
"statistics_enable": "Statistieken inschakelen",
"ignore_domains": "Genegeerde domeinen (gescheiden door nieuwe regel)",
"ignore_domains_title": "Genegeerde domeinen",
"ignore_domains_desc_stats": "Zoekopdrachten voor deze domeinen worden niet naar de statistieken geschreven",
"ignore_domains_desc_query": "Zoekopdrachten voor deze domeinen worden niet naar het zoeklogboek geschreven",
"interval_hours": "{{count}} uur",
"interval_hours_plural": "{{count}} uren",
"filters_configuration": "Filters instellingen",
@@ -646,27 +637,5 @@
"safe_browsing": "Veilig browsen",
"served_from_cache": "{{value}} <i>(geleverd vanuit cache)</i>",
"form_error_password_length": "Wachtwoord moet minimaal {{value}} tekens lang zijn",
"anonymizer_notification": "<0>Opmerking:</0> IP-anonimisering is ingeschakeld. Je kunt het uitschakelen in <1>Algemene instellingen</1>.",
"confirm_dns_cache_clear": "Weet je zeker dat je de DNS-cache wilt wissen?",
"cache_cleared": "DNS-cache succesvol gewist",
"clear_cache": "Cache wissen",
"make_static": "Statisch maken",
"theme_auto_desc": "Automatisch (op basis van het kleurenschema van jouw apparaat)",
"theme_dark_desc": "Donker thema",
"theme_light_desc": "Licht thema",
"disable_for_seconds": "Voor {{count}} seconde",
"disable_for_seconds_plural": "Voor {{count}} seconden",
"disable_for_minutes": "Voor {{count}} minuut",
"disable_for_minutes_plural": "Voor {{count}} minuten",
"disable_for_hours": "Voor {{count}} uur",
"disable_for_hours_plural": "Voor {{count}} uren",
"disable_until_tomorrow": "Tot morgen",
"disable_notify_for_seconds": "Beveiliging uitschakelen voor {{count}} seconde",
"disable_notify_for_seconds_plural": "Beveiliging uitschakelen voor {{count}} seconden",
"disable_notify_for_minutes": "Beveiliging uitschakelen voor {{count}} minuut",
"disable_notify_for_minutes_plural": "Beveiliging uitschakelen voor {{count}} minuten",
"disable_notify_for_hours": "Beveiliging uitschakelen voor {{count}} uur",
"disable_notify_for_hours_plural": "Beveiliging uitschakelen voor {{count}} uren",
"disable_notify_until_tomorrow": "Beveiliging uitschakelen tot morgen",
"enable_protection_timer": "Bescherming wordt ingeschakeld over {{time}}"
"anonymizer_notification": "<0>Opmerking:</0> IP-anonimisering is ingeschakeld. Je kunt het uitschakelen in <1>Algemene instellingen</1>."
}

View File

@@ -281,7 +281,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Svar med NXDOMAIN-koden",
"blocking_mode_null_ip": "Null IP: Svar med en 0-IP-adresse (0.0.0.0 for A; :: for AAAA)",
"blocking_mode_custom_ip": "Tilpasset IP: Svar med en manuelt valgt IP-adresse",
"theme_auto": "Auto",
"upstream_dns_client_desc": "Hvis dette feltet holdes tomt, vil AdGuard Home bruke tjenerne som er satt opp i <0>DNS-innstillingene</0>.",
"tracker_source": "Sporerkilde",
"source_label": "Kilde",
@@ -374,7 +373,6 @@
"encryption_issuer": "Utsteder",
"encryption_hostnames": "Vertsnavn",
"encryption_reset": "Er du sikker på at du vil tilbakestille krypteringsinnstillingene?",
"encryption_warning": "Advarsel",
"topline_expiring_certificate": "Ditt SSL-sertifikat er i ferd med å utløpe. Oppdater <0>Krypteringsinnstillinger</0>.",
"topline_expired_certificate": "SSL-sertifikatet har utløpt. Oppdater <0>Krypteringsinnstillinger</0>.",
"form_error_port_range": "Skriv inn et portnummer i området 80-65535",
@@ -434,7 +432,6 @@
"updates_checked": "En ny versjon av AdGuard Home er tilgjengelig",
"updates_version_equal": "AdGuard Home er fullt oppdatert",
"check_updates_now": "Se etter oppdateringer nå",
"version_request_error": "Oppdateringssjekken mislyktes. Vennligst sjekk internettforbindelsen din.",
"dns_privacy": "DNS-privatliv",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Benytt <1>{{address}}</1>-strengen.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Benytt <1>{{address}}</1>-strengen.",

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Ustawienia serwera DHCP IPv6",
"form_error_required": "Pole wymagane",
"form_error_ip4_format": "Nieprawidłowy adres IPv4",
"form_error_ip4_range_start_format": "Nieprawidłowy adres IPv4 początku zakresu",
"form_error_ip4_range_end_format": "Nieprawidłowy adres IPv4 końca zakresu",
"form_error_ip4_gateway_format": "Nieprawidłowy adres IPv4 bramy",
"form_error_ip6_format": "Nieprawidłowy adres IPv6",
"form_error_ip_format": "Nieprawidłowy adres IP",
@@ -49,6 +51,7 @@
"out_of_range_error": "Musi być spoza zakresu \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Musi być niższy niż początek zakresu",
"greater_range_start_error": "Musi być większy niż początek zakresu",
"greater_range_end_error": "Musi być większy niż koniec zakresu",
"subnet_error": "Adresy muszą należeć do jednej podsieci",
"gateway_or_subnet_invalid": "Nieprawidłowa maska podsieci",
"dhcp_form_gateway_input": "Adres IP bramy",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Odpowiedz kodem NXDOMAIN",
"blocking_mode_null_ip": "Null IP: Odpowiedz z zerowym adresem IP (0.0.0.0 dla A; :: dla AAAA)",
"blocking_mode_custom_ip": "Niestandardowy adres IP: Odpowiedz ręcznie ustawionym adresem IP",
"theme_auto": "Auto",
"theme_light": "Jasny",
"theme_dark": "Ciemny",
"upstream_dns_client_desc": "Jeśli to pole pozostanie puste, AdGuard Home użyje serwerów skonfigurowanych w <0>Ustawieniach DNS</0>.",
"tracker_source": "Źródło skryptu śledzącego",
"source_label": "Źródło",
@@ -393,7 +393,6 @@
"encryption_issuer": "Zgłaszający",
"encryption_hostnames": "Nazwy hostów",
"encryption_reset": "Czy na pewno chcesz zresetować ustawienia szyfrowania?",
"encryption_warning": "Uwaga!",
"topline_expiring_certificate": "Twój certyfikat SSL wkrótce wygaśnie. Zaktualizuj <0>Ustawienia szyfrowania</0>.",
"topline_expired_certificate": "Twój certyfikat SSL wygasł. Zaktualizuj <0>Ustawienia szyfrowania</0>.",
"form_error_port_range": "Wpisz numer portu z zakresu 80-65535",
@@ -454,7 +453,6 @@
"updates_checked": "Dostępna jest nowa wersja programu AdGuard Home\n",
"updates_version_equal": "AdGuard Home jest aktualny",
"check_updates_now": "Sprawdź aktualizacje teraz",
"version_request_error": "Sprawdzanie aktualizacji zakończone niepowodzeniem. Sprawdź swoje połączenie z internetem.",
"dns_privacy": "Prywatny DNS",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Skorzystaj z adresu <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Skorzystaj z adresu <1>{{address}}</1>.",
@@ -639,8 +637,5 @@
"safe_browsing": "Bezpieczne przeglądanie",
"served_from_cache": "{{value}} <i>(podawane z pamięci podręcznej)</i>",
"form_error_password_length": "Hasło musi mieć co najmniej {{value}} znaków",
"anonymizer_notification": "<0>Uwaga:</0> Anonimizacja IP jest włączona. Możesz ją wyłączyć w <1>Ustawieniach ogólnych</1>.",
"confirm_dns_cache_clear": "Czy na pewno chcesz wyczyścić pamięć podręczną DNS?",
"cache_cleared": "Pamięć podręczna DNS została pomyślnie wyczyszczona",
"clear_cache": "Wyczyść pamięć podręczną"
"anonymizer_notification": "<0>Uwaga:</0> Anonimizacja IP jest włączona. Możesz ją wyłączyć w <1>Ustawieniach ogólnych</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Configurações DHCP IPv6",
"form_error_required": "Campo obrigatório",
"form_error_ip4_format": "Endereço de IPv4 inválido",
"form_error_ip4_range_start_format": "Endereço IPv4 de início de intervalo inválido",
"form_error_ip4_range_end_format": "Endereço IPv4 de fim de intervalo inválido.",
"form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
"form_error_ip6_format": "Endereço de IPv6 inválido",
"form_error_ip_format": "Endereço de IP inválido",
@@ -49,6 +51,7 @@
"out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Deve ser inferior ao início do intervalo",
"greater_range_start_error": "Deve ser maior que o início do intervalo",
"greater_range_end_error": "Deve ser maior que o fim do intervalo",
"subnet_error": "Endereços devem estar em uma sub-rede",
"gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
"dhcp_form_gateway_input": "IP do gateway",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Controle parental ativado",
"disabled_safe_search_toast": "Pesquisa segura desativada",
"enabled_save_search_toast": "Pesquisa segura ativada",
"updated_save_search_toast": "Configurações de Pesquisa Segura atualizadas",
"enabled_table_header": "Ativado",
"name_table_header": "Nome",
"list_url_table_header": "URL da lista",
@@ -291,8 +293,6 @@
"rate_limit": "Taxa limite",
"edns_enable": "Ativar a sub-rede do cliente EDNS",
"edns_cs_desc": "Adicione a opção de sub-rede de cliente EDNS (ECS) às solicitações de servidor DNS primário e registre os valores enviados pelos clientes no registro de consulta.",
"edns_use_custom_ip": "Usar IP personalizado para EDNS",
"edns_use_custom_ip_desc": "Permitir o uso de IP personalizado para EDNS",
"rate_limit_desc": "O número de solicitações por segundo permitidas por cliente. Definir como 0 significa que não há limite.",
"blocking_ipv4_desc": "Endereço de IP a ser retornado para uma solicitação bloqueada",
"blocking_ipv6_desc": "Endereço de IP a ser retornado para uma solicitação AAAA bloqueada",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Responder com o código NXDOMAIN",
"blocking_mode_null_ip": "IP nulo: Responder com endereço IP zero (0.0.0.0 para A; :: para AAAA)",
"blocking_mode_custom_ip": "IP personalizado: Responder com um endereço IP definido manualmente",
"theme_auto": "Automático",
"theme_light": "Claro",
"theme_dark": "Escuro",
"upstream_dns_client_desc": "Se você mantiver este campo vazio, o AdGuard Home usará os servidores configurados nas configurações <0>DNS</0>.",
"tracker_source": "Fonte do rastreador",
"source_label": "Fonte",
@@ -396,7 +393,6 @@
"encryption_issuer": "Emissor",
"encryption_hostnames": "Nomes dos servidores",
"encryption_reset": "Você tem certeza de que deseja redefinir a configuração de criptografia?",
"encryption_warning": "Aviso",
"topline_expiring_certificate": "Seu certificado SSL está prestes a expirar. Atualize suas <0>configurações de criptografia</]0>",
"topline_expired_certificate": "Seu certificado SSL está expirado. Atualize suas <0>configurações de criptografia</0>",
"form_error_port_range": "Digite um número de porta entre 80 e 65535",
@@ -457,7 +453,6 @@
"updates_checked": "Uma nova versão do AdGuard Home está disponível\n",
"updates_version_equal": "O AdGuard Home está atualizado.",
"check_updates_now": "Verificar atualizações",
"version_request_error": "A verificação de atualização falhou. Por favor, verifique sua conexão com a internet.",
"dns_privacy": "Privacidade de DNS",
"setup_dns_privacy_1": "<0>DNS-sobre-TLS:</0> Use <1>{{address}}</1> string.",
"setup_dns_privacy_2": "<0>DNS-sobre-HTTPS:</0> Use <1>{{address}}</1> string.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Você tem certeza que quer alterar o arquivamento das estatísticas? Se diminuir o valor do intervalo, alguns dados serão perdidos",
"statistics_cleared": "As estatísticas foram limpas com sucesso",
"statistics_enable": "Ativar estatísticas",
"ignore_domains": "Domínios ignorados (separados por nova linha)",
"ignore_domains_title": "Domínios ignorados",
"ignore_domains_desc_stats": "As consultas para esses domínios não são gravadas nas estatísticas",
"ignore_domains_desc_query": "As consultas para esses domínios não são gravadas no log de consulta",
"interval_hours": "{{count}} hora",
"interval_hours_plural": "{{count}} horas",
"filters_configuration": "Configuração de filtros",
@@ -646,27 +637,5 @@
"safe_browsing": "Navegação segura",
"served_from_cache": "{{value}} <i>(servido do cache)</i>",
"form_error_password_length": "A senha deve ter pelo menos {{value}} caracteres",
"anonymizer_notification": "<0>Observação:</0> A anonimização de IP está ativada. Você pode desativá-lo em <1>Configurações gerais</1>.",
"confirm_dns_cache_clear": "Tem certeza de que deseja limpar o cache DNS?",
"cache_cleared": "Cache DNS limpo com sucesso",
"clear_cache": "Limpar cache",
"make_static": "Tornar estático",
"theme_auto_desc": "Automático (com base no esquema de cores do seu dispositivo)",
"theme_dark_desc": "Tema escuro",
"theme_light_desc": "Tema claro",
"disable_for_seconds": "Por {{count}} segundo",
"disable_for_seconds_plural": "Por {{count}} segundos",
"disable_for_minutes": "Por {{count}} minuto",
"disable_for_minutes_plural": "Por {{count}} minutos",
"disable_for_hours": "Por {{count}} hora",
"disable_for_hours_plural": "Por {{count}} horas",
"disable_until_tomorrow": "Até amanhã",
"disable_notify_for_seconds": "Desativar proteção por {{count}} segundo",
"disable_notify_for_seconds_plural": "Desativar proteção por {{count}} segundos",
"disable_notify_for_minutes": "Desativar proteção por {{count}} minuto",
"disable_notify_for_minutes_plural": "Desativar proteção por {{count}} minutos",
"disable_notify_for_hours": "Desativar proteção por {{count}} hora",
"disable_notify_for_hours_plural": "Desativar proteção por {{count}} horas",
"disable_notify_until_tomorrow": "Desativar a proteção até amanhã",
"enable_protection_timer": "A proteção será ativada em {{time}}"
"anonymizer_notification": "<0>Observação:</0> A anonimização de IP está ativada. Você pode desativá-lo em <1>Configurações gerais</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Definições DHCP IPv6",
"form_error_required": "Campo obrigatório",
"form_error_ip4_format": "Endereço de IPv4 inválido",
"form_error_ip4_range_start_format": "Endereço IPv4 de início de intervalo inválido",
"form_error_ip4_range_end_format": "Endereço IPv4 de fim de intervalo inválido",
"form_error_ip4_gateway_format": "Endereço IPv4 de gateway inválido",
"form_error_ip6_format": "Endereço de IPv6 inválido",
"form_error_ip_format": "Endereço de email inválido",
@@ -49,7 +51,8 @@
"out_of_range_error": "Deve estar fora do intervalo \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Deve ser inferior ao início do intervalo",
"greater_range_start_error": "Deve ser maior que o início do intervalo",
"subnet_error": "Os endereços devem estar numa sub-rede",
"greater_range_end_error": "Deve ser maior que o fim do intervalo",
"subnet_error": "Os endereços devem estar em uma sub-rede",
"gateway_or_subnet_invalid": "Máscara de sub-rede inválida",
"dhcp_form_gateway_input": "IP do gateway",
"dhcp_form_subnet_input": "Máscara de sub-rede",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Controlo parental ativado",
"disabled_safe_search_toast": "Pesquisa segura desativada",
"enabled_save_search_toast": "Pesquisa segura ativada",
"updated_save_search_toast": "Configurações de pesquisa segura actualizadas",
"enabled_table_header": "Ativado",
"name_table_header": "Nome",
"list_url_table_header": "URL da lista",
@@ -291,8 +293,6 @@
"rate_limit": "Limite de taxa",
"edns_enable": "Ativar a sub-rede do cliente EDNS",
"edns_cs_desc": "Adicione a opção de sub-rede de cliente EDNS (ECS) às solicitações de servidor DNS primário e registre os valores enviados pelos clientes no registo de consulta.",
"edns_use_custom_ip": "Usar IP personalizado para EDNS",
"edns_use_custom_ip_desc": "Permitir a utilização de IP personalizado para EDNS",
"rate_limit_desc": "O número de solicitações por segundo permitido por cliente. Configurando para 0 significa sem limite.",
"blocking_ipv4_desc": "Endereço IP a ser devolvido para uma solicitação A bloqueada",
"blocking_ipv6_desc": "Endereço IP a ser devolvido para uma solicitação AAAA bloqueada",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Responder com o código NXDOMAIN",
"blocking_mode_null_ip": "IP nulo: Responder com endereço IP zero (0.0.0.0 para A; :: para AAAA)",
"blocking_mode_custom_ip": "IP personalizado: Responder com um endereço IP definido manualmente",
"theme_auto": "Automático",
"theme_light": "Claro",
"theme_dark": "Escuro",
"upstream_dns_client_desc": "Se mantiver esse campo vazio, o AdGuard Home usará os servidores configurados nas <0>Definições de DNS</0>.",
"tracker_source": "Fonte do rastreador",
"source_label": "Fonte",
@@ -338,10 +335,10 @@
"install_devices_router": "Router",
"install_devices_router_desc": "Esta configuração cobre automaticamente todos os dispositivos conectados ao seu router doméstico, sem a necessidade de configurar cada um deles manualmente.",
"install_devices_address": "O servidor de DNS do AdGuard Home está a capturar os seguintes endereços",
"install_devices_router_list_1": "Abra as preferências do seu router. Normalmente, tu podes acessá-lo de teu navegador por meio de um URL, como http://192.168.0.1/ ou http://192.168.1.1/. Tu podes ser solicitado a inserir uma palavra-passe. Se tu não se lembrar, muitas vezes tu podes repor a palavra-passe pressionando um botão no próprio roteador, mas esteja ciente de que se esse procedimento for escolhido, tu provavelmente perderás toda a definição do router. Se o teu router requer uma aplicação para configurá-lo, instale a aplicação no seu telefone ou PC e use-o para acessar as definições do router.",
"install_devices_router_list_1": "Abra as preferências do seu roteador. Normalmente, tu podes acessá-lo de teu navegador por meio de um URL, como http://192.168.0.1/ ou http://192.168.1.1/. Tu podes ser solicitado a inserir uma palavra-passe. Se tu não se lembrar, muitas vezes tu podes repor a palavra-passe pressionando um botão no próprio roteador, mas esteja ciente de que se esse procedimento for escolhido, tu provavelmente perderás toda a definição do roteador. Se o teu roteador requer uma aplicação para configurá-lo, instale a aplicação no seu telefone ou PC e use-o para acessar as definições do roteador.",
"install_devices_router_list_2": "Encontre as configurações de DNS. Procure as letras DNS ao lado de um campo que permite dois ou três conjuntos de números, cada um dividido em quatro grupos de um a três números.",
"install_devices_router_list_3": "Insira aqui seu servidor do AdGuard Home.",
"install_devices_router_list_4": "Em alguns tipos de router, um servidor DNS personalizado não pode ser configurado. Nesse caso, configurar o AdGuard Home como um <0>Servidor DHCP</0> pode ajudar. Caso contrário, tu deves verificar o manual do router sobre como personalizar os servidores DNS no seu modelo de router específico.",
"install_devices_router_list_4": "Em alguns tipos de roteador, um servidor DNS personalizado não pode ser configurado. Nesse caso, configurar o AdGuard Home como um <0>Servidor DHCP</0> pode ajudar. Caso contrário, tu deve verificar o manual do router sobre como personalizar os servidores DNS em seu modelo de router específico.",
"install_devices_windows_list_1": "Abra o Painel de Controlo através do Menu Iniciar ou pela Pesquisa do Windows.",
"install_devices_windows_list_2": "Entre na categoria Rede e Internet e depois clique em Central de Rede e Partilha.",
"install_devices_windows_list_3": "No painel esquerdo, clique em \"Alterar configurações do adaptador\".",
@@ -396,7 +393,6 @@
"encryption_issuer": "Emissor",
"encryption_hostnames": "Nomes dos servidores",
"encryption_reset": "Tem a certeza de que deseja repor a definição de criptografia?",
"encryption_warning": "Aviso",
"topline_expiring_certificate": "O seu certificado SSL está prestes a expirar. Atualize as suas <0>definições de criptografia</0>.",
"topline_expired_certificate": "O seu certificado SSL está expirado. Atualize as suas <0>definições de criptografia</0>.",
"form_error_port_range": "Digite um numero de porta entre 80 e 65535",
@@ -457,7 +453,6 @@
"updates_checked": "Uma nova versão do AdGuard Home está disponível\n",
"updates_version_equal": "O AdGuard Home está atualizado",
"check_updates_now": "Verificar atualizações",
"version_request_error": "A verificação de atualização falhou. Verifique a sua ligação à internet.",
"dns_privacy": "Privacidade de DNS",
"setup_dns_privacy_1": "<0>DNS-sobre-TLS:</0> Use <1>{{address}}</1> string.",
"setup_dns_privacy_2": "<0>DNS-sobre-HTTPS:</0> Use <1>{{address}}</1> string.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Tem a certeza que quer alterar a retenção de estatísticas? Se diminuir o valor do intervalo, alguns dados serão perdidos",
"statistics_cleared": "As estatísticas foram apagadas com sucesso",
"statistics_enable": "Ativar estatísticas",
"ignore_domains": "Domínios ignorados (separados por nova linha)",
"ignore_domains_title": "Domínios ignorados",
"ignore_domains_desc_stats": "As consultas para estes domínios não aparecem nas estatísticas",
"ignore_domains_desc_query": "As consultas para estes domínios nãoaparecem no registo de consultas",
"interval_hours": "{{count}} hora",
"interval_hours_plural": "{{count}} horas",
"filters_configuration": "Definição dos filtros",
@@ -590,7 +581,7 @@
"client_blocked": "Cliente \"{{ip}}\" foi bloqueado com sucesso",
"client_unblocked": "Cliente \"{{ip}}\" foi desbloqueado com sucesso",
"static_ip": "Endereço de IP estático",
"static_ip_desc": "O AdGuard Home é um servidor, portanto, ele precisa de um endereço de IP estático para funcionar corretamente. Caso contrário, em algum momento, seu router poderá atribuir um novo endereço de IP neste dispositivo.",
"static_ip_desc": "O AdGuard Home é um servidor, portanto, ele precisa de um endereço de IP estático para funcionar corretamente. Caso contrário, em algum momento, seu roteador poderá atribuir um novo endereço de IP neste dispositivo.",
"set_static_ip": "Definir um endereço de IP estático",
"install_static_ok": "Boas notícias! O endereço de IP estático já está configurado",
"install_static_error": "O AdGuard Home não pode configurar automaticamente para esta interface de rede. Por favor, procure uma instrução sobre como fazer isso manualmente.",
@@ -646,27 +637,5 @@
"safe_browsing": "Navegação segura",
"served_from_cache": "{{value}} <i>(servido do cache)</i>",
"form_error_password_length": "A palavra-passe deve ter pelo menos {{value}} caracteres",
"anonymizer_notification": "<0>Observação:</0> A anonimização de IP está ativada. Você pode desativá-la em <1>Definições gerais</1>.",
"confirm_dns_cache_clear": "Tem certeza de que quer limpar a cache DNS?",
"cache_cleared": "O cache DNS foi apagado com sucesso",
"clear_cache": "Limpar cache",
"make_static": "Tornar estático",
"theme_auto_desc": "Automático (com base no esquema de cores do seu dispositivo)",
"theme_dark_desc": "Tema escuro",
"theme_light_desc": "Tema claro",
"disable_for_seconds": "Por {{count}} segundo",
"disable_for_seconds_plural": "Por {{count}} segundos",
"disable_for_minutes": "Por {{count}} minuto",
"disable_for_minutes_plural": "Por {{count}} minutos",
"disable_for_hours": "Por {{count}} hora",
"disable_for_hours_plural": "Por {{count}} horas",
"disable_until_tomorrow": "Até amanhã",
"disable_notify_for_seconds": "Desativar proteção por {{count}} segundo",
"disable_notify_for_seconds_plural": "Desativar proteção por {{count}} segundos",
"disable_notify_for_minutes": "Desativar proteção por {{count}} minuto",
"disable_notify_for_minutes_plural": "Desativar proteção por {{count}} minutos",
"disable_notify_for_hours": "Desativar proteção por {{count}} hora",
"disable_notify_for_hours_plural": "Desativar proteção por {{count}} horas",
"disable_notify_until_tomorrow": "Desativar a proteção até amanhã",
"enable_protection_timer": "A proteção será habilitada em {{time}}"
"anonymizer_notification": "<0>Observação:</0> A anonimização de IP está ativada. Você pode desativá-la em <1>Definições gerais</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Setări DHCP IPv6",
"form_error_required": "Câmp obligatoriu",
"form_error_ip4_format": "Adresă IPv4 nevalidă",
"form_error_ip4_range_start_format": "Adresă IPv4 nevalidă pentru începutul intervalului",
"form_error_ip4_range_end_format": "Adresă IPv4 nevalidă a sfârșitului intervalului",
"form_error_ip4_gateway_format": "Adresă IPv4 nevalidă a gateway-ului",
"form_error_ip6_format": "Adresa IPv6 nevalidă",
"form_error_ip_format": "Adresă IP nevalidă",
@@ -49,6 +51,7 @@
"out_of_range_error": "Trebuie să fie în afara intervalului „{{start}}”-„{{end}}”",
"lower_range_start_error": "Trebuie să fie mai mică decât începutul intervalului",
"greater_range_start_error": "Trebuie să fie mai mare decât începutul intervalului",
"greater_range_end_error": "Trebuie să fie mai mare decât sfârșitul intervalului",
"subnet_error": "Adresele trebuie să fie în aceeași subrețea",
"gateway_or_subnet_invalid": "Mască de subrețea nevalidă",
"dhcp_form_gateway_input": "IP Gateway",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Răspunde cu codul NXDOMAIN",
"blocking_mode_null_ip": "IP nul: răspunde cu o adresă IP zero (0.0.0.0 pentru A; :: pentru AAAA)",
"blocking_mode_custom_ip": "IP personalizat: răspunde cu o adresă IP setată manual",
"theme_auto": "Auto",
"theme_light": "Luminoasă",
"theme_dark": "Sombră",
"upstream_dns_client_desc": "Dacă mențineți acest câmp gol, AdGuard Home va folosi serverele configurate în <0>setările DNS</0>.",
"tracker_source": "Sursă tracker",
"source_label": "Sursă",
@@ -393,7 +393,6 @@
"encryption_issuer": "Emitent",
"encryption_hostnames": "Nume de host",
"encryption_reset": "Sunteți sigur că doriți să resetați setările de criptare?",
"encryption_warning": "Avertisment",
"topline_expiring_certificate": "Certificatul dvs. SSL este pe cale să expire. Actualizați <0>Setările de criptare</0>.",
"topline_expired_certificate": "Certificatul dvs. SSL a expirat. Actualizați <0>Setările de criptare</0>.",
"form_error_port_range": "Introduceți valoarea portului între 80-65535",
@@ -454,7 +453,6 @@
"updates_checked": "Este disponibilă o nouă versiune de AdGuard Home\n",
"updates_version_equal": "AdGuard Home este la zi",
"check_updates_now": "Verificați actualizările acum",
"version_request_error": "Verificarea actualizării nu a reușit. Verificați conexiunea internet.",
"dns_privacy": "Confidențialitate DNS",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Folosiți stringul <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Folosiți stringul <1>{{address}}</1>.",
@@ -639,8 +637,5 @@
"safe_browsing": "Navigare în siguranță",
"served_from_cache": "{{value}} <i>(furnizat din cache)</i>",
"form_error_password_length": "Parola trebuie să aibă cel puțin {{value}} caractere",
"anonymizer_notification": "<0>Nota:</0> Anonimizarea IP este activată. Puteți să o dezactivați în <1>Setări generale</1>.",
"confirm_dns_cache_clear": "Sunteți sigur că doriți să ștergeți memoria cache DNS?",
"cache_cleared": "Cache-ul DNS a fost golit cu succes",
"clear_cache": "Goliți memoria cache"
"anonymizer_notification": "<0>Nota:</0> Anonimizarea IP este activată. Puteți să o dezactivați în <1>Setări generale</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Настройки DHCP IPv6",
"form_error_required": "Обязательное поле",
"form_error_ip4_format": "Некорректный IPv4-адрес",
"form_error_ip4_range_start_format": "Некорректный IPv4-адрес начала диапазона",
"form_error_ip4_range_end_format": "Некорректный IPv4-адрес конца диапазона",
"form_error_ip4_gateway_format": "Некорректный IPv4-адрес шлюза",
"form_error_ip6_format": "Некорректный IPv6-адрес",
"form_error_ip_format": "Некорректный IP-адрес",
@@ -49,6 +51,7 @@
"out_of_range_error": "Должно быть вне диапазона «{{start}}»-«{{end}}»",
"lower_range_start_error": "Должно быть меньше начала диапазона",
"greater_range_start_error": "Должно быть больше начала диапазона",
"greater_range_end_error": "Должно быть больше конца диапазона",
"subnet_error": "Адреса должны быть внутри одной подсети",
"gateway_or_subnet_invalid": "Некорректная маска подсети",
"dhcp_form_gateway_input": "IP-адрес шлюза",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Родительский контроль вкл.",
"disabled_safe_search_toast": "Безопасный поиск выкл.",
"enabled_save_search_toast": "Безопасный поиск вкл.",
"updated_save_search_toast": "Настройки безопасного поиска обновлены",
"enabled_table_header": "Вкл.",
"name_table_header": "Имя",
"list_url_table_header": "URL-адрес списка",
@@ -291,8 +293,6 @@
"rate_limit": "Rate limit",
"edns_enable": "Включить отправку EDNS Client Subnet",
"edns_cs_desc": "Добавлять опцию EDNS Client Subnet (ECS) к запросам к upstream-серверам, а также записывать присланные клиентами значения в журнал.",
"edns_use_custom_ip": "Использовать указанный IP для EDNS",
"edns_use_custom_ip_desc": "Разрешить использовать собственный IP для EDNS",
"rate_limit_desc": "Ограничение на количество запросов в секунду для каждого клиента (0 — неограниченно).",
"blocking_ipv4_desc": "IP-адрес, возвращаемый при блокировке A-запроса",
"blocking_ipv6_desc": "IP-адрес, возвращаемый при блокировке AAAA-запроса",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Отвечает с кодом NXDOMAIN\n",
"blocking_mode_null_ip": "Нулевой IP: Отвечает с нулевым IP-адресом (0.0.0.0 для A; :: для AAAA)",
"blocking_mode_custom_ip": "Пользовательский IP: Отвечает с вручную настроенным IP-адресом",
"theme_auto": "Авто",
"theme_light": "Светлая",
"theme_dark": "Тёмная",
"upstream_dns_client_desc": "Если оставить поле пустым, AdGuard Home будет обращаться к серверам, указанным в <0>настройках DNS</0>.",
"tracker_source": "Источник трекинга",
"source_label": "Источник",
@@ -396,7 +393,6 @@
"encryption_issuer": "Издатель",
"encryption_hostnames": "Имена хостов",
"encryption_reset": "Вы уверены, что хотите сбросить настройки шифрования?",
"encryption_warning": "Предупреждение",
"topline_expiring_certificate": "Ваш SSL-сертификат скоро истекает. Обновите <0>Настройки шифрования</0>.",
"topline_expired_certificate": "Ваш SSL-сертификат истёк. Обновите <0>Настройки шифрования</0>.",
"form_error_port_range": "Введите номер порта из интервала 80-65535",
@@ -457,7 +453,6 @@
"updates_checked": "Доступна новая версия AdGuard Home",
"updates_version_equal": "Версия AdGuard Home актуальна",
"check_updates_now": "Проверить обновления",
"version_request_error": "Ошибка при проверке наличия обновлений. Проверьте ваше интернет-соединение.",
"dns_privacy": "Зашифрованный DNS",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Используйте строку <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Используйте строку <1>{{address}}</1>.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Вы уверены, что хотите изменить срок хранения статистики? При сокращении интервала данные могут быть утеряны",
"statistics_cleared": "Статистика успешно очищена",
"statistics_enable": "Включить статистику",
"ignore_domains": "Игнорируемые домены (построчно)",
"ignore_domains_title": "Игнорируемые домены",
"ignore_domains_desc_stats": "Запросы для этих доменов не записываются в статистику",
"ignore_domains_desc_query": "Запросы для этих доменов не записываются в журнал запросов",
"interval_hours": "{{count}} час",
"interval_hours_plural": "{{count}} часов",
"filters_configuration": "Настройка фильтров",
@@ -646,27 +637,5 @@
"safe_browsing": "Безопасный интернет",
"served_from_cache": "{{value}} <i>(получено из кеша)</i>",
"form_error_password_length": "Пароль должен быть длиной не меньше {{value}} символов",
"anonymizer_notification": "<0>Внимание:</0> включена анонимизация IP-адресов. Вы можете отключить её в разделе <1>Основные настройки</1>.",
"confirm_dns_cache_clear": "Вы уверены, что хотите очистить кеш DNS?",
"cache_cleared": "Кеш DNS успешно очищен",
"clear_cache": "Очистить кеш",
"make_static": "Сделать статической",
"theme_auto_desc": "Авто (на основе цветовой схемы вашего устройства)",
"theme_dark_desc": "Тёмная тема",
"theme_light_desc": "Светлая тема",
"disable_for_seconds": "На {{count}} секунд",
"disable_for_seconds_plural": "На {{count}} секунд",
"disable_for_minutes": "На {{count}} минуту",
"disable_for_minutes_plural": "На {{count}} минут",
"disable_for_hours": "На {{count}} час",
"disable_for_hours_plural": "На {{count}} часов",
"disable_until_tomorrow": "До завтра",
"disable_notify_for_seconds": "Отключить защиту на {{count}} секунд",
"disable_notify_for_seconds_plural": "Отключить защиту на {{count}} секунд",
"disable_notify_for_minutes": "Отключить защиту на {{count}} минуту",
"disable_notify_for_minutes_plural": "Отключить защиту на {{count}} минут",
"disable_notify_for_hours": "Отключить защиту на {{count}} час",
"disable_notify_for_hours_plural": "Отключить защиту на {{count}} часов",
"disable_notify_until_tomorrow": "Отключить защиту до завтра",
"enable_protection_timer": "Защита будет включена в {{time}}"
"anonymizer_notification": "<0>Внимание:</0> включена анонимизация IP-адресов. Вы можете отключить её в разделе <1>Основные настройки</1>."
}

View File

@@ -30,6 +30,8 @@
"dhcp_ipv6_settings": "ග.ධා.වි.කෙ. අ.ජා.කෙ. 6 සැකසුම්",
"form_error_required": "ඇවැසි ක්‍ෂේත්‍රයකි",
"form_error_ip4_format": "IPv4 ලිපිනය වලංගු නොවේ",
"form_error_ip4_range_start_format": "පරාසය ආරම්භයේ වලංගු නොවන අ.ජා.කෙ.4 ලිපිනයකි",
"form_error_ip4_range_end_format": "පරාසය අවසානයේ වලංගු නොවන අ.ජා.කෙ.4 ලිපිනයකි",
"form_error_ip6_format": "වලංගු නොවන අ.ජා.කෙ.6 ලිපිනයකි",
"form_error_ip_format": "අ.ජා.කෙ. (IP) ලිපිනය වලංගු නොවේ",
"form_error_mac_format": "මා.ප්‍ර.පා. ලිපිනය වලංගු නොවේ",
@@ -40,6 +42,7 @@
"out_of_range_error": "\"{{start}}\"-\"{{end}}\" පරාසයෙන් පිට විය යුතුය",
"lower_range_start_error": "පරාසය ආරම්භයට වඩා අඩු විය යුතුය",
"greater_range_start_error": "පරාසය ආරම්භයට වඩා වැඩි විය යුතුය",
"greater_range_end_error": "පරාසය අවසානයට වඩා වැඩි විය යුතුය",
"subnet_error": "ලිපින එක් අනුජාලයක තිබිය යුතුය",
"dhcp_form_range_title": "අ.ජා. කෙ. (IP) ලිපින පරාසය",
"dhcp_form_range_start": "පරාසය ආරම්භය",

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Nastavenia DHCP IPv6",
"form_error_required": "Povinná položka.",
"form_error_ip4_format": "Neplatná IPv4 adresa",
"form_error_ip4_range_start_format": "Neplatný začiatok rozsahu IPv4 formátu",
"form_error_ip4_range_end_format": "Neplatný koniec rozsahu IPv4 formátu",
"form_error_ip4_gateway_format": "Neplatná IPv4 adresa brány",
"form_error_ip6_format": "Neplatná IPv6 adresa",
"form_error_ip_format": "Neplatná IP adresa",
@@ -49,6 +51,7 @@
"out_of_range_error": "Musí byť mimo rozsahu \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Musí byť nižšie ako začiatok rozsahu",
"greater_range_start_error": "Musí byť väčšie ako začiatok rozsahu",
"greater_range_end_error": "Musí byť väčšie ako koniec rozsahu",
"subnet_error": "Adresy musia byť v spoločnej podsieti",
"gateway_or_subnet_invalid": "Maska podsiete je neplatná",
"dhcp_form_gateway_input": "IP brána",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Zapnutá Rodičovská kontrola",
"disabled_safe_search_toast": "Vypnuté Bezpečné vyhľadávanie",
"enabled_save_search_toast": "Zapnuté Bezpečné vyhľadávanie",
"updated_save_search_toast": "Nastavenia Bezpečného vyhľadávania boli aktualizované",
"enabled_table_header": "Zapnuté",
"name_table_header": "Meno",
"list_url_table_header": "Zoznam URL adries",
@@ -291,8 +293,6 @@
"rate_limit": "Rýchlostný limit",
"edns_enable": "Povoliť klientsku podsiete EDNS",
"edns_cs_desc": "Pridáva možnosť EDNS Client Subnet (ECS) do upstream požiadaviek a zapíše hodnoty odoslané klientmi do denníka dopytov.",
"edns_use_custom_ip": "Použiť vlastnú IP adresu pre EDNS",
"edns_use_custom_ip_desc": "Povoliť používanie vlastnej IP adresy pre EDNS",
"rate_limit_desc": "Počet požiadaviek za sekundu, ktoré môže jeden klient vykonať. Nastavenie na hodnotu 0 znamená neobmedzene.",
"blocking_ipv4_desc": "IP adresa, ktorá sa má vrátiť v prípade blokovanej žiadosti A",
"blocking_ipv6_desc": "IP adresa, ktorá sa má vrátiť v prípade blokovanej žiadosti AAAA",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Odpovedať kódom NXDOMAIN",
"blocking_mode_null_ip": "Null IP: Odpoveď s nulovou IP adresou (0.0.0.0 pre A; :: pre AAAA)",
"blocking_mode_custom_ip": "Vlastná IP adresa: Odpovedzte s manuálne nastavenou IP adresou",
"theme_auto": "Auto",
"theme_light": "Svetlá",
"theme_dark": "Tmavá",
"upstream_dns_client_desc": "Ak ponecháte toto pole prázdne, AdGuard Home použije servery nakonfigurované v <0>nastaveniach DNS</0>.",
"tracker_source": "Zdroj sledovania",
"source_label": "Zdroj",
@@ -396,7 +393,6 @@
"encryption_issuer": "Vydavateľ",
"encryption_hostnames": "Názvy hostiteľov",
"encryption_reset": "Naozaj chcete obnoviť nastavenia šifrovania?",
"encryption_warning": "Varovanie",
"topline_expiring_certificate": "Váš SSL certifikát čoskoro vyprší. Aktualizujte <0>Nastavenia šifrovania</0>.",
"topline_expired_certificate": "Váš SSL certifikát vypršal. Aktualizujte <0>Nastavenia šifrovania</0>.",
"form_error_port_range": "Zadajte číslo portu v rozsahu 80-65535",
@@ -457,7 +453,6 @@
"updates_checked": "K dispozícii je nová verzia aplikácie AdGuard Home\n",
"updates_version_equal": "AdGuard Home je aktuálny",
"check_updates_now": "Skontrolovať aktualizácie teraz",
"version_request_error": "Kontrola aktualizácie zlyhala. Skontrolujte svoje internetové pripojenie.",
"dns_privacy": "DNS súkromie",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Použiť <1>{{address}}</1> reťazec.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Použiť <1>{{address}}</1> reťazec.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Naozaj chcete zmeniť uchovávanie štatistík? Ak znížite hodnotu intervalu, niektoré údaje sa stratia",
"statistics_cleared": "Štatistika bola úspešne vynulovaná",
"statistics_enable": "Zapnúť štatistiku",
"ignore_domains": "Ignorované domény (oddelené novým riadkom)",
"ignore_domains_title": "Ignorované domény",
"ignore_domains_desc_stats": "Dopyty pre tieto domény sa nezapisujú do štatistík",
"ignore_domains_desc_query": "Dopyty pre tieto domény sa nezapisujú do denníka dopytov",
"interval_hours": "{{count}} hodina",
"interval_hours_plural": "{{count}} hodín",
"filters_configuration": "Konfigurácia filtrov",
@@ -646,27 +637,5 @@
"safe_browsing": "Bezpečné prehliadanie",
"served_from_cache": "{{value}} <i>(prevzatá z cache pamäte)</i>",
"form_error_password_length": "Heslo musí mať dĺžku aspoň {{value}} znakov",
"anonymizer_notification": "<0>Poznámka:</0> Anonymizácia IP je zapnutá. Môžete ju vypnúť vo <1>Všeobecných nastaveniach</1>.",
"confirm_dns_cache_clear": "Naozaj chcete vymazať vyrovnávaciu pamäť DNS?",
"cache_cleared": "Vyrovnávacia pamäť DNS bola úspešne vymazaná",
"clear_cache": "Vymazať vyrovnávaciu pamäť",
"make_static": "Vytvárať štatistiku",
"theme_auto_desc": "Automaticky (na základe farebnej schémy Vášho zariadenia)",
"theme_dark_desc": "Tmavá téma",
"theme_light_desc": "Svetlá téma",
"disable_for_seconds": "Na {{count}} sekundu",
"disable_for_seconds_plural": "Na {{count}} sekúnd",
"disable_for_minutes": "Na {{count}} minútu",
"disable_for_minutes_plural": "Na {{count}} minút",
"disable_for_hours": "Na {{count}} hodinu",
"disable_for_hours_plural": "Na {{count}} hodín",
"disable_until_tomorrow": "Do zajtra",
"disable_notify_for_seconds": "Vypnite ochranu na {{count}} sekundu",
"disable_notify_for_seconds_plural": "Vypnite ochranu na {{count}} sekúnd",
"disable_notify_for_minutes": "Vypnite ochranu na {{count}} minútu",
"disable_notify_for_minutes_plural": "Vypnite ochranu na {{count}} minút",
"disable_notify_for_hours": "Vypnite ochranu na {{count}} hodinu",
"disable_notify_for_hours_plural": "Vypnite ochranu na {{count}} hodín",
"disable_notify_until_tomorrow": "Vypnúť ochranu do zajtra",
"enable_protection_timer": "Ochrana bude zapnutá o {{time}}"
"anonymizer_notification": "<0>Poznámka:</0> Anonymizácia IP je zapnutá. Môžete ju vypnúť vo <1>Všeobecných nastaveniach</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Nastavitve DHCP IPv6",
"form_error_required": "Zahtevano polje.",
"form_error_ip4_format": "Neveljaven naslov IPv4.",
"form_error_ip4_range_start_format": "Neveljaven začetek razpona naslova IPv4",
"form_error_ip4_range_end_format": "Neveljaven konec razpona naslova IPv4",
"form_error_ip4_gateway_format": "Neveljaven naslov IPv4 prehoda",
"form_error_ip6_format": "Neveljaven naslov IPv6",
"form_error_ip_format": "Neveljaven naslov IP",
@@ -49,6 +51,7 @@
"out_of_range_error": "Mora biti izven razpona \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Mora biti manjši od začetka razpona",
"greater_range_start_error": "Mora biti večji od začetka razpona",
"greater_range_end_error": "Mora biti večji od konca razpona",
"subnet_error": "Naslovi morajo biti v enem podomrežju",
"gateway_or_subnet_invalid": "Maska podomrežja ni veljavna",
"dhcp_form_gateway_input": "IP prehoda",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Omogočen starševski nadzor",
"disabled_safe_search_toast": "Onemogočeno Varno iskanje",
"enabled_save_search_toast": "Omogočeno Varno iskanje",
"updated_save_search_toast": "Nastavitve varnega iskanja so posodobljene",
"enabled_table_header": "Omogočeno",
"name_table_header": "Ime",
"list_url_table_header": "Seznam URL naslovov",
@@ -291,8 +293,6 @@
"rate_limit": "Omejitev hitrosti",
"edns_enable": "Omogoči odjemalsko podomrežje EDNS",
"edns_cs_desc": "Dodaj možnost podomrežja odjemalca EDNS (ECS) zahtevam v gorvodnem toku in zabeleži vrednosti, ki jih pošljejo odjemalci, v dnevnik poizvedb.",
"edns_use_custom_ip": "Uporabi IP po meri za EDNS",
"edns_use_custom_ip_desc": "Dovoli uporabo naslova IP po meri za EDNS",
"rate_limit_desc": "Dovoljeno število zahtev na sekundo na odjemalca. Nastavitev na 0 pomeni brez omejitve.",
"blocking_ipv4_desc": "IP naslov, ki mora biti vrnjen za onemogočeno zahtevo A",
"blocking_ipv6_desc": "IP naslov, ki mora biti vrnjen za onemogočeno zahtevo AAAA",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Odziv s kodo NXDOMAIN",
"blocking_mode_null_ip": "Prazen IP: Odziv z ničelnim naslovom IP (0.0.0.0 za A; :: za AAAA)",
"blocking_mode_custom_ip": "IP po meri: Odziv z ročno nastavljenim naslovom IP",
"theme_auto": "Auto",
"theme_light": "Svetla tema",
"theme_dark": "Temna tema",
"upstream_dns_client_desc": "Če pustite to polje prazno, bo AdGuard Home uporabil strežnike, konfigurirane v <0>nastavitvah DNS</0>.",
"tracker_source": "Vir sledilca",
"source_label": "Vir",
@@ -396,7 +393,6 @@
"encryption_issuer": "Izdajatelj",
"encryption_hostnames": "Imena gostiteljev",
"encryption_reset": "Ali ste prepričani, da želite ponastaviti nastavitve šifriranja?",
"encryption_warning": "Opozorilo",
"topline_expiring_certificate": "Vaš e digitalno potrdilo SSL bo kmalu poteklol. Posodobite <0>Nastavitve šifriranja</0>.",
"topline_expired_certificate": "Vaše digitalno potrdilo SSL je poteklo. Posodobi <0>Nastavitve šifriranja</0>.",
"form_error_port_range": "Vnesite številko vrat v razponu med 80-65535",
@@ -457,7 +453,6 @@
"updates_checked": "Na voljo je nova različica programa AdGuard Home\n",
"updates_version_equal": "AdGuard Home je posodobljen",
"check_updates_now": "Preveri obstoj posodobitev zdaj",
"version_request_error": "Posodobitev ni uspela. Preverite vašo internetno povezavo.",
"dns_privacy": "Zasebnost DNS",
"setup_dns_privacy_1": "<0>DNS-prek-TLS:</0> Uporabite niz <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-prek-HTTPS:</0> Uporabite niz <1>{{address}}</1>.",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "Ali ste prepričani, da želite spremeniti zadrževanje statistike? Če zmanjšate vrednost intervala, bodo nekateri podatki izgubljeni",
"statistics_cleared": "Statistika je bila uspešno počiščena",
"statistics_enable": "Omogoči statistiko",
"ignore_domains": "Prezrte domene (ločene z novo vrstico)",
"ignore_domains_title": "Prezrte domene",
"ignore_domains_desc_stats": "Poizvedbe za te domene niso zapisane v statistiko",
"ignore_domains_desc_query": "Poizvedbe za te domene niso zapisane v dnevnik poizvedb",
"interval_hours": "{{count}} ur",
"interval_hours_plural": "{{count}} ur",
"filters_configuration": "Nastavitve filtrov",
@@ -646,27 +637,5 @@
"safe_browsing": "Varno brskanje",
"served_from_cache": "{{value}} <i>(postreženo iz predpomnilnika)</i>",
"form_error_password_length": "Geslo mora vsebovati najmanj {{value}} znakov",
"anonymizer_notification": "<0>Opomba:</0> Anonimizacija IP je omogočena. Onemogočite ga lahko v <1>Splošnih nastavitvah</1>.",
"confirm_dns_cache_clear": "Ali ste prepričani, da želite počistiti predpomnilnik DNS?",
"cache_cleared": "Predpomnilnik DNS je bil uspešno počiščen",
"clear_cache": "Počisti predpomnilnik",
"make_static": "Naredi statično",
"theme_auto_desc": "Samodejno (glede na barvno shemo vaše naprave)",
"theme_dark_desc": "Temna tema",
"theme_light_desc": "Svetla tema",
"disable_for_seconds": "Za {{count}} sekundo",
"disable_for_seconds_plural": "Za {{count}} sekund",
"disable_for_minutes": "Za {{count}} minuto",
"disable_for_minutes_plural": "Za {{count}} minut",
"disable_for_hours": "Za {{count}} uro",
"disable_for_hours_plural": "Za {{count}} ur",
"disable_until_tomorrow": "Do jutri",
"disable_notify_for_seconds": "Onemogoči zaščito za {{count}} sekundo",
"disable_notify_for_seconds_plural": "Onemogoči zaščito za {{count}} sekund",
"disable_notify_for_minutes": "Onemogoči zaščito za {{count}} minuto",
"disable_notify_for_minutes_plural": "Onemogoči zaščito za {{count}} minut",
"disable_notify_for_hours": "Onemogoči zaščito za {{count}} uro",
"disable_notify_for_hours_plural": "Onemogoči zaščito za {{count}} ur",
"disable_notify_until_tomorrow": "Onemogoči zaščito do jutri",
"enable_protection_timer": "Zaščita bo omogočena ob {{time}}"
"anonymizer_notification": "<0>Opomba:</0> Anonimizacija IP je omogočena. Onemogočite ga lahko v <1>Splošnih nastavitvah</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 postavke",
"form_error_required": "Obavezno polje",
"form_error_ip4_format": "Nevažeća IPv4 adresa",
"form_error_ip4_range_start_format": "Nevažeća IPv4 addresa početnog opsega",
"form_error_ip4_range_end_format": "Nevažeća IPv4 addresa završnog opsega",
"form_error_ip4_gateway_format": "Nevažeća IPv4 addresa prozala",
"form_error_ip6_format": "Nevažeća IPv6 adresa",
"form_error_ip_format": "Nevažeća IP adresa",
@@ -49,6 +51,7 @@
"out_of_range_error": "Mora biti izvan opsega \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Mora biti manje od početnog opsega",
"greater_range_start_error": "Mora biti veće od početnog opsega",
"greater_range_end_error": "Mora biti veće od završnog opsega",
"subnet_error": "Asrese moraju biti u jednoj subnet",
"gateway_or_subnet_invalid": "Subnet mask nevažeća",
"dhcp_form_gateway_input": "IP mrežnog prolaza",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Odgovara sa NXDOMAIN kodom",
"blocking_mode_null_ip": "Null IP: Odgovara sa zero IP adresom (0.0.0.0 za A; :: za AAAA)",
"blocking_mode_custom_ip": "Prilagođeni IP: Odgovara sa ručno podešenom IP adresom",
"theme_auto": "Auto",
"theme_light": "Svetla tema",
"theme_dark": "Tamna tema",
"upstream_dns_client_desc": "AKo ovo polje ostavite prazno, AdGuard Home će koristiti servere konfigurisane u <0>DNS postavkama</0>.",
"tracker_source": "Izvor praćenja",
"source_label": "Izvor",
@@ -393,7 +393,6 @@
"encryption_issuer": "Izdavač",
"encryption_hostnames": "Imena hostova",
"encryption_reset": "Jeste li sigurni da želite dda resetujete postavke šifrovanja?",
"encryption_warning": "Upozorenje",
"topline_expiring_certificate": "Vaš SSL sertifikat uskoro ističe. Ažurirajte <0>postavke šifrovanja</0>.",
"topline_expired_certificate": "Vaš SSL sertifikat je istekao. Ažurirajte <0>postavke šifrovanja</0>.",
"form_error_port_range": "Unesite vrednost porta u opsegu od 80-65535",
@@ -454,7 +453,6 @@
"updates_checked": "Dostupna je nova verzija AdGuard Home-a",
"updates_version_equal": "AdGuard Home je ažuriran na najnoviju verziju",
"check_updates_now": "Proveri da li postoje ispravke",
"version_request_error": "Provera ažuriranja nije uspela. Proverite svoju vezu sa internetom.",
"dns_privacy": "DNS privatnost",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> koristi <1>{{address}}</1> string.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> koristi <1>{{address}}</1> string.",
@@ -639,8 +637,5 @@
"safe_browsing": "Sigurno pregledanje",
"served_from_cache": "{{value}} <i>(posluženo iz predmemorije)</i>",
"form_error_password_length": "Lozinka mora imati najmanje {{value}} znakova",
"anonymizer_notification": "<0>Nota:</0> IP prepoznavanje je omogućeno. Možete ga onemogućiti u opštim <1>postavkama</1>.",
"confirm_dns_cache_clear": "Želite li zaista da obrišite DNS keš?",
"cache_cleared": "DNS keš je uspešno očišćen",
"clear_cache": "Obriši keš memoriju"
"anonymizer_notification": "<0>Nota:</0> IP prepoznavanje je omogućeno. Možete ga onemogućiti u opštim <1>postavkama</1>."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 inställningar",
"form_error_required": "Obligatoriskt fält",
"form_error_ip4_format": "Ogiltig IPv4-adress",
"form_error_ip4_range_start_format": "Ogiltig IPv4-adress för starten av intervallet",
"form_error_ip4_range_end_format": "Ogiltig IPv4-adress för slutet av intervallet",
"form_error_ip4_gateway_format": "Ogiltig IPv4 adress för gatewayen",
"form_error_ip6_format": "Ogiltig IPv6-adress",
"form_error_ip_format": "Ogiltig IP-adress",
@@ -49,6 +51,7 @@
"out_of_range_error": "Måste vara utanför intervallet \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Måste vara lägre än starten på intervallet",
"greater_range_start_error": "Måste vara högre än starten på intervallet",
"greater_range_end_error": "Måste vara större än intervallets slut",
"subnet_error": "Adresser måste finnas i ett subnät",
"gateway_or_subnet_invalid": "Subnätmask ogiltig",
"dhcp_form_gateway_input": "Gateway-IP",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Svara med NXDOMAIN kod",
"blocking_mode_null_ip": "Null IP: Svara med noll IP adress (0.0.0.0 för A; :: för AAAA)",
"blocking_mode_custom_ip": "Anpassad IP: Svara med en manuellt inställd IP adress",
"theme_auto": "Auto",
"theme_light": "Ljust",
"theme_dark": "Mörkt",
"upstream_dns_client_desc": "Om detta fält är tomt kommer AdGuard Home att använda de servrar som konfigurerats i <0>DNS inställningarna</0>.",
"tracker_source": "Spårningskälla",
"source_label": "Källa",
@@ -393,7 +393,6 @@
"encryption_issuer": "Utgivare",
"encryption_hostnames": "Värdnamn",
"encryption_reset": "Är du säker på att du vill återställa krypteringsinställningarna?",
"encryption_warning": "Varning",
"topline_expiring_certificate": "Ditt SSL-certifikat håller på att gå ut. <0>Krypteringsinställningar</0>.",
"topline_expired_certificate": "Ditt SSL-certifikat har gått ut. Uppdatera <0>Krypteringsinställningar</0>-",
"form_error_port_range": "Ange ett portnummer inom värdena 80-65535",
@@ -454,7 +453,6 @@
"updates_checked": "En ny version av AdGuard Home är tillgänglig\n",
"updates_version_equal": "AdGuard Home är uppdaterat",
"check_updates_now": "Sök efter uppdateringar nu",
"version_request_error": "Uppdateringskontroll misslyckades. Kontrollera din internetanslutning.",
"dns_privacy": "DNS-Integritet",
"setup_dns_privacy_1": "<0>DNS-över-TLS:</0> Använd: <1>{{address}}</1>",
"setup_dns_privacy_2": "<0>DNS-över-HTTPS:</0> Använd: <1>{{address}}</1>",
@@ -523,7 +521,6 @@
"statistics_retention_confirm": "Är du säker på att du vill ändra retentionstiden för statistik? Om du minskar intervallet kommer viss data att gå förlorad",
"statistics_cleared": "Statistiken har rensats",
"statistics_enable": "Aktivera statistik",
"ignore_domains_title": "Ignorerade domäner",
"interval_hours": "{{count}} timme",
"interval_hours_plural": "{{count}} timmar",
"filters_configuration": "Filterinställningar",
@@ -640,17 +637,5 @@
"safe_browsing": "Säker surfning",
"served_from_cache": "{{value}} <i>(levereras från cache)</i>",
"form_error_password_length": "Lösenordet måste vara minst {{value}} tecken långt",
"anonymizer_notification": "<0>Observera:</0> IP-anonymisering är aktiverad. Du kan inaktivera den i <1>Allmänna inställningar</1>.",
"confirm_dns_cache_clear": "Är du säker på att du vill rensa DNS-cache?",
"cache_cleared": "DNS-cacheminnet har rensats",
"clear_cache": "Rensa cache",
"theme_dark_desc": "Mörkt tema",
"theme_light_desc": "Ljust tema",
"disable_for_seconds": "I {{count}} sekund",
"disable_for_seconds_plural": "I {{count}} sekunder",
"disable_for_minutes": "I {{count}} minut",
"disable_for_minutes_plural": "I {{count}} minuter",
"disable_for_hours": "I {{count}} timme",
"disable_for_hours_plural": "I {{count}} timmar",
"disable_until_tomorrow": "Tills imorgon"
"anonymizer_notification": "<0>Observera:</0> IP-anonymisering är aktiverad. Du kan inaktivera den i <1>Allmänna inställningar</1>."
}

View File

@@ -262,7 +262,6 @@
"encryption_issuer": "ผู้ออกใบรับรอง:",
"encryption_hostnames": "ชื่อโฮส",
"encryption_reset": "คุณแน่ใจนะว่าจะล้างค่าการเข้ารหัส?",
"encryption_warning": "คำเตือน",
"topline_expiring_certificate": "ใบรับรอง SSL ของคุณกำลังจะหมดอายุ กรุณาอัปเดท <0>การตั้งค่าเข้ารหัส</0>.",
"topline_expired_certificate": "ใบรับรอง SSL ของคุณหมดอายุแล้ว กรุณาอัปเดท <0>การตั้งค่าเข้ารหัส</0>.",
"form_error_port_unsafe": "เป็นพอร์ทที่ไม่ปลอดภัย",

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 Ayarları",
"form_error_required": "Gerekli alan",
"form_error_ip4_format": "Geçersiz IPv4 adresi",
"form_error_ip4_range_start_format": "Geçersiz başlangıç aralığı IPv4 biçimi",
"form_error_ip4_range_end_format": "Geçersiz bitiş aralığı IPv4 adresi",
"form_error_ip4_gateway_format": "Geçersiz ağ geçidi IPv4 adresi",
"form_error_ip6_format": "Geçersiz IPv6 adresi",
"form_error_ip_format": "Geçersiz IP adresi",
@@ -49,8 +51,9 @@
"out_of_range_error": "\"{{start}}\"-\"{{end}}\" aralığının dışında olmalıdır",
"lower_range_start_error": "Başlangıç aralığından daha düşük olmalıdır",
"greater_range_start_error": "Başlangıç aralığından daha büyük olmalıdır",
"greater_range_end_error": "Bitiş aralığından daha büyük olmalıdır",
"subnet_error": "Adresler bir alt ağda olmalıdır",
"gateway_or_subnet_invalid": "Geçersiz alt ağ maskesi",
"gateway_or_subnet_invalid": "Alt ağ maskesi geçersiz",
"dhcp_form_gateway_input": "Ağ geçidi IP",
"dhcp_form_subnet_input": "Alt ağ maskesi",
"dhcp_form_range_title": "IP adresi aralığı",
@@ -128,14 +131,14 @@
"number_of_dns_query_days": "Son {{count}} gün boyunca işlenen DNS sorgularının sayısı",
"number_of_dns_query_days_plural": "Son {{count}} gün boyunca işlenen DNS sorgularının sayısı",
"number_of_dns_query_24_hours": "Son 24 saat içinde işlenen DNS sorgularının sayısı",
"number_of_dns_query_blocked_24_hours": "Reklam engelleme filtreleri ve hosts engel listeleri tarafından engellenen DNS isteklerinin sayısı",
"number_of_dns_query_blocked_24_hours": "Reklam engelleme filtreleri ve ana makine engel listeleri tarafından engellenen DNS isteklerinin sayısı",
"number_of_dns_query_blocked_24_hours_by_sec": "AdGuard gezinti koruması modülü tarafından engellenen DNS isteklerinin sayısı",
"number_of_dns_query_blocked_24_hours_adult": "Engellenen yetişkin içerikli sitelerin sayısı",
"enforced_save_search": "Uygulanan güvenli arama",
"number_of_dns_query_to_safe_search": "Güvenli Aramanın uygulandığı arama motorlarına gönderilen DNS isteklerinin sayısı",
"average_processing_time": "Ortalama işlem süresi",
"average_processing_time_hint": "Bir DNS isteğinin milisaniye cinsinden ortalama işlem süresi",
"block_domain_use_filters_and_hosts": "Filtre ve hosts dosyalarını kullanarak alan adlarını engelle",
"block_domain_use_filters_and_hosts": "Filtre ve ana makine listelerini kullanarak alan adlarını engelle",
"filters_block_toggle_hint": "<a>Filtreler</a> ayarlarında engelleme kuralları oluşturabilirsiniz.",
"use_adguard_browsing_sec": "AdGuard gezinti koruması web hizmetini kullan",
"use_adguard_browsing_sec_hint": "AdGuard Home, alan adının gezinti koruması web hizmeti tarafından engellenip engellenmediğini kontrol eder. Kontrolü gerçekleştirmek için gizlilik dostu arama API'sini kullanır: sunucuya yalnızca SHA256 karma alan adının kısa bir ön eki gönderilir.",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "Ebeveyn Denetimi etkinleştirildi",
"disabled_safe_search_toast": "Güvenli Arama devre dışı bırakıldı",
"enabled_save_search_toast": "Güvenli Arama etkinleştirildi",
"updated_save_search_toast": "Güvenli Arama ayarları güncellendi",
"enabled_table_header": "Etkin",
"name_table_header": "Ad",
"list_url_table_header": "Liste URL'si",
@@ -178,7 +180,7 @@
"edit_table_action": "Düzenle",
"delete_table_action": "Sil",
"elapsed": "Geçen süre",
"filters_and_hosts_hint": "AdGuard Home, temel reklam engelleme kurallarını ve hosts dosyalarının söz dizimini anlar.",
"filters_and_hosts_hint": "AdGuard Home, temel reklam engelleme kurallarını ve ana makine dosyalarının söz dizimini anlar.",
"no_blocklist_added": "Engel listesi eklenmedi",
"no_whitelist_added": "İzin listesi eklenmedi",
"add_blocklist": "Engel listesi ekle",
@@ -198,8 +200,8 @@
"form_error_url_format": "Geçersiz URL biçimi",
"form_error_url_or_path_format": "Geçersiz URL adresi veya dosya yolu",
"custom_filter_rules": "Özel filtreleme kuralları",
"custom_filter_rules_hint": "Her satıra bir kural girin. Reklam engelleme kuralı veya hosts dosyası söz dizimi kullanabilirsiniz.",
"system_host_files": "Sistem hosts dosyaları",
"custom_filter_rules_hint": "Her satıra bir kural girin. Reklam engelleme kuralı veya ana makine dosyası söz dizimi kullanabilirsiniz.",
"system_host_files": "Sistem ana makine dosyaları",
"examples_title": "Örnekler",
"example_meaning_filter_block": "example.org'a ve tüm alt alanlarına erişimi engeller;",
"example_meaning_filter_whitelist": "example.org'a ve tüm alt alanlarına erişimin engelini kaldırır;",
@@ -291,8 +293,6 @@
"rate_limit": "Sıklık limiti",
"edns_enable": "EDNS istemci alt ağını etkinleştir",
"edns_cs_desc": "Kaynak yönü isteklerine EDNS İstemci Alt Ağı seçeneğini (ECS) ekleyin ve istemciler tarafından gönderilen değerleri sorgu günlüğüne kaydedin.",
"edns_use_custom_ip": "EDNS için özel IP kullan",
"edns_use_custom_ip_desc": "EDNS için özel IP kullanımına izin ver",
"rate_limit_desc": "İstemci başına izin verilen saniyedeki istek sayısı. 0 olarak ayarlamak, sınır olmadığı anlamına gelir.",
"blocking_ipv4_desc": "Engellenen bir A isteği için geri döndürülecek IP adresi",
"blocking_ipv6_desc": "Engellenen bir AAAA isteği için geri döndürülecek IP adresi",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: NXDOMAIN koduyla yanıt verin",
"blocking_mode_null_ip": "Boş IP: Sıfır IP adresiyle yanıt verin (A için 0.0.0.0; :: AAAA için)",
"blocking_mode_custom_ip": "Özel IP: El ile ayarlanmış bir IP adresiyle yanıt verin",
"theme_auto": "Otomatik",
"theme_light": "Açık",
"theme_dark": "Koyu",
"upstream_dns_client_desc": "Bu alanı boş bırakırsanız, AdGuard Home, <0>DNS ayarlarında</0> yapılandırılan sunucuları kullanır.",
"tracker_source": "İzleyici kaynağı",
"source_label": "Kaynak",
@@ -353,12 +350,12 @@
"install_devices_macos_list_3": "Listedeki ilk bağlantıyı seçin ve Gelişmiş öğesine tıklayın.",
"install_devices_macos_list_4": "DNS sekmesini seçin ve AdGuard Home sunucunuzun adreslerini girin.",
"install_devices_android_list_1": "Android Menüsü ana ekranından Ayarlar'a dokunun.",
"install_devices_android_list_2": "Menüde bulunan Wi-Fi öğesine dokunun. Mevcut tüm ağlar listelenecektir (telefon ağlar için özel DNS sunucusu ayarlanamaz).",
"install_devices_android_list_2": "Menüde bulunan Wi-Fi öğesine dokunun. Mevcut tüm ağlar listelenecektir (mobil ağlar için özel DNS sunucusu ayarlanamaz).",
"install_devices_android_list_3": "Bağlı olduğunuz ağın üzerine basılı tutun ve Ağı Değiştir'e dokunun.",
"install_devices_android_list_4": "Bazı cihazlarda, diğer ayarları görmek için \"Gelişmiş\" seçeneğini seçmeniz gerekebilir. Android DNS ayarlarınızı yapmak için IP ayarlarını DHCP modundan Statik moda değiştirmeniz gerekir.",
"install_devices_android_list_5": "DNS 1 ve DNS 2 değerlerini AdGuard Home sunucunuzun adresleriyle değiştirin.",
"install_devices_ios_list_1": "Ana ekrandan Ayarlar'a dokunun.",
"install_devices_ios_list_2": "Sol menüde bulunan Wi-Fi bölümüne girin (telefon ağlar için özel DNS sunucusu ayarlanamaz).",
"install_devices_ios_list_2": "Sol menüde bulunan Wi-Fi bölümüne girin (mobil ağlar için özel DNS sunucusu ayarlanamaz).",
"install_devices_ios_list_3": "O anda aktif olan ağın adına dokunun.",
"install_devices_ios_list_4": "DNS alanına AdGuard Home sunucunuzun adreslerini girin.",
"get_started": "Başlayın",
@@ -396,7 +393,6 @@
"encryption_issuer": "Sağlayan",
"encryption_hostnames": "Ana makine adları",
"encryption_reset": "Şifreleme ayarlarını sıfırlamak istediğinizden emin misiniz?",
"encryption_warning": "Uyarı",
"topline_expiring_certificate": "SSL sertifikanızın süresi sona üzere. <0>Şifreleme ayarlarını</0> güncelleyin.",
"topline_expired_certificate": "SSL sertifikanızın süresi sona erdi. <0>Şifreleme ayarlarını</0> güncelleyin.",
"form_error_port_range": "80-65535 aralığında geçerli bir bağlantı noktası değeri girin",
@@ -413,7 +409,7 @@
"fix": "Düzelt",
"dns_providers": "Aralarından seçim yapabileceğiniz, bilinen <0>DNS sağlayıcıların listesi</0>.",
"update_now": "Şimdi güncelle",
"update_failed": "Otomatik güncellenemedi. Elle güncellemek için lütfen <a>bu adımları izleyin</a>.",
"update_failed": "Otomatik güncelleme başarısız oldu. Elle güncellemek için lütfen <a>bu adımları izleyin</a>.",
"manual_update": "Elle güncellemek için lütfen <a>bu adımları uygulayın</a>.",
"processing_update": "Lütfen bekleyin, AdGuard Home güncelleniyor",
"clients_title": "Kalıcı istemciler",
@@ -452,12 +448,11 @@
"access_disallowed_title": "İzin verilmeyen istemciler",
"access_disallowed_desc": "CIDR'lerin, IP adreslerinin veya <a>İstemci Kimliklerin</a> listesi. Bu listede girişler varsa, AdGuard Home bu istemcilerden gelen istekleri keser. İzin verilen istemcilerde girişler varsa, bu alan yok sayılır.",
"access_blocked_title": "İzin verilmeyen alan adları",
"access_blocked_desc": "Bu işlem filtrelerle ilgili değildir. AdGuard Home, bu alan adlarından gelen DNS sorgularını yanıtsız bırakır ve bu sorgular sorgu günlüğünde görünmez. Tam alan adlarını, joker karakterleri veya URL filtre kurallarını belirtebilirsiniz, örn. \"example.org\", \"*.example.org\" veya \"||example.org^\".",
"access_blocked_desc": "Bu işlem filtrelerle ilgili değildir. AdGuard Home, bu alan adlarından gelen DNS sorgularını yanıtsız bırakır ve bu sorgular sorgu günlüğünde görünmez. Tam alan adlarını, joker karakterleri veya URL filtre kurallarını belirtebilirsiniz, ör. \"example.org\", \"*.example.org\" veya \"||example.org^\".",
"access_settings_saved": "Erişim ayarları başarıyla kaydedildi!",
"updates_checked": "AdGuard Home'un yeni bir sürümü mevcut",
"updates_version_equal": "AdGuard Home yazılımı güncel durumda",
"check_updates_now": "Güncellemeleri şimdi denetle",
"version_request_error": "Güncelleme denetimi başarısız. Lütfen internet bağlantınızı kontrol edin.",
"dns_privacy": "DNS Gizliliği",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> <1>{{address}}</1> dizesini kullan.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> <1>{{address}}</1> dizesini kullan.",
@@ -483,7 +478,7 @@
"rewrite_confirm_delete": "\"{{key}}\" için DNS yeniden yazımını silmek istediğinize emin misiniz?",
"rewrite_desc": "Belirli bir alan adı için özel DNS yanıtını kolayca yapılandırmanızı sağlar.",
"rewrite_applied": "Yeniden yazım kuralı uygulandı",
"rewrite_hosts_applied": "Hosts dosyası kuralı tarafından yeniden yazıldı",
"rewrite_hosts_applied": "Ana makine dosyası kuralı tarafından yeniden yazıldı",
"dns_rewrites": "DNS yeniden yazımları",
"form_domain": "Alan adı veya joker karakter girin",
"form_answer": "IP adresi veya alan adı girin",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "İstatistik saklama süresini değiştirmek istediğinizden emin misiniz? Aralık değerini azaltırsanız, bazı veriler kaybolacaktır",
"statistics_cleared": "İstatistikler başarıyla temizlendi",
"statistics_enable": "İstatistikleri etkinleştir",
"ignore_domains": "Yok sayılan alan adları (yeni satırla ayrılmış)",
"ignore_domains_title": "Yok sayılan alan adları",
"ignore_domains_desc_stats": "Bu alan adları için yapılan sorgular istatistiklere yazılmaz",
"ignore_domains_desc_query": "Bu alan adları için yapılan sorgular sorgu günlüğüne yazılmaz",
"interval_hours": "{{count}} saat",
"interval_hours_plural": "{{count}} saat",
"filters_configuration": "Filtre yapılandırması",
@@ -550,7 +541,7 @@
"network": "Ağ",
"descr": "Açıklama",
"whois": "WHOIS",
"filtering_rules_learn_more": "Kendi hosts listelerinizi oluşturma hakkında <0>daha fazla bilgi edinin</0>.",
"filtering_rules_learn_more": "Kendi ana makine listelerinizi oluşturma hakkında <0>daha fazla bilgi edinin</0>.",
"blocked_by_response": "Yanıt olarak CNAME veya IP tarafından engellendi",
"blocked_by_cname_or_ip": "CNAME veya IP tarafından engellendi",
"try_again": "Tekrar dene",
@@ -646,27 +637,5 @@
"safe_browsing": "Güvenli Gezinti",
"served_from_cache": "{{value}} <i>(önbellekten kullanıldı)</i>",
"form_error_password_length": "Parola en az {{value}} karakter uzunluğunda olmalıdır",
"anonymizer_notification": "<0>Not:</0> IP anonimleştirme etkinleştirildi. Bunu <1>Genel ayarlardan</1> devre dışı bırakabilirsiniz.",
"confirm_dns_cache_clear": "DNS önbelleğini temizlemek istediğinizden emin misiniz?",
"cache_cleared": "DNS önbelleği başarıyla temizlendi",
"clear_cache": "Önbelleği temizle",
"make_static": "Statik yap",
"theme_auto_desc": "Otomatik (cihazınızın renk düzenine göre)",
"theme_dark_desc": "Koyu tema",
"theme_light_desc": "Açık tema",
"disable_for_seconds": "{{count}} saniye için",
"disable_for_seconds_plural": "{{count}} saniye için",
"disable_for_minutes": "{{count}} dakika için",
"disable_for_minutes_plural": "{{count}} dakika için",
"disable_for_hours": "{{count}} saat için",
"disable_for_hours_plural": "{{count}} saat için",
"disable_until_tomorrow": "Yarına kadar",
"disable_notify_for_seconds": "Korumayı {{count}} saniyeliğine devre dışı bırak",
"disable_notify_for_seconds_plural": "Korumayı {{count}} saniyeliğine devre dışı bırak",
"disable_notify_for_minutes": "Korumayı {{count}} dakiklığına devre dışı bırak",
"disable_notify_for_minutes_plural": "Korumayı {{count}} dakiklığına devre dışı bırak",
"disable_notify_for_hours": "Korumayı {{count}} saatliğine devre dışı bırak",
"disable_notify_for_hours_plural": "Korumayı {{count}} saatliğine devre dışı bırak",
"disable_notify_until_tomorrow": "Korumayı yarına kadar devre dışı bırak",
"enable_protection_timer": "Koruma {{time}} içinde etkinleştirilecektir"
"anonymizer_notification": "<0>Not:</0> IP anonimleştirme etkinleştirildi. Bunu <1>Genel ayarlardan</1> devre dışı bırakabilirsiniz."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Налаштування DHCP IPv6",
"form_error_required": "Обов'язкове поле",
"form_error_ip4_format": "Неправильна IPv4-адреса",
"form_error_ip4_range_start_format": "Неправильна IPv4-адреса початку діапазону",
"form_error_ip4_range_end_format": "Неправильна IPv4-адреса кінця діапазону",
"form_error_ip4_gateway_format": "Неправильна IPv4-адреса шлюзу",
"form_error_ip6_format": "Неправильна IPv6-адреса",
"form_error_ip_format": "Неправильна IP-адреса",
@@ -49,6 +51,7 @@
"out_of_range_error": "Не повинна бути в діапазоні «{{start}}»−«{{end}}»",
"lower_range_start_error": "Має бути меншим за початкову адресу",
"greater_range_start_error": "Має бути більшим за початкову адресу",
"greater_range_end_error": "Має бути більшим за кінцеву адресу",
"subnet_error": "Адреси повинні бути в одній підмережі",
"gateway_or_subnet_invalid": "Неправильна маска підмережі",
"dhcp_form_gateway_input": "IP-адреса шлюзу",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Відповісти з кодом NXDOMAIN",
"blocking_mode_null_ip": "Нульовий IP: Відповісти з нульовою IP-адресою (0.0.0.0 для A; :: для AAAA)",
"blocking_mode_custom_ip": "Спеціальна IP-адреса: Відповісти із вручну встановленою IP-адресою",
"theme_auto": "Авто",
"theme_light": "Світла",
"theme_dark": "Темна",
"upstream_dns_client_desc": "Якщо це поле залишатиметься порожнім, AdGuard Home використовуватиме сервери, вказані в <0>налаштуваннях DNS</0>.",
"tracker_source": "Джерело відстежувача",
"source_label": "Джерело",
@@ -371,7 +371,7 @@
"encryption_redirect": "Автоматично перенаправляти на HTTPS",
"encryption_redirect_desc": "Якщо встановлено, AdGuard Home автоматично перенаправить вас з HTTP на адреси HTTPS.",
"encryption_https": "Порт HTTPS",
"encryption_https_desc": "Якщо HTTPS-порт налаштовано, інтерфейс адміністратора AdGuard Home буде доступний через HTTPS, а також сервер DNS-over-HTTPS буде доступний за адресою '/dns-query'.",
"encryption_https_desc": "Якщо HTTPS-порт налаштовано, інтерфейс адміністратора AdGuard Home буде доступний через HTTPS, а також DNS-over-HTTPS-сервер буде доступний за адресою /dns-query.",
"encryption_dot": "Порт DNS-over-TLS",
"encryption_dot_desc": "Якщо цей порт налаштовано, AdGuard Home запустить на цьому порту сервер DNS-over-TLS.",
"encryption_doq": "Порт DNS-over-QUIC",
@@ -393,7 +393,6 @@
"encryption_issuer": "Видавець",
"encryption_hostnames": "Назви вузлів",
"encryption_reset": "Ви впевнені, що хочете скинути налаштування шифрування?",
"encryption_warning": "Попередження",
"topline_expiring_certificate": "Ваш сертифікат SSL скоро закінчиться. Оновіть <0>Налаштування шифрування</0>.",
"topline_expired_certificate": "Термін дії вашого сертифіката SSL закінчився. Оновіть <0>Налаштування шифрування</0>.",
"form_error_port_range": "Введіть значення порту в діапазоні 8065535",
@@ -454,7 +453,6 @@
"updates_checked": "Доступна нова версія AdGuard Home",
"updates_version_equal": "AdGuard Home останньої версії",
"check_updates_now": "Перевірити наявність оновлень",
"version_request_error": "Не вдалося перевірити оновлення. Будь ласка, перевірте з'єднання з інтернетом.",
"dns_privacy": "Конфіденційність DNS",
"setup_dns_privacy_1": "<0>DNS-over-TLS: </0>Використайте рядок <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Використайте рядок <1>{{address}}</1>.",
@@ -639,8 +637,5 @@
"safe_browsing": "Безпечний перегляд",
"served_from_cache": "{{value}} <i>(отримано з кешу)</i>",
"form_error_password_length": "Пароль мусить мати принаймні {{value}} символів",
"anonymizer_notification": "<0>Примітка:</0> IP-анонімізацію ввімкнено. Ви можете вимкнути його в <1>Загальні налаштування</1> .",
"confirm_dns_cache_clear": "Ви впевнені, що бажаєте очистити кеш DNS?",
"cache_cleared": "Кеш DNS успішно очищено",
"clear_cache": "Очистити кеш"
"anonymizer_notification": "<0>Примітка:</0> IP-анонімізацію ввімкнено. Ви можете вимкнути його в <1>Загальні налаштування</1> ."
}

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "Cài đặt DHCP IPv6",
"form_error_required": "Trường bắt buộc",
"form_error_ip4_format": "Địa chỉ IPv4 không hợp lệ",
"form_error_ip4_range_start_format": "Địa chỉ IPv4 không hợp lệ của phạm vi bắt đầu",
"form_error_ip4_range_end_format": "Địa chỉ IPv4 không hợp lệ của cuối phạm vi",
"form_error_ip4_gateway_format": "Địa chỉ IPv4 không hợp lệ của cổng kết nối",
"form_error_ip6_format": "Địa chỉ IPv6 không hợp lệ",
"form_error_ip_format": "Địa chỉ IP không hợp lệ",
@@ -49,6 +51,7 @@
"out_of_range_error": "Phải nằm ngoài phạm vi \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "Phải thấp hơn khởi động phạm vi",
"greater_range_start_error": "Phải lớn hơn khoảng bắt đầu",
"greater_range_end_error": "Phải lớn hơn phạm vi kết thúc",
"subnet_error": "Địa chỉ phải nằm trong một mạng con",
"gateway_or_subnet_invalid": "Mặt nạ mạng con không hợp lệ",
"dhcp_form_gateway_input": "Cổng IP",
@@ -298,9 +301,6 @@
"blocking_mode_nxdomain": "NXDOMAIN: Phản hổi với mã NXDOMAIN",
"blocking_mode_null_ip": "Null IP: Trả lời bằng không địa chỉ IP (0.0.0.0 cho A; :: cho AAAA)",
"blocking_mode_custom_ip": "IP tùy chỉnh: Phản hồi với địa chỉ IP đã được tiết lập",
"theme_auto": "Tự động",
"theme_light": "Light theme",
"theme_dark": "Dark theme",
"upstream_dns_client_desc": "Nếu để trống trường này, AdGuardHome sẽ sử dụng nhũng máy chủ được cấu hình ở <0>Cấu hình DNS</0>.",
"tracker_source": "Nguồn theo dõi",
"source_label": "Nguồn",
@@ -393,7 +393,6 @@
"encryption_issuer": "Phát hành",
"encryption_hostnames": "Tên máy chủ",
"encryption_reset": "Bạn có chắc chắn muốn đặt lại cài đặt mã hóa?",
"encryption_warning": "Cảnh báo",
"topline_expiring_certificate": "Chứng chỉ SSL của bạn sắp hết hạn. Cập nhật <0>Cài đặt mã hóa</0>.",
"topline_expired_certificate": "Chứng chỉ SSL của bạn đã hết hạn. Cập nhật <0>Cài đặt mã hóa</0>.",
"form_error_port_range": "Nhập giá trị cổng trong phạm vi 80-65535",
@@ -454,7 +453,6 @@
"updates_checked": "Phiên bản mới của AdGuard Home có sẵn",
"updates_version_equal": "AdGuard Home đã được cập nhật",
"check_updates_now": "Kiểm tra cập nhật ngay bây giờ",
"version_request_error": "Cập nhật không thành công. Hãy kiểm tra kết nối internet của bạn.",
"dns_privacy": "DNS Riêng Tư",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> Sử dụng chuỗi <1>{{address}}</1>.",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> Sử dụng chuỗi <1>{{address}}</1>.",
@@ -639,8 +637,5 @@
"safe_browsing": "Duyệt web an toàn",
"served_from_cache": "{{value}} <i>(được phục vụ từ bộ nhớ cache)</i>",
"form_error_password_length": "Mật khẩu phải có ít nhất {{value}} ký tự",
"anonymizer_notification": "<0> Lưu ý:</0> Tính năng ẩn danh IP được bật. Bạn có thể tắt nó trong <1> Cài đặt chung</1>.",
"confirm_dns_cache_clear": "Bạn có chắc chắn muốn xóa bộ đệm ẩn DNS không?",
"cache_cleared": "Đã xóa thành công bộ đệm DNS",
"clear_cache": "Xóa bộ nhớ cache"
"anonymizer_notification": "<0> Lưu ý:</0> Tính năng ẩn danh IP được bật. Bạn có thể tắt nó trong <1> Cài đặt chung</1>."
}

View File

@@ -16,7 +16,7 @@
"resolve_clients_title": "启用客户端的 IP 地址的反向解析",
"resolve_clients_desc": "通过发送 PTR 查询到对应的解析器 (本地客户端的私人 DNS 服务器,公共 IP 客户端的上游服务器) 将 IP 地址反向解析成其客户端主机名。",
"use_private_ptr_resolvers_title": "使用私人反向 DNS 解析器",
"use_private_ptr_resolvers_desc": "使用这些上游服务器对本地服务的地址执行反向 DNS 查找。 如果禁用,则 AdGuard Home 会以 NXDOMAIN 响应所有此类 PTR 请求,从 DHCP、/etc/hosts 等获知的客户端除外。",
"use_private_ptr_resolvers_desc": "使用这些上游服务器对本地服务的地址执行反向 DNS 查找。 如果禁用,则 AdGuard Home会以 NXDOMAIN 响应所有此类PTR请求从 DHCP、/ etc / hosts 等获知的客户端除外。",
"check_dhcp_servers": "检查 DHCP 服务器",
"save_config": "保存配置",
"enabled_dhcp": "DHCP 服务器已启用",
@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6设置",
"form_error_required": "必填字段",
"form_error_ip4_format": "无效的 IPv4 地址",
"form_error_ip4_range_start_format": "范围起始值的 IPv4 地址无效",
"form_error_ip4_range_end_format": "范围终值的 IPv4 地址无效",
"form_error_ip4_gateway_format": "网关 IPv4 地址无效",
"form_error_ip6_format": "无效的 IPv6 地址",
"form_error_ip_format": "无效的 IP 地址",
@@ -49,6 +51,7 @@
"out_of_range_error": "必定超出了范围 \"{{start}}\"-\"{{end}}\"",
"lower_range_start_error": "必须小于范围起始值",
"greater_range_start_error": "必须大于范围起始值",
"greater_range_end_error": "必须大于范围终值",
"subnet_error": "地址必须在一个子网内",
"gateway_or_subnet_invalid": "子网掩码无效",
"dhcp_form_gateway_input": "网关 IP",
@@ -128,7 +131,7 @@
"number_of_dns_query_days": "过去 {{count}} 天内处理的 DNS 查询总数",
"number_of_dns_query_days_plural": "在过去的 {{count}} 天内处理了多少个 DNS 查询",
"number_of_dns_query_24_hours": "过去 24 小时内处理的 DNS 请求总数",
"number_of_dns_query_blocked_24_hours": "被广告过滤器和 Hosts 黑名单阻止的 DNS 请求总数",
"number_of_dns_query_blocked_24_hours": "被广告过滤器和 Hosts 拦截清单阻止的 DNS 请求总数",
"number_of_dns_query_blocked_24_hours_by_sec": "被 AdGuard 安全浏览模块阻止的 DNS 请求总数",
"number_of_dns_query_blocked_24_hours_adult": "被阻止的成人网站总数",
"enforced_save_search": "强制安全搜索",
@@ -146,10 +149,10 @@
"no_servers_specified": "未找到指定的服务器",
"general_settings": "常规设置",
"dns_settings": "DNS 设置",
"dns_blocklists": "DNS 黑名单",
"dns_allowlists": "DNS 白名单",
"dns_blocklists": "DNS 拦截列表",
"dns_allowlists": "DNS 允许列表",
"dns_blocklists_desc": "AdGuard Home将阻止匹配DNS拦截清单的域名",
"dns_allowlists_desc": "来自 DNS 白名单的域将被允许,即使它们位于任意黑名单中也是如此",
"dns_allowlists_desc": "来自DNS允许列表的域将被允许,即使它们位于任意阻止列表中也是如此",
"custom_filtering_rules": "自定义过滤规则",
"encryption_settings": "加密设置",
"dhcp_settings": "DHCP 设置",
@@ -167,34 +170,33 @@
"enabled_parental_toast": "家长控制已启用",
"disabled_safe_search_toast": "安全搜索已禁用",
"enabled_save_search_toast": "安全搜索已启用",
"updated_save_search_toast": "安全搜索设置更新成功",
"enabled_table_header": "已启用",
"name_table_header": "名称",
"list_url_table_header": "清单网址",
"rules_count_table_header": "规则数",
"last_time_updated_table_header": "上次更新时间",
"actions_table_header": "操作",
"actions_table_header": "活跃状态",
"request_table_header": "请求",
"edit_table_action": "编辑",
"delete_table_action": "删除",
"elapsed": "耗时",
"filters_and_hosts_hint": "AdGuard Home 可以解析基础的 adblock 规则和 Hosts 语法。",
"no_blocklist_added": "未添加黑名单",
"no_whitelist_added": "未添加白名单",
"add_blocklist": "添加黑名单",
"add_allowlist": "添加白名单",
"no_blocklist_added": "未添加阻止列表",
"no_whitelist_added": "未添加允许列表",
"add_blocklist": "添加阻止列表",
"add_allowlist": "添加允许列表",
"cancel_btn": "取消",
"enter_name_hint": "输入名称",
"enter_url_or_path_hint": "请输入URL或列表的绝对路径",
"check_updates_btn": "检查更新",
"new_blocklist": "新封锁清单",
"new_allowlist": "新增白名单",
"edit_blocklist": "编辑黑名单",
"edit_allowlist": "编辑白名单",
"choose_blocklist": "选择黑名单",
"choose_allowlist": "选择白名单",
"enter_valid_blocklist": "输入有效的黑名单 URL",
"enter_valid_allowlist": "输入有效的白名单 URL",
"new_allowlist": "新的允许清单",
"edit_blocklist": "编辑阻止列表",
"edit_allowlist": "编辑允许列表",
"choose_blocklist": "选择拦截列表",
"choose_allowlist": "选择允许列表",
"enter_valid_blocklist": "输入有效的阻止列表URL",
"enter_valid_allowlist": "输入有效的允许列表URL",
"form_error_url_format": "无效的 URL 格式",
"form_error_url_or_path_format": "无效的 URL 或列表的绝对路径",
"custom_filter_rules": "自定义过滤器规则",
@@ -270,9 +272,9 @@
"dns_cache_config_desc": "您可以在此处配置 DNS 缓存",
"blocking_mode": "拦截模式",
"default": "默认",
"nxdomain": "NXDOMAIN",
"nxdomain": "无效域名",
"refused": "REFUSED",
"null_ip": " IP",
"null_ip": "无效 IP",
"custom_ip": "自定义 IP",
"blocking_ipv4": "拦截 IPv4",
"blocking_ipv6": "拦截 IPv6",
@@ -291,19 +293,14 @@
"rate_limit": "速度限制",
"edns_enable": "启用 EDNS 客户端子网",
"edns_cs_desc": "在上游请求中加入 EDNS 客户端子网“EDNS Client Subnet”即 ECS选项并在查询日志中记录客户端发送的数值。",
"edns_use_custom_ip": "为 EDNS 使用自定义 IP",
"edns_use_custom_ip_desc": "允许为 EDNS 使用自定义 IP",
"rate_limit_desc": "每个客户端每秒钟查询次数的限制。设置为 0 意味着不限制。",
"blocking_ipv4_desc": "拦截 A 记录请求返回的 IP 地址",
"blocking_ipv6_desc": "拦截 AAAA 记录请求返回的 IP 地址",
"blocking_mode_default": "默认:被 Adblock 规则拦截时反应为零 IP 地址A记录0.0.0.0AAAA记录::);被/etc/hosts 规则拦截时反应为规则中指定 IP 地址",
"blocking_mode_refused": "REFUSED以 REFUSED 码响应请求",
"blocking_mode_nxdomain": "NXDOMAIN以NXDOMAIN码响应",
"blocking_mode_null_ip": "空 IP以零 IP 地址响应A 记录 0.0.0.0AAAA 记录 ::",
"blocking_mode_null_ip": "空IP以零IP地址响应(A记录 0.0.0.0AAAA记录 ::)",
"blocking_mode_custom_ip": "自定IP以手动设置的IP地址响应",
"theme_auto": "自动",
"theme_light": "浅色主题",
"theme_dark": "深色主题",
"upstream_dns_client_desc": "如果将此字段留空AdGuard Home 将使用在<0>DNS设置</0>中配置的服务器。",
"tracker_source": "追踪器来源",
"source_label": "源",
@@ -396,7 +393,6 @@
"encryption_issuer": "颁发者",
"encryption_hostnames": "主机名",
"encryption_reset": "您确定想要重置加密设置?",
"encryption_warning": "警告",
"topline_expiring_certificate": "您的 SSL 证书即将过期。请更新 <0>加密设置</0> 。",
"topline_expired_certificate": "您的 SSL 证书已过期。请更新 <0>加密设置</0> 。",
"form_error_port_range": "输入 80 - 65535 范围内的端口值",
@@ -457,7 +453,6 @@
"updates_checked": "AdGuard Home 的新版本现在可用",
"updates_version_equal": "AdGuard Home已经是最新版本",
"check_updates_now": "立即检查更新",
"version_request_error": "检查更新失败。请检查您的因特网连接。",
"dns_privacy": "DNS 隐私",
"setup_dns_privacy_1": "<0>DNS-over-TLS:</0> 使用 <1>{{address}}</1> 字符串。",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS:</0> 使用 <1>{{address}}</1> 字符串。",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "您确定要更改统计记录保留时间吗? 如果您减少间隔时间的值, 某些数据可能会丢失。",
"statistics_cleared": "统计数据已成功清除",
"statistics_enable": "启用统计数据",
"ignore_domains": "忽略的网域(以换行符分隔)",
"ignore_domains_title": "被忽略的网域",
"ignore_domains_desc_stats": "这些网域的查询不在统计信息",
"ignore_domains_desc_query": "这些网域的查询不在查询日志记录",
"interval_hours": "{{count}} 小时",
"interval_hours_plural": "{{count}} 小时",
"filters_configuration": "过滤器配置",
@@ -612,7 +603,7 @@
"filtered": "已过滤",
"rewritten": "重写项",
"safe_search": "安全搜索",
"blocklist": "黑名单",
"blocklist": "拦截列表",
"milliseconds_abbreviation": "毫秒",
"cache_size": "缓存大小",
"cache_size_desc": "DNS 缓存大小(单位:字节)。要关闭缓存,请留空。",
@@ -633,7 +624,7 @@
"filter_category_general_desc": "在大多数设备上阻止跟踪和广告的列表",
"filter_category_security_desc": "专用于拦截恶意软件、钓鱼或欺诈域名的列表",
"filter_category_regional_desc": "专注于区域广告和跟踪服务器的列表",
"filter_category_other_desc": "其他黑名单",
"filter_category_other_desc": "其他阻止列表",
"setup_config_to_enable_dhcp_server": "设置配置以启用 DHCP 服务器",
"original_response": "原始响应",
"click_to_view_queries": "点击查看查询",
@@ -646,27 +637,5 @@
"safe_browsing": "安全浏览",
"served_from_cache": "{{value}}<i>(由缓存提供)</i>",
"form_error_password_length": "密码必须至少有 {{value}} 个字符",
"anonymizer_notification": "<0>注意:</0> IP 匿名化已启用。您可以在<1>常规设置</1>中禁用它。",
"confirm_dns_cache_clear": "您确定要清除 DNS 缓存吗?",
"cache_cleared": "已成功清除 DNS 缓存",
"clear_cache": "清除缓存",
"make_static": "静态化",
"theme_auto_desc": "自动(基于设备的配色方案)",
"theme_dark_desc": "暗黑主题",
"theme_light_desc": "浅色主题",
"disable_for_seconds": "{{count}} 秒",
"disable_for_seconds_plural": "{{count}} 秒",
"disable_for_minutes": "{{count}} 分钟",
"disable_for_minutes_plural": "{{count}} 分钟",
"disable_for_hours": "{{count}} 小时",
"disable_for_hours_plural": "{{count}} 小时",
"disable_until_tomorrow": "直到明天",
"disable_notify_for_seconds": "禁用保护 {{count}} 秒",
"disable_notify_for_seconds_plural": "禁用保护 {{count}} 秒",
"disable_notify_for_minutes": "禁用保护 {{count}} 分钟",
"disable_notify_for_minutes_plural": "禁用保护 {{count}} 分钟",
"disable_notify_for_hours": "禁用保护 {{count}} 小时",
"disable_notify_for_hours_plural": "禁用保护 {{count}} 小时",
"disable_notify_until_tomorrow": "禁用保护直到明天",
"enable_protection_timer": "保护将于 {{time}} 启用"
"anonymizer_notification": "<0>注意:</0> IP 匿名化已启用。您可以在<1>常规设置</1>中禁用它。"
}

View File

@@ -38,6 +38,8 @@
"form_error_required": "必要欄位",
"form_error_ip4_format": "無效的 IPv4 格式",
"form_error_ip6_format": "無效的 IPv6 格式",
"form_error_ip4_range_start_format": "無效的 IPv4 範圍起始位址",
"form_error_ip4_range_end_format": "無效的 IPv4 範圍結束位址",
"form_error_ip4_gateway_format": "閘道的 IPv4 位址無效",
"form_error_ip_format": "無效的 IP 位址",
"form_error_mac_format": "無效的 「MAC 位址」格式",
@@ -379,7 +381,6 @@
"encryption_issuer": "簽發者",
"encryption_hostnames": "主機名稱",
"encryption_reset": "您確定要重設加密設定嗎?",
"encryption_warning": "警告",
"topline_expiring_certificate": "您的 SSL 憑證即將到期。請前往<0>加密設定</0>更新。",
"topline_expired_certificate": "您的 SSL 憑證已到期。請前往<0>加密設定</0>更新。",
"form_error_port_range": "輸入範圍 80-65535 中的值",

View File

@@ -37,6 +37,8 @@
"dhcp_ipv6_settings": "DHCP IPv6 設定",
"form_error_required": "必填的欄位",
"form_error_ip4_format": "無效的 IPv4 位址",
"form_error_ip4_range_start_format": "無效起始範圍的 IPv4 位址",
"form_error_ip4_range_end_format": "無效結束範圍的 IPv4 位址",
"form_error_ip4_gateway_format": "無效閘道的 IPv4 位址",
"form_error_ip6_format": "無效的 IPv6 位址",
"form_error_ip_format": "無效的 IP 位址",
@@ -49,6 +51,7 @@
"out_of_range_error": "必須在\"{{start}}\"-\"{{end}}\"範圍之外",
"lower_range_start_error": "必須低於起始範圍",
"greater_range_start_error": "必須大於起始範圍",
"greater_range_end_error": "必須大於結束範圍",
"subnet_error": "位址必須在子網路中",
"gateway_or_subnet_invalid": "無效的子網路遮罩",
"dhcp_form_gateway_input": "閘道 IP",
@@ -167,7 +170,6 @@
"enabled_parental_toast": "已啟用家長控制",
"disabled_safe_search_toast": "已禁用安全搜尋",
"enabled_save_search_toast": "已啟用安全搜尋",
"updated_save_search_toast": "安全搜尋設定更新成功",
"enabled_table_header": "已啟用",
"name_table_header": "名稱",
"list_url_table_header": "清單網址",
@@ -291,8 +293,6 @@
"rate_limit": "速率限制",
"edns_enable": "啟用對於 DNS 的擴充機制EDNS用戶端子網路",
"edns_cs_desc": "新增對於 DNS 的擴充機制EDNS用戶端子網路選項到上游的請求並在查詢記錄中記錄由用戶端傳送的數值。",
"edns_use_custom_ip": "為 EDNS 使用自訂的 IP",
"edns_use_custom_ip_desc": "允許為 EDNS 使用自訂的 IP",
"rate_limit_desc": "每個用戶端被允許的每秒請求之數量。設定它為 0 表示無限制。",
"blocking_ipv4_desc": "要被返回給已封鎖的 A 請求之 IP 位址",
"blocking_ipv6_desc": "要被返回給已封鎖的 AAAA 請求之 IP 位址",
@@ -301,9 +301,6 @@
"blocking_mode_nxdomain": "不存在的網域NXDOMAIN以 NXDOMAIN 碼回覆",
"blocking_mode_null_ip": "無效的 IP以零值 IP 位址0.0.0.0 供 A:: 供 AAAA回覆",
"blocking_mode_custom_ip": "自訂的 IP以一組手動地被設定的 IP 位址回覆",
"theme_auto": "自動",
"theme_light": "淺色",
"theme_dark": "深色",
"upstream_dns_client_desc": "如果您將此欄位留空AdGuard Home 將使用在 <0>DNS 設定</0>中被配置的伺服器。",
"tracker_source": "追蹤器來源",
"source_label": "來源",
@@ -396,7 +393,6 @@
"encryption_issuer": "簽發者",
"encryption_hostnames": "主機名稱",
"encryption_reset": "您確定您想要重置加密設定嗎?",
"encryption_warning": "警告",
"topline_expiring_certificate": "您的安全通訊端層SSL憑證即將到期。更新<0>加密設定</0>。",
"topline_expired_certificate": "您的安全通訊端層SSL憑證為已到期的。更新<0>加密設定</0>。",
"form_error_port_range": "輸入在 80-65535 之範圍內的連接埠號碼",
@@ -457,7 +453,6 @@
"updates_checked": "AdGuard Home 的新版本為可用的",
"updates_version_equal": "AdGuard Home 為最新的",
"check_updates_now": "立即檢查更新",
"version_request_error": "更新檢查已失敗。請檢查您的網際網路連線。",
"dns_privacy": "DNS 隱私",
"setup_dns_privacy_1": "<0>DNS-over-TLS</0>使用 <1>{{address}}</1> 字串。",
"setup_dns_privacy_2": "<0>DNS-over-HTTPS</0>使用 <1>{{address}}</1> 字串。",
@@ -526,10 +521,6 @@
"statistics_retention_confirm": "您確定您想要更改統計資料保留嗎?如果您減少該間隔值,某些資料將被丟失",
"statistics_cleared": "統計資料被成功地清除",
"statistics_enable": "啟用統計資料",
"ignore_domains": "忽略的網域(以換行符分隔)",
"ignore_domains_title": "被忽略的網域",
"ignore_domains_desc_stats": "這些網域的查詢不在統計資料",
"ignore_domains_desc_query": "這些網域的查詢不在查詢記錄",
"interval_hours": "{{count}} 小時",
"interval_hours_plural": "{{count}} 小時",
"filters_configuration": "過濾器配置",
@@ -646,27 +637,5 @@
"safe_browsing": "安全瀏覽",
"served_from_cache": "{{value}} <i>(由快取提供)</i>",
"form_error_password_length": "密碼必須為至少長 {{value}} 個字元",
"anonymizer_notification": "<0>注意:</0>IP 匿名化被啟用。您可在<1>一般設定</1>中禁用它。",
"confirm_dns_cache_clear": "您確定您想要清除 DNS 快取嗎?",
"cache_cleared": "DNS 快取被成功地清除",
"clear_cache": "清除快取",
"make_static": "靜態化",
"theme_auto_desc": "自動(基於裝置的配色方案)",
"theme_dark_desc": "深色主題",
"theme_light_desc": "淺色主題",
"disable_for_seconds": "{{count}} 秒",
"disable_for_seconds_plural": "{{count}} 秒",
"disable_for_minutes": "{{count}} 分鐘",
"disable_for_minutes_plural": "{{count}} 分鐘",
"disable_for_hours": "{{count}} 小時",
"disable_for_hours_plural": "{{count}} 小時",
"disable_until_tomorrow": "直到明天",
"disable_notify_for_seconds": "計 {{count}} 秒禁用防護",
"disable_notify_for_seconds_plural": "計 {{count}} 秒禁用防護",
"disable_notify_for_minutes": "計 {{count}} 分鐘禁用防護",
"disable_notify_for_minutes_plural": "計 {{count}} 分鐘禁用防護",
"disable_notify_for_hours": "計 {{count}} 小時禁用防護",
"disable_notify_for_hours_plural": "計 {{count}} 小時禁用防護",
"disable_notify_until_tomorrow": "禁用防護直到明天",
"enable_protection_timer": "防護將於 {{time}} 被啟用"
"anonymizer_notification": "<0>注意:</0>IP 匿名化被啟用。您可在<1>一般設定</1>中禁用它。"
}

View File

@@ -1,5 +1,4 @@
import { createAction } from 'redux-actions';
import i18next from 'i18next';
import apiClient from '../api/Api';
import { splitByNewLine } from '../helpers/helpers';
@@ -20,22 +19,6 @@ export const getDnsConfig = () => async (dispatch) => {
}
};
export const clearDnsCacheRequest = createAction('CLEAR_DNS_CACHE_REQUEST');
export const clearDnsCacheFailure = createAction('CLEAR_DNS_CACHE_FAILURE');
export const clearDnsCacheSuccess = createAction('CLEAR_DNS_CACHE_SUCCESS');
export const clearDnsCache = () => async (dispatch) => {
dispatch(clearDnsCacheRequest());
try {
const data = await apiClient.clearCache();
dispatch(clearDnsCacheSuccess(data));
dispatch(addSuccessToast(i18next.t('cache_cleared')));
} catch (error) {
dispatch(addErrorToast({ error }));
dispatch(clearDnsCacheFailure());
}
};
export const setDnsConfigRequest = createAction('SET_DNS_CONFIG_REQUEST');
export const setDnsConfigFailure = createAction('SET_DNS_CONFIG_FAILURE');
export const setDnsConfigSuccess = createAction('SET_DNS_CONFIG_SUCCESS');

View File

@@ -41,22 +41,14 @@ export const setTlsConfig = (config) => async (dispatch, getState) => {
response.certificate_chain = atob(response.certificate_chain);
response.private_key = atob(response.private_key);
if (values.enabled && values.force_https && window.location.protocol === 'http:') {
window.location.reload();
return;
}
redirectToCurrentProtocol(response, httpPort);
const dnsStatus = await apiClient.getGlobalStatus();
if (dnsStatus) {
if (dnsStatus.protection_disabled_duration === 0) {
dnsStatus.protection_disabled_duration = null;
}
dispatch(dnsStatusSuccess(dnsStatus));
}
dispatch(setTlsConfigSuccess(response));
dispatch(addSuccessToast('encryption_config_saved'));
redirectToCurrentProtocol(response, httpPort);
} catch (error) {
dispatch(addErrorToast({ error }));
dispatch(setTlsConfigFailure());

View File

@@ -6,14 +6,7 @@ import endsWith from 'lodash/endsWith';
import escapeRegExp from 'lodash/escapeRegExp';
import React from 'react';
import { compose } from 'redux';
import {
splitByNewLine,
sortClients,
filterOutComments,
msToSeconds,
msToMinutes,
msToHours,
} from '../helpers/helpers';
import { splitByNewLine, sortClients, filterOutComments } from '../helpers/helpers';
import {
BLOCK_ACTIONS,
CHECK_TIMEOUT,
@@ -21,7 +14,6 @@ import {
SETTINGS_NAMES,
FORM_NAME,
MANUAL_UPDATE_LINK,
DISABLE_PROTECTION_TIMINGS,
} from '../helpers/constants';
import { areEqualVersions } from '../helpers/version';
import { getTlsStatus } from './encryption';
@@ -32,12 +24,6 @@ import { getFilteringStatus, setRules } from './filtering';
export const toggleSettingStatus = createAction('SETTING_STATUS_TOGGLE');
export const showSettingsFailure = createAction('SETTINGS_FAILURE_SHOW');
/**
*
* @param {*} settingKey = SETTINGS_NAMES
* @param {*} status: boolean | SafeSearchConfig
* @returns
*/
export const toggleSetting = (settingKey, status) => async (dispatch) => {
let successMessage = '';
try {
@@ -63,9 +49,14 @@ export const toggleSetting = (settingKey, status) => async (dispatch) => {
dispatch(toggleSettingStatus({ settingKey }));
break;
case SETTINGS_NAMES.safesearch:
successMessage = 'updated_save_search_toast';
await apiClient.updateSafesearch(status);
dispatch(toggleSettingStatus({ settingKey, value: status }));
if (status) {
successMessage = 'disabled_safe_search_toast';
await apiClient.disableSafesearch();
} else {
successMessage = 'enabled_save_search_toast';
await apiClient.enableSafesearch();
}
dispatch(toggleSettingStatus({ settingKey }));
break;
default:
break;
@@ -80,9 +71,7 @@ export const initSettingsRequest = createAction('SETTINGS_INIT_REQUEST');
export const initSettingsFailure = createAction('SETTINGS_INIT_FAILURE');
export const initSettingsSuccess = createAction('SETTINGS_INIT_SUCCESS');
export const initSettings = (settingsList = {
safebrowsing: {}, parental: {},
}) => async (dispatch) => {
export const initSettings = (settingsList) => async (dispatch) => {
dispatch(initSettingsRequest());
try {
const safebrowsingStatus = await apiClient.getSafebrowsingStatus();
@@ -91,6 +80,7 @@ export const initSettings = (settingsList = {
const {
safebrowsing,
parental,
safesearch,
} = settingsList;
const newSettingsList = {
safebrowsing: {
@@ -102,7 +92,8 @@ export const initSettings = (settingsList = {
enabled: parentalStatus.enabled,
},
safesearch: {
...safesearchStatus,
...safesearch,
enabled: safesearchStatus.enabled,
},
};
dispatch(initSettingsSuccess({ settingsList: newSettingsList }));
@@ -116,54 +107,19 @@ export const toggleProtectionRequest = createAction('TOGGLE_PROTECTION_REQUEST')
export const toggleProtectionFailure = createAction('TOGGLE_PROTECTION_FAILURE');
export const toggleProtectionSuccess = createAction('TOGGLE_PROTECTION_SUCCESS');
const getDisabledMessage = (time) => {
switch (time) {
case DISABLE_PROTECTION_TIMINGS.HALF_MINUTE:
return i18next.t(
'disable_notify_for_seconds',
{ count: msToSeconds(DISABLE_PROTECTION_TIMINGS.HALF_MINUTE) },
);
case DISABLE_PROTECTION_TIMINGS.MINUTE:
return i18next.t(
'disable_notify_for_minutes',
{ count: msToMinutes(DISABLE_PROTECTION_TIMINGS.MINUTE) },
);
case DISABLE_PROTECTION_TIMINGS.TEN_MINUTES:
return i18next.t(
'disable_notify_for_minutes',
{ count: msToMinutes(DISABLE_PROTECTION_TIMINGS.TEN_MINUTES) },
);
case DISABLE_PROTECTION_TIMINGS.HOUR:
return i18next.t(
'disable_notify_for_hours',
{ count: msToHours(DISABLE_PROTECTION_TIMINGS.HOUR) },
);
case DISABLE_PROTECTION_TIMINGS.TOMORROW:
return i18next.t('disable_notify_until_tomorrow');
default:
return 'disabled_protection';
}
};
export const toggleProtection = (status, time = null) => async (dispatch) => {
export const toggleProtection = (status) => async (dispatch) => {
dispatch(toggleProtectionRequest());
try {
const successMessage = status ? getDisabledMessage(time) : 'enabled_protection';
await apiClient.setProtection({ enabled: !status, duration: time });
const successMessage = status ? 'disabled_protection' : 'enabled_protection';
await apiClient.setDnsConfig({ protection_enabled: !status });
dispatch(addSuccessToast(successMessage));
dispatch(toggleProtectionSuccess({ disabledDuration: time }));
dispatch(toggleProtectionSuccess());
} catch (error) {
dispatch(addErrorToast({ error }));
dispatch(toggleProtectionFailure());
}
};
export const setDisableDurationTime = createAction('SET_DISABLED_DURATION_TIME');
export const setProtectionTimerTime = (updatedTime) => async (dispatch) => {
dispatch(setDisableDurationTime({ timeToEnableProtection: updatedTime }));
};
export const getVersionRequest = createAction('GET_VERSION_REQUEST');
export const getVersionFailure = createAction('GET_VERSION_FAILURE');
export const getVersionSuccess = createAction('GET_VERSION_SUCCESS');
@@ -185,7 +141,7 @@ export const getVersion = (recheck = false) => async (dispatch, getState) => {
}
}
} catch (error) {
dispatch(addErrorToast({ error: 'version_request_error' }));
dispatch(addErrorToast({ error }));
dispatch(getVersionFailure());
}
};
@@ -316,9 +272,6 @@ export const getDnsStatus = () => async (dispatch) => {
const handleRequestSuccess = (response) => {
const dnsStatus = response.data;
if (dnsStatus.protection_disabled_duration === 0) {
dnsStatus.protection_disabled_duration = null;
}
const { running } = dnsStatus;
const runningStatus = dnsStatus && running;
if (runningStatus === true) {
@@ -410,18 +363,18 @@ export const changeLanguage = (lang) => async (dispatch) => {
}
};
export const changeThemeRequest = createAction('CHANGE_THEME_REQUEST');
export const changeThemeFailure = createAction('CHANGE_THEME_FAILURE');
export const changeThemeSuccess = createAction('CHANGE_THEME_SUCCESS');
export const getLanguageRequest = createAction('GET_LANGUAGE_REQUEST');
export const getLanguageFailure = createAction('GET_LANGUAGE_FAILURE');
export const getLanguageSuccess = createAction('GET_LANGUAGE_SUCCESS');
export const changeTheme = (theme) => async (dispatch) => {
dispatch(changeThemeRequest());
export const getLanguage = () => async (dispatch) => {
dispatch(getLanguageRequest());
try {
await apiClient.changeTheme({ theme });
dispatch(changeThemeSuccess({ theme }));
const langSettings = await apiClient.getCurrentLanguage();
dispatch(getLanguageSuccess(langSettings.language));
} catch (error) {
dispatch(addErrorToast({ error }));
dispatch(changeThemeFailure());
dispatch(getLanguageFailure());
}
};

View File

@@ -177,7 +177,7 @@ export const getLogsConfigSuccess = createAction('GET_LOGS_CONFIG_SUCCESS');
export const getLogsConfig = () => async (dispatch) => {
dispatch(getLogsConfigRequest());
try {
const data = await apiClient.getQueryLogConfig();
const data = await apiClient.getQueryLogInfo();
dispatch(getLogsConfigSuccess(data));
} catch (error) {
dispatch(addErrorToast({ error }));

View File

@@ -13,7 +13,7 @@ export const getStatsConfigSuccess = createAction('GET_STATS_CONFIG_SUCCESS');
export const getStatsConfig = () => async (dispatch) => {
dispatch(getStatsConfigRequest());
try {
const data = await apiClient.getStatsConfig();
const data = await apiClient.getStatsInfo();
dispatch(getStatsConfigSuccess(data));
} catch (error) {
dispatch(addErrorToast({ error }));

View File

@@ -1,12 +1,8 @@
import axios from 'axios';
import { getPathWithQueryString } from '../helpers/helpers';
import {
QUERY_LOGS_PAGE_LIMIT, HTML_PAGES, R_PATH_LAST_PART, THEMES,
} from '../helpers/constants';
import { QUERY_LOGS_PAGE_LIMIT, HTML_PAGES, R_PATH_LAST_PART } from '../helpers/constants';
import { BASE_URL } from '../../constants';
import i18n from '../i18n';
import { LANGUAGES } from '../helpers/twosky';
class Api {
baseUrl = BASE_URL;
@@ -208,57 +204,41 @@ class Api {
// Safesearch
SAFESEARCH_STATUS = { path: 'safesearch/status', method: 'GET' };
SAFESEARCH_UPDATE = { path: 'safesearch/settings', method: 'PUT' };
SAFESEARCH_ENABLE = { path: 'safesearch/enable', method: 'POST' };
SAFESEARCH_DISABLE = { path: 'safesearch/disable', method: 'POST' };
getSafesearchStatus() {
const { path, method } = this.SAFESEARCH_STATUS;
return this.makeRequest(path, method);
}
/**
* interface SafeSearchConfig {
"enabled": boolean,
"bing": boolean,
"duckduckgo": boolean,
"google": boolean,
"pixabay": boolean,
"yandex": boolean,
"youtube": boolean
* }
* @param {*} data - SafeSearchConfig
* @returns 200 ok
*/
updateSafesearch(data) {
const { path, method } = this.SAFESEARCH_UPDATE;
return this.makeRequest(path, method, { data });
enableSafesearch() {
const { path, method } = this.SAFESEARCH_ENABLE;
return this.makeRequest(path, method);
}
// enableSafesearch() {
// const { path, method } = this.SAFESEARCH_ENABLE;
// return this.makeRequest(path, method);
// }
// disableSafesearch() {
// const { path, method } = this.SAFESEARCH_DISABLE;
// return this.makeRequest(path, method);
// }
disableSafesearch() {
const { path, method } = this.SAFESEARCH_DISABLE;
return this.makeRequest(path, method);
}
// Language
CURRENT_LANGUAGE = { path: 'i18n/current_language', method: 'GET' };
async changeLanguage(config) {
const profile = await this.getProfile();
profile.language = config.language;
CHANGE_LANGUAGE = { path: 'i18n/change_language', method: 'POST' };
return this.setProfile(profile);
getCurrentLanguage() {
const { path, method } = this.CURRENT_LANGUAGE;
return this.makeRequest(path, method);
}
// Theme
async changeTheme(config) {
const profile = await this.getProfile();
profile.theme = config.theme;
return this.setProfile(profile);
changeLanguage(config) {
const { path, method } = this.CHANGE_LANGUAGE;
const parameters = {
data: config,
};
return this.makeRequest(path, method, parameters);
}
// DHCP
@@ -513,9 +493,9 @@ class Api {
// Settings for statistics
GET_STATS = { path: 'stats', method: 'GET' };
GET_STATS_CONFIG = { path: 'stats/config', method: 'GET' };
STATS_INFO = { path: 'stats_info', method: 'GET' };
UPDATE_STATS_CONFIG = { path: 'stats/config/update', method: 'PUT' };
STATS_CONFIG = { path: 'stats_config', method: 'POST' };
STATS_RESET = { path: 'stats_reset', method: 'POST' };
@@ -524,13 +504,13 @@ class Api {
return this.makeRequest(path, method);
}
getStatsConfig() {
const { path, method } = this.GET_STATS_CONFIG;
getStatsInfo() {
const { path, method } = this.STATS_INFO;
return this.makeRequest(path, method);
}
setStatsConfig(data) {
const { path, method } = this.UPDATE_STATS_CONFIG;
const { path, method } = this.STATS_CONFIG;
const config = {
data,
};
@@ -545,9 +525,9 @@ class Api {
// Query log
GET_QUERY_LOG = { path: 'querylog', method: 'GET' };
UPDATE_QUERY_LOG_CONFIG = { path: 'querylog/config/update', method: 'PUT' };
QUERY_LOG_CONFIG = { path: 'querylog_config', method: 'POST' };
GET_QUERY_LOG_CONFIG = { path: 'querylog/config', method: 'GET' };
QUERY_LOG_INFO = { path: 'querylog_info', method: 'GET' };
QUERY_LOG_CLEAR = { path: 'querylog_clear', method: 'POST' };
@@ -559,13 +539,13 @@ class Api {
return this.makeRequest(url, method);
}
getQueryLogConfig() {
const { path, method } = this.GET_QUERY_LOG_CONFIG;
getQueryLogInfo() {
const { path, method } = this.QUERY_LOG_INFO;
return this.makeRequest(path, method);
}
setQueryLogConfig(data) {
const { path, method } = this.UPDATE_QUERY_LOG_CONFIG;
const { path, method } = this.QUERY_LOG_CONFIG;
const config = {
data,
};
@@ -591,24 +571,11 @@ class Api {
// Profile
GET_PROFILE = { path: 'profile', method: 'GET' };
UPDATE_PROFILE = { path: 'profile/update', method: 'PUT' };
getProfile() {
const { path, method } = this.GET_PROFILE;
return this.makeRequest(path, method);
}
setProfile(data) {
const theme = data.theme ? data.theme : THEMES.auto;
const defaultLanguage = i18n.language ? i18n.language : LANGUAGES.en;
const language = data.language ? data.language : defaultLanguage;
const { path, method } = this.UPDATE_PROFILE;
const config = { data: { theme, language } };
return this.makeRequest(path, method, config);
}
// DNS config
GET_DNS_CONFIG = { path: 'dns_info', method: 'GET' };
@@ -626,23 +593,6 @@ class Api {
};
return this.makeRequest(path, method, config);
}
SET_PROTECTION = { path: 'protection', method: 'POST' };
setProtection(data) {
const { enabled, duration } = data;
const { path, method } = this.SET_PROTECTION;
return this.makeRequest(path, method, { data: { enabled, duration } });
}
// Cache
CLEAR_CACHE = { path: 'cache_clear', method: 'POST' };
clearCache() {
const { path, method } = this.CLEAR_CACHE;
return this.makeRequest(path, method);
}
}
const apiClient = new Api();

View File

@@ -1,74 +1,11 @@
:root {
--black: #131313;
--bgcolor: #f5f7fb;
--mcolor: #495057;
--scolor: rgba(74, 74, 74, 0.7);
--border-color: rgba(0, 40, 100, 0.12);
--header-bgcolor: #fff;
--card-bgcolor: #fff;
--card-border-color: rgba(0, 40, 100, 0.12);
--ctrl-bgcolor: #fff;
--ctrl-select-bgcolor: rgba(69, 79, 94, 0.12);
--ctrl-dropdown-color: #212529;
--ctrl-dropdown-bgcolor-focus: #f8f9fa;
--ctrl-dropdown-color-focus: #16181b;
--btn-success-bgcolor: #5eba00;
--form-disabled-bgcolor: #f8f9fa;
--form-disabled-color: #495057;
--rt-nodata-bgcolor: rgba(255,255,255,0.8);
--rt-nodata-color: rgba(0,0,0,0.5);
--modal-overlay-bgcolor: rgba(255, 255, 255, 0.75);
--logs__table-bgcolor: #fff;
--logs__row--blue-bgcolor: #e5effd;
--logs__row--white-bgcolor: #fff;
--detailed-info-color: #888888;
--yellow-pale: rgba(247, 181, 0, 0.1);
--green79: #67b279;
--gray-a5: #a5a5a5;
--gray-d8: #d8d8d8;
--gray-f3: #f3f3f3;
--loading-bg: rgba(255, 255, 255, 0.48);
--font-family-monospace: Monaco, Menlo, "Ubuntu Mono", Consolas, source-code-pro, monospace;
--font-size-disable-autozoom: 1rem;
--alert-message-color: #24426c;
--alert-message-border: #cbdbf2;
--alert-message-bg: #dae5f5;
--checkbox-bg: #e2e2e2;
--radio-bg: #ffffff;
}
[data-theme="dark"] {
--black: #ffffff;
--bgcolor: #131313;
--mcolor: #e6e6e6;
--scolor: #a5a5a5;
--header-bgcolor: #131313;
--border-color: #222;
--card-bgcolor: #1c1c1c;
--card-border-color: #3d3d3d;
--ctrl-bgcolor: #1c1c1c;
--ctrl-select-bgcolor: #3d3d3d;
--ctrl-dropdown-color: #fff;
--ctrl-dropdown-bgcolor-focus: #000;
--ctrl-dropdown-color-focus: #fff;
--btn-success-bgcolor: #67b279;
--form-disabled-bgcolor: #2d2d2d;
--form-disabled-color: #a5a5a5;
--logs__text-color: #f3f3f3;
--rt-nodata-bgcolor: #1c1c1c;
--rt-nodata-color: #fff;
--modal-overlay-bgcolor: rgba(19, 19, 19, 0.75);
--logs__table-bgcolor: #3d3d3d;
--logs__row--blue-bgcolor: #467fcf;
--logs__row--white-bgcolor: #1c1c1c;
--detailed-info-color: #fff;
--gray300: #f3f3f3;
--loading-bg: #131313;
--alert-message-color: #e6e6e6;
--alert-message-border: #363648;
--alert-message-bg: #363648;
--checkbox-bg: #a4a4a4;
--radio-bg: #a4a4a4;
}
body {

View File

@@ -20,13 +20,8 @@ import EncryptionTopline from '../ui/EncryptionTopline';
import Icons from '../ui/Icons';
import i18n from '../../i18n';
import Loading from '../ui/Loading';
import {
FILTERS_URLS,
MENU_URLS,
SETTINGS_URLS,
THEMES,
} from '../../helpers/constants';
import { getLogsUrlParams, setHtmlLangAttr, setUITheme } from '../../helpers/helpers';
import { FILTERS_URLS, MENU_URLS, SETTINGS_URLS } from '../../helpers/constants';
import { getLogsUrlParams, setHtmlLangAttr } from '../../helpers/helpers';
import Header from '../Header';
import { changeLanguage, getDnsStatus } from '../../actions';
@@ -43,7 +38,6 @@ import DnsRewrites from '../../containers/DnsRewrites';
import CustomRules from '../../containers/CustomRules';
import Services from '../Filters/Services';
import Logs from '../Logs';
import ProtectionTimer from '../ProtectionTimer';
const ROUTES = [
{
@@ -115,7 +109,6 @@ const App = () => {
isCoreRunning,
isUpdateAvailable,
processing,
theme,
} = useSelector((state) => state.dashboard, shallowEqual);
const { processing: processingEncryption } = useSelector((
@@ -145,40 +138,6 @@ const App = () => {
setLanguage();
}, [language]);
const handleAutoTheme = (e, accountTheme) => {
if (accountTheme !== THEMES.auto) {
return;
}
if (e.matches) {
setUITheme(THEMES.dark);
} else {
setUITheme(THEMES.light);
}
};
useEffect(() => {
if (theme !== THEMES.auto) {
setUITheme(theme);
return;
}
const colorSchemeMedia = window.matchMedia('(prefers-color-scheme: dark)');
setUITheme(theme);
if (colorSchemeMedia.addEventListener !== undefined) {
colorSchemeMedia.addEventListener('change', (e) => {
handleAutoTheme(e, theme);
});
} else {
// Deprecated addListener for older versions of Safari.
colorSchemeMedia.addListener((e) => {
handleAutoTheme(e, theme);
});
}
}, [theme]);
const reloadPage = () => {
window.location.reload();
};
@@ -191,7 +150,6 @@ const App = () => {
{!processingEncryption && <EncryptionTopline />}
<LoadingBar className="loading-bar" updateTime={1000} />
<Header />
<ProtectionTimer />
<div className="container container--wrap pb-5">
{processing && <Loading />}
{!isCoreRunning && <div className="row row-cards">

View File

@@ -29,11 +29,8 @@ const BlockedDomains = ({
blockedFiltering,
replacedSafebrowsing,
replacedParental,
replacedSafesearch,
}) => {
const totalBlocked = (
blockedFiltering + replacedSafebrowsing + replacedParental + replacedSafesearch
);
const totalBlocked = blockedFiltering + replacedSafebrowsing + replacedParental;
return (
<Card
@@ -74,7 +71,6 @@ BlockedDomains.propTypes = {
topBlockedDomains: PropTypes.array.isRequired,
blockedFiltering: PropTypes.number.isRequired,
replacedSafebrowsing: PropTypes.number.isRequired,
replacedSafesearch: PropTypes.number.isRequired,
replacedParental: PropTypes.number.isRequired,
refreshButton: PropTypes.node.isRequired,
subtitle: PropTypes.string.isRequired,

View File

@@ -1,9 +1,3 @@
.dashboard-protection-button.btn-gray {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right-color: #a4a4a4;
}
.stats__table .popover__body {
left: -10px;
min-width: 270px;
@@ -40,18 +34,27 @@
align-items: center;
}
.dashboard-title__button {
margin: 0 0.5rem;
}
@media (max-width: 767.98px) {
.page-title--dashboard {
flex-direction: column;
align-items: flex-start;
}
.dashboard-title__button {
margin: 0.5rem 0;
display: block;
}
}
.counters__row {
display: flex;
align-items: center;
justify-content: space-between;
border-top: 1px solid var(--card-border-color);
border-top: 1px solid #dee2e6;
padding: 0.75rem 1.5rem;
}

View File

@@ -9,25 +9,18 @@ import Counters from './Counters';
import Clients from './Clients';
import QueriedDomains from './QueriedDomains';
import BlockedDomains from './BlockedDomains';
import { DISABLE_PROTECTION_TIMINGS, ONE_SECOND_IN_MS, SETTINGS_URLS } from '../../helpers/constants';
import {
msToSeconds,
msToMinutes,
msToHours,
msToDays,
} from '../../helpers/helpers';
import { SETTINGS_URLS } from '../../helpers/constants';
import PageTitle from '../ui/PageTitle';
import Loading from '../ui/Loading';
import './Dashboard.css';
import Dropdown from '../ui/Dropdown';
const Dashboard = ({
getAccessList,
getStats,
getStatsConfig,
dashboard,
dashboard: { protectionEnabled, processingProtection, protectionDisabledDuration },
dashboard: { protectionEnabled, processingProtection },
toggleProtection,
stats,
access,
@@ -43,20 +36,20 @@ const Dashboard = ({
useEffect(() => {
getAllStats();
}, []);
const getSubtitle = () => {
const ONE_DAY = 1;
const intervalInDays = msToDays(stats.interval);
if (intervalInDays < ONE_DAY) {
const getSubtitle = () => {
if (stats.interval === 0) {
return t('stats_disabled_short');
}
return intervalInDays === ONE_DAY
return stats.interval === 1
? t('for_last_24_hours')
: t('for_last_days', { count: msToDays(stats.interval) });
: t('for_last_days', { count: stats.interval });
};
const buttonClass = classNames('btn btn-sm dashboard-protection-button', {
const buttonText = protectionEnabled ? 'disable_protection' : 'enable_protection';
const buttonClass = classNames('btn btn-sm dashboard-title__button', {
'btn-gray': protectionEnabled,
'btn-success': !protectionEnabled,
});
@@ -67,7 +60,7 @@ const Dashboard = ({
title={t('refresh_btn')}
onClick={() => getAllStats()}
>
<svg className="icons icon12">
<svg className="icons">
<use xlinkHref="#refresh" />
</svg>
</button>;
@@ -78,87 +71,16 @@ const Dashboard = ({
const subtitle = getSubtitle();
const DISABLE_PROTECTION_ITEMS = [
{
text: t('disable_for_seconds', { count: msToSeconds(DISABLE_PROTECTION_TIMINGS.HALF_MINUTE) }),
disableTime: DISABLE_PROTECTION_TIMINGS.HALF_MINUTE,
},
{
text: t('disable_for_minutes', { count: msToMinutes(DISABLE_PROTECTION_TIMINGS.MINUTE) }),
disableTime: DISABLE_PROTECTION_TIMINGS.MINUTE,
},
{
text: t('disable_for_minutes', { count: msToMinutes(DISABLE_PROTECTION_TIMINGS.TEN_MINUTES) }),
disableTime: DISABLE_PROTECTION_TIMINGS.TEN_MINUTES,
},
{
text: t('disable_for_hours', { count: msToHours(DISABLE_PROTECTION_TIMINGS.HOUR) }),
disableTime: DISABLE_PROTECTION_TIMINGS.HOUR,
},
{
text: t('disable_until_tomorrow'),
disableTime: DISABLE_PROTECTION_TIMINGS.TOMORROW,
},
];
const getDisableProtectionItems = () => (
Object.values(DISABLE_PROTECTION_ITEMS)
.map((item, index) => (
<div
key={`disable_timings_${index}`}
className="dropdown-item"
onClick={() => {
toggleProtection(protectionEnabled, item.disableTime - ONE_SECOND_IN_MS);
}}
>
{item.text}
</div>
))
);
const getRemaningTimeText = (milliseconds) => {
if (!milliseconds) {
return '';
}
const date = new Date(milliseconds);
const hh = date.getUTCHours();
const mm = `0${date.getUTCMinutes()}`.slice(-2);
const ss = `0${date.getUTCSeconds()}`.slice(-2);
const formattedHH = `0${hh}`.slice(-2);
return hh ? `${formattedHH}:${mm}:${ss}` : `${mm}:${ss}`;
};
const getProtectionBtnText = (status) => (status ? t('disable_protection') : t('enable_protection'));
return <>
<PageTitle title={t('dashboard')} containerClass="page-title--dashboard">
<div className="page-title__protection">
<button
type="button"
className={buttonClass}
onClick={() => {
toggleProtection(protectionEnabled);
}}
disabled={processingProtection}
>
{protectionDisabledDuration
? `${t('enable_protection_timer')} ${getRemaningTimeText(protectionDisabledDuration)}`
: getProtectionBtnText(protectionEnabled)
}
</button>
{protectionEnabled && <Dropdown
label=""
baseClassName="dropdown-protection"
icon="arrow-down"
controlClassName="dropdown-protection__toggle"
menuClassName="dropdown-menu dropdown-menu-arrow dropdown-menu--protection"
>
{getDisableProtectionItems()}
</Dropdown>}
</div>
<button
type="button"
className={buttonClass}
onClick={() => toggleProtection(protectionEnabled)}
disabled={processingProtection}
>
<Trans>{buttonText}</Trans>
</button>
<button
type="button"
className="btn btn-outline-primary btn-sm"
@@ -185,7 +107,7 @@ const Dashboard = ({
</div>
)}
<Statistics
interval={msToDays(stats.interval)}
interval={stats.interval}
dnsQueries={stats.dnsQueries}
blockedFiltering={stats.blockedFiltering}
replacedSafebrowsing={stats.replacedSafebrowsing}
@@ -229,7 +151,6 @@ const Dashboard = ({
topBlockedDomains={stats.topBlockedDomains}
blockedFiltering={stats.numBlockedFiltering}
replacedSafebrowsing={stats.numReplacedSafebrowsing}
replacedSafesearch={stats.numReplacedSafesearch}
replacedParental={stats.numReplacedParental}
refreshButton={refreshButton}
/>

View File

@@ -12,6 +12,7 @@ import { MODAL_TYPE } from '../../helpers/constants';
import {
getCurrentFilter,
getObjDiff,
} from '../../helpers/helpers';
import filtersCatalog from '../../helpers/filters/filters';
@@ -21,7 +22,7 @@ class DnsBlocklist extends Component {
this.props.getFilteringStatus();
}
handleSubmit = (values) => {
handleSubmit = (values, _, { initialValues }) => {
const { modalFilterUrl, modalType } = this.props.filtering;
switch (modalType) {
@@ -34,12 +35,7 @@ class DnsBlocklist extends Component {
break;
}
case MODAL_TYPE.CHOOSE_FILTERING_LIST: {
const changedValues = Object.entries(values)?.reduce((acc, [key, value]) => {
if (value && key in filtersCatalog.filters) {
acc[key] = value;
}
return acc;
}, {});
const changedValues = getObjDiff(initialValues, values);
Object.keys(changedValues)
.forEach((fieldName) => {

View File

@@ -100,7 +100,7 @@ class Table extends Component {
})
}
>
<svg className="icons icon12">
<svg className="icons">
<use xlinkHref="#edit" />
</svg>
</button>
@@ -110,7 +110,7 @@ class Table extends Component {
onClick={() => handleDelete(url)}
title={t('delete_table_action')}
>
<svg className="icons icon12">
<svg className="icons">
<use xlinkHref="#delete" />
</svg>
</button>

View File

@@ -1,12 +1,12 @@
.nav-tabs .nav-link.active {
border-color: var(--btn-success-bgcolor);
color: var(--btn-success-bgcolor);
border-color: var(--green-74);
color: var(--green-74);
background: transparent;
}
.nav-tabs .nav-link.active:hover {
border-color: #4b9400;
color: #4b9400;
border-color: #58a273;
color: #58a273;
}
.nav-icon {
@@ -47,7 +47,7 @@
width: 250px;
height: 100vh;
transition: transform 0.3s ease;
background-color: var(--header-bgcolor);
background-color: #fff;
overflow-y: auto;
}

View File

@@ -162,7 +162,7 @@ const ClientCell = ({
{content && (
<button className={buttonArrowClass} disabled={processingRules}>
<IconTooltip
className="icon24"
className="h-100"
tooltipClass="button-action--arrow-option-container"
xlinkHref="chevron-down"
triggerClass="button-action--icon"

View File

@@ -4,8 +4,7 @@
box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.2);
border-radius: 4px !important;
pointer-events: auto !important;
background-color: var(--ctrl-bgcolor);
color: var(--mcolor);
background-color: var(--white);
z-index: 102;
overflow-y: auto;
max-height: 100%;

View File

@@ -129,6 +129,7 @@ const Form = (props) => {
const onInputClear = async () => {
setIsLoading(true);
setDebouncedSearch(DEFAULT_LOGS_FILTER[FORM_NAMES.search]);
change(FORM_NAMES.search, DEFAULT_LOGS_FILTER[FORM_NAMES.search]);
setIsLoading(false);
};
@@ -154,7 +155,7 @@ const Form = (props) => {
name={FORM_NAMES.search}
component={renderFilterField}
type="text"
className={classNames('form-control form-control--search form-control--transparent', className)}
className={classNames('form-control--search form-control--transparent', className)}
placeholder={t('domain_or_client')}
tooltip={t('query_log_strict_search')}
onClearInputClick={onInputClear}

View File

@@ -24,12 +24,6 @@
--option-border-radius: 4px;
}
[data-theme="dark"] {
--red: rgba(223, 56, 18, 0.25);
--green-pale: rgba(103, 178, 121, 0.25);
--yellow: rgba(247, 181, 0, 0.2);
}
.logs__text {
padding: 0 1px;
text-overflow: ellipsis;
@@ -37,19 +31,11 @@
overflow: hidden;
font-size: 1rem;
font-family: var(--font-family-sans-serif);
color: var(--logs__text-color);
color: var(--gray-4d);
letter-spacing: 0;
line-height: 1.5rem;
}
[data-theme="dark"] .logs__text a {
color: var(--gray-f3);
}
[data-theme="dark"] .logs__text a:hover {
color: var(--gray-f3);
}
.logs__text--bold {
font-weight: 600;
}
@@ -62,7 +48,7 @@
.detailed-info {
font-size: 0.8rem;
line-height: 1.4;
color: var(--detailed-info-color);
color: #888888;
}
.logs__text--link {
@@ -80,10 +66,6 @@
border-radius: 4px;
}
[data-theme=dark] .icon--selected {
opacity: 0.75;
}
.text-pre {
white-space: pre-wrap !important;
overflow-wrap: break-word;
@@ -106,16 +88,6 @@
max-height: 100% !important;
}
.icon24 {
width: 24px;
height: 24px;
}
.icon12 {
width: 12px;
height: 12px;
}
.cursor--pointer {
cursor: pointer;
}
@@ -131,19 +103,17 @@
}
.form-control--search {
box-shadow: 0 1px 0 #ddd;
padding: 0 2.5rem;
height: 2.25rem;
flex-grow: 1;
}
.form-control--transparent {
border: 0 solid transparent !important;
background-color: transparent !important;
}
[data-theme="dark"] .form-control--transparent option {
background-color: var(--card-bgcolor);
}
.input-group-search {
background-color: transparent;
position: relative;
@@ -204,8 +174,10 @@
display: inline-flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
--size: 2.5rem;
width: var(--size);
height: var(--size);
padding: 0;
margin-left: 0.9375rem;
background-color: transparent;
@@ -237,12 +209,6 @@
position: relative;
}
@media screen and (min-width: 1025px) {
.logs__cell--client {
width: 13rem;
}
}
.logs__cell--header__container > .logs__cell--header__item {
border-right: 0;
font-size: 1rem;
@@ -321,6 +287,7 @@
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.button-action:active {
@@ -377,10 +344,6 @@
overflow: hidden;
}
[data-theme="dark"] .tooltip-custom__container .button-action--arrow-option:not(:disabled):hover {
background: var(--ctrl-dropdown-bgcolor-focus);
}
.button-action--arrow-option-container {
overflow: visible;
transform-origin: left;
@@ -410,11 +373,7 @@
/* QUERY_STATUS_COLORS */
.logs__row--blue {
background-color: var(--logs__row--blue-bgcolor);
}
[data-theme="dark"] .logs__row--blue .logs__text--link {
color: var(--white);
background-color: var(--blue);
}
.logs__row--green {
@@ -426,7 +385,7 @@
}
.logs__row--white {
background-color: var(--logs__row--white-bgcolor);
background-color: var(--white);
}
.logs__row--yellow {
@@ -434,8 +393,8 @@
}
.logs__no-data {
color: var(--mcolor);
background-color: var(--logs__table-bgcolor);
color: var(--gray-4d);
background-color: var(--white80);
pointer-events: none;
font-weight: 600;
text-align: center;
@@ -448,7 +407,7 @@
}
.logs__table {
background-color: var(--logs__table-bgcolor);
background-color: var(--white);
border: 0;
border-radius: 8px;
min-height: 43rem;
@@ -515,7 +474,7 @@
.filteringRules__filter {
font-style: italic;
font-weight: 400;
font-weight: normal;
margin-bottom: 1rem;
}
@@ -527,10 +486,6 @@
color: var(--green79);
}
[data-theme="dark"] .logs__question.icon--lightgray {
color: var(--gray-f3);
}
@media (max-width: 1024px) {
.logs__question {
display: none;
@@ -540,8 +495,3 @@
.logs__modal {
max-width: 720px;
}
.logs__modal-wrap {
padding: 1rem 1.5rem;
background-color: var(--card-bgcolor);
}

View File

@@ -195,11 +195,11 @@ const Logs = () => {
onRequestClose={closeModal}
style={{
content: {
width: 'calc(100% - 32px)',
width: '100%',
height: 'fit-content',
left: '50%',
top: 47,
padding: '0',
padding: '1rem 1.5rem 1rem',
maxWidth: '720px',
transform: 'translateX(-50%)',
},

View File

@@ -1,52 +0,0 @@
import { useEffect } from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { ONE_SECOND_IN_MS } from '../../helpers/constants';
import { setProtectionTimerTime, toggleProtectionSuccess } from '../../actions';
let interval = null;
const ProtectionTimer = ({
protectionDisabledDuration,
toggleProtectionSuccess,
setProtectionTimerTime,
}) => {
useEffect(() => {
if (protectionDisabledDuration !== null && protectionDisabledDuration < ONE_SECOND_IN_MS) {
toggleProtectionSuccess({ disabledDuration: null });
}
if (protectionDisabledDuration) {
interval = setInterval(() => {
setProtectionTimerTime(protectionDisabledDuration - ONE_SECOND_IN_MS);
}, ONE_SECOND_IN_MS);
}
return () => {
clearInterval(interval);
};
}, [protectionDisabledDuration]);
return null;
};
ProtectionTimer.propTypes = {
setProtectionTimerTime: PropTypes.func.isRequired,
};
const mapStateToProps = (state) => {
const { dashboard } = state;
const { protectionEnabled, protectionDisabledDuration } = dashboard;
return { protectionEnabled, protectionDisabledDuration };
};
const mapDispatchToProps = {
toggleProtectionSuccess,
setProtectionTimerTime,
};
export default connect(
mapStateToProps,
mapDispatchToProps,
)(ProtectionTimer);

View File

@@ -7,7 +7,6 @@ import { useDispatch, useSelector } from 'react-redux';
import ReactTable from 'react-table';
import { getAllBlockedServices } from '../../../../actions/services';
import { initSettings } from '../../../../actions';
import {
splitByNewLine,
countClientsStatistics,
@@ -39,13 +38,9 @@ const ClientsTable = ({
const [t] = useTranslation();
const dispatch = useDispatch();
const services = useSelector((store) => store?.services);
const globalSettings = useSelector((store) => store?.settings.settingsList) || {};
const { safesearch } = globalSettings;
useEffect(() => {
dispatch(getAllBlockedServices());
dispatch(initSettings());
}, []);
const handleFormAdd = (values) => {
@@ -112,7 +107,6 @@ const ClientsTable = ({
tags: [],
use_global_settings: true,
use_global_blocked_services: true,
safe_search: { ...(safesearch || {}) },
};
};
@@ -296,7 +290,7 @@ const ClientsTable = ({
disabled={processingUpdating}
title={t('edit_table_action')}
>
<svg className="icons icon12">
<svg className="icons">
<use xlinkHref="#edit" />
</svg>
</button>
@@ -307,7 +301,7 @@ const ClientsTable = ({
disabled={processingDeleting}
title={t('delete_table_action')}
>
<svg className="icons icon12">
<svg className="icons">
<use xlinkHref="#delete" />
</svg>
</button>

View File

@@ -11,13 +11,12 @@ import Select from 'react-select';
import i18n from '../../../i18n';
import Tabs from '../../ui/Tabs';
import Examples from '../Dns/Upstream/Examples';
import { toggleAllServices, trimLinesAndRemoveEmpty, captitalizeWords } from '../../../helpers/helpers';
import { toggleAllServices } from '../../../helpers/helpers';
import {
renderInputField,
renderGroupField,
CheckboxField,
renderServiceField,
renderTextareaField,
} from '../../../helpers/form';
import { validateClientId, validateRequiredValue } from '../../../helpers/validators';
import { CLIENT_ID_LINK, FORM_NAME } from '../../../helpers/constants';
@@ -40,6 +39,10 @@ const settingsCheckboxes = [
name: 'parental_enabled',
placeholder: 'use_adguard_parental',
},
{
name: 'safesearch_enabled',
placeholder: 'enforce_safe_search',
},
];
const validate = (values) => {
const errors = {};
@@ -135,12 +138,8 @@ let Form = (props) => {
processingUpdating,
invalid,
tagsOptions,
initialValues,
} = props;
const services = useSelector((store) => store?.services);
const { safe_search } = initialValues;
const safeSearchServices = { ...safe_search };
delete safeSearchServices.enabled;
const [activeTabLabel, setActiveTabLabel] = useState('settings');
@@ -163,28 +162,6 @@ let Form = (props) => {
/>
</div>
))}
<div className="form__group">
<Field
name="safe_search.enabled"
type="checkbox"
component={CheckboxField}
placeholder={t('enforce_safe_search')}
disabled={useGlobalSettings}
/>
</div>
<div className='form__group--inner'>
{Object.keys(safeSearchServices).map((searchKey) => (
<div key={searchKey}>
<Field
name={`safe_search.${searchKey}`}
type="checkbox"
component={CheckboxField}
placeholder={captitalizeWords(searchKey)}
disabled={useGlobalSettings}
/>
</div>
))}
</div>
</div>,
},
block_services: {
@@ -253,11 +230,10 @@ let Form = (props) => {
<Field
id="upstreams"
name="upstreams"
component={renderTextareaField}
component="textarea"
type="text"
className="form-control form-control--textarea mb-5"
placeholder={t('upstream_dns')}
normalizeOnBlur={trimLinesAndRemoveEmpty}
/>
<Examples />
</div>,
@@ -380,7 +356,6 @@ Form.propTypes = {
processingUpdating: PropTypes.bool.isRequired,
invalid: PropTypes.bool.isRequired,
tagsOptions: PropTypes.array.isRequired,
initialValues: PropTypes.object,
};
const selector = formValueSelector(FORM_NAME.CLIENT);

View File

@@ -4,7 +4,7 @@
align-items: center;
margin-bottom: 15px;
padding: 10px 15px;
border: 1px solid var(--card-border-color);
border: 1px solid #eee;
border-radius: 4px;
cursor: pointer;
}
@@ -54,12 +54,6 @@
color: #495057;
}
.service__icon svg {
width: 20px;
height: 20px;
fill: #495057;
}
.service--global .service__icon {
display: none;
}

View File

@@ -74,6 +74,7 @@ const FormDHCPv4 = ({
className="form-control"
placeholder={t(ipv4placeholders.subnet_mask)}
validate={[
validateIpv4,
validateRequired,
validateGatewaySubnetMask,
]}
@@ -96,6 +97,7 @@ const FormDHCPv4 = ({
placeholder={t(ipv4placeholders.range_start)}
validate={[
validateIpv4,
validateGatewaySubnetMask,
validateIpForGatewaySubnetMask,
]}
disabled={!isInterfaceIncludesIpv4}
@@ -111,6 +113,7 @@ const FormDHCPv4 = ({
validate={[
validateIpv4,
validateIpv4RangeEnd,
validateGatewaySubnetMask,
validateIpForGatewaySubnetMask,
]}
disabled={!isInterfaceIncludesIpv4}

View File

@@ -1,11 +1,9 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import ReactTable from 'react-table';
import { Trans, withTranslation } from 'react-i18next';
import { LEASES_TABLE_DEFAULT_PAGE_SIZE } from '../../../helpers/constants';
import { sortIp } from '../../../helpers/helpers';
import { toggleLeaseModal } from '../../../actions';
class Leases extends Component {
cellWrap = ({ value }) => (
@@ -16,30 +14,6 @@ class Leases extends Component {
</div>
);
convertToStatic = (data) => () => {
const { dispatch } = this.props;
dispatch(toggleLeaseModal(data));
}
makeStatic = ({ row }) => {
const { t, disabledLeasesButton } = this.props;
return (
<div className="logs__row logs__row--center">
<button
type="button"
className="btn btn-icon btn-icon--green btn-outline-secondary btn-sm"
title={t('make_static')}
onClick={this.convertToStatic(row)}
disabled={disabledLeasesButton}
>
<svg className="icons icon12">
<use xlinkHref="#plus" />
</svg>
</button>
</div>
);
}
render() {
const { leases, t } = this.props;
return (
@@ -49,27 +23,20 @@ class Leases extends Component {
{
Header: 'MAC',
accessor: 'mac',
minWidth: 180,
Cell: this.cellWrap,
}, {
Header: 'IP',
accessor: 'ip',
minWidth: 230,
Cell: this.cellWrap,
sortMethod: sortIp,
}, {
Header: <Trans>dhcp_table_hostname</Trans>,
accessor: 'hostname',
minWidth: 230,
Cell: this.cellWrap,
}, {
Header: <Trans>dhcp_table_expires</Trans>,
accessor: 'expires',
minWidth: 220,
Cell: this.cellWrap,
}, {
Header: <Trans>actions_table_header</Trans>,
Cell: this.makeStatic,
},
]}
pageSize={LEASES_TABLE_DEFAULT_PAGE_SIZE}
@@ -86,8 +53,6 @@ class Leases extends Component {
Leases.propTypes = {
leases: PropTypes.array,
t: PropTypes.func,
dispatch: PropTypes.func,
disabledLeasesButton: PropTypes.bool,
};
export default withTranslation()(connect(() => ({}), (dispatch) => ({ dispatch }))(Leases));
export default withTranslation()(Leases);

View File

@@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { Field, reduxForm } from 'redux-form';
import { Trans, useTranslation } from 'react-i18next';
import { useDispatch, useSelector, shallowEqual } from 'react-redux';
import { useDispatch } from 'react-redux';
import { renderInputField, normalizeMac } from '../../../../helpers/form';
import {
@@ -25,7 +25,6 @@ const Form = ({
}) => {
const { t } = useTranslation();
const dispatch = useDispatch();
const dynamicLease = useSelector((store) => store.dhcp.leaseModalConfig, shallowEqual);
const onClick = () => {
reset();
@@ -88,7 +87,7 @@ const Form = ({
<button
type="submit"
className="btn btn-success btn-standard"
disabled={submitting || processingAdding || (pristine && !dynamicLease)}
disabled={submitting || pristine || processingAdding}
>
<Trans>save_btn</Trans>
</button>

View File

@@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { Trans, withTranslation } from 'react-i18next';
import ReactModal from 'react-modal';
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
import { useDispatch } from 'react-redux';
import Form from './Form';
import { toggleLeaseModal } from '../../../../actions';
@@ -18,9 +18,6 @@ const Modal = ({
const dispatch = useDispatch();
const toggleModal = () => dispatch(toggleLeaseModal());
const leaseInitialData = useSelector(
(state) => state.dhcp.leaseModalConfig, shallowEqual,
) || {};
return (
<ReactModal
@@ -40,9 +37,9 @@ const Modal = ({
</div>
<Form
initialValues={{
mac: leaseInitialData.mac ?? '',
ip: leaseInitialData.ip ?? '',
hostname: leaseInitialData.hostname ?? '',
mac: '',
ip: '',
hostname: '',
cidr,
rangeStart,
rangeEnd,

View File

@@ -54,20 +54,17 @@ const StaticLeases = ({
{
Header: 'MAC',
accessor: 'mac',
minWidth: 180,
Cell: cellWrap,
},
{
Header: 'IP',
accessor: 'ip',
minWidth: 230,
sortMethod: sortIp,
Cell: cellWrap,
},
{
Header: <Trans>dhcp_table_hostname</Trans>,
accessor: 'hostname',
minWidth: 230,
Cell: cellWrap,
},
{

View File

@@ -188,8 +188,8 @@ const Dhcp = () => {
const inputtedIPv4values = dhcp?.values?.v4?.gateway_ip && dhcp?.values?.v4?.subnet_mask;
const isEmptyConfig = !Object.values(dhcp?.values?.v4 ?? {}).some(Boolean);
const disabledLeasesButton = Boolean(dhcp?.syncErrors || interfaces?.syncErrors
|| !isInterfaceIncludesIpv4 || isEmptyConfig || processingConfig || !inputtedIPv4values);
const disabledLeasesButton = dhcp?.syncErrors || interfaces?.syncErrors
|| !isInterfaceIncludesIpv4 || isEmptyConfig || processingConfig || !inputtedIPv4values;
const cidr = inputtedIPv4values ? `${dhcp?.values?.v4?.gateway_ip}/${subnetMaskToBitMask(dhcp?.values?.v4?.subnet_mask)}` : '';
return <>
@@ -260,7 +260,7 @@ const Dhcp = () => {
>
<div className="row">
<div className="col">
<Leases leases={leases} disabledLeasesButton={disabledLeasesButton}/>
<Leases leases={leases} />
</div>
</div>
</Card>}

View File

@@ -2,12 +2,10 @@ import React from 'react';
import PropTypes from 'prop-types';
import { Field, reduxForm } from 'redux-form';
import { Trans, useTranslation } from 'react-i18next';
import { shallowEqual, useDispatch, useSelector } from 'react-redux';
import { shallowEqual, useSelector } from 'react-redux';
import { renderInputField, toNumber, CheckboxField } from '../../../../helpers/form';
import { CACHE_CONFIG_FIELDS, FORM_NAME, UINT32_RANGE } from '../../../../helpers/constants';
import { replaceZeroWithEmptyString } from '../../../../helpers/helpers';
import { clearDnsCache } from '../../../../actions/dnsConfig';
const INPUTS_FIELDS = [
{
@@ -34,7 +32,6 @@ const Form = ({
handleSubmit, submitting, invalid,
}) => {
const { t } = useTranslation();
const dispatch = useDispatch();
const { processingSetConfig } = useSelector((state) => state.dnsConfig, shallowEqual);
const {
@@ -43,12 +40,6 @@ const Form = ({
const minExceedsMax = cache_ttl_min > cache_ttl_max;
const handleClearCache = () => {
if (window.confirm(t('confirm_dns_cache_clear'))) {
dispatch(clearDnsCache());
}
};
return <form onSubmit={handleSubmit}>
<div className="row">
{INPUTS_FIELDS.map(({
@@ -106,13 +97,6 @@ const Form = ({
>
<Trans>save_btn</Trans>
</button>
<button
type="button"
className="btn btn-outline-secondary btn-standard form__button"
onClick={handleClearCache}
>
<Trans>clear_cache</Trans>
</button>
</form>;
};

View File

@@ -13,11 +13,15 @@ import {
validateIpv4,
validateIpv6,
validateRequiredValue,
validateIp,
} from '../../../../helpers/validators';
import { BLOCKING_MODES, FORM_NAME, UINT32_RANGE } from '../../../../helpers/constants';
const checkboxes = [
{
name: 'edns_cs_enabled',
placeholder: 'edns_enable',
subtitle: 'edns_cs_desc',
},
{
name: 'dnssec_enabled',
placeholder: 'dnssec_enable',
@@ -62,8 +66,6 @@ const Form = ({
const { t } = useTranslation();
const {
blocking_mode,
edns_cs_enabled,
edns_cs_use_custom,
} = useSelector((state) => state.form[FORM_NAME.BLOCKING_MODE].values ?? {}, shallowEqual);
return <form onSubmit={handleSubmit}>
@@ -90,39 +92,6 @@ const Form = ({
/>
</div>
</div>
<div className="col-12">
<div className="form__group form__group--settings">
<Field
name="edns_cs_enabled"
type="checkbox"
component={CheckboxField}
placeholder={t('edns_enable')}
disabled={processing}
subtitle={t('edns_cs_desc')}
/>
</div>
</div>
<div className="col-12 form__group form__group--inner">
<div className="form__group ">
<Field
name="edns_cs_use_custom"
type="checkbox"
component={CheckboxField}
placeholder={t('edns_use_custom_ip')}
disabled={processing || !edns_cs_enabled}
subtitle={t('edns_use_custom_ip_desc')}
/>
</div>
{edns_cs_use_custom && (<Field
name="edns_cs_custom_ip"
component={renderInputField}
className="form-control"
placeholder={t('form_enter_ip')}
validate={[validateIp, validateRequiredValue]}
/>)}
</div>
{checkboxes.map(({ name, placeholder, subtitle }) => <div className="col-12" key={name}>
<div className="form__group form__group--settings">
<Field

View File

@@ -14,8 +14,6 @@ const Config = () => {
blocking_ipv4,
blocking_ipv6,
edns_cs_enabled,
edns_cs_use_custom,
edns_cs_custom_ip,
dnssec_enabled,
disable_ipv6,
processingSetConfig,
@@ -41,8 +39,6 @@ const Config = () => {
edns_cs_enabled,
disable_ipv6,
dnssec_enabled,
edns_cs_use_custom,
edns_cs_custom_ip,
}}
onSubmit={handleFormSubmit}
processing={processingSetConfig}

View File

@@ -4,28 +4,18 @@ import { Field, reduxForm } from 'redux-form';
import { Trans, withTranslation } from 'react-i18next';
import flow from 'lodash/flow';
import {
CheckboxField,
renderRadioField,
toFloatNumber,
renderTextareaField,
} from '../../../helpers/form';
import {
FORM_NAME,
QUERY_LOG_INTERVALS_DAYS,
HOUR,
DAY,
} from '../../../helpers/constants';
import { CheckboxField, renderRadioField, toFloatNumber } from '../../../helpers/form';
import { FORM_NAME, QUERY_LOG_INTERVALS_DAYS } from '../../../helpers/constants';
import '../FormButton.css';
const getIntervalTitle = (interval, t) => {
switch (interval) {
case 6 * HOUR:
case 0.25:
return t('interval_6_hour');
case DAY:
case 1:
return t('interval_24_hour');
default:
return t('interval_days', { count: interval / DAY });
return t('interval_days', { count: interval });
}
};
@@ -76,22 +66,6 @@ const Form = (props) => {
{getIntervalFields(processing, t, toFloatNumber)}
</div>
</div>
<label className="form__label form__label--with-desc">
<Trans>ignore_domains_title</Trans>
</label>
<div className="form__desc form__desc--top">
<Trans>ignore_domains_desc_query</Trans>
</div>
<div className="form__group form__group--settings">
<Field
name="ignored"
type="textarea"
className="form-control form-control--textarea font-monospace text-input"
component={renderTextareaField}
placeholder={t('ignore_domains')}
disabled={processing}
/>
</div>
<div className="mt-5">
<button
type="submit"

View File

@@ -10,15 +10,13 @@ class LogsConfig extends Component {
const { t, interval: prevInterval } = this.props;
const { interval } = values;
const data = { ...values, ignored: values.ignored ? values.ignored.split('\n') : [] };
if (interval !== prevInterval) {
// eslint-disable-next-line no-alert
if (window.confirm(t('query_log_retention_confirm'))) {
this.props.setLogsConfig(data);
this.props.setLogsConfig(values);
}
} else {
this.props.setLogsConfig(data);
this.props.setLogsConfig(values);
}
};
@@ -32,7 +30,7 @@ class LogsConfig extends Component {
render() {
const {
t, enabled, interval, processing, processingClear, anonymize_client_ip, ignored,
t, enabled, interval, processing, processingClear, anonymize_client_ip,
} = this.props;
return (
@@ -47,7 +45,6 @@ class LogsConfig extends Component {
enabled,
interval,
anonymize_client_ip,
ignored: ignored.join('\n'),
}}
onSubmit={this.handleFormSubmit}
processing={processing}
@@ -65,7 +62,6 @@ LogsConfig.propTypes = {
enabled: PropTypes.bool.isRequired,
anonymize_client_ip: PropTypes.bool.isRequired,
processing: PropTypes.bool.isRequired,
ignored: PropTypes.array.isRequired,
processingClear: PropTypes.bool.isRequired,
setLogsConfig: PropTypes.func.isRequired,
clearLogs: PropTypes.func.isRequired,

View File

@@ -22,14 +22,6 @@
margin-bottom: 25px;
}
.form__group--inner .form__group--checkbox {
margin-bottom: 12px;
}
.form__group--inner .form__group--checkbox:last-child {
margin-bottom: 0;
}
.form__inline {
display: flex;
justify-content: flex-start;
@@ -85,7 +77,7 @@
.form__desc {
margin-top: 10px;
font-size: 13px;
color: var(--scolor);
color: rgba(74, 74, 74, 0.7);
}
.form__desc--top {

View File

@@ -4,31 +4,23 @@ import { Field, reduxForm } from 'redux-form';
import { Trans, withTranslation } from 'react-i18next';
import flow from 'lodash/flow';
import {
renderRadioField,
toNumber,
CheckboxField,
renderTextareaField,
} from '../../../helpers/form';
import {
FORM_NAME,
STATS_INTERVALS_DAYS,
DAY,
} from '../../../helpers/constants';
import { renderRadioField, toNumber, CheckboxField } from '../../../helpers/form';
import { FORM_NAME, STATS_INTERVALS_DAYS, DISABLED_STATS_INTERVAL } from '../../../helpers/constants';
import '../FormButton.css';
const getIntervalTitle = (intervalMs, t) => {
switch (intervalMs / DAY) {
const getIntervalTitle = (interval, t) => {
switch (interval) {
case 1:
return t('interval_24_hour');
default:
return t('interval_days', { count: intervalMs / DAY });
return t('interval_days', { count: interval });
}
};
const Form = (props) => {
const {
handleSubmit,
change,
processing,
submitting,
invalid,
@@ -46,6 +38,13 @@ const Form = (props) => {
component={CheckboxField}
placeholder={t('statistics_enable')}
disabled={processing}
onChange={(event) => {
if (event.target.checked) {
change('interval', STATS_INTERVALS_DAYS[0]);
} else {
change('interval', DISABLED_STATS_INTERVAL);
}
}}
/>
</div>
<label className="form__label form__label--with-desc">
@@ -66,26 +65,15 @@ const Form = (props) => {
placeholder={getIntervalTitle(interval, t)}
normalize={toNumber}
disabled={processing}
onChange={(event) => {
if (event.target.checked) {
change('enabled', true);
}
}}
/>
))}
</div>
</div>
<label className="form__label form__label--with-desc">
<Trans>ignore_domains_title</Trans>
</label>
<div className="form__desc form__desc--top">
<Trans>ignore_domains_desc_stats</Trans>
</div>
<div className="form__group form__group--settings">
<Field
name="ignored"
type="textarea"
className="form-control form-control--textarea font-monospace text-input"
component={renderTextareaField}
placeholder={t('ignore_domains')}
disabled={processing}
/>
</div>
<div className="mt-5">
<button
type="submit"

View File

@@ -6,13 +6,9 @@ import Card from '../../ui/Card';
import Form from './Form';
class StatsConfig extends Component {
handleFormSubmit = ({ enabled, interval, ignored }) => {
handleFormSubmit = (values) => {
const { t, interval: prevInterval } = this.props;
const config = {
enabled,
interval,
ignored: ignored ? ignored.split('\n') : [],
};
const config = { interval: values.interval };
if (config.interval < prevInterval) {
if (window.confirm(t('statistics_retention_confirm'))) {
@@ -33,7 +29,7 @@ class StatsConfig extends Component {
render() {
const {
t, interval, processing, processingReset, ignored, enabled,
t, interval, processing, processingReset,
} = this.props;
return (
@@ -46,8 +42,7 @@ class StatsConfig extends Component {
<Form
initialValues={{
interval,
enabled,
ignored: ignored.join('\n'),
enabled: !!interval,
}}
onSubmit={this.handleFormSubmit}
processing={processing}
@@ -62,8 +57,6 @@ class StatsConfig extends Component {
StatsConfig.propTypes = {
interval: PropTypes.number.isRequired,
ignored: PropTypes.array.isRequired,
enabled: PropTypes.bool.isRequired,
processing: PropTypes.bool.isRequired,
processingReset: PropTypes.bool.isRequired,
setStatsConfig: PropTypes.func.isRequired,

View File

@@ -10,7 +10,7 @@ import Checkbox from '../ui/Checkbox';
import Loading from '../ui/Loading';
import PageTitle from '../ui/PageTitle';
import Card from '../ui/Card';
import { getObjectKeysSorted, captitalizeWords } from '../../helpers/helpers';
import { getObjectKeysSorted } from '../../helpers/helpers';
import './Settings.css';
const ORDER_KEY = 'order';
@@ -28,6 +28,12 @@ const SETTINGS = {
subtitle: 'use_adguard_parental_hint',
[ORDER_KEY]: 1,
},
safesearch: {
enabled: false,
title: 'enforce_safe_search',
subtitle: 'enforce_save_search_hint',
[ORDER_KEY]: 2,
},
};
class Settings extends Component {
@@ -38,7 +44,7 @@ class Settings extends Component {
this.props.getFilteringStatus();
}
renderSettings = (settings) => getObjectKeysSorted(SETTINGS, ORDER_KEY)
renderSettings = (settings) => getObjectKeysSorted(settings, ORDER_KEY)
.map((key) => {
const setting = settings[key];
const { enabled } = setting;
@@ -49,35 +55,6 @@ class Settings extends Component {
/>;
});
renderSafeSearch = () => {
const { settings: { settingsList: { safesearch } } } = this.props;
const { enabled } = safesearch || {};
const searches = { ...(safesearch || {}) };
delete searches.enabled;
return (
<>
<Checkbox
enabled={enabled}
title='enforce_safe_search'
subtitle='enforce_save_search_hint'
handleChange={({ target: { checked: enabled } }) => this.props.toggleSetting('safesearch', { ...safesearch, enabled })}
/>
<div className='form__group--inner'>
{Object.keys(searches).map((searchKey) => (
<Checkbox
key={searchKey}
enabled={searches[searchKey]}
title={captitalizeWords(searchKey)}
subtitle=''
disabled={!safesearch.enabled}
handleChange={({ target: { checked } }) => this.props.toggleSetting('safesearch', { ...safesearch, [searchKey]: checked })}
/>
))}
</div>
</>
);
};
render() {
const {
settings,
@@ -115,14 +92,12 @@ class Settings extends Component {
setFiltersConfig={setFiltersConfig}
/>
{this.renderSettings(settings.settingsList)}
{this.renderSafeSearch()}
</div>
</Card>
</div>
<div className="col-md-12">
<LogsConfig
enabled={queryLogs.enabled}
ignored={queryLogs.ignored}
interval={queryLogs.interval}
anonymize_client_ip={queryLogs.anonymize_client_ip}
processing={queryLogs.processingSetConfig}
@@ -134,8 +109,6 @@ class Settings extends Component {
<div className="col-md-12">
<StatsConfig
interval={stats.interval}
ignored={stats.ignored}
enabled={stats.enabled}
processing={stats.processingSetConfig}
processingReset={stats.processingReset}
setStatsConfig={setStatsConfig}
@@ -166,8 +139,6 @@ Settings.propTypes = {
stats: PropTypes.shape({
processingGetConfig: PropTypes.bool,
interval: PropTypes.number,
enabled: PropTypes.bool,
ignored: PropTypes.array,
processingSetConfig: PropTypes.bool,
processingReset: PropTypes.bool,
}),
@@ -178,7 +149,6 @@ Settings.propTypes = {
processingSetConfig: PropTypes.bool,
processingClear: PropTypes.bool,
processingGetConfig: PropTypes.bool,
ignored: PropTypes.array,
}),
filtering: PropTypes.shape({
interval: PropTypes.number,

View File

@@ -54,11 +54,6 @@
cursor: pointer;
}
.toast__dismiss:hover,
.toast__dismiss:focus {
outline: none;
}
.toast-enter {
opacity: 0.01;
}

View File

@@ -48,7 +48,7 @@
height: 20px;
min-width: 20px;
margin-right: 10px;
background-color: var(--checkbox-bg);
background-color: #e2e2e2;
background-repeat: no-repeat;
background-position: center center;
background-size: 12px 10px;
@@ -107,5 +107,5 @@
.checkbox__label-subtitle {
display: block;
line-height: 1.5;
color: var(--scolor);
color: rgba(74, 74, 74, 0.7);
}

View File

@@ -11,14 +11,13 @@ class Checkbox extends Component {
subtitle,
enabled,
handleChange,
disabled,
t,
} = this.props;
return (
<div className="form__group form__group--checkbox">
<label className="checkbox checkbox--settings">
<span className="checkbox__marker"/>
<input type="checkbox" className="checkbox__input" onChange={handleChange} checked={enabled} disabled={disabled}/>
<input type="checkbox" className="checkbox__input" onChange={handleChange} checked={enabled}/>
<span className="checkbox__label">
<span className="checkbox__label-text">
<span className="checkbox__label-title">{ t(title) }</span>
@@ -36,7 +35,6 @@ Checkbox.propTypes = {
subtitle: PropTypes.string.isRequired,
enabled: PropTypes.bool.isRequired,
handleChange: PropTypes.func.isRequired,
disabled: PropTypes.bool,
t: PropTypes.func,
};

View File

@@ -1,64 +1,8 @@
.dropdown-item {
cursor: pointer;
}
.dropdown-item.active,
.dropdown-item:active {
background-color: var(--btn-success-bgcolor);
background-color: var(--green-74);
}
.dropdown-menu {
cursor: default;
}
.dropdown-menu.dropdown-menu--protection {
top: calc(100% + 8px);
left: 50%;
transform: translateX(-50%);
}
.dropdown-menu.dropdown-menu-arrow.dropdown-menu--protection::before,
.dropdown-menu.dropdown-menu-arrow.dropdown-menu--protection::after {
left: 50%;
transform: translateX(-50%);
}
.dropdown-protection {
align-self: stretch;
width: 26px;
display: flex;
position: relative;
border: 1px solid #868e96;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-left: none;
cursor: pointer;
}
.dropdown-protection__toggle {
width: 100%;
display: block;
position: relative;
background-color: #868e96;
transition: background-color 0.15s ease-in-out;
}
.dropdown-protection__toggle:hover {
background-color: #727b84;
}
.dropdown-protection__toggle .nav-icon {
width: 100%;
height: 100%;
display: block;
position: absolute;
top: 0;
left: 0;
color: var(--white);
transition: 0.15s ease-in-out transform;
transform-origin: center;
}
.dropdown-protection.show .nav-icon {
transform: rotate(180deg);
}

View File

@@ -18,11 +18,6 @@
align-items: center;
}
.footer__column--theme {
min-width: 220px;
margin-bottom: 0;
}
.footer__column--language {
min-width: 220px;
margin-bottom: 0;
@@ -54,11 +49,6 @@
}
.footer__column--language {
min-width: initial;
margin-left: 20px;
}
.footer__column--theme {
min-width: initial;
margin-left: auto;
}
@@ -71,38 +61,3 @@
margin: 0 20px 0 0;
}
}
.btn-secondary.footer__theme-button,
[data-theme="dark"] .btn-secondary.footer__theme-button {
height: 38px;
border-color: var(--ctrl-select-bgcolor);
}
.footer__theme-icon {
display: inline-block;
vertical-align: middle;
width: 24px;
height: 24px;
color: var(--gray-ac);
}
[data-theme="dark"] .footer__theme-icon {
color: var(--mcolor);
}
.footer__theme-icon--active,
[data-theme="dark"] .footer__theme-icon--active {
color: var(--btn-success-bgcolor);
}
.footer__themes {
margin: 0 auto 24px;
text-align: center;
}
@media screen and (min-width: 768px) {
.footer__themes {
margin: 0;
text-align: left;
}
}

View File

@@ -1,17 +1,15 @@
import React, { useState, useEffect } from 'react';
import React from 'react';
import { useTranslation } from 'react-i18next';
import { useDispatch, useSelector } from 'react-redux';
import cn from 'classnames';
import classNames from 'classnames';
import { REPOSITORY, PRIVACY_POLICY_LINK, THEMES } from '../../helpers/constants';
import { REPOSITORY, PRIVACY_POLICY_LINK } from '../../helpers/constants';
import { LANGUAGES } from '../../helpers/twosky';
import i18n from '../../i18n';
import Version from './Version';
import './Footer.css';
import './Select.css';
import { setHtmlLangAttr, setUITheme } from '../../helpers/helpers';
import { changeTheme } from '../../actions';
import { setHtmlLangAttr } from '../../helpers/helpers';
const linksData = [
{
@@ -31,22 +29,6 @@ const linksData = [
const Footer = () => {
const { t } = useTranslation();
const dispatch = useDispatch();
const currentTheme = useSelector((state) => (
state.dashboard ? state.dashboard.theme : THEMES.auto
));
const profileName = useSelector((state) => (
state.dashboard ? state.dashboard.name : ''
));
const isLoggedIn = profileName !== '';
const [currentThemeLocal, setCurrentThemeLocal] = useState(THEMES.auto);
useEffect(() => {
if (!isLoggedIn) {
setUITheme(currentThemeLocal);
}
}, []);
const getYear = () => {
const today = new Date();
@@ -59,15 +41,6 @@ const Footer = () => {
setHtmlLangAttr(value);
};
const onThemeChange = (value) => {
if (isLoggedIn) {
dispatch(changeTheme(value));
} else {
setUITheme(value);
setCurrentThemeLocal(value);
}
};
const renderCopyright = () => <div className="footer__column">
<div className="footer__copyright">
{t('copyright')} &copy; {getYear()}{' '}
@@ -78,54 +51,13 @@ const Footer = () => {
const renderLinks = (linksData) => linksData.map(({ name, href, className = '' }) => <a
key={name}
href={href}
className={cn('footer__link', className)}
className={classNames('footer__link', className)}
target="_blank"
rel="noopener noreferrer"
>
{t(name)}
</a>);
const renderThemeButtons = () => {
const currentValue = isLoggedIn ? currentTheme : currentThemeLocal;
const content = {
auto: {
desc: t('theme_auto_desc'),
icon: '#auto',
},
dark: {
desc: t('theme_dark_desc'),
icon: '#dark',
},
light: {
desc: t('theme_light_desc'),
icon: '#light',
},
};
return (
Object.values(THEMES)
.map((theme) => (
<button
key={theme}
type="button"
className="btn btn-sm btn-secondary footer__theme-button"
onClick={() => onThemeChange(theme)}
title={content[theme].desc}
>
<svg
className={cn(
'footer__theme-icon',
{ 'footer__theme-icon--active': currentValue === theme },
)}
>
<use xlinkHref={content[theme].icon} />
</svg>
</button>
))
);
};
return (
<>
<footer className="footer">
@@ -134,13 +66,6 @@ const Footer = () => {
<div className="footer__column footer__column--links">
{renderLinks(linksData)}
</div>
<div className="footer__column footer__column--theme">
<div className="footer__themes">
<div className="btn-group">
{renderThemeButtons()}
</div>
</div>
</div>
<div className="footer__column footer__column--language">
<select
className="form-control select select--language"

View File

@@ -7,6 +7,7 @@ import { useSelector } from 'react-redux';
import { MOBILE_CONFIG_LINKS } from '../../../helpers/constants';
import Tabs from '../Tabs';
import Icons from '../Icons';
import MobileConfigForm from './MobileConfigForm';
const renderLi = ({ label, components }) => <li key={label}>
@@ -340,6 +341,7 @@ const Guide = ({ dnsAddresses }) => {
>
{activeTab}
</Tabs>
<Icons />
</div>
);
};

View File

@@ -86,10 +86,10 @@ const Icons = () => (
d="m19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1 -2.83 0l-.06-.06a1.65 1.65 0 0 0 -1.82-.33 1.65 1.65 0 0 0 -1 1.51v.17a2 2 0 0 1 -2 2 2 2 0 0 1 -2-2v-.09a1.65 1.65 0 0 0 -1.08-1.51 1.65 1.65 0 0 0 -1.82.33l-.06.06a2 2 0 0 1 -2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0 -1.51-1h-.17a2 2 0 0 1 -2-2 2 2 0 0 1 2-2h.09a1.65 1.65 0 0 0 1.51-1.08 1.65 1.65 0 0 0 -.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33h.08a1.65 1.65 0 0 0 1-1.51v-.17a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0 -.33 1.82v.08a1.65 1.65 0 0 0 1.51 1h.17a2 2 0 0 1 2 2 2 2 0 0 1 -2 2h-.09a1.65 1.65 0 0 0 -1.51 1z" />
</symbol>
<symbol id="refresh" viewBox="0 0 24 24" stroke="currentColor" fill="none" strokeLinecap="round" strokeLinejoin="round" strokeWidth="2">
<polyline points="23 4 23 10 17 10"></polyline>
<polyline points="1 20 1 14 7 14"></polyline>
<path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path>
<symbol id="refresh" viewBox="0 0 24 24" stroke="currentColor" fill="none"
strokeLinecap="round" strokeLinejoin="round" strokeWidth="2">
<path d="M23 4v6h-6M1 20v-6h6" />
<path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15" />
</symbol>
<symbol id="dns_privacy" viewBox="0 0 30 30" stroke="none" fill="currentColor"
@@ -181,12 +181,6 @@ const Icons = () => (
</svg>
</symbol>
<symbol id="arrow-down" viewBox="0 0 24 24" fill="currentColor">
<svg xmlns="http://www.w3.org/2000/svg">
<path fillRule="evenodd" d="M6.2 8.2a.64.64 0 0 1 .94 0L12 13.32l4.86-5.1a.64.64 0 0 1 .94 0c.27.27.27.71 0 .98l-5.33 5.6a.64.64 0 0 1-.94 0L6.2 9.2a.72.72 0 0 1 0-.98Z" clipRule="evenodd"/>
</svg>
</symbol>
<symbol id="arrow-right" viewBox="0 0 24 24" stroke="currentColor"
strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.5">
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg">
@@ -204,24 +198,11 @@ const Icons = () => (
</svg>
</symbol>
<symbol id="auto" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path fillRule="evenodd" clipRule="evenodd" d="M12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3Z" stroke="currentColor" strokeWidth="1.5" />
<path fillRule="evenodd" clipRule="evenodd" d="M12 3V21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3Z" fill="currentColor" stroke="currentColor" strokeWidth="1.5" />
</symbol>
<symbol id="dark" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M3.80737 15.731L3.9895 15.0034C3.71002 14.9335 3.41517 15.0298 3.23088 15.2512C3.0466 15.4727 3.00545 15.7801 3.12501 16.0422L3.80737 15.731ZM14.1926 3.26892L14.3747 2.54137C14.0953 2.47141 13.8004 2.56772 13.6161 2.78917C13.4318 3.01062 13.3907 3.31806 13.5102 3.58018L14.1926 3.26892ZM12 20.2499C8.66479 20.2499 5.79026 18.2708 4.48974 15.4197L3.12501 16.0422C4.66034 19.4081 8.05588 21.7499 12 21.7499V20.2499ZM20.25 11.9999C20.25 16.5563 16.5563 20.2499 12 20.2499V21.7499C17.3848 21.7499 21.75 17.3847 21.75 11.9999H20.25ZM14.0105 3.99647C17.5955 4.89391 20.25 8.13787 20.25 11.9999H21.75C21.75 7.43347 18.6114 3.60193 14.3747 2.54137L14.0105 3.99647ZM13.5102 3.58018C13.9851 4.6211 14.25 5.77857 14.25 6.99995H15.75C15.75 5.5595 15.4371 4.1901 14.875 2.95766L13.5102 3.58018ZM14.25 6.99995C14.25 11.5563 10.5563 15.2499 5.99999 15.2499V16.7499C11.3848 16.7499 15.75 12.3847 15.75 6.99995H14.25ZM5.99999 15.2499C5.30559 15.2499 4.63225 15.1643 3.9895 15.0034L3.62525 16.4585C4.38616 16.649 5.18181 16.7499 5.99999 16.7499V15.2499Z" fill="currentColor" />
</symbol>
<symbol id="light" width="24" height="24" viewBox="0 0 24 24" fill="none">
<path d="M12 3.75C16.5563 3.75 20.25 7.44365 20.25 12H21.75C21.75 6.61522 17.3848 2.25 12 2.25V3.75ZM20.25 12C20.25 16.5563 16.5563 20.25 12 20.25V21.75C17.3848 21.75 21.75 17.3848 21.75 12H20.25ZM12 20.25C7.44365 20.25 3.75 16.5563 3.75 12H2.25C2.25 17.3848 6.61522 21.75 12 21.75V20.25ZM3.75 12C3.75 7.44365 7.44365 3.75 12 3.75V2.25C6.61522 2.25 2.25 6.61522 2.25 12H3.75Z" fill="currentColor" />
<path fillRule="evenodd" clipRule="evenodd" d="M12 10C10.8954 10 10 10.8954 10 12C10 13.1046 10.8954 14 12 14C13.1046 14 14 13.1046 14 12C13.9987 10.896 13.104 10.0013 12 10Z" fill="currentColor" />
</symbol>
<symbol id="chevron-down" width="24" height="24" viewBox="0 0 24 24">
<symbol id="chevron-down" viewBox="0 0 24 24">
<g fill="none" fillRule="evenodd">
<path d="M0 0h24v24H0z" fill="#878787" fillOpacity=".01" />
<path stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" d="M8.036 10.93l3.93 4.07 4.068-3.93" />
<path stroke="currentColor" strokeWidth="1.5" strokeLinecap="round"
d="M8.036 10.93l3.93 4.07 4.068-3.93" />
</g>
</symbol>
</svg>

View File

@@ -11,10 +11,6 @@
font-size: 0.7rem;
}
.card-chart-bg {
color: var(--black);
}
.card-chart-bg path[d^="M0,32"] {
transform: translateY(32px);
}

View File

@@ -9,12 +9,11 @@ import round from 'lodash/round';
import { useSelector } from 'react-redux';
import PropTypes from 'prop-types';
import './Line.css';
import { msToDays } from '../../helpers/helpers';
const Line = ({
data, color = 'black',
}) => {
const interval = msToDays(useSelector((state) => state.stats.interval));
const interval = useSelector((state) => state.stats.interval);
return <ResponsiveLine
enableArea
@@ -26,9 +25,9 @@ const Line = ({
theme={{
crosshair: {
line: {
stroke: 'currentColor',
stroke: 'black',
strokeWidth: 1,
strokeOpacity: 0.5,
strokeOpacity: 0.35,
},
},
}}

View File

@@ -13,7 +13,7 @@
z-index: 100;
width: 100%;
min-height: 100vh;
background-color: var(--loading-bg);
background-color: rgba(255, 255, 255, 0.48);
}
.loading:after {

View File

@@ -11,7 +11,6 @@
.ReactModal__Overlay--after-open {
opacity: 1;
transition: opacity 150ms ease-out;
background-color: var(--modal-overlay-bgcolor) !important;
}
.ReactModal__Content {

View File

@@ -13,41 +13,6 @@
overflow: visible;
}
.ReactTable .rt-noData {
color: var(--rt-nodata-color);
background-color: var(--rt-nodata-bgcolor);
}
.ReactTable .-loading {
color: var(--rt-nodata-color);
background-color: var(--rt-nodata-bgcolor);
}
.ReactTable .-loading .-loading-inner {
color: var(--gray300);
}
.ReactTable .-pagination input, .ReactTable .-pagination select {
color: var(--rt-nodata-color);
background-color: var(--rt-nodata-bgcolor);
}
[data-theme=dark] .ReactTable .rt-table::-webkit-scrollbar-track {
background-color: var(--card-bgcolor);
}
[data-theme=dark] .ReactTable .rt-table::-webkit-scrollbar-thumb {
background-color: #888888;
}
[data-theme=dark] .ReactTable .-pagination .-btn {
filter: invert(1);
}
[data-theme=dark] .ReactTable .-pagination .-btn:disabled {
opacity: 1;
}
.rt-tr-group.logs__row--red {
background-color: rgba(223, 56, 18, 0.05);
}

View File

@@ -1,25 +1,8 @@
.select.select--theme {
height: 45px;
padding: 0 32px 2px 11px;
outline: 0;
border-color: var(--ctrl-select-bgcolor);
background-image: url("./svg/chevron-down.svg");
background-repeat: no-repeat;
background-position: right 9px center;
background-size: 17px 20px;
appearance: none;
cursor: pointer;
}
.select--theme::-ms-expand {
opacity: 0;
}
.select.select--language {
height: 45px;
padding: 0 32px 2px 33px;
outline: 0;
border-color: var(--ctrl-select-bgcolor);
border-color: rgba(69, 79, 94, 0.12);
background-image: url("./svg/globe.svg"), url("./svg/chevron-down.svg");
background-repeat: no-repeat, no-repeat;
background-position: left 11px center, right 9px center;
@@ -33,9 +16,8 @@
}
.basic-multi-select .select__control {
border: 1px solid var(--card-border-color);;
border: 1px solid rgba(0, 40, 100, 0.12);
border-radius: 3px;
background-color: var(--ctrl-bgcolor);
}
.basic-multi-select .select__control:hover {
@@ -54,16 +36,4 @@
.basic-multi-select .select__menu {
z-index: 3;
background-color: var(--ctrl-bgcolor);
}
[data-theme=dark] .basic-multi-select .select__option:hover,
[data-theme=dark] .basic-multi-select .select__option--is-focused,
[data-theme=dark] .basic-multi-select .select__option--is-focused:hover {
background-color: var(--ctrl-select-bgcolor);
color: var(--ctrl-dropdown-color);
}
[data-theme=dark] .select__multi-value__remove svg {
filter: invert(1);
}

Some files were not shown because too many files have changed in this diff Show More