24 lines
689 B
Python
24 lines
689 B
Python
from fastapi import APIRouter
|
|
import logging
|
|
from os import getenv
|
|
from remnawave import RemnawaveSDK
|
|
from remnawave.models.hosts import GetAllHostsResponseDto
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
router = APIRouter(prefix='/api/v1', tags=['hosts'])
|
|
remnawave = RemnawaveSDK(base_url='http://remnawave:3000', token=getenv('REMNAWAVE_API_TOKEN'))
|
|
|
|
@router.get('/hosts')
|
|
async def get_nodes():
|
|
hosts: GetAllHostsResponseDto = await remnawave.hosts.get_all_hosts()
|
|
return [
|
|
|
|
{
|
|
'name': host.remark,
|
|
'address': host.address,
|
|
'port': host.port
|
|
}
|
|
|
|
for host in hosts.root if not host.is_disabled and not host.is_hidden
|
|
] |