#!/usr/bin/env python3 """ Восстановление SSH доступа к ruvpn через 3x-ui API Логинимся и пробуем выполнить команду через API (если доступно) или добавляем правило firewall через systemd """ import requests import json import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) BASE_URL = "https://185.130.212.192:37615" WEB_BASE_PATH = "/Tlvziqv5coI64Ymq5U/" USERNAME = "admin" PASSWORD = "XrayAdmin2026!" session = requests.Session() session.verify = False # Логин login_url = f"{BASE_URL}{WEB_BASE_PATH}login" login_data = {"username": USERNAME, "password": PASSWORD} print(f"=== Логин в 3x-ui ===") response = session.post(login_url, json=login_data) print(f"Status: {response.status_code}") if response.status_code == 200: try: data = response.json() print(f"Response: {json.dumps(data, indent=2)[:500]}") if data.get("success"): print("✅ Логин успешен!") else: print("❌ Логин не удался") except: print(f"Response text: {response.text[:300]}") else: print(f"❌ HTTP {response.status_code}") # Проверяем доступные API endpoints print(f"\n=== Проверка API endpoints ===") endpoints = [ "panel/api/inbounds/list", "panel/api/settings", "server/status", ] for endpoint in endpoints: url = f"{BASE_URL}{WEB_BASE_PATH}{endpoint}" try: resp = session.get(url, timeout=5) print(f"{endpoint}: {resp.status_code} - {resp.text[:100]}") except Exception as e: print(f"{endpoint}: ERROR - {e}")