diff --git a/convert.py b/convert.py index a93e81b..3d37c8e 100755 --- a/convert.py +++ b/convert.py @@ -28,8 +28,9 @@ def raw(src, out): for name in domains_raw: file.write(f'{name}\n') -def dnsmasq(src, out, remove={'google.com'}): +def dnsmasq(src, out, single=None, remove={'google.com'}): domains = set() + domains_single = set() for f in src: with open(f) as infile: @@ -40,6 +41,17 @@ def dnsmasq(src, out, remove={'google.com'}): if not tldextract.extract(line).domain and tldextract.extract(line).suffix: domains.add("." + tldextract.extract(line.rstrip()).suffix) + #domains = domains - remove + + if single is not None: + with open(single) as infile: + for line in infile: + if tldextract.extract(line).suffix: + if re.search(r'[^а-я\-]', tldextract.extract(line).domain): + domains_single.add(tldextract.extract(line.rstrip()).fqdn) + + domains = domains.union(domains_single) + domains = domains - remove domains = sorted(domains) @@ -108,7 +120,7 @@ if __name__ == '__main__': inside_lists = ['antifilter-domains.lst', rusDomainsInsideSrc] raw(inside_lists, rusDomainsInsideOut) - dnsmasq(inside_lists, rusDomainsInsideOut, removeDomains) + dnsmasq(inside_lists, rusDomainsInsideOut, rusDomainsInsideSrcSingle, removeDomains) clashx(inside_lists, rusDomainsInsideOut, removeDomains) kvas(inside_lists, rusDomainsInsideOut, rusDomainsInsideSrcSingle, removeDomains)