Files
Blitz-Proxy/core/scripts/webpanel/app.py
2025-01-23 13:23:11 +03:30

44 lines
1.1 KiB
Python

import sys
from fastapi import FastAPI
from fastapi.templating import Jinja2Templates
from fastapi import Request
from starlette.middleware.sessions import SessionMiddleware
from starlette.staticfiles import StaticFiles
import routers
# Append directory of cli.py to be able to import it
HYSTERIA_CORE_DIR = '/etc/hysteria/core/'
sys.path.append(HYSTERIA_CORE_DIR)
app = FastAPI()
app.mount('/assets', StaticFiles(directory='asset'), name='assets')
app.add_middleware(SessionMiddleware, secret_key='your-secret-key')
templates = Jinja2Templates(directory='templates')
app.include_router(router=routers.user.router,prefix='/user')
app.include_router(router=routers.hysteria.router,prefix='/settings/hysteria')
app.include_router(router=routers.warp.router,prefix='/settings/warp')
@app.get('/')
async def index(request: Request):
return templates.TemplateResponse('index.html', {'request': request})
return templates.TemplateResponse('index.html', {'request': request})
@app.get('/home')
async def home(request: Request):
return await index(request)
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8080)