From 0ca2adb014495cc795c82fc7edf2521961a67302 Mon Sep 17 00:00:00 2001 From: dzhuang Date: Mon, 16 Oct 2023 18:13:09 +0800 Subject: [PATCH] Default proxy to None. --- README.md | 2 +- xiaomusic/config.py | 2 +- xiaomusic/xiaomusic.py | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 49e5b36..282377f 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ pdm run xiaomusic.py docker run -e MI_USER= -e MI_PASS= -e MI_DID= -e XIAOMUSIC_PROXY= -e XIAOMUSIC_HOSTNAME=192.168.2.5 -p 8090:8090 -v ./music:/app/music hanxi/xiaomusic --hardware='L07A' ``` -- XIAOMUSIC_PROXY 用于配置代理,yt-dlp 工具下载歌曲会用到。 +- XIAOMUSIC_PROXY 用于配置代理,默认为空,yt-dlp 工具下载歌曲会用到。 - 注意端口必须映射为与容器内一致,XIAOMUSIC_HOSTNAME 需要设置为宿主机的 IP 地址,否则小爱无法正常播放。 - 可以把 /app/music 目录映射到本地,用于保存下载的歌曲。 diff --git a/xiaomusic/config.py b/xiaomusic/config.py index db3b614..00c253d 100644 --- a/xiaomusic/config.py +++ b/xiaomusic/config.py @@ -56,7 +56,7 @@ class Config: music_path: str = os.getenv("XIAOMUSIC_MUSIC_PATH", "music") hostname: str = os.getenv("XIAOMUSIC_HOSTNAME", "192.168.2.5") port: int = int(os.getenv("XIAOMUSIC_PORT", "8090")) - proxy: str = os.getenv("XIAOMUSIC_PROXY", "http://192.168.2.5:8080") + proxy: str = os.getenv("XIAOMUSIC_PROXY", None) def __post_init__(self) -> None: if self.proxy: diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 867abd4..2b098d9 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -296,13 +296,17 @@ class XiaoMusic: if self.download_proc: self.download_proc.kill() - self.download_proc = await asyncio.create_subprocess_exec( + sbp_args = ( "yt-dlp", f"ytsearch:{name}", "-x", "--audio-format", "mp3", "--paths", self.music_path, "-o", f"{name}.mp3", - "--proxy", f"{self.proxy}", "--ffmpeg-location", "./ffmpeg/bin") + + if self.proxy: + sbp_args += ("--proxy", f"{self.proxy}") + + self.download_proc = await asyncio.create_subprocess_exec(*sbp_args) await self.do_tts(f"正在下载歌曲{name}") def get_filename(self, name):