网易云音乐解锁无版权与vip,get了

网易云音乐解锁无版权与vip,get了

为什么选择网易云做解锁?


网易云音乐可以说是国内存量歌曲最多的音乐客户端了,口碑也是一流。但由于音乐版权归属问题,原有的大量歌曲被官方封禁,不能播放。这篇教程就是教你如何解锁所有网易云歌曲。(技术测试请勿商用)

技术特性


  • 使用网易云旧链 / QQ / 虾米 / 百度 / 酷狗 / 酷我 / 咕咪 / JOOX 音源替换变灰歌曲链接 (默认仅启用前四)。
  • 为请求增加 X-Real-IP 参数解锁海外限制,支持指定网易云服务器 IP,支持设置上游 HTTP / HTTPS 代理。
  • 完整的流量代理功能 (HTTP / HTTPS),可直接作为系统代理 (同时支持 PAC)。

感谢nondanee大神的项目
项目地址:https://github.com/nondanee/UnblockNeteaseMusic


自己本地使用,可在本地电脑搭建,无延迟问题

一、window下的搭建

1、下载源码

UnblockNeteaseMusic

1
下载后解压zip文件,建议放到 C 盘的目录,不要放到平时安装程序的目录,以免命令行没权限进去导致使用失败。

本教程是放在了C盘根目录:C:\UnblockNeteaseMusic-master
请记住这个安装路径,下面会用到。

2、下载Node.js,并安装(Node.js作为执行程序的环境)

按系统类型选择对应的Node.js安装包:
下载 Node.js
下载后,双击默认安装即可。

3、查看获取本机访问网易云音乐的IP地址

win + R组合键打开“运行”,输入cmd,打开命令行窗口;
在命令行窗口输入ping music.163.com

查看获取本机访问网易云音乐的IP地址

上图所示,记录下红框处的IP地址,后面会用到。

4、制作bat批处理启动脚本,用来启动解锁程序

用记事本新建一个文档,将下面3行代码复制进去,保存在C:\UnblockNeteaseMusic-master(上面记录的路径)下,文档名随便取,后缀改成.bat,教程这里是保存为FinghinMusic.bat了。

1
2
3
@echo off
cd C:\UnblockNeteaseMusic-master
node app.js -p 2333 -f 59.111.160.197

第二行 cd 后面的路径,修改为 UnblockNeteaseMusic 的路径(看上面步骤1);
第三行代码里“2333”为代理端口,可以自定义(建议端口范围2001-65535);
第三行结尾的 IP 地址(-f 后),改为自己 ping 到的本机访问网易云音乐IP地址(看步骤3)。

5、运行.bat启动脚本

右键用管理员运行FinghinMusic.bat脚本,启动解锁程序。如下图所示:

启动解锁程序脚本的命令窗口

命令窗口不能关闭,关闭了解锁服务就停止了。若需要开机即运行在后台看下面步骤7。

6、打开网易云音乐客户端,进行代理设置

下图所示,打开网易云音乐客户端的“设置”页面,在“工具”里,点选自定义代理,在下拉框里选择Http代理,在服务器里填127.0.0.1,端口填步骤4里自己定义的代理端口(教程这里是2333)。

客户端的代理设置界面

7、将bat启动脚本隐藏在后台并开机启动

用记事本新建一个文档,把下面两条代码复制进去,保存路径与.bat文件一致,在C:\UnblockNeteaseMusic-master下。文档名随意取,后缀改成.vbs,本教程保存为FinghinMusic.vbs了。

1
2
Set ws = CreateObject("Wscript.Shell")  
ws.run "cmd /c FinghinMusic.bat",vbhide

上面第二行代码中的FinghinMusic.bat是需要启动的.bat文件,文件名请改成自己的。

开机启动

C:\UnblockNeteaseMusic-master目录下右键FinghinMusic.vbs文件,选择创建快捷方式,然后将创建的快捷方式复制或者剪切到自启文件夹里。(该文件夹路径为C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp)
打开自启文件夹: win + R组合键打开“运行”,输入shell:startup,即可打开系统自启动文件夹。


