stream-fusion-better/stream_fusion/web/api/router.py
LimeDrive 7755a78842 feat(security): add Fernet encryption for config tokens and CSRF protection
- Implement Fernet encryption for configuration URLs to protect sensitive user settings
- Add CONFIG_SECRET_KEY environment variable for key derivation
- Add server-side /api/config/encode endpoint for secure config token generation
- Add CSRF token generation and validation for all admin POST routes
- Auto-inject CSRF tokens into admin forms and AJAX requests via JavaScript
- Update frontend to use async server encoding instead of client-side Base64
- Add localStorage fallback for config restoration on /configure pages
- Maintain backward compatibility with existing Base64-encoded URLs
- Log warning at startup if CONFIG_SECRET_KEY is not configured
- Convert debug logs to trace level in TorrentSmartContainer for reduced noise
2026-03-30 01:18:08 +02:00

12 lines
599 B
Python

from fastapi.routing import APIRouter
from stream_fusion.web.api import auth, docs, monitoring
from stream_fusion.web.api.peer import router as peer_router
from stream_fusion.web.api.config import router as config_router
api_router = APIRouter()
api_router.include_router(docs.router)
api_router.include_router(auth.router, prefix="/auth", tags=["_auth"])
api_router.include_router(monitoring.router, prefix="/monitoring", tags=["monitoring"])
api_router.include_router(peer_router.router, prefix="/peer", tags=["peer"])
api_router.include_router(config_router, prefix="/config", tags=["config"])