import paramiko

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('152.136.232.83', port=22, username='root', password='Jianhua105', timeout=10)

def run(cmd):
    print(f"\n>>> {cmd[:120]}")
    stdin, stdout, stderr = client.exec_command(cmd, timeout=15)
    out = stdout.read().decode('utf-8', errors='replace').strip()
    err = stderr.read().decode('utf-8', errors='replace').strip()
    if out: print(out[-600:])
    if err: print(f"ERR: {err[-200:]}")
    return out

# Check what user-server (3002) is
run("pm2 show 2 | head -15")

# Check if user-server has config/public
run("grep -n 'config/public' /www/wwwroot/zhinengtiapp/user-server/*.js 2>/dev/null || echo 'no match'")
run("find /www/wwwroot -name '*.js' -path '*/user-server/*' 2>/dev/null | head -5")

# Check user-server path
run("pm2 show 2 | grep 'script path'")

# Check if 3001 is accessible externally
run("curl -s http://152.136.232.83:3001/api/system/config/public 2>&1 | head -5")
run("curl -s http://152.136.232.83:3002/api/system/config/public 2>&1 | head -5")

# Check nginx/firewall for port 3001
run("ss -tlnp | grep -E '3001|3002'")

client.close()
