diff --git a/client_v2/src/__locales/en.json b/client_v2/src/__locales/en.json index ea52611f..2d62e1b7 100644 --- a/client_v2/src/__locales/en.json +++ b/client_v2/src/__locales/en.json @@ -1,12 +1,5 @@ { "client_settings": "Client settings", - "example_upstream_reserved": "an upstream <0>for specific domains;", - "example_multiple_upstreams_reserved": "multiple upstreams <0>for specific domains;", - "example_upstream_comment": "a comment.", - "upstream_parallel": "Use parallel queries to speed up resolving by querying all upstream servers simultaneously.", - "parallel_requests": "Parallel requests", - "load_balancing": "Load-balancing", - "load_balancing_desc": "Query one upstream server at a time.
AdGuard Home uses a weighted random algorithm to select servers with the lowest number of failed lookups and the lowest average lookup time.", "bootstrap_dns": "Bootstrap DNS servers", "bootstrap_dns_desc": "IP addresses of DNS servers used to resolve IP addresses of the DoH/DoT resolvers you specify as upstreams. Comments are not permitted.", "fallback_dns_title": "Fallback DNS servers", @@ -17,10 +10,6 @@ "local_ptr_default_resolver": "By default, AdGuard Home uses the following reverse DNS resolvers: {{ip}}.", "local_ptr_no_default_resolver": "AdGuard Home could not determine suitable private reverse DNS resolvers for this system.", "local_ptr_placeholder": "Enter one IP address per line", - "resolve_clients_title": "Enable reverse resolving of clients' IP addresses", - "resolve_clients_desc": "Reversely resolve clients' IP addresses into their hostnames by sending PTR queries to corresponding resolvers (private DNS servers for local clients, upstream servers for clients with public IP addresses).", - "use_private_ptr_resolvers_title": "Use private reverse DNS resolvers", - "use_private_ptr_resolvers_desc": "Resolve PTR, SOA, and NS requests for ARPA domains containing private IP addresses through private upstream servers, DHCP, /etc/hosts, etc. If disabled, AdGuard Home will respond to all such requests with NXDOMAIN.", "check_dhcp_servers": "Check for DHCP servers", "save_config": "Save configuration", "enabled_dhcp": "DHCP server enabled", @@ -155,7 +144,6 @@ "enforce_save_search_hint": "AdGuard Home will enforce safe search in the following search engines: Google, YouTube, Bing, DuckDuckGo, Ecosia, Yandex, Pixabay.", "no_servers_specified": "No servers specified", "general_settings": "General settings", - "dns_settings": "DNS settings", "dns_blocklists": "DNS blocklists", "dns_allowlists": "DNS allowlists", "dns_blocklists_desc": "AdGuard Home will block domains matching the blocklists.", @@ -163,13 +151,10 @@ "custom_filtering_rules": "Custom filtering rules", "encryption_settings": "Encryption settings", "dhcp_settings": "DHCP settings", - "upstream_dns": "Upstream DNS servers", "upstream_dns_help": "Enter one server address per line. Learn more about configuring upstream DNS servers.", "upstream_dns_configured_in_file": "Configured in {{path}}", - "test_upstream_btn": "Test upstreams", "upstreams": "Upstreams", "upstream": "Upstream", - "apply_btn": "Apply", "disabled_filtering_toast": "Disabled filtering", "enabled_filtering_toast": "Enabled filtering", "disabled_safe_browsing_toast": "Disabled Safe Browsing", @@ -210,25 +195,9 @@ "custom_filter_rules": "Custom filtering rules", "custom_filter_rules_hint": "Enter one rule on a line. You can use either adblock rules or hosts files syntax.", "system_host_files": "System hosts files", - "examples_title": "Examples", "example_meaning_filter_block": "block access to example.org and all its subdomains;", "example_meaning_filter_whitelist": "unblock access to example.org and all its subdomains;", "example_meaning_host_block": "respond with 127.0.0.1 for example.org (but not for its subdomains);", - "example_comment": "! Here goes a comment.", - "example_comment_meaning": "just a comment;", - "example_comment_hash": "# Also a comment.", - "example_regex_meaning": "block access to domains matching the specified regular expression.", - "example_upstream_regular": "regular DNS (over UDP);", - "example_upstream_regular_port": "regular DNS (over UDP, with port);", - "example_upstream_udp": "regular DNS (over UDP, hostname);", - "example_upstream_dot": "encrypted <0>DNS-over-TLS;", - "example_upstream_doh": "encrypted <0>DNS-over-HTTPS;", - "example_upstream_doh3": "encrypted DNS-over-HTTPS with forced <0>HTTP/3 and no fallback to HTTP/2 or below;", - "example_upstream_doq": "encrypted <0>DNS-over-QUIC;", - "example_upstream_sdns": "<0>DNS Stamps for <1>DNSCrypt or <2>DNS-over-HTTPS resolvers;", - "example_upstream_tcp": "regular DNS (over TCP);", - "example_upstream_tcp_port": "regular DNS (over TCP, with port);", - "example_upstream_tcp_hostname": "regular DNS (over TCP, hostname);", "all_lists_up_to_date_toast": "All lists are already up-to-date", "updated_upstream_dns_toast": "Upstream servers successfully saved", "dns_test_ok_toast": "Specified DNS servers are working correctly", @@ -281,18 +250,11 @@ "dns_cache_config": "DNS cache configuration", "dns_cache_config_desc": "Here you can configure DNS cache", "blocking_mode": "Blocking mode", - "default": "Default", - "nxdomain": "NXDOMAIN", - "refused": "REFUSED", - "null_ip": "Null IP", - "custom_ip": "Custom IP", "blocking_ipv4": "Blocking IPv4", "blocking_ipv6": "Blocking IPv6", "blocked_response_ttl": "Blocked response TTL", "blocked_response_ttl_desc": "Specifies for how many seconds the clients should cache a filtered response", "form_enter_blocked_response_ttl": "Enter blocked response TTL (seconds)", - "upstream_timeout": "Upstream timeout", - "upstream_timeout_desc": "Specifies the number of seconds to wait for a response from the upstream server", "form_enter_upstream_timeout": "Enter the upstream server timeout duration in seconds", "dnscrypt": "DNSCrypt", "dns_over_https": "DNS-over-HTTPS", @@ -307,10 +269,6 @@ "plain_dns": "Plain DNS", "form_enter_rate_limit": "Enter rate limit", "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.", "rate_limit_subnet_len_ipv4": "Subnet prefix length for IPv4 addresses", "rate_limit_subnet_len_ipv4_desc": "Subnet prefix length for IPv4 addresses used for rate limiting. The default is 24", @@ -458,7 +416,6 @@ "list_confirm_delete": "Are you sure you want to delete this list?", "auto_clients_title": "Runtime clients", "auto_clients_desc": "Information about IP addresses of devices that are using or may use AdGuard Home. This information is gathered from several sources, including hosts files, reverse DNS, etc.", - "access_title": "Access settings", "access_desc": "Here you can configure access rules for the AdGuard Home DNS server", "access_allowed_title": "Allowed clients", "access_allowed_desc": "A list of CIDRs, IP addresses, or ClientIDs. If this list has entries, AdGuard Home will accept requests only from these clients.", @@ -576,10 +533,6 @@ "rewrite_domain_name": "Domain name: add a CNAME record", "rewrite_A": "<0>A: special value, keep <0>A records from the upstream", "rewrite_AAAA": "<0>AAAA: special value, keep <0>AAAA records from the upstream", - "disable_ipv6": "Disable resolving of IPv6 addresses", - "disable_ipv6_desc": "Drop all DNS queries for IPv6 addresses (type AAAA) and remove IPv6 hints from HTTPS responses.", - "fastest_addr": "Fastest IP address", - "fastest_addr_desc": "Wait for responses from all DNS servers, measure the TCP connection speed for each server, and return the IP address of the server with the fastest connection speed.
This mode can significantly slow down DNS queries, if one or more upstream servers are not responding. Make sure that your upstream servers are stable and your upstream timeout is low.", "autofix_warning_text": "If you click \"Fix\", AdGuard Home will configure your system to use AdGuard Home DNS server.", "autofix_warning_list": "It will perform these tasks: <0>Deactivate system DNSStubListener <0>Set DNS server address to 127.0.0.1 <0>Replace symbolic link target of /etc/resolv.conf with /run/systemd/resolve/resolv.conf <0>Stop DNSStubListener (reload systemd-resolved service)", "autofix_warning_result": "As a result all DNS requests from your system will be processed by AdGuard Home by default.", @@ -617,8 +570,6 @@ "confirm_static_ip": "AdGuard Home will configure {{ip}} to be your static IP address. Do you want to proceed?", "list_updated": "{{count}} list updated", "list_updated_plural": "{{count}} lists updated", - "dnssec_enable": "Enable DNSSEC", - "dnssec_enable_desc": "Set DNSSEC flag in the outcoming DNS queries and check the result (DNSSEC-enabled resolver is required).", "validated_with_dnssec": "Validated with DNSSEC", "all_queries": "All queries", "show_blocked_responses": "Blocked", @@ -668,7 +619,6 @@ "anonymizer_notification": "<0>Note: IP anonymization is enabled. You can disable it in <1>General settings.", "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", @@ -829,5 +779,111 @@ "encryption_certificate_name_error": "The server certificate does not include the server name %value%", "encryption_invalid_data": "Invalid data", "encryption_certificate_no_ip": "This certificate does not contain IP addresses. DDR and DNS-over-TLS may not work properly", - "encryption_certificate_self_signed": "This is a self-signed certificate — it may not work on all devices. If you want to use it, make sure that all your devices will accept it" + "encryption_certificate_self_signed": "This is a self-signed certificate — it may not work on all devices. If you want to use it, make sure that all your devices will accept it", + "dns_settings": "DNS settings", + "upstream_dns": "Upstream DNS servers", + "upstream_dns_placeholder": "IP addresses, sdns://, quic://, https://, h3://, or tls://", + "upstream_dns_addresses": "Server addresses, one per line", + "upstream_dns_addresses_faq": "View tips for configuring upstream DNS servers and our list of trusted DNS providers", + "upstream_dns_load_balancing": "Load-balancing", + "upstream_dns_load_balancing_desc": "Query one upstream server at a time AdGuard Home uses a weighted random algorithm to select servers with the lowest number of failed lookups and the lowest average lookup time", + "upstream_dns_parallel_requests": "Parallel requests", + "upstream_dns_parallel_requests_desc": "Use parallel queries to speed up resolving by querying all upstream servers simultaneously", + "upstream_dns_fastest_addr": "Fastest IP address", + "upstream_dns_fastest_addr_desc": "Wait for responses from all DNS servers, measure the TCP connection speed for each server, and return the IP address of the server with the fastest connection speed", + "upstream_dns_fastest_addr_warning": "This mode can significantly slow down DNS queries, if one or more upstream servers are not responding. Make sure that your upstream servers are stable and your upstream timeout is low", + "upstream_examples_title": "Examples", + "upstream_example_udp": "%ipv4%,%ipv6%: regular DNS (over UDP)", + "upstream_example_udp_port": "%ipv4%,%ipv6%: regular DNS (over UDP, with port)", + "upstream_example_udp_hostname": "%value%: regular DNS (over UDP, hostname)", + "upstream_example_tcp": "%ipv4%,%ipv6%: regular DNS (over TCP)", + "upstream_example_tcp_port": "%ipv4%,%ipv6%: regular DNS (over TCP, with port)", + "upstream_example_tcp_hostname": "%value%: regular DNS (over TCP, hostname)", + "upstream_example_upstream_dot": "%value%: encrypted DNS-over-TLS", + "upstream_example_upstream_doh": "%value%: encrypted DNS-over-HTTPS", + "upstream_example_upstream_doh3": "%value%: encrypted DNS-over-HTTPS with forced HTTP/3 and no fallback to HTTP/2", + "upstream_example_upstream_doq": "%value%: encrypted DNS-over-QUIC", + "upstream_example_upstream_sdns": "%value%: DNS Stamps for DNSCrypt or DNS-over-HTTPS resolvers", + "upstream_example_upstream_reserved": "%value%: an upstream for specific domains", + "upstream_example_multiple_upstreams_reserved": "%value%: multiple upstreams for specific domains", + "upstream_example_upstream_comment": "%value%: a comment.", + "upstream_fallback_title": "Fallback DNS servers, one per line", + "upstream_fallback_title_faq": "Fallback DNS servers to use when upstream DNS servers are unavailable. Use the same syntax as for the upstream DNS servers", + "ip_addresses_placeholder": "Enter IP addresses, one per line", + "upstream_bootstrap_dns_title": "Bootstrap DNS servers, one per line", + "upstream_bootstrap_dns_faq": "IP addresses of DNS servers used to resolve the IP addresses of DoH/DoT upstream resolvers. Comments are not allowed", + "upstream_ptr": "Private reverse DNS servers, one per line", + "upstream_ptr_faq_1": "AdGuard Home uses these DNS servers for private PTR, SOA, and NS requests. Private requests come from clients with a private IP address and ask for an ARPA domain that contains a subnet from a private IP address range, such as %value%", + "upstream_ptr_faq_2": "If this field is empty, the default DNS resolvers of your OS will be used, except for the AdGuard Home IP addresses", + "upstream_ptr_faq_3": "By default, AdGuard Home uses the following reverse DNS resolvers: %value_1% and %value_2%", + "upstream_private_ptr_resolvers_title": "Use private reverse DNS resolvers", + "upstream_private_ptr_resolvers_desc": "Resolve PTR, SOA, and NS requests for ARPA domains containing private IP addresses through private upstream servers, DHCP, /etc/hosts, and so on. If disabled, AdGuard Home will respond to all such requests with NXDOMAIN", + "upstream_enable_reverse_lookup_title": "Enable reverse lookup of client IP addresses", + "upstream_enable_reverse_lookup_desc": "Reverse-resolve client IP addresses to their hostnames by sending PTR queries to appropriate resolvers: private DNS servers for local clients, or upstream servers for clients with public IP addresses", + "upstream_timeout": "Upstream timeout, in seconds", + "upstream_timeout_faq": "Time to wait for a response from the upstream server", + "upstream_timeout_placeholder": "Enter the upstream server timeout duration", + "apply": "Apply", + "test_upstreams": "Test upstreams", + "server_config_title": "DNS server configuration", + "server_config_rate_limit": "Rate limit, RPS", + "server_config_rate_limit_faq": "The number of requests per second allowed per client. A value of 0 means no limit", + "server_config_rate_limit_placeholder": "Enter rate limit", + "server_config_subnet_len_ipv4": "Subnet prefix length for IPv4 addresses", + "server_config_subnet_len_ipv4_faq": "Subnet prefix length for IPv4 addresses used for rate limiting. The default is 24", + "server_config_subnet_len_ipv6": "Subnet prefix length for IPv6 addresses", + "server_config_subnet_len_ipv6_faq": "Subnet prefix length for IPv6 addresses used for rate limiting. The default is 56", + "server_config_subnet_len_placeholder": "Enter prefix length", + "server_config_rate_limit_whitelist": "Rate-limiting allowlist", + "server_config_rate_limit_whitelist_faq": "IP addresses excluded from rate limiting", + "server_config_edns_enable": "Enable EDNS client subnet", + "server_config_edns_cs_desc": "Add the EDNS Client Subnet (ECS) option to upstream requests and log the values sent by the clients in the query log", + "server_config_edns_use_custom_ip": "Use custom IP address for EDNS", + "server_config_edns_use_custom_ip_desc": "Replace the client IP address with the custom IP address below", + "enter_ip_address_placeholder": "Enter IP address", + "server_config_dnssec_enable": "Enable DNSSEC", + "server_config_dnssec_enable_desc": "Set the DNSSEC flag in outbound DNS queries and check the result. Requires a DNSSEC-enabled resolver", + "server_config_disable_ipv6": "Disable resolving of IPv6 addresses", + "server_config_disable_ipv6_desc": "Drop all DNS queries for IPv6 addresses (type AAAA) and remove IPv6 hints from HTTPS responses", + "server_config_blocking_mode": "Blocking mode", + "server_config_default": "Default", + "server_config_blocking_mode_default_desc": "Default: Respond with 0.0.0.0 for A and :: for AAAA if blocked by Adblock-style rule. Respond with the IP address specified in the rule if blocked by /etc/hosts-style rule", + "server_config_refused": "REFUSED", + "server_config_blocking_mode_refused_desc": "REFUSED: Respond with REFUSED code", + "server_config_nxdomain": "NXDOMAIN", + "server_config_blocking_mode_nxdomain_desc": "NXDOMAIN: Respond with NXDOMAIN code", + "server_config_null_ip": "Null IP address", + "server_config_blocking_mode_null_ip_desc": "Null IP address: Respond with 0.0.0.0 for A and :: for AAAA", + "server_config_custom_ip": "Custom IP address", + "server_config_blocking_mode_custom_ip_desc": "Custom IP address: Respond with a manually set IP address", + "server_config_blocking_mode_ipv4": "Blocking IPv4", + "server_config_blocking_mode_ipv4_placeholder": "Enter IPv4 address", + "server_config_blocking_mode_ipv4_faq": "IP address to return for a blocked A request", + "server_config_blocking_mode_ipv6": "Blocking IPv6", + "server_config_blocking_mode_ipv6_placeholder": "Enter IPv6 address", + "server_config_blocking_mode_ipv6_faq": "IP address to return for a blocked AAAA request", + "server_config_blocking_mode_ttl": "Blocked response TTL, in seconds", + "server_config_blocking_mode_ttl_faq": "Specifies how long clients should cache a filtered response", + "cache_config_title": "DNS cache configuration", + "cache_config_size": "Cache size, in bytes", + "cache_config_size_faq": "DNS cache size. To disable caching, leave empty", + "cache_config_min_ttl": "Override minimum TTL, in seconds", + "cache_config_min_ttl_faq": "The minimum time-to-live (TTL) value for entries in the DNS cache", + "cache_config_min_ttl_placeholder": "Enter minimum TTL", + "cache_config_max_ttl": "Override maximum TTL, in seconds", + "cache_config_max_ttl_faq": "The maximum time-to-live (TTL) value for entries in the DNS cache", + "cache_config_max_ttl_placeholder": "Enter maximum TTL", + "cache_config_optimistic": "Optimistic caching", + "cache_config_optimistic_desc": "AdGuard Home will respond from the cache even if the entries have expired and will try to update them", + "cache_config_clear": "Clear cache", + "cache_enabled": "Enable cache", + "cache_enabled_desc": "Store DNS responses locally", + "access_settings_title": "Access settings", + "access_settings_allowed_title": "Allowed clients, one per line", + "access_settings_allowed_faq": "A list of CIDRs, IP addresses, or ClientIDs. If this field has entries, AdGuard Home will accept requests only from these clients", + "access_settings_disallowed_title": "Disallowed clients, one per line", + "access_settings_disallowed_faq": "A list of CIDRs, IP addresses, or ClientIDs. If this field has entries, AdGuard Home will drop requests from these clients. This field is ignored if there are entries in Allowed clients", + "access_settings_blocked_title": "Disallowed domains, one per line", + "access_settings_blocked_faq_1": "AdGuard Home will drop DNS queries matching these domains. Such queries don’t appear in the query log. You can enter exact domain names, wildcards, or URL filter rules, such as example.org, *.example.org, or ||example.org^", + "access_settings_blocked_faq_2": "Not to be confused with filters" } diff --git a/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss b/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss index 6bce1db5..01515b37 100644 --- a/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss +++ b/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss @@ -7,6 +7,18 @@ &.disabled { cursor: default; } + + &.center { + align-items: center; + } + + &.start { + align-items: flex-start; + } + + &.end { + align-items: flex-end; + } } .input { diff --git a/client_v2/src/common/controls/Checkbox/Checkbox.tsx b/client_v2/src/common/controls/Checkbox/Checkbox.tsx index 0ae0eb3a..9c3afe05 100644 --- a/client_v2/src/common/controls/Checkbox/Checkbox.tsx +++ b/client_v2/src/common/controls/Checkbox/Checkbox.tsx @@ -12,6 +12,7 @@ type Props = ComponentProps<'input'> & { onClick?: (e: MouseEvent) => void; children?: ReactNode; plusStyle?: boolean; + verticalAlign?: 'center' | 'start' | 'end'; }; export const Checkbox = ({ @@ -26,8 +27,12 @@ export const Checkbox = ({ overflow, onClick, plusStyle, + verticalAlign, }: Props) => ( -