should fool the server
This commit is contained in:
parent
7c67f7d180
commit
5f931ad8b3
21
main_app.py
21
main_app.py
@ -1,4 +1,3 @@
|
||||
import os
|
||||
import xml.etree.ElementTree as ET
|
||||
from urllib.parse import parse_qs
|
||||
|
||||
@ -247,6 +246,26 @@ async def block_telemetry():
|
||||
return fake_response({"status": "disabled by proxy :)"}, status_code=200)
|
||||
|
||||
|
||||
@app.post("/collect/server", tags=[Hosts.ANALYTICS.value])
|
||||
async def fake_server_details(request: Request, _=host_required([Hosts.ANALYTICS])):
|
||||
upstream_response = await call_official(request, request.url.path.lstrip("/"))
|
||||
|
||||
data_override = None
|
||||
|
||||
content_type = upstream_response.headers.get("content-type", "")
|
||||
if content_type.startswith("application/xml"):
|
||||
data = ET.fromstring(upstream_response.content)
|
||||
|
||||
data.attrib['plexPass'] = '1' # Set plexPass to 1
|
||||
|
||||
# Pretty print XML
|
||||
ET.indent(data)
|
||||
|
||||
data_override = ET.tostring(data, encoding="utf-8", method="xml")
|
||||
|
||||
return await return_edited_response(upstream_response, data_override)
|
||||
|
||||
|
||||
@app.get("/favicon.ico")
|
||||
async def favicon():
|
||||
return FileResponse("favicon.ico")
|
||||
|
2
utils.py
2
utils.py
@ -45,7 +45,7 @@ async def call_official(request: Request, path: str) -> httpx.Response:
|
||||
# Forward request upstream
|
||||
upstream_response = await official_client.request(
|
||||
method=request.method,
|
||||
url=f"{str(request.base_url).rstrip('/').replace("http://", "https://")}/{path}",
|
||||
url=f"{str(request.base_url).rstrip('/')}/{path}", # .replace("http://", "https://")
|
||||
headers=req_headers,
|
||||
content=body,
|
||||
params=request.query_params,
|
||||
|
Loading…
x
Reference in New Issue
Block a user