Initial commit
This commit is contained in:
43
monitor.py
Normal file
43
monitor.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import subprocess
|
||||
import time
|
||||
import ipaddress
|
||||
|
||||
|
||||
def run_subprocess(cmd, check=True, delay=0):
|
||||
cmd_split = cmd.split(" ")
|
||||
output = subprocess.run(
|
||||
cmd_split, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=check
|
||||
).stdout.decode("utf-8")
|
||||
if delay > 0:
|
||||
time.sleep(delay)
|
||||
return output
|
||||
|
||||
|
||||
while True:
|
||||
try:
|
||||
myip = run_subprocess("curl ifconfig.co")
|
||||
results1 = run_subprocess("docker exec -it vpn nordvpn status")
|
||||
results2 = run_subprocess("docker exec -it dante curl ifconfig.co")
|
||||
|
||||
NoIP = False
|
||||
try:
|
||||
ip = ipaddress.ip_address(myip.strip())
|
||||
ip = ipaddress.ip_address(results2.strip())
|
||||
except:
|
||||
print("Socks error")
|
||||
NoIP = False
|
||||
|
||||
if NoIP or results1.find("Status: Connected") == -1: # Not Connected
|
||||
print("Restarting")
|
||||
run_subprocess("docker-compose restart vpn", delay=30)
|
||||
run_subprocess("docker-compose restart dante", delay=10)
|
||||
run_subprocess("docker-compose restart qbittorrent")
|
||||
else:
|
||||
pass
|
||||
except:
|
||||
print("Restarting")
|
||||
run_subprocess("docker-compose restart vpn", delay=30)
|
||||
run_subprocess("docker-compose restart dante", delay=10)
|
||||
run_subprocess("docker-compose restart qbittorrent")
|
||||
|
||||
time.sleep(10 * 60)
|
||||
Reference in New Issue
Block a user