diff --git a/app/api/endpoints/system.py b/app/api/endpoints/system.py index 777b1de2..25de81c9 100644 --- a/app/api/endpoints/system.py +++ b/app/api/endpoints/system.py @@ -147,6 +147,7 @@ async def proxy_img( imgurl: str, proxy: bool = False, cache: bool = False, + use_cookies: bool = False, if_none_match: Annotated[str | None, Header()] = None, _: schemas.TokenPayload = Depends(verify_resource_token) ) -> Response: @@ -157,7 +158,11 @@ async def proxy_img( hosts = [config.config.get("host") for config in MediaServerHelper().get_configs().values() if config and config.config and config.config.get("host")] allowed_domains = set(settings.SECURITY_IMAGE_DOMAINS) | set(hosts) - cookies = MediaServerChain().get_image_cookies(server=None, image_url=imgurl) + cookies = ( + MediaServerChain().get_image_cookies(server=None, image_url=imgurl) + if use_cookies + else None + ) return await fetch_image(url=imgurl, proxy=proxy, use_cache=cache, cookies=cookies, if_none_match=if_none_match, allowed_domains=allowed_domains) diff --git a/app/modules/trimemedia/trimemedia.py b/app/modules/trimemedia/trimemedia.py index 5c90f755..fce6b666 100644 --- a/app/modules/trimemedia/trimemedia.py +++ b/app/modules/trimemedia/trimemedia.py @@ -200,6 +200,7 @@ class TrimeMedia: ], link=f"{self._playhost or self._api.host}/library/{library.guid}", server_type="trimemedia", + use_cookies=True, ) ) return libraries @@ -498,6 +499,7 @@ class TrimeMedia: else 0 ), server_type="trimemedia", + use_cookies=True, ) def get_items( diff --git a/app/schemas/mediaserver.py b/app/schemas/mediaserver.py index a5427228..10d15710 100644 --- a/app/schemas/mediaserver.py +++ b/app/schemas/mediaserver.py @@ -74,6 +74,8 @@ class MediaServerLibrary(BaseModel): link: Optional[str] = None # 服务器类型 server_type: Optional[str] = None + # 飞牛的图片需要Cookies + use_cookies: Optional[bool] = None class MediaServerItemUserState(BaseModel): @@ -177,3 +179,5 @@ class MediaServerPlayItem(BaseModel): percent: Optional[float] = None BackdropImageTags: Optional[list] = Field(default_factory=list) server_type: Optional[str] = None + # 飞牛的图片需要Cookies + use_cookies: Optional[bool] = None