Files
SnarfCode/scripts/inspect_customapi.py

37 lines
1.3 KiB
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}"')
print("=== /app/src/widgets/customapi/component.jsx ===")
print(run(f"kubectl exec -n infrastructure {pod} -- cat /app/src/widgets/customapi/component.jsx"))
script = """
const fs = require('fs');
const content = fs.readFileSync('/app/.next/server/pages/api/services/proxy.js', 'utf8');
const idx = content.indexOf('customapiProxyHandler');
if (idx !== -1) {
console.log(content.substring(Math.max(0, idx - 100), Math.min(content.length, idx + 1000)));
} else {
const idx2 = content.indexOf('customapi');
console.log('customapi at', idx2);
console.log(content.substring(Math.max(0, idx2 - 100), Math.min(content.length, idx2 + 1000)));
}
"""
b64 = base64.b64encode(script.encode('utf-8')).decode('ascii')
run(f"kubectl exec -n infrastructure {pod} -- sh -c 'echo {b64} | base64 -d > /tmp/customapi_code.js'")
print(run(f"kubectl exec -n infrastructure {pod} -- node /tmp/customapi_code.js"))
c.close()