#!/usr/bin/env python3
import os
import sys
import socket
import paramiko

HOST = "194.163.181.219"
USER = "root"
PASSWORD = os.environ["VPS_PASS"]
PUBKEY = open("/mnt/c/Users/user/.ssh/id_ed25519.pub").read().strip()

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(HOST, username=USER, password=PASSWORD, timeout=30, look_for_keys=False, allow_agent=False)

cmd = (
    "mkdir -p ~/.ssh && chmod 700 ~/.ssh && "
    f"grep -qxF '{PUBKEY}' ~/.ssh/authorized_keys 2>/dev/null || "
    f"echo '{PUBKEY}' >> ~/.ssh/authorized_keys && "
    "chmod 600 ~/.ssh/authorized_keys && "
    "echo KEY_INSTALLED && uname -a && "
    "(docker --version || echo NO_DOCKER) && "
    "ls -la /var/www/html 2>/dev/null || echo NO_WWW"
)
stdin, stdout, stderr = client.exec_command(cmd)
out = stdout.read().decode()
err = stderr.read().decode()
print(out)
if err:
    print(err, file=sys.stderr)
client.close()
sys.exit(0 if "KEY_INSTALLED" in out else 1)