二、在mac下的搭建

1、安装git、node.js

解锁脚本通过git拉取,mac下安装git是基础,不会的请自行google。

到node.js官网首页下载LTS版本:https://nodejs.org/zh-cn/,默认安装即可。安装完后在终端窗口输入node -v可验证node.js版本。

2、通过git拉取解锁脚本代码到本地

git拉取解锁脚本代码到本地:

1
git clone https://github.com/nondanee/UnblockNeteaseMusic.git

3、查看获取本机访问网易云音乐的IP地址

在终端窗口输入ping music.163.com,记录下本地访问网易云音乐的节点IP,下面会用到。

4、配置本机hosts

在终端窗口输入sudo vi /etc/hosts,在hosts文件最底部加入下面两行代码:

1
2
127.0.0.1 music.163.com
127.0.0.1 interface.music.163.com

5、自签CA证书代理https流量

由于mac新版网易云音乐需要用https请求流量,可以进行自签CA证书来代理https。项目脚本根目录里自带了一个CA证书,若不自己签发,则可以直接将CA证书文件 ca.crt 安装到mac系统。
安装证书添加本机信任步骤:

  1. 打开启动台-其他-钥匙串访问;
  2. 将ca.crt文件拉拽到钥匙串访问窗口;
  3. 标记对应的证书文件受此帐户信任。
    成功后如下图所示:

添加ca证书并设置信任

若选择自己签发证书,可借助OpenSSL签发:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 生成 CA 私钥
openssl genrsa -out ca.key 2048

# 生成 CA 证书 ("YOURNAME" 处填上你自己的名字)
openssl req -x509 -new -nodes -key ca.key -sha256 -days 1825 -out ca.crt -subj "/C=CN/CN=UnblockNeteaseMusic Root CA/O=YOURNAME"

# 生成服务器私钥
openssl genrsa -out server.key 2048

# 生成证书签发请求
openssl req -new -sha256 -key server.key -out server.csr -subj "/C=CN/L=Hangzhou/O=NetEase (Hangzhou) Network Co., Ltd/OU=IT Dept./CN=*.music.163.com"

# 使用 CA 签发服务器证书
openssl x509 -req -extfile <(printf "subjectAltName=DNS:music.163.com,DNS:*.music.163.com") -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt

上述步骤完成后

将服务器私钥 (server.key) 和服务器证书 (server.crt) 拷贝到仓库中覆盖原有文件,再将 CA 证书 (ca.crt) 安装到mac系统。

6、启动脚本

打开终端,cd进入UnblockNeteaseMusic脚本目录,执行下面命令,开始启动解锁脚本。

1
sudo node app.js -p 80:443 -f 59.111.181.xx

  • 注意:在启动命令中增加 https 监听端口,格式为-p <http port>:<https port>,这里是使用本机的hosts模式的,所以为-p 80:443-f后是上面第3步的本地访问网易云音乐的节点IP
7、打开网易云音乐客户端

重新启动网易云音乐客户端(若后台已经打开客户端需要先退出)即可,这时发现原来的无版权音乐歌曲已经可以播放了,独家vip资源也可以播放。


若要给其他人使用或者在移动客户端使用,则需要搭建解锁代理服务器

部署解锁代理服务器,并用守护进程开机启动服务

1、安装Node.js、git

linux服务器安装Node.js,执行下面命令。

1
2
3
4
5
6
7
#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt install -y nodejs git

#CentOS系统
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs git -y

2、下载UnblockNeteaseMusic脚本并启动

先用git拉取UnblockNeteaseMusic网易云音乐解锁脚本,再启动脚本解锁。

1
2
3
git clone https://github.com/nondanee/UnblockNeteaseMusic.git
cd UnblockNeteaseMusic
node app.js -p 16666:28888

  • 上面第三行代码中 -p 16666:28888 的格式是增加了 https 监听端口,一般格式为-p <http port>:<https port>,主要监听的是<http port>,请改为自己的端口,后面的<https port>随便设置另一个不同的端口即可。
  • 因为解锁脚本访问的流量是http协议的,所以<http port>对应的端口一定要记得在服务器防火墙放行,而<https port>端口可以不放行。
