imToken v2.14.1版本的 MD5 值为:83050b2c91219b46832c8336279e7878

以下内容为反编译后的 DohProviders.java 源代码,内容仅作参考


package org.consenlabs.imtoken.doh;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.dnsoverhttps.DnsOverHttps;
@Metadata(d1 = {"\u0000.\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010 \n\u0002\b\u0002\bÆ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u000e\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006J\u000e\u0010\u0007\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006J\u000e\u0010\b\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006J\u000e\u0010\t\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006J\u000e\u0010\n\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006J\u000e\u0010\u000b\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006J\u000e\u0010\f\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0010H\u0002J\u0014\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\u00040\u00122\u0006\u0010\u0013\u001a\u00020\u0006¨\u0006\u0014"}, d2 = {"Lorg/consenlabs/imtoken/doh/DohProviders;", "", "()V", "buildAlidns", "Lokhttp3/dnsoverhttps/DnsOverHttps;", "bootstrapClient", "Lokhttp3/OkHttpClient;", "buildCloudflare", "buildCloudflareIp", "buildCloudflarePost", "buildGoogle", "buildGooglePost", "buildTecent", "getByIp", "Ljava/net/InetAddress;", "host", "", "providers", "", "client", "app_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public final class DohProviders {
    public static final DohProviders INSTANCE = new DohProviders();

    private DohProviders() {
    }

    public final DnsOverHttps buildGoogle(OkHttpClient bootstrapClient) {
        Intrinsics.checkNotNullParameter(bootstrapClient, "bootstrapClient");
        return new DnsOverHttps.Builder().client(bootstrapClient).url(HttpUrl.Companion.get("https://dns.google/dns-query")).bootstrapDnsHosts(getByIp("8.8.4.4"), getByIp("8.8.8.8")).build();
    }

    public final DnsOverHttps buildGooglePost(OkHttpClient bootstrapClient) {
        Intrinsics.checkNotNullParameter(bootstrapClient, "bootstrapClient");
        return new DnsOverHttps.Builder().client(bootstrapClient).url(HttpUrl.Companion.get("https://dns.google/dns-query")).bootstrapDnsHosts(getByIp("8.8.4.4"), getByIp("8.8.8.8")).post(true).build();
    }

    public final DnsOverHttps buildCloudflareIp(OkHttpClient bootstrapClient) {
        Intrinsics.checkNotNullParameter(bootstrapClient, "bootstrapClient");
        return new DnsOverHttps.Builder().client(bootstrapClient).url(HttpUrl.Companion.get("https://1.1.1.1/dns-query")).includeIPv6(false).build();
    }

    public final DnsOverHttps buildCloudflare(OkHttpClient bootstrapClient) {
        Intrinsics.checkNotNullParameter(bootstrapClient, "bootstrapClient");
        return new DnsOverHttps.Builder().client(bootstrapClient).url(HttpUrl.Companion.get("https://1.1.1.1/dns-query")).bootstrapDnsHosts(getByIp("1.1.1.1"), getByIp("1.0.0.1")).includeIPv6(false).build();
    }

    public final DnsOverHttps buildCloudflarePost(OkHttpClient bootstrapClient) {
        Intrinsics.checkNotNullParameter(bootstrapClient, "bootstrapClient");
        return new DnsOverHttps.Builder().client(bootstrapClient).url(HttpUrl.Companion.get("https://cloudflare-dns.com/dns-query")).bootstrapDnsHosts(getByIp("1.1.1.1"), getByIp("1.0.0.1")).includeIPv6(false).post(true).build();
    }

    public final DnsOverHttps buildAlidns(OkHttpClient bootstrapClient) {
        Intrinsics.checkNotNullParameter(bootstrapClient, "bootstrapClient");
        return new DnsOverHttps.Builder().client(bootstrapClient).url(HttpUrl.Companion.get("https://dns.alidns.com/dns-query")).bootstrapDnsHosts(getByIp("223.5.5.5"), getByIp("223.6.6.6")).includeIPv6(false).build();
    }

    public final DnsOverHttps buildTecent(OkHttpClient bootstrapClient) {
        Intrinsics.checkNotNullParameter(bootstrapClient, "bootstrapClient");
        return new DnsOverHttps.Builder().client(bootstrapClient).url(HttpUrl.Companion.get("https://doh.pub/dns-query")).includeIPv6(false).build();
    }

    public final List<DnsOverHttps> providers(OkHttpClient client) {
        Intrinsics.checkNotNullParameter(client, "client");
        ArrayList arrayList = new ArrayList();
        arrayList.add(buildAlidns(client));
        arrayList.add(buildCloudflare(client));
        arrayList.add(buildTecent(client));
        arrayList.add(buildGoogle(client));
        return arrayList;
    }

    private final InetAddress getByIp(String str) {
        try {
            InetAddress byName = InetAddress.getByName(str);
            Intrinsics.checkNotNullExpressionValue(byName, "{\n            InetAddres…getByName(host)\n        }");
            return byName;
        } catch (UnknownHostException e2) {
            throw new RuntimeException(e2);
        }
    }
}