added clashx format

This commit is contained in:
itdoginfo 2023-09-13 22:41:04 +03:00
parent 5d779ec9cf
commit 6972bb84a2
No known key found for this signature in database
GPG key ID: 4D49CCAC75E438EA

View file

@ -1,4 +1,4 @@
#!/usr/bin/python3.8
#!/usr/bin/python3.10
import tldextract
import urllib.request
@ -47,6 +47,23 @@ def dnsmasq(src, out, remove={'google.com'}):
for name in domains:
file.write(f'ipset=/{name}/vpn_domains\n')
def clashx(src, out, remove={'google.com'}):
domains = set()
for f in src:
with open(f) as infile:
for line in infile:
if tldextract.extract(line).suffix:
if re.search(r'[^а\-]', tldextract.extract(line).domain):
domains.add(tldextract.extract(line.rstrip()).registered_domain)
domains = domains - remove
domains = sorted(domains)
with open(f'{out}-clashx.lst', 'w') as file:
for name in domains:
file.write(f'DOMAIN-SUFFIX,{name}\n')
if __name__ == '__main__':
# Russia inside
Path("Russia").mkdir(parents=True, exist_ok=True)
@ -57,12 +74,14 @@ if __name__ == '__main__':
raw(inside_lists, rusDomainsInsideOut)
dnsmasq(inside_lists, rusDomainsInsideOut, removeDomains)
clashx(inside_lists, rusDomainsInsideOut, removeDomains)
# Russia outside
ouside_lists = [rusDomainsOutsideSrc]
raw(ouside_lists, rusDomainsOutsideOut)
dnsmasq(ouside_lists, rusDomainsOutsideOut)
clashx(ouside_lists, rusDomainsOutsideOut)
# Ukraine
Path("Ukraine").mkdir(parents=True, exist_ok=True)
@ -70,4 +89,5 @@ if __name__ == '__main__':
urllib.request.urlretrieve("https://uablacklist.net/domains.txt", "uablacklist-domains.lst")
ua_lists = ['uablacklist-domains.lst']
dnsmasq(ua_lists, uaDomainsOut)
dnsmasq(ua_lists, uaDomainsOut)
clashx(ua_lists, uaDomainsOut)