add authentication
add built-in cleanup general refactor
This commit is contained in:
parent
20ee543ab4
commit
ba2e896813
15 changed files with 313 additions and 106 deletions
|
|
@ -4,7 +4,7 @@ from . import router
|
|||
from fastapi import Request, Depends
|
||||
|
||||
from ..auth import decodeJWT, JWTBearer
|
||||
from ..util import redis, ergo
|
||||
from ..util import redis, ergo, privilegedIps
|
||||
|
||||
|
||||
def pathParts(path):
|
||||
|
|
@ -35,7 +35,7 @@ async def mediamtxChannelStreams(request: Request, channel: str):
|
|||
|
||||
@router.post("/mediamtx/auth", include_in_schema=False)
|
||||
async def mediamtxAuth(request: Request):
|
||||
if request.client.host != "127.0.0.1":
|
||||
if request.client.host not in privilegedIps:
|
||||
return False
|
||||
body = await request.json()
|
||||
jwt = decodeJWT(body["query"][4:])
|
||||
|
|
@ -69,7 +69,7 @@ async def mediamtxAuth(request: Request):
|
|||
|
||||
@router.post("/mediamtx/add", include_in_schema=False)
|
||||
async def mediamtxAdd(request: Request):
|
||||
if request.client.host != "127.0.0.1":
|
||||
if request.client.host not in privilegedIps:
|
||||
return False
|
||||
body = await request.json()
|
||||
path = body["env"]["MTX_PATH"].split("/")
|
||||
|
|
@ -79,10 +79,9 @@ async def mediamtxAdd(request: Request):
|
|||
await ergo.broadcastTo(parts[0], "STREAMSTART", parts[0], parts[1], parts[2])
|
||||
|
||||
|
||||
|
||||
@router.post("/mediamtx/del", include_in_schema=False)
|
||||
async def mediamtxDelete(request: Request):
|
||||
if request.client.host != "127.0.0.1":
|
||||
if request.client.host not in privilegedIps:
|
||||
return False
|
||||
body = await request.json()
|
||||
path = body["env"]["MTX_PATH"].split("/")
|
||||
|
|
@ -90,6 +89,3 @@ async def mediamtxDelete(request: Request):
|
|||
await redis.delete("stream " + " ".join(parts))
|
||||
if len(parts) == 3:
|
||||
await ergo.broadcastTo(parts[0], "STREAMEND", parts[0], parts[1], parts[2])
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue