feat: add diagnostic and inspection utility scripts for infrastructure and services
This commit is contained in:
24
scripts/test_curl_from_npm.py
Normal file
24
scripts/test_curl_from_npm.py
Normal file
@@ -0,0 +1,24 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user