From b70825099b053e3b45b26429620df928a3ebba48 Mon Sep 17 00:00:00 2001
From: itdoginfo <koalav42@gmail.com>
Date: Mon, 9 Sep 2024 15:51:07 +0300
Subject: [PATCH] Added subdomains for dnsmasq

---
 convert.py | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

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)