From 465eba070970367b7cca7c996d805fd2aca825b9 Mon Sep 17 00:00:00 2001 From: Cp0204 Date: Mon, 18 Nov 2024 16:03:22 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E4=BC=98=E5=8C=96=20strm=20?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E4=B8=BB=E6=9C=BA=E6=9B=BF=E6=8D=A2=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- media_servers/alist_strm_lite.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/media_servers/alist_strm_lite.py b/media_servers/alist_strm_lite.py index fb5e7fe..b3e70d3 100644 --- a/media_servers/alist_strm_lite.py +++ b/media_servers/alist_strm_lite.py @@ -21,11 +21,13 @@ class Alist_strm_lite: "token": "", # Alist 服务器 Token "storage_id": "", # Alist 服务器夸克存储 ID "strm_save_dir": "/media", # 生成的 strm 文件保存的路径 - "strm_url_host": "", # strm 文件内链接的主机地址 (可选,缺省时=url) + "strm_replace_host": "", # strm 文件内链接的主机地址 (可选,缺省时=url) } is_active = False + # 缓存参数 storage_mount_path = None quark_root_dir = None + strm_server = None def __init__(self, **kwargs): if kwargs: @@ -46,6 +48,15 @@ class Alist_strm_lite: ) if self.storage_mount_path and self.quark_root_dir: self.is_active = True + # 替换strm文件内链接的主机地址 + self.strm_replace_host = self.strm_replace_host.strip() + if self.strm_replace_host: + if self.strm_replace_host.startswith("http"): + self.strm_server = f"{self.strm_replace_host}/d" + else: + self.strm_server = f"http://{self.strm_replace_host}/d" + else: + self.strm_server = f"{self.url.strip()}/d" def run(self, task): if task.get("savepath") and task.get("savepath").startswith( @@ -120,10 +131,7 @@ class Alist_strm_lite: if not os.path.exists(os.path.dirname(strm_path)): os.makedirs(os.path.dirname(strm_path)) with open(strm_path, "w", encoding="utf-8") as strm_file: - host = ( - self.strm_url_host if self.strm_url_host.strip() else self.url - ).rstrip("/") - strm_file.write(f"{host}/d{file_path}") + strm_file.write(f"{self.strm_server}{file_path}") print(f"📺 生成STRM文件 {strm_path} 成功✅") def get_root_folder_full_path(self, cookie, pdir_fid):