From da3b363f96dc5771e23f5d77704322d5506d95eb Mon Sep 17 00:00:00 2001 From: itdoginfo <koalav42@gmail.com> Date: Thu, 12 Dec 2024 16:55:50 +0300 Subject: [PATCH] Added single domains for clashx --- convert.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/convert.py b/convert.py index 67b8380..37d609b 100755 --- a/convert.py +++ b/convert.py @@ -61,8 +61,9 @@ def dnsmasq(src, out, single=None, remove={'google.com'}): for name in domains: file.write(f'ipset=/{name}/vpn_domains\n') -def clashx(src, out, remove={'google.com'}): +def clashx(src, out, single=None, remove={'google.com'}): domains = set() + domains_single = set() for f in src: with open(f) as infile: @@ -73,6 +74,15 @@ def clashx(src, out, remove={'google.com'}): if not tldextract.extract(line).domain and tldextract.extract(line).suffix: domains.add("." + tldextract.extract(line.rstrip()).suffix) + 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) @@ -153,7 +163,7 @@ if __name__ == '__main__': raw(inside_lists, rusDomainsInsideOut) dnsmasq(inside_lists, rusDomainsInsideOut, rusDomainsInsideSrcSingle, removeDomains) - clashx(inside_lists, rusDomainsInsideOut, removeDomains) + clashx(inside_lists, rusDomainsInsideOut, rusDomainsInsideSrcSingle, removeDomains) kvas(inside_lists, rusDomainsInsideOut, rusDomainsInsideSrcSingle, removeDomainsKvas) mikrotik_fwd(inside_lists, rusDomainsInsideOut, rusDomainsInsideSrcSingle, removeDomains)