Skip to content

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
Step-by-step guide: how to use UnblockNeteaseMusicInstall, first run, examples, tips and FAQs

How to get it

  1. 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/unblockneteasemusic

    Run with Docker

    docker run nondanee/unblockneteasemusic
  2. 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. 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.