Files
SnarfCode/scripts/test_curl_from_npm.py

25 lines
860 B
Python

import paramiko
import sys
sys.stdout.reconfigure(encoding='utf-8')
key_path = r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet"
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect("140.44.4.71", username="root", key_filename=key_path, timeout=5)
for host, ip, path in [
('pihole1.snarfnet.net', '140.44.4.34', '/admin/'),
('pihole2.snarfnet.net', '140.44.4.62', '/admin/'),
('technitium.snarfnet.net', '140.44.4.34', '/'),
('dns2.snarfnet.net', '140.44.4.62', '/')
]:
cmd = f"curl -k -I -H 'Host: {host}' https://{ip}{path}"
stdin, stdout, stderr = c.exec_command(cmd)
out = stdout.read().decode('utf-8')
status_line = out.splitlines()[0] if out else "No output"
loc = [l for l in out.splitlines() if 'location:' in l.lower()]
print(f"{host} -> {ip}: {status_line} {loc}")
c.close()