DnsOptions.fromProvider constructor

DnsOptions.fromProvider({
  1. required DnsProviderPreset preset,
  2. String remoteDomainStrategy = 'auto',
  3. String directDomainStrategy = 'auto',
  4. bool enableDnsRouting = true,
  5. bool enableFakeIp = false,
  6. String fakeIpInet4Range = '198.18.0.0/15',
  7. String fakeIpInet6Range = 'fc00::/18',
  8. bool enableDohFallback = true,
  9. String dohFallbackDns = 'https://dns.google/dns-query',
  10. List<String> dohFallbackDomainSuffixes = const <String>['cp.cloudflare.com', 'connectivitycheck.gstatic.com', 'gstatic.com', 'googleapis.com'],
  11. String? remoteDnsOverride,
  12. String? directDnsOverride,
})

Creates an instance from a dynamic map.

Implementation

factory DnsOptions.fromProvider({
  required DnsProviderPreset preset,
  String remoteDomainStrategy = 'auto',
  String directDomainStrategy = 'auto',
  bool enableDnsRouting = true,
  bool enableFakeIp = false,
  String fakeIpInet4Range = '198.18.0.0/15',
  String fakeIpInet6Range = 'fc00::/18',
  bool enableDohFallback = true,
  String dohFallbackDns = 'https://dns.google/dns-query',
  List<String> dohFallbackDomainSuffixes = const <String>[
    'cp.cloudflare.com',
    'connectivitycheck.gstatic.com',
    'gstatic.com',
    'googleapis.com',
  ],
  String? remoteDnsOverride,
  String? directDnsOverride,
}) {
  final DnsProviderProfile profile = dnsProviderProfileForPreset(preset);
  return DnsOptions(
    providerPreset: preset,
    remoteDns: remoteDnsOverride ?? profile.remoteDns,
    remoteDomainStrategy: remoteDomainStrategy,
    directDns: directDnsOverride ?? profile.directDns,
    directDomainStrategy: directDomainStrategy,
    enableDnsRouting: enableDnsRouting,
    enableFakeIp: enableFakeIp,
    fakeIpInet4Range: fakeIpInet4Range,
    fakeIpInet6Range: fakeIpInet6Range,
    enableDohFallback: enableDohFallback,
    dohFallbackDns: dohFallbackDns,
    dohFallbackDomainSuffixes: dohFallbackDomainSuffixes,
  );
}