auto-sync: 2026-04-17 13:30:01
This commit is contained in:
56
tasks/ruvpn-xray/test_api.py
Normal file
56
tasks/ruvpn-xray/test_api.py
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
#!/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}")
|
||||||
Reference in New Issue
Block a user