How xcq0607/lxserver works
LX Music Sync Server combines a multi-source web music player with a user/device synchronization server and management console. The main user flow is browser search or playlist selection, server-side music-source resolution, then playback or download; separately, LX Music clients connect to synchronize user lists and dislikes. The README also documents Subsonic access, custom sources, shared public collections, and WebDAV backup. The graph uses documented capabilities and sampled API interactions; unsampled route wiring is represented only where the README supports it.
Main entry points: server.ts HTTP and WebSocket Server · app.js Web Player · index.ts User Data API · subsonic.ts Subsonic Interface
Components 22
Web Experiences
- Web Player
public/music/app.js - Playlist Browser
public/music/js/songlist_manager.js - Download Manager
public/music/js/download_manager.js - Admin Console
public/app.js
Music Services
- Music API Facade
src/modules/utils/musicSdk/index.js - Music Providers
src/modules/utils/musicSdk - Custom Sources
src/server/userApi.ts - Custom Music Library
src/server/customMusicManager.ts - File and Lyric Cache
src/server/fileCache.ts - Download and Remaster Queues
src/server/serverDownloadQueue.ts
Sync and Users
- User Data API
src/user/index.ts - Playlist Sync
src/modules/list/index.ts - Dislike Sync
src/modules/dislike/index.ts - User Data
src/user/data.ts
External Interfaces
- HTTP and WebSocket Server
src/server/server.ts - WebDAV Backup
src/utils/webdavSync.ts - Subsonic Interface
src/server/subsonic.ts
Other components
- Listener
- LX Music Client
- Subsonic Client
- Music Platforms
- WebDAV Service
Connections 25
- Listener → Web Player: uses
- Web Player → Playlist Browser: opens playlists
- Playlist Browser → HTTP and WebSocket Server: requests lists
- Web Player → HTTP and WebSocket Server: requests music
- Download Manager → HTTP and WebSocket Server: downloads tracks
- HTTP and WebSocket Server → Music API Facade: resolves music
- Music API Facade → Music Providers: dispatches requests
- Music Providers → Music Platforms: queries platforms
- HTTP and WebSocket Server → Custom Sources: loads sources
- HTTP and WebSocket Server → Custom Music Library: serves local tracks
- HTTP and WebSocket Server → File and Lyric Cache: reads and writes cache
- HTTP and WebSocket Server → Download and Remaster Queues: dispatches downloads
- Listener → Admin Console: manages settings
- Admin Console → HTTP and WebSocket Server: calls management API
- LX Music Client → HTTP and WebSocket Server: connects and syncs
- HTTP and WebSocket Server → User Data API: handles user data
- User Data API → Playlist Sync: manages playlists
- User Data API → Dislike Sync: manages dislikes
- Playlist Sync → User Data: persists user state
- Dislike Sync → User Data: persists user state
- HTTP and WebSocket Server → WebDAV Backup: starts backups
- WebDAV Backup → WebDAV Service: backs up data
- Subsonic Client → Subsonic Interface: uses protocol
- Subsonic Interface → Music API Facade: searches online music
- Subsonic Interface → File and Lyric Cache: serves cached media