diff --git a/SimpleDnsCrypt/Helper/PatchHelper.cs b/SimpleDnsCrypt/Helper/PatchHelper.cs index 9e7f25f4..eada2e24 100644 --- a/SimpleDnsCrypt/Helper/PatchHelper.cs +++ b/SimpleDnsCrypt/Helper/PatchHelper.cs @@ -1,4 +1,6 @@ using System.Collections.Generic; +using System.Collections.ObjectModel; +using SimpleDnsCrypt.Config; using SimpleDnsCrypt.Models; namespace SimpleDnsCrypt.Helper @@ -60,8 +62,14 @@ public static bool Patch() if (version.Equals("0.7.1")) { //changed: ignore_system_dns = true + //changed: block_unqualified = true + //changed: block_undelegated = true //added: broken_implementations + //added: fallback_resolvers (instead of fallback_resolver) DnscryptProxyConfigurationManager.DnscryptProxyConfiguration.ignore_system_dns = true; + DnscryptProxyConfigurationManager.DnscryptProxyConfiguration.block_unqualified = true; + DnscryptProxyConfigurationManager.DnscryptProxyConfiguration.block_undelegated = true; + DnscryptProxyConfigurationManager.DnscryptProxyConfiguration.fallback_resolvers = new ObservableCollection(Global.DefaultFallbackResolvers); var sources = DnscryptProxyConfigurationManager.DnscryptProxyConfiguration.sources; if (!sources.ContainsKey("relays")) { @@ -79,7 +87,12 @@ public static bool Patch() DnscryptProxyConfigurationManager.DnscryptProxyConfiguration.broken_implementations = new BrokenImplementations { - broken_query_padding = new List { "cisco", "cisco-ipv6", "cisco-familyshield" } + //broken_query_padding = new List { "cisco", "cisco-ipv6", "cisco-familyshield" }, + fragments_blocked = new List { "cisco", "cisco-ipv6", "cisco-familyshield", + "cisco-familyshield-ipv6", "quad9-dnscrypt-ip4-filter-alt", "quad9-dnscrypt-ip4-filter-pri", + "quad9-dnscrypt-ip4-nofilter-alt", "quad9-dnscrypt-ip4-nofilter-pri", "quad9-dnscrypt-ip6-filter-alt", + "quad9-dnscrypt-ip6-filter-pri", "quad9-dnscrypt-ip6-nofilter-alt", "quad9-dnscrypt-ip6-nofilter-pri", + "cleanbrowsing-adult", "cleanbrowsing-family-ipv6", "cleanbrowsing-family", "cleanbrowsing-security" } }; return DnscryptProxyConfigurationManager.SaveConfiguration(); } diff --git a/SimpleDnsCrypt/Models/DnscryptProxyConfiguration.cs b/SimpleDnsCrypt/Models/DnscryptProxyConfiguration.cs index 9e2be6ac..d58cef38 100644 --- a/SimpleDnsCrypt/Models/DnscryptProxyConfiguration.cs +++ b/SimpleDnsCrypt/Models/DnscryptProxyConfiguration.cs @@ -789,6 +789,7 @@ public class AnonymizedDns : PropertyChangedBase } private List _routes; + private bool _skip_incompatible; public List routes { @@ -799,6 +800,19 @@ public List routes NotifyOfPropertyChange(() => _routes); } } + + /// + /// skip resolvers incompatible with anonymization instead of using them directly. + /// + public bool skip_incompatible + { + get => _skip_incompatible; + set + { + _skip_incompatible = value; + NotifyOfPropertyChange(() => skip_incompatible); + } + } } public class BrokenImplementations : PropertyChangedBase @@ -811,6 +825,7 @@ public class BrokenImplementations : PropertyChangedBase } private List _broken_query_padding; + private List _fragments_blocked; public List broken_query_padding { @@ -821,6 +836,16 @@ public List broken_query_padding NotifyOfPropertyChange(() => broken_query_padding); } } + + public List fragments_blocked + { + get => _fragments_blocked; + set + { + _fragments_blocked = value; + NotifyOfPropertyChange(() => fragments_blocked); + } + } } public class Route : PropertyChangedBase diff --git a/SimpleDnsCrypt/SimpleDnsCrypt.csproj b/SimpleDnsCrypt/SimpleDnsCrypt.csproj index ce80c4c6..5e8c8c1f 100644 --- a/SimpleDnsCrypt/SimpleDnsCrypt.csproj +++ b/SimpleDnsCrypt/SimpleDnsCrypt.csproj @@ -526,6 +526,9 @@ 0.2.0 + + 0.10.0 + 1.6.5 diff --git a/SimpleDnsCrypt/ViewModels/MainViewModel.cs b/SimpleDnsCrypt/ViewModels/MainViewModel.cs index e7403bb1..c4cdc9bd 100644 --- a/SimpleDnsCrypt/ViewModels/MainViewModel.cs +++ b/SimpleDnsCrypt/ViewModels/MainViewModel.cs @@ -413,7 +413,6 @@ public void OnClose(CancelEventArgs cancelEventArgs) } } - /// /// The title of the window. diff --git a/SimpleDnsCrypt/dnscrypt-proxy/dnscrypt-proxy.toml b/SimpleDnsCrypt/dnscrypt-proxy/dnscrypt-proxy.toml index 68ad542d..403418ec 100644 --- a/SimpleDnsCrypt/dnscrypt-proxy/dnscrypt-proxy.toml +++ b/SimpleDnsCrypt/dnscrypt-proxy/dnscrypt-proxy.toml @@ -40,9 +40,10 @@ format = 'ltsv' [ip_blacklist] [broken_implementations] -broken_query_padding = ['cisco', 'cisco-ipv6', 'cisco-familyshield'] +fragments_blocked = ['cisco', 'cisco-ipv6', 'cisco-familyshield', 'cisco-familyshield-ipv6', 'quad9-dnscrypt-ip4-filter-alt', 'quad9-dnscrypt-ip4-filter-pri', 'quad9-dnscrypt-ip4-nofilter-alt', 'quad9-dnscrypt-ip4-nofilter-pri', 'quad9-dnscrypt-ip6-filter-alt', 'quad9-dnscrypt-ip6-filter-pri', 'quad9-dnscrypt-ip6-nofilter-alt', 'quad9-dnscrypt-ip6-nofilter-pri', 'cleanbrowsing-adult', 'cleanbrowsing-family-ipv6', 'cleanbrowsing-family', 'cleanbrowsing-security'] [anonymized_dns] +skip_incompatible = false [sources] diff --git a/img/preview/querylog.png b/img/preview/querylog.png index 13290b39..afa1a530 100644 Binary files a/img/preview/querylog.png and b/img/preview/querylog.png differ