diff --git a/xiaomusic/config.py b/xiaomusic/config.py index bcda511..b92fe3f 100644 --- a/xiaomusic/config.py +++ b/xiaomusic/config.py @@ -56,7 +56,8 @@ class Config: music_path: str = os.getenv("XIAOMUSIC_MUSIC_PATH", "music") conf_path: str = os.getenv("XIAOMUSIC_CONF_PATH", None) hostname: str = os.getenv("XIAOMUSIC_HOSTNAME", "192.168.2.5") - port: int = int(os.getenv("XIAOMUSIC_PORT", "8090")) + port: int = int(os.getenv("XIAOMUSIC_PORT", "8090")) # 监听端口 + public_port: int = int(os.getenv("XIAOMUSIC_PUBLIC_PORT", 0)) # 歌曲访问端口 proxy: str | None = os.getenv("XIAOMUSIC_PROXY", None) search_prefix: str = os.getenv( "XIAOMUSIC_SEARCH", "bilisearch:" diff --git a/xiaomusic/static/setting.html b/xiaomusic/static/setting.html index e07676a..1987603 100644 --- a/xiaomusic/static/setting.html +++ b/xiaomusic/static/setting.html @@ -96,6 +96,9 @@ + + + diff --git a/xiaomusic/xiaomusic.py b/xiaomusic/xiaomusic.py index 5402ef7..63da384 100644 --- a/xiaomusic/xiaomusic.py +++ b/xiaomusic/xiaomusic.py @@ -105,6 +105,10 @@ class XiaoMusic: self.hostname = self.config.hostname self.port = self.config.port + self.public_port = self.config.public_port + if self.public_port == 0: + self.public_port = self.port + self.proxy = self.config.proxy self.search_prefix = self.config.search_prefix self.ffmpeg_location = self.config.ffmpeg_location @@ -456,7 +460,7 @@ class XiaoMusic: "get_music_url local music. name:%s, filename:%s", name, filename ) encoded_name = urllib.parse.quote(filename) - return f"http://{self.hostname}:{self.port}/{encoded_name}" + return f"http://{self.hostname}:{self.public_port}/{encoded_name}" # 递归获取目录下所有歌曲,生成随机播放列表 def _gen_all_music_list(self):