3、用systemd守护进程启动脚本并设置脚本开机自启动

可以用systemd守护进程来启动脚本,脚本放后台运行。适用于 CentOS 7、Debian 8+、Ubuntu 16+

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cat > /etc/systemd/system/UnblockNeteaseMusic.service <<EOF
#!/bin/sh
[Unit]
Description=UnblockNeteaseMusic
After=network.target
Wants=network.target

[Service]
Type=simple
PIDFile=/var/run/UnblockNeteaseMusic.pid
WorkingDirectory=/root/UnblockNeteaseMusic
ExecStart=/usr/bin/node /root/UnblockNeteaseMusic/app.js -p 16666:28888
RestartPreventExitStatus=23
Restart=always

[Install]
WantedBy=multi-user.target
EOF

  • 注意:
  • ‘ExecStart=’这行代码里/usr/bin/node是自己服务器系统node的安装路径,可以通过which node命令来找到。而root/UnblockNeteaseMusic/app.js则是启动脚本的绝对路径

这里是用systemd来运行进程,运行在后台。如果需要修改启动进程的参数,通过vi编辑UnblockNeteaseMusic.service配置文件。编辑后需要重载所有修改过的配置文件,再重新启动服务进程即可。

1
2
3
4
5
6
# 重载所有修改过的配置文件
$ sudo systemctl daemon-reload
# 重启一个服务
$ sudo systemctl restart UnblockNeteaseMusic.service
# 显示单个服务的状态
$ sysystemctl status UnblockNeteaseMusic.service

设置开机自启:

1
2
sudo systemctl start UnblockNeteaseMusic
sudo systemctl enable UnblockNeteaseMusic

3+、不支持systemd的系统,可以直接使用rc.local

有些系统不支持systemd,例如CentOS 6,Debian 7等,要使用守护进程将进程放在后台运行,可以使用系统自带的rc.local命令:

1
2
3
#路径和命令自行修改
sed -i '/exit/d' /etc/rc.local
echo "cd /root/UnblockNeteaseMusic && node app.js -p 16666:28888" >> /etc/rc.local


各端设置使用服务器的解锁代理服务

Android:
连接wlan下:

1
2
3
4
5
6
#设置方法
手机设置 > WLAN > 网络设置 > 高级选项 > 代理
一般安卓手机设置代理类型的时候分2种,手动代理和自动代理,有的手机可能只有手动代理,大致设置如下:
手动代理 > 只需要填上你的服务器IP和端口就可以了。
自动代理 > 填上你的PAC地址就行了,地址:http://<Server Name:PORT>/proxy.pac,修改为你的ip、运行端口。
建议优先使用手动代理

使用数据流量下:
配合 Xndroid 等工具来使用。
app下载地址:
Xndroid
大致设置如下:

1
打开Xndroid > 点击左侧Fqrouter > 添加个人代理(只需要填服务器ip和端口即可) > 代理列表配置项(将高级设置里面全部关掉) > 软件右上角代理设置(只代理网易云音乐)

  • 设置完成后你还可以在右上角启动设置中,关掉xx-net和fqrouter里面的所有启动项,这样开启软件速度也会快很多。

IOS:
需要借助 Shadowrocket 这类的代理工具,就 shadowrocket 举例说明。按下面的步骤图来进行设置。

1
2
#设置方法
打开小火箭 > 添加节点(类型选择HTTP,输入你的ip和端口,随便备注下,右上角完成即可) > 编辑配置 > 添加规则(类型选择USER-AGENT,选项选择网易云,用户代理输入NeteaseMusic*),保存即可。

Shadowrocket设置http代理

Windows:

1
2
3
4
#设置方法
网易云客户端设置 > 工具 > 自定义代理 > HTTP代理

这里只需要填上你的服务器ip和端口,保存即可。

macOS:
需要自签CA证书代理https流量来降级成http流量,具体方法上文中的“在mac下的搭建”步骤。

1
2
#设置方法
系统偏好设置 > 网络 > 高级 > 代理