Sign inSign up

geelonn/lxserver

By geelonn

•Updated 6 months ago

Image
9

50K+

geelonn/lxserver repository overview

⁠🎵 lxserver:全能型音乐同步与播放中心

本项目内置了一个功能强大的 Web 播放器,旨在为你提供跨平台的极致听歌体验,不仅能听,更能管。


⁠✨ Web 播放器核心特性

⁠🎨 极致视觉体验
  • 现代化界面:采用清爽的 UI 设计,深度适配深色模式,丝滑的过渡动画。
  • 多套主题定制:内置“森之韵”、“深海鲨”、“暖阳意”、“绯红月”等多种风格,支持随系统自动切换主题色。
  • 歌词卡片分享:一键生成精美歌词海报。支持横/竖/方版比例切换,背景支持深浅色及专辑封面色提取,支持旋转与缩放调整。
⁠🔍 全方位搜索与聚合
  • 多源聚合搜索:打破平台壁垒,实现各大音乐平台资源的一键检索。
  • 多平台歌单:支持导入并浏览外部歌单,提供详尽的歌单面板(封面、作者、简介等)。
⁠⚙️ 强悍的播放控制
  • 颗粒化管理:支持音质选择、播放倍数、歌词显示、睡眠定时及多种播放模式。
  • 智能队列:播放队列支持拖拽排序、批量管理,并能快速精准定位当前播放项。
  • 自动化缓存系统:内置全自动缓存机制,弱网环境下也能流畅播放。通过专门的缓存控制面板,你可以对歌词、链接及音频文件进行颗粒化管理。
⁠🛠️ 扩展与同步
  • 自定义源管理:支持导入自定义脚本,无限扩展你的音乐宝库。
  • 云端备份:支持账号设置自动备份,确保你的偏好设置永不丢失。

⁠📂 本地音乐管理 (v2 增强)

如果你希望将 Web 播放器作为个人音乐服务器,本项目提供了完善的本地化支持。

⁠1. 自动归档系统

启用本地下载后,歌曲将自动按照以下路径规则归档: ./music/<专辑艺术家>/<专辑>/<歌曲名>.mp3

  • 补全规则:单艺术家自动识别;多艺术家自动归档至 群星 (Various Artists)。
⁠2. 高性能索引 (SQLite)

针对大规模曲库(1.5w+),v2 版本引入了 SQLite 索引引擎,彻底解决前端全量扫描导致的性能抖动。

  • 服务端分页:支持大规模曲库的快速筛选与排序。
  • 去重下载:下载前自动执行 existence-check,避免重复存储。

常用索引接口:

  • GET /api/music/local-music/list:获取曲库列表。
  • POST /api/music/local-music/reindex:手动重建索引。

⁠🔒 安全与访问

  • 管理后台:访问 http://your-ip:9527 进行系统配置(默认账号密码:admin password)。
  • 多维度代理:内置代理配置功能,确保在复杂网络环境下依然拥有稳定的拉取成功率。

⁠🚀 快速部署

本项目基于 Node.js 环境开发,推荐使用 Docker 进行一键部署。

⁠方式一:使用 Docker Run
docker run -d \
  -p 9527:9527 \
  -v $(pwd)/data:/server/data \
  -v $(pwd)/logs:/server/logs \
  -v $(pwd)/cache:/server/cache \
  --name lx-sync-server \
  --restart unless-stopped \
  geelonn/lxserver:latest
⁠方式二:使用 Docker Compose (推荐)

新建 docker-compose.yml 文件:

services:
  lx-sync-server:
    image: geelonn/lxserver:latest
    container_name: lx-sync-server
    restart: unless-stopped
    ports:
      - "9527:9527"
    volumes:
      - ./data:/server/data
      - ./logs:/server/logs
      - ./cache:/server/cache
      - ./downloads:/server/downloads
      - ./music:/server/music
    environment:
      - NODE_ENV=production
      - ENABLE_LOCAL_DOWNLOAD=true   # 开启本地下载功能
      - DOWNLOAD_PATH=/server/downloads
      - MUSIC_PATH=/server/music

⁠🏗️ 技术架构

本项目采用前后端分离架构,保持轻量与高效:

  • Backend: Node.js (Express) + WebSocket + SQLite (索引)。
  • Console: Vanilla JS,负责用户管理与数据同步。
  • WebPlayer: Vanilla JS,深度优化的移动端适配,接近原生 App 体验。

⁠🔗 相关链接

Tag summary

Content type

Image

Digest

sha256:b72228fff…

Size

137.5 MB

Last updated

6 months ago

docker pull geelonn/lxserver