Files
SnarfCode/scripts/test_pihole_web_login.py

23 lines
1003 B
Python

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('140.44.4.41', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
# Test login to pihole web interface via curl from the host
cmd = 'curl -s -c /tmp/cookies.txt -b /tmp/cookies.txt -X POST "http://140.44.4.65/api/auth" -H "Content-Type: application/json" -d \'{"password":"snarfnetadmin"}\''
stdin, stdout, stderr = ssh.exec_command(cmd)
print("Spaceport /api/auth via 140.44.4.65:", stdout.read().decode())
cmd = 'curl -s -c /tmp/cookies.txt -b /tmp/cookies.txt "http://140.44.4.65/api/auth"'
stdin, stdout, stderr = ssh.exec_command(cmd)
print("Spaceport check session /api/auth:", stdout.read().decode())
# Check pihole FTL log for any error
stdin, stdout, stderr = ssh.exec_command('k3s kubectl exec -n dns deployment/pihole -- tail -n 25 /var/log/pihole/FTL.log 2>/dev/null || true')
print("FTL.log:")
print(stdout.read().decode())
ssh.close()