https://github.com/crayonlu/down-music
一个帮助你下载各大音乐平台的音乐资源的播放器
https://github.com/crayonlu/down-music
download multi-source music
Last synced: about 2 months ago
JSON representation
一个帮助你下载各大音乐平台的音乐资源的播放器
- Host: GitHub
- URL: https://github.com/crayonlu/down-music
- Owner: crayonlu
- License: mit
- Created: 2025-04-06T12:14:51.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-27T11:54:06.000Z (about 2 months ago)
- Last Synced: 2026-03-27T22:55:42.142Z (about 2 months ago)
- Topics: download, multi-source, music
- Language: Vue
- Homepage: https://music.cyncyn.xyz
- Size: 10.6 MB
- Stars: 21
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.en.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎶down-music
English | [简体中文](./README.md)
A web-based music player that integrates with multiple music platforms for searching, streaming, and downloading songs.
## Features
- Multi-platform music search (NetEase Cloud Music, KuGou Music)
- Real-time audio playback with visualizer
- Lyrics display with synchronized scrolling
- Playlist management
- Song download functionality
- Multiple playback modes (sequence, loop, random)
- Dark/Light theme support
- Responsive design for mobile and desktop
## Tech Stack
- Vue 3 + TypeScript
- Vite
- Pinia (State Management)
- Vue Router
- SCSS
## Project Setup
```sh
pnpm install
```
### Development
Start the frontend:
```sh
pnpm dev
```
Start the backend APIs:
```sh
cd backend/NeteaseCloudMusicApi
bun start
cd backend/KuGouMusicApi
bun start
```
### Production Build
```sh
pnpm build
```
### Self-host
Pull the pre-built image from the registry and run it:
```sh
# Pull pre-built image
docker pull ghcr.io/crayonlu/down-music:main
# Run container (expose port 2999 -> container's 80)
docker run -d --name down-music-app -p 2999:80 ghcr.io/crayonlu/down-music:main
```
## API Backends
This project requires two music API backends:
- [NeteaseCloudMusicApi](./backend/NeteaseCloudMusicApi) - NetEase Cloud Music API
- [KuGouMusicApi](./backend/KuGouMusicApi) - KuGou Music API
Both APIs need to be running for full functionality.
## Media proxy configuration
- `VITE_MEDIA_PROXY_URL`: It is recommended to set to the full proxy URL in production environment (for example `https://api.example.com/proxy`)
- `VITE_MEDIA_PROXY_PREFIX`: The proxy prefix used when the front-end is deployed at a specific path prefix
- `VITE_PROXY_IMAGES=false|true`: Whether to enable image proxy, the default is `false` (do not proxy images). When set to `true`, the frontend will replace the image link with the proxy URL.
Enable image proxy locally during development: write `VITE_PROXY_IMAGES=true` to `.env` or copy it to `.env` in `env.example` and modify it.