mirror of
https://github.com/UrloMythus/UnHided.git
synced 2026-06-10 09:10:23 +00:00
new version
This commit is contained in:
+28
-33
@@ -12,23 +12,17 @@ from starlette.staticfiles import StaticFiles
|
||||
|
||||
from mediaflow_proxy.configs import settings
|
||||
from mediaflow_proxy.middleware import UIAccessControlMiddleware
|
||||
from mediaflow_proxy.routes import (
|
||||
proxy_router,
|
||||
extractor_router,
|
||||
speedtest_router,
|
||||
playlist_builder_router,
|
||||
xtream_root_router,
|
||||
acestream_router,
|
||||
telegram_router,
|
||||
)
|
||||
from mediaflow_proxy.routes.proxy import proxy_router
|
||||
from mediaflow_proxy.routes.epg import epg_router
|
||||
from mediaflow_proxy.routes.extractor import extractor_router
|
||||
from mediaflow_proxy.routes.speedtest import speedtest_router
|
||||
from mediaflow_proxy.routes.playlist_builder import playlist_builder_router
|
||||
from mediaflow_proxy.routes.xtream import xtream_root_router
|
||||
from mediaflow_proxy.schemas import GenerateUrlRequest, GenerateMultiUrlRequest, MultiUrlRequestItem
|
||||
from mediaflow_proxy.utils.crypto_utils import EncryptionHandler, EncryptionMiddleware
|
||||
from mediaflow_proxy.utils import redis_utils
|
||||
from mediaflow_proxy.utils.http_utils import encode_mediaflow_proxy_url
|
||||
from mediaflow_proxy.utils.base64_utils import encode_url_to_base64, decode_base64_url, is_base64_url
|
||||
from mediaflow_proxy.utils.acestream import acestream_manager
|
||||
from mediaflow_proxy.remuxer.video_transcoder import get_hw_capability, HWAccelType
|
||||
from mediaflow_proxy.utils.telegram import telegram_manager
|
||||
|
||||
logging.basicConfig(level=settings.log_level, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -61,30 +55,22 @@ async def lifespan(app: FastAPI):
|
||||
# use redis-cli KEYS "mfp:*" | xargs redis-cli DEL
|
||||
logger.info("Cache clearing note: Redis entries will expire via TTL")
|
||||
|
||||
# Log transcoding capability
|
||||
hw = get_hw_capability()
|
||||
if hw.accel_type != HWAccelType.NONE and settings.transcode_prefer_gpu:
|
||||
logger.info(
|
||||
"Transcode ready: GPU %s (encoder=%s) | PyAV pipeline",
|
||||
hw.accel_type.value,
|
||||
hw.h264_encoder,
|
||||
)
|
||||
else:
|
||||
logger.info(
|
||||
"Transcode ready: CPU (%s) | PyAV pipeline",
|
||||
hw.h264_encoder,
|
||||
)
|
||||
|
||||
yield
|
||||
|
||||
# Shutdown
|
||||
logger.info("Shutting down...")
|
||||
# Close acestream sessions
|
||||
await acestream_manager.close()
|
||||
logger.info("Acestream manager closed")
|
||||
if settings.enable_acestream:
|
||||
from mediaflow_proxy.utils.acestream import acestream_manager
|
||||
|
||||
await acestream_manager.close()
|
||||
logger.info("Acestream manager closed")
|
||||
# Close telegram session
|
||||
await telegram_manager.close()
|
||||
logger.info("Telegram manager closed")
|
||||
if settings.enable_telegram:
|
||||
from mediaflow_proxy.utils.telegram import telegram_manager
|
||||
|
||||
await telegram_manager.close()
|
||||
logger.info("Telegram manager closed")
|
||||
# Close Redis connections
|
||||
await redis_utils.close_redis()
|
||||
logger.info("Redis connections closed")
|
||||
@@ -318,8 +304,15 @@ async def check_base64_url(url: str):
|
||||
|
||||
|
||||
app.include_router(proxy_router, prefix="/proxy", tags=["proxy"], dependencies=[Depends(verify_api_key)])
|
||||
app.include_router(acestream_router, prefix="/proxy", tags=["acestream"], dependencies=[Depends(verify_api_key)])
|
||||
app.include_router(telegram_router, prefix="/proxy", tags=["telegram"], dependencies=[Depends(verify_api_key)])
|
||||
app.include_router(epg_router, prefix="/proxy", tags=["epg"], dependencies=[Depends(verify_api_key)])
|
||||
if settings.enable_acestream:
|
||||
from mediaflow_proxy.routes.acestream import acestream_router
|
||||
|
||||
app.include_router(acestream_router, prefix="/proxy", tags=["acestream"], dependencies=[Depends(verify_api_key)])
|
||||
if settings.enable_telegram:
|
||||
from mediaflow_proxy.routes.telegram import telegram_router
|
||||
|
||||
app.include_router(telegram_router, prefix="/proxy", tags=["telegram"], dependencies=[Depends(verify_api_key)])
|
||||
app.include_router(extractor_router, prefix="/extractor", tags=["extractors"], dependencies=[Depends(verify_api_key)])
|
||||
app.include_router(speedtest_router, prefix="/speedtest", tags=["speedtest"], dependencies=[Depends(verify_api_key)])
|
||||
app.include_router(playlist_builder_router, prefix="/playlist", tags=["playlist"])
|
||||
@@ -331,9 +324,11 @@ app.mount("/", StaticFiles(directory=str(static_path), html=True), name="static"
|
||||
|
||||
|
||||
def run():
|
||||
import os
|
||||
import uvicorn
|
||||
|
||||
uvicorn.run(app, host="0.0.0.0", port=8888, log_level="info", workers=3)
|
||||
port = int(os.environ.get("PORT", "8888"))
|
||||
uvicorn.run(app, host="0.0.0.0", port=port, log_level="info", workers=3)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user