2019-07-05 11:54:52 +00:00
|
|
|
import React, { Fragment } from 'react';
|
2019-07-02 12:45:39 +00:00
|
|
|
import PropTypes from 'prop-types';
|
2019-03-19 13:19:53 +00:00
|
|
|
import { Trans, withNamespaces } from 'react-i18next';
|
|
|
|
|
|
|
|
import Tabs from '../ui/Tabs';
|
|
|
|
import Icons from '../ui/Icons';
|
|
|
|
|
2019-07-05 11:54:52 +00:00
|
|
|
const Guide = (props) => {
|
|
|
|
const { dnsAddresses } = props;
|
|
|
|
const tlsAddress = (dnsAddresses && dnsAddresses.filter(item => item.includes('tls://'))) || '';
|
|
|
|
const httpsAddress =
|
|
|
|
(dnsAddresses && dnsAddresses.filter(item => item.includes('https://'))) || '';
|
|
|
|
const showDnsPrivacyNotice = httpsAddress.length < 1 && tlsAddress.length < 1;
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div>
|
|
|
|
<Icons />
|
|
|
|
<Tabs>
|
|
|
|
<div label="Router">
|
|
|
|
<div className="tab__title">
|
|
|
|
<Trans>install_devices_router</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</div>
|
2019-07-05 11:54:52 +00:00
|
|
|
<div className="tab__text">
|
|
|
|
<p>
|
|
|
|
<Trans>install_devices_router_desc</Trans>
|
|
|
|
</p>
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_router_list_1</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_router_list_2</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_router_list_3</Trans>
|
|
|
|
</li>
|
2020-04-24 13:54:37 +00:00
|
|
|
<li>
|
|
|
|
<Trans>install_devices_router_list_4</Trans>
|
|
|
|
</li>
|
2019-07-05 11:54:52 +00:00
|
|
|
</ol>
|
2019-07-02 12:45:39 +00:00
|
|
|
</div>
|
2019-07-05 11:54:52 +00:00
|
|
|
</div>
|
|
|
|
<div label="Windows">
|
|
|
|
<div className="tab__title">Windows</div>
|
|
|
|
<div className="tab__text">
|
|
|
|
<ol>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_windows_list_1</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_windows_list_2</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_windows_list_3</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_windows_list_4</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_windows_list_5</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_windows_list_6</Trans>
|
|
|
|
</li>
|
|
|
|
</ol>
|
2019-07-02 12:45:39 +00:00
|
|
|
</div>
|
2019-07-05 11:54:52 +00:00
|
|
|
</div>
|
|
|
|
<div label="macOS">
|
|
|
|
<div className="tab__title">macOS</div>
|
|
|
|
<div className="tab__text">
|
|
|
|
<ol>
|
2019-07-02 12:45:39 +00:00
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_macos_list_1</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_macos_list_2</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_macos_list_3</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_macos_list_4</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</li>
|
2019-07-05 11:54:52 +00:00
|
|
|
</ol>
|
2019-07-02 12:45:39 +00:00
|
|
|
</div>
|
2019-07-05 11:54:52 +00:00
|
|
|
</div>
|
|
|
|
<div label="Android">
|
|
|
|
<div className="tab__title">Android</div>
|
|
|
|
<div className="tab__text">
|
|
|
|
<ol>
|
2019-07-02 12:45:39 +00:00
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_android_list_1</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_android_list_2</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_android_list_3</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_android_list_4</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<li>
|
|
|
|
<Trans>install_devices_android_list_5</Trans>
|
|
|
|
</li>
|
|
|
|
</ol>
|
2019-07-02 12:45:39 +00:00
|
|
|
</div>
|
2019-07-05 11:54:52 +00:00
|
|
|
</div>
|
|
|
|
<div label="iOS">
|
|
|
|
<div className="tab__title">iOS</div>
|
|
|
|
<div className="tab__text">
|
|
|
|
<ol>
|
2019-07-02 12:45:39 +00:00
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_ios_list_1</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_ios_list_2</Trans>
|
2019-07-02 12:45:39 +00:00
|
|
|
</li>
|
|
|
|
<li>
|
2019-07-05 11:54:52 +00:00
|
|
|
<Trans>install_devices_ios_list_3</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans>install_devices_ios_list_4</Trans>
|
|
|
|
</li>
|
|
|
|
</ol>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div label="dns_privacy" title={props.t('dns_privacy')}>
|
|
|
|
<div className="tab__title">
|
|
|
|
<Trans>dns_privacy</Trans>
|
|
|
|
</div>
|
|
|
|
<div className="tab__text">
|
|
|
|
{tlsAddress && tlsAddress.length > 0 && (
|
|
|
|
<div className="tab__paragraph">
|
2019-07-02 12:45:39 +00:00
|
|
|
<Trans
|
2019-07-05 11:54:52 +00:00
|
|
|
values={{ address: tlsAddress[0] }}
|
2019-07-02 12:45:39 +00:00
|
|
|
components={[
|
2019-07-05 11:54:52 +00:00
|
|
|
<strong key="0">text</strong>,
|
2019-07-02 12:45:39 +00:00
|
|
|
<code key="1">text</code>,
|
|
|
|
]}
|
|
|
|
>
|
2019-07-05 11:54:52 +00:00
|
|
|
setup_dns_privacy_1
|
2019-07-02 12:45:39 +00:00
|
|
|
</Trans>
|
2019-07-05 11:54:52 +00:00
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
{httpsAddress && httpsAddress.length > 0 && (
|
|
|
|
<div className="tab__paragraph">
|
2019-07-02 12:45:39 +00:00
|
|
|
<Trans
|
2019-07-05 12:43:18 +00:00
|
|
|
values={{ address: httpsAddress[0] }}
|
2019-07-02 12:45:39 +00:00
|
|
|
components={[
|
2019-07-05 11:54:52 +00:00
|
|
|
<strong key="0">text</strong>,
|
2019-07-02 12:45:39 +00:00
|
|
|
<code key="1">text</code>,
|
|
|
|
]}
|
|
|
|
>
|
2019-07-05 11:54:52 +00:00
|
|
|
setup_dns_privacy_2
|
2019-07-02 12:45:39 +00:00
|
|
|
</Trans>
|
2019-07-05 11:54:52 +00:00
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
{showDnsPrivacyNotice && (
|
|
|
|
<div className="tab__paragraph">
|
2019-07-02 12:45:39 +00:00
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
2019-07-05 11:54:52 +00:00
|
|
|
href="https://github.com/AdguardTeam/AdguardHome/wiki/Encryption"
|
2019-07-02 12:45:39 +00:00
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
2019-07-05 11:54:52 +00:00
|
|
|
<code key="1">text</code>,
|
2019-07-02 12:45:39 +00:00
|
|
|
]}
|
|
|
|
>
|
2019-07-05 11:54:52 +00:00
|
|
|
setup_dns_notice
|
2019-07-02 12:45:39 +00:00
|
|
|
</Trans>
|
2019-07-05 11:54:52 +00:00
|
|
|
</div>
|
|
|
|
)}
|
|
|
|
{!showDnsPrivacyNotice && (
|
|
|
|
<Fragment>
|
|
|
|
<div className="tab__paragraph">
|
|
|
|
<Trans components={[<p key="0">text</p>]}>
|
|
|
|
setup_dns_privacy_3
|
|
|
|
</Trans>
|
|
|
|
</div>
|
|
|
|
<div className="tab__paragraph">
|
|
|
|
<strong>Android</strong>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<Trans>setup_dns_privacy_android_1</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://adguard.com/adguard-android/overview.html"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
<code key="1">text</code>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_android_2
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://getintra.org/"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
<code key="1">text</code>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_android_3
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div className="tab__paragraph">
|
|
|
|
<strong>iOS</strong>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://itunes.apple.com/app/id1452162351"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
<code key="1">text</code>,
|
|
|
|
<a
|
|
|
|
href="https://dnscrypt.info/stamps"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="2"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_ios_1
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://adguard.com/adguard-ios/overview.html"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
<code key="1">text</code>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_ios_2
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div className="tab__paragraph">
|
|
|
|
<strong>
|
|
|
|
<Trans>setup_dns_privacy_other_title</Trans>
|
|
|
|
</strong>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<Trans>setup_dns_privacy_other_1</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://github.com/AdguardTeam/dnsproxy"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_other_2
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://github.com/jedisct1/dnscrypt-proxy"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
<code key="1">text</code>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_other_3
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://www.mozilla.org/firefox/"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
<code key="1">text</code>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_other_4
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<Trans
|
|
|
|
components={[
|
|
|
|
<a
|
|
|
|
href="https://dnscrypt.info/implementations"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="0"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
<a
|
|
|
|
href="https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Clients"
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
key="1"
|
|
|
|
>
|
|
|
|
link
|
|
|
|
</a>,
|
|
|
|
]}
|
|
|
|
>
|
|
|
|
setup_dns_privacy_other_5
|
|
|
|
</Trans>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</Fragment>
|
|
|
|
)}
|
2019-07-02 12:45:39 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-07-05 11:54:52 +00:00
|
|
|
</Tabs>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
};
|
2019-03-19 13:19:53 +00:00
|
|
|
|
2019-07-05 11:54:52 +00:00
|
|
|
Guide.defaultProps = {
|
|
|
|
dnsAddresses: [],
|
|
|
|
};
|
2019-07-02 12:45:39 +00:00
|
|
|
|
|
|
|
Guide.propTypes = {
|
2019-07-05 11:54:52 +00:00
|
|
|
dnsAddresses: PropTypes.array,
|
2019-07-02 12:45:39 +00:00
|
|
|
t: PropTypes.func.isRequired,
|
|
|
|
};
|
|
|
|
|
2019-03-19 13:19:53 +00:00
|
|
|
export default withNamespaces()(Guide);
|