diff --git a/src/onyconnect/main.py b/src/onyconnect/main.py index acc8cc6..ec6576a 100644 --- a/src/onyconnect/main.py +++ b/src/onyconnect/main.py @@ -1,12 +1,18 @@ from fastapi import FastAPI, Request, Form from fastapi.responses import HTMLResponse, RedirectResponse from fastapi.templating import Jinja2Templates +from fastapi.staticfiles import StaticFiles import os from tor_config import generate_onion_service import uvicorn app = FastAPI() -templates = Jinja2Templates(directory="src/onyconnect/templates") + +# Definindo a pasta de templates +templates = Jinja2Templates(directory="templates") + +# Montando a pasta 'static' para servir arquivos estáticos +app.mount("/static", StaticFiles(directory="static"), name="static") @app.get("/", response_class=HTMLResponse) async def index(request: Request): @@ -14,12 +20,16 @@ async def index(request: Request): @app.post("/generate") async def generate_service(request: Request, port: str = Form(...), directory: str = Form(...)): + # Gerando o serviço Onion usando a função definida em tor_config hostname = generate_onion_service(port, directory) + + # Definindo a mensagem com base no resultado da geração do serviço Onion if hostname: message = f"Serviço .onion criado com sucesso: {hostname}" else: message = "Falha ao criar o serviço .onion. Verifique as configurações." + # Retornando a resposta com a mensagem para a página return templates.TemplateResponse("index.html", {"request": request, "message": message}) # Bloco para rodar o servidor Uvicorn diretamente