add /nodes endpoint

This commit is contained in:
austnv
2026-06-21 13:31:10 +03:00
parent 0b52901ba3
commit 44941869ed
7 changed files with 549 additions and 87 deletions
+27
View File
@@ -0,0 +1,27 @@
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='https://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
]
+4
View File
@@ -2,6 +2,10 @@ from fastapi import APIRouter
import aiofiles
import json
# from async_lru import alru_cache
import logging
logging.basicConfig(level=logging.INFO)
router = APIRouter(prefix='/api/v1', tags=['tariffs'])