
UnblockNeteaseMusic
A local proxy that swaps greyed-out Netease Cloud Music songs for matches from other music services.
- Stars
- 17.3k
- Forks
- 2.4k
- Licence
- MIT
- Language
- JavaScript
- Last update
- 3.4 years ago
- Type
- App
No commits in over a year — check for forks or alternatives before adopting.
What it is
Netease Cloud Music sometimes shows songs as unavailable (greyed out), often due to licensing or region. This project runs a local proxy server that redirects those song requests to matching tracks from other platforms such as QQ, Kuwo, Kugou, and Migu. It can also act as a system proxy, optionally with a region-related IP setting, so the official client can play those songs.
- Run the proxy locally with npx and point the Netease client's proxy settings at it
- Use strict mode (-s) with a PAC file so only Netease domains are proxied
- Call the match function from a Node.js script to find a matching song on other platforms
- Set a source priority order with the -o option
Great for
- People who use the Netease Cloud Music desktop or mobile client and hit greyed-out tracks
- Users comfortable editing hosts files or setting a system proxy
- Developers who want to call the matching function from Node.js as a library
Not ideal for
- Anyone wanting a supported, official service: the README says it is a reverse-engineering workaround and offers no public demo
- People who want to expose the proxy to the internet: the README strongly warns against this without strict mode, and says the password option does not currently work
- Users who need a no-setup experience, since several clients require self-signed certificates or extra steps
How to get it
- 1
Install with a package manager
You'll need: Node.js (version not stated in the README excerpt) · Docker (optional, alternative install)
Run with npx
npx @nondanee/unblockneteasemusicRun with Docker
docker run nondanee/unblockneteasemusic - 2
Run it
- Start the server with npx or Docker, using -p 80 if you plan to edit the hosts file
- Either add the two music.163.com hosts entries pointing to the server IP, or set a proxy to the server address and port
- For a local run, specify the Netease server IP with -f or use an upstream proxy with -u to avoid a request loop
- Open the Netease client and play a previously greyed-out song
- 3
Get the most out of it
- Use -s strict mode and a PAC file (http://<server>:<port>/proxy.pac) to limit what gets proxied
- Choose matching sources with -o, since the README says only sources one, five and six are enabled by default
- Use -u to route upstream requests through another proxy if your region blocks Netease
- Use -e to set a public endpoint if the proxy is reached from another device
- Read the README's per-platform notes, such as the UWP loopback step and the Android hosts limitation
Downloads
Strengths
- Widely starred and known in its niche (17k+ stars on GitHub)
- Installs through npm or Docker with a short command
- Supports several clients and proxy methods, including PAC files and hosts edits
Trade-offs
- The README notes some clients (new Linux and macOS versions) can no longer be downgraded to HTTP, and some need self-signed certificates
- Last code push was June 2023, so it may not keep up with client changes
- Works by intercepting traffic, which carries security and terms-of-service risks the README itself flags
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.