Merge pull request #1073 from IngmarStein/filter_aaaa_specific_domains

Add `filterDomains` setting to `Filter AAAA` app.
This commit is contained in:
Shreyas Zare
2024-10-26 16:36:48 +05:30
committed by GitHub
2 changed files with 21 additions and 0 deletions

View File

@@ -40,6 +40,7 @@ namespace FilterAaaa
bool _bypassLocalZones;
NetworkAddress[] _bypassNetworks;
string[] _bypassDomains;
string[] _filterDomains;
#endregion
@@ -74,6 +75,11 @@ namespace FilterAaaa
else
_bypassDomains = [];
if (jsonConfig.TryReadArray("filterDomains", out string[] filterDomains))
_filterDomains = filterDomains;
else
_filterDomains = [];
return Task.CompletedTask;
}
@@ -95,6 +101,19 @@ namespace FilterAaaa
if (question.Type != DnsResourceRecordType.AAAA)
return response;
bool filterDomain = _filterDomains.Length == 0;
foreach (string filterDomain in _filterDomains)
{
if (qname.Equals(filterDomain, StringComparison.OrdinalIgnoreCase) || qname.EndsWith("." + filterDomain, StringComparison.OrdinalIgnoreCase))
{
filterDomain = true;
break;
}
}
if (!filterDomain)
return response;
bool hasAAAA = false;
foreach (DnsResourceRecord record in response.Answer)

View File

@@ -5,5 +5,7 @@
],
"bypassDomains": [
"example.com"
],
"filterDomains": [
]
}