This commit is contained in:
Lev 2026-04-16 22:27:18 +03:00
parent 0e71fe7abe
commit 9987500ac0
5 changed files with 14 additions and 32 deletions

View file

@ -123,13 +123,18 @@ class XUIClient:
async def get_client_traffic(self, client_email: str) -> int: async def get_client_traffic(self, client_email: str) -> int:
await self._login() await self._login()
try: try:
resp = await self.session.post( resp = await self.session.post(f"{self.base_url}/panel/inbound/list")
f"{self.base_url}/panel/inbound/getClientTraffics/{client_email}"
)
resp.raise_for_status() resp.raise_for_status()
data = resp.json() data = resp.json()
obj = data.get("obj", {}) inbounds = data.get("obj")
return obj.get("down", 0) + obj.get("up", 0) for inbound in inbounds:
client_stats = inbound.get("clientStats")
for stat in client_stats:
if stat.get("email") == client_email:
up = stat.get("up")
down = stat.get("down")
return up + down
return 0
except: except:
return 0 return 0

View file

@ -1,7 +0,0 @@
[api]
path = spectralvpn.db
host =
username =
password =
inbaund_id = 0
inbaund_url = spectralvpn.ru:442

View file

@ -1,16 +0,0 @@
[Unit]
Description=API SpectralVPN
After=network.target
Wants=network.target
[Service]
User = root
WorkingDirectory=/etc/spectralvpn_api
Environment="PATH=/etc/spectralvpn_api/.venv/bin"
ExecStart=/etc/spectralvpn_api/.venv/bin/uvicorn main:app
Restart=always
RestartSec=3
KillMode=control-group
[Install]
WantedBy=multi-user.target

View file

@ -29,9 +29,9 @@ services:
POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_PASSWORD: ${DB_PASSWORD}
healthcheck: healthcheck:
test: ["CMD", "pg_isready", "-U", "${DB_USER}", "-d", "${DB_NAME}"] test: ["CMD", "pg_isready", "-U", "${DB_USER}", "-d", "${DB_NAME}"]
interval: 10s interval: 5s
timeout: 5s timeout: 5s
retries: 5 retries: 10
volumes: volumes:
- db-data:/var/lib/postgresql - db-data:/var/lib/postgresql
ports: ports: