mirror of
https://github.com/itdoginfo/allow-domains.git
synced 2026-01-26 04:27:16 +03:00
added clashx format
This commit is contained in:
24
convert.py
24
convert.py
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python3.8
|
#!/usr/bin/python3.10
|
||||||
|
|
||||||
import tldextract
|
import tldextract
|
||||||
import urllib.request
|
import urllib.request
|
||||||
@@ -47,6 +47,23 @@ def dnsmasq(src, out, remove={'google.com'}):
|
|||||||
for name in domains:
|
for name in domains:
|
||||||
file.write(f'ipset=/{name}/vpn_domains\n')
|
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__':
|
if __name__ == '__main__':
|
||||||
# Russia inside
|
# Russia inside
|
||||||
Path("Russia").mkdir(parents=True, exist_ok=True)
|
Path("Russia").mkdir(parents=True, exist_ok=True)
|
||||||
@@ -57,12 +74,14 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
raw(inside_lists, rusDomainsInsideOut)
|
raw(inside_lists, rusDomainsInsideOut)
|
||||||
dnsmasq(inside_lists, rusDomainsInsideOut, removeDomains)
|
dnsmasq(inside_lists, rusDomainsInsideOut, removeDomains)
|
||||||
|
clashx(inside_lists, rusDomainsInsideOut, removeDomains)
|
||||||
|
|
||||||
# Russia outside
|
# Russia outside
|
||||||
ouside_lists = [rusDomainsOutsideSrc]
|
ouside_lists = [rusDomainsOutsideSrc]
|
||||||
|
|
||||||
raw(ouside_lists, rusDomainsOutsideOut)
|
raw(ouside_lists, rusDomainsOutsideOut)
|
||||||
dnsmasq(ouside_lists, rusDomainsOutsideOut)
|
dnsmasq(ouside_lists, rusDomainsOutsideOut)
|
||||||
|
clashx(ouside_lists, rusDomainsOutsideOut)
|
||||||
|
|
||||||
# Ukraine
|
# Ukraine
|
||||||
Path("Ukraine").mkdir(parents=True, exist_ok=True)
|
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")
|
urllib.request.urlretrieve("https://uablacklist.net/domains.txt", "uablacklist-domains.lst")
|
||||||
ua_lists = ['uablacklist-domains.lst']
|
ua_lists = ['uablacklist-domains.lst']
|
||||||
|
|
||||||
dnsmasq(ua_lists, uaDomainsOut)
|
dnsmasq(ua_lists, uaDomainsOut)
|
||||||
|
clashx(ua_lists, uaDomainsOut)
|
||||||
Reference in New Issue
Block a user