mirror of
https://github.com/itdoginfo/allow-domains.git
synced 2026-03-26 12:50:58 +03:00
Add all
This commit is contained in:
73
convert.py
Executable file
73
convert.py
Executable file
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/python3.8
|
||||
|
||||
import tldextract
|
||||
import urllib.request
|
||||
import re
|
||||
from pathlib import Path
|
||||
|
||||
rusDomainsInsideSrc='src/Russia-domains-inside.lst'
|
||||
rusDomainsInsideOut='Russia/inside'
|
||||
rusDomainsOutsideSrc='src/Russia-domains-outside.lst'
|
||||
rusDomainsOutsideOut='Russia/outside'
|
||||
uaDomainsOut='Ukraine/inside'
|
||||
|
||||
def raw(src, out):
|
||||
domains_raw = set()
|
||||
|
||||
for f in src:
|
||||
with open(f) as infile:
|
||||
for line in infile:
|
||||
if tldextract.extract(line).suffix:
|
||||
domains_raw.add(line.rstrip())
|
||||
|
||||
domains_raw = sorted(domains_raw)
|
||||
|
||||
with open(f'{out}-raw.lst', 'w') as file:
|
||||
for name in domains_raw:
|
||||
file.write(f'{name}\n')
|
||||
|
||||
def dnsmasq(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}-dnsmasq-nfset.lst', 'w') as file:
|
||||
for name in domains:
|
||||
file.write(f'nftset=/{name}/4#inet#fw4#vpn_domains\n')
|
||||
|
||||
with open(f'{out}-dnsmasq-ipset.lst', 'w') as file:
|
||||
for name in domains:
|
||||
file.write(f'ipset=/{name}/vpn_domains\n')
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Russia inside
|
||||
Path("Russia").mkdir(parents=True, exist_ok=True)
|
||||
|
||||
removeDomains = {'google.com'}
|
||||
urllib.request.urlretrieve("https://community.antifilter.download/list/domains.lst", "antifilter-domains.lst")
|
||||
inside_lists = ['antifilter-domains.lst', rusDomainsInsideSrc]
|
||||
|
||||
raw(inside_lists, rusDomainsInsideOut)
|
||||
dnsmasq(inside_lists, rusDomainsInsideOut, removeDomains)
|
||||
|
||||
# Russia outside
|
||||
ouside_lists = [rusDomainsOutsideSrc]
|
||||
|
||||
raw(ouside_lists, rusDomainsOutsideOut)
|
||||
dnsmasq(ouside_lists, rusDomainsOutsideOut)
|
||||
|
||||
# Ukraine
|
||||
Path("Ukraine").mkdir(parents=True, exist_ok=True)
|
||||
|
||||
urllib.request.urlretrieve("https://uablacklist.net/domains.txt", "uablacklist-domains.lst")
|
||||
ua_lists = ['uablacklist-domains.lst']
|
||||
|
||||
dnsmasq(ua_lists, uaDomainsOut)
|
||||
Reference in New Issue
Block a user