Files
backend/routers/nodes.py
T
2026-06-21 16:47:46 +03:00

29 lines
795 B
Python

from fastapi import APIRouter
import logging
from os import getenv
from remnawave import RemnawaveSDK
from remnawave.models.nodes import GetAllNodesResponseDto
logging.basicConfig(level=logging.INFO)
router = APIRouter(prefix='/api/v1', tags=['nodes'])
remnawave = RemnawaveSDK(base_url='http://remnawave:3000', token=getenv('REMNAWAVE_API_TOKEN'))
@router.get('/nodes')
async def get_nodes():
nodes: GetAllNodesResponseDto = await remnawave.nodes.get_all_nodes()
return [
{
'ip': node.address,
'port': node.port,
'uptime': node.xray_uptime,
'users_online': node.users_online,
'name': node.name,
'country_code': node.country_code
}
for node in nodes if node.is_connected
]