diff --git a/scripts/check_ftl_db.py b/scripts/check_ftl_db.py index dc87dba..c1385f8 100644 --- a/scripts/check_ftl_db.py +++ b/scripts/check_ftl_db.py @@ -19,3 +19,4 @@ out, err = exec_cmd('k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-F print("Integrity:", out, "Err:", err) client.close() + diff --git a/scripts/check_ftl_log_spaceport.py b/scripts/check_ftl_log_spaceport.py new file mode 100644 index 0000000..d80c8b9 --- /dev/null +++ b/scripts/check_ftl_log_spaceport.py @@ -0,0 +1,10 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.41", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- grep -A 10 "Database version is 22" /var/log/pihole/FTL.log' +stdin, stdout, stderr = client.exec_command(cmd) +print("Spaceport:\n", stdout.read().decode()) +client.close() diff --git a/scripts/check_ftl_startup.py b/scripts/check_ftl_startup.py new file mode 100644 index 0000000..2ced8ee --- /dev/null +++ b/scripts/check_ftl_startup.py @@ -0,0 +1,11 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.11", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- grep -B 20 "CRIT: Cannot initialize in-memory database" /var/log/pihole/FTL.log' +stdin, stdout, stderr = client.exec_command(cmd) +print(stdout.read().decode()) +client.close() + diff --git a/scripts/check_ftl_version.py b/scripts/check_ftl_version.py new file mode 100644 index 0000000..a71a967 --- /dev/null +++ b/scripts/check_ftl_version.py @@ -0,0 +1,11 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.11", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM ftl;"' +stdin, stdout, stderr = client.exec_command(cmd) +print(stdout.read().decode()) +client.close() + diff --git a/scripts/check_ftl_version_spaceport.py b/scripts/check_ftl_version_spaceport.py new file mode 100644 index 0000000..3485c57 --- /dev/null +++ b/scripts/check_ftl_version_spaceport.py @@ -0,0 +1,11 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.41", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM ftl;"' +stdin, stdout, stderr = client.exec_command(cmd) +print("Spaceport:", stdout.read().decode()) +client.close() + diff --git a/scripts/check_network_table.py b/scripts/check_network_table.py new file mode 100644 index 0000000..2133845 --- /dev/null +++ b/scripts/check_network_table.py @@ -0,0 +1,13 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.11", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +for tbl in ["network", "network_addresses"]: + cmd = f'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "SELECT count(*) FROM {tbl};"' + stdin, stdout, stderr = client.exec_command(cmd) + print(f"{tbl} count:", stdout.read().decode().strip(), stderr.read().decode().strip()) + +client.close() + diff --git a/scripts/check_npm_ai_hosts.py b/scripts/check_npm_ai_hosts.py new file mode 100644 index 0000000..3ca3a16 --- /dev/null +++ b/scripts/check_npm_ai_hosts.py @@ -0,0 +1,11 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.71", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +cmd = 'python3 -c "import sqlite3; conn=sqlite3.connect(\'/var/lib/docker/volumes/nginx-proxy-manager_nginx-data/_data/database.sqlite\'); print(conn.execute(\'SELECT id, domain_names, forward_host, forward_port, enabled FROM proxy_host;\').fetchall())"' +stdin, stdout, stderr = client.exec_command(cmd) +print(stdout.read().decode()) +print(stderr.read().decode()) +client.close() diff --git a/scripts/check_technitium_shipyardcontrol.py b/scripts/check_technitium_shipyardcontrol.py new file mode 100644 index 0000000..81ee017 --- /dev/null +++ b/scripts/check_technitium_shipyardcontrol.py @@ -0,0 +1,14 @@ +import requests +import paramiko + +# Let's inspect the technitium zone via SSH or API +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.11", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +cmd = 'k3s kubectl exec -n dns deploy/technitium-dns -c technitium-dns -- find /etc/dns/zones -type f -exec grep -H "shipyardcontrol" {} + || true' +stdin, stdout, stderr = client.exec_command(cmd) +print("Zone file check:", stdout.read().decode()) + +client.close() + diff --git a/scripts/fix_ftl_db_version.py b/scripts/fix_ftl_db_version.py new file mode 100644 index 0000000..ee4dcaa --- /dev/null +++ b/scripts/fix_ftl_db_version.py @@ -0,0 +1,28 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.11", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +# Check current version +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM ftl WHERE id=0;"' +stdin, stdout, stderr = client.exec_command(cmd) +print("Before:", stdout.read().decode().strip()) + +# Update version to 21 +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "UPDATE ftl SET value=21 WHERE id=0;"' +stdin, stdout, stderr = client.exec_command(cmd) +print("Updated:", stdout.read().decode().strip(), stderr.read().decode().strip()) + +# Verify +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db "SELECT * FROM ftl WHERE id=0;"' +stdin, stdout, stderr = client.exec_command(cmd) +print("After:", stdout.read().decode().strip()) + +# Restart FTL or reload +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- pihole restartdns' +stdin, stdout, stderr = client.exec_command(cmd) +print("Restart output:", stdout.read().decode().strip()) + +client.close() + diff --git a/scripts/remove_shipyardcontrol_npm.py b/scripts/remove_shipyardcontrol_npm.py index 25098dc..bab9f65 100644 --- a/scripts/remove_shipyardcontrol_npm.py +++ b/scripts/remove_shipyardcontrol_npm.py @@ -20,3 +20,4 @@ stdin, stdout, stderr = client.exec_command(cmd) print("Nginx reload:", stdout.read().decode().strip(), stderr.read().decode().strip()) client.close() + diff --git a/scripts/test_pihole_user.py b/scripts/test_pihole_user.py new file mode 100644 index 0000000..52ab61a --- /dev/null +++ b/scripts/test_pihole_user.py @@ -0,0 +1,12 @@ +import paramiko + +client = paramiko.SSHClient() +client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +client.connect("140.44.4.11", username="root", key_filename=r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet", timeout=10) + +cmd = 'k3s kubectl exec -n dns deploy/pihole -c pihole -- su -s /bin/sh pihole -c "pihole-FTL sqlite3 /etc/pihole/pihole-FTL.db \'SELECT count(*) FROM query_storage;\'"' +stdin, stdout, stderr = client.exec_command(cmd) +print("Output:", stdout.read().decode()) +print("Error:", stderr.read().decode()) +client.close() +