mirror of
https://github.com/itdoginfo/allow-domains.git
synced 2025-04-16 11:39:09 +00:00
added clashx format
This commit is contained in:
parent
5d779ec9cf
commit
6972bb84a2
1 changed files with 22 additions and 2 deletions
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)
|
Loading…
Add table
Reference in a new issue