源码地址: https://github.com/lxbwolf/UnblockNeteaseMusic
原理: 使用其它音乐平台的歌曲替换网易云音乐无版权歌曲。 目前备用的平台有:网易云旧链 、QQ 、 虾米 、 百度 、酷狗 、酷我 、咕咪 、JOOX 音源替换变灰歌曲链接 (默认仅启用前四)。
1、打开网易云音乐客户端的时候,客户端不再直接访问网易云服务器而是访问UnblockNeteaseMusic服务。
2、UnblockNeteaseMusic收到客户端的请求后,透传给网易云音乐的服务器,并再拿到相关的数据后进行检查,如果发现其中的歌曲没有版权,那么去其它平台查询此歌曲的相关信息。
3、将查到的数据返回给网易云客户端。
4、至此完成网易云音乐的解锁。
整个流程要解决两个重要的问题。
核心工作: 1、将UnblockNeteaseMusic部署到服务器。可以是本地服务器也可以是云服务器。
2、为网易云客户端设置代理,以达到访问UnblockNeteaseMusic项目的目的。
部署服务部分
- 安装node.js
git clone https://github.com/lxbwolf/UnblockNeteaseMusic.git
- 在
UnblockNeteaseMusic
目录下, 执行npx @nondanee/unblockneteasemusic(官方)
或者 用docker 启动docker run nondanee/unblockneteasemusic && docker-compose up
, 还有另一种方式: 在UnblockNeteaseMusic
目录下, 执行node app.js -p 8080:443 -f 59.111.160.195
其中59.111.160.195
这个地址是通过ping music.163.com
测出来的
正常情况下, 服务端启动进程, 客户端配置好IP Port, 就可以用了,
此时服务端接收到请求会有log, 如果服务端log一直卡在
HTTP Server running @ http://0.0.0.0:8080
HTTPS Server running @ https://0.0.0.0:443
说明客户端的请求并没有打到服务器上, 可能原因是8080和443端口还没有开启
配置参数
$ unblockneteasemusic -h
usage: unblockneteasemusic [-v] [-p port] [-a address] [-u url] [-f host]
[-o source [source ...]] [-t token] [-e url] [-s]
[-h]
optional arguments:
-v, --version output the version number
-p port, --port port specify server port
-a address, --address address specify server host
-u url, --proxy-url url request through upstream proxy
-f host, --force-host host force the netease server ip
-o source [source ...], --match-order source [source ...]
set priority of sources
-t token, --token token set up proxy authentication
-e url, --endpoint url replace virtual endpoint with public host
-s, --strict enable proxy limitation
-h, --help output usage information
客户端配置
源码中的README
有详细说明
平台 | 基础设置 |
---|---|
Windows | 设置 > 工具 > 自定义代理 (客户端内) |
UWP | Windows 设置 > 网络和 Internet > 代理 |
Linux | 系统设置 > 网络 > 网络代理 |
macOS | 系统偏好设置 > 网络 > 高级 > 代理 |
Android | WLAN > 修改网络 > 高级选项 > 代理 |
iOS | 无线局域网 > HTTP 代理 > 配置代理 |
Android 手机详细配置:
设置 > WLAN > 修改网络 > 高级选项 > 代理
IP: 106.13.86.198
Port: 8080
破解前效果
破解后效果