diff --git a/app/src/main/java/org/lsposed/manager/App.java b/app/src/main/java/org/lsposed/manager/App.java index 66d70c00..fe4f816c 100644 --- a/app/src/main/java/org/lsposed/manager/App.java +++ b/app/src/main/java/org/lsposed/manager/App.java @@ -107,6 +107,11 @@ public class App extends Application { public static OkHttpClient getOkHttpClient() { if (okHttpClient == null) { OkHttpClient.Builder builder = new OkHttpClient.Builder().cache(getOkHttpCache()); + builder.addInterceptor(chain -> { + var request = chain.request().newBuilder(); + request.header("User-Agent", TAG); + return chain.proceed(request.build()); + }); HttpLoggingInterceptor.Logger logger = s -> Log.v(TAG, s); HttpLoggingInterceptor log = new HttpLoggingInterceptor(logger); log.setLevel(HttpLoggingInterceptor.Level.HEADERS); diff --git a/app/src/main/java/org/lsposed/manager/util/DoHDNS.java b/app/src/main/java/org/lsposed/manager/util/DoHDNS.java index 03f849aa..e283e411 100644 --- a/app/src/main/java/org/lsposed/manager/util/DoHDNS.java +++ b/app/src/main/java/org/lsposed/manager/util/DoHDNS.java @@ -37,19 +37,13 @@ public class DoHDNS implements Dns { private static DnsOverHttps cloudflare; private static DnsOverHttps tuna; + private static DnsOverHttps dnspod; public DoHDNS(OkHttpClient client) { - cloudflare = new DnsOverHttps.Builder() - .resolvePrivateAddresses(true) - .client(client) - .url(HttpUrl.get("https://cloudflare-dns.com/dns-query")) - .build(); - - tuna = new DnsOverHttps.Builder() - .resolvePrivateAddresses(true) - .client(client) - .url(HttpUrl.get("https://101.6.6.6:8443/dns-query")) - .build(); + var builder = new DnsOverHttps.Builder().resolvePrivateAddresses(true).client(client); + cloudflare = builder.url(HttpUrl.get("https://cloudflare-dns.com/dns-query")).build(); + tuna = builder.url(HttpUrl.get("https://101.6.6.6:8443/dns-query")).build(); + dnspod = builder.url(HttpUrl.get("https://doh.pub/dns-query")).build(); } @NonNull @@ -62,7 +56,11 @@ public class DoHDNS implements Dns { try { if ("CN".equals(Locale.getDefault().getCountry())) return tuna.lookup(hostname); - } catch (UnknownHostException ignored) { + } catch (UnknownHostException exception) { + try { + return dnspod.lookup(hostname); + } catch (UnknownHostException ignored) { + } } } }