-
Notifications
You must be signed in to change notification settings - Fork 157
Releases: XCQ0607/lxserver
Releases · XCQ0607/lxserver
LX Music Sync Server v1.9.4
v1.9.4 (2026年06月10日)
🌟 新增功能
- 安全 VM 模式管理:
- VM 模式配置: 在系统设置的"权限与缓存限制"卡片中新增"允许 VM 模式运行脚本"开关,默认关闭,极大提升安全性。
- 强制管理员验证: 任何上传、导入或启用原生 VM 模式自定义源脚本的操作,都必须附带正确的管理员密码验证,彻底阻断了通过单条命令行(如 curl)进行越权上传和运行 VM 模式的攻击路径。
- 可视化 VM 标识: 自定义音源列表中,以原生 VM 模式运行的音源其后面会新增明显的
VM标签提示,更易于管理员进行安全审计。 - VM Settings
- 设置界面分块优化:
- 设置界面去英文: 移除设置界面中多余的英文标识。
- 分块设置布局: 对设置界面进行合理分块排版,让选项设置更加一目了然,结构层次更明晰。
- Setting Separation
- 播放失败处理策略优先级:
- 策略优先级自定义: 新增"播放失败策略优先级"设置,支持灵活配置失败处理逻辑的优先级(例如选择
切换平台 -> 降低音质 -> 下一首),以提供更好的自动纠错机制。 - Playback Failure Priority
- 策略优先级自定义: 新增"播放失败策略优先级"设置,支持灵活配置失败处理逻辑的优先级(例如选择
- 默认入口设置:
- 默认Tab自定义: 新增"默认入口"设置,支持自定义刷新或打开网页时默认显示的Tab页面(支持"搜索"、"歌单"、"排行榜"、"我的收藏(默认)"、"本地音乐")。
- 状态恢复逻辑适配: 即使开启了"自动恢复进度",系统在静默恢复播放状态时也绝不会强制跳转走用户设定的默认入口页面。
- Default Entry
- 群晖 SPK 分发:
🔧 修复与优化
- 仅下载模式优化 (#207):
- 选项文本更新: 仅下载模式下,单曲下载菜单选项由"缓存到服务器"改为"下载到服务器"。
- 忽略缓存重复下载: 在仅下载模式下,即使歌曲在
cache目录中已缓存,依旧允许用户继续进入下一步选择新的音质并下载到/music目录。 - Download Server
- 播放器自动换源优化:
- 检索优先级更新: 将播放失败自动换源的目标平台检索优先级调整为:
网易云 ➔ QQ ➔ 酷我 ➔ 酷狗 ➔ 咪咕。 - 解析源平台校验: 自动匹配时仅在当前已启用的自定义源所支持的平台中搜索,防止匹配到无法解析的音乐源。
- 无解跳过提示: 如果当前没有其他可解析的目标平台,则直接跳过跨平台搜索并弹出"未找到自定义源下支持的平台下的对应歌曲"提示。
- 检索优先级更新: 将播放失败自动换源的目标平台检索优先级调整为:
- 系统安全与路径过滤:
- 防路径穿越 (#223 @sebastiondev): 修复了 elFinder 文件管理器中
decode()方法的路径穿越风险,防止未授权访问或读取系统文件。
- 防路径穿越 (#223 @sebastiondev): 修复了 elFinder 文件管理器中
- 文件存储安全与健壮性:
- 本地歌曲与缓存性能优化 (#186):
- 歌曲封面缓存机制: 在服务端引入封面缓存。提取音频文件的 ID3 封面时,计算文件名 MD5 并将图片数据与 MIME 类型缓存至
cover_cache目录。后续请求直接读取缓存文件,彻底避免了重复读取并解析大音频文件标签的高开销操作,同时在删除歌曲缓存时自动清理关联封面缓存。 - 异步扫描与事件循环让渡: 将本地歌曲扫描(
syncCacheIndex)的递归文件遍历改写为异步 I/O 模式(使用fs.promises),并在遍历循环中加入setImmediate机制主动释放/让渡 Node.js 事件循环,避免了超大音乐库扫描时导致的服务器主线程阻塞,保证了高并发下的服务响应速度。 - 客户端浏览器缓存优化: 移除了本地音乐及缓存列表中封面图 URL 携带的
&t=Date.now()时间戳,允许浏览器正常对封面图片进行强缓存,显著降低了重复的 HTTP 缓存请求开销,使歌曲列表页面加载和滚动渲染更加丝滑。
- 歌曲封面缓存机制: 在服务端引入封面缓存。提取音频文件的 ID3 封面时,计算文件名 MD5 并将图片数据与 MIME 类型缓存至
- 前端样式重构:
Assets 16
- sha256:5e8fb9b266a1ae2cf26bf3142ebaf9a549e3b844fb9e64a2edda3bf8daf9e5f525 MB
2026年06月10日T16:28:38Z - sha256:00a3e0524b12c67ded8408ef61703bbb09ee0c91c3a2eaa9975e01fbd66357c899.2 MB
2026年06月10日T16:28:38Z - sha256:64687172dafa96dec3c0d695f3aaadbd567b0f4c72347f7646083cad1434ae8c130 MB
2026年06月10日T16:28:38Z - sha256:57c083a78893971bd8b14a286a7ea11990767f65d28ae1e704cd9e1411ad61f294.2 MB
2026年06月10日T16:28:38Z - sha256:5b3c66a97bd72e97cc68e60b8486e5a98b48e50cad398007d6c965ba5b9a008f123 MB
2026年06月10日T16:28:38Z - sha256:617cbf55a59522aa8b7b216604f04d778abefaf09e8bc9cdce91ecf8cd4b5840106 MB
2026年06月10日T16:28:38Z - sha256:1572ab6fcca9e5952b89d8697e0e775ec2350a750c1f046751d9144a70f59cd8106 MB
2026年06月10日T16:28:38Z - sha256:ebb44a7ed4241cce2864060e870c879fdcc957863e33fa339b56d933d9d772a9119 MB
2026年06月10日T16:28:38Z - sha256:89f3c6506960b90d1f512b0f2db47b883031ea40c375adcf18f0b91006b1210691.6 MB
2026年06月10日T16:28:38Z - sha256:cc8fb79f2926c11a36e10b725f9afae8f4ec1b498f333754bf5ad04b93290c1f91.7 MB
2026年06月10日T16:28:38Z -
2026年06月10日T16:25:13Z -
2026年06月10日T16:25:13Z - Loading
LX Music Sync Server v1.9.3
v1.9.3 (2026年05月06日)
🌟 新增功能
- 本地音乐子目录管理 (Categorization) (#150):
- 分类文件夹: 支持在
/data/music或/music目录中创建多级子目录,实现本地音乐的物理分类管理(注意:cache文件夹暂不支持创建子目录)。 - 批量分类: 批量操作栏新增"分类"功能,支持一键将选中的音乐及其关联歌词文件移动到目标文件夹,并自动同步索引。
- 路径自动识别: 优化扫描逻辑,支持深度递归搜索,自动识别并记录歌曲的
subPath物理路径。 - Categorization UI Move Result
- 分类文件夹: 支持在
- 搜索与分页增强 (#151):
- 自动回弹: 切换搜索分页时自动滚动回列表顶部。
- 跳转功能: 分页控件新增"跳转至指定页"功能。
- 登录状态查看与快捷入口 (#162): 增加登录状态查看面板及快捷操作入口。
- 歌曲歌词嵌入功能 (#163): 支持将歌词内容嵌入到歌曲文件的元数据标签中,方便本地文件管理。
- 筛选多选功能: 筛选面板支持多项选择,极大提升了歌曲过滤的灵活性。
🔧 修复与优化
- 系统存储升级 (#160): 引入 IndexedDB 替代 LocalStorage 存储核心列表数据,彻底解决了大规模歌单场景下 5MB 储存空间不足的问题。
- 播放与下载逻辑修复 (#164, #167):
- 浏览器下载修复: 修复了存在缓存歌曲后,无法使用浏览器下载的问题。
- 播放器接入修复: 修复了部分情况下无法正常进入网页播放器的问题。
- 播放器交互:
- 语境切换修复: 修复了播放搜索列表歌曲时,在开启"切换播放语境"设置的情况下仍会错误意外触发重置到默认歌单的 Bug。
- UI 与体验:
- 移动端深度优化: 优化了手机端部分弹出面板的触摸交互与布局表现。
- 界面展示优化: 进一步优化了部分 UI 组件的视觉表现。
Assets 16
LX Music Sync Server v1.9.2
@github-actions
github-actions
65dee31
This commit was created on GitHub.com and signed with GitHub’s verified signature.
v1.9.2 (2026年04月27日)
🌟 新增功能
- 搜索体验优化 (#143, #144):
- 步长调整: 搜索歌曲的分页加载步长从一次请求多页调整为单页步长(Step = 1)。
- 预连接拉取: 新增后台预拉取机制,当触及当前列表末尾时自动拉取后续页码,实现无缝滚动体验。
🔧 修复与优化
Assets 16
LX Music Sync Server v1.9.1
v1.9.1 (2026年04月22日)
🌟 新增功能
- 本地歌曲管理 (#114):
- 多目录扫描: 支持管理
/cache、/music、/data/cache及/data/music目录下的所有本地音乐文件。 - 自动特征刮削: 内置 Acoustid 与 Chromaprint 指纹识别引擎,支持对外部导入的无标签音乐进行全自动音乐特征识别与刮削。
- 元数据补全: 支持手动刮削、补全歌词、补全封面以及完善歌曲 ID3 标签信息(歌手、专辑等)。
- 本地搜索与播放: 完美集成到播放器中,支持将本地扫描到的歌曲作为歌单列表进行搜索、筛选及循环播放。
- Local Music Management
- 多目录扫描: 支持管理
- 下载与缓存优化 (#124):
- 自定义文件名: 在"仅下载模式"或执行服务器缓存时,新增支持自定义文件名命名规则,满足用户对本地库文件命名的个性化需求。
- Custom Filename
🔧 修复与优化
Assets 16
1 person reacted
LX Music Sync Server v1.9.0
v1.9.0 (2026年04月18日)
🌟 新增功能
- 搜索与发现:
- 歌手/专辑搜索 (#95): 新增搜索歌手和专辑功能,支持从 QQ 音乐和网易云音乐两大平台深度检索相关内容。
- Search Singer/Album
- 支持收藏歌手和专辑: 全面支持对歌手和专辑进行收藏/星标操作,方便用户构建个人音乐库。
- Star Singer/Album
- QQ 号歌单导入 (#110): 新增支持通过 QQ 号直接导入公开歌单功能,极大方便了歌单迁移与快速收藏。
- Import QQ Playlist
- 系统集成:
- Subsonic 功能深度适配: 适配 Subsonic 协议的大部分核心功能,进一步提升与第三方客户端的兼容性。
- Subsonic 1 Subsonic 2
- Subsonic 3 Subsonic 4
- 管理与限制:
- 公开音源列表隐藏: 开启"公开用户限制"后,针对未验证的公开用户将自动隐藏自定义源列表,进一步增强服务器隐私与安全性。
- Hide List
- 歌手信息源优先级: 支持在后台管理界面灵活配置Subsonic歌手详情、头像及简介的获取来源优先级(支持 TX 与 WY 平台)。
- 用户缓存深度限制 (#112):
- 管理员监控: 为管理员新增用户缓存限制开关。开启后可限制非管理员用户仅能使用核心三项功能(同步、歌词、播放)及"仅下载模式",确保系统稳定性。
- 空间配额统计: 统一统计每个用户在
data/cache(同步) 与cache(非同步) 目录下的总资产体积。 - 智能 LRU 清理机制: 当检测到用户缓存超出设定的空间限制时,系统将按文件修改时间 (mtime) 执行从旧到新的覆盖删除,直至容量回落到限制值的 95% 以内。
- Cache Restriction
- 修改用户名 (#117): 支持用户在管理界面自定义更改登录用户名,增强用户管理的灵活性。
- Rename User
- 界面交互:
- 音乐平台记忆功能 (#97): 增加音乐平台选择缓存功能。现在系统会自动记住用户上次选中的音乐平台(如网易/QQ),下次刷新网页时将自动恢复选择。
🔧 修复与优化
Assets 16
LX Music Sync Server v1.8.4
v1.8.4 (2026年04月12日)
🌟 新增功能
- 界面交互:
- 歌单折叠功能: 新增歌单详情页头部折叠功能,点击标题可展开/收起详细描述,优化列表空间利用。
- Playlist Collapse
- 系统集成:
- Subsonic 协议支持: 完美支持 Subsonic 系列协议,可配合各类第三方客户端连接服务器进行音乐播放与管理。
- Subsonic Support
- SMTC 显示歌词 (#85): 增加系统媒体传输控件 (SMTC) 显示歌词选项。开启后,在 Windows 系统媒体控制中心可直接同步查看当前歌词。
- SMTC Lyric
- 后端管理:
- 管理界面完全重构: 针对后端 UI 进行了重构与深度优化,视觉更现代,交互更流畅。
- Backend UI 1 Backend UI 2
- Backend UI 3 Backend UI 4
- 自定义入口功能 (#79): 后端增加自定义入口设置,允许通过指定路径访问服务端。
- 仅下载模式: 后端新增仅下载模式支持。开启后,歌曲及歌词将优先存储于
/music目录,并采用{歌名} - {歌手} - {音质}的简洁命名格式,同时增强了对新旧两种格式的兼容检索与去重逻辑。 - Only Download Mode
- 镜像分发:
- Docker 多架构支持: 新增对 32 位 (
arm/v7,386) 架构的 Docker 镜像支持。
- Docker 多架构支持: 新增对 32 位 (
🔧 修复与优化
- 移动端适配:
- 歌曲操作面板冲突修复(#83): 修复了手机端歌曲操作面板弹出时与歌曲标题显示的冲突问题。
- Mobile UI Conflict
- 显示与交互:
- 侧边栏封面遮挡修复 (#91): 修复了左侧歌曲封面在预览时遮挡大部分功能模块的问题。
- UI Overlay Fix
- 联想区域关闭逻辑 (#89): 修复了在搜索后联想词区域未能正常关闭的问题,优化搜索过程的流畅度。
Assets 16
2 people reacted
LX Music Sync Server v1.8.3
v1.8.3 (2026年04月06日)
🌟 新增功能
- 代理设置增强:
- 自定义播放代理 (#74): 新增播放音乐自定义代理设置,允许用户指定特定的代理服务器进行音频流中转。
- Playback Proxy
- MusicSDK 代理: 增加 MusicSDK 代理设置,支持热搜、歌单、排行榜等元数据获取通过代理中转,提升在特殊网络环境下的访问稳定性。
- MusicSDK Proxy
- 播放器功能:
- 批量收藏 (#68): 列表操作新增批量收藏功能,支持一次性将多首歌曲添加到收藏夹。
- Batch Favorite
🔧 修复与优化
- 性能与稳定性:
- 界面显示:
- 后端 UI 优化: 优化了后端管理控制台的 UI 细节显示,提升了视觉一致性与操作体验。
- Backend UI
- 平板竖屏适配: 安卓与ipad平板竖屏UI适配
Assets 16
LX Music Sync Server v1.8.2
v1.8.2 (2026年04月03日)
🌟 新增功能
- 安全与授权:
- Token 管理: 新增 Token 管理面板。用户可以生成具有自定义名称和过期时间的永久/长期访问 Token,供第三方应用或自动化脚本安全调用服务器 API。
- Token Management
- 接口权限增强: 全面增强了后端 API 接口的安全性,支持通过
X-User-Token进行持久化状态验证。
- 客户端模式:
- 客户端模式: 支持每次登陆本地账户都会模拟客户端向远程服务器发起同步请求
- Client Mode
- Client Mode1
🔧 修复与优化
- 播放体验:
- iOS 后台播放 (#61): 修复了 iOS 设备在锁屏或浏览器切到后台时音频自动暂停的问题,显著提升了移动端收听的稳定性。
- 系统底层:
- 存储路径修复 (#62): 修复了缓存目录问题。
- 性能优化:
- 网页加载提速: 进一步优化了前端资源加载逻辑,网页首屏加载速度显著提升。
- 界面显示:
- 修复部分模态框样式问题。
Assets 16
LX Music Sync Server v1.8.1
v1.8.1 (2026年04月01日)
🌟 新增功能
- 打包与分发:
- 多平台客户端: 完成了 Windows、macOS 和 Linux 三个主流平台的桌面客户端打包。现在支持在各大平台下载并使用本地客户端。
🔧 修复与优化
- UI 体验:
- 优化了前端播放器及后端管理控制台的部分 UI 交互与视觉表现。
- 修复了排行榜底部布局阴影及圆角显示不一致的问题。
- 系统更新:
- 修复了检查更新时,发布日志或版本信息显示异常的问题,确保能获取到最新的更新详情。
Assets 16
LX Music Sync Server v1.8.0
v1.8.0 (2026年03月25日)
🌟 新增功能
- Web 播放器:
- 音乐排行榜: 集成了多平台(网易云、QQ音乐、酷狗、酷我、咪咕)排行榜数据。
- Leaderboard
- 键盘快捷键增强: 新增点击 H 快速开关服务器缓存面板,点击 J 快速开关下载管理面板,并同步更新了设置页面的快捷键 UI 说明。
🔧 修复与优化
- Web 播放器:
- WebSocket 同步优化: 修复了 WebPlayer 作为客户端连接其他服务端或桌面端时,同步模式选择面板("覆盖" / "合并" 等)的选择意图未能正确应用视角的反转映射(
TRANS_MODE),导致服务端执行了相反的数据覆盖操作的问题。 - 同步状态持久化修复: 解决了连入远程端后页面刷新,由于未读取已有
authInfo引发重新配对其生成新客户端标识clientId的问题。现在服务端能成功识别刷新重连的设备,自动匹配并触发 MD5 数据层比对,消除了重复弹出的数据同步确认弹窗。 - 歌词缓存接口修复: 修复了歌词获取与缓存接口(
/api/music/lyric及/api/music/cache/lyric等)对不同版本客户端传参(如songmid,songId,id)的向下兼容问题,并新增了对带有音源前缀(如tx_...)ID 的自动去前缀处理。解决了因歌词解析下载失败、缓存查询报 400 缺失等问题。
- WebSocket 同步优化: 修复了 WebPlayer 作为客户端连接其他服务端或桌面端时,同步模式选择面板("覆盖" / "合并" 等)的选择意图未能正确应用视角的反转映射(
Assets 3
2 people reacted