39 lines
1.2 KiB
Python
Executable file
39 lines
1.2 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
import socket
|
|
import public_ip as ip
|
|
import time
|
|
import subprocess
|
|
import sys
|
|
import os
|
|
from datetime import datetime
|
|
from configparser import ConfigParser
|
|
parser = ConfigParser()
|
|
domain = os.environ["DOMAIN"]
|
|
with open('/secret/' + domain + '.ini') as stream:
|
|
parser.read_string("[top]\n" + stream.read())
|
|
dns_ionos_prefix=parser.get('top','dns_ionos_prefix')
|
|
dns_ionos_secret=parser.get('top','dns_ionos_secret')
|
|
wildcard='*.'+ domain
|
|
#print(dns_ionos_prefix ,dns_ionos_secret, wildcard)
|
|
#print("eseguo ./ionos_dyndns.py -4 -H "+wildcard+" --api-prefix "+dns_ionos_prefix+" --api-secret "+dns_ionos_secret)
|
|
#subprocess.call(["./ionos_dyndns.py", "-4","-H",wildcard,"--api-prefix",dns_ionos_prefix,"--api-secret",dns_ionos_secret])
|
|
k = 0
|
|
while True:
|
|
a=ip.get()
|
|
b=socket.gethostbyname('cicco.' + domain)
|
|
#print(a, b)
|
|
if a != b:
|
|
print()
|
|
print("IP cambio indirizzo in", a )
|
|
subprocess.call(["ionos_dyndns.py", "-4","-H",wildcard,"--api-prefix",dns_ionos_prefix,"--api-secret",dns_ionos_secret])
|
|
else:
|
|
if k == 0:
|
|
now = datetime.now()
|
|
print(now.strftime("%Y-%m-%d %H:%M"))
|
|
if k == 10:
|
|
k = 0
|
|
else:
|
|
k=k+1
|
|
print("X", end="", flush=True)
|
|
time.sleep(300)
|
|
|