Decrypt NetEase Cloud Music .ncm files — Web UI, Local & Server modes, cross-platform.
Decrypt .ncm files from NetEase Cloud Music into standard mp3 / flac / m4a formats with automatic metadata. Supports local mode (single-user, drag & drop) and server mode (multi-user, login, auth).
- Local & Server modes — Single-user desktop or multi-user server with login
- Web UI — Open in browser, drag & drop to decrypt
- Multi-language UI — English, 中文 (Simplified/Traditional), 한국어, 日本語
- User management — Create & manage users in server mode
- Config persistence — Settings survive restarts
- Batch parallel — Multi-worker concurrent processing
- Auto format detect — mp3 / flac / m4a / wav / ogg / aiff / ape
- Metadata & cover art — ID3v2 (mp3), Vorbis Comment (flac), cover art
- Skip cache — Already decrypted files are skipped automatically
- Cross-platform — Linux / macOS / Windows / Termux, amd64 + arm64
npm install -g ncm-decrypt-server
ncm-decryptDownload from GitHub Releases:
| Platform | File |
|---|---|
| Linux x86_64 | ncm-decrypt-v2.0.0-linux-amd64 |
| Linux ARM64 | ncm-decrypt-v2.0.0-linux-arm64 |
| macOS Intel | ncm-decrypt-v2.0.0-darwin-amd64 |
| macOS Apple Silicon | ncm-decrypt-v2.0.0-darwin-arm64 |
| Windows x86_64 | ncm-decrypt-v2.0.0-windows-amd64.exe |
| Windows ARM64 | ncm-decrypt-v2.0.0-windows-arm64.exe |
| Termux (Android) | ncm-decrypt-v2.0.0-termux-arm64 |
# Linux / macOS
chmod +x ncm-decrypt-v2.0.0-linux-amd64
./ncm-decrypt-v2.0.0-linux-amd64
# Windows
ncm-decrypt-v2.0.0-windows-amd64.exegit clone https://github.com/w32394045-dotcom/ncm-decrypt.git
cd ncm-decrypt
go build -ldflags="-s -w" -o ncm-decrypt .
./ncm-decryptOpen http://localhost:8080 in your browser after starting.
| Mode | Command | Description |
|---|---|---|
| Local (default) | ncm-decrypt |
Single-user, no login required |
| Server | ncm-decrypt -mode server |
Multi-user with login, user management in UI |
ncm-decrypt -port 8080 -dir ./ncm_files -output ./output -workers 4 -mode local| Flag | Default | Description |
|---|---|---|
-port |
8080 |
Web server port |
-host |
0.0.0.0 |
Bind address |
-dir |
. |
NCM file directory |
-output |
./output |
Output directory |
-workers |
3 |
Concurrent workers |
-mode |
local |
Run mode: local or server |
Run on Termux, then other devices on the same Wi-Fi can access http://<phone-ip>:8080.
- Language: Go 1.26
- Frontend: Embedded single-page HTML (zero external dependencies)
- Crypto: AES-128-ECB + RC4 (reverse-engineered NetEase scheme)
- Metadata: ID3v2.3 (mp3) / Vorbis Comment + Picture Block (flac)
| Channel | URL |
|---|---|
| GitHub | https://github.com/w32394045-dotcom/ncm-decrypt |
| npm | https://www.npmjs.com/package/ncm-decrypt-server |
MIT