This commit is contained in:
itdoginfo
2023-07-03 15:33:10 +03:00
commit 9e0e42fb07
7 changed files with 1181 additions and 0 deletions

73
convert.py Executable file
View 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)