Files
SnarfCode/scripts/inspect_portainer_proxy.py

29 lines
991 B
Python

import base64
import paramiko
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect('140.44.4.41', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
def run(cmd):
_, o, e = c.exec_command(cmd)
out = o.read().decode().strip()
return out
pod = run('kubectl get pod -n infrastructure -l app.kubernetes.io/name=homepage-2-1744068158 -o jsonpath="{.items[0].metadata.name}"')
script = """
const fs = require('fs');
const content = fs.readFileSync('/app/.next/server/pages/api/services/proxy.js', 'utf8');
const idx = content.indexOf('41788:');
if (idx !== -1) {
console.log(content.substring(idx, Math.min(content.length, idx + 1000)));
}
"""
b64 = base64.b64encode(script.encode('utf-8')).decode('ascii')
run(f"kubectl exec -n infrastructure {pod} -- sh -c 'echo {b64} | base64 -d > /tmp/portainer_mod.js'")
print(run(f"kubectl exec -n infrastructure {pod} -- node /tmp/portainer_mod.js"))
c.close()