DPR-blocked-sites/runners/2_google_ips.py
Maxim Slipenko 256f70e951
делает несколько правок
- добавляет комментарии к IP
- добавляет Grafana, NTP сервера Google, chess.com
- меняет логику запуска скриптов
2022-09-15 17:54:30 +03:00

33 lines
813 B
Python

import subprocess
from utils import prettyprint
def resolve_by_spf(domain):
output = subprocess.run(["nslookup", "-q=TXT", domain], capture_output=True)
lines = output.stdout.decode().split('\n')
result = []
for line in lines:
res = line.find('v=spf')
if res == -1:
continue
values = line[res:].split()
for val in values:
if val.startswith("include:"):
result += resolve_by_spf(val[8:].strip())
if val.startswith("ip4:"):
result.append(val[4:].strip())
return list(dict.fromkeys(result))
def main():
ips = resolve_by_spf("_spf.google.com")
with open('ips.txt', 'a') as out:
for ip in ips:
out.write(prettyprint(ip, 'google (spf)') + '\n')