fix: пропал декоратор @app.post(/api/add-torrent), follow_redirects в tmdb-proxy
- Возвращён @app.post('/api/add-torrent') — был съеден при вставке
proxy-torrent-download, из-за чего кнопка 'Добавить в клиент' всегда
возвращала 404
- tmdb-proxy /proxy-torrent: добавлен follow_redirects=True — rutracker
и kinozal отдают 302 перед .torrent файлом
This commit is contained in:
parent
a5497eef26
commit
127060d023
2 changed files with 4 additions and 2 deletions
|
|
@ -1185,7 +1185,7 @@ async def proxy_torrent_download(url: str = Query(...)):
|
||||||
params={"url": url},
|
params={"url": url},
|
||||||
timeout=30.0
|
timeout=30.0
|
||||||
)
|
)
|
||||||
if proxy_resp.status_code == 200:
|
if proxy_resp.status_code == 200 or (proxy_resp.status_code < 400 and len(proxy_resp.content) > 100):
|
||||||
content_type = proxy_resp.headers.get("content-type", "application/x-bittorrent")
|
content_type = proxy_resp.headers.get("content-type", "application/x-bittorrent")
|
||||||
return Response(
|
return Response(
|
||||||
content=proxy_resp.content,
|
content=proxy_resp.content,
|
||||||
|
|
@ -1225,6 +1225,8 @@ async def proxy_torrent_download(url: str = Query(...)):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Error in proxy-torrent-download: {e}")
|
print(f"Error in proxy-torrent-download: {e}")
|
||||||
raise HTTPException(status_code=500, detail=f"Ошибка прокси: {str(e)}")
|
raise HTTPException(status_code=500, detail=f"Ошибка прокси: {str(e)}")
|
||||||
|
|
||||||
|
@app.post("/api/add-torrent")
|
||||||
async def add_torrent_to_client(torrent_id: str = Form(...), magnet: str = Form(""), torrent_title: str = Form("")):
|
async def add_torrent_to_client(torrent_id: str = Form(...), magnet: str = Form(""), torrent_title: str = Form("")):
|
||||||
"""Добавление торрента в qBittorrent через прямое API"""
|
"""Добавление торрента в qBittorrent через прямое API"""
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,7 @@ async def proxy_torrent(url: str = Query(..., description="URL .torrent файл
|
||||||
async with httpx.AsyncClient(timeout=30.0) as client:
|
async with httpx.AsyncClient(timeout=30.0) as client:
|
||||||
try:
|
try:
|
||||||
logger.info(f"Proxying .torrent download: {url}")
|
logger.info(f"Proxying .torrent download: {url}")
|
||||||
response = await client.get(url, timeout=30.0)
|
response = await client.get(url, timeout=30.0, follow_redirects=True)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
return Response(
|
return Response(
|
||||||
content=response.content,
|
content=response.content,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue