macOS、iOS、Windows 解锁网易云音乐灰色歌曲
废话不多说,先上效果图!
感谢大神们的开发,本文仅记录自己的配置过程,大部分方法都来自项目的 issue
项目地址:https://github.com/nondanee/UnblockNeteaseMusic
感谢、感谢、感谢
直接开始!
使用 Docker 部署
https://hub.docker.com/r/nondanee/unblockneteasemusic/
1
|
docker pull nondanee/unblockneteasemusic |
使用自签证书
1
2 3 4 5 6 7 |
# 注意替换下方 -p 后的端口,-v 后的路径docker run --name unblockneteasemusic \ -p 2333:2333 -p 2334:2334 \ -v /path/to/server.crt:/usr/src/app/server.crt \ -v /path/to/server.key:/usr/src/app/server.key \ -d nondanee/unblockneteasemusic \ -s -e https://自己的域名 -p 2333:2334 |
使用自带证书
1
2 3 4 5 |
# 注意替换下方 -p 后的端口,-v 后的路径docker run --name unblockneteasemusic \ -p 2333:2333 -p 2334:2334 \ -d nondanee/unblockneteasemusic \ -s -e https://自己的域名 -p 2333:2334 |
旧:以下为手动配置
服务端设置
原服务支持在本地运行,为方便我部署在服务器端,使用阿里云的轻量应用服务器,CentOS 7
准备一个域名,并签发 SSL 证书
安装 NodeJS:https://github.com/nodesource/distributions/blob/master/README.md
在 CentOS 7 中安装 NodeJS 13.x
1
2 3 4 5 6 7 |
yum install gcc-c++ make # root 用户curl -sL https://rpm.nodesource.com/setup_13.x | bash - # 非 root 用户curl -sL https://rpm.nodesource.com/setup_13.x | sudo bash - |
在服务器端 clone 项目
1
|
git clone https://github.com/nondanee/UnblockNeteaseMusic.git |
—————- 可选步骤 —————-
在本地生成自签名证书 (此步可省略,使用作者提供的证书亦可)
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) 拷贝到远程服务器仓库中覆盖原有文件
—————- 可选步骤结束 —————-
为解决 iOS 能够使用,这里使用自己的域名进行转发,如没有域名则参考官方信任自签发证书的方法,这里不展开描述:iOS 食用指南
配置 Nginx 服务,在 Nginx 配置后加入如下配置
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
server { listen 443 ssl http2; server_name xxx.xxx.com; # 准备的域名 ssl_certificate /root/UnblockNeteaseMusic/xxx.xxx.xxx.crt; # SSL 证书路径 ssl_certificate_key /root/UnblockNeteaseMusic/xxx.xxx.xxx.key; # SSL 密钥路径 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:2333; # 代理到 Unblock 服务地址,端口可自行修改 }} |
完事后测试并重载 Nginx 配置
1
2 3 4 5 |
$ nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful $ nginx -s reload |
使用 service 管理服务,新建 /etc/systemd/system/UnblockNeteaseMusic.service
写入如下内容
1
2 3 4 5 6 7 8 9 10 11 12 13 |
[Unit]Description=UnblockNeteaseMusic [Service]Type=simpleExecStart=/usr/bin/node /root/UnblockNeteaseMusic/app.js -s -e https://自己的域名 -p 2333:2334WorkingDirectory=/root/UnblockNeteaseMusicRestart=alwaysRestartSec=10User=root [Install]WantedBy=multi-user.target |
注意:
ExecStart
和WorkingDirectory
根据情况改动ExecStart
中-e
后接已经签发证书的域名,记得为https
。这一参数的原因详见:iOS 配置经验分享ExecStart
中-s
表示启用严格模式,仅允许网易云相关的通过,防止 HTTP 代理滥用,可选ExecStart
中-p
后接端口,随意设置,如 2333:2334,第一个端口保持和 nginx 配置中设置的一致- 记得在阿里云控制台防火墙中放行第一个端口 2333
启动服务
1
2 |
systemctl daemon-reloadsystemctl start UnblockNeteaseMusic |
服务端完成
管理命令
1
2 3 4 5 6 |
systemctl status UnblockNeteaseMusic # 查看服务状态systemctl start UnblockNeteaseMusic # 启动服务systemctl restart UnblockNeteaseMusic # 重启服务systemctl stop UnblockNeteaseMusic # 停止服务systemctl enable UnblockNeteaseMusic # 开机自启动systemctl disable UnblockNeteaseMusic # 取消开机自启动 |
macOS
配合 Proxifier 食用
Proxies 添加 HTTPS 代理
添加规则
Applications 添加:NeteaseMusic; com.apple.WebKit.Networking
Target Hosts 添加:*.music.163.com; *.netease.com;
Action 选择上一步添加的 HTTPS 代理
打开网易云音乐 App,如出现以下提示,则还需要信任一个证书
使用 Safari 打开 music.163.com,会出现危险警告,选择查看详细信息,并点击最后访问此网站,然后信任证书
搞定!
注意:Proxifier 需要一直在后台运行,才能转发网易云的流量
iOS
配合 Quantumult X 食用
手动修改 Quantumult X 配置文件
在
[policy]
下添加组策略:1static=NeteaseMusic, NeteaseUnlocker, direct, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Netease_Music_Unlock.png
在
[server_local]
下添加 HTTP 代理:1http=xxx.xxx.xxx.xxx:2333, over-tls=false, fast-open=false, udp-relay=false, tag=NeteaseUnlocker
xxx.xxx.xxx.xxx:2333
替换为服务器 IP 和指定端口在
[filter_local]
下添加规则:1
2
3
4DOMAIN-SUFFIX,music.163.com,NeteaseMusicDOMAIN-SUFFIX,api.iplay.163.com,NeteaseMusicDOMAIN-SUFFIX,mam.netease.com,NeteaseMusicDOMAIN-SUFFIX,hz.netease.com,NeteaseMusic
完成!
Windows
配置简单,打开网易云音乐的设置
工具 -> 自定义代理 -> HTTP 代理
填入相应的服务器和端口,重启应用生效
完成!
参考资料: